From d650269c7888e56e15d818c67592eccd359769b1 Mon Sep 17 00:00:00 2001 From: Alex Vlasov Date: Wed, 19 Sep 2018 13:07:49 +0300 Subject: [PATCH 01/66] update an example to check XCode 10 --- Example/web3swiftExample/Podfile | 3 +- Example/web3swiftExample/Podfile.lock | 76 +- .../Pods/Alamofire-Synchronous/LICENSE | 22 - .../Pods/Alamofire-Synchronous/README.md | 110 - .../Source/Alamofire+Synchronous.swift | 203 - .../web3swiftExample/Pods/Alamofire/LICENSE | 19 - .../web3swiftExample/Pods/Alamofire/README.md | 242 - .../Pods/Alamofire/Source/AFError.swift | 460 -- .../Pods/Alamofire/Source/Alamofire.swift | 465 -- .../Source/DispatchQueue+Alamofire.swift | 37 - .../Alamofire/Source/MultipartFormData.swift | 580 -- .../Source/NetworkReachabilityManager.swift | 233 - .../Pods/Alamofire/Source/Notifications.swift | 55 - .../Alamofire/Source/ParameterEncoding.swift | 483 -- .../Pods/Alamofire/Source/Request.swift | 654 --- .../Pods/Alamofire/Source/Response.swift | 567 -- .../Source/ResponseSerialization.swift | 715 --- .../Pods/Alamofire/Source/Result.swift | 300 - .../Alamofire/Source/ServerTrustPolicy.swift | 307 - .../Alamofire/Source/SessionDelegate.swift | 725 --- .../Alamofire/Source/SessionManager.swift | 896 --- .../Pods/Alamofire/Source/TaskDelegate.swift | 466 -- .../Pods/Alamofire/Source/Timeline.swift | 136 - .../Pods/Alamofire/Source/Validation.swift | 315 -- .../web3swiftExample/Pods/BigInt/LICENSE.md | 0 .../web3swiftExample/Pods/BigInt/README.md | 70 +- .../Pods/BigInt/sources/Addition.swift | 0 .../Pods/BigInt/sources/BigInt.swift | 0 .../Pods/BigInt/sources/BigUInt.swift | 2 +- .../Pods/BigInt/sources/Bitwise Ops.swift | 0 .../Pods/BigInt/sources/Codable.swift | 10 +- .../Pods/BigInt/sources/Comparable.swift | 0 .../Pods/BigInt/sources/Data Conversion.swift | 0 .../Pods/BigInt/sources/Division.swift | 0 .../Pods/BigInt/sources/Exponentiation.swift | 0 .../sources/Floating Point Conversion.swift | 0 .../Pods/BigInt/sources/GCD.swift | 0 .../Pods/BigInt/sources/Hashable.swift | 0 .../BigInt/sources/Integer Conversion.swift | 0 .../Pods/BigInt/sources/Multiplication.swift | 0 .../Pods/BigInt/sources/Prime Test.swift | 0 .../Pods/BigInt/sources/Random.swift | 14 +- .../Pods/BigInt/sources/Shifts.swift | 0 .../Pods/BigInt/sources/Square Root.swift | 0 .../Pods/BigInt/sources/Strideable.swift | 0 .../BigInt/sources/String Conversion.swift | 20 +- .../Pods/BigInt/sources/Subtraction.swift | 0 .../Pods/BigInt/sources/Words and Bits.swift | 0 .../web3swiftExample/Pods/CryptoSwift/LICENSE | 0 .../Pods/CryptoSwift/README.md | 8 +- .../Sources/CryptoSwift/AEAD/AEAD.swift | 0 .../AEAD/AEADChaCha20Poly1305.swift | 0 .../Sources/CryptoSwift/AES.Cryptors.swift | 158 +- .../CryptoSwift/Sources/CryptoSwift/AES.swift | 0 .../Sources/CryptoSwift/Array+Extension.swift | 0 .../Sources/CryptoSwift/Authenticator.swift | 0 .../CryptoSwift/BatchedCollection.swift | 0 .../CryptoSwift/Sources/CryptoSwift/Bit.swift | 0 .../Sources/CryptoSwift/BlockCipher.swift | 0 .../Sources/CryptoSwift/BlockDecryptor.swift | 84 + .../Sources/CryptoSwift/BlockEncryptor.swift | 57 + .../CryptoSwift/BlockMode/BlockMode.swift | 4 +- .../BlockMode/BlockModeOptions.swift | 0 .../Sources/CryptoSwift/BlockMode/CBC.swift | 2 +- .../Sources/CryptoSwift/BlockMode/CFB.swift | 2 +- .../Sources/CryptoSwift/BlockMode/CTR.swift | 94 +- ...odeWorker.swift => CipherModeWorker.swift} | 17 +- .../Sources/CryptoSwift/BlockMode/ECB.swift | 2 +- .../Sources/CryptoSwift/BlockMode/GCM.swift | 2 +- .../Sources/CryptoSwift/BlockMode/OFB.swift | 2 +- .../Sources/CryptoSwift/BlockMode/PCBC.swift | 2 +- .../Sources/CryptoSwift/Blowfish.swift | 4 +- .../Sources/CryptoSwift/CMAC.swift | 0 .../Sources/CryptoSwift/ChaCha20.swift | 23 +- .../Sources/CryptoSwift/Checksum.swift | 0 .../Sources/CryptoSwift/Cipher.swift | 0 .../CryptoSwift/Collection+Extension.swift | 0 .../Sources/CryptoSwift/CompactMap.swift | 0 ...andomAccessCryptor.swift => Cryptor.swift} | 10 +- .../Sources/CryptoSwift/Cryptors.swift | 6 +- .../Sources/CryptoSwift/Digest.swift | 0 .../Sources/CryptoSwift/DigestType.swift | 0 .../Foundation/AES+Foundation.swift | 0 .../Foundation/Array+Foundation.swift | 0 .../Foundation/Blowfish+Foundation.swift | 0 .../Foundation/ChaCha20+Foundation.swift | 0 .../Foundation/Data+Extension.swift | 0 .../Foundation/HMAC+Foundation.swift | 0 .../Foundation/Rabbit+Foundation.swift | 0 .../String+FoundationExtension.swift | 0 .../Foundation/Utils+Foundation.swift | 0 .../Sources/CryptoSwift/Generics.swift | 0 .../Sources/CryptoSwift/HKDF.swift | 0 .../Sources/CryptoSwift/HMAC.swift | 0 .../Sources/CryptoSwift/Int+Extension.swift | 0 .../CryptoSwift/Sources/CryptoSwift/MD5.swift | 0 .../Sources/CryptoSwift/NoPadding.swift | 0 .../Sources/CryptoSwift/Operators.swift | 0 .../Sources/CryptoSwift/PKCS/PBKDF1.swift | 0 .../Sources/CryptoSwift/PKCS/PBKDF2.swift | 0 .../Sources/CryptoSwift/PKCS/PKCS5.swift | 0 .../Sources/CryptoSwift/PKCS/PKCS7.swift | 0 .../CryptoSwift/PKCS/PKCS7Padding.swift | 0 .../Sources/CryptoSwift/Padding.swift | 4 +- .../Sources/CryptoSwift/Poly1305.swift | 0 .../Sources/CryptoSwift/Rabbit.swift | 0 .../CryptoSwift/RandomBytesSequence.swift | 0 .../Sources/CryptoSwift/SHA1.swift | 0 .../Sources/CryptoSwift/SHA2.swift | 0 .../Sources/CryptoSwift/SHA3.swift | 0 .../Sources/CryptoSwift/SecureBytes.swift | 0 .../Sources/CryptoSwift/StreamEncryptor.swift | 54 + .../CryptoSwift/String+Extension.swift | 0 .../Sources/CryptoSwift/UInt128.swift | 0 .../CryptoSwift/UInt16+Extension.swift | 0 .../CryptoSwift/UInt32+Extension.swift | 0 .../CryptoSwift/UInt64+Extension.swift | 0 .../Sources/CryptoSwift/UInt8+Extension.swift | 0 .../Sources/CryptoSwift/Updatable.swift | 4 + .../Sources/CryptoSwift/Utils.swift | 0 .../Sources/CryptoSwift/ZeroPadding.swift | 0 .../Headers/Private/libsodium/argon2-core.h | 1 - .../Private/libsodium/argon2-encoding.h | 1 - .../Pods/Headers/Private/libsodium/argon2.h | 1 - .../Pods/Headers/Private/libsodium/base.h | 1 - .../Pods/Headers/Private/libsodium/base2.h | 1 - .../Pods/Headers/Private/libsodium/blake2.h | 1 - .../Private/libsodium/blake2b-compress-avx2.h | 1 - .../libsodium/blake2b-compress-sse41.h | 1 - .../libsodium/blake2b-compress-ssse3.h | 1 - .../Private/libsodium/blake2b-load-avx2.h | 1 - .../Private/libsodium/blake2b-load-sse2.h | 1 - .../Private/libsodium/blake2b-load-sse41.h | 1 - .../Headers/Private/libsodium/blake2b-long.h | 1 - .../Private/libsodium/blamka-round-ref.h | 1 - .../Private/libsodium/blamka-round-ssse3.h | 1 - .../Private/libsodium/chacha20_dolbeau-avx2.h | 1 - .../libsodium/chacha20_dolbeau-ssse3.h | 1 - .../Headers/Private/libsodium/chacha20_ref.h | 1 - .../Pods/Headers/Private/libsodium/common.h | 1 - .../Pods/Headers/Private/libsodium/consts.h | 1 - .../Private/libsodium/consts_namespace.h | 1 - .../Pods/Headers/Private/libsodium/core.h | 1 - .../Private/libsodium/crypto_aead_aes256gcm.h | 1 - .../libsodium/crypto_aead_chacha20poly1305.h | 1 - .../libsodium/crypto_aead_xchacha20poly1305.h | 1 - .../Headers/Private/libsodium/crypto_auth.h | 1 - .../libsodium/crypto_auth_hmacsha256.h | 1 - .../libsodium/crypto_auth_hmacsha512.h | 1 - .../libsodium/crypto_auth_hmacsha512256.h | 1 - .../Headers/Private/libsodium/crypto_box.h | 1 - .../crypto_box_curve25519xchacha20poly1305.h | 1 - .../crypto_box_curve25519xsalsa20poly1305.h | 1 - .../Private/libsodium/crypto_core_hchacha20.h | 1 - .../Private/libsodium/crypto_core_hsalsa20.h | 1 - .../Private/libsodium/crypto_core_salsa20.h | 1 - .../Private/libsodium/crypto_core_salsa2012.h | 1 - .../Private/libsodium/crypto_core_salsa208.h | 1 - .../Private/libsodium/crypto_generichash.h | 1 - .../libsodium/crypto_generichash_blake2b.h | 1 - .../Headers/Private/libsodium/crypto_hash.h | 1 - .../Private/libsodium/crypto_hash_sha256.h | 1 - .../Private/libsodium/crypto_hash_sha512.h | 1 - .../Headers/Private/libsodium/crypto_kdf.h | 1 - .../Private/libsodium/crypto_kdf_blake2b.h | 1 - .../Headers/Private/libsodium/crypto_kx.h | 1 - .../Private/libsodium/crypto_onetimeauth.h | 1 - .../libsodium/crypto_onetimeauth_poly1305.h | 1 - .../Headers/Private/libsodium/crypto_pwhash.h | 1 - .../Private/libsodium/crypto_pwhash_argon2i.h | 1 - .../crypto_pwhash_scryptsalsa208sha256.h | 1 - .../Private/libsodium/crypto_scalarmult.h | 1 - .../libsodium/crypto_scalarmult_curve25519.h | 1 - .../Headers/Private/libsodium/crypto_scrypt.h | 1 - .../Private/libsodium/crypto_secretbox.h | 1 - .../crypto_secretbox_xchacha20poly1305.h | 1 - .../crypto_secretbox_xsalsa20poly1305.h | 1 - .../Private/libsodium/crypto_shorthash.h | 1 - .../libsodium/crypto_shorthash_siphash24.h | 1 - .../Headers/Private/libsodium/crypto_sign.h | 1 - .../Private/libsodium/crypto_sign_ed25519.h | 1 - .../crypto_sign_edwards25519sha512batch.h | 1 - .../Headers/Private/libsodium/crypto_stream.h | 1 - .../libsodium/crypto_stream_aes128ctr.h | 1 - .../libsodium/crypto_stream_chacha20.h | 1 - .../Private/libsodium/crypto_stream_salsa20.h | 1 - .../libsodium/crypto_stream_salsa2012.h | 1 - .../libsodium/crypto_stream_salsa208.h | 1 - .../libsodium/crypto_stream_xchacha20.h | 1 - .../libsodium/crypto_stream_xsalsa20.h | 1 - .../Private/libsodium/crypto_verify_16.h | 1 - .../Private/libsodium/crypto_verify_32.h | 1 - .../Private/libsodium/crypto_verify_64.h | 1 - .../Private/libsodium/curve25519_donna_c64.h | 1 - .../Private/libsodium/curve25519_ref10.h | 1 - .../Private/libsodium/curve25519_sandy2x.h | 1 - .../Headers/Private/libsodium/ed25519_ref10.h | 1 - .../Pods/Headers/Private/libsodium/export.h | 1 - .../Pods/Headers/Private/libsodium/fe.h | 1 - .../Pods/Headers/Private/libsodium/fe51.h | 1 - .../Private/libsodium/fe51_namespace.h | 1 - .../Pods/Headers/Private/libsodium/int128.h | 1 - .../Pods/Headers/Private/libsodium/ladder.h | 1 - .../Headers/Private/libsodium/ladder_base.h | 1 - .../Private/libsodium/ladder_base_namespace.h | 1 - .../Private/libsodium/ladder_namespace.h | 1 - .../Pods/Headers/Private/libsodium/mutex.h | 1 - .../Private/libsodium/onetimeauth_poly1305.h | 1 - .../Headers/Private/libsodium/pbkdf2-sha256.h | 1 - .../Private/libsodium/poly1305_donna.h | 1 - .../Private/libsodium/poly1305_donna32.h | 1 - .../Private/libsodium/poly1305_donna64.h | 1 - .../Headers/Private/libsodium/poly1305_sse2.h | 1 - .../Headers/Private/libsodium/randombytes.h | 1 - .../libsodium/randombytes_nativeclient.h | 1 - .../libsodium/randombytes_salsa20_random.h | 1 - .../Private/libsodium/randombytes_sysrandom.h | 1 - .../Pods/Headers/Private/libsodium/runtime.h | 1 - .../Headers/Private/libsodium/salsa20_ref.h | 1 - .../Headers/Private/libsodium/salsa20_xmm6.h | 1 - .../Private/libsodium/salsa20_xmm6int-avx2.h | 1 - .../Private/libsodium/salsa20_xmm6int-sse2.h | 1 - .../Private/libsodium/scalarmult_curve25519.h | 1 - .../Private/libsodium/shorthash_siphash_ref.h | 1 - .../Pods/Headers/Private/libsodium/sodium.h | 1 - .../Headers/Private/libsodium/sse2_64_32.h | 1 - .../Private/libsodium/stream_chacha20.h | 1 - .../Private/libsodium/stream_salsa20.h | 1 - .../Pods/Headers/Private/libsodium/u0.h | 1 - .../Pods/Headers/Private/libsodium/u1.h | 1 - .../Pods/Headers/Private/libsodium/u4.h | 1 - .../Pods/Headers/Private/libsodium/u8.h | 1 - .../Pods/Headers/Private/libsodium/utils.h | 1 - .../Pods/Headers/Private/libsodium/version.h | 1 - .../Headers/Private/libsodium/x25519_ref10.h | 1 - .../Pods/Headers/Private/scrypt/Cimpl.h | 1 + .../Pods/Headers/Private/scrypt/scrypt.h | 1 + .../web3swift/web3swift-Bridging-Header.h | 1 + .../Public/Alamofire/Alamofire-umbrella.h | 16 - .../Public/Alamofire/Alamofire.modulemap | 6 - .../Alamofire-Synchronous-umbrella.h | 16 - .../Alamofire-Synchronous.modulemap | 6 - .../Pods/Headers/Public/libsodium/common.h | 1 - .../Pods/Headers/Public/libsodium/core.h | 1 - .../Public/libsodium/crypto_aead_aes256gcm.h | 1 - .../libsodium/crypto_aead_chacha20poly1305.h | 1 - .../libsodium/crypto_aead_xchacha20poly1305.h | 1 - .../Headers/Public/libsodium/crypto_auth.h | 1 - .../Public/libsodium/crypto_auth_hmacsha256.h | 1 - .../Public/libsodium/crypto_auth_hmacsha512.h | 1 - .../libsodium/crypto_auth_hmacsha512256.h | 1 - .../Headers/Public/libsodium/crypto_box.h | 1 - .../crypto_box_curve25519xchacha20poly1305.h | 1 - .../crypto_box_curve25519xsalsa20poly1305.h | 1 - .../Public/libsodium/crypto_core_hchacha20.h | 1 - .../Public/libsodium/crypto_core_hsalsa20.h | 1 - .../Public/libsodium/crypto_core_salsa20.h | 1 - .../Public/libsodium/crypto_core_salsa2012.h | 1 - .../Public/libsodium/crypto_core_salsa208.h | 1 - .../Public/libsodium/crypto_generichash.h | 1 - .../libsodium/crypto_generichash_blake2b.h | 1 - .../Headers/Public/libsodium/crypto_hash.h | 1 - .../Public/libsodium/crypto_hash_sha256.h | 1 - .../Public/libsodium/crypto_hash_sha512.h | 1 - .../Headers/Public/libsodium/crypto_kdf.h | 1 - .../Public/libsodium/crypto_kdf_blake2b.h | 1 - .../Pods/Headers/Public/libsodium/crypto_kx.h | 1 - .../Public/libsodium/crypto_onetimeauth.h | 1 - .../libsodium/crypto_onetimeauth_poly1305.h | 1 - .../Headers/Public/libsodium/crypto_pwhash.h | 1 - .../Public/libsodium/crypto_pwhash_argon2i.h | 1 - .../crypto_pwhash_scryptsalsa208sha256.h | 1 - .../Public/libsodium/crypto_scalarmult.h | 1 - .../libsodium/crypto_scalarmult_curve25519.h | 1 - .../Public/libsodium/crypto_secretbox.h | 1 - .../crypto_secretbox_xchacha20poly1305.h | 1 - .../crypto_secretbox_xsalsa20poly1305.h | 1 - .../Public/libsodium/crypto_shorthash.h | 1 - .../libsodium/crypto_shorthash_siphash24.h | 1 - .../Headers/Public/libsodium/crypto_sign.h | 1 - .../Public/libsodium/crypto_sign_ed25519.h | 1 - .../crypto_sign_edwards25519sha512batch.h | 1 - .../Headers/Public/libsodium/crypto_stream.h | 1 - .../libsodium/crypto_stream_aes128ctr.h | 1 - .../Public/libsodium/crypto_stream_chacha20.h | 1 - .../Public/libsodium/crypto_stream_salsa20.h | 1 - .../libsodium/crypto_stream_salsa2012.h | 1 - .../Public/libsodium/crypto_stream_salsa208.h | 1 - .../libsodium/crypto_stream_xchacha20.h | 1 - .../Public/libsodium/crypto_stream_xsalsa20.h | 1 - .../Public/libsodium/crypto_verify_16.h | 1 - .../Public/libsodium/crypto_verify_32.h | 1 - .../Public/libsodium/crypto_verify_64.h | 1 - .../Public/libsodium/curve25519_ref10.h | 1 - .../Pods/Headers/Public/libsodium/export.h | 1 - .../Public/libsodium/libsodium-umbrella.h | 78 - .../Public/libsodium/libsodium.modulemap | 6 - .../Pods/Headers/Public/libsodium/mutex.h | 1 - .../Headers/Public/libsodium/randombytes.h | 1 - .../libsodium/randombytes_nativeclient.h | 1 - .../libsodium/randombytes_salsa20_random.h | 1 - .../Public/libsodium/randombytes_sysrandom.h | 1 - .../Pods/Headers/Public/libsodium/runtime.h | 1 - .../Headers/Public/libsodium/sse2_64_32.h | 1 - .../Pods/Headers/Public/libsodium/utils.h | 1 - .../Pods/Headers/Public/libsodium/version.h | 1 - .../Headers/Public/scrypt/scrypt-umbrella.h | 1 + .../Pods/Headers/Public/scrypt/scrypt.h | 1 + .../Headers/Public/scrypt/scrypt.modulemap | 1 + .../web3swift/web3swift-Bridging-Header.h | 1 + .../Local Podspecs/web3swift.podspec.json | 26 +- Example/web3swiftExample/Pods/Manifest.lock | 76 +- .../Pods/Pods.xcodeproj/project.pbxproj | 5029 ++++++----------- .../Sources/NSNotificationCenter+AnyPromise.h | 0 .../Sources/NSNotificationCenter+AnyPromise.m | 0 .../NSNotificationCenter+Promise.swift | 6 +- .../Foundation/Sources/NSObject+Promise.swift | 0 .../Foundation/Sources/NSTask+AnyPromise.h | 0 .../Foundation/Sources/NSTask+AnyPromise.m | 0 .../Sources/NSURLSession+AnyPromise.h | 0 .../Sources/NSURLSession+AnyPromise.m | 0 .../Sources/NSURLSession+Promise.swift | 35 +- .../Foundation/Sources/PMKFoundation.h | 0 .../Foundation/Sources/Process+Promise.swift | 0 .../Foundation/Sources/afterlife.swift | 0 .../Extensions/UIKit/Sources/PMKUIKit.h | 0 .../UIKit/Sources/UIView+AnyPromise.h | 0 .../UIKit/Sources/UIView+AnyPromise.m | 0 .../UIKit/Sources/UIView+Promise.swift | 48 + .../Sources/UIViewController+AnyPromise.h | 0 .../Sources/UIViewController+AnyPromise.m | 0 .../UIViewPropertyAnimator+Promise.swift | 0 .../web3swiftExample/Pods/PromiseKit/LICENSE | 0 .../Pods/PromiseKit/README.md | 79 +- .../PromiseKit/Sources/AnyPromise+Private.h | 0 .../Pods/PromiseKit/Sources/AnyPromise.h | 0 .../Pods/PromiseKit/Sources/AnyPromise.m | 0 .../Pods/PromiseKit/Sources/AnyPromise.swift | 0 .../Pods/PromiseKit/Sources/Box.swift | 0 .../Pods/PromiseKit/Sources/Catchable.swift | 11 +- .../PromiseKit/Sources/Configuration.swift | 0 .../Sources/CustomStringConvertible.swift | 0 .../PromiseKit/Sources/Deprecations.swift | 0 .../Pods/PromiseKit/Sources/Error.swift | 8 +- .../Pods/PromiseKit/Sources/Guarantee.swift | 7 + .../Sources/NSMethodSignatureForBlock.m | 0 .../PromiseKit/Sources/PMKCallVariadicBlock.m | 0 .../Pods/PromiseKit/Sources/Promise.swift | 10 - .../Pods/PromiseKit/Sources/PromiseKit.h | 0 .../Pods/PromiseKit/Sources/Resolver.swift | 0 .../Pods/PromiseKit/Sources/Thenable.swift | 31 + .../Pods/PromiseKit/Sources/after.m | 0 .../Pods/PromiseKit/Sources/after.swift | 0 .../PromiseKit/Sources/dispatch_promise.m | 0 .../Pods/PromiseKit/Sources/firstly.swift | 0 .../Pods/PromiseKit/Sources/fwd.h | 0 .../Pods/PromiseKit/Sources/hang.m | 0 .../Pods/PromiseKit/Sources/hang.swift | 0 .../Pods/PromiseKit/Sources/join.m | 0 .../Pods/PromiseKit/Sources/race.m | 0 .../Pods/PromiseKit/Sources/race.swift | 0 .../Pods/PromiseKit/Sources/when.m | 0 .../Pods/PromiseKit/Sources/when.swift | 0 Example/web3swiftExample/Pods/Result/LICENSE | 0 .../web3swiftExample/Pods/Result/README.md | 55 +- .../Pods/Result/Result/AnyError.swift | 46 + .../Pods/Result/Result/NoError.swift | 10 + .../Pods/Result/Result/Result.swift | 148 +- .../Pods/Result/Result/ResultProtocol.swift | 174 +- .../Alamofire-Synchronous-dummy.m | 5 - .../Alamofire-Synchronous-prefix.pch | 12 - .../Alamofire-Synchronous-umbrella.h | 16 - .../Alamofire-Synchronous.modulemap | 6 - .../Alamofire-Synchronous.xcconfig | 12 - .../Alamofire-Synchronous/Info.plist | 26 - .../Alamofire/Alamofire-dummy.m | 5 - .../Alamofire/Alamofire-prefix.pch | 12 - .../Alamofire/Alamofire-umbrella.h | 16 - .../Alamofire/Alamofire.modulemap | 6 - .../Alamofire/Alamofire.xcconfig | 9 - .../Target Support Files/Alamofire/Info.plist | 26 - .../BigInt/BigInt.modulemap | 2 +- .../BigInt/BigInt.xcconfig | 3 +- .../CryptoSwift/CryptoSwift.modulemap | 2 +- .../CryptoSwift/CryptoSwift.xcconfig | 2 +- ...web3swiftExample-acknowledgements.markdown | 66 +- ...ds-web3swiftExample-acknowledgements.plist | 478 +- .../Pods-web3swiftExample.debug.xcconfig | 12 +- .../Pods-web3swiftExample.release.xcconfig | 12 +- .../PromiseKit/PromiseKit.xcconfig | 3 +- .../Result/Result.modulemap | 2 +- .../Result/Result.xcconfig | 3 +- .../SipHash/SipHash.modulemap | 2 +- .../SipHash/SipHash.xcconfig | 2 +- .../secp256k1_ios/secp256k1_ios.modulemap | 2 +- .../secp256k1_ios/secp256k1_ios.xcconfig | 5 +- .../web3swift/web3swift-umbrella.h | 1 + .../web3swift/web3swift.modulemap | 2 +- .../web3swift/web3swift.xcconfig | 8 +- .../web3swiftExample/Pods/libsodium/LICENSE | 18 - .../Pods/libsodium/README.markdown | 46 - .../aes256gcm/aesni/aead_aes256gcm_aesni.c | 1064 ---- .../sodium/aead_chacha20poly1305.c | 386 -- .../sodium/aead_xchacha20poly1305.c | 153 - .../src/libsodium/crypto_auth/crypto_auth.c | 41 - .../crypto_auth/hmacsha256/auth_hmacsha256.c | 118 - .../crypto_auth/hmacsha512/auth_hmacsha512.c | 118 - .../hmacsha512256/auth_hmacsha512256.c | 93 - .../src/libsodium/crypto_box/crypto_box.c | 108 - .../libsodium/crypto_box/crypto_box_easy.c | 114 - .../libsodium/crypto_box/crypto_box_seal.c | 68 - .../box_curve25519xchacha20poly1305.c | 197 - .../box_curve25519xsalsa20poly1305.c | 150 - .../crypto_core/curve25519/ref10/base.h | 1344 ----- .../crypto_core/curve25519/ref10/base2.h | 40 - .../curve25519/ref10/curve25519_ref10.c | 2242 -------- .../crypto_core/hchacha20/core_hchacha20.c | 93 - .../crypto_core/hsalsa20/core_hsalsa20.c | 21 - .../hsalsa20/ref2/core_hsalsa20_ref2.c | 95 - .../crypto_core/salsa/ref/core_salsa_ref.c | 195 - .../blake2b/generichash_blake2.c | 55 - .../crypto_generichash/blake2b/ref/blake2.h | 109 - .../blake2b/ref/blake2b-compress-avx2.c | 49 - .../blake2b/ref/blake2b-compress-avx2.h | 140 - .../blake2b/ref/blake2b-compress-ref.c | 92 - .../blake2b/ref/blake2b-compress-sse41.c | 87 - .../blake2b/ref/blake2b-compress-sse41.h | 103 - .../blake2b/ref/blake2b-compress-ssse3.c | 90 - .../blake2b/ref/blake2b-compress-ssse3.h | 103 - .../blake2b/ref/blake2b-load-avx2.h | 340 -- .../blake2b/ref/blake2b-load-sse2.h | 164 - .../blake2b/ref/blake2b-load-sse41.h | 307 - .../blake2b/ref/blake2b-ref.c | 494 -- .../blake2b/ref/generichash_blake2b.c | 110 - .../crypto_generichash/crypto_generichash.c | 91 - .../src/libsodium/crypto_hash/crypto_hash.c | 20 - .../crypto_hash/sha256/cp/hash_sha256_cp.c | 254 - .../crypto_hash/sha256/hash_sha256.c | 13 - .../crypto_hash/sha512/cp/hash_sha512_cp.c | 280 - .../crypto_hash/sha512/hash_sha512.c | 13 - .../crypto_kdf/blake2b/kdf_blake2b.c | 52 - .../src/libsodium/crypto_kdf/crypto_kdf.c | 49 - .../src/libsodium/crypto_kx/crypto_kx.c | 136 - .../crypto_onetimeauth/crypto_onetimeauth.c | 71 - .../poly1305/donna/poly1305_donna.c | 124 - .../poly1305/donna/poly1305_donna.h | 12 - .../poly1305/donna/poly1305_donna32.h | 235 - .../poly1305/donna/poly1305_donna64.h | 225 - .../poly1305/onetimeauth_poly1305.c | 89 - .../poly1305/onetimeauth_poly1305.h | 21 - .../poly1305/sse2/poly1305_sse2.c | 955 ---- .../poly1305/sse2/poly1305_sse2.h | 12 - .../crypto_pwhash/argon2/argon2-core.c | 604 -- .../crypto_pwhash/argon2/argon2-core.h | 200 - .../crypto_pwhash/argon2/argon2-encoding.c | 449 -- .../crypto_pwhash/argon2/argon2-encoding.h | 33 - .../argon2/argon2-fill-block-ref.c | 237 - .../argon2/argon2-fill-block-ssse3.c | 240 - .../libsodium/crypto_pwhash/argon2/argon2.c | 250 - .../libsodium/crypto_pwhash/argon2/argon2.h | 256 - .../crypto_pwhash/argon2/blake2b-long.c | 79 - .../crypto_pwhash/argon2/blake2b-long.h | 8 - .../crypto_pwhash/argon2/blamka-round-ref.h | 40 - .../crypto_pwhash/argon2/blamka-round-ssse3.h | 120 - .../crypto_pwhash/argon2/pwhash_argon2i.c | 209 - .../libsodium/crypto_pwhash/crypto_pwhash.c | 154 - .../crypto_scrypt-common.c | 249 - .../scryptsalsa208sha256/crypto_scrypt.h | 94 - .../scryptsalsa208sha256/pbkdf2-sha256.c | 91 - .../pwhash_scryptsalsa208sha256.c | 256 - .../scryptsalsa208sha256/scrypt_platform.c | 105 - .../sse/pwhash_scryptsalsa208sha256_sse.c | 392 -- .../crypto_scalarmult/crypto_scalarmult.c | 33 - .../donna_c64/curve25519_donna_c64.c | 545 -- .../donna_c64/curve25519_donna_c64.h | 10 - .../curve25519/ref10/x25519_ref10.c | 282 - .../curve25519/ref10/x25519_ref10.h | 10 - .../curve25519/sandy2x/consts_namespace.h | 20 - .../curve25519/sandy2x/curve25519_sandy2x.c | 114 - .../curve25519/sandy2x/curve25519_sandy2x.h | 9 - .../crypto_scalarmult/curve25519/sandy2x/fe.h | 26 - .../curve25519/sandy2x/fe51.h | 35 - .../curve25519/sandy2x/fe51_invert.c | 57 - .../curve25519/sandy2x/fe51_namespace.h | 16 - .../curve25519/sandy2x/fe_frombytes_sandy2x.c | 75 - .../curve25519/sandy2x/ladder.h | 18 - .../curve25519/sandy2x/ladder_base.h | 18 - .../sandy2x/ladder_base_namespace.h | 8 - .../curve25519/sandy2x/ladder_namespace.h | 8 - .../curve25519/scalarmult_curve25519.c | 67 - .../curve25519/scalarmult_curve25519.h | 11 - .../crypto_secretbox/crypto_secretbox.c | 61 - .../crypto_secretbox/crypto_secretbox_easy.c | 143 - .../secretbox_xchacha20poly1305.c | 170 - .../secretbox_xsalsa20poly1305.c | 83 - .../crypto_shorthash/crypto_shorthash.c | 34 - .../siphash24/ref/shorthash_siphash24_ref.c | 65 - .../siphash24/ref/shorthash_siphash_ref.h | 24 - .../siphash24/ref/shorthash_siphashx24_ref.c | 71 - .../siphash24/shorthash_siphash24.c | 11 - .../siphash24/shorthash_siphashx24.c | 11 - .../src/libsodium/crypto_sign/crypto_sign.c | 109 - .../crypto_sign/ed25519/ref10/ed25519_ref10.h | 18 - .../crypto_sign/ed25519/ref10/keypair.c | 82 - .../crypto_sign/ed25519/ref10/obsolete.c | 114 - .../crypto_sign/ed25519/ref10/open.c | 193 - .../crypto_sign/ed25519/ref10/sign.c | 101 - .../crypto_sign/ed25519/sign_ed25519.c | 91 - .../aes128ctr/nacl/afternm_aes128ctr.c | 174 - .../aes128ctr/nacl/beforenm_aes128ctr.c | 66 - .../crypto_stream/aes128ctr/nacl/common.h | 766 --- .../crypto_stream/aes128ctr/nacl/consts.h | 28 - .../aes128ctr/nacl/consts_aes128ctr.c | 28 - .../crypto_stream/aes128ctr/nacl/int128.h | 50 - .../aes128ctr/nacl/int128_aes128ctr.c | 149 - .../aes128ctr/nacl/stream_aes128ctr_nacl.c | 31 - .../aes128ctr/nacl/xor_afternm_aes128ctr.c | 195 - .../aes128ctr/stream_aes128ctr.c | 19 - .../chacha20/dolbeau/chacha20_dolbeau-avx2.c | 179 - .../chacha20/dolbeau/chacha20_dolbeau-avx2.h | 8 - .../chacha20/dolbeau/chacha20_dolbeau-ssse3.c | 173 - .../chacha20/dolbeau/chacha20_dolbeau-ssse3.h | 8 - .../crypto_stream/chacha20/dolbeau/u0.h | 86 - .../crypto_stream/chacha20/dolbeau/u1.h | 98 - .../crypto_stream/chacha20/dolbeau/u4.h | 175 - .../crypto_stream/chacha20/dolbeau/u8.h | 357 -- .../crypto_stream/chacha20/ref/chacha20_ref.c | 314 - .../crypto_stream/chacha20/ref/chacha20_ref.h | 8 - .../crypto_stream/chacha20/stream_chacha20.c | 117 - .../crypto_stream/chacha20/stream_chacha20.h | 22 - .../libsodium/crypto_stream/crypto_stream.c | 43 - .../crypto_stream/salsa20/ref/salsa20_ref.c | 120 - .../crypto_stream/salsa20/ref/salsa20_ref.h | 8 - .../crypto_stream/salsa20/stream_salsa20.c | 93 - .../crypto_stream/salsa20/stream_salsa20.h | 16 - .../crypto_stream/salsa20/xmm6/salsa20_xmm6.c | 31 - .../crypto_stream/salsa20/xmm6/salsa20_xmm6.h | 8 - .../salsa20/xmm6int/salsa20_xmm6int-avx2.c | 131 - .../salsa20/xmm6int/salsa20_xmm6int-avx2.h | 8 - .../salsa20/xmm6int/salsa20_xmm6int-sse2.c | 122 - .../salsa20/xmm6int/salsa20_xmm6int-sse2.h | 8 - .../crypto_stream/salsa20/xmm6int/u0.h | 195 - .../crypto_stream/salsa20/xmm6int/u1.h | 207 - .../crypto_stream/salsa20/xmm6int/u4.h | 547 -- .../crypto_stream/salsa20/xmm6int/u8.h | 476 -- .../salsa2012/ref/stream_salsa2012_ref.c | 106 - .../salsa2012/stream_salsa2012.c | 20 - .../salsa208/ref/stream_salsa208_ref.c | 106 - .../crypto_stream/salsa208/stream_salsa208.c | 20 - .../xchacha20/stream_xchacha20.c | 63 - .../crypto_stream/xsalsa20/stream_xsalsa20.c | 60 - .../libsodium/crypto_verify/sodium/verify.c | 61 - .../libsodium/src/libsodium/include/sodium.h | 68 - .../src/libsodium/include/sodium/core.h | 19 - .../include/sodium/crypto_aead_aes256gcm.h | 145 - .../sodium/crypto_aead_chacha20poly1305.h | 162 - .../sodium/crypto_aead_xchacha20poly1305.h | 91 - .../libsodium/include/sodium/crypto_auth.h | 44 - .../include/sodium/crypto_auth_hmacsha256.h | 68 - .../include/sodium/crypto_auth_hmacsha512.h | 67 - .../sodium/crypto_auth_hmacsha512256.h | 62 - .../src/libsodium/include/sodium/crypto_box.h | 169 - .../crypto_box_curve25519xchacha20poly1305.h | 130 - .../crypto_box_curve25519xsalsa20poly1305.h | 100 - .../include/sodium/crypto_core_hchacha20.h | 35 - .../include/sodium/crypto_core_hsalsa20.h | 35 - .../include/sodium/crypto_core_salsa20.h | 35 - .../include/sodium/crypto_core_salsa2012.h | 35 - .../include/sodium/crypto_core_salsa208.h | 35 - .../include/sodium/crypto_generichash.h | 75 - .../sodium/crypto_generichash_blake2b.h | 121 - .../libsodium/include/sodium/crypto_hash.h | 40 - .../include/sodium/crypto_hash_sha256.h | 57 - .../include/sodium/crypto_hash_sha512.h | 57 - .../src/libsodium/include/sodium/crypto_kdf.h | 51 - .../include/sodium/crypto_kdf_blake2b.h | 42 - .../src/libsodium/include/sodium/crypto_kx.h | 64 - .../include/sodium/crypto_onetimeauth.h | 62 - .../sodium/crypto_onetimeauth_poly1305.h | 71 - .../libsodium/include/sodium/crypto_pwhash.h | 121 - .../include/sodium/crypto_pwhash_argon2i.h | 120 - .../crypto_pwhash_scryptsalsa208sha256.h | 112 - .../include/sodium/crypto_scalarmult.h | 37 - .../sodium/crypto_scalarmult_curve25519.h | 36 - .../include/sodium/crypto_secretbox.h | 87 - .../crypto_secretbox_xchacha20poly1305.h | 62 - .../crypto_secretbox_xsalsa20poly1305.h | 58 - .../include/sodium/crypto_shorthash.h | 39 - .../sodium/crypto_shorthash_siphash24.h | 48 - .../libsodium/include/sodium/crypto_sign.h | 99 - .../include/sodium/crypto_sign_ed25519.h | 110 - .../crypto_sign_edwards25519sha512batch.h | 54 - .../libsodium/include/sodium/crypto_stream.h | 52 - .../include/sodium/crypto_stream_aes128ctr.h | 65 - .../include/sodium/crypto_stream_chacha20.h | 92 - .../include/sodium/crypto_stream_salsa20.h | 57 - .../include/sodium/crypto_stream_salsa2012.h | 46 - .../include/sodium/crypto_stream_salsa208.h | 46 - .../include/sodium/crypto_stream_xchacha20.h | 53 - .../include/sodium/crypto_stream_xsalsa20.h | 53 - .../include/sodium/crypto_verify_16.h | 23 - .../include/sodium/crypto_verify_32.h | 23 - .../include/sodium/crypto_verify_64.h | 23 - .../src/libsodium/include/sodium/export.h | 44 - .../libsodium/include/sodium/private/common.h | 217 - .../include/sodium/private/curve25519_ref10.h | 160 - .../libsodium/include/sodium/private/mutex.h | 7 - .../include/sodium/private/sse2_64_32.h | 50 - .../libsodium/include/sodium/randombytes.h | 66 - .../include/sodium/randombytes_nativeclient.h | 23 - .../sodium/randombytes_salsa20_random.h | 19 - .../include/sodium/randombytes_sysrandom.h | 19 - .../src/libsodium/include/sodium/runtime.h | 46 - .../src/libsodium/include/sodium/utils.h | 131 - .../src/libsodium/include/sodium/version.h | 33 - .../src/libsodium/include/sodium/version.h.in | 33 - .../nativeclient/randombytes_nativeclient.c | 60 - .../src/libsodium/randombytes/randombytes.c | 202 - .../salsa20/randombytes_salsa20_random.c | 483 -- .../sysrandom/randombytes_sysrandom.c | 370 -- .../libsodium/src/libsodium/sodium/core.c | 171 - .../libsodium/src/libsodium/sodium/runtime.c | 254 - .../libsodium/src/libsodium/sodium/utils.c | 701 --- .../libsodium/src/libsodium/sodium/version.c | 30 - Example/web3swiftExample/Pods/scrypt/LICENSE | 13 + .../Pods/scrypt/scrypt/module.modulemap | 4 + .../Pods/scrypt/scrypt/scrypt.h | 23 + .../scrypt/scrypt/scrypt/BufferStorage.swift | 158 + .../Pods/scrypt/scrypt/scrypt/Salsa.swift | 198 + .../Pods/scrypt/scrypt/scrypt/Scrypt.swift | 230 + .../web3swiftExample/Pods/web3swift/README.md | 319 +- .../ABIv2/Classes/ABIv2Elements.swift | 16 +- .../ABIv2/Classes/ABIv2TypeParser.swift | 2 +- .../Contract/Classes/ContractABIv2.swift | 1 - .../Classes/CryptoExtensions.swift | 62 +- .../Convenience/Classes/Data+Extension.swift | 8 +- .../Classes/Dictionary+Extension.swift | 6 - .../Classes/LibSecp256k1Extension.swift | 24 +- .../Classes/String+Extension.swift | 15 +- .../Classes/Web3+BrowserFunctions.swift | 19 +- .../HookedFunctions/Classes/Web3+Wallet.swift | 18 +- .../KeystoreManager/Classes/BIP32HDNode.swift | 1 + .../Classes/BIP32Keystore.swift | 14 +- .../KeystoreManager/Classes/BIP39.swift | 2 +- .../Classes/EthereumAddress.swift | 30 +- .../Classes/EthereumKeystoreV3.swift | 8 +- .../Promises/Classes/Promise+Batching.swift | 13 +- .../Classes/Promise+HttpProvider.swift | 18 +- .../Classes/Promise+Web3+Eth+Call.swift | 6 +- .../Promise+Web3+Eth+EstimateGas.swift | 6 +- .../Promise+Web3+Eth+GetAccounts.swift | 4 +- .../Classes/Promise+Web3+Eth+GetBalance.swift | 4 +- .../Promise+Web3+Eth+GetBlockByHash.swift | 4 +- .../Promise+Web3+Eth+GetBlockByNumber.swift | 4 +- .../Promise+Web3+Eth+GetBlockNumber.swift | 4 +- .../Promise+Web3+Eth+GetGasPrice.swift | 4 +- ...Promise+Web3+Eth+GetTransactionCount.swift | 4 +- ...omise+Web3+Eth+GetTransactionDetails.swift | 4 +- ...omise+Web3+Eth+GetTransactionReceipt.swift | 4 +- .../Promise+Web3+Eth+SendRawTransaction.swift | 10 +- .../Promise+Web3+Eth+SendTransaction.swift | 17 +- .../Classes/Promise+Web3+Personal+Sign.swift | 8 +- .../Promise+Web3+Personal+UnlockAccount.swift | 10 +- .../Classes/EthereumTransaction.swift | 13 +- .../Classes/TransactionSigner.swift | 14 +- .../Web3/Classes/Web3+Contract.swift | 23 +- .../web3swift/Web3/Classes/Web3+Eth.swift | 953 +--- .../Web3/Classes/Web3+EventParser.swift | 222 +- .../Web3/Classes/Web3+HttpProvider.swift | 139 +- .../web3swift/Web3/Classes/Web3+Infura.swift | 89 +- .../Web3/Classes/Web3+Instance.swift | 64 +- .../web3swift/Web3/Classes/Web3+JSONRPC.swift | 54 +- .../web3swift/Web3/Classes/Web3+Options.swift | 57 +- .../Web3/Classes/Web3+Personal.swift | 142 +- .../Web3/Classes/Web3+Protocols.swift | 7 +- .../Web3/Classes/Web3+Structures.swift | 118 +- .../Web3+TransactionIntermediate.swift | 361 +- .../web3swift/Web3/Classes/Web3+Utils.swift | 81 +- .../web3swift/Web3/Classes/Web3.swift | 63 +- .../Pods/web3swift/web3swift/web3swift.h | 1 - 680 files changed, 4567 insertions(+), 45204 deletions(-) delete mode 100755 Example/web3swiftExample/Pods/Alamofire-Synchronous/LICENSE delete mode 100755 Example/web3swiftExample/Pods/Alamofire-Synchronous/README.md delete mode 100755 Example/web3swiftExample/Pods/Alamofire-Synchronous/Source/Alamofire+Synchronous.swift delete mode 100755 Example/web3swiftExample/Pods/Alamofire/LICENSE delete mode 100755 Example/web3swiftExample/Pods/Alamofire/README.md delete mode 100755 Example/web3swiftExample/Pods/Alamofire/Source/AFError.swift delete mode 100755 Example/web3swiftExample/Pods/Alamofire/Source/Alamofire.swift delete mode 100755 Example/web3swiftExample/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift delete mode 100755 Example/web3swiftExample/Pods/Alamofire/Source/MultipartFormData.swift delete mode 100755 Example/web3swiftExample/Pods/Alamofire/Source/NetworkReachabilityManager.swift delete mode 100755 Example/web3swiftExample/Pods/Alamofire/Source/Notifications.swift delete mode 100755 Example/web3swiftExample/Pods/Alamofire/Source/ParameterEncoding.swift delete mode 100755 Example/web3swiftExample/Pods/Alamofire/Source/Request.swift delete mode 100755 Example/web3swiftExample/Pods/Alamofire/Source/Response.swift delete mode 100755 Example/web3swiftExample/Pods/Alamofire/Source/ResponseSerialization.swift delete mode 100755 Example/web3swiftExample/Pods/Alamofire/Source/Result.swift delete mode 100755 Example/web3swiftExample/Pods/Alamofire/Source/ServerTrustPolicy.swift delete mode 100755 Example/web3swiftExample/Pods/Alamofire/Source/SessionDelegate.swift delete mode 100755 Example/web3swiftExample/Pods/Alamofire/Source/SessionManager.swift delete mode 100755 Example/web3swiftExample/Pods/Alamofire/Source/TaskDelegate.swift delete mode 100755 Example/web3swiftExample/Pods/Alamofire/Source/Timeline.swift delete mode 100755 Example/web3swiftExample/Pods/Alamofire/Source/Validation.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/LICENSE.md mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/README.md mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/Addition.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/BigInt.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/BigUInt.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/Bitwise Ops.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/Codable.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/Comparable.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/Data Conversion.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/Division.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/Exponentiation.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/Floating Point Conversion.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/GCD.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/Hashable.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/Integer Conversion.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/Multiplication.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/Prime Test.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/Random.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/Shifts.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/Square Root.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/Strideable.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/String Conversion.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/Subtraction.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/BigInt/sources/Words and Bits.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/LICENSE mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/README.md mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/AEAD/AEAD.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/AES.Cryptors.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/AES.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Array+Extension.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Authenticator.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BatchedCollection.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Bit.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockCipher.swift create mode 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockDecryptor.swift create mode 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockEncryptor.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/BlockMode.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/BlockModeOptions.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CBC.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CFB.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CTR.swift rename Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/{BlockModeWorker.swift => CipherModeWorker.swift} (85%) mode change 100755 => 100644 mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/ECB.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/GCM.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/OFB.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/PCBC.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Blowfish.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/CMAC.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/ChaCha20.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Checksum.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Cipher.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Collection+Extension.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/CompactMap.swift rename Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/{RandomAccessCryptor.swift => Cryptor.swift} (83%) mode change 100755 => 100644 mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Cryptors.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Digest.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/DigestType.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/AES+Foundation.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Array+Foundation.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Data+Extension.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/HMAC+Foundation.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/String+FoundationExtension.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Utils+Foundation.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Generics.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/HKDF.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/HMAC.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Int+Extension.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/MD5.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/NoPadding.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Operators.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PBKDF1.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PBKDF2.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PKCS5.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PKCS7.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PKCS7Padding.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Padding.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Poly1305.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Rabbit.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/RandomBytesSequence.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/SHA1.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/SHA2.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/SHA3.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/SecureBytes.swift create mode 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/StreamEncryptor.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/String+Extension.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/UInt128.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/UInt16+Extension.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/UInt32+Extension.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/UInt64+Extension.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/UInt8+Extension.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Updatable.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Utils.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/ZeroPadding.swift delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/argon2-core.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/argon2-encoding.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/argon2.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/base.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/base2.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-compress-avx2.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-compress-sse41.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-compress-ssse3.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-load-avx2.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-load-sse2.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-load-sse41.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-long.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/blamka-round-ref.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/blamka-round-ssse3.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/chacha20_dolbeau-avx2.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/chacha20_dolbeau-ssse3.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/chacha20_ref.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/common.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/consts.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/consts_namespace.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/core.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_aead_aes256gcm.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_aead_chacha20poly1305.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_aead_xchacha20poly1305.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_auth.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_auth_hmacsha256.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_auth_hmacsha512.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_auth_hmacsha512256.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_box.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_box_curve25519xchacha20poly1305.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_box_curve25519xsalsa20poly1305.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_hchacha20.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_hsalsa20.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_salsa20.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_salsa2012.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_salsa208.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_generichash.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_generichash_blake2b.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_hash.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_hash_sha256.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_hash_sha512.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_kdf.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_kdf_blake2b.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_kx.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_onetimeauth.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_onetimeauth_poly1305.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_pwhash.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_pwhash_argon2i.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_pwhash_scryptsalsa208sha256.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_scalarmult.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_scalarmult_curve25519.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_scrypt.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_secretbox.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_secretbox_xchacha20poly1305.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_secretbox_xsalsa20poly1305.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_shorthash.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_shorthash_siphash24.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_sign.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_sign_ed25519.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_sign_edwards25519sha512batch.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_aes128ctr.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_chacha20.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_salsa20.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_salsa2012.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_salsa208.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_xchacha20.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_xsalsa20.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_verify_16.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_verify_32.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_verify_64.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/curve25519_donna_c64.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/curve25519_ref10.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/curve25519_sandy2x.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/ed25519_ref10.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/export.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/fe.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/fe51.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/fe51_namespace.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/int128.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/ladder.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/ladder_base.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/ladder_base_namespace.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/ladder_namespace.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/mutex.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/onetimeauth_poly1305.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/pbkdf2-sha256.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/poly1305_donna.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/poly1305_donna32.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/poly1305_donna64.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/poly1305_sse2.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/randombytes.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/randombytes_nativeclient.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/randombytes_salsa20_random.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/randombytes_sysrandom.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/runtime.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/salsa20_ref.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/salsa20_xmm6.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/salsa20_xmm6int-avx2.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/salsa20_xmm6int-sse2.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/scalarmult_curve25519.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/shorthash_siphash_ref.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/sodium.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/sse2_64_32.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/stream_chacha20.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/stream_salsa20.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/u0.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/u1.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/u4.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/u8.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/utils.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/version.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/libsodium/x25519_ref10.h create mode 120000 Example/web3swiftExample/Pods/Headers/Private/scrypt/Cimpl.h create mode 120000 Example/web3swiftExample/Pods/Headers/Private/scrypt/scrypt.h create mode 120000 Example/web3swiftExample/Pods/Headers/Private/web3swift/web3swift-Bridging-Header.h delete mode 100644 Example/web3swiftExample/Pods/Headers/Public/Alamofire/Alamofire-umbrella.h delete mode 100644 Example/web3swiftExample/Pods/Headers/Public/Alamofire/Alamofire.modulemap delete mode 100644 Example/web3swiftExample/Pods/Headers/Public/Alamofire_Synchronous/Alamofire-Synchronous-umbrella.h delete mode 100644 Example/web3swiftExample/Pods/Headers/Public/Alamofire_Synchronous/Alamofire-Synchronous.modulemap delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/common.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/core.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_aead_aes256gcm.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_aead_chacha20poly1305.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_aead_xchacha20poly1305.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_auth.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_auth_hmacsha256.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_auth_hmacsha512.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_auth_hmacsha512256.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_box.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_box_curve25519xchacha20poly1305.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_box_curve25519xsalsa20poly1305.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_hchacha20.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_hsalsa20.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_salsa20.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_salsa2012.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_salsa208.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_generichash.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_generichash_blake2b.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_hash.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_hash_sha256.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_hash_sha512.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_kdf.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_kdf_blake2b.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_kx.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_onetimeauth.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_onetimeauth_poly1305.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_pwhash.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_pwhash_argon2i.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_pwhash_scryptsalsa208sha256.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_scalarmult.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_scalarmult_curve25519.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_secretbox.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_secretbox_xchacha20poly1305.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_secretbox_xsalsa20poly1305.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_shorthash.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_shorthash_siphash24.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_sign.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_sign_ed25519.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_sign_edwards25519sha512batch.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_aes128ctr.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_chacha20.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_salsa20.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_salsa2012.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_salsa208.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_xchacha20.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_xsalsa20.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_verify_16.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_verify_32.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_verify_64.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/curve25519_ref10.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/export.h delete mode 100644 Example/web3swiftExample/Pods/Headers/Public/libsodium/libsodium-umbrella.h delete mode 100644 Example/web3swiftExample/Pods/Headers/Public/libsodium/libsodium.modulemap delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/mutex.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/randombytes.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/randombytes_nativeclient.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/randombytes_salsa20_random.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/randombytes_sysrandom.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/runtime.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/sse2_64_32.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/utils.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/libsodium/version.h create mode 120000 Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h create mode 120000 Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.h create mode 120000 Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap create mode 120000 Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-Bridging-Header.h mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.h mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.m mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSNotificationCenter+Promise.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSObject+Promise.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSTask+AnyPromise.h mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSTask+AnyPromise.m mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSURLSession+AnyPromise.h mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSURLSession+AnyPromise.m mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSURLSession+Promise.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/PMKFoundation.h mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/Process+Promise.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/afterlife.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/PMKUIKit.h mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIView+AnyPromise.h mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIView+AnyPromise.m mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIView+Promise.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIViewController+AnyPromise.h mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIViewController+AnyPromise.m mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIViewPropertyAnimator+Promise.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/LICENSE mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/README.md mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/AnyPromise+Private.h mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/AnyPromise.h mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/AnyPromise.m mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/AnyPromise.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/Box.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/Catchable.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/Configuration.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/CustomStringConvertible.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/Deprecations.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/Error.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/Guarantee.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/NSMethodSignatureForBlock.m mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/PMKCallVariadicBlock.m mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/Promise.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/PromiseKit.h mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/Resolver.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/Thenable.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/after.m mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/after.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/dispatch_promise.m mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/firstly.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/fwd.h mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/hang.m mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/hang.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/join.m mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/race.m mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/race.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/when.m mode change 100755 => 100644 Example/web3swiftExample/Pods/PromiseKit/Sources/when.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/Result/LICENSE mode change 100755 => 100644 Example/web3swiftExample/Pods/Result/README.md create mode 100644 Example/web3swiftExample/Pods/Result/Result/AnyError.swift create mode 100644 Example/web3swiftExample/Pods/Result/Result/NoError.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/Result/Result/Result.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/Result/Result/ResultProtocol.swift delete mode 100755 Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous-dummy.m delete mode 100755 Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous-prefix.pch delete mode 100755 Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous-umbrella.h delete mode 100755 Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous.modulemap delete mode 100755 Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous.xcconfig delete mode 100755 Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Info.plist delete mode 100755 Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire-dummy.m delete mode 100755 Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire-prefix.pch delete mode 100755 Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire-umbrella.h delete mode 100755 Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire.modulemap delete mode 100755 Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire.xcconfig delete mode 100755 Example/web3swiftExample/Pods/Target Support Files/Alamofire/Info.plist delete mode 100755 Example/web3swiftExample/Pods/libsodium/LICENSE delete mode 100755 Example/web3swiftExample/Pods/libsodium/README.markdown delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_auth/crypto_auth.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/crypto_box.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/crypto_box_easy.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/crypto_box_seal.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/curve25519/ref10/base.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/curve25519/ref10/base2.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/curve25519/ref10/curve25519_ref10.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/hchacha20/core_hchacha20.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/hsalsa20/core_hsalsa20.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/salsa/ref/core_salsa_ref.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/generichash_blake2.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-avx2.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse2.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse41.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/crypto_generichash.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/crypto_hash.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/sha256/hash_sha256.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/sha512/hash_sha512.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_kdf/crypto_kdf.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_kx/crypto_kx.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-encoding.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-encoding.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/blake2b-long.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/blake2b-long.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-ref.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/crypto_pwhash.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/crypto_scalarmult.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base_namespace.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/crypto_shorthash.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/crypto_sign.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ed25519_ref10.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/afternm_aes128ctr.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/beforenm_aes128ctr.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/common.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/consts.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/consts_aes128ctr.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/int128.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/int128_aes128ctr.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/stream_aes128ctr_nacl.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/xor_afternm_aes128ctr.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/stream_aes128ctr.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u0.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u1.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u4.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u8.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/crypto_stream.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u0.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u1.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u4.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u8.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012_ref.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa2012/stream_salsa2012.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208_ref.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa208/stream_salsa208.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/xchacha20/stream_xchacha20.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_verify/sodium/verify.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/core.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_aead_aes256gcm.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_auth.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha256.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_box.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xchacha20poly1305.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_hchacha20.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_hsalsa20.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_salsa20.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_salsa2012.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_salsa208.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_generichash.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_generichash_blake2b.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_hash.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_hash_sha256.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_hash_sha512.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_kdf.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_kdf_blake2b.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_kx.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_onetimeauth.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_pwhash.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_pwhash_argon2i.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_scalarmult.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_secretbox.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_secretbox_xchacha20poly1305.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_shorthash.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_shorthash_siphash24.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_sign.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_sign_ed25519.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_aes128ctr.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_chacha20.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_salsa20.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_salsa2012.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_salsa208.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_xchacha20.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_xsalsa20.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_verify_16.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_verify_32.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_verify_64.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/export.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/private/common.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/private/curve25519_ref10.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/private/mutex.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/private/sse2_64_32.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/randombytes.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/randombytes_nativeclient.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/randombytes_salsa20_random.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/randombytes_sysrandom.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/runtime.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/utils.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/version.h delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/version.h.in delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/randombytes/nativeclient/randombytes_nativeclient.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/randombytes/randombytes.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/sodium/core.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/sodium/runtime.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/sodium/utils.c delete mode 100755 Example/web3swiftExample/Pods/libsodium/src/libsodium/sodium/version.c create mode 100755 Example/web3swiftExample/Pods/scrypt/LICENSE create mode 100644 Example/web3swiftExample/Pods/scrypt/scrypt/module.modulemap create mode 100755 Example/web3swiftExample/Pods/scrypt/scrypt/scrypt.h create mode 100755 Example/web3swiftExample/Pods/scrypt/scrypt/scrypt/BufferStorage.swift create mode 100755 Example/web3swiftExample/Pods/scrypt/scrypt/scrypt/Salsa.swift create mode 100755 Example/web3swiftExample/Pods/scrypt/scrypt/scrypt/Scrypt.swift diff --git a/Example/web3swiftExample/Podfile b/Example/web3swiftExample/Podfile index de89d813c..6c030d991 100755 --- a/Example/web3swiftExample/Podfile +++ b/Example/web3swiftExample/Podfile @@ -3,5 +3,6 @@ platform :ios, '11.2' target 'web3swiftExample' do # use_frameworks! use_modular_headers! - pod 'web3swift', :git => 'https://github.com/bankex/web3swift.git' + pod 'web3swift', '~> 1.1.9' +# pod 'web3swift', :git => 'https://github.com/matterinc/web3swift.git' end diff --git a/Example/web3swiftExample/Podfile.lock b/Example/web3swiftExample/Podfile.lock index 12184871e..6efba76d5 100755 --- a/Example/web3swiftExample/Podfile.lock +++ b/Example/web3swiftExample/Podfile.lock @@ -1,69 +1,53 @@ PODS: - - Alamofire (4.7.2) - - Alamofire-Synchronous (4.0.0): - - Alamofire (~> 4.0) - - BigInt (3.0.1): + - BigInt (3.1.0): - SipHash (~> 1.2) - - CryptoSwift (0.10.0) - - libsodium (1.0.12) - - PromiseKit (6.3.0): - - PromiseKit/CorePromise (= 6.3.0) - - PromiseKit/Foundation (= 6.3.0) - - PromiseKit/UIKit (= 6.3.0) - - PromiseKit/CorePromise (6.3.0) - - PromiseKit/Foundation (6.3.0): + - CryptoSwift (0.12.0) + - PromiseKit (6.4.0): + - PromiseKit/CorePromise (= 6.4.0) + - PromiseKit/Foundation (= 6.4.0) + - PromiseKit/UIKit (= 6.4.0) + - PromiseKit/CorePromise (6.4.0) + - PromiseKit/Foundation (6.4.0): - PromiseKit/CorePromise - - PromiseKit/UIKit (6.3.0): + - PromiseKit/UIKit (6.4.0): - PromiseKit/CorePromise - - Result (3.0.0) + - Result (4.0.0) + - scrypt (2.0): + - CryptoSwift (~> 0.11) - secp256k1_ios (0.1.3) - SipHash (1.2.2) - - web3swift (0.9.0): - - Alamofire (~> 4.7) - - Alamofire-Synchronous (~> 4.0) - - BigInt (~> 3.0.1) - - CryptoSwift (~> 0.10.0) - - libsodium (~> 1.0.12) - - PromiseKit (~> 6.3.0) - - Result (~> 3.0.0) - - secp256k1_ios (~> 0.1.3) + - web3swift (1.1.9): + - BigInt (~> 3.1) + - CryptoSwift (~> 0.11) + - PromiseKit (~> 6.3) + - Result (~> 4.0) + - scrypt (~> 2.0) + - secp256k1_ios (~> 0.1) DEPENDENCIES: - - web3swift (from `https://github.com/bankex/web3swift.git`) + - web3swift (~> 1.1.9) SPEC REPOS: https://github.com/cocoapods/specs.git: - - Alamofire - - Alamofire-Synchronous - BigInt - CryptoSwift - - libsodium - PromiseKit - Result + - scrypt - secp256k1_ios - SipHash - -EXTERNAL SOURCES: - web3swift: - :git: https://github.com/bankex/web3swift.git - -CHECKOUT OPTIONS: - web3swift: - :commit: 8d2cd5d484fb7e1d44dccd6422e19191cd9da024 - :git: https://github.com/bankex/web3swift.git + - web3swift SPEC CHECKSUMS: - Alamofire: e4fa87002c137ba2d8d634d2c51fabcda0d5c223 - Alamofire-Synchronous: eedf1e6e961c3795a63c74990b3f7d9fbfac7e50 - BigInt: 8e8a52161c745cd3ab78e3dc346a9fbee51e6cf6 - CryptoSwift: 6c778d69282bed3b4e975ff97a79d074f20bb011 - libsodium: 9a8faa5ef2fa0d2d57bd7f7d79bf8fb7c1a9f0ea - PromiseKit: cf84bbb1235a61473b326c5cf0b41f6828f87ba5 - Result: 1b3e431f37cbcd3ad89c6aa9ab0ae55515fae3b6 + BigInt: 76b5dfdfa3e2e478d4ffdf161aeede5502e2742f + CryptoSwift: 1c07ca50843dd48bc54e6ea53d7a4dba3b645716 + PromiseKit: ae3616f45d7bb9bf4ff1e91abc9b7a8c48a340e0 + Result: 7645bb3f50c2ce726dd0ff2fa7b6f42bbe6c3713 + scrypt: 3fe5b1a3b0976f97cd87488673a8f7c65708cc84 secp256k1_ios: ac9ef04e761f43c58012b28548afa91493761f17 SipHash: fad90a4683e420c52ef28063063dbbce248ea6d4 - web3swift: 3aec6f5285c79d2fd5d3a5be05a813329b909934 + web3swift: 4895c765c9858eb4737ef222eb8643bb5fc7fdb3 -PODFILE CHECKSUM: 2b6b41ef6cd2c86449189776fb7c34f8d8e3f570 +PODFILE CHECKSUM: 8d61818b8900609b53352708ddba0659befd3536 -COCOAPODS: 1.5.3 +COCOAPODS: 1.6.0.beta.1 diff --git a/Example/web3swiftExample/Pods/Alamofire-Synchronous/LICENSE b/Example/web3swiftExample/Pods/Alamofire-Synchronous/LICENSE deleted file mode 100755 index 5e04b86e9..000000000 --- a/Example/web3swiftExample/Pods/Alamofire-Synchronous/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Hran - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/Example/web3swiftExample/Pods/Alamofire-Synchronous/README.md b/Example/web3swiftExample/Pods/Alamofire-Synchronous/README.md deleted file mode 100755 index 48eb4c21d..000000000 --- a/Example/web3swiftExample/Pods/Alamofire-Synchronous/README.md +++ /dev/null @@ -1,110 +0,0 @@ -# Alamofire+Synchronous - -Synchronous requests for Alamofire - -### Requirements - -* iOS 9.0+ / Mac OS X 10.11+ / tvOS 9.0+ / watchOS 2.0+ - - -* Xcode 8.0+ -* Swift 3.0+ - -### Installation - -For Alamofire 4.0+: - -```ruby -pod 'Alamofire-Synchronous', '~> 4.0' -``` - -For Alamofire 3.0+: - -``` ruby -pod 'Alamofire-Synchronous', '~> 3.0' -``` - -### Known issues - -**If you execute synchronous requests from the main queue:** - -The following tasks in the main queue, including UI updates, won't be execute until the synchronous request finished. in Alamofire 4, methods `downloadProgress` and `uploadProgress` added a new parameter `queue`, and its default value is `DispatchQueue.main`. it's better to reset it as Non-main queue If you execute synchronous requests from the main queue. - -example: - -```swift -// from the main queue (**not recommended**): -let response = Alamofire.download("https://httpbin.org/stream/100", method: .get, to: destination).downloadProgress { progress in - // Codes at here will be delayed before the synchronous request finished running. - print("Download Progress: \(progress.fractionCompleted)") - - }.response() - -if let error = response.error { - print("Failed with error: \(error)") -}else{ - print("Downloaded file successfully") -} -``` - -```swift -// from the main queue (**not recommended**): -let response = Alamofire.download("https://httpbin.org/stream/100", method: .get, to: destination).downloadProgress(queue: DispatchQueue.global(qos: .default)) { progress in - // Codes at here will not be delayed - print("Download Progress: \(progress.fractionCompleted)") - - DispatchQueue.main.async { - // code at here will be delayed before the synchronous finished. - } - - }.response() - -if let error = response.error { - print("Failed with error: \(error)") -}else{ - print("Downloaded file successfully") -} -``` - - - -### Usage - -```swift -import Alamofire -import Alamofire_Synchronous -``` - -**The usage differences between Alamofire and Alamofire_Synchronous**: Simply remove parameters: `queue` and `completionHandler` in response* methods. - - - -Example(For Alamofire 4.0+): - -``` swift -//get request and response json -let response = Alamofire.request("https://httpbin.org/get", parameters: ["foo": "bar"]).responseJSON() -if let json = response.result.value { - print(json) -} - -// post request and response json(with default options) -let response = Alamofire.request("https://httpbin.org/post", method: .post, parameters: ["foo": "bar"]).responseJSON(options: .allowFragments) -if let json = response.result.value { - print(json) -} - -// download -let response = Alamofire.download("https://httpbin.org/stream/100", method: .get, to: destination).response() -if let error = response.error { - print("Failed with error: \(error)") -}else{ - print("Downloaded file successfully") -} -``` - -For more usage, see [Alamofire's documents](https://github.com/Alamofire/Alamofire#usage). - -### License - -See LICENSE for details. diff --git a/Example/web3swiftExample/Pods/Alamofire-Synchronous/Source/Alamofire+Synchronous.swift b/Example/web3swiftExample/Pods/Alamofire-Synchronous/Source/Alamofire+Synchronous.swift deleted file mode 100755 index 771f78f34..000000000 --- a/Example/web3swiftExample/Pods/Alamofire-Synchronous/Source/Alamofire+Synchronous.swift +++ /dev/null @@ -1,203 +0,0 @@ -// -// Alamofire+Synchronous.swift -// Alamofire-Synchronous -// -// Created by Luda Zhuang on 15/11/8. -// Copyright © 2015年 Luda Zhuang. All rights reserved. -// - -import Foundation -import Alamofire - -extension DataRequest { - - - /** - Wait for the request to finish then return the response value. - - - returns: The response. - */ - public func response() -> DefaultDataResponse { - - let semaphore = DispatchSemaphore(value: 0) - var result: DefaultDataResponse! - - self.response(queue: DispatchQueue.global(qos: .default)) { response in - - result = response - semaphore.signal() - - } - - _ = semaphore.wait(timeout: DispatchTime.distantFuture) - - return result - } - - /** - Wait for the request to finish then return the response value. - - - parameter responseSerializer: The response serializer responsible for serializing the request, response, - and data. - - returns: The response. - */ - public func response(responseSerializer: T) -> DataResponse { - - let semaphore = DispatchSemaphore(value: 0) - var result: DataResponse! - - self.response(queue: DispatchQueue.global(qos: .default), responseSerializer: responseSerializer) { response in - - result = response - semaphore.signal() - - } - - _ = semaphore.wait(timeout: DispatchTime.distantFuture) - - return result - } - - - /** - Wait for the request to finish then return the response value. - - - returns: The response. - */ - public func responseData() -> DataResponse { - return response(responseSerializer: DataRequest.dataResponseSerializer()) - } - - - /** - Wait for the request to finish then return the response value. - - - parameter options: The JSON serialization reading options. `.AllowFragments` by default. - - - returns: The response. - */ - public func responseJSON(options: JSONSerialization.ReadingOptions = .allowFragments) -> DataResponse { - return response(responseSerializer: DataRequest.jsonResponseSerializer(options: options)) - } - - - /** - Wait for the request to finish then return the response value. - - - parameter encoding: The string encoding. If `nil`, the string encoding will be determined from the - server response, falling back to the default HTTP default character set, - ISO-8859-1. - - - returns: The response. - */ - public func responseString(encoding: String.Encoding? = nil) -> DataResponse { - return response(responseSerializer: DataRequest.stringResponseSerializer(encoding: encoding)) - } - - - /** - Wait for the request to finish then return the response value. - - - parameter options: The property list reading options. Defaults to `[]`. - - - returns: The response. - */ - public func responsePropertyList(options: PropertyListSerialization.ReadOptions = PropertyListSerialization.ReadOptions()) -> DataResponse { - return response(responseSerializer: DataRequest.propertyListResponseSerializer(options: options)) - } -} - - -extension DownloadRequest { - /** - Wait for the request to finish then return the response value. - - - returns: The response. - */ - public func response() -> DefaultDownloadResponse { - - let semaphore = DispatchSemaphore(value: 0) - var result: DefaultDownloadResponse! - - self.response(queue: DispatchQueue.global(qos: .default)) { response in - - result = response - semaphore.signal() - - } - - _ = semaphore.wait(timeout: DispatchTime.distantFuture) - - return result - } - - - /** - Wait for the request to finish then return the response value. - - - parameter responseSerializer: The response serializer responsible for serializing the request, response, - and data. - - returns: The response. - */ - public func response(responseSerializer: T) -> DownloadResponse { - - let semaphore = DispatchSemaphore(value: 0) - var result: DownloadResponse! - - self.response(queue: DispatchQueue.global(qos: .background), responseSerializer: responseSerializer) { response in - - result = response - semaphore.signal() - - } - - _ = semaphore.wait(timeout: DispatchTime.distantFuture) - - return result - } - - - /** - Wait for the request to finish then return the response value. - - - returns: The response. - */ - public func responseData() -> DownloadResponse { - return response(responseSerializer: DownloadRequest.dataResponseSerializer()) - } - - /** - Wait for the request to finish then return the response value. - - - parameter options: The JSON serialization reading options. `.AllowFragments` by default. - - - returns: The response. - */ - public func responseJSON(options: JSONSerialization.ReadingOptions = .allowFragments) -> DownloadResponse { - return response(responseSerializer: DownloadRequest.jsonResponseSerializer(options: options)) - } - - /** - Wait for the request to finish then return the response value. - - - parameter encoding: The string encoding. If `nil`, the string encoding will be determined from the - server response, falling back to the default HTTP default character set, - ISO-8859-1. - - - returns: The response. - */ - public func responseString(encoding: String.Encoding? = nil) -> DownloadResponse { - return response(responseSerializer: DownloadRequest.stringResponseSerializer(encoding: encoding)) - } - - /** - Wait for the request to finish then return the response value. - - - parameter options: The property list reading options. Defaults to `[]`. - - - returns: The response. - */ - public func responsePropertyList(options: PropertyListSerialization.ReadOptions = PropertyListSerialization.ReadOptions()) -> DownloadResponse { - return response(responseSerializer: DownloadRequest.propertyListResponseSerializer(options: options)) - } -} diff --git a/Example/web3swiftExample/Pods/Alamofire/LICENSE b/Example/web3swiftExample/Pods/Alamofire/LICENSE deleted file mode 100755 index 2ec3cb14f..000000000 --- a/Example/web3swiftExample/Pods/Alamofire/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/Example/web3swiftExample/Pods/Alamofire/README.md b/Example/web3swiftExample/Pods/Alamofire/README.md deleted file mode 100755 index f29cfce22..000000000 --- a/Example/web3swiftExample/Pods/Alamofire/README.md +++ /dev/null @@ -1,242 +0,0 @@ -![Alamofire: Elegant Networking in Swift](https://raw.githubusercontent.com/Alamofire/Alamofire/master/alamofire.png) - -[![Build Status](https://travis-ci.org/Alamofire/Alamofire.svg?branch=master)](https://travis-ci.org/Alamofire/Alamofire) -[![CocoaPods Compatible](https://img.shields.io/cocoapods/v/Alamofire.svg)](https://img.shields.io/cocoapods/v/Alamofire.svg) -[![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) -[![Platform](https://img.shields.io/cocoapods/p/Alamofire.svg?style=flat)](https://alamofire.github.io/Alamofire) -[![Twitter](https://img.shields.io/badge/twitter-@AlamofireSF-blue.svg?style=flat)](http://twitter.com/AlamofireSF) -[![Gitter](https://badges.gitter.im/Alamofire/Alamofire.svg)](https://gitter.im/Alamofire/Alamofire?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) - -Alamofire is an HTTP networking library written in Swift. - -- [Features](#features) -- [Component Libraries](#component-libraries) -- [Requirements](#requirements) -- [Migration Guides](#migration-guides) -- [Communication](#communication) -- [Installation](#installation) -- [Usage](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md) - - **Intro -** [Making a Request](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#making-a-request), [Response Handling](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#response-handling), [Response Validation](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#response-validation), [Response Caching](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#response-caching) - - **HTTP -** [HTTP Methods](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#http-methods), [Parameter Encoding](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#parameter-encoding), [HTTP Headers](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#http-headers), [Authentication](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#authentication) - - **Large Data -** [Downloading Data to a File](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#downloading-data-to-a-file), [Uploading Data to a Server](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#uploading-data-to-a-server) - - **Tools -** [Statistical Metrics](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#statistical-metrics), [cURL Command Output](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#curl-command-output) -- [Advanced Usage](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md) - - **URL Session -** [Session Manager](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#session-manager), [Session Delegate](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#session-delegate), [Request](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#request) - - **Routing -** [Routing Requests](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#routing-requests), [Adapting and Retrying Requests](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#adapting-and-retrying-requests) - - **Model Objects -** [Custom Response Serialization](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#custom-response-serialization) - - **Connection -** [Security](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#security), [Network Reachability](https://github.com/Alamofire/Alamofire/blob/master/Documentation/AdvancedUsage.md#network-reachability) -- [Open Radars](#open-radars) -- [FAQ](#faq) -- [Credits](#credits) -- [Donations](#donations) -- [License](#license) - -## Features - -- [x] Chainable Request / Response Methods -- [x] URL / JSON / plist Parameter Encoding -- [x] Upload File / Data / Stream / MultipartFormData -- [x] Download File using Request or Resume Data -- [x] Authentication with URLCredential -- [x] HTTP Response Validation -- [x] Upload and Download Progress Closures with Progress -- [x] cURL Command Output -- [x] Dynamically Adapt and Retry Requests -- [x] TLS Certificate and Public Key Pinning -- [x] Network Reachability -- [x] Comprehensive Unit and Integration Test Coverage -- [x] [Complete Documentation](https://alamofire.github.io/Alamofire) - -## Component Libraries - -In order to keep Alamofire focused specifically on core networking implementations, additional component libraries have been created by the [Alamofire Software Foundation](https://github.com/Alamofire/Foundation) to bring additional functionality to the Alamofire ecosystem. - -- [AlamofireImage](https://github.com/Alamofire/AlamofireImage) - An image library including image response serializers, `UIImage` and `UIImageView` extensions, custom image filters, an auto-purging in-memory cache and a priority-based image downloading system. -- [AlamofireNetworkActivityIndicator](https://github.com/Alamofire/AlamofireNetworkActivityIndicator) - Controls the visibility of the network activity indicator on iOS using Alamofire. It contains configurable delay timers to help mitigate flicker and can support `URLSession` instances not managed by Alamofire. - -## Requirements - -- iOS 8.0+ / macOS 10.10+ / tvOS 9.0+ / watchOS 2.0+ -- Xcode 8.3+ -- Swift 3.1+ - -## Migration Guides - -- [Alamofire 4.0 Migration Guide](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Alamofire%204.0%20Migration%20Guide.md) -- [Alamofire 3.0 Migration Guide](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Alamofire%203.0%20Migration%20Guide.md) -- [Alamofire 2.0 Migration Guide](https://github.com/Alamofire/Alamofire/blob/master/Documentation/Alamofire%202.0%20Migration%20Guide.md) - -## Communication - -- If you **need help**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/alamofire). (Tag 'alamofire') -- If you'd like to **ask a general question**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/alamofire). -- If you **found a bug**, open an issue. -- If you **have a feature request**, open an issue. -- If you **want to contribute**, submit a pull request. - -## Installation - -### CocoaPods - -[CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects. You can install it with the following command: - -```bash -$ gem install cocoapods -``` - -> CocoaPods 1.1+ is required to build Alamofire 4.0+. - -To integrate Alamofire into your Xcode project using CocoaPods, specify it in your `Podfile`: - -```ruby -source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '10.0' -use_frameworks! - -target '' do - pod 'Alamofire', '~> 4.7' -end -``` - -Then, run the following command: - -```bash -$ pod install -``` - -### Carthage - -[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. - -You can install Carthage with [Homebrew](http://brew.sh/) using the following command: - -```bash -$ brew update -$ brew install carthage -``` - -To integrate Alamofire into your Xcode project using Carthage, specify it in your `Cartfile`: - -```ogdl -github "Alamofire/Alamofire" ~> 4.7 -``` - -Run `carthage update` to build the framework and drag the built `Alamofire.framework` into your Xcode project. - -### Swift Package Manager - -The [Swift Package Manager](https://swift.org/package-manager/) is a tool for automating the distribution of Swift code and is integrated into the `swift` compiler. It is in early development, but Alamofire does support its use on supported platforms. - -Once you have your Swift package set up, adding Alamofire as a dependency is as easy as adding it to the `dependencies` value of your `Package.swift`. - -#### Swift 3 - -```swift -dependencies: [ - .Package(url: "https://github.com/Alamofire/Alamofire.git", majorVersion: 4) -] -``` - -#### Swift 4 - -```swift -dependencies: [ - .package(url: "https://github.com/Alamofire/Alamofire.git", from: "4.0.0") -] -``` - -### Manually - -If you prefer not to use any of the aforementioned dependency managers, you can integrate Alamofire into your project manually. - -#### Embedded Framework - -- Open up Terminal, `cd` into your top-level project directory, and run the following command "if" your project is not initialized as a git repository: - - ```bash - $ git init - ``` - -- Add Alamofire as a git [submodule](http://git-scm.com/docs/git-submodule) by running the following command: - - ```bash - $ git submodule add https://github.com/Alamofire/Alamofire.git - ``` - -- Open the new `Alamofire` folder, and drag the `Alamofire.xcodeproj` into the Project Navigator of your application's Xcode project. - - > It should appear nested underneath your application's blue project icon. Whether it is above or below all the other Xcode groups does not matter. - -- Select the `Alamofire.xcodeproj` in the Project Navigator and verify the deployment target matches that of your application target. -- Next, select your application project in the Project Navigator (blue project icon) to navigate to the target configuration window and select the application target under the "Targets" heading in the sidebar. -- In the tab bar at the top of that window, open the "General" panel. -- Click on the `+` button under the "Embedded Binaries" section. -- You will see two different `Alamofire.xcodeproj` folders each with two different versions of the `Alamofire.framework` nested inside a `Products` folder. - - > It does not matter which `Products` folder you choose from, but it does matter whether you choose the top or bottom `Alamofire.framework`. - -- Select the top `Alamofire.framework` for iOS and the bottom one for OS X. - - > You can verify which one you selected by inspecting the build log for your project. The build target for `Alamofire` will be listed as either `Alamofire iOS`, `Alamofire macOS`, `Alamofire tvOS` or `Alamofire watchOS`. - -- And that's it! - - > The `Alamofire.framework` is automagically added as a target dependency, linked framework and embedded framework in a copy files build phase which is all you need to build on the simulator and a device. - -## Open Radars - -The following radars have some effect on the current implementation of Alamofire. - -- [`rdar://21349340`](http://www.openradar.me/radar?id=5517037090635776) - Compiler throwing warning due to toll-free bridging issue in test case -- `rdar://26870455` - Background URL Session Configurations do not work in the simulator -- `rdar://26849668` - Some URLProtocol APIs do not properly handle `URLRequest` -- [`rdar://36082113`](http://openradar.appspot.com/radar?id=4942308441063424) - `URLSessionTaskMetrics` failing to link on watchOS 3.0+ - -## Resolved Radars - -The following radars have been resolved over time after being filed against the Alamofire project. - -- [`rdar://26761490`](http://www.openradar.me/radar?id=5010235949318144) - Swift string interpolation causing memory leak with common usage (Resolved on 9/1/17 in Xcode 9 beta 6). - -## FAQ - -### What's the origin of the name Alamofire? - -Alamofire is named after the [Alamo Fire flower](https://aggie-horticulture.tamu.edu/wildseed/alamofire.html), a hybrid variant of the Bluebonnet, the official state flower of Texas. - -### What logic belongs in a Router vs. a Request Adapter? - -Simple, static data such as paths, parameters and common headers belong in the `Router`. Dynamic data such as an `Authorization` header whose value can changed based on an authentication system belongs in a `RequestAdapter`. - -The reason the dynamic data MUST be placed into the `RequestAdapter` is to support retry operations. When a `Request` is retried, the original request is not rebuilt meaning the `Router` will not be called again. The `RequestAdapter` is called again allowing the dynamic data to be updated on the original request before retrying the `Request`. - -## Credits - -Alamofire is owned and maintained by the [Alamofire Software Foundation](http://alamofire.org). You can follow them on Twitter at [@AlamofireSF](https://twitter.com/AlamofireSF) for project updates and releases. - -### Security Disclosure - -If you believe you have identified a security vulnerability with Alamofire, you should report it as soon as possible via email to security@alamofire.org. Please do not post it to a public issue tracker. - -## Donations - -The [ASF](https://github.com/Alamofire/Foundation#members) is looking to raise money to officially stay registered as a federal non-profit organization. -Registering will allow us members to gain some legal protections and also allow us to put donations to use, tax free. -Donating to the ASF will enable us to: - -- Pay our yearly legal fees to keep the non-profit in good status -- Pay for our mail servers to help us stay on top of all questions and security issues -- Potentially fund test servers to make it easier for us to test the edge cases -- Potentially fund developers to work on one of our projects full-time - -The community adoption of the ASF libraries has been amazing. -We are greatly humbled by your enthusiasm around the projects, and want to continue to do everything we can to move the needle forward. -With your continued support, the ASF will be able to improve its reach and also provide better legal safety for the core members. -If you use any of our libraries for work, see if your employers would be interested in donating. -Any amount you can donate today to help us reach our goal would be greatly appreciated. - -[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=W34WPEE74APJQ) - -## License - -Alamofire is released under the MIT license. [See LICENSE](https://github.com/Alamofire/Alamofire/blob/master/LICENSE) for details. diff --git a/Example/web3swiftExample/Pods/Alamofire/Source/AFError.swift b/Example/web3swiftExample/Pods/Alamofire/Source/AFError.swift deleted file mode 100755 index 8b90d8471..000000000 --- a/Example/web3swiftExample/Pods/Alamofire/Source/AFError.swift +++ /dev/null @@ -1,460 +0,0 @@ -// -// AFError.swift -// -// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -import Foundation - -/// `AFError` is the error type returned by Alamofire. It encompasses a few different types of errors, each with -/// their own associated reasons. -/// -/// - invalidURL: Returned when a `URLConvertible` type fails to create a valid `URL`. -/// - parameterEncodingFailed: Returned when a parameter encoding object throws an error during the encoding process. -/// - multipartEncodingFailed: Returned when some step in the multipart encoding process fails. -/// - responseValidationFailed: Returned when a `validate()` call fails. -/// - responseSerializationFailed: Returned when a response serializer encounters an error in the serialization process. -public enum AFError: Error { - /// The underlying reason the parameter encoding error occurred. - /// - /// - missingURL: The URL request did not have a URL to encode. - /// - jsonEncodingFailed: JSON serialization failed with an underlying system error during the - /// encoding process. - /// - propertyListEncodingFailed: Property list serialization failed with an underlying system error during - /// encoding process. - public enum ParameterEncodingFailureReason { - case missingURL - case jsonEncodingFailed(error: Error) - case propertyListEncodingFailed(error: Error) - } - - /// The underlying reason the multipart encoding error occurred. - /// - /// - bodyPartURLInvalid: The `fileURL` provided for reading an encodable body part isn't a - /// file URL. - /// - bodyPartFilenameInvalid: The filename of the `fileURL` provided has either an empty - /// `lastPathComponent` or `pathExtension. - /// - bodyPartFileNotReachable: The file at the `fileURL` provided was not reachable. - /// - bodyPartFileNotReachableWithError: Attempting to check the reachability of the `fileURL` provided threw - /// an error. - /// - bodyPartFileIsDirectory: The file at the `fileURL` provided is actually a directory. - /// - bodyPartFileSizeNotAvailable: The size of the file at the `fileURL` provided was not returned by - /// the system. - /// - bodyPartFileSizeQueryFailedWithError: The attempt to find the size of the file at the `fileURL` provided - /// threw an error. - /// - bodyPartInputStreamCreationFailed: An `InputStream` could not be created for the provided `fileURL`. - /// - outputStreamCreationFailed: An `OutputStream` could not be created when attempting to write the - /// encoded data to disk. - /// - outputStreamFileAlreadyExists: The encoded body data could not be writtent disk because a file - /// already exists at the provided `fileURL`. - /// - outputStreamURLInvalid: The `fileURL` provided for writing the encoded body data to disk is - /// not a file URL. - /// - outputStreamWriteFailed: The attempt to write the encoded body data to disk failed with an - /// underlying error. - /// - inputStreamReadFailed: The attempt to read an encoded body part `InputStream` failed with - /// underlying system error. - public enum MultipartEncodingFailureReason { - case bodyPartURLInvalid(url: URL) - case bodyPartFilenameInvalid(in: URL) - case bodyPartFileNotReachable(at: URL) - case bodyPartFileNotReachableWithError(atURL: URL, error: Error) - case bodyPartFileIsDirectory(at: URL) - case bodyPartFileSizeNotAvailable(at: URL) - case bodyPartFileSizeQueryFailedWithError(forURL: URL, error: Error) - case bodyPartInputStreamCreationFailed(for: URL) - - case outputStreamCreationFailed(for: URL) - case outputStreamFileAlreadyExists(at: URL) - case outputStreamURLInvalid(url: URL) - case outputStreamWriteFailed(error: Error) - - case inputStreamReadFailed(error: Error) - } - - /// The underlying reason the response validation error occurred. - /// - /// - dataFileNil: The data file containing the server response did not exist. - /// - dataFileReadFailed: The data file containing the server response could not be read. - /// - missingContentType: The response did not contain a `Content-Type` and the `acceptableContentTypes` - /// provided did not contain wildcard type. - /// - unacceptableContentType: The response `Content-Type` did not match any type in the provided - /// `acceptableContentTypes`. - /// - unacceptableStatusCode: The response status code was not acceptable. - public enum ResponseValidationFailureReason { - case dataFileNil - case dataFileReadFailed(at: URL) - case missingContentType(acceptableContentTypes: [String]) - case unacceptableContentType(acceptableContentTypes: [String], responseContentType: String) - case unacceptableStatusCode(code: Int) - } - - /// The underlying reason the response serialization error occurred. - /// - /// - inputDataNil: The server response contained no data. - /// - inputDataNilOrZeroLength: The server response contained no data or the data was zero length. - /// - inputFileNil: The file containing the server response did not exist. - /// - inputFileReadFailed: The file containing the server response could not be read. - /// - stringSerializationFailed: String serialization failed using the provided `String.Encoding`. - /// - jsonSerializationFailed: JSON serialization failed with an underlying system error. - /// - propertyListSerializationFailed: Property list serialization failed with an underlying system error. - public enum ResponseSerializationFailureReason { - case inputDataNil - case inputDataNilOrZeroLength - case inputFileNil - case inputFileReadFailed(at: URL) - case stringSerializationFailed(encoding: String.Encoding) - case jsonSerializationFailed(error: Error) - case propertyListSerializationFailed(error: Error) - } - - case invalidURL(url: URLConvertible) - case parameterEncodingFailed(reason: ParameterEncodingFailureReason) - case multipartEncodingFailed(reason: MultipartEncodingFailureReason) - case responseValidationFailed(reason: ResponseValidationFailureReason) - case responseSerializationFailed(reason: ResponseSerializationFailureReason) -} - -// MARK: - Adapt Error - -struct AdaptError: Error { - let error: Error -} - -extension Error { - var underlyingAdaptError: Error? { return (self as? AdaptError)?.error } -} - -// MARK: - Error Booleans - -extension AFError { - /// Returns whether the AFError is an invalid URL error. - public var isInvalidURLError: Bool { - if case .invalidURL = self { return true } - return false - } - - /// Returns whether the AFError is a parameter encoding error. When `true`, the `underlyingError` property will - /// contain the associated value. - public var isParameterEncodingError: Bool { - if case .parameterEncodingFailed = self { return true } - return false - } - - /// Returns whether the AFError is a multipart encoding error. When `true`, the `url` and `underlyingError` properties - /// will contain the associated values. - public var isMultipartEncodingError: Bool { - if case .multipartEncodingFailed = self { return true } - return false - } - - /// Returns whether the `AFError` is a response validation error. When `true`, the `acceptableContentTypes`, - /// `responseContentType`, and `responseCode` properties will contain the associated values. - public var isResponseValidationError: Bool { - if case .responseValidationFailed = self { return true } - return false - } - - /// Returns whether the `AFError` is a response serialization error. When `true`, the `failedStringEncoding` and - /// `underlyingError` properties will contain the associated values. - public var isResponseSerializationError: Bool { - if case .responseSerializationFailed = self { return true } - return false - } -} - -// MARK: - Convenience Properties - -extension AFError { - /// The `URLConvertible` associated with the error. - public var urlConvertible: URLConvertible? { - switch self { - case .invalidURL(let url): - return url - default: - return nil - } - } - - /// The `URL` associated with the error. - public var url: URL? { - switch self { - case .multipartEncodingFailed(let reason): - return reason.url - default: - return nil - } - } - - /// The `Error` returned by a system framework associated with a `.parameterEncodingFailed`, - /// `.multipartEncodingFailed` or `.responseSerializationFailed` error. - public var underlyingError: Error? { - switch self { - case .parameterEncodingFailed(let reason): - return reason.underlyingError - case .multipartEncodingFailed(let reason): - return reason.underlyingError - case .responseSerializationFailed(let reason): - return reason.underlyingError - default: - return nil - } - } - - /// The acceptable `Content-Type`s of a `.responseValidationFailed` error. - public var acceptableContentTypes: [String]? { - switch self { - case .responseValidationFailed(let reason): - return reason.acceptableContentTypes - default: - return nil - } - } - - /// The response `Content-Type` of a `.responseValidationFailed` error. - public var responseContentType: String? { - switch self { - case .responseValidationFailed(let reason): - return reason.responseContentType - default: - return nil - } - } - - /// The response code of a `.responseValidationFailed` error. - public var responseCode: Int? { - switch self { - case .responseValidationFailed(let reason): - return reason.responseCode - default: - return nil - } - } - - /// The `String.Encoding` associated with a failed `.stringResponse()` call. - public var failedStringEncoding: String.Encoding? { - switch self { - case .responseSerializationFailed(let reason): - return reason.failedStringEncoding - default: - return nil - } - } -} - -extension AFError.ParameterEncodingFailureReason { - var underlyingError: Error? { - switch self { - case .jsonEncodingFailed(let error), .propertyListEncodingFailed(let error): - return error - default: - return nil - } - } -} - -extension AFError.MultipartEncodingFailureReason { - var url: URL? { - switch self { - case .bodyPartURLInvalid(let url), .bodyPartFilenameInvalid(let url), .bodyPartFileNotReachable(let url), - .bodyPartFileIsDirectory(let url), .bodyPartFileSizeNotAvailable(let url), - .bodyPartInputStreamCreationFailed(let url), .outputStreamCreationFailed(let url), - .outputStreamFileAlreadyExists(let url), .outputStreamURLInvalid(let url), - .bodyPartFileNotReachableWithError(let url, _), .bodyPartFileSizeQueryFailedWithError(let url, _): - return url - default: - return nil - } - } - - var underlyingError: Error? { - switch self { - case .bodyPartFileNotReachableWithError(_, let error), .bodyPartFileSizeQueryFailedWithError(_, let error), - .outputStreamWriteFailed(let error), .inputStreamReadFailed(let error): - return error - default: - return nil - } - } -} - -extension AFError.ResponseValidationFailureReason { - var acceptableContentTypes: [String]? { - switch self { - case .missingContentType(let types), .unacceptableContentType(let types, _): - return types - default: - return nil - } - } - - var responseContentType: String? { - switch self { - case .unacceptableContentType(_, let responseType): - return responseType - default: - return nil - } - } - - var responseCode: Int? { - switch self { - case .unacceptableStatusCode(let code): - return code - default: - return nil - } - } -} - -extension AFError.ResponseSerializationFailureReason { - var failedStringEncoding: String.Encoding? { - switch self { - case .stringSerializationFailed(let encoding): - return encoding - default: - return nil - } - } - - var underlyingError: Error? { - switch self { - case .jsonSerializationFailed(let error), .propertyListSerializationFailed(let error): - return error - default: - return nil - } - } -} - -// MARK: - Error Descriptions - -extension AFError: LocalizedError { - public var errorDescription: String? { - switch self { - case .invalidURL(let url): - return "URL is not valid: \(url)" - case .parameterEncodingFailed(let reason): - return reason.localizedDescription - case .multipartEncodingFailed(let reason): - return reason.localizedDescription - case .responseValidationFailed(let reason): - return reason.localizedDescription - case .responseSerializationFailed(let reason): - return reason.localizedDescription - } - } -} - -extension AFError.ParameterEncodingFailureReason { - var localizedDescription: String { - switch self { - case .missingURL: - return "URL request to encode was missing a URL" - case .jsonEncodingFailed(let error): - return "JSON could not be encoded because of error:\n\(error.localizedDescription)" - case .propertyListEncodingFailed(let error): - return "PropertyList could not be encoded because of error:\n\(error.localizedDescription)" - } - } -} - -extension AFError.MultipartEncodingFailureReason { - var localizedDescription: String { - switch self { - case .bodyPartURLInvalid(let url): - return "The URL provided is not a file URL: \(url)" - case .bodyPartFilenameInvalid(let url): - return "The URL provided does not have a valid filename: \(url)" - case .bodyPartFileNotReachable(let url): - return "The URL provided is not reachable: \(url)" - case .bodyPartFileNotReachableWithError(let url, let error): - return ( - "The system returned an error while checking the provided URL for " + - "reachability.\nURL: \(url)\nError: \(error)" - ) - case .bodyPartFileIsDirectory(let url): - return "The URL provided is a directory: \(url)" - case .bodyPartFileSizeNotAvailable(let url): - return "Could not fetch the file size from the provided URL: \(url)" - case .bodyPartFileSizeQueryFailedWithError(let url, let error): - return ( - "The system returned an error while attempting to fetch the file size from the " + - "provided URL.\nURL: \(url)\nError: \(error)" - ) - case .bodyPartInputStreamCreationFailed(let url): - return "Failed to create an InputStream for the provided URL: \(url)" - case .outputStreamCreationFailed(let url): - return "Failed to create an OutputStream for URL: \(url)" - case .outputStreamFileAlreadyExists(let url): - return "A file already exists at the provided URL: \(url)" - case .outputStreamURLInvalid(let url): - return "The provided OutputStream URL is invalid: \(url)" - case .outputStreamWriteFailed(let error): - return "OutputStream write failed with error: \(error)" - case .inputStreamReadFailed(let error): - return "InputStream read failed with error: \(error)" - } - } -} - -extension AFError.ResponseSerializationFailureReason { - var localizedDescription: String { - switch self { - case .inputDataNil: - return "Response could not be serialized, input data was nil." - case .inputDataNilOrZeroLength: - return "Response could not be serialized, input data was nil or zero length." - case .inputFileNil: - return "Response could not be serialized, input file was nil." - case .inputFileReadFailed(let url): - return "Response could not be serialized, input file could not be read: \(url)." - case .stringSerializationFailed(let encoding): - return "String could not be serialized with encoding: \(encoding)." - case .jsonSerializationFailed(let error): - return "JSON could not be serialized because of error:\n\(error.localizedDescription)" - case .propertyListSerializationFailed(let error): - return "PropertyList could not be serialized because of error:\n\(error.localizedDescription)" - } - } -} - -extension AFError.ResponseValidationFailureReason { - var localizedDescription: String { - switch self { - case .dataFileNil: - return "Response could not be validated, data file was nil." - case .dataFileReadFailed(let url): - return "Response could not be validated, data file could not be read: \(url)." - case .missingContentType(let types): - return ( - "Response Content-Type was missing and acceptable content types " + - "(\(types.joined(separator: ","))) do not match \"*/*\"." - ) - case .unacceptableContentType(let acceptableTypes, let responseType): - return ( - "Response Content-Type \"\(responseType)\" does not match any acceptable types: " + - "\(acceptableTypes.joined(separator: ","))." - ) - case .unacceptableStatusCode(let code): - return "Response status code was unacceptable: \(code)." - } - } -} diff --git a/Example/web3swiftExample/Pods/Alamofire/Source/Alamofire.swift b/Example/web3swiftExample/Pods/Alamofire/Source/Alamofire.swift deleted file mode 100755 index 2fcc05ca0..000000000 --- a/Example/web3swiftExample/Pods/Alamofire/Source/Alamofire.swift +++ /dev/null @@ -1,465 +0,0 @@ -// -// Alamofire.swift -// -// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -import Foundation - -/// Types adopting the `URLConvertible` protocol can be used to construct URLs, which are then used to construct -/// URL requests. -public protocol URLConvertible { - /// Returns a URL that conforms to RFC 2396 or throws an `Error`. - /// - /// - throws: An `Error` if the type cannot be converted to a `URL`. - /// - /// - returns: A URL or throws an `Error`. - func asURL() throws -> URL -} - -extension String: URLConvertible { - /// Returns a URL if `self` represents a valid URL string that conforms to RFC 2396 or throws an `AFError`. - /// - /// - throws: An `AFError.invalidURL` if `self` is not a valid URL string. - /// - /// - returns: A URL or throws an `AFError`. - public func asURL() throws -> URL { - guard let url = URL(string: self) else { throw AFError.invalidURL(url: self) } - return url - } -} - -extension URL: URLConvertible { - /// Returns self. - public func asURL() throws -> URL { return self } -} - -extension URLComponents: URLConvertible { - /// Returns a URL if `url` is not nil, otherwise throws an `Error`. - /// - /// - throws: An `AFError.invalidURL` if `url` is `nil`. - /// - /// - returns: A URL or throws an `AFError`. - public func asURL() throws -> URL { - guard let url = url else { throw AFError.invalidURL(url: self) } - return url - } -} - -// MARK: - - -/// Types adopting the `URLRequestConvertible` protocol can be used to construct URL requests. -public protocol URLRequestConvertible { - /// Returns a URL request or throws if an `Error` was encountered. - /// - /// - throws: An `Error` if the underlying `URLRequest` is `nil`. - /// - /// - returns: A URL request. - func asURLRequest() throws -> URLRequest -} - -extension URLRequestConvertible { - /// The URL request. - public var urlRequest: URLRequest? { return try? asURLRequest() } -} - -extension URLRequest: URLRequestConvertible { - /// Returns a URL request or throws if an `Error` was encountered. - public func asURLRequest() throws -> URLRequest { return self } -} - -// MARK: - - -extension URLRequest { - /// Creates an instance with the specified `method`, `urlString` and `headers`. - /// - /// - parameter url: The URL. - /// - parameter method: The HTTP method. - /// - parameter headers: The HTTP headers. `nil` by default. - /// - /// - returns: The new `URLRequest` instance. - public init(url: URLConvertible, method: HTTPMethod, headers: HTTPHeaders? = nil) throws { - let url = try url.asURL() - - self.init(url: url) - - httpMethod = method.rawValue - - if let headers = headers { - for (headerField, headerValue) in headers { - setValue(headerValue, forHTTPHeaderField: headerField) - } - } - } - - func adapt(using adapter: RequestAdapter?) throws -> URLRequest { - guard let adapter = adapter else { return self } - return try adapter.adapt(self) - } -} - -// MARK: - Data Request - -/// Creates a `DataRequest` using the default `SessionManager` to retrieve the contents of the specified `url`, -/// `method`, `parameters`, `encoding` and `headers`. -/// -/// - parameter url: The URL. -/// - parameter method: The HTTP method. `.get` by default. -/// - parameter parameters: The parameters. `nil` by default. -/// - parameter encoding: The parameter encoding. `URLEncoding.default` by default. -/// - parameter headers: The HTTP headers. `nil` by default. -/// -/// - returns: The created `DataRequest`. -@discardableResult -public func request( - _ url: URLConvertible, - method: HTTPMethod = .get, - parameters: Parameters? = nil, - encoding: ParameterEncoding = URLEncoding.default, - headers: HTTPHeaders? = nil) - -> DataRequest -{ - return SessionManager.default.request( - url, - method: method, - parameters: parameters, - encoding: encoding, - headers: headers - ) -} - -/// Creates a `DataRequest` using the default `SessionManager` to retrieve the contents of a URL based on the -/// specified `urlRequest`. -/// -/// - parameter urlRequest: The URL request -/// -/// - returns: The created `DataRequest`. -@discardableResult -public func request(_ urlRequest: URLRequestConvertible) -> DataRequest { - return SessionManager.default.request(urlRequest) -} - -// MARK: - Download Request - -// MARK: URL Request - -/// Creates a `DownloadRequest` using the default `SessionManager` to retrieve the contents of the specified `url`, -/// `method`, `parameters`, `encoding`, `headers` and save them to the `destination`. -/// -/// If `destination` is not specified, the contents will remain in the temporary location determined by the -/// underlying URL session. -/// -/// - parameter url: The URL. -/// - parameter method: The HTTP method. `.get` by default. -/// - parameter parameters: The parameters. `nil` by default. -/// - parameter encoding: The parameter encoding. `URLEncoding.default` by default. -/// - parameter headers: The HTTP headers. `nil` by default. -/// - parameter destination: The closure used to determine the destination of the downloaded file. `nil` by default. -/// -/// - returns: The created `DownloadRequest`. -@discardableResult -public func download( - _ url: URLConvertible, - method: HTTPMethod = .get, - parameters: Parameters? = nil, - encoding: ParameterEncoding = URLEncoding.default, - headers: HTTPHeaders? = nil, - to destination: DownloadRequest.DownloadFileDestination? = nil) - -> DownloadRequest -{ - return SessionManager.default.download( - url, - method: method, - parameters: parameters, - encoding: encoding, - headers: headers, - to: destination - ) -} - -/// Creates a `DownloadRequest` using the default `SessionManager` to retrieve the contents of a URL based on the -/// specified `urlRequest` and save them to the `destination`. -/// -/// If `destination` is not specified, the contents will remain in the temporary location determined by the -/// underlying URL session. -/// -/// - parameter urlRequest: The URL request. -/// - parameter destination: The closure used to determine the destination of the downloaded file. `nil` by default. -/// -/// - returns: The created `DownloadRequest`. -@discardableResult -public func download( - _ urlRequest: URLRequestConvertible, - to destination: DownloadRequest.DownloadFileDestination? = nil) - -> DownloadRequest -{ - return SessionManager.default.download(urlRequest, to: destination) -} - -// MARK: Resume Data - -/// Creates a `DownloadRequest` using the default `SessionManager` from the `resumeData` produced from a -/// previous request cancellation to retrieve the contents of the original request and save them to the `destination`. -/// -/// If `destination` is not specified, the contents will remain in the temporary location determined by the -/// underlying URL session. -/// -/// On the latest release of all the Apple platforms (iOS 10, macOS 10.12, tvOS 10, watchOS 3), `resumeData` is broken -/// on background URL session configurations. There's an underlying bug in the `resumeData` generation logic where the -/// data is written incorrectly and will always fail to resume the download. For more information about the bug and -/// possible workarounds, please refer to the following Stack Overflow post: -/// -/// - http://stackoverflow.com/a/39347461/1342462 -/// -/// - parameter resumeData: The resume data. This is an opaque data blob produced by `URLSessionDownloadTask` -/// when a task is cancelled. See `URLSession -downloadTask(withResumeData:)` for additional -/// information. -/// - parameter destination: The closure used to determine the destination of the downloaded file. `nil` by default. -/// -/// - returns: The created `DownloadRequest`. -@discardableResult -public func download( - resumingWith resumeData: Data, - to destination: DownloadRequest.DownloadFileDestination? = nil) - -> DownloadRequest -{ - return SessionManager.default.download(resumingWith: resumeData, to: destination) -} - -// MARK: - Upload Request - -// MARK: File - -/// Creates an `UploadRequest` using the default `SessionManager` from the specified `url`, `method` and `headers` -/// for uploading the `file`. -/// -/// - parameter file: The file to upload. -/// - parameter url: The URL. -/// - parameter method: The HTTP method. `.post` by default. -/// - parameter headers: The HTTP headers. `nil` by default. -/// -/// - returns: The created `UploadRequest`. -@discardableResult -public func upload( - _ fileURL: URL, - to url: URLConvertible, - method: HTTPMethod = .post, - headers: HTTPHeaders? = nil) - -> UploadRequest -{ - return SessionManager.default.upload(fileURL, to: url, method: method, headers: headers) -} - -/// Creates a `UploadRequest` using the default `SessionManager` from the specified `urlRequest` for -/// uploading the `file`. -/// -/// - parameter file: The file to upload. -/// - parameter urlRequest: The URL request. -/// -/// - returns: The created `UploadRequest`. -@discardableResult -public func upload(_ fileURL: URL, with urlRequest: URLRequestConvertible) -> UploadRequest { - return SessionManager.default.upload(fileURL, with: urlRequest) -} - -// MARK: Data - -/// Creates an `UploadRequest` using the default `SessionManager` from the specified `url`, `method` and `headers` -/// for uploading the `data`. -/// -/// - parameter data: The data to upload. -/// - parameter url: The URL. -/// - parameter method: The HTTP method. `.post` by default. -/// - parameter headers: The HTTP headers. `nil` by default. -/// -/// - returns: The created `UploadRequest`. -@discardableResult -public func upload( - _ data: Data, - to url: URLConvertible, - method: HTTPMethod = .post, - headers: HTTPHeaders? = nil) - -> UploadRequest -{ - return SessionManager.default.upload(data, to: url, method: method, headers: headers) -} - -/// Creates an `UploadRequest` using the default `SessionManager` from the specified `urlRequest` for -/// uploading the `data`. -/// -/// - parameter data: The data to upload. -/// - parameter urlRequest: The URL request. -/// -/// - returns: The created `UploadRequest`. -@discardableResult -public func upload(_ data: Data, with urlRequest: URLRequestConvertible) -> UploadRequest { - return SessionManager.default.upload(data, with: urlRequest) -} - -// MARK: InputStream - -/// Creates an `UploadRequest` using the default `SessionManager` from the specified `url`, `method` and `headers` -/// for uploading the `stream`. -/// -/// - parameter stream: The stream to upload. -/// - parameter url: The URL. -/// - parameter method: The HTTP method. `.post` by default. -/// - parameter headers: The HTTP headers. `nil` by default. -/// -/// - returns: The created `UploadRequest`. -@discardableResult -public func upload( - _ stream: InputStream, - to url: URLConvertible, - method: HTTPMethod = .post, - headers: HTTPHeaders? = nil) - -> UploadRequest -{ - return SessionManager.default.upload(stream, to: url, method: method, headers: headers) -} - -/// Creates an `UploadRequest` using the default `SessionManager` from the specified `urlRequest` for -/// uploading the `stream`. -/// -/// - parameter urlRequest: The URL request. -/// - parameter stream: The stream to upload. -/// -/// - returns: The created `UploadRequest`. -@discardableResult -public func upload(_ stream: InputStream, with urlRequest: URLRequestConvertible) -> UploadRequest { - return SessionManager.default.upload(stream, with: urlRequest) -} - -// MARK: MultipartFormData - -/// Encodes `multipartFormData` using `encodingMemoryThreshold` with the default `SessionManager` and calls -/// `encodingCompletion` with new `UploadRequest` using the `url`, `method` and `headers`. -/// -/// It is important to understand the memory implications of uploading `MultipartFormData`. If the cummulative -/// payload is small, encoding the data in-memory and directly uploading to a server is the by far the most -/// efficient approach. However, if the payload is too large, encoding the data in-memory could cause your app to -/// be terminated. Larger payloads must first be written to disk using input and output streams to keep the memory -/// footprint low, then the data can be uploaded as a stream from the resulting file. Streaming from disk MUST be -/// used for larger payloads such as video content. -/// -/// The `encodingMemoryThreshold` parameter allows Alamofire to automatically determine whether to encode in-memory -/// or stream from disk. If the content length of the `MultipartFormData` is below the `encodingMemoryThreshold`, -/// encoding takes place in-memory. If the content length exceeds the threshold, the data is streamed to disk -/// during the encoding process. Then the result is uploaded as data or as a stream depending on which encoding -/// technique was used. -/// -/// - parameter multipartFormData: The closure used to append body parts to the `MultipartFormData`. -/// - parameter encodingMemoryThreshold: The encoding memory threshold in bytes. -/// `multipartFormDataEncodingMemoryThreshold` by default. -/// - parameter url: The URL. -/// - parameter method: The HTTP method. `.post` by default. -/// - parameter headers: The HTTP headers. `nil` by default. -/// - parameter encodingCompletion: The closure called when the `MultipartFormData` encoding is complete. -public func upload( - multipartFormData: @escaping (MultipartFormData) -> Void, - usingThreshold encodingMemoryThreshold: UInt64 = SessionManager.multipartFormDataEncodingMemoryThreshold, - to url: URLConvertible, - method: HTTPMethod = .post, - headers: HTTPHeaders? = nil, - encodingCompletion: ((SessionManager.MultipartFormDataEncodingResult) -> Void)?) -{ - return SessionManager.default.upload( - multipartFormData: multipartFormData, - usingThreshold: encodingMemoryThreshold, - to: url, - method: method, - headers: headers, - encodingCompletion: encodingCompletion - ) -} - -/// Encodes `multipartFormData` using `encodingMemoryThreshold` and the default `SessionManager` and -/// calls `encodingCompletion` with new `UploadRequest` using the `urlRequest`. -/// -/// It is important to understand the memory implications of uploading `MultipartFormData`. If the cummulative -/// payload is small, encoding the data in-memory and directly uploading to a server is the by far the most -/// efficient approach. However, if the payload is too large, encoding the data in-memory could cause your app to -/// be terminated. Larger payloads must first be written to disk using input and output streams to keep the memory -/// footprint low, then the data can be uploaded as a stream from the resulting file. Streaming from disk MUST be -/// used for larger payloads such as video content. -/// -/// The `encodingMemoryThreshold` parameter allows Alamofire to automatically determine whether to encode in-memory -/// or stream from disk. If the content length of the `MultipartFormData` is below the `encodingMemoryThreshold`, -/// encoding takes place in-memory. If the content length exceeds the threshold, the data is streamed to disk -/// during the encoding process. Then the result is uploaded as data or as a stream depending on which encoding -/// technique was used. -/// -/// - parameter multipartFormData: The closure used to append body parts to the `MultipartFormData`. -/// - parameter encodingMemoryThreshold: The encoding memory threshold in bytes. -/// `multipartFormDataEncodingMemoryThreshold` by default. -/// - parameter urlRequest: The URL request. -/// - parameter encodingCompletion: The closure called when the `MultipartFormData` encoding is complete. -public func upload( - multipartFormData: @escaping (MultipartFormData) -> Void, - usingThreshold encodingMemoryThreshold: UInt64 = SessionManager.multipartFormDataEncodingMemoryThreshold, - with urlRequest: URLRequestConvertible, - encodingCompletion: ((SessionManager.MultipartFormDataEncodingResult) -> Void)?) -{ - return SessionManager.default.upload( - multipartFormData: multipartFormData, - usingThreshold: encodingMemoryThreshold, - with: urlRequest, - encodingCompletion: encodingCompletion - ) -} - -#if !os(watchOS) - -// MARK: - Stream Request - -// MARK: Hostname and Port - -/// Creates a `StreamRequest` using the default `SessionManager` for bidirectional streaming with the `hostname` -/// and `port`. -/// -/// If `startRequestsImmediately` is `true`, the request will have `resume()` called before being returned. -/// -/// - parameter hostName: The hostname of the server to connect to. -/// - parameter port: The port of the server to connect to. -/// -/// - returns: The created `StreamRequest`. -@discardableResult -@available(iOS 9.0, macOS 10.11, tvOS 9.0, *) -public func stream(withHostName hostName: String, port: Int) -> StreamRequest { - return SessionManager.default.stream(withHostName: hostName, port: port) -} - -// MARK: NetService - -/// Creates a `StreamRequest` using the default `SessionManager` for bidirectional streaming with the `netService`. -/// -/// If `startRequestsImmediately` is `true`, the request will have `resume()` called before being returned. -/// -/// - parameter netService: The net service used to identify the endpoint. -/// -/// - returns: The created `StreamRequest`. -@discardableResult -@available(iOS 9.0, macOS 10.11, tvOS 9.0, *) -public func stream(with netService: NetService) -> StreamRequest { - return SessionManager.default.stream(with: netService) -} - -#endif diff --git a/Example/web3swiftExample/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift b/Example/web3swiftExample/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift deleted file mode 100755 index dea3ebc1b..000000000 --- a/Example/web3swiftExample/Pods/Alamofire/Source/DispatchQueue+Alamofire.swift +++ /dev/null @@ -1,37 +0,0 @@ -// -// DispatchQueue+Alamofire.swift -// -// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -import Dispatch -import Foundation - -extension DispatchQueue { - static var userInteractive: DispatchQueue { return DispatchQueue.global(qos: .userInteractive) } - static var userInitiated: DispatchQueue { return DispatchQueue.global(qos: .userInitiated) } - static var utility: DispatchQueue { return DispatchQueue.global(qos: .utility) } - static var background: DispatchQueue { return DispatchQueue.global(qos: .background) } - - func after(_ delay: TimeInterval, execute closure: @escaping () -> Void) { - asyncAfter(deadline: .now() + delay, execute: closure) - } -} diff --git a/Example/web3swiftExample/Pods/Alamofire/Source/MultipartFormData.swift b/Example/web3swiftExample/Pods/Alamofire/Source/MultipartFormData.swift deleted file mode 100755 index 057e68b97..000000000 --- a/Example/web3swiftExample/Pods/Alamofire/Source/MultipartFormData.swift +++ /dev/null @@ -1,580 +0,0 @@ -// -// MultipartFormData.swift -// -// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -import Foundation - -#if os(iOS) || os(watchOS) || os(tvOS) -import MobileCoreServices -#elseif os(macOS) -import CoreServices -#endif - -/// Constructs `multipart/form-data` for uploads within an HTTP or HTTPS body. There are currently two ways to encode -/// multipart form data. The first way is to encode the data directly in memory. This is very efficient, but can lead -/// to memory issues if the dataset is too large. The second way is designed for larger datasets and will write all the -/// data to a single file on disk with all the proper boundary segmentation. The second approach MUST be used for -/// larger datasets such as video content, otherwise your app may run out of memory when trying to encode the dataset. -/// -/// For more information on `multipart/form-data` in general, please refer to the RFC-2388 and RFC-2045 specs as well -/// and the w3 form documentation. -/// -/// - https://www.ietf.org/rfc/rfc2388.txt -/// - https://www.ietf.org/rfc/rfc2045.txt -/// - https://www.w3.org/TR/html401/interact/forms.html#h-17.13 -open class MultipartFormData { - - // MARK: - Helper Types - - struct EncodingCharacters { - static let crlf = "\r\n" - } - - struct BoundaryGenerator { - enum BoundaryType { - case initial, encapsulated, final - } - - static func randomBoundary() -> String { - return String(format: "alamofire.boundary.%08x%08x", arc4random(), arc4random()) - } - - static func boundaryData(forBoundaryType boundaryType: BoundaryType, boundary: String) -> Data { - let boundaryText: String - - switch boundaryType { - case .initial: - boundaryText = "--\(boundary)\(EncodingCharacters.crlf)" - case .encapsulated: - boundaryText = "\(EncodingCharacters.crlf)--\(boundary)\(EncodingCharacters.crlf)" - case .final: - boundaryText = "\(EncodingCharacters.crlf)--\(boundary)--\(EncodingCharacters.crlf)" - } - - return boundaryText.data(using: String.Encoding.utf8, allowLossyConversion: false)! - } - } - - class BodyPart { - let headers: HTTPHeaders - let bodyStream: InputStream - let bodyContentLength: UInt64 - var hasInitialBoundary = false - var hasFinalBoundary = false - - init(headers: HTTPHeaders, bodyStream: InputStream, bodyContentLength: UInt64) { - self.headers = headers - self.bodyStream = bodyStream - self.bodyContentLength = bodyContentLength - } - } - - // MARK: - Properties - - /// The `Content-Type` header value containing the boundary used to generate the `multipart/form-data`. - open lazy var contentType: String = "multipart/form-data; boundary=\(self.boundary)" - - /// The content length of all body parts used to generate the `multipart/form-data` not including the boundaries. - public var contentLength: UInt64 { return bodyParts.reduce(0) { $0 + $1.bodyContentLength } } - - /// The boundary used to separate the body parts in the encoded form data. - public let boundary: String - - private var bodyParts: [BodyPart] - private var bodyPartError: AFError? - private let streamBufferSize: Int - - // MARK: - Lifecycle - - /// Creates a multipart form data object. - /// - /// - returns: The multipart form data object. - public init() { - self.boundary = BoundaryGenerator.randomBoundary() - self.bodyParts = [] - - /// - /// The optimal read/write buffer size in bytes for input and output streams is 1024 (1KB). For more - /// information, please refer to the following article: - /// - https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Streams/Articles/ReadingInputStreams.html - /// - - self.streamBufferSize = 1024 - } - - // MARK: - Body Parts - - /// Creates a body part from the data and appends it to the multipart form data object. - /// - /// The body part data will be encoded using the following format: - /// - /// - `Content-Disposition: form-data; name=#{name}` (HTTP Header) - /// - Encoded data - /// - Multipart form boundary - /// - /// - parameter data: The data to encode into the multipart form data. - /// - parameter name: The name to associate with the data in the `Content-Disposition` HTTP header. - public func append(_ data: Data, withName name: String) { - let headers = contentHeaders(withName: name) - let stream = InputStream(data: data) - let length = UInt64(data.count) - - append(stream, withLength: length, headers: headers) - } - - /// Creates a body part from the data and appends it to the multipart form data object. - /// - /// The body part data will be encoded using the following format: - /// - /// - `Content-Disposition: form-data; name=#{name}` (HTTP Header) - /// - `Content-Type: #{generated mimeType}` (HTTP Header) - /// - Encoded data - /// - Multipart form boundary - /// - /// - parameter data: The data to encode into the multipart form data. - /// - parameter name: The name to associate with the data in the `Content-Disposition` HTTP header. - /// - parameter mimeType: The MIME type to associate with the data content type in the `Content-Type` HTTP header. - public func append(_ data: Data, withName name: String, mimeType: String) { - let headers = contentHeaders(withName: name, mimeType: mimeType) - let stream = InputStream(data: data) - let length = UInt64(data.count) - - append(stream, withLength: length, headers: headers) - } - - /// Creates a body part from the data and appends it to the multipart form data object. - /// - /// The body part data will be encoded using the following format: - /// - /// - `Content-Disposition: form-data; name=#{name}; filename=#{filename}` (HTTP Header) - /// - `Content-Type: #{mimeType}` (HTTP Header) - /// - Encoded file data - /// - Multipart form boundary - /// - /// - parameter data: The data to encode into the multipart form data. - /// - parameter name: The name to associate with the data in the `Content-Disposition` HTTP header. - /// - parameter fileName: The filename to associate with the data in the `Content-Disposition` HTTP header. - /// - parameter mimeType: The MIME type to associate with the data in the `Content-Type` HTTP header. - public func append(_ data: Data, withName name: String, fileName: String, mimeType: String) { - let headers = contentHeaders(withName: name, fileName: fileName, mimeType: mimeType) - let stream = InputStream(data: data) - let length = UInt64(data.count) - - append(stream, withLength: length, headers: headers) - } - - /// Creates a body part from the file and appends it to the multipart form data object. - /// - /// The body part data will be encoded using the following format: - /// - /// - `Content-Disposition: form-data; name=#{name}; filename=#{generated filename}` (HTTP Header) - /// - `Content-Type: #{generated mimeType}` (HTTP Header) - /// - Encoded file data - /// - Multipart form boundary - /// - /// The filename in the `Content-Disposition` HTTP header is generated from the last path component of the - /// `fileURL`. The `Content-Type` HTTP header MIME type is generated by mapping the `fileURL` extension to the - /// system associated MIME type. - /// - /// - parameter fileURL: The URL of the file whose content will be encoded into the multipart form data. - /// - parameter name: The name to associate with the file content in the `Content-Disposition` HTTP header. - public func append(_ fileURL: URL, withName name: String) { - let fileName = fileURL.lastPathComponent - let pathExtension = fileURL.pathExtension - - if !fileName.isEmpty && !pathExtension.isEmpty { - let mime = mimeType(forPathExtension: pathExtension) - append(fileURL, withName: name, fileName: fileName, mimeType: mime) - } else { - setBodyPartError(withReason: .bodyPartFilenameInvalid(in: fileURL)) - } - } - - /// Creates a body part from the file and appends it to the multipart form data object. - /// - /// The body part data will be encoded using the following format: - /// - /// - Content-Disposition: form-data; name=#{name}; filename=#{filename} (HTTP Header) - /// - Content-Type: #{mimeType} (HTTP Header) - /// - Encoded file data - /// - Multipart form boundary - /// - /// - parameter fileURL: The URL of the file whose content will be encoded into the multipart form data. - /// - parameter name: The name to associate with the file content in the `Content-Disposition` HTTP header. - /// - parameter fileName: The filename to associate with the file content in the `Content-Disposition` HTTP header. - /// - parameter mimeType: The MIME type to associate with the file content in the `Content-Type` HTTP header. - public func append(_ fileURL: URL, withName name: String, fileName: String, mimeType: String) { - let headers = contentHeaders(withName: name, fileName: fileName, mimeType: mimeType) - - //============================================================ - // Check 1 - is file URL? - //============================================================ - - guard fileURL.isFileURL else { - setBodyPartError(withReason: .bodyPartURLInvalid(url: fileURL)) - return - } - - //============================================================ - // Check 2 - is file URL reachable? - //============================================================ - - do { - let isReachable = try fileURL.checkPromisedItemIsReachable() - guard isReachable else { - setBodyPartError(withReason: .bodyPartFileNotReachable(at: fileURL)) - return - } - } catch { - setBodyPartError(withReason: .bodyPartFileNotReachableWithError(atURL: fileURL, error: error)) - return - } - - //============================================================ - // Check 3 - is file URL a directory? - //============================================================ - - var isDirectory: ObjCBool = false - let path = fileURL.path - - guard FileManager.default.fileExists(atPath: path, isDirectory: &isDirectory) && !isDirectory.boolValue else { - setBodyPartError(withReason: .bodyPartFileIsDirectory(at: fileURL)) - return - } - - //============================================================ - // Check 4 - can the file size be extracted? - //============================================================ - - let bodyContentLength: UInt64 - - do { - guard let fileSize = try FileManager.default.attributesOfItem(atPath: path)[.size] as? NSNumber else { - setBodyPartError(withReason: .bodyPartFileSizeNotAvailable(at: fileURL)) - return - } - - bodyContentLength = fileSize.uint64Value - } - catch { - setBodyPartError(withReason: .bodyPartFileSizeQueryFailedWithError(forURL: fileURL, error: error)) - return - } - - //============================================================ - // Check 5 - can a stream be created from file URL? - //============================================================ - - guard let stream = InputStream(url: fileURL) else { - setBodyPartError(withReason: .bodyPartInputStreamCreationFailed(for: fileURL)) - return - } - - append(stream, withLength: bodyContentLength, headers: headers) - } - - /// Creates a body part from the stream and appends it to the multipart form data object. - /// - /// The body part data will be encoded using the following format: - /// - /// - `Content-Disposition: form-data; name=#{name}; filename=#{filename}` (HTTP Header) - /// - `Content-Type: #{mimeType}` (HTTP Header) - /// - Encoded stream data - /// - Multipart form boundary - /// - /// - parameter stream: The input stream to encode in the multipart form data. - /// - parameter length: The content length of the stream. - /// - parameter name: The name to associate with the stream content in the `Content-Disposition` HTTP header. - /// - parameter fileName: The filename to associate with the stream content in the `Content-Disposition` HTTP header. - /// - parameter mimeType: The MIME type to associate with the stream content in the `Content-Type` HTTP header. - public func append( - _ stream: InputStream, - withLength length: UInt64, - name: String, - fileName: String, - mimeType: String) - { - let headers = contentHeaders(withName: name, fileName: fileName, mimeType: mimeType) - append(stream, withLength: length, headers: headers) - } - - /// Creates a body part with the headers, stream and length and appends it to the multipart form data object. - /// - /// The body part data will be encoded using the following format: - /// - /// - HTTP headers - /// - Encoded stream data - /// - Multipart form boundary - /// - /// - parameter stream: The input stream to encode in the multipart form data. - /// - parameter length: The content length of the stream. - /// - parameter headers: The HTTP headers for the body part. - public func append(_ stream: InputStream, withLength length: UInt64, headers: HTTPHeaders) { - let bodyPart = BodyPart(headers: headers, bodyStream: stream, bodyContentLength: length) - bodyParts.append(bodyPart) - } - - // MARK: - Data Encoding - - /// Encodes all the appended body parts into a single `Data` value. - /// - /// It is important to note that this method will load all the appended body parts into memory all at the same - /// time. This method should only be used when the encoded data will have a small memory footprint. For large data - /// cases, please use the `writeEncodedDataToDisk(fileURL:completionHandler:)` method. - /// - /// - throws: An `AFError` if encoding encounters an error. - /// - /// - returns: The encoded `Data` if encoding is successful. - public func encode() throws -> Data { - if let bodyPartError = bodyPartError { - throw bodyPartError - } - - var encoded = Data() - - bodyParts.first?.hasInitialBoundary = true - bodyParts.last?.hasFinalBoundary = true - - for bodyPart in bodyParts { - let encodedData = try encode(bodyPart) - encoded.append(encodedData) - } - - return encoded - } - - /// Writes the appended body parts into the given file URL. - /// - /// This process is facilitated by reading and writing with input and output streams, respectively. Thus, - /// this approach is very memory efficient and should be used for large body part data. - /// - /// - parameter fileURL: The file URL to write the multipart form data into. - /// - /// - throws: An `AFError` if encoding encounters an error. - public func writeEncodedData(to fileURL: URL) throws { - if let bodyPartError = bodyPartError { - throw bodyPartError - } - - if FileManager.default.fileExists(atPath: fileURL.path) { - throw AFError.multipartEncodingFailed(reason: .outputStreamFileAlreadyExists(at: fileURL)) - } else if !fileURL.isFileURL { - throw AFError.multipartEncodingFailed(reason: .outputStreamURLInvalid(url: fileURL)) - } - - guard let outputStream = OutputStream(url: fileURL, append: false) else { - throw AFError.multipartEncodingFailed(reason: .outputStreamCreationFailed(for: fileURL)) - } - - outputStream.open() - defer { outputStream.close() } - - self.bodyParts.first?.hasInitialBoundary = true - self.bodyParts.last?.hasFinalBoundary = true - - for bodyPart in self.bodyParts { - try write(bodyPart, to: outputStream) - } - } - - // MARK: - Private - Body Part Encoding - - private func encode(_ bodyPart: BodyPart) throws -> Data { - var encoded = Data() - - let initialData = bodyPart.hasInitialBoundary ? initialBoundaryData() : encapsulatedBoundaryData() - encoded.append(initialData) - - let headerData = encodeHeaders(for: bodyPart) - encoded.append(headerData) - - let bodyStreamData = try encodeBodyStream(for: bodyPart) - encoded.append(bodyStreamData) - - if bodyPart.hasFinalBoundary { - encoded.append(finalBoundaryData()) - } - - return encoded - } - - private func encodeHeaders(for bodyPart: BodyPart) -> Data { - var headerText = "" - - for (key, value) in bodyPart.headers { - headerText += "\(key): \(value)\(EncodingCharacters.crlf)" - } - headerText += EncodingCharacters.crlf - - return headerText.data(using: String.Encoding.utf8, allowLossyConversion: false)! - } - - private func encodeBodyStream(for bodyPart: BodyPart) throws -> Data { - let inputStream = bodyPart.bodyStream - inputStream.open() - defer { inputStream.close() } - - var encoded = Data() - - while inputStream.hasBytesAvailable { - var buffer = [UInt8](repeating: 0, count: streamBufferSize) - let bytesRead = inputStream.read(&buffer, maxLength: streamBufferSize) - - if let error = inputStream.streamError { - throw AFError.multipartEncodingFailed(reason: .inputStreamReadFailed(error: error)) - } - - if bytesRead > 0 { - encoded.append(buffer, count: bytesRead) - } else { - break - } - } - - return encoded - } - - // MARK: - Private - Writing Body Part to Output Stream - - private func write(_ bodyPart: BodyPart, to outputStream: OutputStream) throws { - try writeInitialBoundaryData(for: bodyPart, to: outputStream) - try writeHeaderData(for: bodyPart, to: outputStream) - try writeBodyStream(for: bodyPart, to: outputStream) - try writeFinalBoundaryData(for: bodyPart, to: outputStream) - } - - private func writeInitialBoundaryData(for bodyPart: BodyPart, to outputStream: OutputStream) throws { - let initialData = bodyPart.hasInitialBoundary ? initialBoundaryData() : encapsulatedBoundaryData() - return try write(initialData, to: outputStream) - } - - private func writeHeaderData(for bodyPart: BodyPart, to outputStream: OutputStream) throws { - let headerData = encodeHeaders(for: bodyPart) - return try write(headerData, to: outputStream) - } - - private func writeBodyStream(for bodyPart: BodyPart, to outputStream: OutputStream) throws { - let inputStream = bodyPart.bodyStream - - inputStream.open() - defer { inputStream.close() } - - while inputStream.hasBytesAvailable { - var buffer = [UInt8](repeating: 0, count: streamBufferSize) - let bytesRead = inputStream.read(&buffer, maxLength: streamBufferSize) - - if let streamError = inputStream.streamError { - throw AFError.multipartEncodingFailed(reason: .inputStreamReadFailed(error: streamError)) - } - - if bytesRead > 0 { - if buffer.count != bytesRead { - buffer = Array(buffer[0.. 0, outputStream.hasSpaceAvailable { - let bytesWritten = outputStream.write(buffer, maxLength: bytesToWrite) - - if let error = outputStream.streamError { - throw AFError.multipartEncodingFailed(reason: .outputStreamWriteFailed(error: error)) - } - - bytesToWrite -= bytesWritten - - if bytesToWrite > 0 { - buffer = Array(buffer[bytesWritten.. String { - if - let id = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, pathExtension as CFString, nil)?.takeRetainedValue(), - let contentType = UTTypeCopyPreferredTagWithClass(id, kUTTagClassMIMEType)?.takeRetainedValue() - { - return contentType as String - } - - return "application/octet-stream" - } - - // MARK: - Private - Content Headers - - private func contentHeaders(withName name: String, fileName: String? = nil, mimeType: String? = nil) -> [String: String] { - var disposition = "form-data; name=\"\(name)\"" - if let fileName = fileName { disposition += "; filename=\"\(fileName)\"" } - - var headers = ["Content-Disposition": disposition] - if let mimeType = mimeType { headers["Content-Type"] = mimeType } - - return headers - } - - // MARK: - Private - Boundary Encoding - - private func initialBoundaryData() -> Data { - return BoundaryGenerator.boundaryData(forBoundaryType: .initial, boundary: boundary) - } - - private func encapsulatedBoundaryData() -> Data { - return BoundaryGenerator.boundaryData(forBoundaryType: .encapsulated, boundary: boundary) - } - - private func finalBoundaryData() -> Data { - return BoundaryGenerator.boundaryData(forBoundaryType: .final, boundary: boundary) - } - - // MARK: - Private - Errors - - private func setBodyPartError(withReason reason: AFError.MultipartEncodingFailureReason) { - guard bodyPartError == nil else { return } - bodyPartError = AFError.multipartEncodingFailed(reason: reason) - } -} diff --git a/Example/web3swiftExample/Pods/Alamofire/Source/NetworkReachabilityManager.swift b/Example/web3swiftExample/Pods/Alamofire/Source/NetworkReachabilityManager.swift deleted file mode 100755 index 3ff2e7fc2..000000000 --- a/Example/web3swiftExample/Pods/Alamofire/Source/NetworkReachabilityManager.swift +++ /dev/null @@ -1,233 +0,0 @@ -// -// NetworkReachabilityManager.swift -// -// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#if !os(watchOS) - -import Foundation -import SystemConfiguration - -/// The `NetworkReachabilityManager` class listens for reachability changes of hosts and addresses for both WWAN and -/// WiFi network interfaces. -/// -/// Reachability can be used to determine background information about why a network operation failed, or to retry -/// network requests when a connection is established. It should not be used to prevent a user from initiating a network -/// request, as it's possible that an initial request may be required to establish reachability. -open class NetworkReachabilityManager { - /// Defines the various states of network reachability. - /// - /// - unknown: It is unknown whether the network is reachable. - /// - notReachable: The network is not reachable. - /// - reachable: The network is reachable. - public enum NetworkReachabilityStatus { - case unknown - case notReachable - case reachable(ConnectionType) - } - - /// Defines the various connection types detected by reachability flags. - /// - /// - ethernetOrWiFi: The connection type is either over Ethernet or WiFi. - /// - wwan: The connection type is a WWAN connection. - public enum ConnectionType { - case ethernetOrWiFi - case wwan - } - - /// A closure executed when the network reachability status changes. The closure takes a single argument: the - /// network reachability status. - public typealias Listener = (NetworkReachabilityStatus) -> Void - - // MARK: - Properties - - /// Whether the network is currently reachable. - open var isReachable: Bool { return isReachableOnWWAN || isReachableOnEthernetOrWiFi } - - /// Whether the network is currently reachable over the WWAN interface. - open var isReachableOnWWAN: Bool { return networkReachabilityStatus == .reachable(.wwan) } - - /// Whether the network is currently reachable over Ethernet or WiFi interface. - open var isReachableOnEthernetOrWiFi: Bool { return networkReachabilityStatus == .reachable(.ethernetOrWiFi) } - - /// The current network reachability status. - open var networkReachabilityStatus: NetworkReachabilityStatus { - guard let flags = self.flags else { return .unknown } - return networkReachabilityStatusForFlags(flags) - } - - /// The dispatch queue to execute the `listener` closure on. - open var listenerQueue: DispatchQueue = DispatchQueue.main - - /// A closure executed when the network reachability status changes. - open var listener: Listener? - - open var flags: SCNetworkReachabilityFlags? { - var flags = SCNetworkReachabilityFlags() - - if SCNetworkReachabilityGetFlags(reachability, &flags) { - return flags - } - - return nil - } - - private let reachability: SCNetworkReachability - open var previousFlags: SCNetworkReachabilityFlags - - // MARK: - Initialization - - /// Creates a `NetworkReachabilityManager` instance with the specified host. - /// - /// - parameter host: The host used to evaluate network reachability. - /// - /// - returns: The new `NetworkReachabilityManager` instance. - public convenience init?(host: String) { - guard let reachability = SCNetworkReachabilityCreateWithName(nil, host) else { return nil } - self.init(reachability: reachability) - } - - /// Creates a `NetworkReachabilityManager` instance that monitors the address 0.0.0.0. - /// - /// Reachability treats the 0.0.0.0 address as a special token that causes it to monitor the general routing - /// status of the device, both IPv4 and IPv6. - /// - /// - returns: The new `NetworkReachabilityManager` instance. - public convenience init?() { - var address = sockaddr_in() - address.sin_len = UInt8(MemoryLayout.size) - address.sin_family = sa_family_t(AF_INET) - - guard let reachability = withUnsafePointer(to: &address, { pointer in - return pointer.withMemoryRebound(to: sockaddr.self, capacity: MemoryLayout.size) { - return SCNetworkReachabilityCreateWithAddress(nil, $0) - } - }) else { return nil } - - self.init(reachability: reachability) - } - - private init(reachability: SCNetworkReachability) { - self.reachability = reachability - self.previousFlags = SCNetworkReachabilityFlags() - } - - deinit { - stopListening() - } - - // MARK: - Listening - - /// Starts listening for changes in network reachability status. - /// - /// - returns: `true` if listening was started successfully, `false` otherwise. - @discardableResult - open func startListening() -> Bool { - var context = SCNetworkReachabilityContext(version: 0, info: nil, retain: nil, release: nil, copyDescription: nil) - context.info = Unmanaged.passUnretained(self).toOpaque() - - let callbackEnabled = SCNetworkReachabilitySetCallback( - reachability, - { (_, flags, info) in - let reachability = Unmanaged.fromOpaque(info!).takeUnretainedValue() - reachability.notifyListener(flags) - }, - &context - ) - - let queueEnabled = SCNetworkReachabilitySetDispatchQueue(reachability, listenerQueue) - - listenerQueue.async { - self.previousFlags = SCNetworkReachabilityFlags() - self.notifyListener(self.flags ?? SCNetworkReachabilityFlags()) - } - - return callbackEnabled && queueEnabled - } - - /// Stops listening for changes in network reachability status. - open func stopListening() { - SCNetworkReachabilitySetCallback(reachability, nil, nil) - SCNetworkReachabilitySetDispatchQueue(reachability, nil) - } - - // MARK: - Internal - Listener Notification - - func notifyListener(_ flags: SCNetworkReachabilityFlags) { - guard previousFlags != flags else { return } - previousFlags = flags - - listener?(networkReachabilityStatusForFlags(flags)) - } - - // MARK: - Internal - Network Reachability Status - - func networkReachabilityStatusForFlags(_ flags: SCNetworkReachabilityFlags) -> NetworkReachabilityStatus { - guard isNetworkReachable(with: flags) else { return .notReachable } - - var networkStatus: NetworkReachabilityStatus = .reachable(.ethernetOrWiFi) - - #if os(iOS) - if flags.contains(.isWWAN) { networkStatus = .reachable(.wwan) } - #endif - - return networkStatus - } - - func isNetworkReachable(with flags: SCNetworkReachabilityFlags) -> Bool { - let isReachable = flags.contains(.reachable) - let needsConnection = flags.contains(.connectionRequired) - let canConnectAutomatically = flags.contains(.connectionOnDemand) || flags.contains(.connectionOnTraffic) - let canConnectWithoutUserInteraction = canConnectAutomatically && !flags.contains(.interventionRequired) - - return isReachable && (!needsConnection || canConnectWithoutUserInteraction) - } -} - -// MARK: - - -extension NetworkReachabilityManager.NetworkReachabilityStatus: Equatable {} - -/// Returns whether the two network reachability status values are equal. -/// -/// - parameter lhs: The left-hand side value to compare. -/// - parameter rhs: The right-hand side value to compare. -/// -/// - returns: `true` if the two values are equal, `false` otherwise. -public func ==( - lhs: NetworkReachabilityManager.NetworkReachabilityStatus, - rhs: NetworkReachabilityManager.NetworkReachabilityStatus) - -> Bool -{ - switch (lhs, rhs) { - case (.unknown, .unknown): - return true - case (.notReachable, .notReachable): - return true - case let (.reachable(lhsConnectionType), .reachable(rhsConnectionType)): - return lhsConnectionType == rhsConnectionType - default: - return false - } -} - -#endif diff --git a/Example/web3swiftExample/Pods/Alamofire/Source/Notifications.swift b/Example/web3swiftExample/Pods/Alamofire/Source/Notifications.swift deleted file mode 100755 index e1b612049..000000000 --- a/Example/web3swiftExample/Pods/Alamofire/Source/Notifications.swift +++ /dev/null @@ -1,55 +0,0 @@ -// -// Notifications.swift -// -// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -import Foundation - -extension Notification.Name { - /// Used as a namespace for all `URLSessionTask` related notifications. - public struct Task { - /// Posted when a `URLSessionTask` is resumed. The notification `object` contains the resumed `URLSessionTask`. - public static let DidResume = Notification.Name(rawValue: "org.alamofire.notification.name.task.didResume") - - /// Posted when a `URLSessionTask` is suspended. The notification `object` contains the suspended `URLSessionTask`. - public static let DidSuspend = Notification.Name(rawValue: "org.alamofire.notification.name.task.didSuspend") - - /// Posted when a `URLSessionTask` is cancelled. The notification `object` contains the cancelled `URLSessionTask`. - public static let DidCancel = Notification.Name(rawValue: "org.alamofire.notification.name.task.didCancel") - - /// Posted when a `URLSessionTask` is completed. The notification `object` contains the completed `URLSessionTask`. - public static let DidComplete = Notification.Name(rawValue: "org.alamofire.notification.name.task.didComplete") - } -} - -// MARK: - - -extension Notification { - /// Used as a namespace for all `Notification` user info dictionary keys. - public struct Key { - /// User info dictionary key representing the `URLSessionTask` associated with the notification. - public static let Task = "org.alamofire.notification.key.task" - - /// User info dictionary key representing the responseData associated with the notification. - public static let ResponseData = "org.alamofire.notification.key.responseData" - } -} diff --git a/Example/web3swiftExample/Pods/Alamofire/Source/ParameterEncoding.swift b/Example/web3swiftExample/Pods/Alamofire/Source/ParameterEncoding.swift deleted file mode 100755 index 4a54f2dd0..000000000 --- a/Example/web3swiftExample/Pods/Alamofire/Source/ParameterEncoding.swift +++ /dev/null @@ -1,483 +0,0 @@ -// -// ParameterEncoding.swift -// -// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -import Foundation - -/// HTTP method definitions. -/// -/// See https://tools.ietf.org/html/rfc7231#section-4.3 -public enum HTTPMethod: String { - case options = "OPTIONS" - case get = "GET" - case head = "HEAD" - case post = "POST" - case put = "PUT" - case patch = "PATCH" - case delete = "DELETE" - case trace = "TRACE" - case connect = "CONNECT" -} - -// MARK: - - -/// A dictionary of parameters to apply to a `URLRequest`. -public typealias Parameters = [String: Any] - -/// A type used to define how a set of parameters are applied to a `URLRequest`. -public protocol ParameterEncoding { - /// Creates a URL request by encoding parameters and applying them onto an existing request. - /// - /// - parameter urlRequest: The request to have parameters applied. - /// - parameter parameters: The parameters to apply. - /// - /// - throws: An `AFError.parameterEncodingFailed` error if encoding fails. - /// - /// - returns: The encoded request. - func encode(_ urlRequest: URLRequestConvertible, with parameters: Parameters?) throws -> URLRequest -} - -// MARK: - - -/// Creates a url-encoded query string to be set as or appended to any existing URL query string or set as the HTTP -/// body of the URL request. Whether the query string is set or appended to any existing URL query string or set as -/// the HTTP body depends on the destination of the encoding. -/// -/// The `Content-Type` HTTP header field of an encoded request with HTTP body is set to -/// `application/x-www-form-urlencoded; charset=utf-8`. -/// -/// There is no published specification for how to encode collection types. By default the convention of appending -/// `[]` to the key for array values (`foo[]=1&foo[]=2`), and appending the key surrounded by square brackets for -/// nested dictionary values (`foo[bar]=baz`) is used. Optionally, `ArrayEncoding` can be used to omit the -/// square brackets appended to array keys. -/// -/// `BoolEncoding` can be used to configure how boolean values are encoded. The default behavior is to encode -/// `true` as 1 and `false` as 0. -public struct URLEncoding: ParameterEncoding { - - // MARK: Helper Types - - /// Defines whether the url-encoded query string is applied to the existing query string or HTTP body of the - /// resulting URL request. - /// - /// - methodDependent: Applies encoded query string result to existing query string for `GET`, `HEAD` and `DELETE` - /// requests and sets as the HTTP body for requests with any other HTTP method. - /// - queryString: Sets or appends encoded query string result to existing query string. - /// - httpBody: Sets encoded query string result as the HTTP body of the URL request. - public enum Destination { - case methodDependent, queryString, httpBody - } - - /// Configures how `Array` parameters are encoded. - /// - /// - brackets: An empty set of square brackets is appended to the key for every value. - /// This is the default behavior. - /// - noBrackets: No brackets are appended. The key is encoded as is. - public enum ArrayEncoding { - case brackets, noBrackets - - func encode(key: String) -> String { - switch self { - case .brackets: - return "\(key)[]" - case .noBrackets: - return key - } - } - } - - /// Configures how `Bool` parameters are encoded. - /// - /// - numeric: Encode `true` as `1` and `false` as `0`. This is the default behavior. - /// - literal: Encode `true` and `false` as string literals. - public enum BoolEncoding { - case numeric, literal - - func encode(value: Bool) -> String { - switch self { - case .numeric: - return value ? "1" : "0" - case .literal: - return value ? "true" : "false" - } - } - } - - // MARK: Properties - - /// Returns a default `URLEncoding` instance. - public static var `default`: URLEncoding { return URLEncoding() } - - /// Returns a `URLEncoding` instance with a `.methodDependent` destination. - public static var methodDependent: URLEncoding { return URLEncoding() } - - /// Returns a `URLEncoding` instance with a `.queryString` destination. - public static var queryString: URLEncoding { return URLEncoding(destination: .queryString) } - - /// Returns a `URLEncoding` instance with an `.httpBody` destination. - public static var httpBody: URLEncoding { return URLEncoding(destination: .httpBody) } - - /// The destination defining where the encoded query string is to be applied to the URL request. - public let destination: Destination - - /// The encoding to use for `Array` parameters. - public let arrayEncoding: ArrayEncoding - - /// The encoding to use for `Bool` parameters. - public let boolEncoding: BoolEncoding - - // MARK: Initialization - - /// Creates a `URLEncoding` instance using the specified destination. - /// - /// - parameter destination: The destination defining where the encoded query string is to be applied. - /// - parameter arrayEncoding: The encoding to use for `Array` parameters. - /// - parameter boolEncoding: The encoding to use for `Bool` parameters. - /// - /// - returns: The new `URLEncoding` instance. - public init(destination: Destination = .methodDependent, arrayEncoding: ArrayEncoding = .brackets, boolEncoding: BoolEncoding = .numeric) { - self.destination = destination - self.arrayEncoding = arrayEncoding - self.boolEncoding = boolEncoding - } - - // MARK: Encoding - - /// Creates a URL request by encoding parameters and applying them onto an existing request. - /// - /// - parameter urlRequest: The request to have parameters applied. - /// - parameter parameters: The parameters to apply. - /// - /// - throws: An `Error` if the encoding process encounters an error. - /// - /// - returns: The encoded request. - public func encode(_ urlRequest: URLRequestConvertible, with parameters: Parameters?) throws -> URLRequest { - var urlRequest = try urlRequest.asURLRequest() - - guard let parameters = parameters else { return urlRequest } - - if let method = HTTPMethod(rawValue: urlRequest.httpMethod ?? "GET"), encodesParametersInURL(with: method) { - guard let url = urlRequest.url else { - throw AFError.parameterEncodingFailed(reason: .missingURL) - } - - if var urlComponents = URLComponents(url: url, resolvingAgainstBaseURL: false), !parameters.isEmpty { - let percentEncodedQuery = (urlComponents.percentEncodedQuery.map { $0 + "&" } ?? "") + query(parameters) - urlComponents.percentEncodedQuery = percentEncodedQuery - urlRequest.url = urlComponents.url - } - } else { - if urlRequest.value(forHTTPHeaderField: "Content-Type") == nil { - urlRequest.setValue("application/x-www-form-urlencoded; charset=utf-8", forHTTPHeaderField: "Content-Type") - } - - urlRequest.httpBody = query(parameters).data(using: .utf8, allowLossyConversion: false) - } - - return urlRequest - } - - /// Creates percent-escaped, URL encoded query string components from the given key-value pair using recursion. - /// - /// - parameter key: The key of the query component. - /// - parameter value: The value of the query component. - /// - /// - returns: The percent-escaped, URL encoded query string components. - public func queryComponents(fromKey key: String, value: Any) -> [(String, String)] { - var components: [(String, String)] = [] - - if let dictionary = value as? [String: Any] { - for (nestedKey, value) in dictionary { - components += queryComponents(fromKey: "\(key)[\(nestedKey)]", value: value) - } - } else if let array = value as? [Any] { - for value in array { - components += queryComponents(fromKey: arrayEncoding.encode(key: key), value: value) - } - } else if let value = value as? NSNumber { - if value.isBool { - components.append((escape(key), escape(boolEncoding.encode(value: value.boolValue)))) - } else { - components.append((escape(key), escape("\(value)"))) - } - } else if let bool = value as? Bool { - components.append((escape(key), escape(boolEncoding.encode(value: bool)))) - } else { - components.append((escape(key), escape("\(value)"))) - } - - return components - } - - /// Returns a percent-escaped string following RFC 3986 for a query string key or value. - /// - /// RFC 3986 states that the following characters are "reserved" characters. - /// - /// - General Delimiters: ":", "#", "[", "]", "@", "?", "/" - /// - Sub-Delimiters: "!", "$", "&", "'", "(", ")", "*", "+", ",", ";", "=" - /// - /// In RFC 3986 - Section 3.4, it states that the "?" and "/" characters should not be escaped to allow - /// query strings to include a URL. Therefore, all "reserved" characters with the exception of "?" and "/" - /// should be percent-escaped in the query string. - /// - /// - parameter string: The string to be percent-escaped. - /// - /// - returns: The percent-escaped string. - public func escape(_ string: String) -> String { - let generalDelimitersToEncode = ":#[]@" // does not include "?" or "/" due to RFC 3986 - Section 3.4 - let subDelimitersToEncode = "!$&'()*+,;=" - - var allowedCharacterSet = CharacterSet.urlQueryAllowed - allowedCharacterSet.remove(charactersIn: "\(generalDelimitersToEncode)\(subDelimitersToEncode)") - - var escaped = "" - - //========================================================================================================== - // - // Batching is required for escaping due to an internal bug in iOS 8.1 and 8.2. Encoding more than a few - // hundred Chinese characters causes various malloc error crashes. To avoid this issue until iOS 8 is no - // longer supported, batching MUST be used for encoding. This introduces roughly a 20% overhead. For more - // info, please refer to: - // - // - https://github.com/Alamofire/Alamofire/issues/206 - // - //========================================================================================================== - - if #available(iOS 8.3, *) { - escaped = string.addingPercentEncoding(withAllowedCharacters: allowedCharacterSet) ?? string - } else { - let batchSize = 50 - var index = string.startIndex - - while index != string.endIndex { - let startIndex = index - let endIndex = string.index(index, offsetBy: batchSize, limitedBy: string.endIndex) ?? string.endIndex - let range = startIndex.. String { - var components: [(String, String)] = [] - - for key in parameters.keys.sorted(by: <) { - let value = parameters[key]! - components += queryComponents(fromKey: key, value: value) - } - return components.map { "\($0)=\($1)" }.joined(separator: "&") - } - - private func encodesParametersInURL(with method: HTTPMethod) -> Bool { - switch destination { - case .queryString: - return true - case .httpBody: - return false - default: - break - } - - switch method { - case .get, .head, .delete: - return true - default: - return false - } - } -} - -// MARK: - - -/// Uses `JSONSerialization` to create a JSON representation of the parameters object, which is set as the body of the -/// request. The `Content-Type` HTTP header field of an encoded request is set to `application/json`. -public struct JSONEncoding: ParameterEncoding { - - // MARK: Properties - - /// Returns a `JSONEncoding` instance with default writing options. - public static var `default`: JSONEncoding { return JSONEncoding() } - - /// Returns a `JSONEncoding` instance with `.prettyPrinted` writing options. - public static var prettyPrinted: JSONEncoding { return JSONEncoding(options: .prettyPrinted) } - - /// The options for writing the parameters as JSON data. - public let options: JSONSerialization.WritingOptions - - // MARK: Initialization - - /// Creates a `JSONEncoding` instance using the specified options. - /// - /// - parameter options: The options for writing the parameters as JSON data. - /// - /// - returns: The new `JSONEncoding` instance. - public init(options: JSONSerialization.WritingOptions = []) { - self.options = options - } - - // MARK: Encoding - - /// Creates a URL request by encoding parameters and applying them onto an existing request. - /// - /// - parameter urlRequest: The request to have parameters applied. - /// - parameter parameters: The parameters to apply. - /// - /// - throws: An `Error` if the encoding process encounters an error. - /// - /// - returns: The encoded request. - public func encode(_ urlRequest: URLRequestConvertible, with parameters: Parameters?) throws -> URLRequest { - var urlRequest = try urlRequest.asURLRequest() - - guard let parameters = parameters else { return urlRequest } - - do { - let data = try JSONSerialization.data(withJSONObject: parameters, options: options) - - if urlRequest.value(forHTTPHeaderField: "Content-Type") == nil { - urlRequest.setValue("application/json", forHTTPHeaderField: "Content-Type") - } - - urlRequest.httpBody = data - } catch { - throw AFError.parameterEncodingFailed(reason: .jsonEncodingFailed(error: error)) - } - - return urlRequest - } - - /// Creates a URL request by encoding the JSON object and setting the resulting data on the HTTP body. - /// - /// - parameter urlRequest: The request to apply the JSON object to. - /// - parameter jsonObject: The JSON object to apply to the request. - /// - /// - throws: An `Error` if the encoding process encounters an error. - /// - /// - returns: The encoded request. - public func encode(_ urlRequest: URLRequestConvertible, withJSONObject jsonObject: Any? = nil) throws -> URLRequest { - var urlRequest = try urlRequest.asURLRequest() - - guard let jsonObject = jsonObject else { return urlRequest } - - do { - let data = try JSONSerialization.data(withJSONObject: jsonObject, options: options) - - if urlRequest.value(forHTTPHeaderField: "Content-Type") == nil { - urlRequest.setValue("application/json", forHTTPHeaderField: "Content-Type") - } - - urlRequest.httpBody = data - } catch { - throw AFError.parameterEncodingFailed(reason: .jsonEncodingFailed(error: error)) - } - - return urlRequest - } -} - -// MARK: - - -/// Uses `PropertyListSerialization` to create a plist representation of the parameters object, according to the -/// associated format and write options values, which is set as the body of the request. The `Content-Type` HTTP header -/// field of an encoded request is set to `application/x-plist`. -public struct PropertyListEncoding: ParameterEncoding { - - // MARK: Properties - - /// Returns a default `PropertyListEncoding` instance. - public static var `default`: PropertyListEncoding { return PropertyListEncoding() } - - /// Returns a `PropertyListEncoding` instance with xml formatting and default writing options. - public static var xml: PropertyListEncoding { return PropertyListEncoding(format: .xml) } - - /// Returns a `PropertyListEncoding` instance with binary formatting and default writing options. - public static var binary: PropertyListEncoding { return PropertyListEncoding(format: .binary) } - - /// The property list serialization format. - public let format: PropertyListSerialization.PropertyListFormat - - /// The options for writing the parameters as plist data. - public let options: PropertyListSerialization.WriteOptions - - // MARK: Initialization - - /// Creates a `PropertyListEncoding` instance using the specified format and options. - /// - /// - parameter format: The property list serialization format. - /// - parameter options: The options for writing the parameters as plist data. - /// - /// - returns: The new `PropertyListEncoding` instance. - public init( - format: PropertyListSerialization.PropertyListFormat = .xml, - options: PropertyListSerialization.WriteOptions = 0) - { - self.format = format - self.options = options - } - - // MARK: Encoding - - /// Creates a URL request by encoding parameters and applying them onto an existing request. - /// - /// - parameter urlRequest: The request to have parameters applied. - /// - parameter parameters: The parameters to apply. - /// - /// - throws: An `Error` if the encoding process encounters an error. - /// - /// - returns: The encoded request. - public func encode(_ urlRequest: URLRequestConvertible, with parameters: Parameters?) throws -> URLRequest { - var urlRequest = try urlRequest.asURLRequest() - - guard let parameters = parameters else { return urlRequest } - - do { - let data = try PropertyListSerialization.data( - fromPropertyList: parameters, - format: format, - options: options - ) - - if urlRequest.value(forHTTPHeaderField: "Content-Type") == nil { - urlRequest.setValue("application/x-plist", forHTTPHeaderField: "Content-Type") - } - - urlRequest.httpBody = data - } catch { - throw AFError.parameterEncodingFailed(reason: .propertyListEncodingFailed(error: error)) - } - - return urlRequest - } -} - -// MARK: - - -extension NSNumber { - fileprivate var isBool: Bool { return CFBooleanGetTypeID() == CFGetTypeID(self) } -} diff --git a/Example/web3swiftExample/Pods/Alamofire/Source/Request.swift b/Example/web3swiftExample/Pods/Alamofire/Source/Request.swift deleted file mode 100755 index 94e7b6e43..000000000 --- a/Example/web3swiftExample/Pods/Alamofire/Source/Request.swift +++ /dev/null @@ -1,654 +0,0 @@ -// -// Request.swift -// -// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -import Foundation - -/// A type that can inspect and optionally adapt a `URLRequest` in some manner if necessary. -public protocol RequestAdapter { - /// Inspects and adapts the specified `URLRequest` in some manner if necessary and returns the result. - /// - /// - parameter urlRequest: The URL request to adapt. - /// - /// - throws: An `Error` if the adaptation encounters an error. - /// - /// - returns: The adapted `URLRequest`. - func adapt(_ urlRequest: URLRequest) throws -> URLRequest -} - -// MARK: - - -/// A closure executed when the `RequestRetrier` determines whether a `Request` should be retried or not. -public typealias RequestRetryCompletion = (_ shouldRetry: Bool, _ timeDelay: TimeInterval) -> Void - -/// A type that determines whether a request should be retried after being executed by the specified session manager -/// and encountering an error. -public protocol RequestRetrier { - /// Determines whether the `Request` should be retried by calling the `completion` closure. - /// - /// This operation is fully asynchronous. Any amount of time can be taken to determine whether the request needs - /// to be retried. The one requirement is that the completion closure is called to ensure the request is properly - /// cleaned up after. - /// - /// - parameter manager: The session manager the request was executed on. - /// - parameter request: The request that failed due to the encountered error. - /// - parameter error: The error encountered when executing the request. - /// - parameter completion: The completion closure to be executed when retry decision has been determined. - func should(_ manager: SessionManager, retry request: Request, with error: Error, completion: @escaping RequestRetryCompletion) -} - -// MARK: - - -protocol TaskConvertible { - func task(session: URLSession, adapter: RequestAdapter?, queue: DispatchQueue) throws -> URLSessionTask -} - -/// A dictionary of headers to apply to a `URLRequest`. -public typealias HTTPHeaders = [String: String] - -// MARK: - - -/// Responsible for sending a request and receiving the response and associated data from the server, as well as -/// managing its underlying `URLSessionTask`. -open class Request { - - // MARK: Helper Types - - /// A closure executed when monitoring upload or download progress of a request. - public typealias ProgressHandler = (Progress) -> Void - - enum RequestTask { - case data(TaskConvertible?, URLSessionTask?) - case download(TaskConvertible?, URLSessionTask?) - case upload(TaskConvertible?, URLSessionTask?) - case stream(TaskConvertible?, URLSessionTask?) - } - - // MARK: Properties - - /// The delegate for the underlying task. - open internal(set) var delegate: TaskDelegate { - get { - taskDelegateLock.lock() ; defer { taskDelegateLock.unlock() } - return taskDelegate - } - set { - taskDelegateLock.lock() ; defer { taskDelegateLock.unlock() } - taskDelegate = newValue - } - } - - /// The underlying task. - open var task: URLSessionTask? { return delegate.task } - - /// The session belonging to the underlying task. - open let session: URLSession - - /// The request sent or to be sent to the server. - open var request: URLRequest? { return task?.originalRequest } - - /// The response received from the server, if any. - open var response: HTTPURLResponse? { return task?.response as? HTTPURLResponse } - - /// The number of times the request has been retried. - open internal(set) var retryCount: UInt = 0 - - let originalTask: TaskConvertible? - - var startTime: CFAbsoluteTime? - var endTime: CFAbsoluteTime? - - var validations: [() -> Void] = [] - - private var taskDelegate: TaskDelegate - private var taskDelegateLock = NSLock() - - // MARK: Lifecycle - - init(session: URLSession, requestTask: RequestTask, error: Error? = nil) { - self.session = session - - switch requestTask { - case .data(let originalTask, let task): - taskDelegate = DataTaskDelegate(task: task) - self.originalTask = originalTask - case .download(let originalTask, let task): - taskDelegate = DownloadTaskDelegate(task: task) - self.originalTask = originalTask - case .upload(let originalTask, let task): - taskDelegate = UploadTaskDelegate(task: task) - self.originalTask = originalTask - case .stream(let originalTask, let task): - taskDelegate = TaskDelegate(task: task) - self.originalTask = originalTask - } - - delegate.error = error - delegate.queue.addOperation { self.endTime = CFAbsoluteTimeGetCurrent() } - } - - // MARK: Authentication - - /// Associates an HTTP Basic credential with the request. - /// - /// - parameter user: The user. - /// - parameter password: The password. - /// - parameter persistence: The URL credential persistence. `.ForSession` by default. - /// - /// - returns: The request. - @discardableResult - open func authenticate( - user: String, - password: String, - persistence: URLCredential.Persistence = .forSession) - -> Self - { - let credential = URLCredential(user: user, password: password, persistence: persistence) - return authenticate(usingCredential: credential) - } - - /// Associates a specified credential with the request. - /// - /// - parameter credential: The credential. - /// - /// - returns: The request. - @discardableResult - open func authenticate(usingCredential credential: URLCredential) -> Self { - delegate.credential = credential - return self - } - - /// Returns a base64 encoded basic authentication credential as an authorization header tuple. - /// - /// - parameter user: The user. - /// - parameter password: The password. - /// - /// - returns: A tuple with Authorization header and credential value if encoding succeeds, `nil` otherwise. - open static func authorizationHeader(user: String, password: String) -> (key: String, value: String)? { - guard let data = "\(user):\(password)".data(using: .utf8) else { return nil } - - let credential = data.base64EncodedString(options: []) - - return (key: "Authorization", value: "Basic \(credential)") - } - - // MARK: State - - /// Resumes the request. - open func resume() { - guard let task = task else { delegate.queue.isSuspended = false ; return } - - if startTime == nil { startTime = CFAbsoluteTimeGetCurrent() } - - task.resume() - - NotificationCenter.default.post( - name: Notification.Name.Task.DidResume, - object: self, - userInfo: [Notification.Key.Task: task] - ) - } - - /// Suspends the request. - open func suspend() { - guard let task = task else { return } - - task.suspend() - - NotificationCenter.default.post( - name: Notification.Name.Task.DidSuspend, - object: self, - userInfo: [Notification.Key.Task: task] - ) - } - - /// Cancels the request. - open func cancel() { - guard let task = task else { return } - - task.cancel() - - NotificationCenter.default.post( - name: Notification.Name.Task.DidCancel, - object: self, - userInfo: [Notification.Key.Task: task] - ) - } -} - -// MARK: - CustomStringConvertible - -extension Request: CustomStringConvertible { - /// The textual representation used when written to an output stream, which includes the HTTP method and URL, as - /// well as the response status code if a response has been received. - open var description: String { - var components: [String] = [] - - if let HTTPMethod = request?.httpMethod { - components.append(HTTPMethod) - } - - if let urlString = request?.url?.absoluteString { - components.append(urlString) - } - - if let response = response { - components.append("(\(response.statusCode))") - } - - return components.joined(separator: " ") - } -} - -// MARK: - CustomDebugStringConvertible - -extension Request: CustomDebugStringConvertible { - /// The textual representation used when written to an output stream, in the form of a cURL command. - open var debugDescription: String { - return cURLRepresentation() - } - - func cURLRepresentation() -> String { - var components = ["$ curl -v"] - - guard let request = self.request, - let url = request.url, - let host = url.host - else { - return "$ curl command could not be created" - } - - if let httpMethod = request.httpMethod, httpMethod != "GET" { - components.append("-X \(httpMethod)") - } - - if let credentialStorage = self.session.configuration.urlCredentialStorage { - let protectionSpace = URLProtectionSpace( - host: host, - port: url.port ?? 0, - protocol: url.scheme, - realm: host, - authenticationMethod: NSURLAuthenticationMethodHTTPBasic - ) - - if let credentials = credentialStorage.credentials(for: protectionSpace)?.values { - for credential in credentials { - guard let user = credential.user, let password = credential.password else { continue } - components.append("-u \(user):\(password)") - } - } else { - if let credential = delegate.credential, let user = credential.user, let password = credential.password { - components.append("-u \(user):\(password)") - } - } - } - - if session.configuration.httpShouldSetCookies { - if - let cookieStorage = session.configuration.httpCookieStorage, - let cookies = cookieStorage.cookies(for: url), !cookies.isEmpty - { - let string = cookies.reduce("") { $0 + "\($1.name)=\($1.value);" } - - #if swift(>=3.2) - components.append("-b \"\(string[.. URLSessionTask { - do { - let urlRequest = try self.urlRequest.adapt(using: adapter) - return queue.sync { session.dataTask(with: urlRequest) } - } catch { - throw AdaptError(error: error) - } - } - } - - // MARK: Properties - - /// The request sent or to be sent to the server. - open override var request: URLRequest? { - if let request = super.request { return request } - if let requestable = originalTask as? Requestable { return requestable.urlRequest } - - return nil - } - - /// The progress of fetching the response data from the server for the request. - open var progress: Progress { return dataDelegate.progress } - - var dataDelegate: DataTaskDelegate { return delegate as! DataTaskDelegate } - - // MARK: Stream - - /// Sets a closure to be called periodically during the lifecycle of the request as data is read from the server. - /// - /// This closure returns the bytes most recently received from the server, not including data from previous calls. - /// If this closure is set, data will only be available within this closure, and will not be saved elsewhere. It is - /// also important to note that the server data in any `Response` object will be `nil`. - /// - /// - parameter closure: The code to be executed periodically during the lifecycle of the request. - /// - /// - returns: The request. - @discardableResult - open func stream(closure: ((Data) -> Void)? = nil) -> Self { - dataDelegate.dataStream = closure - return self - } - - // MARK: Progress - - /// Sets a closure to be called periodically during the lifecycle of the `Request` as data is read from the server. - /// - /// - parameter queue: The dispatch queue to execute the closure on. - /// - parameter closure: The code to be executed periodically as data is read from the server. - /// - /// - returns: The request. - @discardableResult - open func downloadProgress(queue: DispatchQueue = DispatchQueue.main, closure: @escaping ProgressHandler) -> Self { - dataDelegate.progressHandler = (closure, queue) - return self - } -} - -// MARK: - - -/// Specific type of `Request` that manages an underlying `URLSessionDownloadTask`. -open class DownloadRequest: Request { - - // MARK: Helper Types - - /// A collection of options to be executed prior to moving a downloaded file from the temporary URL to the - /// destination URL. - public struct DownloadOptions: OptionSet { - /// Returns the raw bitmask value of the option and satisfies the `RawRepresentable` protocol. - public let rawValue: UInt - - /// A `DownloadOptions` flag that creates intermediate directories for the destination URL if specified. - public static let createIntermediateDirectories = DownloadOptions(rawValue: 1 << 0) - - /// A `DownloadOptions` flag that removes a previous file from the destination URL if specified. - public static let removePreviousFile = DownloadOptions(rawValue: 1 << 1) - - /// Creates a `DownloadFileDestinationOptions` instance with the specified raw value. - /// - /// - parameter rawValue: The raw bitmask value for the option. - /// - /// - returns: A new log level instance. - public init(rawValue: UInt) { - self.rawValue = rawValue - } - } - - /// A closure executed once a download request has successfully completed in order to determine where to move the - /// temporary file written to during the download process. The closure takes two arguments: the temporary file URL - /// and the URL response, and returns a two arguments: the file URL where the temporary file should be moved and - /// the options defining how the file should be moved. - public typealias DownloadFileDestination = ( - _ temporaryURL: URL, - _ response: HTTPURLResponse) - -> (destinationURL: URL, options: DownloadOptions) - - enum Downloadable: TaskConvertible { - case request(URLRequest) - case resumeData(Data) - - func task(session: URLSession, adapter: RequestAdapter?, queue: DispatchQueue) throws -> URLSessionTask { - do { - let task: URLSessionTask - - switch self { - case let .request(urlRequest): - let urlRequest = try urlRequest.adapt(using: adapter) - task = queue.sync { session.downloadTask(with: urlRequest) } - case let .resumeData(resumeData): - task = queue.sync { session.downloadTask(withResumeData: resumeData) } - } - - return task - } catch { - throw AdaptError(error: error) - } - } - } - - // MARK: Properties - - /// The request sent or to be sent to the server. - open override var request: URLRequest? { - if let request = super.request { return request } - - if let downloadable = originalTask as? Downloadable, case let .request(urlRequest) = downloadable { - return urlRequest - } - - return nil - } - - /// The resume data of the underlying download task if available after a failure. - open var resumeData: Data? { return downloadDelegate.resumeData } - - /// The progress of downloading the response data from the server for the request. - open var progress: Progress { return downloadDelegate.progress } - - var downloadDelegate: DownloadTaskDelegate { return delegate as! DownloadTaskDelegate } - - // MARK: State - - /// Cancels the request. - open override func cancel() { - downloadDelegate.downloadTask.cancel { self.downloadDelegate.resumeData = $0 } - - NotificationCenter.default.post( - name: Notification.Name.Task.DidCancel, - object: self, - userInfo: [Notification.Key.Task: task as Any] - ) - } - - // MARK: Progress - - /// Sets a closure to be called periodically during the lifecycle of the `Request` as data is read from the server. - /// - /// - parameter queue: The dispatch queue to execute the closure on. - /// - parameter closure: The code to be executed periodically as data is read from the server. - /// - /// - returns: The request. - @discardableResult - open func downloadProgress(queue: DispatchQueue = DispatchQueue.main, closure: @escaping ProgressHandler) -> Self { - downloadDelegate.progressHandler = (closure, queue) - return self - } - - // MARK: Destination - - /// Creates a download file destination closure which uses the default file manager to move the temporary file to a - /// file URL in the first available directory with the specified search path directory and search path domain mask. - /// - /// - parameter directory: The search path directory. `.DocumentDirectory` by default. - /// - parameter domain: The search path domain mask. `.UserDomainMask` by default. - /// - /// - returns: A download file destination closure. - open class func suggestedDownloadDestination( - for directory: FileManager.SearchPathDirectory = .documentDirectory, - in domain: FileManager.SearchPathDomainMask = .userDomainMask) - -> DownloadFileDestination - { - return { temporaryURL, response in - let directoryURLs = FileManager.default.urls(for: directory, in: domain) - - if !directoryURLs.isEmpty { - return (directoryURLs[0].appendingPathComponent(response.suggestedFilename!), []) - } - - return (temporaryURL, []) - } - } -} - -// MARK: - - -/// Specific type of `Request` that manages an underlying `URLSessionUploadTask`. -open class UploadRequest: DataRequest { - - // MARK: Helper Types - - enum Uploadable: TaskConvertible { - case data(Data, URLRequest) - case file(URL, URLRequest) - case stream(InputStream, URLRequest) - - func task(session: URLSession, adapter: RequestAdapter?, queue: DispatchQueue) throws -> URLSessionTask { - do { - let task: URLSessionTask - - switch self { - case let .data(data, urlRequest): - let urlRequest = try urlRequest.adapt(using: adapter) - task = queue.sync { session.uploadTask(with: urlRequest, from: data) } - case let .file(url, urlRequest): - let urlRequest = try urlRequest.adapt(using: adapter) - task = queue.sync { session.uploadTask(with: urlRequest, fromFile: url) } - case let .stream(_, urlRequest): - let urlRequest = try urlRequest.adapt(using: adapter) - task = queue.sync { session.uploadTask(withStreamedRequest: urlRequest) } - } - - return task - } catch { - throw AdaptError(error: error) - } - } - } - - // MARK: Properties - - /// The request sent or to be sent to the server. - open override var request: URLRequest? { - if let request = super.request { return request } - - guard let uploadable = originalTask as? Uploadable else { return nil } - - switch uploadable { - case .data(_, let urlRequest), .file(_, let urlRequest), .stream(_, let urlRequest): - return urlRequest - } - } - - /// The progress of uploading the payload to the server for the upload request. - open var uploadProgress: Progress { return uploadDelegate.uploadProgress } - - var uploadDelegate: UploadTaskDelegate { return delegate as! UploadTaskDelegate } - - // MARK: Upload Progress - - /// Sets a closure to be called periodically during the lifecycle of the `UploadRequest` as data is sent to - /// the server. - /// - /// After the data is sent to the server, the `progress(queue:closure:)` APIs can be used to monitor the progress - /// of data being read from the server. - /// - /// - parameter queue: The dispatch queue to execute the closure on. - /// - parameter closure: The code to be executed periodically as data is sent to the server. - /// - /// - returns: The request. - @discardableResult - open func uploadProgress(queue: DispatchQueue = DispatchQueue.main, closure: @escaping ProgressHandler) -> Self { - uploadDelegate.uploadProgressHandler = (closure, queue) - return self - } -} - -// MARK: - - -#if !os(watchOS) - -/// Specific type of `Request` that manages an underlying `URLSessionStreamTask`. -@available(iOS 9.0, macOS 10.11, tvOS 9.0, *) -open class StreamRequest: Request { - enum Streamable: TaskConvertible { - case stream(hostName: String, port: Int) - case netService(NetService) - - func task(session: URLSession, adapter: RequestAdapter?, queue: DispatchQueue) throws -> URLSessionTask { - let task: URLSessionTask - - switch self { - case let .stream(hostName, port): - task = queue.sync { session.streamTask(withHostName: hostName, port: port) } - case let .netService(netService): - task = queue.sync { session.streamTask(with: netService) } - } - - return task - } - } -} - -#endif diff --git a/Example/web3swiftExample/Pods/Alamofire/Source/Response.swift b/Example/web3swiftExample/Pods/Alamofire/Source/Response.swift deleted file mode 100755 index 74b1ef54d..000000000 --- a/Example/web3swiftExample/Pods/Alamofire/Source/Response.swift +++ /dev/null @@ -1,567 +0,0 @@ -// -// Response.swift -// -// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -import Foundation - -/// Used to store all data associated with an non-serialized response of a data or upload request. -public struct DefaultDataResponse { - /// The URL request sent to the server. - public let request: URLRequest? - - /// The server's response to the URL request. - public let response: HTTPURLResponse? - - /// The data returned by the server. - public let data: Data? - - /// The error encountered while executing or validating the request. - public let error: Error? - - /// The timeline of the complete lifecycle of the request. - public let timeline: Timeline - - var _metrics: AnyObject? - - /// Creates a `DefaultDataResponse` instance from the specified parameters. - /// - /// - Parameters: - /// - request: The URL request sent to the server. - /// - response: The server's response to the URL request. - /// - data: The data returned by the server. - /// - error: The error encountered while executing or validating the request. - /// - timeline: The timeline of the complete lifecycle of the request. `Timeline()` by default. - /// - metrics: The task metrics containing the request / response statistics. `nil` by default. - public init( - request: URLRequest?, - response: HTTPURLResponse?, - data: Data?, - error: Error?, - timeline: Timeline = Timeline(), - metrics: AnyObject? = nil) - { - self.request = request - self.response = response - self.data = data - self.error = error - self.timeline = timeline - } -} - -// MARK: - - -/// Used to store all data associated with a serialized response of a data or upload request. -public struct DataResponse { - /// The URL request sent to the server. - public let request: URLRequest? - - /// The server's response to the URL request. - public let response: HTTPURLResponse? - - /// The data returned by the server. - public let data: Data? - - /// The result of response serialization. - public let result: Result - - /// The timeline of the complete lifecycle of the request. - public let timeline: Timeline - - /// Returns the associated value of the result if it is a success, `nil` otherwise. - public var value: Value? { return result.value } - - /// Returns the associated error value if the result if it is a failure, `nil` otherwise. - public var error: Error? { return result.error } - - var _metrics: AnyObject? - - /// Creates a `DataResponse` instance with the specified parameters derived from response serialization. - /// - /// - parameter request: The URL request sent to the server. - /// - parameter response: The server's response to the URL request. - /// - parameter data: The data returned by the server. - /// - parameter result: The result of response serialization. - /// - parameter timeline: The timeline of the complete lifecycle of the `Request`. Defaults to `Timeline()`. - /// - /// - returns: The new `DataResponse` instance. - public init( - request: URLRequest?, - response: HTTPURLResponse?, - data: Data?, - result: Result, - timeline: Timeline = Timeline()) - { - self.request = request - self.response = response - self.data = data - self.result = result - self.timeline = timeline - } -} - -// MARK: - - -extension DataResponse: CustomStringConvertible, CustomDebugStringConvertible { - /// The textual representation used when written to an output stream, which includes whether the result was a - /// success or failure. - public var description: String { - return result.debugDescription - } - - /// The debug textual representation used when written to an output stream, which includes the URL request, the URL - /// response, the server data, the response serialization result and the timeline. - public var debugDescription: String { - var output: [String] = [] - - output.append(request != nil ? "[Request]: \(request!.httpMethod ?? "GET") \(request!)" : "[Request]: nil") - output.append(response != nil ? "[Response]: \(response!)" : "[Response]: nil") - output.append("[Data]: \(data?.count ?? 0) bytes") - output.append("[Result]: \(result.debugDescription)") - output.append("[Timeline]: \(timeline.debugDescription)") - - return output.joined(separator: "\n") - } -} - -// MARK: - - -extension DataResponse { - /// Evaluates the specified closure when the result of this `DataResponse` is a success, passing the unwrapped - /// result value as a parameter. - /// - /// Use the `map` method with a closure that does not throw. For example: - /// - /// let possibleData: DataResponse = ... - /// let possibleInt = possibleData.map { $0.count } - /// - /// - parameter transform: A closure that takes the success value of the instance's result. - /// - /// - returns: A `DataResponse` whose result wraps the value returned by the given closure. If this instance's - /// result is a failure, returns a response wrapping the same failure. - public func map(_ transform: (Value) -> T) -> DataResponse { - var response = DataResponse( - request: request, - response: self.response, - data: data, - result: result.map(transform), - timeline: timeline - ) - - response._metrics = _metrics - - return response - } - - /// Evaluates the given closure when the result of this `DataResponse` is a success, passing the unwrapped result - /// value as a parameter. - /// - /// Use the `flatMap` method with a closure that may throw an error. For example: - /// - /// let possibleData: DataResponse = ... - /// let possibleObject = possibleData.flatMap { - /// try JSONSerialization.jsonObject(with: $0) - /// } - /// - /// - parameter transform: A closure that takes the success value of the instance's result. - /// - /// - returns: A success or failure `DataResponse` depending on the result of the given closure. If this instance's - /// result is a failure, returns the same failure. - public func flatMap(_ transform: (Value) throws -> T) -> DataResponse { - var response = DataResponse( - request: request, - response: self.response, - data: data, - result: result.flatMap(transform), - timeline: timeline - ) - - response._metrics = _metrics - - return response - } - - /// Evaluates the specified closure when the `DataResponse` is a failure, passing the unwrapped error as a parameter. - /// - /// Use the `mapError` function with a closure that does not throw. For example: - /// - /// let possibleData: DataResponse = ... - /// let withMyError = possibleData.mapError { MyError.error($0) } - /// - /// - Parameter transform: A closure that takes the error of the instance. - /// - Returns: A `DataResponse` instance containing the result of the transform. - public func mapError(_ transform: (Error) -> E) -> DataResponse { - var response = DataResponse( - request: request, - response: self.response, - data: data, - result: result.mapError(transform), - timeline: timeline - ) - - response._metrics = _metrics - - return response - } - - /// Evaluates the specified closure when the `DataResponse` is a failure, passing the unwrapped error as a parameter. - /// - /// Use the `flatMapError` function with a closure that may throw an error. For example: - /// - /// let possibleData: DataResponse = ... - /// let possibleObject = possibleData.flatMapError { - /// try someFailableFunction(taking: $0) - /// } - /// - /// - Parameter transform: A throwing closure that takes the error of the instance. - /// - /// - Returns: A `DataResponse` instance containing the result of the transform. - public func flatMapError(_ transform: (Error) throws -> E) -> DataResponse { - var response = DataResponse( - request: request, - response: self.response, - data: data, - result: result.flatMapError(transform), - timeline: timeline - ) - - response._metrics = _metrics - - return response - } -} - -// MARK: - - -/// Used to store all data associated with an non-serialized response of a download request. -public struct DefaultDownloadResponse { - /// The URL request sent to the server. - public let request: URLRequest? - - /// The server's response to the URL request. - public let response: HTTPURLResponse? - - /// The temporary destination URL of the data returned from the server. - public let temporaryURL: URL? - - /// The final destination URL of the data returned from the server if it was moved. - public let destinationURL: URL? - - /// The resume data generated if the request was cancelled. - public let resumeData: Data? - - /// The error encountered while executing or validating the request. - public let error: Error? - - /// The timeline of the complete lifecycle of the request. - public let timeline: Timeline - - var _metrics: AnyObject? - - /// Creates a `DefaultDownloadResponse` instance from the specified parameters. - /// - /// - Parameters: - /// - request: The URL request sent to the server. - /// - response: The server's response to the URL request. - /// - temporaryURL: The temporary destination URL of the data returned from the server. - /// - destinationURL: The final destination URL of the data returned from the server if it was moved. - /// - resumeData: The resume data generated if the request was cancelled. - /// - error: The error encountered while executing or validating the request. - /// - timeline: The timeline of the complete lifecycle of the request. `Timeline()` by default. - /// - metrics: The task metrics containing the request / response statistics. `nil` by default. - public init( - request: URLRequest?, - response: HTTPURLResponse?, - temporaryURL: URL?, - destinationURL: URL?, - resumeData: Data?, - error: Error?, - timeline: Timeline = Timeline(), - metrics: AnyObject? = nil) - { - self.request = request - self.response = response - self.temporaryURL = temporaryURL - self.destinationURL = destinationURL - self.resumeData = resumeData - self.error = error - self.timeline = timeline - } -} - -// MARK: - - -/// Used to store all data associated with a serialized response of a download request. -public struct DownloadResponse { - /// The URL request sent to the server. - public let request: URLRequest? - - /// The server's response to the URL request. - public let response: HTTPURLResponse? - - /// The temporary destination URL of the data returned from the server. - public let temporaryURL: URL? - - /// The final destination URL of the data returned from the server if it was moved. - public let destinationURL: URL? - - /// The resume data generated if the request was cancelled. - public let resumeData: Data? - - /// The result of response serialization. - public let result: Result - - /// The timeline of the complete lifecycle of the request. - public let timeline: Timeline - - /// Returns the associated value of the result if it is a success, `nil` otherwise. - public var value: Value? { return result.value } - - /// Returns the associated error value if the result if it is a failure, `nil` otherwise. - public var error: Error? { return result.error } - - var _metrics: AnyObject? - - /// Creates a `DownloadResponse` instance with the specified parameters derived from response serialization. - /// - /// - parameter request: The URL request sent to the server. - /// - parameter response: The server's response to the URL request. - /// - parameter temporaryURL: The temporary destination URL of the data returned from the server. - /// - parameter destinationURL: The final destination URL of the data returned from the server if it was moved. - /// - parameter resumeData: The resume data generated if the request was cancelled. - /// - parameter result: The result of response serialization. - /// - parameter timeline: The timeline of the complete lifecycle of the `Request`. Defaults to `Timeline()`. - /// - /// - returns: The new `DownloadResponse` instance. - public init( - request: URLRequest?, - response: HTTPURLResponse?, - temporaryURL: URL?, - destinationURL: URL?, - resumeData: Data?, - result: Result, - timeline: Timeline = Timeline()) - { - self.request = request - self.response = response - self.temporaryURL = temporaryURL - self.destinationURL = destinationURL - self.resumeData = resumeData - self.result = result - self.timeline = timeline - } -} - -// MARK: - - -extension DownloadResponse: CustomStringConvertible, CustomDebugStringConvertible { - /// The textual representation used when written to an output stream, which includes whether the result was a - /// success or failure. - public var description: String { - return result.debugDescription - } - - /// The debug textual representation used when written to an output stream, which includes the URL request, the URL - /// response, the temporary and destination URLs, the resume data, the response serialization result and the - /// timeline. - public var debugDescription: String { - var output: [String] = [] - - output.append(request != nil ? "[Request]: \(request!.httpMethod ?? "GET") \(request!)" : "[Request]: nil") - output.append(response != nil ? "[Response]: \(response!)" : "[Response]: nil") - output.append("[TemporaryURL]: \(temporaryURL?.path ?? "nil")") - output.append("[DestinationURL]: \(destinationURL?.path ?? "nil")") - output.append("[ResumeData]: \(resumeData?.count ?? 0) bytes") - output.append("[Result]: \(result.debugDescription)") - output.append("[Timeline]: \(timeline.debugDescription)") - - return output.joined(separator: "\n") - } -} - -// MARK: - - -extension DownloadResponse { - /// Evaluates the given closure when the result of this `DownloadResponse` is a success, passing the unwrapped - /// result value as a parameter. - /// - /// Use the `map` method with a closure that does not throw. For example: - /// - /// let possibleData: DownloadResponse = ... - /// let possibleInt = possibleData.map { $0.count } - /// - /// - parameter transform: A closure that takes the success value of the instance's result. - /// - /// - returns: A `DownloadResponse` whose result wraps the value returned by the given closure. If this instance's - /// result is a failure, returns a response wrapping the same failure. - public func map(_ transform: (Value) -> T) -> DownloadResponse { - var response = DownloadResponse( - request: request, - response: self.response, - temporaryURL: temporaryURL, - destinationURL: destinationURL, - resumeData: resumeData, - result: result.map(transform), - timeline: timeline - ) - - response._metrics = _metrics - - return response - } - - /// Evaluates the given closure when the result of this `DownloadResponse` is a success, passing the unwrapped - /// result value as a parameter. - /// - /// Use the `flatMap` method with a closure that may throw an error. For example: - /// - /// let possibleData: DownloadResponse = ... - /// let possibleObject = possibleData.flatMap { - /// try JSONSerialization.jsonObject(with: $0) - /// } - /// - /// - parameter transform: A closure that takes the success value of the instance's result. - /// - /// - returns: A success or failure `DownloadResponse` depending on the result of the given closure. If this - /// instance's result is a failure, returns the same failure. - public func flatMap(_ transform: (Value) throws -> T) -> DownloadResponse { - var response = DownloadResponse( - request: request, - response: self.response, - temporaryURL: temporaryURL, - destinationURL: destinationURL, - resumeData: resumeData, - result: result.flatMap(transform), - timeline: timeline - ) - - response._metrics = _metrics - - return response - } - - /// Evaluates the specified closure when the `DownloadResponse` is a failure, passing the unwrapped error as a parameter. - /// - /// Use the `mapError` function with a closure that does not throw. For example: - /// - /// let possibleData: DownloadResponse = ... - /// let withMyError = possibleData.mapError { MyError.error($0) } - /// - /// - Parameter transform: A closure that takes the error of the instance. - /// - Returns: A `DownloadResponse` instance containing the result of the transform. - public func mapError(_ transform: (Error) -> E) -> DownloadResponse { - var response = DownloadResponse( - request: request, - response: self.response, - temporaryURL: temporaryURL, - destinationURL: destinationURL, - resumeData: resumeData, - result: result.mapError(transform), - timeline: timeline - ) - - response._metrics = _metrics - - return response - } - - /// Evaluates the specified closure when the `DownloadResponse` is a failure, passing the unwrapped error as a parameter. - /// - /// Use the `flatMapError` function with a closure that may throw an error. For example: - /// - /// let possibleData: DownloadResponse = ... - /// let possibleObject = possibleData.flatMapError { - /// try someFailableFunction(taking: $0) - /// } - /// - /// - Parameter transform: A throwing closure that takes the error of the instance. - /// - /// - Returns: A `DownloadResponse` instance containing the result of the transform. - public func flatMapError(_ transform: (Error) throws -> E) -> DownloadResponse { - var response = DownloadResponse( - request: request, - response: self.response, - temporaryURL: temporaryURL, - destinationURL: destinationURL, - resumeData: resumeData, - result: result.flatMapError(transform), - timeline: timeline - ) - - response._metrics = _metrics - - return response - } -} - -// MARK: - - -protocol Response { - /// The task metrics containing the request / response statistics. - var _metrics: AnyObject? { get set } - mutating func add(_ metrics: AnyObject?) -} - -extension Response { - mutating func add(_ metrics: AnyObject?) { - #if !os(watchOS) - guard #available(iOS 10.0, macOS 10.12, tvOS 10.0, *) else { return } - guard let metrics = metrics as? URLSessionTaskMetrics else { return } - - _metrics = metrics - #endif - } -} - -// MARK: - - -@available(iOS 10.0, macOS 10.12, tvOS 10.0, *) -extension DefaultDataResponse: Response { -#if !os(watchOS) - /// The task metrics containing the request / response statistics. - public var metrics: URLSessionTaskMetrics? { return _metrics as? URLSessionTaskMetrics } -#endif -} - -@available(iOS 10.0, macOS 10.12, tvOS 10.0, *) -extension DataResponse: Response { -#if !os(watchOS) - /// The task metrics containing the request / response statistics. - public var metrics: URLSessionTaskMetrics? { return _metrics as? URLSessionTaskMetrics } -#endif -} - -@available(iOS 10.0, macOS 10.12, tvOS 10.0, *) -extension DefaultDownloadResponse: Response { -#if !os(watchOS) - /// The task metrics containing the request / response statistics. - public var metrics: URLSessionTaskMetrics? { return _metrics as? URLSessionTaskMetrics } -#endif -} - -@available(iOS 10.0, macOS 10.12, tvOS 10.0, *) -extension DownloadResponse: Response { -#if !os(watchOS) - /// The task metrics containing the request / response statistics. - public var metrics: URLSessionTaskMetrics? { return _metrics as? URLSessionTaskMetrics } -#endif -} diff --git a/Example/web3swiftExample/Pods/Alamofire/Source/ResponseSerialization.swift b/Example/web3swiftExample/Pods/Alamofire/Source/ResponseSerialization.swift deleted file mode 100755 index 3333726d5..000000000 --- a/Example/web3swiftExample/Pods/Alamofire/Source/ResponseSerialization.swift +++ /dev/null @@ -1,715 +0,0 @@ -// -// ResponseSerialization.swift -// -// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -import Foundation - -/// The type in which all data response serializers must conform to in order to serialize a response. -public protocol DataResponseSerializerProtocol { - /// The type of serialized object to be created by this `DataResponseSerializerType`. - associatedtype SerializedObject - - /// A closure used by response handlers that takes a request, response, data and error and returns a result. - var serializeResponse: (URLRequest?, HTTPURLResponse?, Data?, Error?) -> Result { get } -} - -// MARK: - - -/// A generic `DataResponseSerializerType` used to serialize a request, response, and data into a serialized object. -public struct DataResponseSerializer: DataResponseSerializerProtocol { - /// The type of serialized object to be created by this `DataResponseSerializer`. - public typealias SerializedObject = Value - - /// A closure used by response handlers that takes a request, response, data and error and returns a result. - public var serializeResponse: (URLRequest?, HTTPURLResponse?, Data?, Error?) -> Result - - /// Initializes the `ResponseSerializer` instance with the given serialize response closure. - /// - /// - parameter serializeResponse: The closure used to serialize the response. - /// - /// - returns: The new generic response serializer instance. - public init(serializeResponse: @escaping (URLRequest?, HTTPURLResponse?, Data?, Error?) -> Result) { - self.serializeResponse = serializeResponse - } -} - -// MARK: - - -/// The type in which all download response serializers must conform to in order to serialize a response. -public protocol DownloadResponseSerializerProtocol { - /// The type of serialized object to be created by this `DownloadResponseSerializerType`. - associatedtype SerializedObject - - /// A closure used by response handlers that takes a request, response, url and error and returns a result. - var serializeResponse: (URLRequest?, HTTPURLResponse?, URL?, Error?) -> Result { get } -} - -// MARK: - - -/// A generic `DownloadResponseSerializerType` used to serialize a request, response, and data into a serialized object. -public struct DownloadResponseSerializer: DownloadResponseSerializerProtocol { - /// The type of serialized object to be created by this `DownloadResponseSerializer`. - public typealias SerializedObject = Value - - /// A closure used by response handlers that takes a request, response, url and error and returns a result. - public var serializeResponse: (URLRequest?, HTTPURLResponse?, URL?, Error?) -> Result - - /// Initializes the `ResponseSerializer` instance with the given serialize response closure. - /// - /// - parameter serializeResponse: The closure used to serialize the response. - /// - /// - returns: The new generic response serializer instance. - public init(serializeResponse: @escaping (URLRequest?, HTTPURLResponse?, URL?, Error?) -> Result) { - self.serializeResponse = serializeResponse - } -} - -// MARK: - Timeline - -extension Request { - var timeline: Timeline { - let requestStartTime = self.startTime ?? CFAbsoluteTimeGetCurrent() - let requestCompletedTime = self.endTime ?? CFAbsoluteTimeGetCurrent() - let initialResponseTime = self.delegate.initialResponseTime ?? requestCompletedTime - - return Timeline( - requestStartTime: requestStartTime, - initialResponseTime: initialResponseTime, - requestCompletedTime: requestCompletedTime, - serializationCompletedTime: CFAbsoluteTimeGetCurrent() - ) - } -} - -// MARK: - Default - -extension DataRequest { - /// Adds a handler to be called once the request has finished. - /// - /// - parameter queue: The queue on which the completion handler is dispatched. - /// - parameter completionHandler: The code to be executed once the request has finished. - /// - /// - returns: The request. - @discardableResult - public func response(queue: DispatchQueue? = nil, completionHandler: @escaping (DefaultDataResponse) -> Void) -> Self { - delegate.queue.addOperation { - (queue ?? DispatchQueue.main).async { - var dataResponse = DefaultDataResponse( - request: self.request, - response: self.response, - data: self.delegate.data, - error: self.delegate.error, - timeline: self.timeline - ) - - dataResponse.add(self.delegate.metrics) - - completionHandler(dataResponse) - } - } - - return self - } - - /// Adds a handler to be called once the request has finished. - /// - /// - parameter queue: The queue on which the completion handler is dispatched. - /// - parameter responseSerializer: The response serializer responsible for serializing the request, response, - /// and data. - /// - parameter completionHandler: The code to be executed once the request has finished. - /// - /// - returns: The request. - @discardableResult - public func response( - queue: DispatchQueue? = nil, - responseSerializer: T, - completionHandler: @escaping (DataResponse) -> Void) - -> Self - { - delegate.queue.addOperation { - let result = responseSerializer.serializeResponse( - self.request, - self.response, - self.delegate.data, - self.delegate.error - ) - - var dataResponse = DataResponse( - request: self.request, - response: self.response, - data: self.delegate.data, - result: result, - timeline: self.timeline - ) - - dataResponse.add(self.delegate.metrics) - - (queue ?? DispatchQueue.main).async { completionHandler(dataResponse) } - } - - return self - } -} - -extension DownloadRequest { - /// Adds a handler to be called once the request has finished. - /// - /// - parameter queue: The queue on which the completion handler is dispatched. - /// - parameter completionHandler: The code to be executed once the request has finished. - /// - /// - returns: The request. - @discardableResult - public func response( - queue: DispatchQueue? = nil, - completionHandler: @escaping (DefaultDownloadResponse) -> Void) - -> Self - { - delegate.queue.addOperation { - (queue ?? DispatchQueue.main).async { - var downloadResponse = DefaultDownloadResponse( - request: self.request, - response: self.response, - temporaryURL: self.downloadDelegate.temporaryURL, - destinationURL: self.downloadDelegate.destinationURL, - resumeData: self.downloadDelegate.resumeData, - error: self.downloadDelegate.error, - timeline: self.timeline - ) - - downloadResponse.add(self.delegate.metrics) - - completionHandler(downloadResponse) - } - } - - return self - } - - /// Adds a handler to be called once the request has finished. - /// - /// - parameter queue: The queue on which the completion handler is dispatched. - /// - parameter responseSerializer: The response serializer responsible for serializing the request, response, - /// and data contained in the destination url. - /// - parameter completionHandler: The code to be executed once the request has finished. - /// - /// - returns: The request. - @discardableResult - public func response( - queue: DispatchQueue? = nil, - responseSerializer: T, - completionHandler: @escaping (DownloadResponse) -> Void) - -> Self - { - delegate.queue.addOperation { - let result = responseSerializer.serializeResponse( - self.request, - self.response, - self.downloadDelegate.fileURL, - self.downloadDelegate.error - ) - - var downloadResponse = DownloadResponse( - request: self.request, - response: self.response, - temporaryURL: self.downloadDelegate.temporaryURL, - destinationURL: self.downloadDelegate.destinationURL, - resumeData: self.downloadDelegate.resumeData, - result: result, - timeline: self.timeline - ) - - downloadResponse.add(self.delegate.metrics) - - (queue ?? DispatchQueue.main).async { completionHandler(downloadResponse) } - } - - return self - } -} - -// MARK: - Data - -extension Request { - /// Returns a result data type that contains the response data as-is. - /// - /// - parameter response: The response from the server. - /// - parameter data: The data returned from the server. - /// - parameter error: The error already encountered if it exists. - /// - /// - returns: The result data type. - public static func serializeResponseData(response: HTTPURLResponse?, data: Data?, error: Error?) -> Result { - guard error == nil else { return .failure(error!) } - - if let response = response, emptyDataStatusCodes.contains(response.statusCode) { return .success(Data()) } - - guard let validData = data else { - return .failure(AFError.responseSerializationFailed(reason: .inputDataNil)) - } - - return .success(validData) - } -} - -extension DataRequest { - /// Creates a response serializer that returns the associated data as-is. - /// - /// - returns: A data response serializer. - public static func dataResponseSerializer() -> DataResponseSerializer { - return DataResponseSerializer { _, response, data, error in - return Request.serializeResponseData(response: response, data: data, error: error) - } - } - - /// Adds a handler to be called once the request has finished. - /// - /// - parameter completionHandler: The code to be executed once the request has finished. - /// - /// - returns: The request. - @discardableResult - public func responseData( - queue: DispatchQueue? = nil, - completionHandler: @escaping (DataResponse) -> Void) - -> Self - { - return response( - queue: queue, - responseSerializer: DataRequest.dataResponseSerializer(), - completionHandler: completionHandler - ) - } -} - -extension DownloadRequest { - /// Creates a response serializer that returns the associated data as-is. - /// - /// - returns: A data response serializer. - public static func dataResponseSerializer() -> DownloadResponseSerializer { - return DownloadResponseSerializer { _, response, fileURL, error in - guard error == nil else { return .failure(error!) } - - guard let fileURL = fileURL else { - return .failure(AFError.responseSerializationFailed(reason: .inputFileNil)) - } - - do { - let data = try Data(contentsOf: fileURL) - return Request.serializeResponseData(response: response, data: data, error: error) - } catch { - return .failure(AFError.responseSerializationFailed(reason: .inputFileReadFailed(at: fileURL))) - } - } - } - - /// Adds a handler to be called once the request has finished. - /// - /// - parameter completionHandler: The code to be executed once the request has finished. - /// - /// - returns: The request. - @discardableResult - public func responseData( - queue: DispatchQueue? = nil, - completionHandler: @escaping (DownloadResponse) -> Void) - -> Self - { - return response( - queue: queue, - responseSerializer: DownloadRequest.dataResponseSerializer(), - completionHandler: completionHandler - ) - } -} - -// MARK: - String - -extension Request { - /// Returns a result string type initialized from the response data with the specified string encoding. - /// - /// - parameter encoding: The string encoding. If `nil`, the string encoding will be determined from the server - /// response, falling back to the default HTTP default character set, ISO-8859-1. - /// - parameter response: The response from the server. - /// - parameter data: The data returned from the server. - /// - parameter error: The error already encountered if it exists. - /// - /// - returns: The result data type. - public static func serializeResponseString( - encoding: String.Encoding?, - response: HTTPURLResponse?, - data: Data?, - error: Error?) - -> Result - { - guard error == nil else { return .failure(error!) } - - if let response = response, emptyDataStatusCodes.contains(response.statusCode) { return .success("") } - - guard let validData = data else { - return .failure(AFError.responseSerializationFailed(reason: .inputDataNil)) - } - - var convertedEncoding = encoding - - if let encodingName = response?.textEncodingName as CFString?, convertedEncoding == nil { - convertedEncoding = String.Encoding(rawValue: CFStringConvertEncodingToNSStringEncoding( - CFStringConvertIANACharSetNameToEncoding(encodingName)) - ) - } - - let actualEncoding = convertedEncoding ?? .isoLatin1 - - if let string = String(data: validData, encoding: actualEncoding) { - return .success(string) - } else { - return .failure(AFError.responseSerializationFailed(reason: .stringSerializationFailed(encoding: actualEncoding))) - } - } -} - -extension DataRequest { - /// Creates a response serializer that returns a result string type initialized from the response data with - /// the specified string encoding. - /// - /// - parameter encoding: The string encoding. If `nil`, the string encoding will be determined from the server - /// response, falling back to the default HTTP default character set, ISO-8859-1. - /// - /// - returns: A string response serializer. - public static func stringResponseSerializer(encoding: String.Encoding? = nil) -> DataResponseSerializer { - return DataResponseSerializer { _, response, data, error in - return Request.serializeResponseString(encoding: encoding, response: response, data: data, error: error) - } - } - - /// Adds a handler to be called once the request has finished. - /// - /// - parameter encoding: The string encoding. If `nil`, the string encoding will be determined from the - /// server response, falling back to the default HTTP default character set, - /// ISO-8859-1. - /// - parameter completionHandler: A closure to be executed once the request has finished. - /// - /// - returns: The request. - @discardableResult - public func responseString( - queue: DispatchQueue? = nil, - encoding: String.Encoding? = nil, - completionHandler: @escaping (DataResponse) -> Void) - -> Self - { - return response( - queue: queue, - responseSerializer: DataRequest.stringResponseSerializer(encoding: encoding), - completionHandler: completionHandler - ) - } -} - -extension DownloadRequest { - /// Creates a response serializer that returns a result string type initialized from the response data with - /// the specified string encoding. - /// - /// - parameter encoding: The string encoding. If `nil`, the string encoding will be determined from the server - /// response, falling back to the default HTTP default character set, ISO-8859-1. - /// - /// - returns: A string response serializer. - public static func stringResponseSerializer(encoding: String.Encoding? = nil) -> DownloadResponseSerializer { - return DownloadResponseSerializer { _, response, fileURL, error in - guard error == nil else { return .failure(error!) } - - guard let fileURL = fileURL else { - return .failure(AFError.responseSerializationFailed(reason: .inputFileNil)) - } - - do { - let data = try Data(contentsOf: fileURL) - return Request.serializeResponseString(encoding: encoding, response: response, data: data, error: error) - } catch { - return .failure(AFError.responseSerializationFailed(reason: .inputFileReadFailed(at: fileURL))) - } - } - } - - /// Adds a handler to be called once the request has finished. - /// - /// - parameter encoding: The string encoding. If `nil`, the string encoding will be determined from the - /// server response, falling back to the default HTTP default character set, - /// ISO-8859-1. - /// - parameter completionHandler: A closure to be executed once the request has finished. - /// - /// - returns: The request. - @discardableResult - public func responseString( - queue: DispatchQueue? = nil, - encoding: String.Encoding? = nil, - completionHandler: @escaping (DownloadResponse) -> Void) - -> Self - { - return response( - queue: queue, - responseSerializer: DownloadRequest.stringResponseSerializer(encoding: encoding), - completionHandler: completionHandler - ) - } -} - -// MARK: - JSON - -extension Request { - /// Returns a JSON object contained in a result type constructed from the response data using `JSONSerialization` - /// with the specified reading options. - /// - /// - parameter options: The JSON serialization reading options. Defaults to `.allowFragments`. - /// - parameter response: The response from the server. - /// - parameter data: The data returned from the server. - /// - parameter error: The error already encountered if it exists. - /// - /// - returns: The result data type. - public static func serializeResponseJSON( - options: JSONSerialization.ReadingOptions, - response: HTTPURLResponse?, - data: Data?, - error: Error?) - -> Result - { - guard error == nil else { return .failure(error!) } - - if let response = response, emptyDataStatusCodes.contains(response.statusCode) { return .success(NSNull()) } - - guard let validData = data, validData.count > 0 else { - return .failure(AFError.responseSerializationFailed(reason: .inputDataNilOrZeroLength)) - } - - do { - let json = try JSONSerialization.jsonObject(with: validData, options: options) - return .success(json) - } catch { - return .failure(AFError.responseSerializationFailed(reason: .jsonSerializationFailed(error: error))) - } - } -} - -extension DataRequest { - /// Creates a response serializer that returns a JSON object result type constructed from the response data using - /// `JSONSerialization` with the specified reading options. - /// - /// - parameter options: The JSON serialization reading options. Defaults to `.allowFragments`. - /// - /// - returns: A JSON object response serializer. - public static func jsonResponseSerializer( - options: JSONSerialization.ReadingOptions = .allowFragments) - -> DataResponseSerializer - { - return DataResponseSerializer { _, response, data, error in - return Request.serializeResponseJSON(options: options, response: response, data: data, error: error) - } - } - - /// Adds a handler to be called once the request has finished. - /// - /// - parameter options: The JSON serialization reading options. Defaults to `.allowFragments`. - /// - parameter completionHandler: A closure to be executed once the request has finished. - /// - /// - returns: The request. - @discardableResult - public func responseJSON( - queue: DispatchQueue? = nil, - options: JSONSerialization.ReadingOptions = .allowFragments, - completionHandler: @escaping (DataResponse) -> Void) - -> Self - { - return response( - queue: queue, - responseSerializer: DataRequest.jsonResponseSerializer(options: options), - completionHandler: completionHandler - ) - } -} - -extension DownloadRequest { - /// Creates a response serializer that returns a JSON object result type constructed from the response data using - /// `JSONSerialization` with the specified reading options. - /// - /// - parameter options: The JSON serialization reading options. Defaults to `.allowFragments`. - /// - /// - returns: A JSON object response serializer. - public static func jsonResponseSerializer( - options: JSONSerialization.ReadingOptions = .allowFragments) - -> DownloadResponseSerializer - { - return DownloadResponseSerializer { _, response, fileURL, error in - guard error == nil else { return .failure(error!) } - - guard let fileURL = fileURL else { - return .failure(AFError.responseSerializationFailed(reason: .inputFileNil)) - } - - do { - let data = try Data(contentsOf: fileURL) - return Request.serializeResponseJSON(options: options, response: response, data: data, error: error) - } catch { - return .failure(AFError.responseSerializationFailed(reason: .inputFileReadFailed(at: fileURL))) - } - } - } - - /// Adds a handler to be called once the request has finished. - /// - /// - parameter options: The JSON serialization reading options. Defaults to `.allowFragments`. - /// - parameter completionHandler: A closure to be executed once the request has finished. - /// - /// - returns: The request. - @discardableResult - public func responseJSON( - queue: DispatchQueue? = nil, - options: JSONSerialization.ReadingOptions = .allowFragments, - completionHandler: @escaping (DownloadResponse) -> Void) - -> Self - { - return response( - queue: queue, - responseSerializer: DownloadRequest.jsonResponseSerializer(options: options), - completionHandler: completionHandler - ) - } -} - -// MARK: - Property List - -extension Request { - /// Returns a plist object contained in a result type constructed from the response data using - /// `PropertyListSerialization` with the specified reading options. - /// - /// - parameter options: The property list reading options. Defaults to `[]`. - /// - parameter response: The response from the server. - /// - parameter data: The data returned from the server. - /// - parameter error: The error already encountered if it exists. - /// - /// - returns: The result data type. - public static func serializeResponsePropertyList( - options: PropertyListSerialization.ReadOptions, - response: HTTPURLResponse?, - data: Data?, - error: Error?) - -> Result - { - guard error == nil else { return .failure(error!) } - - if let response = response, emptyDataStatusCodes.contains(response.statusCode) { return .success(NSNull()) } - - guard let validData = data, validData.count > 0 else { - return .failure(AFError.responseSerializationFailed(reason: .inputDataNilOrZeroLength)) - } - - do { - let plist = try PropertyListSerialization.propertyList(from: validData, options: options, format: nil) - return .success(plist) - } catch { - return .failure(AFError.responseSerializationFailed(reason: .propertyListSerializationFailed(error: error))) - } - } -} - -extension DataRequest { - /// Creates a response serializer that returns an object constructed from the response data using - /// `PropertyListSerialization` with the specified reading options. - /// - /// - parameter options: The property list reading options. Defaults to `[]`. - /// - /// - returns: A property list object response serializer. - public static func propertyListResponseSerializer( - options: PropertyListSerialization.ReadOptions = []) - -> DataResponseSerializer - { - return DataResponseSerializer { _, response, data, error in - return Request.serializeResponsePropertyList(options: options, response: response, data: data, error: error) - } - } - - /// Adds a handler to be called once the request has finished. - /// - /// - parameter options: The property list reading options. Defaults to `[]`. - /// - parameter completionHandler: A closure to be executed once the request has finished. - /// - /// - returns: The request. - @discardableResult - public func responsePropertyList( - queue: DispatchQueue? = nil, - options: PropertyListSerialization.ReadOptions = [], - completionHandler: @escaping (DataResponse) -> Void) - -> Self - { - return response( - queue: queue, - responseSerializer: DataRequest.propertyListResponseSerializer(options: options), - completionHandler: completionHandler - ) - } -} - -extension DownloadRequest { - /// Creates a response serializer that returns an object constructed from the response data using - /// `PropertyListSerialization` with the specified reading options. - /// - /// - parameter options: The property list reading options. Defaults to `[]`. - /// - /// - returns: A property list object response serializer. - public static func propertyListResponseSerializer( - options: PropertyListSerialization.ReadOptions = []) - -> DownloadResponseSerializer - { - return DownloadResponseSerializer { _, response, fileURL, error in - guard error == nil else { return .failure(error!) } - - guard let fileURL = fileURL else { - return .failure(AFError.responseSerializationFailed(reason: .inputFileNil)) - } - - do { - let data = try Data(contentsOf: fileURL) - return Request.serializeResponsePropertyList(options: options, response: response, data: data, error: error) - } catch { - return .failure(AFError.responseSerializationFailed(reason: .inputFileReadFailed(at: fileURL))) - } - } - } - - /// Adds a handler to be called once the request has finished. - /// - /// - parameter options: The property list reading options. Defaults to `[]`. - /// - parameter completionHandler: A closure to be executed once the request has finished. - /// - /// - returns: The request. - @discardableResult - public func responsePropertyList( - queue: DispatchQueue? = nil, - options: PropertyListSerialization.ReadOptions = [], - completionHandler: @escaping (DownloadResponse) -> Void) - -> Self - { - return response( - queue: queue, - responseSerializer: DownloadRequest.propertyListResponseSerializer(options: options), - completionHandler: completionHandler - ) - } -} - -/// A set of HTTP response status code that do not contain response data. -private let emptyDataStatusCodes: Set = [204, 205] diff --git a/Example/web3swiftExample/Pods/Alamofire/Source/Result.swift b/Example/web3swiftExample/Pods/Alamofire/Source/Result.swift deleted file mode 100755 index df62e12ca..000000000 --- a/Example/web3swiftExample/Pods/Alamofire/Source/Result.swift +++ /dev/null @@ -1,300 +0,0 @@ -// -// Result.swift -// -// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -import Foundation - -/// Used to represent whether a request was successful or encountered an error. -/// -/// - success: The request and all post processing operations were successful resulting in the serialization of the -/// provided associated value. -/// -/// - failure: The request encountered an error resulting in a failure. The associated values are the original data -/// provided by the server as well as the error that caused the failure. -public enum Result { - case success(Value) - case failure(Error) - - /// Returns `true` if the result is a success, `false` otherwise. - public var isSuccess: Bool { - switch self { - case .success: - return true - case .failure: - return false - } - } - - /// Returns `true` if the result is a failure, `false` otherwise. - public var isFailure: Bool { - return !isSuccess - } - - /// Returns the associated value if the result is a success, `nil` otherwise. - public var value: Value? { - switch self { - case .success(let value): - return value - case .failure: - return nil - } - } - - /// Returns the associated error value if the result is a failure, `nil` otherwise. - public var error: Error? { - switch self { - case .success: - return nil - case .failure(let error): - return error - } - } -} - -// MARK: - CustomStringConvertible - -extension Result: CustomStringConvertible { - /// The textual representation used when written to an output stream, which includes whether the result was a - /// success or failure. - public var description: String { - switch self { - case .success: - return "SUCCESS" - case .failure: - return "FAILURE" - } - } -} - -// MARK: - CustomDebugStringConvertible - -extension Result: CustomDebugStringConvertible { - /// The debug textual representation used when written to an output stream, which includes whether the result was a - /// success or failure in addition to the value or error. - public var debugDescription: String { - switch self { - case .success(let value): - return "SUCCESS: \(value)" - case .failure(let error): - return "FAILURE: \(error)" - } - } -} - -// MARK: - Functional APIs - -extension Result { - /// Creates a `Result` instance from the result of a closure. - /// - /// A failure result is created when the closure throws, and a success result is created when the closure - /// succeeds without throwing an error. - /// - /// func someString() throws -> String { ... } - /// - /// let result = Result(value: { - /// return try someString() - /// }) - /// - /// // The type of result is Result - /// - /// The trailing closure syntax is also supported: - /// - /// let result = Result { try someString() } - /// - /// - parameter value: The closure to execute and create the result for. - public init(value: () throws -> Value) { - do { - self = try .success(value()) - } catch { - self = .failure(error) - } - } - - /// Returns the success value, or throws the failure error. - /// - /// let possibleString: Result = .success("success") - /// try print(possibleString.unwrap()) - /// // Prints "success" - /// - /// let noString: Result = .failure(error) - /// try print(noString.unwrap()) - /// // Throws error - public func unwrap() throws -> Value { - switch self { - case .success(let value): - return value - case .failure(let error): - throw error - } - } - - /// Evaluates the specified closure when the `Result` is a success, passing the unwrapped value as a parameter. - /// - /// Use the `map` method with a closure that does not throw. For example: - /// - /// let possibleData: Result = .success(Data()) - /// let possibleInt = possibleData.map { $0.count } - /// try print(possibleInt.unwrap()) - /// // Prints "0" - /// - /// let noData: Result = .failure(error) - /// let noInt = noData.map { $0.count } - /// try print(noInt.unwrap()) - /// // Throws error - /// - /// - parameter transform: A closure that takes the success value of the `Result` instance. - /// - /// - returns: A `Result` containing the result of the given closure. If this instance is a failure, returns the - /// same failure. - public func map(_ transform: (Value) -> T) -> Result { - switch self { - case .success(let value): - return .success(transform(value)) - case .failure(let error): - return .failure(error) - } - } - - /// Evaluates the specified closure when the `Result` is a success, passing the unwrapped value as a parameter. - /// - /// Use the `flatMap` method with a closure that may throw an error. For example: - /// - /// let possibleData: Result = .success(Data(...)) - /// let possibleObject = possibleData.flatMap { - /// try JSONSerialization.jsonObject(with: $0) - /// } - /// - /// - parameter transform: A closure that takes the success value of the instance. - /// - /// - returns: A `Result` containing the result of the given closure. If this instance is a failure, returns the - /// same failure. - public func flatMap(_ transform: (Value) throws -> T) -> Result { - switch self { - case .success(let value): - do { - return try .success(transform(value)) - } catch { - return .failure(error) - } - case .failure(let error): - return .failure(error) - } - } - - /// Evaluates the specified closure when the `Result` is a failure, passing the unwrapped error as a parameter. - /// - /// Use the `mapError` function with a closure that does not throw. For example: - /// - /// let possibleData: Result = .failure(someError) - /// let withMyError: Result = possibleData.mapError { MyError.error($0) } - /// - /// - Parameter transform: A closure that takes the error of the instance. - /// - Returns: A `Result` instance containing the result of the transform. If this instance is a success, returns - /// the same instance. - public func mapError(_ transform: (Error) -> T) -> Result { - switch self { - case .failure(let error): - return .failure(transform(error)) - case .success: - return self - } - } - - /// Evaluates the specified closure when the `Result` is a failure, passing the unwrapped error as a parameter. - /// - /// Use the `flatMapError` function with a closure that may throw an error. For example: - /// - /// let possibleData: Result = .success(Data(...)) - /// let possibleObject = possibleData.flatMapError { - /// try someFailableFunction(taking: $0) - /// } - /// - /// - Parameter transform: A throwing closure that takes the error of the instance. - /// - /// - Returns: A `Result` instance containing the result of the transform. If this instance is a success, returns - /// the same instance. - public func flatMapError(_ transform: (Error) throws -> T) -> Result { - switch self { - case .failure(let error): - do { - return try .failure(transform(error)) - } catch { - return .failure(error) - } - case .success: - return self - } - } - - /// Evaluates the specified closure when the `Result` is a success, passing the unwrapped value as a parameter. - /// - /// Use the `withValue` function to evaluate the passed closure without modifying the `Result` instance. - /// - /// - Parameter closure: A closure that takes the success value of this instance. - /// - Returns: This `Result` instance, unmodified. - @discardableResult - public func withValue(_ closure: (Value) -> Void) -> Result { - if case let .success(value) = self { closure(value) } - - return self - } - - /// Evaluates the specified closure when the `Result` is a failure, passing the unwrapped error as a parameter. - /// - /// Use the `withError` function to evaluate the passed closure without modifying the `Result` instance. - /// - /// - Parameter closure: A closure that takes the success value of this instance. - /// - Returns: This `Result` instance, unmodified. - @discardableResult - public func withError(_ closure: (Error) -> Void) -> Result { - if case let .failure(error) = self { closure(error) } - - return self - } - - /// Evaluates the specified closure when the `Result` is a success. - /// - /// Use the `ifSuccess` function to evaluate the passed closure without modifying the `Result` instance. - /// - /// - Parameter closure: A `Void` closure. - /// - Returns: This `Result` instance, unmodified. - @discardableResult - public func ifSuccess(_ closure: () -> Void) -> Result { - if isSuccess { closure() } - - return self - } - - /// Evaluates the specified closure when the `Result` is a failure. - /// - /// Use the `ifFailure` function to evaluate the passed closure without modifying the `Result` instance. - /// - /// - Parameter closure: A `Void` closure. - /// - Returns: This `Result` instance, unmodified. - @discardableResult - public func ifFailure(_ closure: () -> Void) -> Result { - if isFailure { closure() } - - return self - } -} diff --git a/Example/web3swiftExample/Pods/Alamofire/Source/ServerTrustPolicy.swift b/Example/web3swiftExample/Pods/Alamofire/Source/ServerTrustPolicy.swift deleted file mode 100755 index a644ad85b..000000000 --- a/Example/web3swiftExample/Pods/Alamofire/Source/ServerTrustPolicy.swift +++ /dev/null @@ -1,307 +0,0 @@ -// -// ServerTrustPolicy.swift -// -// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -import Foundation - -/// Responsible for managing the mapping of `ServerTrustPolicy` objects to a given host. -open class ServerTrustPolicyManager { - /// The dictionary of policies mapped to a particular host. - open let policies: [String: ServerTrustPolicy] - - /// Initializes the `ServerTrustPolicyManager` instance with the given policies. - /// - /// Since different servers and web services can have different leaf certificates, intermediate and even root - /// certficates, it is important to have the flexibility to specify evaluation policies on a per host basis. This - /// allows for scenarios such as using default evaluation for host1, certificate pinning for host2, public key - /// pinning for host3 and disabling evaluation for host4. - /// - /// - parameter policies: A dictionary of all policies mapped to a particular host. - /// - /// - returns: The new `ServerTrustPolicyManager` instance. - public init(policies: [String: ServerTrustPolicy]) { - self.policies = policies - } - - /// Returns the `ServerTrustPolicy` for the given host if applicable. - /// - /// By default, this method will return the policy that perfectly matches the given host. Subclasses could override - /// this method and implement more complex mapping implementations such as wildcards. - /// - /// - parameter host: The host to use when searching for a matching policy. - /// - /// - returns: The server trust policy for the given host if found. - open func serverTrustPolicy(forHost host: String) -> ServerTrustPolicy? { - return policies[host] - } -} - -// MARK: - - -extension URLSession { - private struct AssociatedKeys { - static var managerKey = "URLSession.ServerTrustPolicyManager" - } - - var serverTrustPolicyManager: ServerTrustPolicyManager? { - get { - return objc_getAssociatedObject(self, &AssociatedKeys.managerKey) as? ServerTrustPolicyManager - } - set (manager) { - objc_setAssociatedObject(self, &AssociatedKeys.managerKey, manager, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) - } - } -} - -// MARK: - ServerTrustPolicy - -/// The `ServerTrustPolicy` evaluates the server trust generally provided by an `NSURLAuthenticationChallenge` when -/// connecting to a server over a secure HTTPS connection. The policy configuration then evaluates the server trust -/// with a given set of criteria to determine whether the server trust is valid and the connection should be made. -/// -/// Using pinned certificates or public keys for evaluation helps prevent man-in-the-middle (MITM) attacks and other -/// vulnerabilities. Applications dealing with sensitive customer data or financial information are strongly encouraged -/// to route all communication over an HTTPS connection with pinning enabled. -/// -/// - performDefaultEvaluation: Uses the default server trust evaluation while allowing you to control whether to -/// validate the host provided by the challenge. Applications are encouraged to always -/// validate the host in production environments to guarantee the validity of the server's -/// certificate chain. -/// -/// - performRevokedEvaluation: Uses the default and revoked server trust evaluations allowing you to control whether to -/// validate the host provided by the challenge as well as specify the revocation flags for -/// testing for revoked certificates. Apple platforms did not start testing for revoked -/// certificates automatically until iOS 10.1, macOS 10.12 and tvOS 10.1 which is -/// demonstrated in our TLS tests. Applications are encouraged to always validate the host -/// in production environments to guarantee the validity of the server's certificate chain. -/// -/// - pinCertificates: Uses the pinned certificates to validate the server trust. The server trust is -/// considered valid if one of the pinned certificates match one of the server certificates. -/// By validating both the certificate chain and host, certificate pinning provides a very -/// secure form of server trust validation mitigating most, if not all, MITM attacks. -/// Applications are encouraged to always validate the host and require a valid certificate -/// chain in production environments. -/// -/// - pinPublicKeys: Uses the pinned public keys to validate the server trust. The server trust is considered -/// valid if one of the pinned public keys match one of the server certificate public keys. -/// By validating both the certificate chain and host, public key pinning provides a very -/// secure form of server trust validation mitigating most, if not all, MITM attacks. -/// Applications are encouraged to always validate the host and require a valid certificate -/// chain in production environments. -/// -/// - disableEvaluation: Disables all evaluation which in turn will always consider any server trust as valid. -/// -/// - customEvaluation: Uses the associated closure to evaluate the validity of the server trust. -public enum ServerTrustPolicy { - case performDefaultEvaluation(validateHost: Bool) - case performRevokedEvaluation(validateHost: Bool, revocationFlags: CFOptionFlags) - case pinCertificates(certificates: [SecCertificate], validateCertificateChain: Bool, validateHost: Bool) - case pinPublicKeys(publicKeys: [SecKey], validateCertificateChain: Bool, validateHost: Bool) - case disableEvaluation - case customEvaluation((_ serverTrust: SecTrust, _ host: String) -> Bool) - - // MARK: - Bundle Location - - /// Returns all certificates within the given bundle with a `.cer` file extension. - /// - /// - parameter bundle: The bundle to search for all `.cer` files. - /// - /// - returns: All certificates within the given bundle. - public static func certificates(in bundle: Bundle = Bundle.main) -> [SecCertificate] { - var certificates: [SecCertificate] = [] - - let paths = Set([".cer", ".CER", ".crt", ".CRT", ".der", ".DER"].map { fileExtension in - bundle.paths(forResourcesOfType: fileExtension, inDirectory: nil) - }.joined()) - - for path in paths { - if - let certificateData = try? Data(contentsOf: URL(fileURLWithPath: path)) as CFData, - let certificate = SecCertificateCreateWithData(nil, certificateData) - { - certificates.append(certificate) - } - } - - return certificates - } - - /// Returns all public keys within the given bundle with a `.cer` file extension. - /// - /// - parameter bundle: The bundle to search for all `*.cer` files. - /// - /// - returns: All public keys within the given bundle. - public static func publicKeys(in bundle: Bundle = Bundle.main) -> [SecKey] { - var publicKeys: [SecKey] = [] - - for certificate in certificates(in: bundle) { - if let publicKey = publicKey(for: certificate) { - publicKeys.append(publicKey) - } - } - - return publicKeys - } - - // MARK: - Evaluation - - /// Evaluates whether the server trust is valid for the given host. - /// - /// - parameter serverTrust: The server trust to evaluate. - /// - parameter host: The host of the challenge protection space. - /// - /// - returns: Whether the server trust is valid. - public func evaluate(_ serverTrust: SecTrust, forHost host: String) -> Bool { - var serverTrustIsValid = false - - switch self { - case let .performDefaultEvaluation(validateHost): - let policy = SecPolicyCreateSSL(true, validateHost ? host as CFString : nil) - SecTrustSetPolicies(serverTrust, policy) - - serverTrustIsValid = trustIsValid(serverTrust) - case let .performRevokedEvaluation(validateHost, revocationFlags): - let defaultPolicy = SecPolicyCreateSSL(true, validateHost ? host as CFString : nil) - let revokedPolicy = SecPolicyCreateRevocation(revocationFlags) - SecTrustSetPolicies(serverTrust, [defaultPolicy, revokedPolicy] as CFTypeRef) - - serverTrustIsValid = trustIsValid(serverTrust) - case let .pinCertificates(pinnedCertificates, validateCertificateChain, validateHost): - if validateCertificateChain { - let policy = SecPolicyCreateSSL(true, validateHost ? host as CFString : nil) - SecTrustSetPolicies(serverTrust, policy) - - SecTrustSetAnchorCertificates(serverTrust, pinnedCertificates as CFArray) - SecTrustSetAnchorCertificatesOnly(serverTrust, true) - - serverTrustIsValid = trustIsValid(serverTrust) - } else { - let serverCertificatesDataArray = certificateData(for: serverTrust) - let pinnedCertificatesDataArray = certificateData(for: pinnedCertificates) - - outerLoop: for serverCertificateData in serverCertificatesDataArray { - for pinnedCertificateData in pinnedCertificatesDataArray { - if serverCertificateData == pinnedCertificateData { - serverTrustIsValid = true - break outerLoop - } - } - } - } - case let .pinPublicKeys(pinnedPublicKeys, validateCertificateChain, validateHost): - var certificateChainEvaluationPassed = true - - if validateCertificateChain { - let policy = SecPolicyCreateSSL(true, validateHost ? host as CFString : nil) - SecTrustSetPolicies(serverTrust, policy) - - certificateChainEvaluationPassed = trustIsValid(serverTrust) - } - - if certificateChainEvaluationPassed { - outerLoop: for serverPublicKey in ServerTrustPolicy.publicKeys(for: serverTrust) as [AnyObject] { - for pinnedPublicKey in pinnedPublicKeys as [AnyObject] { - if serverPublicKey.isEqual(pinnedPublicKey) { - serverTrustIsValid = true - break outerLoop - } - } - } - } - case .disableEvaluation: - serverTrustIsValid = true - case let .customEvaluation(closure): - serverTrustIsValid = closure(serverTrust, host) - } - - return serverTrustIsValid - } - - // MARK: - Private - Trust Validation - - private func trustIsValid(_ trust: SecTrust) -> Bool { - var isValid = false - - var result = SecTrustResultType.invalid - let status = SecTrustEvaluate(trust, &result) - - if status == errSecSuccess { - let unspecified = SecTrustResultType.unspecified - let proceed = SecTrustResultType.proceed - - - isValid = result == unspecified || result == proceed - } - - return isValid - } - - // MARK: - Private - Certificate Data - - private func certificateData(for trust: SecTrust) -> [Data] { - var certificates: [SecCertificate] = [] - - for index in 0.. [Data] { - return certificates.map { SecCertificateCopyData($0) as Data } - } - - // MARK: - Private - Public Key Extraction - - private static func publicKeys(for trust: SecTrust) -> [SecKey] { - var publicKeys: [SecKey] = [] - - for index in 0.. SecKey? { - var publicKey: SecKey? - - let policy = SecPolicyCreateBasicX509() - var trust: SecTrust? - let trustCreationStatus = SecTrustCreateWithCertificates(certificate, policy, &trust) - - if let trust = trust, trustCreationStatus == errSecSuccess { - publicKey = SecTrustCopyPublicKey(trust) - } - - return publicKey - } -} diff --git a/Example/web3swiftExample/Pods/Alamofire/Source/SessionDelegate.swift b/Example/web3swiftExample/Pods/Alamofire/Source/SessionDelegate.swift deleted file mode 100755 index 03bcb7ced..000000000 --- a/Example/web3swiftExample/Pods/Alamofire/Source/SessionDelegate.swift +++ /dev/null @@ -1,725 +0,0 @@ -// -// SessionDelegate.swift -// -// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -import Foundation - -/// Responsible for handling all delegate callbacks for the underlying session. -open class SessionDelegate: NSObject { - - // MARK: URLSessionDelegate Overrides - - /// Overrides default behavior for URLSessionDelegate method `urlSession(_:didBecomeInvalidWithError:)`. - open var sessionDidBecomeInvalidWithError: ((URLSession, Error?) -> Void)? - - /// Overrides default behavior for URLSessionDelegate method `urlSession(_:didReceive:completionHandler:)`. - open var sessionDidReceiveChallenge: ((URLSession, URLAuthenticationChallenge) -> (URLSession.AuthChallengeDisposition, URLCredential?))? - - /// Overrides all behavior for URLSessionDelegate method `urlSession(_:didReceive:completionHandler:)` and requires the caller to call the `completionHandler`. - open var sessionDidReceiveChallengeWithCompletion: ((URLSession, URLAuthenticationChallenge, @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) -> Void)? - - /// Overrides default behavior for URLSessionDelegate method `urlSessionDidFinishEvents(forBackgroundURLSession:)`. - open var sessionDidFinishEventsForBackgroundURLSession: ((URLSession) -> Void)? - - // MARK: URLSessionTaskDelegate Overrides - - /// Overrides default behavior for URLSessionTaskDelegate method `urlSession(_:task:willPerformHTTPRedirection:newRequest:completionHandler:)`. - open var taskWillPerformHTTPRedirection: ((URLSession, URLSessionTask, HTTPURLResponse, URLRequest) -> URLRequest?)? - - /// Overrides all behavior for URLSessionTaskDelegate method `urlSession(_:task:willPerformHTTPRedirection:newRequest:completionHandler:)` and - /// requires the caller to call the `completionHandler`. - open var taskWillPerformHTTPRedirectionWithCompletion: ((URLSession, URLSessionTask, HTTPURLResponse, URLRequest, @escaping (URLRequest?) -> Void) -> Void)? - - /// Overrides default behavior for URLSessionTaskDelegate method `urlSession(_:task:didReceive:completionHandler:)`. - open var taskDidReceiveChallenge: ((URLSession, URLSessionTask, URLAuthenticationChallenge) -> (URLSession.AuthChallengeDisposition, URLCredential?))? - - /// Overrides all behavior for URLSessionTaskDelegate method `urlSession(_:task:didReceive:completionHandler:)` and - /// requires the caller to call the `completionHandler`. - open var taskDidReceiveChallengeWithCompletion: ((URLSession, URLSessionTask, URLAuthenticationChallenge, @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) -> Void)? - - /// Overrides default behavior for URLSessionTaskDelegate method `urlSession(_:task:needNewBodyStream:)`. - open var taskNeedNewBodyStream: ((URLSession, URLSessionTask) -> InputStream?)? - - /// Overrides all behavior for URLSessionTaskDelegate method `urlSession(_:task:needNewBodyStream:)` and - /// requires the caller to call the `completionHandler`. - open var taskNeedNewBodyStreamWithCompletion: ((URLSession, URLSessionTask, @escaping (InputStream?) -> Void) -> Void)? - - /// Overrides default behavior for URLSessionTaskDelegate method `urlSession(_:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:)`. - open var taskDidSendBodyData: ((URLSession, URLSessionTask, Int64, Int64, Int64) -> Void)? - - /// Overrides default behavior for URLSessionTaskDelegate method `urlSession(_:task:didCompleteWithError:)`. - open var taskDidComplete: ((URLSession, URLSessionTask, Error?) -> Void)? - - // MARK: URLSessionDataDelegate Overrides - - /// Overrides default behavior for URLSessionDataDelegate method `urlSession(_:dataTask:didReceive:completionHandler:)`. - open var dataTaskDidReceiveResponse: ((URLSession, URLSessionDataTask, URLResponse) -> URLSession.ResponseDisposition)? - - /// Overrides all behavior for URLSessionDataDelegate method `urlSession(_:dataTask:didReceive:completionHandler:)` and - /// requires caller to call the `completionHandler`. - open var dataTaskDidReceiveResponseWithCompletion: ((URLSession, URLSessionDataTask, URLResponse, @escaping (URLSession.ResponseDisposition) -> Void) -> Void)? - - /// Overrides default behavior for URLSessionDataDelegate method `urlSession(_:dataTask:didBecome:)`. - open var dataTaskDidBecomeDownloadTask: ((URLSession, URLSessionDataTask, URLSessionDownloadTask) -> Void)? - - /// Overrides default behavior for URLSessionDataDelegate method `urlSession(_:dataTask:didReceive:)`. - open var dataTaskDidReceiveData: ((URLSession, URLSessionDataTask, Data) -> Void)? - - /// Overrides default behavior for URLSessionDataDelegate method `urlSession(_:dataTask:willCacheResponse:completionHandler:)`. - open var dataTaskWillCacheResponse: ((URLSession, URLSessionDataTask, CachedURLResponse) -> CachedURLResponse?)? - - /// Overrides all behavior for URLSessionDataDelegate method `urlSession(_:dataTask:willCacheResponse:completionHandler:)` and - /// requires caller to call the `completionHandler`. - open var dataTaskWillCacheResponseWithCompletion: ((URLSession, URLSessionDataTask, CachedURLResponse, @escaping (CachedURLResponse?) -> Void) -> Void)? - - // MARK: URLSessionDownloadDelegate Overrides - - /// Overrides default behavior for URLSessionDownloadDelegate method `urlSession(_:downloadTask:didFinishDownloadingTo:)`. - open var downloadTaskDidFinishDownloadingToURL: ((URLSession, URLSessionDownloadTask, URL) -> Void)? - - /// Overrides default behavior for URLSessionDownloadDelegate method `urlSession(_:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:)`. - open var downloadTaskDidWriteData: ((URLSession, URLSessionDownloadTask, Int64, Int64, Int64) -> Void)? - - /// Overrides default behavior for URLSessionDownloadDelegate method `urlSession(_:downloadTask:didResumeAtOffset:expectedTotalBytes:)`. - open var downloadTaskDidResumeAtOffset: ((URLSession, URLSessionDownloadTask, Int64, Int64) -> Void)? - - // MARK: URLSessionStreamDelegate Overrides - -#if !os(watchOS) - - /// Overrides default behavior for URLSessionStreamDelegate method `urlSession(_:readClosedFor:)`. - @available(iOS 9.0, macOS 10.11, tvOS 9.0, *) - open var streamTaskReadClosed: ((URLSession, URLSessionStreamTask) -> Void)? { - get { - return _streamTaskReadClosed as? (URLSession, URLSessionStreamTask) -> Void - } - set { - _streamTaskReadClosed = newValue - } - } - - /// Overrides default behavior for URLSessionStreamDelegate method `urlSession(_:writeClosedFor:)`. - @available(iOS 9.0, macOS 10.11, tvOS 9.0, *) - open var streamTaskWriteClosed: ((URLSession, URLSessionStreamTask) -> Void)? { - get { - return _streamTaskWriteClosed as? (URLSession, URLSessionStreamTask) -> Void - } - set { - _streamTaskWriteClosed = newValue - } - } - - /// Overrides default behavior for URLSessionStreamDelegate method `urlSession(_:betterRouteDiscoveredFor:)`. - @available(iOS 9.0, macOS 10.11, tvOS 9.0, *) - open var streamTaskBetterRouteDiscovered: ((URLSession, URLSessionStreamTask) -> Void)? { - get { - return _streamTaskBetterRouteDiscovered as? (URLSession, URLSessionStreamTask) -> Void - } - set { - _streamTaskBetterRouteDiscovered = newValue - } - } - - /// Overrides default behavior for URLSessionStreamDelegate method `urlSession(_:streamTask:didBecome:outputStream:)`. - @available(iOS 9.0, macOS 10.11, tvOS 9.0, *) - open var streamTaskDidBecomeInputAndOutputStreams: ((URLSession, URLSessionStreamTask, InputStream, OutputStream) -> Void)? { - get { - return _streamTaskDidBecomeInputStream as? (URLSession, URLSessionStreamTask, InputStream, OutputStream) -> Void - } - set { - _streamTaskDidBecomeInputStream = newValue - } - } - - var _streamTaskReadClosed: Any? - var _streamTaskWriteClosed: Any? - var _streamTaskBetterRouteDiscovered: Any? - var _streamTaskDidBecomeInputStream: Any? - -#endif - - // MARK: Properties - - var retrier: RequestRetrier? - weak var sessionManager: SessionManager? - - var requests: [Int: Request] = [:] - private let lock = NSLock() - - /// Access the task delegate for the specified task in a thread-safe manner. - open subscript(task: URLSessionTask) -> Request? { - get { - lock.lock() ; defer { lock.unlock() } - return requests[task.taskIdentifier] - } - set { - lock.lock() ; defer { lock.unlock() } - requests[task.taskIdentifier] = newValue - } - } - - // MARK: Lifecycle - - /// Initializes the `SessionDelegate` instance. - /// - /// - returns: The new `SessionDelegate` instance. - public override init() { - super.init() - } - - // MARK: NSObject Overrides - - /// Returns a `Bool` indicating whether the `SessionDelegate` implements or inherits a method that can respond - /// to a specified message. - /// - /// - parameter selector: A selector that identifies a message. - /// - /// - returns: `true` if the receiver implements or inherits a method that can respond to selector, otherwise `false`. - open override func responds(to selector: Selector) -> Bool { - #if !os(macOS) - if selector == #selector(URLSessionDelegate.urlSessionDidFinishEvents(forBackgroundURLSession:)) { - return sessionDidFinishEventsForBackgroundURLSession != nil - } - #endif - - #if !os(watchOS) - if #available(iOS 9.0, macOS 10.11, tvOS 9.0, *) { - switch selector { - case #selector(URLSessionStreamDelegate.urlSession(_:readClosedFor:)): - return streamTaskReadClosed != nil - case #selector(URLSessionStreamDelegate.urlSession(_:writeClosedFor:)): - return streamTaskWriteClosed != nil - case #selector(URLSessionStreamDelegate.urlSession(_:betterRouteDiscoveredFor:)): - return streamTaskBetterRouteDiscovered != nil - case #selector(URLSessionStreamDelegate.urlSession(_:streamTask:didBecome:outputStream:)): - return streamTaskDidBecomeInputAndOutputStreams != nil - default: - break - } - } - #endif - - switch selector { - case #selector(URLSessionDelegate.urlSession(_:didBecomeInvalidWithError:)): - return sessionDidBecomeInvalidWithError != nil - case #selector(URLSessionDelegate.urlSession(_:didReceive:completionHandler:)): - return (sessionDidReceiveChallenge != nil || sessionDidReceiveChallengeWithCompletion != nil) - case #selector(URLSessionTaskDelegate.urlSession(_:task:willPerformHTTPRedirection:newRequest:completionHandler:)): - return (taskWillPerformHTTPRedirection != nil || taskWillPerformHTTPRedirectionWithCompletion != nil) - case #selector(URLSessionDataDelegate.urlSession(_:dataTask:didReceive:completionHandler:)): - return (dataTaskDidReceiveResponse != nil || dataTaskDidReceiveResponseWithCompletion != nil) - default: - return type(of: self).instancesRespond(to: selector) - } - } -} - -// MARK: - URLSessionDelegate - -extension SessionDelegate: URLSessionDelegate { - /// Tells the delegate that the session has been invalidated. - /// - /// - parameter session: The session object that was invalidated. - /// - parameter error: The error that caused invalidation, or nil if the invalidation was explicit. - open func urlSession(_ session: URLSession, didBecomeInvalidWithError error: Error?) { - sessionDidBecomeInvalidWithError?(session, error) - } - - /// Requests credentials from the delegate in response to a session-level authentication request from the - /// remote server. - /// - /// - parameter session: The session containing the task that requested authentication. - /// - parameter challenge: An object that contains the request for authentication. - /// - parameter completionHandler: A handler that your delegate method must call providing the disposition - /// and credential. - open func urlSession( - _ session: URLSession, - didReceive challenge: URLAuthenticationChallenge, - completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) - { - guard sessionDidReceiveChallengeWithCompletion == nil else { - sessionDidReceiveChallengeWithCompletion?(session, challenge, completionHandler) - return - } - - var disposition: URLSession.AuthChallengeDisposition = .performDefaultHandling - var credential: URLCredential? - - if let sessionDidReceiveChallenge = sessionDidReceiveChallenge { - (disposition, credential) = sessionDidReceiveChallenge(session, challenge) - } else if challenge.protectionSpace.authenticationMethod == NSURLAuthenticationMethodServerTrust { - let host = challenge.protectionSpace.host - - if - let serverTrustPolicy = session.serverTrustPolicyManager?.serverTrustPolicy(forHost: host), - let serverTrust = challenge.protectionSpace.serverTrust - { - if serverTrustPolicy.evaluate(serverTrust, forHost: host) { - disposition = .useCredential - credential = URLCredential(trust: serverTrust) - } else { - disposition = .cancelAuthenticationChallenge - } - } - } - - completionHandler(disposition, credential) - } - -#if !os(macOS) - - /// Tells the delegate that all messages enqueued for a session have been delivered. - /// - /// - parameter session: The session that no longer has any outstanding requests. - open func urlSessionDidFinishEvents(forBackgroundURLSession session: URLSession) { - sessionDidFinishEventsForBackgroundURLSession?(session) - } - -#endif -} - -// MARK: - URLSessionTaskDelegate - -extension SessionDelegate: URLSessionTaskDelegate { - /// Tells the delegate that the remote server requested an HTTP redirect. - /// - /// - parameter session: The session containing the task whose request resulted in a redirect. - /// - parameter task: The task whose request resulted in a redirect. - /// - parameter response: An object containing the server’s response to the original request. - /// - parameter request: A URL request object filled out with the new location. - /// - parameter completionHandler: A closure that your handler should call with either the value of the request - /// parameter, a modified URL request object, or NULL to refuse the redirect and - /// return the body of the redirect response. - open func urlSession( - _ session: URLSession, - task: URLSessionTask, - willPerformHTTPRedirection response: HTTPURLResponse, - newRequest request: URLRequest, - completionHandler: @escaping (URLRequest?) -> Void) - { - guard taskWillPerformHTTPRedirectionWithCompletion == nil else { - taskWillPerformHTTPRedirectionWithCompletion?(session, task, response, request, completionHandler) - return - } - - var redirectRequest: URLRequest? = request - - if let taskWillPerformHTTPRedirection = taskWillPerformHTTPRedirection { - redirectRequest = taskWillPerformHTTPRedirection(session, task, response, request) - } - - completionHandler(redirectRequest) - } - - /// Requests credentials from the delegate in response to an authentication request from the remote server. - /// - /// - parameter session: The session containing the task whose request requires authentication. - /// - parameter task: The task whose request requires authentication. - /// - parameter challenge: An object that contains the request for authentication. - /// - parameter completionHandler: A handler that your delegate method must call providing the disposition - /// and credential. - open func urlSession( - _ session: URLSession, - task: URLSessionTask, - didReceive challenge: URLAuthenticationChallenge, - completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) - { - guard taskDidReceiveChallengeWithCompletion == nil else { - taskDidReceiveChallengeWithCompletion?(session, task, challenge, completionHandler) - return - } - - if let taskDidReceiveChallenge = taskDidReceiveChallenge { - let result = taskDidReceiveChallenge(session, task, challenge) - completionHandler(result.0, result.1) - } else if let delegate = self[task]?.delegate { - delegate.urlSession( - session, - task: task, - didReceive: challenge, - completionHandler: completionHandler - ) - } else { - urlSession(session, didReceive: challenge, completionHandler: completionHandler) - } - } - - /// Tells the delegate when a task requires a new request body stream to send to the remote server. - /// - /// - parameter session: The session containing the task that needs a new body stream. - /// - parameter task: The task that needs a new body stream. - /// - parameter completionHandler: A completion handler that your delegate method should call with the new body stream. - open func urlSession( - _ session: URLSession, - task: URLSessionTask, - needNewBodyStream completionHandler: @escaping (InputStream?) -> Void) - { - guard taskNeedNewBodyStreamWithCompletion == nil else { - taskNeedNewBodyStreamWithCompletion?(session, task, completionHandler) - return - } - - if let taskNeedNewBodyStream = taskNeedNewBodyStream { - completionHandler(taskNeedNewBodyStream(session, task)) - } else if let delegate = self[task]?.delegate { - delegate.urlSession(session, task: task, needNewBodyStream: completionHandler) - } - } - - /// Periodically informs the delegate of the progress of sending body content to the server. - /// - /// - parameter session: The session containing the data task. - /// - parameter task: The data task. - /// - parameter bytesSent: The number of bytes sent since the last time this delegate method was called. - /// - parameter totalBytesSent: The total number of bytes sent so far. - /// - parameter totalBytesExpectedToSend: The expected length of the body data. - open func urlSession( - _ session: URLSession, - task: URLSessionTask, - didSendBodyData bytesSent: Int64, - totalBytesSent: Int64, - totalBytesExpectedToSend: Int64) - { - if let taskDidSendBodyData = taskDidSendBodyData { - taskDidSendBodyData(session, task, bytesSent, totalBytesSent, totalBytesExpectedToSend) - } else if let delegate = self[task]?.delegate as? UploadTaskDelegate { - delegate.URLSession( - session, - task: task, - didSendBodyData: bytesSent, - totalBytesSent: totalBytesSent, - totalBytesExpectedToSend: totalBytesExpectedToSend - ) - } - } - -#if !os(watchOS) - - /// Tells the delegate that the session finished collecting metrics for the task. - /// - /// - parameter session: The session collecting the metrics. - /// - parameter task: The task whose metrics have been collected. - /// - parameter metrics: The collected metrics. - @available(iOS 10.0, macOS 10.12, tvOS 10.0, *) - @objc(URLSession:task:didFinishCollectingMetrics:) - open func urlSession(_ session: URLSession, task: URLSessionTask, didFinishCollecting metrics: URLSessionTaskMetrics) { - self[task]?.delegate.metrics = metrics - } - -#endif - - /// Tells the delegate that the task finished transferring data. - /// - /// - parameter session: The session containing the task whose request finished transferring data. - /// - parameter task: The task whose request finished transferring data. - /// - parameter error: If an error occurred, an error object indicating how the transfer failed, otherwise nil. - open func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) { - /// Executed after it is determined that the request is not going to be retried - let completeTask: (URLSession, URLSessionTask, Error?) -> Void = { [weak self] session, task, error in - guard let strongSelf = self else { return } - - strongSelf.taskDidComplete?(session, task, error) - - strongSelf[task]?.delegate.urlSession(session, task: task, didCompleteWithError: error) - - var userInfo: [String: Any] = [Notification.Key.Task: task] - - if let data = (strongSelf[task]?.delegate as? DataTaskDelegate)?.data { - userInfo[Notification.Key.ResponseData] = data - } - - NotificationCenter.default.post( - name: Notification.Name.Task.DidComplete, - object: strongSelf, - userInfo: userInfo - ) - - strongSelf[task] = nil - } - - guard let request = self[task], let sessionManager = sessionManager else { - completeTask(session, task, error) - return - } - - // Run all validations on the request before checking if an error occurred - request.validations.forEach { $0() } - - // Determine whether an error has occurred - var error: Error? = error - - if request.delegate.error != nil { - error = request.delegate.error - } - - /// If an error occurred and the retrier is set, asynchronously ask the retrier if the request - /// should be retried. Otherwise, complete the task by notifying the task delegate. - if let retrier = retrier, let error = error { - retrier.should(sessionManager, retry: request, with: error) { [weak self] shouldRetry, timeDelay in - guard shouldRetry else { completeTask(session, task, error) ; return } - - DispatchQueue.utility.after(timeDelay) { [weak self] in - guard let strongSelf = self else { return } - - let retrySucceeded = strongSelf.sessionManager?.retry(request) ?? false - - if retrySucceeded, let task = request.task { - strongSelf[task] = request - return - } else { - completeTask(session, task, error) - } - } - } - } else { - completeTask(session, task, error) - } - } -} - -// MARK: - URLSessionDataDelegate - -extension SessionDelegate: URLSessionDataDelegate { - /// Tells the delegate that the data task received the initial reply (headers) from the server. - /// - /// - parameter session: The session containing the data task that received an initial reply. - /// - parameter dataTask: The data task that received an initial reply. - /// - parameter response: A URL response object populated with headers. - /// - parameter completionHandler: A completion handler that your code calls to continue the transfer, passing a - /// constant to indicate whether the transfer should continue as a data task or - /// should become a download task. - open func urlSession( - _ session: URLSession, - dataTask: URLSessionDataTask, - didReceive response: URLResponse, - completionHandler: @escaping (URLSession.ResponseDisposition) -> Void) - { - guard dataTaskDidReceiveResponseWithCompletion == nil else { - dataTaskDidReceiveResponseWithCompletion?(session, dataTask, response, completionHandler) - return - } - - var disposition: URLSession.ResponseDisposition = .allow - - if let dataTaskDidReceiveResponse = dataTaskDidReceiveResponse { - disposition = dataTaskDidReceiveResponse(session, dataTask, response) - } - - completionHandler(disposition) - } - - /// Tells the delegate that the data task was changed to a download task. - /// - /// - parameter session: The session containing the task that was replaced by a download task. - /// - parameter dataTask: The data task that was replaced by a download task. - /// - parameter downloadTask: The new download task that replaced the data task. - open func urlSession( - _ session: URLSession, - dataTask: URLSessionDataTask, - didBecome downloadTask: URLSessionDownloadTask) - { - if let dataTaskDidBecomeDownloadTask = dataTaskDidBecomeDownloadTask { - dataTaskDidBecomeDownloadTask(session, dataTask, downloadTask) - } else { - self[downloadTask]?.delegate = DownloadTaskDelegate(task: downloadTask) - } - } - - /// Tells the delegate that the data task has received some of the expected data. - /// - /// - parameter session: The session containing the data task that provided data. - /// - parameter dataTask: The data task that provided data. - /// - parameter data: A data object containing the transferred data. - open func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) { - if let dataTaskDidReceiveData = dataTaskDidReceiveData { - dataTaskDidReceiveData(session, dataTask, data) - } else if let delegate = self[dataTask]?.delegate as? DataTaskDelegate { - delegate.urlSession(session, dataTask: dataTask, didReceive: data) - } - } - - /// Asks the delegate whether the data (or upload) task should store the response in the cache. - /// - /// - parameter session: The session containing the data (or upload) task. - /// - parameter dataTask: The data (or upload) task. - /// - parameter proposedResponse: The default caching behavior. This behavior is determined based on the current - /// caching policy and the values of certain received headers, such as the Pragma - /// and Cache-Control headers. - /// - parameter completionHandler: A block that your handler must call, providing either the original proposed - /// response, a modified version of that response, or NULL to prevent caching the - /// response. If your delegate implements this method, it must call this completion - /// handler; otherwise, your app leaks memory. - open func urlSession( - _ session: URLSession, - dataTask: URLSessionDataTask, - willCacheResponse proposedResponse: CachedURLResponse, - completionHandler: @escaping (CachedURLResponse?) -> Void) - { - guard dataTaskWillCacheResponseWithCompletion == nil else { - dataTaskWillCacheResponseWithCompletion?(session, dataTask, proposedResponse, completionHandler) - return - } - - if let dataTaskWillCacheResponse = dataTaskWillCacheResponse { - completionHandler(dataTaskWillCacheResponse(session, dataTask, proposedResponse)) - } else if let delegate = self[dataTask]?.delegate as? DataTaskDelegate { - delegate.urlSession( - session, - dataTask: dataTask, - willCacheResponse: proposedResponse, - completionHandler: completionHandler - ) - } else { - completionHandler(proposedResponse) - } - } -} - -// MARK: - URLSessionDownloadDelegate - -extension SessionDelegate: URLSessionDownloadDelegate { - /// Tells the delegate that a download task has finished downloading. - /// - /// - parameter session: The session containing the download task that finished. - /// - parameter downloadTask: The download task that finished. - /// - parameter location: A file URL for the temporary file. Because the file is temporary, you must either - /// open the file for reading or move it to a permanent location in your app’s sandbox - /// container directory before returning from this delegate method. - open func urlSession( - _ session: URLSession, - downloadTask: URLSessionDownloadTask, - didFinishDownloadingTo location: URL) - { - if let downloadTaskDidFinishDownloadingToURL = downloadTaskDidFinishDownloadingToURL { - downloadTaskDidFinishDownloadingToURL(session, downloadTask, location) - } else if let delegate = self[downloadTask]?.delegate as? DownloadTaskDelegate { - delegate.urlSession(session, downloadTask: downloadTask, didFinishDownloadingTo: location) - } - } - - /// Periodically informs the delegate about the download’s progress. - /// - /// - parameter session: The session containing the download task. - /// - parameter downloadTask: The download task. - /// - parameter bytesWritten: The number of bytes transferred since the last time this delegate - /// method was called. - /// - parameter totalBytesWritten: The total number of bytes transferred so far. - /// - parameter totalBytesExpectedToWrite: The expected length of the file, as provided by the Content-Length - /// header. If this header was not provided, the value is - /// `NSURLSessionTransferSizeUnknown`. - open func urlSession( - _ session: URLSession, - downloadTask: URLSessionDownloadTask, - didWriteData bytesWritten: Int64, - totalBytesWritten: Int64, - totalBytesExpectedToWrite: Int64) - { - if let downloadTaskDidWriteData = downloadTaskDidWriteData { - downloadTaskDidWriteData(session, downloadTask, bytesWritten, totalBytesWritten, totalBytesExpectedToWrite) - } else if let delegate = self[downloadTask]?.delegate as? DownloadTaskDelegate { - delegate.urlSession( - session, - downloadTask: downloadTask, - didWriteData: bytesWritten, - totalBytesWritten: totalBytesWritten, - totalBytesExpectedToWrite: totalBytesExpectedToWrite - ) - } - } - - /// Tells the delegate that the download task has resumed downloading. - /// - /// - parameter session: The session containing the download task that finished. - /// - parameter downloadTask: The download task that resumed. See explanation in the discussion. - /// - parameter fileOffset: If the file's cache policy or last modified date prevents reuse of the - /// existing content, then this value is zero. Otherwise, this value is an - /// integer representing the number of bytes on disk that do not need to be - /// retrieved again. - /// - parameter expectedTotalBytes: The expected length of the file, as provided by the Content-Length header. - /// If this header was not provided, the value is NSURLSessionTransferSizeUnknown. - open func urlSession( - _ session: URLSession, - downloadTask: URLSessionDownloadTask, - didResumeAtOffset fileOffset: Int64, - expectedTotalBytes: Int64) - { - if let downloadTaskDidResumeAtOffset = downloadTaskDidResumeAtOffset { - downloadTaskDidResumeAtOffset(session, downloadTask, fileOffset, expectedTotalBytes) - } else if let delegate = self[downloadTask]?.delegate as? DownloadTaskDelegate { - delegate.urlSession( - session, - downloadTask: downloadTask, - didResumeAtOffset: fileOffset, - expectedTotalBytes: expectedTotalBytes - ) - } - } -} - -// MARK: - URLSessionStreamDelegate - -#if !os(watchOS) - -@available(iOS 9.0, macOS 10.11, tvOS 9.0, *) -extension SessionDelegate: URLSessionStreamDelegate { - /// Tells the delegate that the read side of the connection has been closed. - /// - /// - parameter session: The session. - /// - parameter streamTask: The stream task. - open func urlSession(_ session: URLSession, readClosedFor streamTask: URLSessionStreamTask) { - streamTaskReadClosed?(session, streamTask) - } - - /// Tells the delegate that the write side of the connection has been closed. - /// - /// - parameter session: The session. - /// - parameter streamTask: The stream task. - open func urlSession(_ session: URLSession, writeClosedFor streamTask: URLSessionStreamTask) { - streamTaskWriteClosed?(session, streamTask) - } - - /// Tells the delegate that the system has determined that a better route to the host is available. - /// - /// - parameter session: The session. - /// - parameter streamTask: The stream task. - open func urlSession(_ session: URLSession, betterRouteDiscoveredFor streamTask: URLSessionStreamTask) { - streamTaskBetterRouteDiscovered?(session, streamTask) - } - - /// Tells the delegate that the stream task has been completed and provides the unopened stream objects. - /// - /// - parameter session: The session. - /// - parameter streamTask: The stream task. - /// - parameter inputStream: The new input stream. - /// - parameter outputStream: The new output stream. - open func urlSession( - _ session: URLSession, - streamTask: URLSessionStreamTask, - didBecome inputStream: InputStream, - outputStream: OutputStream) - { - streamTaskDidBecomeInputAndOutputStreams?(session, streamTask, inputStream, outputStream) - } -} - -#endif diff --git a/Example/web3swiftExample/Pods/Alamofire/Source/SessionManager.swift b/Example/web3swiftExample/Pods/Alamofire/Source/SessionManager.swift deleted file mode 100755 index a9d0ae68b..000000000 --- a/Example/web3swiftExample/Pods/Alamofire/Source/SessionManager.swift +++ /dev/null @@ -1,896 +0,0 @@ -// -// SessionManager.swift -// -// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -import Foundation - -/// Responsible for creating and managing `Request` objects, as well as their underlying `NSURLSession`. -open class SessionManager { - - // MARK: - Helper Types - - /// Defines whether the `MultipartFormData` encoding was successful and contains result of the encoding as - /// associated values. - /// - /// - Success: Represents a successful `MultipartFormData` encoding and contains the new `UploadRequest` along with - /// streaming information. - /// - Failure: Used to represent a failure in the `MultipartFormData` encoding and also contains the encoding - /// error. - public enum MultipartFormDataEncodingResult { - case success(request: UploadRequest, streamingFromDisk: Bool, streamFileURL: URL?) - case failure(Error) - } - - // MARK: - Properties - - /// A default instance of `SessionManager`, used by top-level Alamofire request methods, and suitable for use - /// directly for any ad hoc requests. - open static let `default`: SessionManager = { - let configuration = URLSessionConfiguration.default - configuration.httpAdditionalHeaders = SessionManager.defaultHTTPHeaders - - return SessionManager(configuration: configuration) - }() - - /// Creates default values for the "Accept-Encoding", "Accept-Language" and "User-Agent" headers. - open static let defaultHTTPHeaders: HTTPHeaders = { - // Accept-Encoding HTTP Header; see https://tools.ietf.org/html/rfc7230#section-4.2.3 - let acceptEncoding: String = "gzip;q=1.0, compress;q=0.5" - - // Accept-Language HTTP Header; see https://tools.ietf.org/html/rfc7231#section-5.3.5 - let acceptLanguage = Locale.preferredLanguages.prefix(6).enumerated().map { index, languageCode in - let quality = 1.0 - (Double(index) * 0.1) - return "\(languageCode);q=\(quality)" - }.joined(separator: ", ") - - // User-Agent Header; see https://tools.ietf.org/html/rfc7231#section-5.5.3 - // Example: `iOS Example/1.0 (org.alamofire.iOS-Example; build:1; iOS 10.0.0) Alamofire/4.0.0` - let userAgent: String = { - if let info = Bundle.main.infoDictionary { - let executable = info[kCFBundleExecutableKey as String] as? String ?? "Unknown" - let bundle = info[kCFBundleIdentifierKey as String] as? String ?? "Unknown" - let appVersion = info["CFBundleShortVersionString"] as? String ?? "Unknown" - let appBuild = info[kCFBundleVersionKey as String] as? String ?? "Unknown" - - let osNameVersion: String = { - let version = ProcessInfo.processInfo.operatingSystemVersion - let versionString = "\(version.majorVersion).\(version.minorVersion).\(version.patchVersion)" - - let osName: String = { - #if os(iOS) - return "iOS" - #elseif os(watchOS) - return "watchOS" - #elseif os(tvOS) - return "tvOS" - #elseif os(macOS) - return "OS X" - #elseif os(Linux) - return "Linux" - #else - return "Unknown" - #endif - }() - - return "\(osName) \(versionString)" - }() - - let alamofireVersion: String = { - guard - let afInfo = Bundle(for: SessionManager.self).infoDictionary, - let build = afInfo["CFBundleShortVersionString"] - else { return "Unknown" } - - return "Alamofire/\(build)" - }() - - return "\(executable)/\(appVersion) (\(bundle); build:\(appBuild); \(osNameVersion)) \(alamofireVersion)" - } - - return "Alamofire" - }() - - return [ - "Accept-Encoding": acceptEncoding, - "Accept-Language": acceptLanguage, - "User-Agent": userAgent - ] - }() - - /// Default memory threshold used when encoding `MultipartFormData` in bytes. - open static let multipartFormDataEncodingMemoryThreshold: UInt64 = 10_000_000 - - /// The underlying session. - open let session: URLSession - - /// The session delegate handling all the task and session delegate callbacks. - open let delegate: SessionDelegate - - /// Whether to start requests immediately after being constructed. `true` by default. - open var startRequestsImmediately: Bool = true - - /// The request adapter called each time a new request is created. - open var adapter: RequestAdapter? - - /// The request retrier called each time a request encounters an error to determine whether to retry the request. - open var retrier: RequestRetrier? { - get { return delegate.retrier } - set { delegate.retrier = newValue } - } - - /// The background completion handler closure provided by the UIApplicationDelegate - /// `application:handleEventsForBackgroundURLSession:completionHandler:` method. By setting the background - /// completion handler, the SessionDelegate `sessionDidFinishEventsForBackgroundURLSession` closure implementation - /// will automatically call the handler. - /// - /// If you need to handle your own events before the handler is called, then you need to override the - /// SessionDelegate `sessionDidFinishEventsForBackgroundURLSession` and manually call the handler when finished. - /// - /// `nil` by default. - open var backgroundCompletionHandler: (() -> Void)? - - let queue = DispatchQueue(label: "org.alamofire.session-manager." + UUID().uuidString) - - // MARK: - Lifecycle - - /// Creates an instance with the specified `configuration`, `delegate` and `serverTrustPolicyManager`. - /// - /// - parameter configuration: The configuration used to construct the managed session. - /// `URLSessionConfiguration.default` by default. - /// - parameter delegate: The delegate used when initializing the session. `SessionDelegate()` by - /// default. - /// - parameter serverTrustPolicyManager: The server trust policy manager to use for evaluating all server trust - /// challenges. `nil` by default. - /// - /// - returns: The new `SessionManager` instance. - public init( - configuration: URLSessionConfiguration = URLSessionConfiguration.default, - delegate: SessionDelegate = SessionDelegate(), - serverTrustPolicyManager: ServerTrustPolicyManager? = nil) - { - self.delegate = delegate - self.session = URLSession(configuration: configuration, delegate: delegate, delegateQueue: nil) - - commonInit(serverTrustPolicyManager: serverTrustPolicyManager) - } - - /// Creates an instance with the specified `session`, `delegate` and `serverTrustPolicyManager`. - /// - /// - parameter session: The URL session. - /// - parameter delegate: The delegate of the URL session. Must equal the URL session's delegate. - /// - parameter serverTrustPolicyManager: The server trust policy manager to use for evaluating all server trust - /// challenges. `nil` by default. - /// - /// - returns: The new `SessionManager` instance if the URL session's delegate matches; `nil` otherwise. - public init?( - session: URLSession, - delegate: SessionDelegate, - serverTrustPolicyManager: ServerTrustPolicyManager? = nil) - { - guard delegate === session.delegate else { return nil } - - self.delegate = delegate - self.session = session - - commonInit(serverTrustPolicyManager: serverTrustPolicyManager) - } - - private func commonInit(serverTrustPolicyManager: ServerTrustPolicyManager?) { - session.serverTrustPolicyManager = serverTrustPolicyManager - - delegate.sessionManager = self - - delegate.sessionDidFinishEventsForBackgroundURLSession = { [weak self] session in - guard let strongSelf = self else { return } - DispatchQueue.main.async { strongSelf.backgroundCompletionHandler?() } - } - } - - deinit { - session.invalidateAndCancel() - } - - // MARK: - Data Request - - /// Creates a `DataRequest` to retrieve the contents of the specified `url`, `method`, `parameters`, `encoding` - /// and `headers`. - /// - /// - parameter url: The URL. - /// - parameter method: The HTTP method. `.get` by default. - /// - parameter parameters: The parameters. `nil` by default. - /// - parameter encoding: The parameter encoding. `URLEncoding.default` by default. - /// - parameter headers: The HTTP headers. `nil` by default. - /// - /// - returns: The created `DataRequest`. - @discardableResult - open func request( - _ url: URLConvertible, - method: HTTPMethod = .get, - parameters: Parameters? = nil, - encoding: ParameterEncoding = URLEncoding.default, - headers: HTTPHeaders? = nil) - -> DataRequest - { - var originalRequest: URLRequest? - - do { - originalRequest = try URLRequest(url: url, method: method, headers: headers) - let encodedURLRequest = try encoding.encode(originalRequest!, with: parameters) - return request(encodedURLRequest) - } catch { - return request(originalRequest, failedWith: error) - } - } - - /// Creates a `DataRequest` to retrieve the contents of a URL based on the specified `urlRequest`. - /// - /// If `startRequestsImmediately` is `true`, the request will have `resume()` called before being returned. - /// - /// - parameter urlRequest: The URL request. - /// - /// - returns: The created `DataRequest`. - @discardableResult - open func request(_ urlRequest: URLRequestConvertible) -> DataRequest { - var originalRequest: URLRequest? - - do { - originalRequest = try urlRequest.asURLRequest() - let originalTask = DataRequest.Requestable(urlRequest: originalRequest!) - - let task = try originalTask.task(session: session, adapter: adapter, queue: queue) - let request = DataRequest(session: session, requestTask: .data(originalTask, task)) - - delegate[task] = request - - if startRequestsImmediately { request.resume() } - - return request - } catch { - return request(originalRequest, failedWith: error) - } - } - - // MARK: Private - Request Implementation - - private func request(_ urlRequest: URLRequest?, failedWith error: Error) -> DataRequest { - var requestTask: Request.RequestTask = .data(nil, nil) - - if let urlRequest = urlRequest { - let originalTask = DataRequest.Requestable(urlRequest: urlRequest) - requestTask = .data(originalTask, nil) - } - - let underlyingError = error.underlyingAdaptError ?? error - let request = DataRequest(session: session, requestTask: requestTask, error: underlyingError) - - if let retrier = retrier, error is AdaptError { - allowRetrier(retrier, toRetry: request, with: underlyingError) - } else { - if startRequestsImmediately { request.resume() } - } - - return request - } - - // MARK: - Download Request - - // MARK: URL Request - - /// Creates a `DownloadRequest` to retrieve the contents the specified `url`, `method`, `parameters`, `encoding`, - /// `headers` and save them to the `destination`. - /// - /// If `destination` is not specified, the contents will remain in the temporary location determined by the - /// underlying URL session. - /// - /// If `startRequestsImmediately` is `true`, the request will have `resume()` called before being returned. - /// - /// - parameter url: The URL. - /// - parameter method: The HTTP method. `.get` by default. - /// - parameter parameters: The parameters. `nil` by default. - /// - parameter encoding: The parameter encoding. `URLEncoding.default` by default. - /// - parameter headers: The HTTP headers. `nil` by default. - /// - parameter destination: The closure used to determine the destination of the downloaded file. `nil` by default. - /// - /// - returns: The created `DownloadRequest`. - @discardableResult - open func download( - _ url: URLConvertible, - method: HTTPMethod = .get, - parameters: Parameters? = nil, - encoding: ParameterEncoding = URLEncoding.default, - headers: HTTPHeaders? = nil, - to destination: DownloadRequest.DownloadFileDestination? = nil) - -> DownloadRequest - { - do { - let urlRequest = try URLRequest(url: url, method: method, headers: headers) - let encodedURLRequest = try encoding.encode(urlRequest, with: parameters) - return download(encodedURLRequest, to: destination) - } catch { - return download(nil, to: destination, failedWith: error) - } - } - - /// Creates a `DownloadRequest` to retrieve the contents of a URL based on the specified `urlRequest` and save - /// them to the `destination`. - /// - /// If `destination` is not specified, the contents will remain in the temporary location determined by the - /// underlying URL session. - /// - /// If `startRequestsImmediately` is `true`, the request will have `resume()` called before being returned. - /// - /// - parameter urlRequest: The URL request - /// - parameter destination: The closure used to determine the destination of the downloaded file. `nil` by default. - /// - /// - returns: The created `DownloadRequest`. - @discardableResult - open func download( - _ urlRequest: URLRequestConvertible, - to destination: DownloadRequest.DownloadFileDestination? = nil) - -> DownloadRequest - { - do { - let urlRequest = try urlRequest.asURLRequest() - return download(.request(urlRequest), to: destination) - } catch { - return download(nil, to: destination, failedWith: error) - } - } - - // MARK: Resume Data - - /// Creates a `DownloadRequest` from the `resumeData` produced from a previous request cancellation to retrieve - /// the contents of the original request and save them to the `destination`. - /// - /// If `destination` is not specified, the contents will remain in the temporary location determined by the - /// underlying URL session. - /// - /// If `startRequestsImmediately` is `true`, the request will have `resume()` called before being returned. - /// - /// On the latest release of all the Apple platforms (iOS 10, macOS 10.12, tvOS 10, watchOS 3), `resumeData` is broken - /// on background URL session configurations. There's an underlying bug in the `resumeData` generation logic where the - /// data is written incorrectly and will always fail to resume the download. For more information about the bug and - /// possible workarounds, please refer to the following Stack Overflow post: - /// - /// - http://stackoverflow.com/a/39347461/1342462 - /// - /// - parameter resumeData: The resume data. This is an opaque data blob produced by `URLSessionDownloadTask` - /// when a task is cancelled. See `URLSession -downloadTask(withResumeData:)` for - /// additional information. - /// - parameter destination: The closure used to determine the destination of the downloaded file. `nil` by default. - /// - /// - returns: The created `DownloadRequest`. - @discardableResult - open func download( - resumingWith resumeData: Data, - to destination: DownloadRequest.DownloadFileDestination? = nil) - -> DownloadRequest - { - return download(.resumeData(resumeData), to: destination) - } - - // MARK: Private - Download Implementation - - private func download( - _ downloadable: DownloadRequest.Downloadable, - to destination: DownloadRequest.DownloadFileDestination?) - -> DownloadRequest - { - do { - let task = try downloadable.task(session: session, adapter: adapter, queue: queue) - let download = DownloadRequest(session: session, requestTask: .download(downloadable, task)) - - download.downloadDelegate.destination = destination - - delegate[task] = download - - if startRequestsImmediately { download.resume() } - - return download - } catch { - return download(downloadable, to: destination, failedWith: error) - } - } - - private func download( - _ downloadable: DownloadRequest.Downloadable?, - to destination: DownloadRequest.DownloadFileDestination?, - failedWith error: Error) - -> DownloadRequest - { - var downloadTask: Request.RequestTask = .download(nil, nil) - - if let downloadable = downloadable { - downloadTask = .download(downloadable, nil) - } - - let underlyingError = error.underlyingAdaptError ?? error - - let download = DownloadRequest(session: session, requestTask: downloadTask, error: underlyingError) - download.downloadDelegate.destination = destination - - if let retrier = retrier, error is AdaptError { - allowRetrier(retrier, toRetry: download, with: underlyingError) - } else { - if startRequestsImmediately { download.resume() } - } - - return download - } - - // MARK: - Upload Request - - // MARK: File - - /// Creates an `UploadRequest` from the specified `url`, `method` and `headers` for uploading the `file`. - /// - /// If `startRequestsImmediately` is `true`, the request will have `resume()` called before being returned. - /// - /// - parameter file: The file to upload. - /// - parameter url: The URL. - /// - parameter method: The HTTP method. `.post` by default. - /// - parameter headers: The HTTP headers. `nil` by default. - /// - /// - returns: The created `UploadRequest`. - @discardableResult - open func upload( - _ fileURL: URL, - to url: URLConvertible, - method: HTTPMethod = .post, - headers: HTTPHeaders? = nil) - -> UploadRequest - { - do { - let urlRequest = try URLRequest(url: url, method: method, headers: headers) - return upload(fileURL, with: urlRequest) - } catch { - return upload(nil, failedWith: error) - } - } - - /// Creates a `UploadRequest` from the specified `urlRequest` for uploading the `file`. - /// - /// If `startRequestsImmediately` is `true`, the request will have `resume()` called before being returned. - /// - /// - parameter file: The file to upload. - /// - parameter urlRequest: The URL request. - /// - /// - returns: The created `UploadRequest`. - @discardableResult - open func upload(_ fileURL: URL, with urlRequest: URLRequestConvertible) -> UploadRequest { - do { - let urlRequest = try urlRequest.asURLRequest() - return upload(.file(fileURL, urlRequest)) - } catch { - return upload(nil, failedWith: error) - } - } - - // MARK: Data - - /// Creates an `UploadRequest` from the specified `url`, `method` and `headers` for uploading the `data`. - /// - /// If `startRequestsImmediately` is `true`, the request will have `resume()` called before being returned. - /// - /// - parameter data: The data to upload. - /// - parameter url: The URL. - /// - parameter method: The HTTP method. `.post` by default. - /// - parameter headers: The HTTP headers. `nil` by default. - /// - /// - returns: The created `UploadRequest`. - @discardableResult - open func upload( - _ data: Data, - to url: URLConvertible, - method: HTTPMethod = .post, - headers: HTTPHeaders? = nil) - -> UploadRequest - { - do { - let urlRequest = try URLRequest(url: url, method: method, headers: headers) - return upload(data, with: urlRequest) - } catch { - return upload(nil, failedWith: error) - } - } - - /// Creates an `UploadRequest` from the specified `urlRequest` for uploading the `data`. - /// - /// If `startRequestsImmediately` is `true`, the request will have `resume()` called before being returned. - /// - /// - parameter data: The data to upload. - /// - parameter urlRequest: The URL request. - /// - /// - returns: The created `UploadRequest`. - @discardableResult - open func upload(_ data: Data, with urlRequest: URLRequestConvertible) -> UploadRequest { - do { - let urlRequest = try urlRequest.asURLRequest() - return upload(.data(data, urlRequest)) - } catch { - return upload(nil, failedWith: error) - } - } - - // MARK: InputStream - - /// Creates an `UploadRequest` from the specified `url`, `method` and `headers` for uploading the `stream`. - /// - /// If `startRequestsImmediately` is `true`, the request will have `resume()` called before being returned. - /// - /// - parameter stream: The stream to upload. - /// - parameter url: The URL. - /// - parameter method: The HTTP method. `.post` by default. - /// - parameter headers: The HTTP headers. `nil` by default. - /// - /// - returns: The created `UploadRequest`. - @discardableResult - open func upload( - _ stream: InputStream, - to url: URLConvertible, - method: HTTPMethod = .post, - headers: HTTPHeaders? = nil) - -> UploadRequest - { - do { - let urlRequest = try URLRequest(url: url, method: method, headers: headers) - return upload(stream, with: urlRequest) - } catch { - return upload(nil, failedWith: error) - } - } - - /// Creates an `UploadRequest` from the specified `urlRequest` for uploading the `stream`. - /// - /// If `startRequestsImmediately` is `true`, the request will have `resume()` called before being returned. - /// - /// - parameter stream: The stream to upload. - /// - parameter urlRequest: The URL request. - /// - /// - returns: The created `UploadRequest`. - @discardableResult - open func upload(_ stream: InputStream, with urlRequest: URLRequestConvertible) -> UploadRequest { - do { - let urlRequest = try urlRequest.asURLRequest() - return upload(.stream(stream, urlRequest)) - } catch { - return upload(nil, failedWith: error) - } - } - - // MARK: MultipartFormData - - /// Encodes `multipartFormData` using `encodingMemoryThreshold` and calls `encodingCompletion` with new - /// `UploadRequest` using the `url`, `method` and `headers`. - /// - /// It is important to understand the memory implications of uploading `MultipartFormData`. If the cummulative - /// payload is small, encoding the data in-memory and directly uploading to a server is the by far the most - /// efficient approach. However, if the payload is too large, encoding the data in-memory could cause your app to - /// be terminated. Larger payloads must first be written to disk using input and output streams to keep the memory - /// footprint low, then the data can be uploaded as a stream from the resulting file. Streaming from disk MUST be - /// used for larger payloads such as video content. - /// - /// The `encodingMemoryThreshold` parameter allows Alamofire to automatically determine whether to encode in-memory - /// or stream from disk. If the content length of the `MultipartFormData` is below the `encodingMemoryThreshold`, - /// encoding takes place in-memory. If the content length exceeds the threshold, the data is streamed to disk - /// during the encoding process. Then the result is uploaded as data or as a stream depending on which encoding - /// technique was used. - /// - /// If `startRequestsImmediately` is `true`, the request will have `resume()` called before being returned. - /// - /// - parameter multipartFormData: The closure used to append body parts to the `MultipartFormData`. - /// - parameter encodingMemoryThreshold: The encoding memory threshold in bytes. - /// `multipartFormDataEncodingMemoryThreshold` by default. - /// - parameter url: The URL. - /// - parameter method: The HTTP method. `.post` by default. - /// - parameter headers: The HTTP headers. `nil` by default. - /// - parameter encodingCompletion: The closure called when the `MultipartFormData` encoding is complete. - open func upload( - multipartFormData: @escaping (MultipartFormData) -> Void, - usingThreshold encodingMemoryThreshold: UInt64 = SessionManager.multipartFormDataEncodingMemoryThreshold, - to url: URLConvertible, - method: HTTPMethod = .post, - headers: HTTPHeaders? = nil, - encodingCompletion: ((MultipartFormDataEncodingResult) -> Void)?) - { - do { - let urlRequest = try URLRequest(url: url, method: method, headers: headers) - - return upload( - multipartFormData: multipartFormData, - usingThreshold: encodingMemoryThreshold, - with: urlRequest, - encodingCompletion: encodingCompletion - ) - } catch { - DispatchQueue.main.async { encodingCompletion?(.failure(error)) } - } - } - - /// Encodes `multipartFormData` using `encodingMemoryThreshold` and calls `encodingCompletion` with new - /// `UploadRequest` using the `urlRequest`. - /// - /// It is important to understand the memory implications of uploading `MultipartFormData`. If the cummulative - /// payload is small, encoding the data in-memory and directly uploading to a server is the by far the most - /// efficient approach. However, if the payload is too large, encoding the data in-memory could cause your app to - /// be terminated. Larger payloads must first be written to disk using input and output streams to keep the memory - /// footprint low, then the data can be uploaded as a stream from the resulting file. Streaming from disk MUST be - /// used for larger payloads such as video content. - /// - /// The `encodingMemoryThreshold` parameter allows Alamofire to automatically determine whether to encode in-memory - /// or stream from disk. If the content length of the `MultipartFormData` is below the `encodingMemoryThreshold`, - /// encoding takes place in-memory. If the content length exceeds the threshold, the data is streamed to disk - /// during the encoding process. Then the result is uploaded as data or as a stream depending on which encoding - /// technique was used. - /// - /// If `startRequestsImmediately` is `true`, the request will have `resume()` called before being returned. - /// - /// - parameter multipartFormData: The closure used to append body parts to the `MultipartFormData`. - /// - parameter encodingMemoryThreshold: The encoding memory threshold in bytes. - /// `multipartFormDataEncodingMemoryThreshold` by default. - /// - parameter urlRequest: The URL request. - /// - parameter encodingCompletion: The closure called when the `MultipartFormData` encoding is complete. - open func upload( - multipartFormData: @escaping (MultipartFormData) -> Void, - usingThreshold encodingMemoryThreshold: UInt64 = SessionManager.multipartFormDataEncodingMemoryThreshold, - with urlRequest: URLRequestConvertible, - encodingCompletion: ((MultipartFormDataEncodingResult) -> Void)?) - { - DispatchQueue.global(qos: .utility).async { - let formData = MultipartFormData() - multipartFormData(formData) - - var tempFileURL: URL? - - do { - var urlRequestWithContentType = try urlRequest.asURLRequest() - urlRequestWithContentType.setValue(formData.contentType, forHTTPHeaderField: "Content-Type") - - let isBackgroundSession = self.session.configuration.identifier != nil - - if formData.contentLength < encodingMemoryThreshold && !isBackgroundSession { - let data = try formData.encode() - - let encodingResult = MultipartFormDataEncodingResult.success( - request: self.upload(data, with: urlRequestWithContentType), - streamingFromDisk: false, - streamFileURL: nil - ) - - DispatchQueue.main.async { encodingCompletion?(encodingResult) } - } else { - let fileManager = FileManager.default - let tempDirectoryURL = URL(fileURLWithPath: NSTemporaryDirectory()) - let directoryURL = tempDirectoryURL.appendingPathComponent("org.alamofire.manager/multipart.form.data") - let fileName = UUID().uuidString - let fileURL = directoryURL.appendingPathComponent(fileName) - - tempFileURL = fileURL - - var directoryError: Error? - - // Create directory inside serial queue to ensure two threads don't do this in parallel - self.queue.sync { - do { - try fileManager.createDirectory(at: directoryURL, withIntermediateDirectories: true, attributes: nil) - } catch { - directoryError = error - } - } - - if let directoryError = directoryError { throw directoryError } - - try formData.writeEncodedData(to: fileURL) - - let upload = self.upload(fileURL, with: urlRequestWithContentType) - - // Cleanup the temp file once the upload is complete - upload.delegate.queue.addOperation { - do { - try FileManager.default.removeItem(at: fileURL) - } catch { - // No-op - } - } - - DispatchQueue.main.async { - let encodingResult = MultipartFormDataEncodingResult.success( - request: upload, - streamingFromDisk: true, - streamFileURL: fileURL - ) - - encodingCompletion?(encodingResult) - } - } - } catch { - // Cleanup the temp file in the event that the multipart form data encoding failed - if let tempFileURL = tempFileURL { - do { - try FileManager.default.removeItem(at: tempFileURL) - } catch { - // No-op - } - } - - DispatchQueue.main.async { encodingCompletion?(.failure(error)) } - } - } - } - - // MARK: Private - Upload Implementation - - private func upload(_ uploadable: UploadRequest.Uploadable) -> UploadRequest { - do { - let task = try uploadable.task(session: session, adapter: adapter, queue: queue) - let upload = UploadRequest(session: session, requestTask: .upload(uploadable, task)) - - if case let .stream(inputStream, _) = uploadable { - upload.delegate.taskNeedNewBodyStream = { _, _ in inputStream } - } - - delegate[task] = upload - - if startRequestsImmediately { upload.resume() } - - return upload - } catch { - return upload(uploadable, failedWith: error) - } - } - - private func upload(_ uploadable: UploadRequest.Uploadable?, failedWith error: Error) -> UploadRequest { - var uploadTask: Request.RequestTask = .upload(nil, nil) - - if let uploadable = uploadable { - uploadTask = .upload(uploadable, nil) - } - - let underlyingError = error.underlyingAdaptError ?? error - let upload = UploadRequest(session: session, requestTask: uploadTask, error: underlyingError) - - if let retrier = retrier, error is AdaptError { - allowRetrier(retrier, toRetry: upload, with: underlyingError) - } else { - if startRequestsImmediately { upload.resume() } - } - - return upload - } - -#if !os(watchOS) - - // MARK: - Stream Request - - // MARK: Hostname and Port - - /// Creates a `StreamRequest` for bidirectional streaming using the `hostname` and `port`. - /// - /// If `startRequestsImmediately` is `true`, the request will have `resume()` called before being returned. - /// - /// - parameter hostName: The hostname of the server to connect to. - /// - parameter port: The port of the server to connect to. - /// - /// - returns: The created `StreamRequest`. - @discardableResult - @available(iOS 9.0, macOS 10.11, tvOS 9.0, *) - open func stream(withHostName hostName: String, port: Int) -> StreamRequest { - return stream(.stream(hostName: hostName, port: port)) - } - - // MARK: NetService - - /// Creates a `StreamRequest` for bidirectional streaming using the `netService`. - /// - /// If `startRequestsImmediately` is `true`, the request will have `resume()` called before being returned. - /// - /// - parameter netService: The net service used to identify the endpoint. - /// - /// - returns: The created `StreamRequest`. - @discardableResult - @available(iOS 9.0, macOS 10.11, tvOS 9.0, *) - open func stream(with netService: NetService) -> StreamRequest { - return stream(.netService(netService)) - } - - // MARK: Private - Stream Implementation - - @available(iOS 9.0, macOS 10.11, tvOS 9.0, *) - private func stream(_ streamable: StreamRequest.Streamable) -> StreamRequest { - do { - let task = try streamable.task(session: session, adapter: adapter, queue: queue) - let request = StreamRequest(session: session, requestTask: .stream(streamable, task)) - - delegate[task] = request - - if startRequestsImmediately { request.resume() } - - return request - } catch { - return stream(failedWith: error) - } - } - - @available(iOS 9.0, macOS 10.11, tvOS 9.0, *) - private func stream(failedWith error: Error) -> StreamRequest { - let stream = StreamRequest(session: session, requestTask: .stream(nil, nil), error: error) - if startRequestsImmediately { stream.resume() } - return stream - } - -#endif - - // MARK: - Internal - Retry Request - - func retry(_ request: Request) -> Bool { - guard let originalTask = request.originalTask else { return false } - - do { - let task = try originalTask.task(session: session, adapter: adapter, queue: queue) - - if let originalTask = request.task { - delegate[originalTask] = nil // removes the old request to avoid endless growth - } - - request.delegate.task = task // resets all task delegate data - - request.retryCount += 1 - request.startTime = CFAbsoluteTimeGetCurrent() - request.endTime = nil - - task.resume() - - return true - } catch { - request.delegate.error = error.underlyingAdaptError ?? error - return false - } - } - - private func allowRetrier(_ retrier: RequestRetrier, toRetry request: Request, with error: Error) { - DispatchQueue.utility.async { [weak self] in - guard let strongSelf = self else { return } - - retrier.should(strongSelf, retry: request, with: error) { shouldRetry, timeDelay in - guard let strongSelf = self else { return } - - guard shouldRetry else { - if strongSelf.startRequestsImmediately { request.resume() } - return - } - - DispatchQueue.utility.after(timeDelay) { - guard let strongSelf = self else { return } - - let retrySucceeded = strongSelf.retry(request) - - if retrySucceeded, let task = request.task { - strongSelf.delegate[task] = request - } else { - if strongSelf.startRequestsImmediately { request.resume() } - } - } - } - } - } -} diff --git a/Example/web3swiftExample/Pods/Alamofire/Source/TaskDelegate.swift b/Example/web3swiftExample/Pods/Alamofire/Source/TaskDelegate.swift deleted file mode 100755 index 1d537eaa1..000000000 --- a/Example/web3swiftExample/Pods/Alamofire/Source/TaskDelegate.swift +++ /dev/null @@ -1,466 +0,0 @@ -// -// TaskDelegate.swift -// -// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -import Foundation - -/// The task delegate is responsible for handling all delegate callbacks for the underlying task as well as -/// executing all operations attached to the serial operation queue upon task completion. -open class TaskDelegate: NSObject { - - // MARK: Properties - - /// The serial operation queue used to execute all operations after the task completes. - open let queue: OperationQueue - - /// The data returned by the server. - public var data: Data? { return nil } - - /// The error generated throughout the lifecyle of the task. - public var error: Error? - - var task: URLSessionTask? { - set { - taskLock.lock(); defer { taskLock.unlock() } - _task = newValue - } - get { - taskLock.lock(); defer { taskLock.unlock() } - return _task - } - } - - var initialResponseTime: CFAbsoluteTime? - var credential: URLCredential? - var metrics: AnyObject? // URLSessionTaskMetrics - - private var _task: URLSessionTask? { - didSet { reset() } - } - - private let taskLock = NSLock() - - // MARK: Lifecycle - - init(task: URLSessionTask?) { - _task = task - - self.queue = { - let operationQueue = OperationQueue() - - operationQueue.maxConcurrentOperationCount = 1 - operationQueue.isSuspended = true - operationQueue.qualityOfService = .utility - - return operationQueue - }() - } - - func reset() { - error = nil - initialResponseTime = nil - } - - // MARK: URLSessionTaskDelegate - - var taskWillPerformHTTPRedirection: ((URLSession, URLSessionTask, HTTPURLResponse, URLRequest) -> URLRequest?)? - var taskDidReceiveChallenge: ((URLSession, URLSessionTask, URLAuthenticationChallenge) -> (URLSession.AuthChallengeDisposition, URLCredential?))? - var taskNeedNewBodyStream: ((URLSession, URLSessionTask) -> InputStream?)? - var taskDidCompleteWithError: ((URLSession, URLSessionTask, Error?) -> Void)? - - @objc(URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:) - func urlSession( - _ session: URLSession, - task: URLSessionTask, - willPerformHTTPRedirection response: HTTPURLResponse, - newRequest request: URLRequest, - completionHandler: @escaping (URLRequest?) -> Void) - { - var redirectRequest: URLRequest? = request - - if let taskWillPerformHTTPRedirection = taskWillPerformHTTPRedirection { - redirectRequest = taskWillPerformHTTPRedirection(session, task, response, request) - } - - completionHandler(redirectRequest) - } - - @objc(URLSession:task:didReceiveChallenge:completionHandler:) - func urlSession( - _ session: URLSession, - task: URLSessionTask, - didReceive challenge: URLAuthenticationChallenge, - completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) - { - var disposition: URLSession.AuthChallengeDisposition = .performDefaultHandling - var credential: URLCredential? - - if let taskDidReceiveChallenge = taskDidReceiveChallenge { - (disposition, credential) = taskDidReceiveChallenge(session, task, challenge) - } else if challenge.protectionSpace.authenticationMethod == NSURLAuthenticationMethodServerTrust { - let host = challenge.protectionSpace.host - - if - let serverTrustPolicy = session.serverTrustPolicyManager?.serverTrustPolicy(forHost: host), - let serverTrust = challenge.protectionSpace.serverTrust - { - if serverTrustPolicy.evaluate(serverTrust, forHost: host) { - disposition = .useCredential - credential = URLCredential(trust: serverTrust) - } else { - disposition = .cancelAuthenticationChallenge - } - } - } else { - if challenge.previousFailureCount > 0 { - disposition = .rejectProtectionSpace - } else { - credential = self.credential ?? session.configuration.urlCredentialStorage?.defaultCredential(for: challenge.protectionSpace) - - if credential != nil { - disposition = .useCredential - } - } - } - - completionHandler(disposition, credential) - } - - @objc(URLSession:task:needNewBodyStream:) - func urlSession( - _ session: URLSession, - task: URLSessionTask, - needNewBodyStream completionHandler: @escaping (InputStream?) -> Void) - { - var bodyStream: InputStream? - - if let taskNeedNewBodyStream = taskNeedNewBodyStream { - bodyStream = taskNeedNewBodyStream(session, task) - } - - completionHandler(bodyStream) - } - - @objc(URLSession:task:didCompleteWithError:) - func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) { - if let taskDidCompleteWithError = taskDidCompleteWithError { - taskDidCompleteWithError(session, task, error) - } else { - if let error = error { - if self.error == nil { self.error = error } - - if - let downloadDelegate = self as? DownloadTaskDelegate, - let resumeData = (error as NSError).userInfo[NSURLSessionDownloadTaskResumeData] as? Data - { - downloadDelegate.resumeData = resumeData - } - } - - queue.isSuspended = false - } - } -} - -// MARK: - - -class DataTaskDelegate: TaskDelegate, URLSessionDataDelegate { - - // MARK: Properties - - var dataTask: URLSessionDataTask { return task as! URLSessionDataTask } - - override var data: Data? { - if dataStream != nil { - return nil - } else { - return mutableData - } - } - - var progress: Progress - var progressHandler: (closure: Request.ProgressHandler, queue: DispatchQueue)? - - var dataStream: ((_ data: Data) -> Void)? - - private var totalBytesReceived: Int64 = 0 - private var mutableData: Data - - private var expectedContentLength: Int64? - - // MARK: Lifecycle - - override init(task: URLSessionTask?) { - mutableData = Data() - progress = Progress(totalUnitCount: 0) - - super.init(task: task) - } - - override func reset() { - super.reset() - - progress = Progress(totalUnitCount: 0) - totalBytesReceived = 0 - mutableData = Data() - expectedContentLength = nil - } - - // MARK: URLSessionDataDelegate - - var dataTaskDidReceiveResponse: ((URLSession, URLSessionDataTask, URLResponse) -> URLSession.ResponseDisposition)? - var dataTaskDidBecomeDownloadTask: ((URLSession, URLSessionDataTask, URLSessionDownloadTask) -> Void)? - var dataTaskDidReceiveData: ((URLSession, URLSessionDataTask, Data) -> Void)? - var dataTaskWillCacheResponse: ((URLSession, URLSessionDataTask, CachedURLResponse) -> CachedURLResponse?)? - - func urlSession( - _ session: URLSession, - dataTask: URLSessionDataTask, - didReceive response: URLResponse, - completionHandler: @escaping (URLSession.ResponseDisposition) -> Void) - { - var disposition: URLSession.ResponseDisposition = .allow - - expectedContentLength = response.expectedContentLength - - if let dataTaskDidReceiveResponse = dataTaskDidReceiveResponse { - disposition = dataTaskDidReceiveResponse(session, dataTask, response) - } - - completionHandler(disposition) - } - - func urlSession( - _ session: URLSession, - dataTask: URLSessionDataTask, - didBecome downloadTask: URLSessionDownloadTask) - { - dataTaskDidBecomeDownloadTask?(session, dataTask, downloadTask) - } - - func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) { - if initialResponseTime == nil { initialResponseTime = CFAbsoluteTimeGetCurrent() } - - if let dataTaskDidReceiveData = dataTaskDidReceiveData { - dataTaskDidReceiveData(session, dataTask, data) - } else { - if let dataStream = dataStream { - dataStream(data) - } else { - mutableData.append(data) - } - - let bytesReceived = Int64(data.count) - totalBytesReceived += bytesReceived - let totalBytesExpected = dataTask.response?.expectedContentLength ?? NSURLSessionTransferSizeUnknown - - progress.totalUnitCount = totalBytesExpected - progress.completedUnitCount = totalBytesReceived - - if let progressHandler = progressHandler { - progressHandler.queue.async { progressHandler.closure(self.progress) } - } - } - } - - func urlSession( - _ session: URLSession, - dataTask: URLSessionDataTask, - willCacheResponse proposedResponse: CachedURLResponse, - completionHandler: @escaping (CachedURLResponse?) -> Void) - { - var cachedResponse: CachedURLResponse? = proposedResponse - - if let dataTaskWillCacheResponse = dataTaskWillCacheResponse { - cachedResponse = dataTaskWillCacheResponse(session, dataTask, proposedResponse) - } - - completionHandler(cachedResponse) - } -} - -// MARK: - - -class DownloadTaskDelegate: TaskDelegate, URLSessionDownloadDelegate { - - // MARK: Properties - - var downloadTask: URLSessionDownloadTask { return task as! URLSessionDownloadTask } - - var progress: Progress - var progressHandler: (closure: Request.ProgressHandler, queue: DispatchQueue)? - - var resumeData: Data? - override var data: Data? { return resumeData } - - var destination: DownloadRequest.DownloadFileDestination? - - var temporaryURL: URL? - var destinationURL: URL? - - var fileURL: URL? { return destination != nil ? destinationURL : temporaryURL } - - // MARK: Lifecycle - - override init(task: URLSessionTask?) { - progress = Progress(totalUnitCount: 0) - super.init(task: task) - } - - override func reset() { - super.reset() - - progress = Progress(totalUnitCount: 0) - resumeData = nil - } - - // MARK: URLSessionDownloadDelegate - - var downloadTaskDidFinishDownloadingToURL: ((URLSession, URLSessionDownloadTask, URL) -> URL)? - var downloadTaskDidWriteData: ((URLSession, URLSessionDownloadTask, Int64, Int64, Int64) -> Void)? - var downloadTaskDidResumeAtOffset: ((URLSession, URLSessionDownloadTask, Int64, Int64) -> Void)? - - func urlSession( - _ session: URLSession, - downloadTask: URLSessionDownloadTask, - didFinishDownloadingTo location: URL) - { - temporaryURL = location - - guard - let destination = destination, - let response = downloadTask.response as? HTTPURLResponse - else { return } - - let result = destination(location, response) - let destinationURL = result.destinationURL - let options = result.options - - self.destinationURL = destinationURL - - do { - if options.contains(.removePreviousFile), FileManager.default.fileExists(atPath: destinationURL.path) { - try FileManager.default.removeItem(at: destinationURL) - } - - if options.contains(.createIntermediateDirectories) { - let directory = destinationURL.deletingLastPathComponent() - try FileManager.default.createDirectory(at: directory, withIntermediateDirectories: true) - } - - try FileManager.default.moveItem(at: location, to: destinationURL) - } catch { - self.error = error - } - } - - func urlSession( - _ session: URLSession, - downloadTask: URLSessionDownloadTask, - didWriteData bytesWritten: Int64, - totalBytesWritten: Int64, - totalBytesExpectedToWrite: Int64) - { - if initialResponseTime == nil { initialResponseTime = CFAbsoluteTimeGetCurrent() } - - if let downloadTaskDidWriteData = downloadTaskDidWriteData { - downloadTaskDidWriteData( - session, - downloadTask, - bytesWritten, - totalBytesWritten, - totalBytesExpectedToWrite - ) - } else { - progress.totalUnitCount = totalBytesExpectedToWrite - progress.completedUnitCount = totalBytesWritten - - if let progressHandler = progressHandler { - progressHandler.queue.async { progressHandler.closure(self.progress) } - } - } - } - - func urlSession( - _ session: URLSession, - downloadTask: URLSessionDownloadTask, - didResumeAtOffset fileOffset: Int64, - expectedTotalBytes: Int64) - { - if let downloadTaskDidResumeAtOffset = downloadTaskDidResumeAtOffset { - downloadTaskDidResumeAtOffset(session, downloadTask, fileOffset, expectedTotalBytes) - } else { - progress.totalUnitCount = expectedTotalBytes - progress.completedUnitCount = fileOffset - } - } -} - -// MARK: - - -class UploadTaskDelegate: DataTaskDelegate { - - // MARK: Properties - - var uploadTask: URLSessionUploadTask { return task as! URLSessionUploadTask } - - var uploadProgress: Progress - var uploadProgressHandler: (closure: Request.ProgressHandler, queue: DispatchQueue)? - - // MARK: Lifecycle - - override init(task: URLSessionTask?) { - uploadProgress = Progress(totalUnitCount: 0) - super.init(task: task) - } - - override func reset() { - super.reset() - uploadProgress = Progress(totalUnitCount: 0) - } - - // MARK: URLSessionTaskDelegate - - var taskDidSendBodyData: ((URLSession, URLSessionTask, Int64, Int64, Int64) -> Void)? - - func URLSession( - _ session: URLSession, - task: URLSessionTask, - didSendBodyData bytesSent: Int64, - totalBytesSent: Int64, - totalBytesExpectedToSend: Int64) - { - if initialResponseTime == nil { initialResponseTime = CFAbsoluteTimeGetCurrent() } - - if let taskDidSendBodyData = taskDidSendBodyData { - taskDidSendBodyData(session, task, bytesSent, totalBytesSent, totalBytesExpectedToSend) - } else { - uploadProgress.totalUnitCount = totalBytesExpectedToSend - uploadProgress.completedUnitCount = totalBytesSent - - if let uploadProgressHandler = uploadProgressHandler { - uploadProgressHandler.queue.async { uploadProgressHandler.closure(self.uploadProgress) } - } - } - } -} diff --git a/Example/web3swiftExample/Pods/Alamofire/Source/Timeline.swift b/Example/web3swiftExample/Pods/Alamofire/Source/Timeline.swift deleted file mode 100755 index 181c9883c..000000000 --- a/Example/web3swiftExample/Pods/Alamofire/Source/Timeline.swift +++ /dev/null @@ -1,136 +0,0 @@ -// -// Timeline.swift -// -// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -import Foundation - -/// Responsible for computing the timing metrics for the complete lifecycle of a `Request`. -public struct Timeline { - /// The time the request was initialized. - public let requestStartTime: CFAbsoluteTime - - /// The time the first bytes were received from or sent to the server. - public let initialResponseTime: CFAbsoluteTime - - /// The time when the request was completed. - public let requestCompletedTime: CFAbsoluteTime - - /// The time when the response serialization was completed. - public let serializationCompletedTime: CFAbsoluteTime - - /// The time interval in seconds from the time the request started to the initial response from the server. - public let latency: TimeInterval - - /// The time interval in seconds from the time the request started to the time the request completed. - public let requestDuration: TimeInterval - - /// The time interval in seconds from the time the request completed to the time response serialization completed. - public let serializationDuration: TimeInterval - - /// The time interval in seconds from the time the request started to the time response serialization completed. - public let totalDuration: TimeInterval - - /// Creates a new `Timeline` instance with the specified request times. - /// - /// - parameter requestStartTime: The time the request was initialized. Defaults to `0.0`. - /// - parameter initialResponseTime: The time the first bytes were received from or sent to the server. - /// Defaults to `0.0`. - /// - parameter requestCompletedTime: The time when the request was completed. Defaults to `0.0`. - /// - parameter serializationCompletedTime: The time when the response serialization was completed. Defaults - /// to `0.0`. - /// - /// - returns: The new `Timeline` instance. - public init( - requestStartTime: CFAbsoluteTime = 0.0, - initialResponseTime: CFAbsoluteTime = 0.0, - requestCompletedTime: CFAbsoluteTime = 0.0, - serializationCompletedTime: CFAbsoluteTime = 0.0) - { - self.requestStartTime = requestStartTime - self.initialResponseTime = initialResponseTime - self.requestCompletedTime = requestCompletedTime - self.serializationCompletedTime = serializationCompletedTime - - self.latency = initialResponseTime - requestStartTime - self.requestDuration = requestCompletedTime - requestStartTime - self.serializationDuration = serializationCompletedTime - requestCompletedTime - self.totalDuration = serializationCompletedTime - requestStartTime - } -} - -// MARK: - CustomStringConvertible - -extension Timeline: CustomStringConvertible { - /// The textual representation used when written to an output stream, which includes the latency, the request - /// duration and the total duration. - public var description: String { - let latency = String(format: "%.3f", self.latency) - let requestDuration = String(format: "%.3f", self.requestDuration) - let serializationDuration = String(format: "%.3f", self.serializationDuration) - let totalDuration = String(format: "%.3f", self.totalDuration) - - // NOTE: Had to move to string concatenation due to memory leak filed as rdar://26761490. Once memory leak is - // fixed, we should move back to string interpolation by reverting commit 7d4a43b1. - let timings = [ - "\"Latency\": " + latency + " secs", - "\"Request Duration\": " + requestDuration + " secs", - "\"Serialization Duration\": " + serializationDuration + " secs", - "\"Total Duration\": " + totalDuration + " secs" - ] - - return "Timeline: { " + timings.joined(separator: ", ") + " }" - } -} - -// MARK: - CustomDebugStringConvertible - -extension Timeline: CustomDebugStringConvertible { - /// The textual representation used when written to an output stream, which includes the request start time, the - /// initial response time, the request completed time, the serialization completed time, the latency, the request - /// duration and the total duration. - public var debugDescription: String { - let requestStartTime = String(format: "%.3f", self.requestStartTime) - let initialResponseTime = String(format: "%.3f", self.initialResponseTime) - let requestCompletedTime = String(format: "%.3f", self.requestCompletedTime) - let serializationCompletedTime = String(format: "%.3f", self.serializationCompletedTime) - let latency = String(format: "%.3f", self.latency) - let requestDuration = String(format: "%.3f", self.requestDuration) - let serializationDuration = String(format: "%.3f", self.serializationDuration) - let totalDuration = String(format: "%.3f", self.totalDuration) - - // NOTE: Had to move to string concatenation due to memory leak filed as rdar://26761490. Once memory leak is - // fixed, we should move back to string interpolation by reverting commit 7d4a43b1. - let timings = [ - "\"Request Start Time\": " + requestStartTime, - "\"Initial Response Time\": " + initialResponseTime, - "\"Request Completed Time\": " + requestCompletedTime, - "\"Serialization Completed Time\": " + serializationCompletedTime, - "\"Latency\": " + latency + " secs", - "\"Request Duration\": " + requestDuration + " secs", - "\"Serialization Duration\": " + serializationDuration + " secs", - "\"Total Duration\": " + totalDuration + " secs" - ] - - return "Timeline: { " + timings.joined(separator: ", ") + " }" - } -} diff --git a/Example/web3swiftExample/Pods/Alamofire/Source/Validation.swift b/Example/web3swiftExample/Pods/Alamofire/Source/Validation.swift deleted file mode 100755 index ec2c5c35a..000000000 --- a/Example/web3swiftExample/Pods/Alamofire/Source/Validation.swift +++ /dev/null @@ -1,315 +0,0 @@ -// -// Validation.swift -// -// Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -import Foundation - -extension Request { - - // MARK: Helper Types - - fileprivate typealias ErrorReason = AFError.ResponseValidationFailureReason - - /// Used to represent whether validation was successful or encountered an error resulting in a failure. - /// - /// - success: The validation was successful. - /// - failure: The validation failed encountering the provided error. - public enum ValidationResult { - case success - case failure(Error) - } - - fileprivate struct MIMEType { - let type: String - let subtype: String - - var isWildcard: Bool { return type == "*" && subtype == "*" } - - init?(_ string: String) { - let components: [String] = { - let stripped = string.trimmingCharacters(in: .whitespacesAndNewlines) - - #if swift(>=3.2) - let split = stripped[..<(stripped.range(of: ";")?.lowerBound ?? stripped.endIndex)] - #else - let split = stripped.substring(to: stripped.range(of: ";")?.lowerBound ?? stripped.endIndex) - #endif - - return split.components(separatedBy: "/") - }() - - if let type = components.first, let subtype = components.last { - self.type = type - self.subtype = subtype - } else { - return nil - } - } - - func matches(_ mime: MIMEType) -> Bool { - switch (type, subtype) { - case (mime.type, mime.subtype), (mime.type, "*"), ("*", mime.subtype), ("*", "*"): - return true - default: - return false - } - } - } - - // MARK: Properties - - fileprivate var acceptableStatusCodes: [Int] { return Array(200..<300) } - - fileprivate var acceptableContentTypes: [String] { - if let accept = request?.value(forHTTPHeaderField: "Accept") { - return accept.components(separatedBy: ",") - } - - return ["*/*"] - } - - // MARK: Status Code - - fileprivate func validate( - statusCode acceptableStatusCodes: S, - response: HTTPURLResponse) - -> ValidationResult - where S.Iterator.Element == Int - { - if acceptableStatusCodes.contains(response.statusCode) { - return .success - } else { - let reason: ErrorReason = .unacceptableStatusCode(code: response.statusCode) - return .failure(AFError.responseValidationFailed(reason: reason)) - } - } - - // MARK: Content Type - - fileprivate func validate( - contentType acceptableContentTypes: S, - response: HTTPURLResponse, - data: Data?) - -> ValidationResult - where S.Iterator.Element == String - { - guard let data = data, data.count > 0 else { return .success } - - guard - let responseContentType = response.mimeType, - let responseMIMEType = MIMEType(responseContentType) - else { - for contentType in acceptableContentTypes { - if let mimeType = MIMEType(contentType), mimeType.isWildcard { - return .success - } - } - - let error: AFError = { - let reason: ErrorReason = .missingContentType(acceptableContentTypes: Array(acceptableContentTypes)) - return AFError.responseValidationFailed(reason: reason) - }() - - return .failure(error) - } - - for contentType in acceptableContentTypes { - if let acceptableMIMEType = MIMEType(contentType), acceptableMIMEType.matches(responseMIMEType) { - return .success - } - } - - let error: AFError = { - let reason: ErrorReason = .unacceptableContentType( - acceptableContentTypes: Array(acceptableContentTypes), - responseContentType: responseContentType - ) - - return AFError.responseValidationFailed(reason: reason) - }() - - return .failure(error) - } -} - -// MARK: - - -extension DataRequest { - /// A closure used to validate a request that takes a URL request, a URL response and data, and returns whether the - /// request was valid. - public typealias Validation = (URLRequest?, HTTPURLResponse, Data?) -> ValidationResult - - /// Validates the request, using the specified closure. - /// - /// If validation fails, subsequent calls to response handlers will have an associated error. - /// - /// - parameter validation: A closure to validate the request. - /// - /// - returns: The request. - @discardableResult - public func validate(_ validation: @escaping Validation) -> Self { - let validationExecution: () -> Void = { [unowned self] in - if - let response = self.response, - self.delegate.error == nil, - case let .failure(error) = validation(self.request, response, self.delegate.data) - { - self.delegate.error = error - } - } - - validations.append(validationExecution) - - return self - } - - /// Validates that the response has a status code in the specified sequence. - /// - /// If validation fails, subsequent calls to response handlers will have an associated error. - /// - /// - parameter range: The range of acceptable status codes. - /// - /// - returns: The request. - @discardableResult - public func validate(statusCode acceptableStatusCodes: S) -> Self where S.Iterator.Element == Int { - return validate { [unowned self] _, response, _ in - return self.validate(statusCode: acceptableStatusCodes, response: response) - } - } - - /// Validates that the response has a content type in the specified sequence. - /// - /// If validation fails, subsequent calls to response handlers will have an associated error. - /// - /// - parameter contentType: The acceptable content types, which may specify wildcard types and/or subtypes. - /// - /// - returns: The request. - @discardableResult - public func validate(contentType acceptableContentTypes: S) -> Self where S.Iterator.Element == String { - return validate { [unowned self] _, response, data in - return self.validate(contentType: acceptableContentTypes, response: response, data: data) - } - } - - /// Validates that the response has a status code in the default acceptable range of 200...299, and that the content - /// type matches any specified in the Accept HTTP header field. - /// - /// If validation fails, subsequent calls to response handlers will have an associated error. - /// - /// - returns: The request. - @discardableResult - public func validate() -> Self { - return validate(statusCode: self.acceptableStatusCodes).validate(contentType: self.acceptableContentTypes) - } -} - -// MARK: - - -extension DownloadRequest { - /// A closure used to validate a request that takes a URL request, a URL response, a temporary URL and a - /// destination URL, and returns whether the request was valid. - public typealias Validation = ( - _ request: URLRequest?, - _ response: HTTPURLResponse, - _ temporaryURL: URL?, - _ destinationURL: URL?) - -> ValidationResult - - /// Validates the request, using the specified closure. - /// - /// If validation fails, subsequent calls to response handlers will have an associated error. - /// - /// - parameter validation: A closure to validate the request. - /// - /// - returns: The request. - @discardableResult - public func validate(_ validation: @escaping Validation) -> Self { - let validationExecution: () -> Void = { [unowned self] in - let request = self.request - let temporaryURL = self.downloadDelegate.temporaryURL - let destinationURL = self.downloadDelegate.destinationURL - - if - let response = self.response, - self.delegate.error == nil, - case let .failure(error) = validation(request, response, temporaryURL, destinationURL) - { - self.delegate.error = error - } - } - - validations.append(validationExecution) - - return self - } - - /// Validates that the response has a status code in the specified sequence. - /// - /// If validation fails, subsequent calls to response handlers will have an associated error. - /// - /// - parameter range: The range of acceptable status codes. - /// - /// - returns: The request. - @discardableResult - public func validate(statusCode acceptableStatusCodes: S) -> Self where S.Iterator.Element == Int { - return validate { [unowned self] _, response, _, _ in - return self.validate(statusCode: acceptableStatusCodes, response: response) - } - } - - /// Validates that the response has a content type in the specified sequence. - /// - /// If validation fails, subsequent calls to response handlers will have an associated error. - /// - /// - parameter contentType: The acceptable content types, which may specify wildcard types and/or subtypes. - /// - /// - returns: The request. - @discardableResult - public func validate(contentType acceptableContentTypes: S) -> Self where S.Iterator.Element == String { - return validate { [unowned self] _, response, _, _ in - let fileURL = self.downloadDelegate.fileURL - - guard let validFileURL = fileURL else { - return .failure(AFError.responseValidationFailed(reason: .dataFileNil)) - } - - do { - let data = try Data(contentsOf: validFileURL) - return self.validate(contentType: acceptableContentTypes, response: response, data: data) - } catch { - return .failure(AFError.responseValidationFailed(reason: .dataFileReadFailed(at: validFileURL))) - } - } - } - - /// Validates that the response has a status code in the default acceptable range of 200...299, and that the content - /// type matches any specified in the Accept HTTP header field. - /// - /// If validation fails, subsequent calls to response handlers will have an associated error. - /// - /// - returns: The request. - @discardableResult - public func validate() -> Self { - return validate(statusCode: self.acceptableStatusCodes).validate(contentType: self.acceptableContentTypes) - } -} diff --git a/Example/web3swiftExample/Pods/BigInt/LICENSE.md b/Example/web3swiftExample/Pods/BigInt/LICENSE.md old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/BigInt/README.md b/Example/web3swiftExample/Pods/BigInt/README.md old mode 100755 new mode 100644 index 66d11342e..0cf7f1cd5 --- a/Example/web3swiftExample/Pods/BigInt/README.md +++ b/Example/web3swiftExample/Pods/BigInt/README.md @@ -25,35 +25,35 @@ This repository provides [integer types of arbitrary width][wiki] implemented in 100% pure Swift. The underlying representation is in base 2^64, using `Array`. - + [wiki]: https://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic -This module is handy when you need an integer type that's wider than `UIntMax`, but -you don't want to add [The GNU Multiple Precision Arithmetic Library][GMP] +This module is handy when you need an integer type that's wider than `UIntMax`, but +you don't want to add [The GNU Multiple Precision Arithmetic Library][GMP] as a dependency. [GMP]: https://gmplib.org -Two big integer types are included: [`BigUInt`][BigUInt] and [`BigInt`][BigInt], +Two big integer types are included: [`BigUInt`][BigUInt] and [`BigInt`][BigInt], the latter being the signed variant. -Both of these are Swift structs with copy-on-write value semantics, and they can be used much +Both of these are Swift structs with copy-on-write value semantics, and they can be used much like any other integer type. -The library provides implementations for some of the most frequently useful functions on +The library provides implementations for some of the most frequently useful functions on big integers, including - All functionality from [`Comparable`][comparison] and [`Hashable`][hashing] - [The full set of arithmetic operators][addition]: `+`, `-`, `*`, `/`, `%`, `+=`, `-=`, `*=`, `/=`, `%=` - - [Addition][addition] and [subtraction][subtraction] have variants that allow for + - [Addition][addition] and [subtraction][subtraction] have variants that allow for shifting the digits of the second operand on the fly. - - Unsigned subtraction will trap when the result would be negative. + - Unsigned subtraction will trap when the result would be negative. ([There are variants][subtraction] that return an overflow flag.) - - [Multiplication][mul] uses brute force for numbers up to 1024 digits, then switches to Karatsuba's recursive method. - (This limit is configurable, see `BigUInt.directMultiplicationLimit`.) + - [Multiplication][mul] uses brute force for numbers up to 1024 digits, then switches to Karatsuba's recursive method. + (This limit is configurable, see `BigUInt.directMultiplicationLimit`.) - A [fused multiply-add][fused] method is also available, along with other [special-case variants][multiplication]. - - [Division][division] uses Knuth's Algorithm D, with its 3/2 digits wide quotient approximation. - It will trap when the divisor is zero. + - [Division][division] uses Knuth's Algorithm D, with its 3/2 digits wide quotient approximation. + It will trap when the divisor is zero. - [`BigUInt.divide`][divide] returns the quotient and remainder at once; this is faster than calculating them separately. @@ -70,12 +70,12 @@ big integers, including - Radix conversion to/from [`String`s][radix1] and [big integers][radix2] up to base 36 (using repeated divisions). - Big integers use this to implement `StringLiteralConvertible` (in base 10). - + - [`sqrt(n)`][sqrt]: The square root of an integer (using Newton's method). - [`BigUInt.gcd(n, m)`][GCD]: The greatest common divisor of two integers (Stein's algorithm). - -- [`base.power(exponent, modulus)`][powmod]: Modular exponentiation (right-to-left binary method). + +- [`base.power(exponent, modulus)`][powmod]: Modular exponentiation (right-to-left binary method). [Vanilla exponentiation][power] is also available. - [`n.inverse(modulus)`][inverse]: Multiplicative inverse in modulo arithmetic (extended Euclidean algorithm). - [`n.isPrime()`][prime]: Miller–Rabin primality test. @@ -100,9 +100,9 @@ BigInt can be used, distributed and modified under [the MIT license][license]. BigInt 3.0.0 requires Swift 4. (The last version with support for Swift 3.x was BigInt 2.1.0. The last version with support for Swift 2 was BigInt 1.3.0.) -BigInt deploys to macOS 10.10, iOS 9, watchOS 2 and tvOS 9. -It has been tested on the latest OS releases only---however, as the module uses very few platform-provided APIs, -there should be very few issues with earlier versions. +BigInt deploys to macOS 10.10, iOS 9, watchOS 2 and tvOS 9. +It has been tested on the latest OS releases only---however, as the module uses very few platform-provided APIs, +there should be very few issues with earlier versions. BigInt uses no APIs specific to Apple platforms except for `arc4random_buf` in `BigUInt Random.swift`, so it should be easy to port it to other operating systems. @@ -110,41 +110,41 @@ it should be easy to port it to other operating systems. Setup instructions: - **Swift Package Manager:** - Although the Package Manager is still in its infancy, BigInt provides experimental support for it. + Although the Package Manager is still in its infancy, BigInt provides experimental support for it. Add this to the dependency section of your `Package.swift` manifest: ```Swift - .Package(url: "https://github.com/attaswift/BigInt.git", from: "3.0.0") + .Package(url: "https://github.com/attaswift/BigInt.git", from: "3.1.0") ``` - **CocoaPods:** Put this in your `Podfile`: ```Ruby - pod 'BigInt', '~> 3.0' + pod 'BigInt', '~> 3.1' ``` - **Carthage:** Put this in your `Cartfile`: ``` - github "attaswift/BigInt" ~> 3.0 + github "attaswift/BigInt" ~> 3.1 ``` ## Implementation notes -[`BigUInt`][BigUInt] is a `MutableCollectionType` of its 64-bit digits, with the least significant +[`BigUInt`][BigUInt] is a `MutableCollectionType` of its 64-bit digits, with the least significant digit at index 0. As a convenience, [`BigUInt`][BigUInt] allows you to subscript it with indexes at or above its `count`. [The subscript operator][subscript] returns 0 for out-of-bound `get`s and automatically extends the array on out-of-bound `set`s. This makes memory management simpler. -[`BigInt`][BigInt] is just a tiny wrapper around a `BigUInt` [absolute value][abs] and a -[sign bit][negative], both of which are accessible as public read-write properties. +[`BigInt`][BigInt] is just a tiny wrapper around a `BigUInt` [absolute value][abs] and a +[sign bit][negative], both of which are accessible as public read-write properties. ### Full-width multiplication and division primitives I haven't found (64,64)->128 multiplication or (128,64)->64 division operations in Swift, so [the module has generic implementations for them][fullmuldiv] in terms of the standard -single-width `*` and `/` operators. I suspect there are LLVM intrinsics for full-width +single-width `*` and `/` operators. I suspect there are LLVM intrinsics for full-width arithmetics that are probably accessible somehow, though. ([Let me know][twitter] if you know how!) This sounds slow, but 64-bit digits are @@ -153,15 +153,15 @@ implement these primitives. ### Why is there no generic `BigInt` type? -The types provided by `BigInt` are not parametric—this is very much intentional, as +The types provided by `BigInt` are not parametric—this is very much intentional, as Swift generics cost us dearly at runtime in this use case. In every approach I tried, -making arbitrary-precision arithmetic operations work with a generic `Digit` type parameter +making arbitrary-precision arithmetic operations work with a generic `Digit` type parameter resulted in code that was literally *ten times slower*. If you can make the algorithms generic without such a huge performance hit, [please enlighten me][twitter]! This is an area that I plan to investigate more, as it would be useful to have generic implementations for arbitrary-width arithmetic operations. (Polynomial division and decimal bases -are two examples.) The library already implements double-digit multiplication and division as +are two examples.) The library already implements double-digit multiplication and division as extension methods on a protocol with an associated type requirement; this has not measurably affected performance. Unfortunately, the same is not true for `BigUInt`'s methods. @@ -267,8 +267,8 @@ simple [RSA cryptography system][RSA]. [RSA]: https://en.wikipedia.org/wiki/RSA_(cryptosystem) -Let's start with a simple function that generates a random n-bit prime. The module -includes a function to generate random integers of a specific size, and also an +Let's start with a simple function that generates a random n-bit prime. The module +includes a function to generate random integers of a specific size, and also an `isPrime` method that performs the Miller–Rabin primality test. These are all we need: ```Swift @@ -337,7 +337,7 @@ func encrypt(_ message: BigUInt, key: Key) -> BigUInt { Let's try out our new keypair by converting a string into UTF-8, interpreting the resulting binary representation as a big integer, and encrypting it with the -public key. `BigUInt` has an initializer that takes an `NSData`, so this is pretty +public key. `BigUInt` has an initializer that takes an `NSData`, so this is pretty easy to do: ```Swift @@ -356,7 +356,7 @@ let cyphertext = encrypt(secret, key: publicKey) 49208193955207336172861151720299024935127021719852700882 ``` -Well, it looks encrypted all right, but can we get the original message back? +Well, it looks encrypted all right, but can we get the original message back? In theory, encrypting the cyphertext with the private key returns the original message. Let's see: @@ -369,14 +369,14 @@ let received = String(data: plaintext.serialize(), encoding: NSUTF8StringEncodin ==> "Arbitrary precision arithmetic is fun!" ``` -Yay! This is truly terrific, but please don't use this example code in an actual +Yay! This is truly terrific, but please don't use this example code in an actual cryptography system. RSA has lots of subtle (and some not so subtle) complications that we ignored to keep this example short. ### Calculating the Digits of π Another fun activity to try with `BigInt`s is to generate the digits of π. -Let's try implementing [Jeremy Gibbon's spigot algorithm][spigot]. +Let's try implementing [Jeremy Gibbon's spigot algorithm][spigot]. This is a rather slow algorithm as π-generators go, but it makes up for it with its grooviness factor: it's remarkably short, it only uses (big) integer arithmetic, and every iteration produces a single new digit in the base-10 representation of π. This naturally leads to an diff --git a/Example/web3swiftExample/Pods/BigInt/sources/Addition.swift b/Example/web3swiftExample/Pods/BigInt/sources/Addition.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/BigInt/sources/BigInt.swift b/Example/web3swiftExample/Pods/BigInt/sources/BigInt.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/BigInt/sources/BigUInt.swift b/Example/web3swiftExample/Pods/BigInt/sources/BigUInt.swift old mode 100755 new mode 100644 index 8a1fc74c1..81aa9a837 --- a/Example/web3swiftExample/Pods/BigInt/sources/BigUInt.swift +++ b/Example/web3swiftExample/Pods/BigInt/sources/BigUInt.swift @@ -77,7 +77,7 @@ extension BigUInt { } } - /// Returns `-1` if this value is negative and `1` if it’s positive; otherwise, `0`. + /// Returns `1` if this value is, positive; otherwise, `0`. /// /// - Returns: The sign of this number, expressed as an integer of the same type. public func signum() -> BigUInt { diff --git a/Example/web3swiftExample/Pods/BigInt/sources/Bitwise Ops.swift b/Example/web3swiftExample/Pods/BigInt/sources/Bitwise Ops.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/BigInt/sources/Codable.swift b/Example/web3swiftExample/Pods/BigInt/sources/Codable.swift old mode 100755 new mode 100644 index 73913796b..b53b30be5 --- a/Example/web3swiftExample/Pods/BigInt/sources/Codable.swift +++ b/Example/web3swiftExample/Pods/BigInt/sources/Codable.swift @@ -9,7 +9,7 @@ // Little-endian to big-endian struct Units: RandomAccessCollection -where Words.Element: FixedWidthInteger, Words.Index == Int, Words.IndexDistance == Int { +where Words.Element: FixedWidthInteger, Words.Index == Int { typealias Word = Words.Element let words: Words init(of type: Unit.Type, _ words: Words) { @@ -122,10 +122,10 @@ extension BigInt: Codable { return try container.decode(UInt64.self) } let magnitude = BigUInt(words: words) - + self.init(sign: sign, magnitude: magnitude) } - + public func encode(to encoder: Encoder) throws { var container = encoder.unkeyedContainer() try container.encode(sign == .plus ? "+" : "-") @@ -148,10 +148,8 @@ extension BigUInt: Codable { } self = value.magnitude } - + public func encode(to encoder: Encoder) throws { try BigInt(sign: .plus, magnitude: self).encode(to: encoder) } } - - diff --git a/Example/web3swiftExample/Pods/BigInt/sources/Comparable.swift b/Example/web3swiftExample/Pods/BigInt/sources/Comparable.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/BigInt/sources/Data Conversion.swift b/Example/web3swiftExample/Pods/BigInt/sources/Data Conversion.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/BigInt/sources/Division.swift b/Example/web3swiftExample/Pods/BigInt/sources/Division.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/BigInt/sources/Exponentiation.swift b/Example/web3swiftExample/Pods/BigInt/sources/Exponentiation.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/BigInt/sources/Floating Point Conversion.swift b/Example/web3swiftExample/Pods/BigInt/sources/Floating Point Conversion.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/BigInt/sources/GCD.swift b/Example/web3swiftExample/Pods/BigInt/sources/GCD.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/BigInt/sources/Hashable.swift b/Example/web3swiftExample/Pods/BigInt/sources/Hashable.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/BigInt/sources/Integer Conversion.swift b/Example/web3swiftExample/Pods/BigInt/sources/Integer Conversion.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/BigInt/sources/Multiplication.swift b/Example/web3swiftExample/Pods/BigInt/sources/Multiplication.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/BigInt/sources/Prime Test.swift b/Example/web3swiftExample/Pods/BigInt/sources/Prime Test.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/BigInt/sources/Random.swift b/Example/web3swiftExample/Pods/BigInt/sources/Random.swift old mode 100755 new mode 100644 index b70f7aa02..5813b4bde --- a/Example/web3swiftExample/Pods/BigInt/sources/Random.swift +++ b/Example/web3swiftExample/Pods/BigInt/sources/Random.swift @@ -7,8 +7,8 @@ // import Foundation -#if os(Linux) - import SwiftShims +#if os(Linux) || os(FreeBSD) + import Glibc #endif @@ -26,10 +26,12 @@ extension BigUInt { assert(byteCount > 0) let buffer = UnsafeMutablePointer.allocate(capacity: byteCount) - #if os(Linux) - for i in 0...size * byteCount) #else arc4random_buf(buffer, byteCount) #endif @@ -38,7 +40,7 @@ extension BigUInt { } defer { buffer.deinitialize(count: byteCount) - buffer.deallocate(capacity: byteCount) + buffer.deallocate() } return BigUInt(Data(bytesNoCopy: buffer, count: byteCount, deallocator: .none)) } diff --git a/Example/web3swiftExample/Pods/BigInt/sources/Shifts.swift b/Example/web3swiftExample/Pods/BigInt/sources/Shifts.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/BigInt/sources/Square Root.swift b/Example/web3swiftExample/Pods/BigInt/sources/Square Root.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/BigInt/sources/Strideable.swift b/Example/web3swiftExample/Pods/BigInt/sources/Strideable.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/BigInt/sources/String Conversion.swift b/Example/web3swiftExample/Pods/BigInt/sources/String Conversion.swift old mode 100755 new mode 100644 index ea3128501..02df51ede --- a/Example/web3swiftExample/Pods/BigInt/sources/String Conversion.swift +++ b/Example/web3swiftExample/Pods/BigInt/sources/String Conversion.swift @@ -94,11 +94,11 @@ extension BigInt { init?(_ text: Substring, radix: Int = 10) { var text = text var sign: Sign = .plus - if text.characters.first == "-" { + if text.first == "-" { sign = .minus text = text.dropFirst() } - else if text.characters.first == "+" { + else if text.first == "+" { text = text.dropFirst() } guard let magnitude = BigUInt(text, radix: radix) else { return nil } @@ -143,7 +143,7 @@ extension String { self = "" var first = true for part in parts.reversed() { - let zeroes = charsPerWord - part.characters.count + let zeroes = charsPerWord - part.count assert(zeroes >= 0) if !first && zeroes > 0 { // Insert leading zeroes for mid-Words @@ -223,18 +223,20 @@ extension BigInt: CustomStringConvertible { } } -extension BigUInt: CustomPlaygroundQuickLookable { +extension BigUInt: CustomPlaygroundDisplayConvertible { + /// Return the playground quick look representation of this integer. - public var customPlaygroundQuickLook: PlaygroundQuickLook { + public var playgroundDescription: Any { let text = String(self) - return PlaygroundQuickLook.text(text + " (\(self.bitWidth) bits)") + return text + " (\(self.bitWidth) bits)" } } -extension BigInt: CustomPlaygroundQuickLookable { +extension BigInt: CustomPlaygroundDisplayConvertible { + /// Return the playground quick look representation of this integer. - public var customPlaygroundQuickLook: PlaygroundQuickLook { + public var playgroundDescription: Any { let text = String(self) - return PlaygroundQuickLook.text(text + " (\(self.magnitude.bitWidth) bits)") + return text + " (\(self.magnitude.bitWidth) bits)" } } diff --git a/Example/web3swiftExample/Pods/BigInt/sources/Subtraction.swift b/Example/web3swiftExample/Pods/BigInt/sources/Subtraction.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/BigInt/sources/Words and Bits.swift b/Example/web3swiftExample/Pods/BigInt/sources/Words and Bits.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/LICENSE b/Example/web3swiftExample/Pods/CryptoSwift/LICENSE old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/README.md b/Example/web3swiftExample/Pods/CryptoSwift/README.md old mode 100755 new mode 100644 index bce25885b..45dead904 --- a/Example/web3swiftExample/Pods/CryptoSwift/README.md +++ b/Example/web3swiftExample/Pods/CryptoSwift/README.md @@ -153,7 +153,7 @@ or for newest version from specified branch of code: pod 'CryptoSwift', :git => "https://github.com/krzyzanowskim/CryptoSwift", :branch => "master" ``` -Bear in mind that CocoaPods will build CryptoSwift without [Whole-Module Optimization](https://swift.org/blog/whole-module-optimizations/) that my impact performance. You can change it manually after installation, or use [cocoapods-wholemodule](https://github.com/jedlewison/cocoapods-wholemodule) plugin. +Bear in mind that CocoaPods will build CryptoSwift without [Whole-Module Optimization](https://swift.org/blog/whole-module-optimizations/) that may impact performance. You can change it manually after installation, or use [cocoapods-wholemodule](https://github.com/jedlewison/cocoapods-wholemodule) plugin. #### Carthage You can use [Carthage](https://github.com/Carthage/Carthage). @@ -474,6 +474,12 @@ CryptoSwift is owned and maintained by [Marcin Krzyżanowski](http://www.krzyzan You can follow me on Twitter at [@krzyzanowskim](http://twitter.com/krzyzanowskim) for project updates and releases. +# Cryptography Notice + +This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information. + +The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code. + ## License Copyright (C) 2014-2017 Marcin Krzyżanowski diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/AEAD/AEAD.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/AEAD/AEAD.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/AES.Cryptors.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/AES.Cryptors.swift old mode 100755 new mode 100644 index e72c02ced..160ceacc9 --- a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/AES.Cryptors.swift +++ b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/AES.Cryptors.swift @@ -16,157 +16,17 @@ // MARK: Cryptors extension AES: Cryptors { - public func makeEncryptor() throws -> AES.Encryptor { - return try AES.Encryptor(aes: self) - } - - public func makeDecryptor() throws -> AES.Decryptor { - return try AES.Decryptor(aes: self) - } -} - -// MARK: Encryptor - -extension AES { - public struct Encryptor: Cryptor, Updatable { - private var worker: BlockModeWorker - private let padding: Padding - // Accumulated bytes. Not all processed bytes. - private var accumulated = Array() - private var processedBytesTotalCount: Int = 0 - - init(aes: AES) throws { - padding = aes.padding - worker = try aes.blockMode.worker(blockSize: AES.blockSize, cipherOperation: aes.encrypt) - } - - // MARK: Updatable - public mutating func update(withBytes bytes: ArraySlice, isLast: Bool = false) throws -> Array { - accumulated += bytes - - if isLast { - accumulated = padding.add(to: accumulated, blockSize: AES.blockSize) - } - - var processedBytes = 0 - var encrypted = Array(reserveCapacity: accumulated.count) - for chunk in accumulated.batched(by: AES.blockSize) { - if isLast || (accumulated.count - processedBytes) >= AES.blockSize { - encrypted += worker.encrypt(block: chunk) - processedBytes += chunk.count - } - } - accumulated.removeFirst(processedBytes) - processedBytesTotalCount += processedBytes - - if var finalizingWorker = worker as? BlockModeWorkerFinalizing, isLast == true { - encrypted = try finalizingWorker.finalize(encrypt: encrypted.slice) - } - - return encrypted + public func makeEncryptor() throws -> Cryptor & Updatable { + let worker = try blockMode.worker(blockSize: AES.blockSize, cipherOperation: encrypt) + if worker is StreamModeWorker { + return try StreamEncryptor(blockSize: AES.blockSize, padding: padding, worker) } + return try BlockEncryptor(blockSize: AES.blockSize, padding: padding, worker) } -} - -// MARK: Decryptor - -extension AES { - public struct Decryptor: RandomAccessCryptor, Updatable { - private var worker: BlockModeWorker - private let padding: Padding - private let additionalBufferSize: Int - private var accumulated = Array() - private var processedBytesTotalCount: Int = 0 - - private var offset: Int = 0 - private var offsetToRemove: Int = 0 - - init(aes: AES) throws { - padding = aes.padding - - if aes.blockMode.options.contains(.useEncryptToDecrypt) { - worker = try aes.blockMode.worker(blockSize: AES.blockSize, cipherOperation: aes.encrypt) - } else { - worker = try aes.blockMode.worker(blockSize: AES.blockSize, cipherOperation: aes.decrypt) - } - additionalBufferSize = worker.additionalBufferSize - } - - public mutating func update(withBytes bytes: ArraySlice, isLast: Bool = false) throws -> Array { - // prepend "offset" number of bytes at the beginning - if offset > 0 { - accumulated += Array(repeating: 0, count: offset) + bytes - offsetToRemove = offset - offset = 0 - } else { - accumulated += bytes - } - - // If a worker (eg GCM) can combine ciphertext + tag - // we need to remove tag from the ciphertext. - if !isLast && accumulated.count < worker.blockSize + additionalBufferSize { - return [] - } - - let accumulatedWithoutSuffix: Array - if additionalBufferSize > 0 { - // FIXME: how slow is that? - accumulatedWithoutSuffix = Array(accumulated.prefix(accumulated.count - additionalBufferSize)) - } else { - accumulatedWithoutSuffix = accumulated - } - - var processedBytesCount = 0 - var plaintext = Array(reserveCapacity: accumulatedWithoutSuffix.count) - // Processing in a block-size manner. It's good for block modes, but bad for stream modes. - for var chunk in accumulatedWithoutSuffix.batched(by: worker.blockSize) { - if isLast || (accumulatedWithoutSuffix.count - processedBytesCount) >= worker.blockSize { - - if isLast, var finalizingWorker = worker as? BlockModeWorkerFinalizing { - chunk = try finalizingWorker.willDecryptLast(block: chunk + accumulated.suffix(additionalBufferSize)) // tag size - } - - if !chunk.isEmpty { - plaintext += worker.decrypt(block: chunk) - } - - // remove "offset" from the beginning of first chunk - if offsetToRemove > 0 { - plaintext.removeFirst(offsetToRemove) - offsetToRemove = 0 - } - - if var finalizingWorker = worker as? BlockModeWorkerFinalizing, isLast == true { - plaintext = try finalizingWorker.didDecryptLast(block: plaintext.slice) - } - - processedBytesCount += chunk.count - } - } - accumulated.removeFirst(processedBytesCount) // super-slow - processedBytesTotalCount += processedBytesCount - - if isLast { - plaintext = padding.remove(from: plaintext, blockSize: worker.blockSize) - } - - return plaintext - } - - @discardableResult public mutating func seek(to position: Int) -> Bool { - guard var worker = self.worker as? RandomAccessBlockModeWorker else { - return false - } - - worker.counter = UInt(position / AES.blockSize) // TODO: worker.blockSize - self.worker = worker - - offset = position % worker.blockSize - - accumulated = [] - - return true - } + public func makeDecryptor() throws -> Cryptor & Updatable { + let cipherOperation: CipherOperationOnBlock = blockMode.options.contains(.useEncryptToDecrypt) == true ? encrypt : decrypt + let worker = try blockMode.worker(blockSize: AES.blockSize, cipherOperation: cipherOperation) + return try BlockDecryptor(blockSize: AES.blockSize, padding: padding, worker) } } diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/AES.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/AES.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Array+Extension.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Array+Extension.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Authenticator.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Authenticator.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BatchedCollection.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BatchedCollection.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Bit.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Bit.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockCipher.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockCipher.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockDecryptor.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockDecryptor.swift new file mode 100644 index 000000000..1bcf44ea6 --- /dev/null +++ b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockDecryptor.swift @@ -0,0 +1,84 @@ +// CryptoSwift +// +// Copyright (C) 2014-__YEAR__ Marcin Krzyżanowski +// This software is provided 'as-is', without any express or implied warranty. +// +// In no event will the authors be held liable for any damages arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: +// +// - The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. +// - Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +// - This notice may not be removed or altered from any source or binary distribution. +// + +public class BlockDecryptor: Cryptor, Updatable { + private let blockSize: Int + private let padding: Padding + private var worker: CipherModeWorker + private var accumulated = Array() + + init(blockSize: Int, padding: Padding, _ worker: CipherModeWorker) throws { + self.blockSize = blockSize + self.padding = padding + self.worker = worker + } + + public func update(withBytes bytes: ArraySlice, isLast: Bool = false) throws -> Array { + accumulated += bytes + + // If a worker (eg GCM) can combine ciphertext + tag + // we need to remove tag from the ciphertext. + if !isLast && accumulated.count < blockSize + worker.additionalBufferSize { + return [] + } + + let accumulatedWithoutSuffix: Array + if worker.additionalBufferSize > 0 { + // FIXME: how slow is that? + accumulatedWithoutSuffix = Array(accumulated.prefix(accumulated.count - worker.additionalBufferSize)) + } else { + accumulatedWithoutSuffix = accumulated + } + + var processedBytesCount = 0 + var plaintext = Array(reserveCapacity: accumulatedWithoutSuffix.count) + // Processing in a block-size manner. It's good for block modes, but bad for stream modes. + for var chunk in accumulatedWithoutSuffix.batched(by: blockSize) { + if isLast || (accumulatedWithoutSuffix.count - processedBytesCount) >= blockSize { + + if isLast, var finalizingWorker = worker as? BlockModeWorkerFinalizing { + chunk = try finalizingWorker.willDecryptLast(block: chunk + accumulated.suffix(worker.additionalBufferSize)) // tag size + } + + if !chunk.isEmpty { + plaintext += worker.decrypt(block: chunk) + } + + if var finalizingWorker = worker as? BlockModeWorkerFinalizing, isLast == true { + plaintext = try finalizingWorker.didDecryptLast(block: plaintext.slice) + } + + processedBytesCount += chunk.count + } + } + accumulated.removeFirst(processedBytesCount) // super-slow + + if isLast { + plaintext = padding.remove(from: plaintext, blockSize: blockSize) + } + + return plaintext + } + + public func seek(to position: Int) throws { + guard var worker = self.worker as? StreamModeWorker else { + fatalError("Not supported") + } + + try worker.seek(to: position) + self.worker = worker + + accumulated = [] + } +} diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockEncryptor.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockEncryptor.swift new file mode 100644 index 000000000..73c37e851 --- /dev/null +++ b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockEncryptor.swift @@ -0,0 +1,57 @@ +// CryptoSwift +// +// Copyright (C) 2014-__YEAR__ Marcin Krzyżanowski +// This software is provided 'as-is', without any express or implied warranty. +// +// In no event will the authors be held liable for any damages arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: +// +// - The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. +// - Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +// - This notice may not be removed or altered from any source or binary distribution. +// +final class BlockEncryptor: Cryptor, Updatable { + private let blockSize: Int + private var worker: CipherModeWorker + private let padding: Padding + // Accumulated bytes. Not all processed bytes. + private var accumulated = Array(reserveCapacity: 16) + + private var lastBlockRemainder = 0 + + init(blockSize: Int, padding: Padding, _ worker: CipherModeWorker) throws { + self.blockSize = blockSize + self.padding = padding + self.worker = worker + } + + // MARK: Updatable + public func update(withBytes bytes: ArraySlice, isLast: Bool) throws -> Array { + accumulated += bytes + + if isLast { + accumulated = padding.add(to: accumulated, blockSize: blockSize) + } + + var encrypted = Array(reserveCapacity: accumulated.count) + for chunk in accumulated.batched(by: blockSize) { + if isLast || chunk.count == blockSize { + encrypted += worker.encrypt(block: chunk) + } + } + + // Stream encrypts all, so it removes all elements + accumulated.removeFirst(encrypted.count) + + if var finalizingWorker = worker as? BlockModeWorkerFinalizing, isLast == true { + encrypted = try finalizingWorker.finalize(encrypt: encrypted.slice) + } + + return encrypted + } + + func seek(to: Int) throws { + fatalError("Not supported") + } +} diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/BlockMode.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/BlockMode.swift old mode 100755 new mode 100644 index bc47a371a..b78e27468 --- a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/BlockMode.swift +++ b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/BlockMode.swift @@ -18,5 +18,7 @@ public typealias CipherOperationOnBlock = (_ block: ArraySlice) -> Array< public protocol BlockMode { var options: BlockModeOption { get } //TODO: doesn't have to be public - func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> BlockModeWorker + func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker } + +typealias StreamMode = BlockMode diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/BlockModeOptions.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/BlockModeOptions.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CBC.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CBC.swift old mode 100755 new mode 100644 index 4f0e4f7de..f98d9bf6e --- a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CBC.swift +++ b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CBC.swift @@ -29,7 +29,7 @@ public struct CBC: BlockMode { self.iv = iv } - public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> BlockModeWorker { + public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { if iv.count != blockSize { throw Error.invalidInitializationVector } diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CFB.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CFB.swift old mode 100755 new mode 100644 index f35c96c6d..316283cba --- a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CFB.swift +++ b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CFB.swift @@ -29,7 +29,7 @@ public struct CFB: BlockMode { self.iv = iv } - public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> BlockModeWorker { + public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { if iv.count != blockSize { throw Error.invalidInitializationVector } diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CTR.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CTR.swift old mode 100755 new mode 100644 index 452fed23c..c48e916af --- a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CTR.swift +++ b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CTR.swift @@ -14,9 +14,8 @@ // // Counter (CTR) -// -public struct CTR: BlockMode { +public struct CTR: StreamMode { public enum Error: Swift.Error { /// Invalid IV case invalidInitializationVector @@ -24,42 +23,101 @@ public struct CTR: BlockMode { public let options: BlockModeOption = [.initializationVectorRequired, .useEncryptToDecrypt] private let iv: Array + private let counter: Int - public init(iv: Array) { + public init(iv: Array, counter: Int = 0) { self.iv = iv + self.counter = counter } - public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> BlockModeWorker { + public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { if iv.count != blockSize { throw Error.invalidInitializationVector } - return CTRModeWorker(blockSize: blockSize, iv: iv.slice, cipherOperation: cipherOperation) + return CTRModeWorker(blockSize: blockSize, iv: iv.slice, counter: counter, cipherOperation: cipherOperation) } } -struct CTRModeWorker: RandomAccessBlockModeWorker { +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +struct CTRModeWorker: StreamModeWorker, CounterModeWorker { + typealias Counter = CTRCounter + + final class CTRCounter { + private let constPrefix: Array + private var value: UInt64 + //TODO: make it an updatable value, computing is too slow + var bytes: Array { + return constPrefix + value.bytes() + } + + init(_ initialValue: Array) { + let halfIndex = initialValue.startIndex.advanced(by: initialValue.count / 2) + constPrefix = Array(initialValue[initialValue.startIndex.., startAt index: Int) { + self.init(buildCounterValue(nonce, counter: UInt64(index))) + } + + static func +=(lhs: CTRCounter, rhs: Int) { + lhs.value += UInt64(rhs) + } + } + let cipherOperation: CipherOperationOnBlock - let blockSize: Int let additionalBufferSize: Int = 0 - private let iv: ArraySlice - var counter: UInt = 0 + let iv: Array + var counter: CTRCounter - init(blockSize: Int, iv: ArraySlice, cipherOperation: @escaping CipherOperationOnBlock) { - self.blockSize = blockSize - self.iv = iv + private let blockSize: Int + + // The same keystream is used for the block length plaintext + // As new data is added, keystream suffix is used to xor operation. + private var keystream: Array + private var keystreamPosIdx = 0 + + init(blockSize: Int, iv: ArraySlice, counter: Int, cipherOperation: @escaping CipherOperationOnBlock) { self.cipherOperation = cipherOperation + self.blockSize = blockSize + self.iv = Array(iv) + + // the first keystream is calculated from the nonce = initial value of counter + self.counter = CTRCounter(nonce: Array(iv), startAt: counter) + self.keystream = Array(cipherOperation(self.counter.bytes.slice)!) } + mutating func seek(to position: Int) throws { + let offset = position % blockSize + counter = CTRCounter(nonce: iv, startAt: position / blockSize) + keystream = Array(cipherOperation(counter.bytes.slice)!) + keystreamPosIdx = offset + } + + // plaintext is at most blockSize long mutating func encrypt(block plaintext: ArraySlice) -> Array { - let nonce = buildNonce(iv, counter: UInt64(counter)) - counter = counter + 1 + var result = Array(reserveCapacity: plaintext.count) + + var processed = 0 + while processed < plaintext.count { + // Update keystream + if keystreamPosIdx == blockSize { + counter += 1 + keystream = Array(cipherOperation(counter.bytes.slice)!) + keystreamPosIdx = 0 + } - guard let ciphertext = cipherOperation(nonce.slice) else { - return Array(plaintext) + let xored: Array = xor(plaintext[plaintext.startIndex.advanced(by: processed)...], keystream[keystreamPosIdx...]) + keystreamPosIdx += xored.count + processed += xored.count + result += xored } - return xor(plaintext, ciphertext) + return result } mutating func decrypt(block ciphertext: ArraySlice) -> Array { @@ -67,7 +125,7 @@ struct CTRModeWorker: RandomAccessBlockModeWorker { } } -private func buildNonce(_ iv: ArraySlice, counter: UInt64) -> Array { +private func buildCounterValue(_ iv: Array, counter: UInt64) -> Array { let noncePartLen = iv.count / 2 let noncePrefix = iv[iv.startIndex..) -> Array } +public protocol BlockModeWorker: CipherModeWorker { + var blockSize: Int { get } +} + +public protocol CounterModeWorker: CipherModeWorker { + associatedtype Counter + var counter: Counter { get set } +} + +public protocol StreamModeWorker: CipherModeWorker { + mutating func seek(to position: Int) throws +} + // TODO: remove and merge with BlockModeWorker public protocol BlockModeWorkerFinalizing: BlockModeWorker { // Any final calculations, eg. calculate tag diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/ECB.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/ECB.swift old mode 100755 new mode 100644 index 0b823e1a6..ce410b307 --- a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/ECB.swift +++ b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/ECB.swift @@ -22,7 +22,7 @@ public struct ECB: BlockMode { public init() { } - public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> BlockModeWorker { + public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { return ECBModeWorker(blockSize: blockSize, cipherOperation: cipherOperation) } } diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/GCM.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/GCM.swift old mode 100755 new mode 100644 index 43c8e4330..8313b6c9f --- a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/GCM.swift +++ b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/GCM.swift @@ -66,7 +66,7 @@ public final class GCM: BlockMode { self.authenticationTag = authenticationTag } - public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> BlockModeWorker { + public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { if iv.isEmpty { throw Error.invalidInitializationVector } diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/OFB.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/OFB.swift old mode 100755 new mode 100644 index 2d0303178..0f5c66a48 --- a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/OFB.swift +++ b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/OFB.swift @@ -29,7 +29,7 @@ public struct OFB: BlockMode { self.iv = iv } - public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> BlockModeWorker { + public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { if iv.count != blockSize { throw Error.invalidInitializationVector } diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/PCBC.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/PCBC.swift old mode 100755 new mode 100644 index a33823d36..846015d6a --- a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/PCBC.swift +++ b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/PCBC.swift @@ -29,7 +29,7 @@ public struct PCBC: BlockMode { self.iv = iv } - public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> BlockModeWorker { + public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { if iv.count != blockSize { throw Error.invalidInitializationVector } diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Blowfish.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Blowfish.swift old mode 100755 new mode 100644 index 9c175d622..34c771c27 --- a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Blowfish.swift +++ b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Blowfish.swift @@ -34,8 +34,8 @@ public final class Blowfish { private let blockMode: BlockMode private let padding: Padding - private var decryptWorker: BlockModeWorker! - private var encryptWorker: BlockModeWorker! + private var decryptWorker: CipherModeWorker! + private var encryptWorker: CipherModeWorker! private let N = 16 // rounds private var P: Array diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/CMAC.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/CMAC.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/ChaCha20.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/ChaCha20.swift old mode 100755 new mode 100644 index da113db30..250ee9d01 --- a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/ChaCha20.swift +++ b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/ChaCha20.swift @@ -19,6 +19,7 @@ public final class ChaCha20: BlockCipher { public enum Error: Swift.Error { case invalidKeyOrInitializationVector + case notSupported } public static let blockSize = 64 // 512 / 8 @@ -254,7 +255,7 @@ extension ChaCha20: Cipher { // MARK: Encryptor extension ChaCha20 { - public struct Encryptor: Cryptor, Updatable { + public struct ChaChaEncryptor: Cryptor, Updatable { private var accumulated = Array() private let chacha: ChaCha20 @@ -275,13 +276,17 @@ extension ChaCha20 { } return encrypted } + + public func seek(to: Int) throws { + throw Error.notSupported + } } } // MARK: Decryptor extension ChaCha20 { - public struct Decryptor: Cryptor, Updatable { + public struct ChaChaDecryptor: Cryptor, Updatable { private var accumulated = Array() private var offset: Int = 0 @@ -320,17 +325,23 @@ extension ChaCha20 { return plaintext } + + public func seek(to: Int) throws { + throw Error.notSupported + } } } // MARK: Cryptors extension ChaCha20: Cryptors { - public func makeEncryptor() -> ChaCha20.Encryptor { - return Encryptor(chacha: self) + //TODO: Use BlockEncryptor/BlockDecryptor + + public func makeEncryptor() -> Cryptor & Updatable { + return ChaCha20.ChaChaEncryptor(chacha: self) } - public func makeDecryptor() -> ChaCha20.Decryptor { - return Decryptor(chacha: self) + public func makeDecryptor() -> Cryptor & Updatable { + return ChaCha20.ChaChaDecryptor(chacha: self) } } diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Checksum.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Checksum.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Cipher.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Cipher.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Collection+Extension.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Collection+Extension.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/CompactMap.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/CompactMap.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/RandomAccessCryptor.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Cryptor.swift old mode 100755 new mode 100644 similarity index 83% rename from Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/RandomAccessCryptor.swift rename to Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Cryptor.swift index 40ca8897d..f79f4b359 --- a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/RandomAccessCryptor.swift +++ b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Cryptor.swift @@ -13,14 +13,10 @@ // - This notice may not be removed or altered from any source or binary distribution. // -/// Random access cryptor -public protocol Cryptor { } - -public protocol RandomAccessCryptor: Cryptor { +/// Cryptor (Encryptor or Decryptor) +public protocol Cryptor { /// Seek to position in file, if block mode allows random access. /// /// - parameter to: new value of counter - /// - /// - returns: true if seek succeed - @discardableResult mutating func seek(to: Int) -> Bool + mutating func seek(to: Int) throws } diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Cryptors.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Cryptors.swift old mode 100755 new mode 100644 index a3111d47a..4baa53bde --- a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Cryptors.swift +++ b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Cryptors.swift @@ -21,14 +21,12 @@ import Glibc /// Worker cryptor/decryptor of `Updatable` types public protocol Cryptors: class { - associatedtype Encryptor: Cryptor - associatedtype Decryptor: Cryptor /// Cryptor suitable for encryption - func makeEncryptor() throws -> Encryptor + func makeEncryptor() throws -> Cryptor & Updatable /// Cryptor suitable for decryption - func makeDecryptor() throws -> Decryptor + func makeDecryptor() throws -> Cryptor & Updatable /// Generate array of random bytes. Helper function. static func randomIV(_ blockSize: Int) -> Array diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Digest.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Digest.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/DigestType.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/DigestType.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/AES+Foundation.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/AES+Foundation.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Array+Foundation.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Array+Foundation.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Data+Extension.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Data+Extension.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/HMAC+Foundation.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/HMAC+Foundation.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/String+FoundationExtension.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/String+FoundationExtension.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Utils+Foundation.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Utils+Foundation.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Generics.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Generics.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/HKDF.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/HKDF.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/HMAC.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/HMAC.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Int+Extension.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Int+Extension.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/MD5.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/MD5.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/NoPadding.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/NoPadding.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Operators.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Operators.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PBKDF1.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PBKDF1.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PBKDF2.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PBKDF2.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PKCS5.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PKCS5.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PKCS7.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PKCS7.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PKCS7Padding.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PKCS7Padding.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Padding.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Padding.swift old mode 100755 new mode 100644 index 6abfd5b9c..cd6fad2ba --- a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Padding.swift +++ b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Padding.swift @@ -24,7 +24,7 @@ public enum Padding: PaddingProtocol { public func add(to: Array, blockSize: Int) -> Array { switch self { case .noPadding: - return NoPadding().add(to: to, blockSize: blockSize) + return to // NoPadding().add(to: to, blockSize: blockSize) case .zeroPadding: return ZeroPadding().add(to: to, blockSize: blockSize) case .pkcs7: @@ -37,7 +37,7 @@ public enum Padding: PaddingProtocol { public func remove(from: Array, blockSize: Int?) -> Array { switch self { case .noPadding: - return NoPadding().remove(from: from, blockSize: blockSize) + return from //NoPadding().remove(from: from, blockSize: blockSize) case .zeroPadding: return ZeroPadding().remove(from: from, blockSize: blockSize) case .pkcs7: diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Poly1305.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Poly1305.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Rabbit.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Rabbit.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/RandomBytesSequence.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/RandomBytesSequence.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/SHA1.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/SHA1.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/SHA2.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/SHA2.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/SHA3.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/SHA3.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/SecureBytes.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/SecureBytes.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/StreamEncryptor.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/StreamEncryptor.swift new file mode 100644 index 000000000..36a086fb4 --- /dev/null +++ b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/StreamEncryptor.swift @@ -0,0 +1,54 @@ +// CryptoSwift +// +// Copyright (C) 2014-__YEAR__ Marcin Krzyżanowski +// This software is provided 'as-is', without any express or implied warranty. +// +// In no event will the authors be held liable for any damages arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: +// +// - The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. +// - Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +// - This notice may not be removed or altered from any source or binary distribution. +// + +final class StreamEncryptor: Cryptor, Updatable { + private let blockSize: Int + private var worker: CipherModeWorker + private let padding: Padding + // Accumulated bytes. Not all processed bytes. + private var accumulated = Array(reserveCapacity: 16) + + private var lastBlockRemainder = 0 + + init(blockSize: Int, padding: Padding, _ worker: CipherModeWorker) throws { + self.blockSize = blockSize + self.padding = padding + self.worker = worker + } + + // MARK: Updatable + public func update(withBytes bytes: ArraySlice, isLast: Bool) throws -> Array { + accumulated = Array(bytes) + if isLast { + // CTR doesn't need padding. Really. Add padding to the last block if really want. but... don't. + accumulated = padding.add(to: accumulated, blockSize: blockSize - lastBlockRemainder) + } + + var encrypted = Array(reserveCapacity: bytes.count) + for chunk in accumulated.batched(by: blockSize) { + encrypted += worker.encrypt(block: chunk) + } + + // omit unecessary calculation if not needed + if padding != .noPadding { + lastBlockRemainder = encrypted.count.quotientAndRemainder(dividingBy: blockSize).remainder + } + + return encrypted + } + + func seek(to: Int) throws { + fatalError("Not supported") + } +} diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/String+Extension.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/String+Extension.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/UInt128.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/UInt128.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/UInt16+Extension.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/UInt16+Extension.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/UInt32+Extension.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/UInt32+Extension.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/UInt64+Extension.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/UInt64+Extension.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/UInt8+Extension.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/UInt8+Extension.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Updatable.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Updatable.swift old mode 100755 new mode 100644 index 8663ef6d5..23f165450 --- a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Updatable.swift +++ b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Updatable.swift @@ -41,6 +41,10 @@ extension Updatable { } } + public mutating func update(withBytes bytes: ArraySlice, isLast: Bool = false) throws -> Array { + return try update(withBytes: bytes, isLast: isLast) + } + public mutating func update(withBytes bytes: Array, isLast: Bool = false) throws -> Array { return try update(withBytes: bytes.slice, isLast: isLast) } diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Utils.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/Utils.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/ZeroPadding.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/ZeroPadding.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/argon2-core.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/argon2-core.h deleted file mode 120000 index a46b38b7a..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/argon2-core.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/argon2-encoding.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/argon2-encoding.h deleted file mode 120000 index bb5fe7a7d..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/argon2-encoding.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_pwhash/argon2/argon2-encoding.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/argon2.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/argon2.h deleted file mode 120000 index c9715f683..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/argon2.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_pwhash/argon2/argon2.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/base.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/base.h deleted file mode 120000 index 9dbde0723..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/base.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_core/curve25519/ref10/base.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/base2.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/base2.h deleted file mode 120000 index 91c19062f..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/base2.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_core/curve25519/ref10/base2.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2.h deleted file mode 120000 index d45f8af24..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-compress-avx2.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-compress-avx2.h deleted file mode 120000 index 4cb768fbf..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-compress-avx2.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-compress-sse41.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-compress-sse41.h deleted file mode 120000 index 796d5aa71..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-compress-sse41.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-compress-ssse3.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-compress-ssse3.h deleted file mode 120000 index a5da6ad24..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-compress-ssse3.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-load-avx2.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-load-avx2.h deleted file mode 120000 index d5922e2b8..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-load-avx2.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-avx2.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-load-sse2.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-load-sse2.h deleted file mode 120000 index 103dabacd..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-load-sse2.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse2.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-load-sse41.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-load-sse41.h deleted file mode 120000 index 8a7bd0c2b..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-load-sse41.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse41.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-long.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-long.h deleted file mode 120000 index e13d28389..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blake2b-long.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_pwhash/argon2/blake2b-long.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blamka-round-ref.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/blamka-round-ref.h deleted file mode 120000 index fc26fc612..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blamka-round-ref.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-ref.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blamka-round-ssse3.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/blamka-round-ssse3.h deleted file mode 120000 index 8892935b7..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/blamka-round-ssse3.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/chacha20_dolbeau-avx2.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/chacha20_dolbeau-avx2.h deleted file mode 120000 index 6d6c9578f..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/chacha20_dolbeau-avx2.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/chacha20_dolbeau-ssse3.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/chacha20_dolbeau-ssse3.h deleted file mode 120000 index 65d207ae4..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/chacha20_dolbeau-ssse3.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/chacha20_ref.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/chacha20_ref.h deleted file mode 120000 index a32e8197e..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/chacha20_ref.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/common.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/common.h deleted file mode 120000 index 010a2d180..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/common.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/private/common.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/consts.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/consts.h deleted file mode 120000 index 92d02d317..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/consts.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/consts.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/consts_namespace.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/consts_namespace.h deleted file mode 120000 index c26e364d8..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/consts_namespace.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/core.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/core.h deleted file mode 120000 index f598b608c..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/core.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/core.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_aead_aes256gcm.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_aead_aes256gcm.h deleted file mode 120000 index 6baef805c..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_aead_aes256gcm.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_aead_aes256gcm.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_aead_chacha20poly1305.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_aead_chacha20poly1305.h deleted file mode 120000 index 2a3deca57..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_aead_chacha20poly1305.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_aead_xchacha20poly1305.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_aead_xchacha20poly1305.h deleted file mode 120000 index d56d8fb2a..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_aead_xchacha20poly1305.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_auth.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_auth.h deleted file mode 120000 index 62614394a..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_auth.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_auth.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_auth_hmacsha256.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_auth_hmacsha256.h deleted file mode 120000 index d3e1528c2..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_auth_hmacsha256.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha256.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_auth_hmacsha512.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_auth_hmacsha512.h deleted file mode 120000 index 21484757c..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_auth_hmacsha512.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_auth_hmacsha512256.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_auth_hmacsha512256.h deleted file mode 120000 index 1b23b503f..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_auth_hmacsha512256.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_box.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_box.h deleted file mode 120000 index 270bd82c2..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_box.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_box.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_box_curve25519xchacha20poly1305.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_box_curve25519xchacha20poly1305.h deleted file mode 120000 index ddad17c93..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_box_curve25519xchacha20poly1305.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_box_curve25519xchacha20poly1305.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_box_curve25519xsalsa20poly1305.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_box_curve25519xsalsa20poly1305.h deleted file mode 120000 index bcac145de..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_box_curve25519xsalsa20poly1305.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_hchacha20.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_hchacha20.h deleted file mode 120000 index 9963646b2..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_hchacha20.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_core_hchacha20.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_hsalsa20.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_hsalsa20.h deleted file mode 120000 index 6d53ff58c..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_hsalsa20.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_core_hsalsa20.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_salsa20.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_salsa20.h deleted file mode 120000 index b6fefefa7..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_salsa20.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_core_salsa20.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_salsa2012.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_salsa2012.h deleted file mode 120000 index e6e8c09c7..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_salsa2012.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_core_salsa2012.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_salsa208.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_salsa208.h deleted file mode 120000 index bddaf80e8..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_core_salsa208.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_core_salsa208.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_generichash.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_generichash.h deleted file mode 120000 index 1156c2a78..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_generichash.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_generichash.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_generichash_blake2b.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_generichash_blake2b.h deleted file mode 120000 index deced6618..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_generichash_blake2b.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_generichash_blake2b.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_hash.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_hash.h deleted file mode 120000 index 1e299a568..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_hash.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_hash.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_hash_sha256.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_hash_sha256.h deleted file mode 120000 index bc6f84eec..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_hash_sha256.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_hash_sha256.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_hash_sha512.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_hash_sha512.h deleted file mode 120000 index 77d29031e..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_hash_sha512.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_hash_sha512.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_kdf.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_kdf.h deleted file mode 120000 index ad932d2d4..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_kdf.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_kdf.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_kdf_blake2b.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_kdf_blake2b.h deleted file mode 120000 index 14e1e1fe4..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_kdf_blake2b.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_kdf_blake2b.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_kx.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_kx.h deleted file mode 120000 index 7bcfd9f47..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_kx.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_kx.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_onetimeauth.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_onetimeauth.h deleted file mode 120000 index 7a746a0dd..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_onetimeauth.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_onetimeauth.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_onetimeauth_poly1305.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_onetimeauth_poly1305.h deleted file mode 120000 index 841d2467d..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_onetimeauth_poly1305.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_pwhash.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_pwhash.h deleted file mode 120000 index 906a1d36c..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_pwhash.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_pwhash.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_pwhash_argon2i.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_pwhash_argon2i.h deleted file mode 120000 index ac8cdaa6f..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_pwhash_argon2i.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_pwhash_argon2i.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_pwhash_scryptsalsa208sha256.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_pwhash_scryptsalsa208sha256.h deleted file mode 120000 index a3bb1e462..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_pwhash_scryptsalsa208sha256.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_scalarmult.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_scalarmult.h deleted file mode 120000 index d908ea770..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_scalarmult.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_scalarmult.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_scalarmult_curve25519.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_scalarmult_curve25519.h deleted file mode 120000 index 2314539a1..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_scalarmult_curve25519.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_scrypt.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_scrypt.h deleted file mode 120000 index 5dfd4894c..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_scrypt.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_secretbox.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_secretbox.h deleted file mode 120000 index bdffa85ef..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_secretbox.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_secretbox.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_secretbox_xchacha20poly1305.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_secretbox_xchacha20poly1305.h deleted file mode 120000 index 51654511b..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_secretbox_xchacha20poly1305.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_secretbox_xchacha20poly1305.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_secretbox_xsalsa20poly1305.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_secretbox_xsalsa20poly1305.h deleted file mode 120000 index 16bbef2ec..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_secretbox_xsalsa20poly1305.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_shorthash.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_shorthash.h deleted file mode 120000 index f2a940df3..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_shorthash.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_shorthash.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_shorthash_siphash24.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_shorthash_siphash24.h deleted file mode 120000 index 5783dcc90..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_shorthash_siphash24.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_shorthash_siphash24.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_sign.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_sign.h deleted file mode 120000 index 4bca4538c..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_sign.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_sign.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_sign_ed25519.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_sign_ed25519.h deleted file mode 120000 index 0f08b5db4..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_sign_ed25519.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_sign_ed25519.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_sign_edwards25519sha512batch.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_sign_edwards25519sha512batch.h deleted file mode 120000 index e6646374f..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_sign_edwards25519sha512batch.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream.h deleted file mode 120000 index 3a79b1407..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_stream.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_aes128ctr.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_aes128ctr.h deleted file mode 120000 index 2c15de805..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_aes128ctr.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_stream_aes128ctr.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_chacha20.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_chacha20.h deleted file mode 120000 index 87a5f79a1..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_chacha20.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_stream_chacha20.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_salsa20.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_salsa20.h deleted file mode 120000 index 57462c5b0..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_salsa20.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_stream_salsa20.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_salsa2012.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_salsa2012.h deleted file mode 120000 index 04620c9d9..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_salsa2012.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_stream_salsa2012.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_salsa208.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_salsa208.h deleted file mode 120000 index def2d37d6..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_salsa208.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_stream_salsa208.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_xchacha20.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_xchacha20.h deleted file mode 120000 index 48122e098..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_xchacha20.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_stream_xchacha20.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_xsalsa20.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_xsalsa20.h deleted file mode 120000 index 5d6229f72..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_stream_xsalsa20.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_stream_xsalsa20.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_verify_16.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_verify_16.h deleted file mode 120000 index 3cb1cbce8..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_verify_16.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_verify_16.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_verify_32.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_verify_32.h deleted file mode 120000 index e925e3a06..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_verify_32.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_verify_32.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_verify_64.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_verify_64.h deleted file mode 120000 index c60c2994b..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/crypto_verify_64.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_verify_64.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/curve25519_donna_c64.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/curve25519_donna_c64.h deleted file mode 120000 index 928b94dff..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/curve25519_donna_c64.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/curve25519_ref10.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/curve25519_ref10.h deleted file mode 120000 index eaa13f965..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/curve25519_ref10.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/private/curve25519_ref10.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/curve25519_sandy2x.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/curve25519_sandy2x.h deleted file mode 120000 index f5f690440..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/curve25519_sandy2x.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/ed25519_ref10.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/ed25519_ref10.h deleted file mode 120000 index 424604c73..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/ed25519_ref10.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_sign/ed25519/ref10/ed25519_ref10.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/export.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/export.h deleted file mode 120000 index 9f7018ba5..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/export.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/export.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/fe.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/fe.h deleted file mode 120000 index 28b1f7e74..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/fe.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/fe51.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/fe51.h deleted file mode 120000 index 22efd734c..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/fe51.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/fe51_namespace.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/fe51_namespace.h deleted file mode 120000 index d63661c24..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/fe51_namespace.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/int128.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/int128.h deleted file mode 120000 index 3793fb634..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/int128.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/int128.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/ladder.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/ladder.h deleted file mode 120000 index b7ce8aa47..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/ladder.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/ladder_base.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/ladder_base.h deleted file mode 120000 index c863a2ce4..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/ladder_base.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/ladder_base_namespace.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/ladder_base_namespace.h deleted file mode 120000 index 184580910..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/ladder_base_namespace.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base_namespace.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/ladder_namespace.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/ladder_namespace.h deleted file mode 120000 index 8c1271058..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/ladder_namespace.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/mutex.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/mutex.h deleted file mode 120000 index e5b69718b..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/mutex.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/private/mutex.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/onetimeauth_poly1305.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/onetimeauth_poly1305.h deleted file mode 120000 index a9594b22a..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/onetimeauth_poly1305.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/pbkdf2-sha256.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/pbkdf2-sha256.h deleted file mode 120000 index 52755ffa3..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/pbkdf2-sha256.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/poly1305_donna.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/poly1305_donna.h deleted file mode 120000 index 1d75ffdcb..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/poly1305_donna.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/poly1305_donna32.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/poly1305_donna32.h deleted file mode 120000 index e9e0840d2..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/poly1305_donna32.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/poly1305_donna64.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/poly1305_donna64.h deleted file mode 120000 index 2c8a2c937..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/poly1305_donna64.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/poly1305_sse2.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/poly1305_sse2.h deleted file mode 120000 index 1762dd388..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/poly1305_sse2.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/randombytes.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/randombytes.h deleted file mode 120000 index 0e564a1d9..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/randombytes.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/randombytes.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/randombytes_nativeclient.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/randombytes_nativeclient.h deleted file mode 120000 index 4583ac7cb..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/randombytes_nativeclient.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/randombytes_nativeclient.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/randombytes_salsa20_random.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/randombytes_salsa20_random.h deleted file mode 120000 index c0e54c43f..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/randombytes_salsa20_random.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/randombytes_salsa20_random.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/randombytes_sysrandom.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/randombytes_sysrandom.h deleted file mode 120000 index dcecd743b..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/randombytes_sysrandom.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/randombytes_sysrandom.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/runtime.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/runtime.h deleted file mode 120000 index d0bf23a0f..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/runtime.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/runtime.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/salsa20_ref.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/salsa20_ref.h deleted file mode 120000 index 023813bcf..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/salsa20_ref.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/salsa20_xmm6.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/salsa20_xmm6.h deleted file mode 120000 index 6a3937741..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/salsa20_xmm6.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/salsa20_xmm6int-avx2.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/salsa20_xmm6int-avx2.h deleted file mode 120000 index 3dd3544ee..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/salsa20_xmm6int-avx2.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/salsa20_xmm6int-sse2.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/salsa20_xmm6int-sse2.h deleted file mode 120000 index 08d66a063..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/salsa20_xmm6int-sse2.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/scalarmult_curve25519.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/scalarmult_curve25519.h deleted file mode 120000 index a8ef249fd..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/scalarmult_curve25519.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/shorthash_siphash_ref.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/shorthash_siphash_ref.h deleted file mode 120000 index 8ccab016e..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/shorthash_siphash_ref.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/sodium.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/sodium.h deleted file mode 120000 index 979d0f4f7..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/sodium.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/sse2_64_32.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/sse2_64_32.h deleted file mode 120000 index d52b5166e..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/sse2_64_32.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/private/sse2_64_32.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/stream_chacha20.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/stream_chacha20.h deleted file mode 120000 index 9b7324e9c..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/stream_chacha20.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/stream_salsa20.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/stream_salsa20.h deleted file mode 120000 index 40f24e31a..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/stream_salsa20.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/u0.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/u0.h deleted file mode 120000 index 6641d4036..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/u0.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u0.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/u1.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/u1.h deleted file mode 120000 index 9c3c7ecbd..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/u1.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u1.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/u4.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/u4.h deleted file mode 120000 index 3e4df158d..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/u4.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u4.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/u8.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/u8.h deleted file mode 120000 index 9ef5c2dc5..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/u8.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u8.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/utils.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/utils.h deleted file mode 120000 index b98a97650..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/utils.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/utils.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/version.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/version.h deleted file mode 120000 index 6429652a0..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/version.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/version.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/libsodium/x25519_ref10.h b/Example/web3swiftExample/Pods/Headers/Private/libsodium/x25519_ref10.h deleted file mode 120000 index c84a5192b..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/libsodium/x25519_ref10.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/scrypt/Cimpl.h b/Example/web3swiftExample/Pods/Headers/Private/scrypt/Cimpl.h new file mode 120000 index 000000000..f9c85c0d1 --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Private/scrypt/Cimpl.h @@ -0,0 +1 @@ +../../../scrypt/scrypt/Cimpl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/scrypt/scrypt.h b/Example/web3swiftExample/Pods/Headers/Private/scrypt/scrypt.h new file mode 120000 index 000000000..ea8c1e5e4 --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Private/scrypt/scrypt.h @@ -0,0 +1 @@ +../../../scrypt/scrypt/scrypt.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/web3swift/web3swift-Bridging-Header.h b/Example/web3swiftExample/Pods/Headers/Private/web3swift/web3swift-Bridging-Header.h new file mode 120000 index 000000000..35c6d901e --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Private/web3swift/web3swift-Bridging-Header.h @@ -0,0 +1 @@ +../../../web3swift/web3swift/web3swift-Bridging-Header.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/Alamofire/Alamofire-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/Alamofire/Alamofire-umbrella.h deleted file mode 100644 index 00014e3cd..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/Alamofire/Alamofire-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double AlamofireVersionNumber; -FOUNDATION_EXPORT const unsigned char AlamofireVersionString[]; - diff --git a/Example/web3swiftExample/Pods/Headers/Public/Alamofire/Alamofire.modulemap b/Example/web3swiftExample/Pods/Headers/Public/Alamofire/Alamofire.modulemap deleted file mode 100644 index 16a3673b5..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/Alamofire/Alamofire.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -module Alamofire { - umbrella header "Alamofire-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/web3swiftExample/Pods/Headers/Public/Alamofire_Synchronous/Alamofire-Synchronous-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/Alamofire_Synchronous/Alamofire-Synchronous-umbrella.h deleted file mode 100644 index 6d5c83162..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/Alamofire_Synchronous/Alamofire-Synchronous-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double Alamofire_SynchronousVersionNumber; -FOUNDATION_EXPORT const unsigned char Alamofire_SynchronousVersionString[]; - diff --git a/Example/web3swiftExample/Pods/Headers/Public/Alamofire_Synchronous/Alamofire-Synchronous.modulemap b/Example/web3swiftExample/Pods/Headers/Public/Alamofire_Synchronous/Alamofire-Synchronous.modulemap deleted file mode 100644 index 0adb18df6..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/Alamofire_Synchronous/Alamofire-Synchronous.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -module Alamofire_Synchronous { - umbrella header "Alamofire-Synchronous-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/common.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/common.h deleted file mode 120000 index 010a2d180..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/common.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/private/common.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/core.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/core.h deleted file mode 120000 index f598b608c..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/core.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/core.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_aead_aes256gcm.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_aead_aes256gcm.h deleted file mode 120000 index 6baef805c..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_aead_aes256gcm.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_aead_aes256gcm.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_aead_chacha20poly1305.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_aead_chacha20poly1305.h deleted file mode 120000 index 2a3deca57..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_aead_chacha20poly1305.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_aead_xchacha20poly1305.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_aead_xchacha20poly1305.h deleted file mode 120000 index d56d8fb2a..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_aead_xchacha20poly1305.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_auth.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_auth.h deleted file mode 120000 index 62614394a..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_auth.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_auth.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_auth_hmacsha256.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_auth_hmacsha256.h deleted file mode 120000 index d3e1528c2..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_auth_hmacsha256.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha256.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_auth_hmacsha512.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_auth_hmacsha512.h deleted file mode 120000 index 21484757c..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_auth_hmacsha512.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_auth_hmacsha512256.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_auth_hmacsha512256.h deleted file mode 120000 index 1b23b503f..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_auth_hmacsha512256.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_box.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_box.h deleted file mode 120000 index 270bd82c2..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_box.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_box.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_box_curve25519xchacha20poly1305.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_box_curve25519xchacha20poly1305.h deleted file mode 120000 index ddad17c93..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_box_curve25519xchacha20poly1305.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_box_curve25519xchacha20poly1305.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_box_curve25519xsalsa20poly1305.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_box_curve25519xsalsa20poly1305.h deleted file mode 120000 index bcac145de..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_box_curve25519xsalsa20poly1305.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_hchacha20.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_hchacha20.h deleted file mode 120000 index 9963646b2..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_hchacha20.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_core_hchacha20.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_hsalsa20.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_hsalsa20.h deleted file mode 120000 index 6d53ff58c..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_hsalsa20.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_core_hsalsa20.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_salsa20.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_salsa20.h deleted file mode 120000 index b6fefefa7..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_salsa20.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_core_salsa20.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_salsa2012.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_salsa2012.h deleted file mode 120000 index e6e8c09c7..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_salsa2012.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_core_salsa2012.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_salsa208.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_salsa208.h deleted file mode 120000 index bddaf80e8..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_core_salsa208.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_core_salsa208.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_generichash.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_generichash.h deleted file mode 120000 index 1156c2a78..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_generichash.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_generichash.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_generichash_blake2b.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_generichash_blake2b.h deleted file mode 120000 index deced6618..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_generichash_blake2b.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_generichash_blake2b.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_hash.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_hash.h deleted file mode 120000 index 1e299a568..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_hash.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_hash.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_hash_sha256.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_hash_sha256.h deleted file mode 120000 index bc6f84eec..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_hash_sha256.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_hash_sha256.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_hash_sha512.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_hash_sha512.h deleted file mode 120000 index 77d29031e..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_hash_sha512.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_hash_sha512.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_kdf.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_kdf.h deleted file mode 120000 index ad932d2d4..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_kdf.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_kdf.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_kdf_blake2b.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_kdf_blake2b.h deleted file mode 120000 index 14e1e1fe4..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_kdf_blake2b.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_kdf_blake2b.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_kx.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_kx.h deleted file mode 120000 index 7bcfd9f47..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_kx.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_kx.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_onetimeauth.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_onetimeauth.h deleted file mode 120000 index 7a746a0dd..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_onetimeauth.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_onetimeauth.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_onetimeauth_poly1305.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_onetimeauth_poly1305.h deleted file mode 120000 index 841d2467d..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_onetimeauth_poly1305.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_pwhash.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_pwhash.h deleted file mode 120000 index 906a1d36c..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_pwhash.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_pwhash.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_pwhash_argon2i.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_pwhash_argon2i.h deleted file mode 120000 index ac8cdaa6f..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_pwhash_argon2i.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_pwhash_argon2i.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_pwhash_scryptsalsa208sha256.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_pwhash_scryptsalsa208sha256.h deleted file mode 120000 index a3bb1e462..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_pwhash_scryptsalsa208sha256.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_scalarmult.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_scalarmult.h deleted file mode 120000 index d908ea770..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_scalarmult.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_scalarmult.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_scalarmult_curve25519.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_scalarmult_curve25519.h deleted file mode 120000 index 2314539a1..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_scalarmult_curve25519.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_secretbox.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_secretbox.h deleted file mode 120000 index bdffa85ef..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_secretbox.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_secretbox.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_secretbox_xchacha20poly1305.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_secretbox_xchacha20poly1305.h deleted file mode 120000 index 51654511b..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_secretbox_xchacha20poly1305.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_secretbox_xchacha20poly1305.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_secretbox_xsalsa20poly1305.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_secretbox_xsalsa20poly1305.h deleted file mode 120000 index 16bbef2ec..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_secretbox_xsalsa20poly1305.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_shorthash.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_shorthash.h deleted file mode 120000 index f2a940df3..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_shorthash.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_shorthash.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_shorthash_siphash24.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_shorthash_siphash24.h deleted file mode 120000 index 5783dcc90..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_shorthash_siphash24.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_shorthash_siphash24.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_sign.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_sign.h deleted file mode 120000 index 4bca4538c..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_sign.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_sign.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_sign_ed25519.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_sign_ed25519.h deleted file mode 120000 index 0f08b5db4..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_sign_ed25519.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_sign_ed25519.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_sign_edwards25519sha512batch.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_sign_edwards25519sha512batch.h deleted file mode 120000 index e6646374f..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_sign_edwards25519sha512batch.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream.h deleted file mode 120000 index 3a79b1407..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_stream.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_aes128ctr.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_aes128ctr.h deleted file mode 120000 index 2c15de805..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_aes128ctr.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_stream_aes128ctr.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_chacha20.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_chacha20.h deleted file mode 120000 index 87a5f79a1..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_chacha20.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_stream_chacha20.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_salsa20.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_salsa20.h deleted file mode 120000 index 57462c5b0..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_salsa20.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_stream_salsa20.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_salsa2012.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_salsa2012.h deleted file mode 120000 index 04620c9d9..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_salsa2012.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_stream_salsa2012.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_salsa208.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_salsa208.h deleted file mode 120000 index def2d37d6..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_salsa208.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_stream_salsa208.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_xchacha20.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_xchacha20.h deleted file mode 120000 index 48122e098..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_xchacha20.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_stream_xchacha20.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_xsalsa20.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_xsalsa20.h deleted file mode 120000 index 5d6229f72..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_stream_xsalsa20.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_stream_xsalsa20.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_verify_16.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_verify_16.h deleted file mode 120000 index 3cb1cbce8..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_verify_16.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_verify_16.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_verify_32.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_verify_32.h deleted file mode 120000 index e925e3a06..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_verify_32.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_verify_32.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_verify_64.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_verify_64.h deleted file mode 120000 index c60c2994b..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/crypto_verify_64.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/crypto_verify_64.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/curve25519_ref10.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/curve25519_ref10.h deleted file mode 120000 index eaa13f965..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/curve25519_ref10.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/private/curve25519_ref10.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/export.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/export.h deleted file mode 120000 index 9f7018ba5..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/export.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/export.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/libsodium-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/libsodium-umbrella.h deleted file mode 100644 index 3890121b7..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/libsodium-umbrella.h +++ /dev/null @@ -1,78 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "core.h" -#import "crypto_aead_aes256gcm.h" -#import "crypto_aead_chacha20poly1305.h" -#import "crypto_aead_xchacha20poly1305.h" -#import "crypto_auth.h" -#import "crypto_auth_hmacsha256.h" -#import "crypto_auth_hmacsha512.h" -#import "crypto_auth_hmacsha512256.h" -#import "crypto_box.h" -#import "crypto_box_curve25519xchacha20poly1305.h" -#import "crypto_box_curve25519xsalsa20poly1305.h" -#import "crypto_core_hchacha20.h" -#import "crypto_core_hsalsa20.h" -#import "crypto_core_salsa20.h" -#import "crypto_core_salsa2012.h" -#import "crypto_core_salsa208.h" -#import "crypto_generichash.h" -#import "crypto_generichash_blake2b.h" -#import "crypto_hash.h" -#import "crypto_hash_sha256.h" -#import "crypto_hash_sha512.h" -#import "crypto_kdf.h" -#import "crypto_kdf_blake2b.h" -#import "crypto_kx.h" -#import "crypto_onetimeauth.h" -#import "crypto_onetimeauth_poly1305.h" -#import "crypto_pwhash.h" -#import "crypto_pwhash_argon2i.h" -#import "crypto_pwhash_scryptsalsa208sha256.h" -#import "crypto_scalarmult.h" -#import "crypto_scalarmult_curve25519.h" -#import "crypto_secretbox.h" -#import "crypto_secretbox_xchacha20poly1305.h" -#import "crypto_secretbox_xsalsa20poly1305.h" -#import "crypto_shorthash.h" -#import "crypto_shorthash_siphash24.h" -#import "crypto_sign.h" -#import "crypto_sign_ed25519.h" -#import "crypto_sign_edwards25519sha512batch.h" -#import "crypto_stream.h" -#import "crypto_stream_aes128ctr.h" -#import "crypto_stream_chacha20.h" -#import "crypto_stream_salsa20.h" -#import "crypto_stream_salsa2012.h" -#import "crypto_stream_salsa208.h" -#import "crypto_stream_xchacha20.h" -#import "crypto_stream_xsalsa20.h" -#import "crypto_verify_16.h" -#import "crypto_verify_32.h" -#import "crypto_verify_64.h" -#import "export.h" -#import "common.h" -#import "curve25519_ref10.h" -#import "mutex.h" -#import "sse2_64_32.h" -#import "randombytes.h" -#import "randombytes_nativeclient.h" -#import "randombytes_salsa20_random.h" -#import "randombytes_sysrandom.h" -#import "runtime.h" -#import "utils.h" -#import "version.h" - -FOUNDATION_EXPORT double libsodiumVersionNumber; -FOUNDATION_EXPORT const unsigned char libsodiumVersionString[]; - diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/libsodium.modulemap b/Example/web3swiftExample/Pods/Headers/Public/libsodium/libsodium.modulemap deleted file mode 100644 index c5cb6f5d8..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/libsodium.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -module libsodium { - umbrella header "libsodium-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/mutex.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/mutex.h deleted file mode 120000 index e5b69718b..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/mutex.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/private/mutex.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/randombytes.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/randombytes.h deleted file mode 120000 index 0e564a1d9..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/randombytes.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/randombytes.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/randombytes_nativeclient.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/randombytes_nativeclient.h deleted file mode 120000 index 4583ac7cb..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/randombytes_nativeclient.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/randombytes_nativeclient.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/randombytes_salsa20_random.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/randombytes_salsa20_random.h deleted file mode 120000 index c0e54c43f..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/randombytes_salsa20_random.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/randombytes_salsa20_random.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/randombytes_sysrandom.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/randombytes_sysrandom.h deleted file mode 120000 index dcecd743b..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/randombytes_sysrandom.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/randombytes_sysrandom.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/runtime.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/runtime.h deleted file mode 120000 index d0bf23a0f..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/runtime.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/runtime.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/sse2_64_32.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/sse2_64_32.h deleted file mode 120000 index d52b5166e..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/sse2_64_32.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/private/sse2_64_32.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/utils.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/utils.h deleted file mode 120000 index b98a97650..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/utils.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/utils.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/libsodium/version.h b/Example/web3swiftExample/Pods/Headers/Public/libsodium/version.h deleted file mode 120000 index 6429652a0..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/libsodium/version.h +++ /dev/null @@ -1 +0,0 @@ -../../../libsodium/src/libsodium/include/sodium/version.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h new file mode 120000 index 000000000..0c7601be8 --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h @@ -0,0 +1 @@ +/Users/alexvlasov/Blockchain/web3swift/web3swift/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt-umbrella.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.h b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.h new file mode 120000 index 000000000..ea8c1e5e4 --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.h @@ -0,0 +1 @@ +../../../scrypt/scrypt/scrypt.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap new file mode 120000 index 000000000..d65261d0b --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap @@ -0,0 +1 @@ +/Users/alexvlasov/Blockchain/web3swift/web3swift/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.modulemap \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-Bridging-Header.h b/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-Bridging-Header.h new file mode 120000 index 000000000..35c6d901e --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-Bridging-Header.h @@ -0,0 +1 @@ +../../../web3swift/web3swift/web3swift-Bridging-Header.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Local Podspecs/web3swift.podspec.json b/Example/web3swiftExample/Pods/Local Podspecs/web3swift.podspec.json index f508e31ff..09910daff 100755 --- a/Example/web3swiftExample/Pods/Local Podspecs/web3swift.podspec.json +++ b/Example/web3swiftExample/Pods/Local Podspecs/web3swift.podspec.json @@ -1,6 +1,6 @@ { "name": "web3swift", - "version": "0.9.0", + "version": "1.1.5", "summary": "Web3 implementation in vanilla Swift for iOS ans macOS", "description": "Web3 implementation in vanilla Swift, intended for mobile developers of wallets, Dapps and Web3.0", "homepage": "https://github.com/bankex/web3swift", @@ -10,7 +10,7 @@ }, "source": { "git": "https://github.com/bankex/web3swift.git", - "tag": "0.9.0" + "tag": "1.1.5" }, "social_media_url": "https://twitter.com/shamatar", "swift_version": "4.1", @@ -29,29 +29,23 @@ }, "frameworks": "CoreImage", "dependencies": { - "Alamofire": [ - "~> 4.7" - ], - "Alamofire-Synchronous": [ - "~> 4.0" - ], "BigInt": [ - "~> 3.0.1" + "~> 3.1" ], "Result": [ - "~> 3.0.0" + "~> 3.0" ], "CryptoSwift": [ - "~> 0.10.0" - ], - "libsodium": [ - "~> 1.0.12" + "~> 0.11" ], "secp256k1_ios": [ - "~> 0.1.3" + "~> 0.1" ], "PromiseKit": [ - "~> 6.3.0" + "~> 6.3" + ], + "scrypt": [ + "~> 1.5" ] } } diff --git a/Example/web3swiftExample/Pods/Manifest.lock b/Example/web3swiftExample/Pods/Manifest.lock index 12184871e..6efba76d5 100755 --- a/Example/web3swiftExample/Pods/Manifest.lock +++ b/Example/web3swiftExample/Pods/Manifest.lock @@ -1,69 +1,53 @@ PODS: - - Alamofire (4.7.2) - - Alamofire-Synchronous (4.0.0): - - Alamofire (~> 4.0) - - BigInt (3.0.1): + - BigInt (3.1.0): - SipHash (~> 1.2) - - CryptoSwift (0.10.0) - - libsodium (1.0.12) - - PromiseKit (6.3.0): - - PromiseKit/CorePromise (= 6.3.0) - - PromiseKit/Foundation (= 6.3.0) - - PromiseKit/UIKit (= 6.3.0) - - PromiseKit/CorePromise (6.3.0) - - PromiseKit/Foundation (6.3.0): + - CryptoSwift (0.12.0) + - PromiseKit (6.4.0): + - PromiseKit/CorePromise (= 6.4.0) + - PromiseKit/Foundation (= 6.4.0) + - PromiseKit/UIKit (= 6.4.0) + - PromiseKit/CorePromise (6.4.0) + - PromiseKit/Foundation (6.4.0): - PromiseKit/CorePromise - - PromiseKit/UIKit (6.3.0): + - PromiseKit/UIKit (6.4.0): - PromiseKit/CorePromise - - Result (3.0.0) + - Result (4.0.0) + - scrypt (2.0): + - CryptoSwift (~> 0.11) - secp256k1_ios (0.1.3) - SipHash (1.2.2) - - web3swift (0.9.0): - - Alamofire (~> 4.7) - - Alamofire-Synchronous (~> 4.0) - - BigInt (~> 3.0.1) - - CryptoSwift (~> 0.10.0) - - libsodium (~> 1.0.12) - - PromiseKit (~> 6.3.0) - - Result (~> 3.0.0) - - secp256k1_ios (~> 0.1.3) + - web3swift (1.1.9): + - BigInt (~> 3.1) + - CryptoSwift (~> 0.11) + - PromiseKit (~> 6.3) + - Result (~> 4.0) + - scrypt (~> 2.0) + - secp256k1_ios (~> 0.1) DEPENDENCIES: - - web3swift (from `https://github.com/bankex/web3swift.git`) + - web3swift (~> 1.1.9) SPEC REPOS: https://github.com/cocoapods/specs.git: - - Alamofire - - Alamofire-Synchronous - BigInt - CryptoSwift - - libsodium - PromiseKit - Result + - scrypt - secp256k1_ios - SipHash - -EXTERNAL SOURCES: - web3swift: - :git: https://github.com/bankex/web3swift.git - -CHECKOUT OPTIONS: - web3swift: - :commit: 8d2cd5d484fb7e1d44dccd6422e19191cd9da024 - :git: https://github.com/bankex/web3swift.git + - web3swift SPEC CHECKSUMS: - Alamofire: e4fa87002c137ba2d8d634d2c51fabcda0d5c223 - Alamofire-Synchronous: eedf1e6e961c3795a63c74990b3f7d9fbfac7e50 - BigInt: 8e8a52161c745cd3ab78e3dc346a9fbee51e6cf6 - CryptoSwift: 6c778d69282bed3b4e975ff97a79d074f20bb011 - libsodium: 9a8faa5ef2fa0d2d57bd7f7d79bf8fb7c1a9f0ea - PromiseKit: cf84bbb1235a61473b326c5cf0b41f6828f87ba5 - Result: 1b3e431f37cbcd3ad89c6aa9ab0ae55515fae3b6 + BigInt: 76b5dfdfa3e2e478d4ffdf161aeede5502e2742f + CryptoSwift: 1c07ca50843dd48bc54e6ea53d7a4dba3b645716 + PromiseKit: ae3616f45d7bb9bf4ff1e91abc9b7a8c48a340e0 + Result: 7645bb3f50c2ce726dd0ff2fa7b6f42bbe6c3713 + scrypt: 3fe5b1a3b0976f97cd87488673a8f7c65708cc84 secp256k1_ios: ac9ef04e761f43c58012b28548afa91493761f17 SipHash: fad90a4683e420c52ef28063063dbbce248ea6d4 - web3swift: 3aec6f5285c79d2fd5d3a5be05a813329b909934 + web3swift: 4895c765c9858eb4737ef222eb8643bb5fc7fdb3 -PODFILE CHECKSUM: 2b6b41ef6cd2c86449189776fb7c34f8d8e3f570 +PODFILE CHECKSUM: 8d61818b8900609b53352708ddba0659befd3536 -COCOAPODS: 1.5.3 +COCOAPODS: 1.6.0.beta.1 diff --git a/Example/web3swiftExample/Pods/Pods.xcodeproj/project.pbxproj b/Example/web3swiftExample/Pods/Pods.xcodeproj/project.pbxproj index 9de175803..c61ddbd09 100644 --- a/Example/web3swiftExample/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/web3swiftExample/Pods/Pods.xcodeproj/project.pbxproj @@ -7,1391 +7,845 @@ objects = { /* Begin PBXBuildFile section */ - 000699D06C32A60344E64AB59571DB2B /* randombytes_nativeclient.h in Headers */ = {isa = PBXBuildFile; fileRef = 3164EA24B9707AD757FEA61F9EE59FFB /* randombytes_nativeclient.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0081046A8CEF1A60C5D0A152BFFA9CA8 /* onetimeauth_poly1305.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F6FA121335A174117A18349E3C257BC /* onetimeauth_poly1305.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 00B7583DCBA7AE56C3DF0B1BA183F563 /* Web3+DataFetchOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87809F6570F103F8B1A6ED66912E80AB /* Web3+DataFetchOperation.swift */; }; - 011EF7B95D9CEB3A836AC3C450663EA4 /* Web3+Options.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3B2F4D2662AB5DE4D28360B7B6C4034 /* Web3+Options.swift */; }; - 01C22A0CE73F8C1083B3D66A8025FCD5 /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 179A82DD18FF1A75B1F94C65C7D11CA2 /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 01E7C7E2847A7E9641F1D4C7A3B2D9E4 /* curve25519_ref10.h in Headers */ = {isa = PBXBuildFile; fileRef = 764B71EC4C082FA0C3CAA3DDDDBD4F43 /* curve25519_ref10.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 026EACFD4242AC939EFBAEAD5C363E33 /* secp256k1_ios-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 081CCDFFBA154F382AA426446B1EB6B7 /* secp256k1_ios-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 032626B54BA79A07AE1A60C91E475E80 /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 10634CFB2EF41D32E32FE8A965D5965B /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 032BCEB41AEBEA0F759440DF02E10453 /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD33CB29DC81FC094558470CBD546FC2 /* MultipartFormData.swift */; }; - 0368B705E9F0593C6C2072CC4FD36211 /* EthereumAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = B74737D1FED5CCDCD2065191984CEC6F /* EthereumAddress.swift */; }; - 03F2E95C0668F44C5551A16910EB1290 /* argon2-encoding.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D88677529199A36F1E0B07797717E35 /* argon2-encoding.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 0474755824D43DBF207D9E0F134670CD /* crypto_stream_aes128ctr.h in Headers */ = {isa = PBXBuildFile; fileRef = A98C602A67B838CC7A5FDFD876F280CF /* crypto_stream_aes128ctr.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 04870F3357CB6FC50705116B34A26D10 /* crypto_stream_xsalsa20.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D6EEDD1205B5DDDA4AD3797EB69DDF9 /* crypto_stream_xsalsa20.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 04BAB9000ECA1DF9525E0A15D715B307 /* RandomUInt64.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3375166A5010DDA2980DF822E10EE5E0 /* RandomUInt64.swift */; }; - 05CB07E39655327D5B5BE84D31E080A8 /* randombytes_salsa20_random.h in Headers */ = {isa = PBXBuildFile; fileRef = 15D2C361BAB0175B26C362DF4E160523 /* randombytes_salsa20_random.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 068E44323840B57A0FB9AEA513DCE2A7 /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = B10B9BB090521D08CD90EB7706B7CC17 /* AES.Cryptors.swift */; }; - 06C13656BA3986F9E79BA275C8CB7FC0 /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = 55294F87D3F6A28897BE9802FA6C9B00 /* after.m */; }; - 0763ED23F1F11E41ADD293937EE62CCB /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EB8F52B91C01BAACC0F1840E9C46106 /* Resolver.swift */; }; - 0764458A695C9A60876E762125E73F03 /* after.swift in Sources */ = {isa = PBXBuildFile; fileRef = 295F0AAFE7299BD794BA48091D37CD9A /* after.swift */; }; - 079CF799EC45CA9C122BD5814AC30667 /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BA88B16B07FF2EC540C4E0A47BDC801 /* AES.swift */; }; - 09BF93AFA897383361361AF3A3DF1E38 /* Web3+Instance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3027372B7C601110F35722FF4A2E1535 /* Web3+Instance.swift */; }; - 0A3E0AEAAF9548F7F87439B7DC24328D /* pwhash_argon2i.c in Sources */ = {isa = PBXBuildFile; fileRef = 42A80CC9216DD6729D1D31A430FE91DB /* pwhash_argon2i.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 0A9A292D8019F2956000CE2EF885788A /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9AF7611B44D79FE1EEB5A7EE3C849D2 /* Cryptors.swift */; }; - 0B253215215C96D74AE515AD05ADBA20 /* Web3+HttpProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 104B4CDA2149CF5193EFDDC23561CA0D /* Web3+HttpProvider.swift */; }; - 0B88278BB47CFB4AF6AD636A5AE84A80 /* poly1305_sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = 558D9354024538BEFA19CC1624D2516A /* poly1305_sse2.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 0C1DFFD3A3257265351DDE857EEF74AC /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = B470A91F2C10AED7C67B8B69E4675EE9 /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0C63C3CD941FC6A3BD337A4BFDC2C003 /* shorthash_siphashx24.c in Sources */ = {isa = PBXBuildFile; fileRef = 5036061DDABCBEE80BE9FE96F4C04BCC /* shorthash_siphashx24.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 0C966E828109E9D987A3C0828541F7C6 /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E138EC76ED13166EA2AACD39B9D9306B /* Alamofire-dummy.m */; }; - 0C96AA48462500C52B600B68460591BB /* secp256k1_ios-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 55623E13061A39FBDC4AE7983C8FF80D /* secp256k1_ios-dummy.m */; }; - 0CA1C222E7D9CF2DA2BFACBE7331AB7C /* CryptoExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B0911AB445F6DF2C7F5B8E9F19DC70E /* CryptoExtensions.swift */; }; - 0E595594925920B81CBDC1EF1F737727 /* Words and Bits.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB8FDA0343922BD941208D5445570687 /* Words and Bits.swift */; }; - 0E9B1DC6E5AEB6A6F3F7EB1950F783D5 /* libsodium-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0CB334E62A5E30D449B9F82A6E1A987D /* libsodium-dummy.m */; }; - 0EA1DCA5DD64CE6268DF04EF5BE15E31 /* crypto_auth_hmacsha512256.h in Headers */ = {isa = PBXBuildFile; fileRef = B88587E490AF4967A7FD95DB470028AA /* crypto_auth_hmacsha512256.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0F47F0D598A72314FA200C9F382C68C2 /* crypto_auth_hmacsha256.h in Headers */ = {isa = PBXBuildFile; fileRef = 58A635B6B4435E188D464FD4E9523F07 /* crypto_auth_hmacsha256.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0F869181FEAB206B13E08EA3D4FAA667 /* argon2-fill-block-ref.c in Sources */ = {isa = PBXBuildFile; fileRef = 25959917BE55694A4EE732D17577A4F6 /* argon2-fill-block-ref.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 0F92B704707B32D0AA562C2A530EB0A8 /* Alamofire+Synchronous.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC7BBDAEEDABB3BFA4B17E9ECD37C904 /* Alamofire+Synchronous.swift */; }; - 0F9EDF9E7EA406E395370600F57A527B /* Web3+PersonalOperations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F86E5F3D50F97BE0087F1259089FFE5 /* Web3+PersonalOperations.swift */; }; - 0FF98516FF7B2496A8BB5EE0177CF058 /* crypto_scalarmult.c in Sources */ = {isa = PBXBuildFile; fileRef = 3B70653A0BEFA42C3A935FCBD6DCDC5B /* crypto_scalarmult.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 101DADCC37C9AC3C99F02532A76249D0 /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3CA20A8B92C9DFA548CE04FE6139E40 /* AEADChaCha20Poly1305.swift */; }; - 10D06D1F924D0220F18547B67DE0C35E /* stream_chacha20.h in Headers */ = {isa = PBXBuildFile; fileRef = BE7FA304DE4C78C157993A3C0200C8E2 /* stream_chacha20.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 11461E2C33F42579F10C0910D5709362 /* crypto_secretbox.h in Headers */ = {isa = PBXBuildFile; fileRef = F3DE69FFD7B990A942C48CD41D2DDD6B /* crypto_secretbox.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 11E827BC5D74C75B6501746F0FC9C81F /* fe51_namespace.h in Headers */ = {isa = PBXBuildFile; fileRef = C16DAB7539A0A830E757DCA4DB2CF8B2 /* fe51_namespace.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1289CDC503371B19D32A55D70B1273D5 /* crypto_scalarmult_curve25519.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AEC749D574EE616FA51344DB846995F /* crypto_scalarmult_curve25519.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 12B5F76EAC7A297313EA7DEB11F38385 /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = AE722029DC68D02EA6461E4C9C41FD9A /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1393314FA30ED036A4876EED12EF15DF /* BigInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1583E09535537744BAEC927FF29B543A /* BigInt.swift */; }; - 1418FE8C38CFB0A63618CB505778FF1A /* String Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C614601C81BC36D51B32D47B0C4F5D4 /* String Conversion.swift */; }; - 156F186795C5DECA06EDFA419F78A406 /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDC9C039E247BB715B1655A80A4C5BE6 /* CustomStringConvertible.swift */; }; - 15C1E29704920D904948917243988A73 /* argon2-encoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 2418B674EE6A43AFFC8CE327173735DF /* argon2-encoding.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 15D45FBE725E862CC88E099F1628F649 /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 37258973681E01486358470D2C49C7B5 /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 15E2F496270A6D07927AEA131F250F6A /* crypto_scrypt-common.c in Sources */ = {isa = PBXBuildFile; fileRef = 902FCCAAF0281CE4F49C01A0057ACACF /* crypto_scrypt-common.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 16E336CE5EB1E5D9B84697D002967161 /* crypto_scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = AF470CDC7D3E6516248FB057E6B8FB68 /* crypto_scrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 16FFE76E509430ED5E4F9D3E2473059F /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92992C8B8A090D4AC0AE49D56E086829 /* BlockModeOptions.swift */; }; - 1715D7D55136C2B2EF08F35FF26C4A89 /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F5035CF3223581009F2B932AA16D056 /* PMKFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 175CD22CB242281AF76776D069AA235B /* Web3+Protocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 355BFFB529CEF07BCCCA9F5A248BDAA1 /* Web3+Protocols.swift */; }; - 1770BF63398E1F6A8DF0A2B37E5863E1 /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 32B18C4A6124EF2679D405912CC95C5A /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 17937D244E0CF84FE4E58F1A1F0A6440 /* crypto_kdf_blake2b.h in Headers */ = {isa = PBXBuildFile; fileRef = F67BE1F87CF9305B7FE1C0C1D4F1136A /* crypto_kdf_blake2b.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 17A2AA6FE1D29AEF91A2FF50F05DB7E9 /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1937DF65A4745FC2FC4B67867A908790 /* Authenticator.swift */; }; - 17B188CFC54CEBF260A47F31AA75CD82 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = DED2439360EC1D6F620E93C9469B2424 /* Configuration.swift */; }; - 182EE7A8054268231299FD8F8CD913E2 /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 48A78A472373B624F8105BCA8DCC2E4E /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 18359E9E2F9E1382D83D9AC726A71362 /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = A02F29C86D2608D661D521C16A38BBFD /* ChaCha20.swift */; }; - 19283B793FBCC9EA8BCD27A75DA4906E /* Web3+TransactionAndBlockDetailsOperations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CD115E5736BBD260913030B109B0735 /* Web3+TransactionAndBlockDetailsOperations.swift */; }; - 1ADC53FF829A5BD66BBF902B28488ADC /* common.h in Headers */ = {isa = PBXBuildFile; fileRef = ECB6D51A11E22330F7CA34333C037EA2 /* common.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1B237DA46F49B1066DEB47495BBE65B3 /* blake2.h in Headers */ = {isa = PBXBuildFile; fileRef = AA033E98751093E56DABA69604B1B7E2 /* blake2.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1CC2BE0E140558EAC8274054909FCA63 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4E7DCBAC6ACCA40BE7D88D8CAEC3034 /* Array+Extension.swift */; }; - 1D9DFC0BBD5AC216E4C7E74D2811AE37 /* randombytes.h in Headers */ = {isa = PBXBuildFile; fileRef = E9A65AB9C55F5DEC6178C998B91DAC69 /* randombytes.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1DA62A68EBEAE8B1711D7EA154A72CDA /* Web3+Wallet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 493DC51642CCA0CD18282D5A94C7D4B1 /* Web3+Wallet.swift */; }; - 1DC5C052915F753E310A9F7797849685 /* blake2b-long.c in Sources */ = {isa = PBXBuildFile; fileRef = 3E92237E329C8C909FB24818DFB0D999 /* blake2b-long.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 1E26C129623D0CDCA4C1545E06C1C8F1 /* core_hsalsa20.c in Sources */ = {isa = PBXBuildFile; fileRef = 5EA8159D7A73C8C90E8AEFFEC10575F1 /* core_hsalsa20.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 1E3E10A081E0FF2C8FAEDFF5B97AE3CE /* poly1305_sse2.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AD318FDBEEF4A644A941D2C1AF7B388 /* poly1305_sse2.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1EB84DBA1D30D2F2E35C1361BAA10268 /* crypto_verify_16.h in Headers */ = {isa = PBXBuildFile; fileRef = 251041AE1E8BEF7AE152E0A6398D890D /* crypto_verify_16.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1EE14F44BE6D7C6D015982EBCB62366B /* Square Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FA4B63975365042E28E8FB23799A288 /* Square Root.swift */; }; - 1F92A1C62F35543352331C20FBA80B2F /* blake2b-compress-ref.c in Sources */ = {isa = PBXBuildFile; fileRef = 22F289999D15722B927D2D12D8EBE266 /* blake2b-compress-ref.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 20054B4652B14A0311482FA9DAA6BDF1 /* Promise+Web3+Eth+SendRawTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA1E5AD7CBA2CDC84578D11F5BAC7F47 /* Promise+Web3+Eth+SendRawTransaction.swift */; }; - 206F4752866A399861DDDB3E91CCBBE0 /* ContractProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2778877F30B0C2E16B98236D5BC7C55C /* ContractProtocol.swift */; }; - 2152920EE97E8E06275D82DE1A919C1C /* auth_hmacsha512256.c in Sources */ = {isa = PBXBuildFile; fileRef = 1D5F3D0142DFBA7FA4B5C92ABBCDF810 /* auth_hmacsha512256.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 223F012BF13701867F80C0B85C3D2F09 /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = A98F96CA8F1A049C4B05CFE507B7116F /* afterlife.swift */; }; - 233FD2D49BF41905523B7189129A6107 /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = 560C59E3DA98F1DC7FF6CEE7360D0EC3 /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 23B8DA469127B029A59BB913BDFD911E /* ABIDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2BE0C04FFD4CD30E47B1152535C53AD /* ABIDecoder.swift */; }; - 24364307BF4156900E8D4D238FE4F914 /* blake2b-compress-ssse3.h in Headers */ = {isa = PBXBuildFile; fileRef = E61F52944B9A2607796EE79E97BED550 /* blake2b-compress-ssse3.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 244D3D8E9006A3B1C9475B4AF4E9612A /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B43E3FD5120B0CEF5EBB2AA96FA33D9 /* Utils.swift */; }; - 258E71ECF3D900477A267306555F9A8E /* TaskDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11E9FCEC90D6F2E6D9C11BA56018691E /* TaskDelegate.swift */; }; - 269E0111230D6554F28E8C54B97915C9 /* pwhash_scryptsalsa208sha256_sse.c in Sources */ = {isa = PBXBuildFile; fileRef = C99B2B8E260D8011D162DF8CEA34D199 /* pwhash_scryptsalsa208sha256_sse.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 28A7B6F162BFE9D707A12B8433362230 /* salsa20_ref.c in Sources */ = {isa = PBXBuildFile; fileRef = 10C8BB3B857B2B57D1880B9A248A5866 /* salsa20_ref.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 293B0AF5AE0823CB1A44280FB53D5442 /* utils.c in Sources */ = {isa = PBXBuildFile; fileRef = EAFB72778A4CF43EA846688C56B82650 /* utils.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 294558F0EB8363D7CC4A79299DAD54DA /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 717AF3E6AAC4ECC846038141C72E1CCD /* PKCS7Padding.swift */; }; - 29737F9AD792F97ECC5113BF045D867C /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C99A3FD789ABC75A489410393FC94A5 /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 29DE76B772D6C1B806F4BCD1EF3F97E1 /* chacha20_dolbeau-ssse3.h in Headers */ = {isa = PBXBuildFile; fileRef = BBB966FB0358637E81B3F276EC9204C4 /* chacha20_dolbeau-ssse3.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 29F855A23165F9D41083C8974F992B6E /* Pods-web3swiftExample-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 26986386406787D15D8C39F0B109D08A /* Pods-web3swiftExample-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2A03C5CD249ADD146A15FE0A55F6F9D5 /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 65CF004FE123686046D527E822D39580 /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2A8F6944A9B01C4D77F755677E3B50CD /* Exponentiation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 446FF1DA2F82745DBD73A9D91E58EDDD /* Exponentiation.swift */; }; - 2AF7A6CF184F95C89E9A488740EDFEC4 /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 6156CD3DC853117F7DFA18F2C0DF81C1 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2B4AEEF5291AF4C54375103E51B33EED /* Strideable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 464A473333E8873F90ED642F58D25D21 /* Strideable.swift */; }; - 2CB115521430182B7090E167ED1A18FA /* CryptoSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B98D67A7BF95E33493730900890DC7E9 /* CryptoSwift-dummy.m */; }; - 2D43C71A14E25B74828A87A714928CC3 /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4324389269FB1192E7BBFADA4732AC82 /* Blowfish.swift */; }; - 2DD3A4BDA1951A6AB1DE901A77EDC289 /* crypto_kx.c in Sources */ = {isa = PBXBuildFile; fileRef = 149D4A3458D5FD8D2FA716F2A58EFDD7 /* crypto_kx.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 2EB280D5F42A0F63D9414E13C7011A35 /* salsa20_xmm6int-avx2.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F5947884B9B5DE6D78A32A06CD5361F /* salsa20_xmm6int-avx2.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2F6D543A2493613E8E13CAA9C2C8B5D9 /* shorthash_siphash24.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D47109FDAD650AC8EDB94D674E50D45 /* shorthash_siphash24.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 2F76925969F12B3BF69DF6D01792F4B1 /* Contract.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F08B1FBE82CA435E91FA16D4C871158 /* Contract.swift */; }; - 30169A93DAEF103B2439615D7A3B4C2A /* hash_sha256_cp.c in Sources */ = {isa = PBXBuildFile; fileRef = D93A01E6BF404E65C28C745833C67738 /* hash_sha256_cp.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 31807A2F9D524B59570A2CFC8A1E378B /* salsa20_xmm6int-avx2.c in Sources */ = {isa = PBXBuildFile; fileRef = 03B58B5665C6BA5CEEE8354B64C581B2 /* salsa20_xmm6int-avx2.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 3237D93AFB867440A1B948EB0F02547F /* scrypt_platform.c in Sources */ = {isa = PBXBuildFile; fileRef = C8C0EF7C86A7594B3F463BB2A8E51F6C /* scrypt_platform.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 33DF2A6B4E94AAE15FBE842E39FAFB44 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 801A8EB0451AC3DC4439D0955A1B7D0A /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 34741E3AF63C9F3B6D157E13EB79F53C /* libsodium-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 69B36794844C02E6599F50BA293856B1 /* libsodium-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 349156381253174164E0A82AAF3B5F60 /* ABIv2Encoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CEDC8143C3E737EC371CCA7624103C9 /* ABIv2Encoding.swift */; }; - 35234C641F61C17E596F1E6806190014 /* crypto_stream_salsa208.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D05683E8472054917460A1C6555E9EF /* crypto_stream_salsa208.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 371D9401F3FFBBFB7F6B5A2B5BF66D86 /* Alamofire-Synchronous-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 932CBC5F3262FFFCFC4DE3F0BABB1DE0 /* Alamofire-Synchronous-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 37741FB620689069751B06889B7C7143 /* Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14AEAECF4AA31CDF548550F850E0806C /* Comparable.swift */; }; - 38116811BE843665466685B310193AC6 /* randombytes_nativeclient.c in Sources */ = {isa = PBXBuildFile; fileRef = 225FC65D22F6255453FCAD091313634A /* randombytes_nativeclient.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 38F6309A01A1DB5CB33F74484F850DDD /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = 35181896BDFDCB8E6DD083AD302E4E99 /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 39A2876419589EE4B1FF00A02FF74DF1 /* RandomAccessCryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF65116EFB6B2A469219760564F0E80C /* RandomAccessCryptor.swift */; }; - 39CDE4B10C60D85F37F77C939C51E074 /* Shifts.swift in Sources */ = {isa = PBXBuildFile; fileRef = A78A0D3EC3C5077D1835ACCB2F203A6C /* Shifts.swift */; }; - 39DA1706C5EDABD12CDD0C3196E6B32D /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CC35BBD694BD4CD32795B778EB87273 /* UInt64+Extension.swift */; }; - 3A367F6417BC97D2BB44A2FB158FDCDC /* box_curve25519xsalsa20poly1305.c in Sources */ = {isa = PBXBuildFile; fileRef = 596DD180A7E7FABE55AE688A38677F66 /* box_curve25519xsalsa20poly1305.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 3A5147D15A653950D88D1A400A24891C /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = B66EE8908F81DCE867B70BAC512EF1F4 /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3A5DFD633D444B43E39660997BFAE117 /* crypto_aead_xchacha20poly1305.h in Headers */ = {isa = PBXBuildFile; fileRef = AB78B38B1C61A85F87AC874EC2A33C76 /* crypto_aead_xchacha20poly1305.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3ABA612F9F96A11A319632EABD593D7E /* stream_salsa20.h in Headers */ = {isa = PBXBuildFile; fileRef = 68ACB3072283187397CB4A48E4158777 /* stream_salsa20.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3B6584AEDF0BDD37FBBF297B35CECCC6 /* secretbox_xsalsa20poly1305.c in Sources */ = {isa = PBXBuildFile; fileRef = 69D72C5CB8557AF794AAF11B35C4DCA9 /* secretbox_xsalsa20poly1305.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 3BCB7EFE2133591728C88F0D51953C9B /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 425F24DE62C86A8B5FCBACE59B056A9D /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3C00C25544688C8F2E12DD13BE28844B /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF6F70A5A4C914BEFFDACDD290145A18 /* Process+Promise.swift */; }; - 3CE316FB1EA8B67619B8F1F69C2D7DEF /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3267A78EEE161679112F5A065DBCA570 /* DispatchQueue+Alamofire.swift */; }; - 3CE6038192A340441EBA64480A558CC9 /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6279211C77C17BE8DCE5D8618E163BC2 /* SHA1.swift */; }; - 3D156A5AD899172985D8121462689F91 /* crypto_kx.h in Headers */ = {isa = PBXBuildFile; fileRef = D210FC9729616B98F382FE4C3D330D39 /* crypto_kx.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3E085441E40FE9F8813F15C877F54F29 /* fe51.h in Headers */ = {isa = PBXBuildFile; fileRef = 17791859FEDC20D03BB815B892A974DD /* fe51.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3E54AB1B03F7B8D0E1B252E10F29AE72 /* Promise+Web3+Eth+Call.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0852541F5AD158C8A946F347B7644CD8 /* Promise+Web3+Eth+Call.swift */; }; - 3F97B231CE137F7C308A0CD3D5F73029 /* curve25519_donna_c64.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D06487164FB338969A107B108A3D077 /* curve25519_donna_c64.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3FE7A7E471C41BB6741C90357ED7A019 /* version.c in Sources */ = {isa = PBXBuildFile; fileRef = 87D55278394E8B3A862C6BFBE06041F8 /* version.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 3FFD749CC33B3C00F433EDF329FA28D2 /* crypto_pwhash.h in Headers */ = {isa = PBXBuildFile; fileRef = 49BDA27A34F7CFDF7371FF68AEACCA0F /* crypto_pwhash.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 402C672B56DD3FF6DD2251199CB29AB2 /* u4.h in Headers */ = {isa = PBXBuildFile; fileRef = EF1BC9310859F48C8798CAF4E3E7A8DC /* u4.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 40F5F0E56A8511B107A73C70523A67AA /* Promise+Web3+Eth+GetBlockNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D91EE897EA98D97B97323E362ED8F83 /* Promise+Web3+Eth+GetBlockNumber.swift */; }; - 4101FE94CCFD0C44ECE2D8E855A53D8F /* crypto_auth.c in Sources */ = {isa = PBXBuildFile; fileRef = BC88D15DF3A4FEAEE2D978077BE93860 /* crypto_auth.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 4149108CE51CA1AA211D09F5FB44E636 /* ABIv2ParameterTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F4D641943D661E5472E07948299399F /* ABIv2ParameterTypes.swift */; }; - 41B0992A40B66A16E3CD6F86FE337B0F /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = A788895CFD246B504963E6F023BB3D45 /* join.m */; }; - 41FFCEAD2A288578CE76878706C3AD7E /* ABIv2Decoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA173EF1995B1EE27FD795175A901F82 /* ABIv2Decoding.swift */; }; - 421BF06AAB3240999EB94E4EC69394D7 /* crypto_box_curve25519xsalsa20poly1305.h in Headers */ = {isa = PBXBuildFile; fileRef = 111FD574D05B3B945EB9266FFE008F58 /* crypto_box_curve25519xsalsa20poly1305.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 42911B8E04109940D27D03B76FDB71DA /* Integer Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = F62AFE3AECF195A90750B494E3D8EC94 /* Integer Conversion.swift */; }; - 42EEA96756182E48D8833B67D7FE007E /* consts_aes128ctr.c in Sources */ = {isa = PBXBuildFile; fileRef = D563FC9EF30F8197DB65254CFDE926C4 /* consts_aes128ctr.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 4338E6956996F4D96B5E66E0C9360C1E /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 301773F3198C0AD45A6451FCB62D7E08 /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 47E8AA402EBEFEEAF1CA5920F654D85A /* Guarantee.swift in Sources */ = {isa = PBXBuildFile; fileRef = 675D9EBB52206830F13BE68CF5917BE9 /* Guarantee.swift */; }; - 481D4B04EE8AED7BD7BFB82212958795 /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = FEB502EA78FC5D3F5AC7295ECDE9ABF9 /* Catchable.swift */; }; - 4866659E0E149A1D5DA2C255458539C7 /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 067C0F4AB70D67F3E120046DDAB8ADB2 /* DigestType.swift */; }; - 491B4D8050C2CADF85004EAE29D6FD1F /* NSRegularExpressionExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F268F5665279721BC2F9ABD0C747E4B2 /* NSRegularExpressionExtension.swift */; }; - 4944395F7DB57F0769B3A9FB2C6E9999 /* u1.h in Headers */ = {isa = PBXBuildFile; fileRef = 2081BFB33518FBBBC559A392E4D5C870 /* u1.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4969B7DEC8B37F7629D51580C6AE7772 /* sign_ed25519.c in Sources */ = {isa = PBXBuildFile; fileRef = E4B7DAB0891899779A54B4398B774BB8 /* sign_ed25519.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 4A44C3B017D35C42E34FBFC55FB5A93D /* crypto_onetimeauth_poly1305.h in Headers */ = {isa = PBXBuildFile; fileRef = 86E3BA2C30475759A2D571D1E4D48EFD /* crypto_onetimeauth_poly1305.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4B9A39E495458E061B4A734B82D90CD6 /* fe.h in Headers */ = {isa = PBXBuildFile; fileRef = 466CBAB3064BC556B0C88E303F7C69AF /* fe.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4BEB172D697D73A1C8D527DF69E6C0E1 /* IBAN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78C7624E3F8B00FE05F94AAA4F6E3E15 /* IBAN.swift */; }; - 4C5875ACBC91F2B573F41D568DF50B37 /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A0416D0FDEEE733AC08F5EC71F3F025 /* NSNotificationCenter+AnyPromise.m */; }; - 4C62220D235414F741B9BE7DDC04E454 /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AC93162C8F641A3CD76A2B9B737023B /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4CD22B1B2CCBE3DFA3DE24313C9F8C2F /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74BB6786B389AB72D57AB6AD89109193 /* Array+Extension.swift */; }; - 4CF7DB2C19AEE2D6E2508A3E4A45050C /* TypesEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90D8FF7F8A238DD0E4C91FC43CFB704E /* TypesEncoder.swift */; }; - 4CFF75EF09263579007C95CD2C296463 /* Subtraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67F851A5843B85C62E6FDD0DB48C335E /* Subtraction.swift */; }; - 4D69B723385D819FF4E778AB36037734 /* stream_salsa208_ref.c in Sources */ = {isa = PBXBuildFile; fileRef = 2282F63E90C1EF1486D26AF0B7C584D5 /* stream_salsa208_ref.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 4E2E22191AAA94FC707A547EE21E67BA /* stream_xsalsa20.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D0D4D689D69E2C563F9E5DAAFBCBBC4 /* stream_xsalsa20.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 4E840F7F268608B02D661117D62498E8 /* crypto_generichash.h in Headers */ = {isa = PBXBuildFile; fileRef = CB79E2D1F072D50FA0A68065ED58510B /* crypto_generichash.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4F4480104F194E4E1C4C66F170B780A7 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5D406757818F20BFCBB2BAA40903EEF /* HMAC.swift */; }; - 4F6ED8ADD7B24315D4F8D18C227D3ACD /* Primitive Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = B47C91935BA9C47D6A78511E7A5998A0 /* Primitive Types.swift */; }; - 500280EE2D314006437B2F45A1E53717 /* pwhash_scryptsalsa208sha256.c in Sources */ = {isa = PBXBuildFile; fileRef = 112833995253820931E88006E146595D /* pwhash_scryptsalsa208sha256.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 504F1D3FD25831728821DBE20DB189B6 /* curve25519_donna_c64.c in Sources */ = {isa = PBXBuildFile; fileRef = D574F9F7FCA74366B594FBA456581DD9 /* curve25519_donna_c64.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 515DE4E51F6F90364588BC5BE17D6620 /* LibSecp256k1Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFF39895B1E32585FD4AD90B5B909EEB /* LibSecp256k1Extension.swift */; }; - 5185C39BAF5AB0D49D5CDE9B97784603 /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D177460DCBCD96871DEE39E2B87C3AB /* Rabbit+Foundation.swift */; }; - 519C2BE0CCDA132276FA6CE28EB47F0D /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C2A08684A734DDE6015C9B1A5DA5959 /* when.swift */; }; - 51AEF503E82AC96C245183B829DDB9B4 /* CoreImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 06CE1376B83758DCF21C9C1F8BC45B40 /* CoreImage.framework */; }; - 51C90DD53ECDA0779B33492CD9CA6313 /* crypto_core_salsa20.h in Headers */ = {isa = PBXBuildFile; fileRef = 78113CDC1341AE06A8602DF5E375151E /* crypto_core_salsa20.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5302F3D25896FFD001F8F8D72CDE5F0F /* runtime.h in Headers */ = {isa = PBXBuildFile; fileRef = 202C7AFA02F85BAA0669CE878E5CFF69 /* runtime.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 535588C6C580BB30D7FFA6BA64A00321 /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = FC969CB84D81B084A6123804148E7D87 /* lax_der_privatekey_parsing.c */; }; - 53CA52D045DE437D8C2EFEDFE6096405 /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = 738EE52559BF16901D5C9909FAD1D905 /* secp256k1.c */; }; - 547C788EB5BF3296B1C8687D5021B263 /* salsa20_xmm6int-sse2.h in Headers */ = {isa = PBXBuildFile; fileRef = 838982CE4594493761640C1A1F292DDE /* salsa20_xmm6int-sse2.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 549D3006AA52C4AA90D8605AB49AB828 /* UIView+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CDF238805E6A392A6AAC129D8F435F9 /* UIView+Promise.swift */; }; - 54DF9969B014BEA512D3187C2B6AC8B6 /* EthereumFilterEncodingExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D352F215961B934FFBF01148C774DA1F /* EthereumFilterEncodingExtensions.swift */; }; - 55E7FA0D7F0EFFF7561A2247760FE247 /* ABIv2Elements.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BD70F722DC67C36935631DF4E1927CC /* ABIv2Elements.swift */; }; - 56619316F09C1A01C94A5EB5B8730988 /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 233D8937791220648FB254714A9186EA /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5684B1F9681CB60FC314A372E693C315 /* BIP32HDNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06420D1CDFFD31766050CE8D73EC12EF /* BIP32HDNode.swift */; }; - 5698E11601DB0B4F6DB2BAA8A81F2AF5 /* Alamofire-Synchronous-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 992653885B9D59902726487FEBA99D8A /* Alamofire-Synchronous-dummy.m */; }; - 56F8FD162CF9C62E228797A363831FD5 /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = CA7466F2B139A0B301CB303275372328 /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 575B777FB21D9529A12A7832C09EC2F8 /* secretbox_xchacha20poly1305.c in Sources */ = {isa = PBXBuildFile; fileRef = E5B25D2082FB07E7D88B47D5353A424D /* secretbox_xchacha20poly1305.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 57C8A13B35C7E368DC0E2DDB49FCF01D /* chacha20_dolbeau-ssse3.c in Sources */ = {isa = PBXBuildFile; fileRef = A1BE575CC653B11BF64F8BA740F5FC47 /* chacha20_dolbeau-ssse3.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 584865613C0054985DCDC4E44AF59226 /* ComparisonExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32EA56DED926DCB3A3B95CA7833031DD /* ComparisonExtensions.swift */; }; - 59A379D2EB8028CB07331F2E18B6FC40 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 570441EF3B51D64E517944AA7C2DAC09 /* Request.swift */; }; - 5A9D6F7A3CA3C261D5B32722E6976246 /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F680F8F40CDCBD1870C4AA2C57BBF48 /* NSURLSession+AnyPromise.m */; }; - 5B2FC69F1DCBC5B6E5EF6885E58B0673 /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = F14C3095563BB9AED9F31648ACE43080 /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5B430E112B4CF9AE62ECBF0CC5ECFCFB /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E2CA63F7302CC764F9CE8BF0CB369D3 /* Operators.swift */; }; - 5BC1C61CB83F16DFD89AC9A78CDFADC3 /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0ED9EBA3767EBAF31824113A70AB21C /* Validation.swift */; }; - 5C2630CBC940DBAB8C4594DE21DCE17B /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = 6368621610153F135BEB59AD17A01A8B /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5C94BCB1D334EEF892D49FA29D8B56E1 /* Promise+Web3+Personal+UnlockAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB8145E8818D5095F06CB16AB0D34FA2 /* Promise+Web3+Personal+UnlockAccount.swift */; }; - 5CB3BE4653E5239A88B1E895194CB9DE /* Web3+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 875EF41D751D1CA12835625029D3524D /* Web3+Utils.swift */; }; - 5CC613A3FE71623DB83992BF29462502 /* Promise+Web3+Eth+GetBlockByNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 161A93478EDDF17856ADDE860F36DE30 /* Promise+Web3+Eth+GetBlockByNumber.swift */; }; - 5CD3F14097EDC2039F29CC9CA4DE692D /* argon2.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FA9A0017638F3DA2EFEEE3894C3C846 /* argon2.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5D2CD43941BD5AE76EF5B7F895585B8C /* u8.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A9283CD9FBB08F14818204F7903C811 /* u8.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5DCDCE879D9EC11BA5065B73569350BC /* hash_sha256.c in Sources */ = {isa = PBXBuildFile; fileRef = 288F75B78D395EBE3623D8A723AF4BD7 /* hash_sha256.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 5E29F12932496B47CD280887F4243761 /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = E39FB93B33BEFFD3B61E5464A3295868 /* version.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5F47E82855516CE144F25368FCD8AB17 /* core.h in Headers */ = {isa = PBXBuildFile; fileRef = F7131AE76F5B0F3F60AD970D9C6C2ADD /* core.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5F6B5EF99C7854C11C018B8720782E7E /* Promise+Web3+Contract+GetIndexedEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCCA664D75C7EEBA4334CA85B197CBF3 /* Promise+Web3+Contract+GetIndexedEvents.swift */; }; - 5F847ADB22BBE3BE7499DFBBA6C22A62 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9951328EBDBD04E94E2A6A61479DEE80 /* Rabbit.swift */; }; - 5FD30497690A84997E31DDE73AD081A1 /* web3swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D5BA29EE7ED53CD363C6F0DF72B3D61E /* web3swift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5FD9CBE0E98E89DDDA6F9BB989BC4CA1 /* crypto_box.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A93B3D44BD6C837683FB0A8DC90831E /* crypto_box.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 60C873413DE4166B92CB5D0619A404DA /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = DB81A61AC8BB440ACB89050218661103 /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 62008DA9FBA2BDCE801638F6E6DDB997 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 999990B76DB3E8ED16457508D671306B /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 635A22E2A57367DC2E64227A7007C5F8 /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A2182D78EE3A6B81858DCF055AFAADB /* Deprecations.swift */; }; - 638DD1CB162E73EE8269AA6D84E5F744 /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C40DC50EB768EDC9876AD784C09EB606 /* Collection+Extension.swift */; }; - 63EC115B2EEED12B22B684C12255F480 /* open.c in Sources */ = {isa = PBXBuildFile; fileRef = 1102B44E5DF34295E9B2914D498E0186 /* open.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 64593DDAFA35CD617A61726868E73907 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E7E754C62F5E2F5EBB40C2CA7519FE1 /* Data+Extension.swift */; }; - 6520A3D15F93EE41B6D4802DEA79ADAE /* poly1305_donna32.h in Headers */ = {isa = PBXBuildFile; fileRef = BC26191E6FE3D9125A141E0EDD648C28 /* poly1305_donna32.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6536833F521F132286B038E6E9E8C6C6 /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = B357F04D8455D344BC047DCF956A4372 /* NSTask+AnyPromise.m */; }; - 65C09160141BCDD901A9CF5AAAE9A635 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C561EB85F1FB7131DF30FB573D2FB7C /* Data+Extension.swift */; }; - 6668B998CA3964EFB56E8A37AD1331BF /* ABIEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00FC062082B74F6639AB5F0F27F03998 /* ABIEncoder.swift */; }; - 668DA2358C17E58C237B811862AE4A47 /* SessionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 144AA3749E5979213172AA1C97FC2FC9 /* SessionManager.swift */; }; - 66DAA427DFCF69455F88D50EBDCEC978 /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = E737D3379A6F852197E44D1F21535F39 /* AFError.swift */; }; - 6742C25586C38E1678F11A614A58C481 /* Web3+Structures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F57D2FE1D5110697D342B698621B781 /* Web3+Structures.swift */; }; - 67A94CEFBDF8EF20EF645DA40078FD7B /* chacha20_ref.c in Sources */ = {isa = PBXBuildFile; fileRef = 81DF9B520AEC348B2A1929A4038E4A79 /* chacha20_ref.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 686AE4A8D2BCDF1F71F62BC53A6FA845 /* Dictionary+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 113A3F3A25869229AEE1FED206650CE2 /* Dictionary+Extension.swift */; }; - 68C2330CEC1FDD0E6365EB4462B8342E /* Result-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AC533592F797829809720BC0A8907A33 /* Result-dummy.m */; }; - 68EB609B6F9AC72A058B8DABF62516C8 /* blake2b-load-sse2.h in Headers */ = {isa = PBXBuildFile; fileRef = DBECB1072D123EF288855388E9CFD3BB /* blake2b-load-sse2.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6A8149446D4FBAA94CE982947777FF5D /* crypto_stream.c in Sources */ = {isa = PBXBuildFile; fileRef = F0A9BB7C199293111326C34D5384896B /* crypto_stream.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 6A92D7F6AF2DC8B93C8E2ECF56089544 /* ladder_namespace.h in Headers */ = {isa = PBXBuildFile; fileRef = 214B9931BF419E0A3C232DA974D7ABA0 /* ladder_namespace.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6B7D48E44E569438C37366419629B795 /* Web3+Eth.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80FE9E9772BB2EFA3308B31EDF73F560 /* Web3+Eth.swift */; }; - 6BA608B164BBFA8557852F24B1B6100A /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = 67A740B61FFBCD6E05BBBF96FEFE94BE /* when.m */; }; - 6C0115800515773E93C0436271F412EA /* consts.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E210FDAA32D501BD9F14713293763AE /* consts.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6C1072A45E753CB3D965523B1D65D89D /* Web3+Personal.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0097468D0AA206E400E059673ECB1B0 /* Web3+Personal.swift */; }; - 6C8A5435A4170F58241106AF3D11776B /* box_curve25519xchacha20poly1305.c in Sources */ = {isa = PBXBuildFile; fileRef = 4047728AB620F4A77785D6252ACF33A3 /* box_curve25519xchacha20poly1305.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 6CD2BA000DE63785C0A45C28ACCCD7A5 /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E8E7D961CB3865D04263971B5DE5E60 /* OFB.swift */; }; - 6D036A87C81F5ED44FE8FFBC6817EE03 /* crypto_sign.c in Sources */ = {isa = PBXBuildFile; fileRef = 97E4A690406FBBE83E907DF14B00D443 /* crypto_sign.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 6DCEB33D935F17D6C6B267620B178B0C /* fe51_invert.c in Sources */ = {isa = PBXBuildFile; fileRef = 9348FD3DE867EBF0CFDC011D6FC66C40 /* fe51_invert.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 6DF7679B6A170D9088E774ECEF454396 /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535EFCDFD9387450D2AD6A3B52A26FBA /* String+FoundationExtension.swift */; }; - 6EB4987366B9F2ACFE6FAFDE37353A39 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44D932C7479E23BB85323186839358E4 /* ParameterEncoding.swift */; }; - 6EBEEEDAACA227734E95EA5211665100 /* GCD.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4EE4CDD26A964DB5680017C682B420D /* GCD.swift */; }; - 70C753C56B4C246E2B038E4F94BF0BBF /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBF751EA51C59D611A3C6CA8A63CB76A /* Codable.swift */; }; - 718236F77969D41EA45AE28A7EF14E52 /* Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66FEEBE4BF1CFC2A9817737DD47FE64F /* Hashable.swift */; }; - 71CEADAB44DCE7DE293D49FF7C6994D6 /* blake2b-compress-ssse3.c in Sources */ = {isa = PBXBuildFile; fileRef = 594394A86BBCA2EAC620979B9240DA7D /* blake2b-compress-ssse3.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 71CFAACEBBF81C095452D045A6B5FA58 /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = B20CBF4D89117AAF9732AD0FFBDBF552 /* HKDF.swift */; }; - 73B6A5678EAA4C60BF5B682057E139F7 /* crypto_hash.c in Sources */ = {isa = PBXBuildFile; fileRef = 47E864CEA3D1D50987ABF348045229D4 /* crypto_hash.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 749510BFFC306C02ADCC5EBE270653BE /* blake2b-compress-avx2.h in Headers */ = {isa = PBXBuildFile; fileRef = 20C23A7A5F88D8628F8D86F84471C1B5 /* blake2b-compress-avx2.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 75E3814AF0A03A2FC5D8DF1635E81A76 /* RLP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E37AB459D2E4B11728263F119EA5EEE /* RLP.swift */; }; - 762452748779EA296C550D8FC60858F7 /* Web3+EthOperations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4511BBD97AFB3FC15729FF430E5B9A8C /* Web3+EthOperations.swift */; }; - 76577D0616D1280BF37FA6DB670AD771 /* SipHash-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 527C49C6A3AB5749B6C817A160DAE990 /* SipHash-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 778D841AC0BBBE588A0B887D4D982CDE /* argon2-core.c in Sources */ = {isa = PBXBuildFile; fileRef = A2B3EAD3EDC7C4A46A18044CBC2D84E3 /* argon2-core.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 7862D3FB7D5FA96E414493A9C8DCD46C /* stream_salsa208.c in Sources */ = {isa = PBXBuildFile; fileRef = B0C38120CA1EE3015A30079D70F6A310 /* stream_salsa208.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 78B9FADEC0E4883E4417F769246BD219 /* crypto_generichash_blake2b.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C3892C7C23D693682043900AA8A15B5 /* crypto_generichash_blake2b.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 78EC90F6BE2913CA82C63090EC0D438C /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EA31E0820160665E9F9E522FE49F0F1 /* ZeroPadding.swift */; }; - 7907CAC80DDAEF62006228700060BF70 /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7FE975AE928CBD078E0F4B07C0BF7E4 /* CBC.swift */; }; - 7966D0014FA2C4C41AE112778A27B0BE /* int128_aes128ctr.c in Sources */ = {isa = PBXBuildFile; fileRef = 37D7A3EF4943269E4CD5CDA06AB53308 /* int128_aes128ctr.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 79E0C0BE16EDC33FFDD16C96AEAF1FFA /* AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 40EE6CB1AFB63B6BB039800B6D97CB21 /* AnyPromise.m */; }; - 7A2A90F4E7A48C0774CB637A380F2EC2 /* NSObject+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 153E6D55B6201287A4FF6934FF848E3C /* NSObject+Promise.swift */; }; - 7AD28DD856A91EE19FB4A75BFDBED472 /* auth_hmacsha512.c in Sources */ = {isa = PBXBuildFile; fileRef = 7AD39E2B47CD723A55749B42AE24AD50 /* auth_hmacsha512.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 7B52DEFB82728803CC2097C6A8FFC45A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 808368B1CD434CB746509F52295C5FBF /* Foundation.framework */; }; - 7B7D97CA9DA9447198F7C8FF337744F8 /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 26D66C2523AFC423435E55733B5AE352 /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7B87E2F18E66F8AAC2996196D86D0D6F /* pbkdf2-sha256.c in Sources */ = {isa = PBXBuildFile; fileRef = 8246A115AFC3FDF6AFB51952ADDE88B6 /* pbkdf2-sha256.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 7C86868C8263F9439AE692C820B37007 /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BFDFFCF02ED6765F4979969A8FA3607 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7D5FBBB7824B23957F8A3D64E461644F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31F98D4AD3C62606E30A4099DA5FCAC1 /* UIKit.framework */; }; - 7D9C496BEAAFB32AFCCF4BF055E9D880 /* int128.h in Headers */ = {isa = PBXBuildFile; fileRef = 182B1D849B3F96A25C06517B2877F801 /* int128.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7E1240C41487C38E8EB5F77CB1D6E5F3 /* scalarmult_curve25519.h in Headers */ = {isa = PBXBuildFile; fileRef = C1918D7FA5BEB43080BD1CE745504B4C /* scalarmult_curve25519.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7E2DA5862E43CA9FFBA70B714CA75624 /* hash_sha512_cp.c in Sources */ = {isa = PBXBuildFile; fileRef = 1F39147BDA442E2678EE6141D03CAA3D /* hash_sha512_cp.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 7ED2C9AA92D9D56DC4A22006E242C21B /* Result-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FB9E8C2B01A56CF27FD92FA45DCAD7AF /* Result-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7EDAB6C925982D14B8429A1DBD26BAC5 /* blake2b-compress-sse41.c in Sources */ = {isa = PBXBuildFile; fileRef = ACFD3C1A472CF341D40E8C7D0644FF80 /* blake2b-compress-sse41.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 7EF4F5C0459BBBF6CE5D81ACB8B32201 /* crypto_shorthash_siphash24.h in Headers */ = {isa = PBXBuildFile; fileRef = 12F3B8B48E26DD703E39FA81D59FAAA4 /* crypto_shorthash_siphash24.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7F020F5A60425D27D097CD4ACFB270D3 /* crypto_hash.h in Headers */ = {isa = PBXBuildFile; fileRef = B7BBAD0E98A34B6DBC64207850A11821 /* crypto_hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7F11EE540E92B4058F17241F15394560 /* RIPEMD160+StackOveflow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AA6793B004FD82F4B0801BEE293E624 /* RIPEMD160+StackOveflow.swift */; }; - 7F2C999E1339D26BF9FF0CDEE8E0E8D4 /* hang.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E6BB18A37E961CECEA9985CF4178E64 /* hang.swift */; }; - 7F53E942EF2084336357181C519EC6B5 /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = A53B8AD8087888B333C001F85E93C5E2 /* Generics.swift */; }; - 7FAF3A59EE0FBE079E9BB8F0F917EBEA /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = C63AD36F721448D9599BDB0163F26755 /* hang.m */; }; - 7FB56D552012CBA63673624F67E1488D /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62AFA5C223526CC43C15638170596B2F /* GCM.swift */; }; - 8042128B9740D457695C8295C4B11EAC /* Web3+ConversionOperations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58A459D9FA81ED5CBB93E554AD41F9C5 /* Web3+ConversionOperations.swift */; }; - 81241970217F8F37CFFFA4B00C95AD54 /* u0.h in Headers */ = {isa = PBXBuildFile; fileRef = C8CEFEE4351DECB72FE30CE8500B8CE9 /* u0.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 812734D628FACE377750E62F484B3089 /* ABIv2.swift in Sources */ = {isa = PBXBuildFile; fileRef = E67737663547466943C187905AE49DF6 /* ABIv2.swift */; }; - 81FA580DEB5EC82851F262287D3988AA /* crypto_box_easy.c in Sources */ = {isa = PBXBuildFile; fileRef = 660D197550E3D18AA98153A0C9BFE377 /* crypto_box_easy.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 8250B2B0F9F545059E35C5F118853E9E /* Promise+Web3+Eth+GetAccounts.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC201FB3B028E7D5F5BECD071AD37CAA /* Promise+Web3+Eth+GetAccounts.swift */; }; - 82723EF68E34DA6E48B55F60E0AAC767 /* crypto_sign_ed25519.h in Headers */ = {isa = PBXBuildFile; fileRef = C45A2DC4E62C58DB9CE426AF7913ACAF /* crypto_sign_ed25519.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 82A3E6AAFD52FCA5B1A6845CA136007E /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3C55D634D2DDD3031909FD4CE6F8C4C /* Cipher.swift */; }; - 82F0423870A9E65C07739F3AEED56411 /* argon2.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA48B4798E41AC912E3C1BE77DB0596 /* argon2.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 8328E6DA833E10F0D6D9FF547D86677F /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = A30A5F6EC909C732D0E1E305F2BE641A /* BlockMode.swift */; }; - 83312029C5BE9E39D418787115ACA6BC /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4BDEACA6E2DEAE9ACEB0CCFA746D81F /* String+Extension.swift */; }; - 849DD908F4E9EC16143DE93848E637AD /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 007BE2291314468C32B33D9BF29D302F /* MD5.swift */; }; - 85ECA791CFA3FAD4FB4FA4E89DC06366 /* Pods-web3swiftExample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 59F77AE95BC9FEABC9D930C1AB687A02 /* Pods-web3swiftExample-dummy.m */; }; - 8606AA654F3D24B407E7274A9BB3995F /* Division.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00E9F1EC35410670244FDC14F230D64B /* Division.swift */; }; - 86E37A5E5B51AE34FF26AE4887986D0D /* web3swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 15FB93782A1A4372ADADCD037D645366 /* web3swift-dummy.m */; }; - 87B4F4FD7CDD599E25DDC604CB55283B /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61F427E286AA7746F1276B2A62455708 /* Updatable.swift */; }; - 87DFE03D8EE7A6BBA129C8D3F38C22B7 /* Promise+Web3+Personal+Sign.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F9A8E04C6A9544BED3583CE38B33B38 /* Promise+Web3+Personal+Sign.swift */; }; - 881AA39C8DFB32473472EE4CB9E24466 /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DD2E496E346AAF31C833FEA4814638C /* UInt8+Extension.swift */; }; - 8837242AF7AB8364CD759A64D30B44E9 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6191181337A9EE87164D59F8ED46D1F2 /* PBKDF1.swift */; }; - 8A625F7CF771B8CB15FD67A145F63FFF /* ed25519_ref10.h in Headers */ = {isa = PBXBuildFile; fileRef = 8758470182073E0968BB5A732AF3BBB6 /* ed25519_ref10.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8AD43A24B030C8EA3A7C574AEA70F834 /* UIViewController+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F2AD38E0825EF70FCA1679A22C3DB69 /* UIViewController+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8B0D0200A65AD9B0813B39D02ABB875A /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = 069EC747206713A8F762601F8AC59069 /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8B4CBA71CA4EF41343851BD077BBF29D /* beforenm_aes128ctr.c in Sources */ = {isa = PBXBuildFile; fileRef = 6016FD3A29188D13E0E26F617EC14B62 /* beforenm_aes128ctr.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 8B591FF429DAC93A9096E986E74D1631 /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = B240B2EA8A0499E3C7CA5C1C3266DF24 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8BAE58F0AA5F66CB7DA08840E3616952 /* chacha20_ref.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B2760497CF830BE49B02EA0E4E5A937 /* chacha20_ref.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8BB170EF376EB2F719D596A71E651FDF /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB74A13161718EE18C272DB02279E642 /* NetworkReachabilityManager.swift */; }; - 8BDD81FC1D0F93340CD33E2747226CC3 /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22568717B422F1C8AFB8025F5923DF96 /* Utils+Foundation.swift */; }; - 8C2FCADD8A0AB40D88C452230AE00213 /* ABIv2TypeParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC6EF231032ECA28836610F9D79B7613 /* ABIv2TypeParser.swift */; }; - 8D900A84A698ED5F007296273E40B71F /* shorthash_siphash24_ref.c in Sources */ = {isa = PBXBuildFile; fileRef = C3CD5AB36FFEE997B02C900854D97DFD /* shorthash_siphash24_ref.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 8DC0DD9A1C825A326D63BB3B2850C7C0 /* base2.h in Headers */ = {isa = PBXBuildFile; fileRef = E34310B3284771D4B961CDFF204CFD74 /* base2.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8EC7BACDA6BA3D0F39F1F2D4FD65C882 /* TransactionSigner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CEDA1FF9F6A2AAF298E5575492D0ECE /* TransactionSigner.swift */; }; - 8ED3B501746CE03C699C14024F838F59 /* crypto_secretbox.c in Sources */ = {isa = PBXBuildFile; fileRef = C0DD6105DDF19DCBB34B0B3873E59CE7 /* crypto_secretbox.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 8EDC7BB6FDFB45EBEE23E723E659B414 /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = 0592F1A1527EC5FF5AB5104229EE331F /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8F0451EE2AB398D38FB058CC59B474AC /* sign.c in Sources */ = {isa = PBXBuildFile; fileRef = 9E4FFF938D0320EC6EBDD9A4BB3AE947 /* sign.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 8F30C69A17658EF40DAFDD2BC04DC038 /* UIViewController+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B2506699E190CAC3AC2643B040BCBF3 /* UIViewController+AnyPromise.m */; }; - 8F890EEED7E5B95E6D117E9BEED09CFF /* crypto_stream_chacha20.h in Headers */ = {isa = PBXBuildFile; fileRef = 03CF20E11218DC08E678CA5921436CF6 /* crypto_stream_chacha20.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8F909E346710D9440168BDE61EF99A5D /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DA823B008F313A4E820CE02A1568C6D /* Poly1305.swift */; }; - 908CDE067B4FF97149F93EB8B3A45ECE /* stream_aes128ctr_nacl.c in Sources */ = {isa = PBXBuildFile; fileRef = 88D92803C644720CF258449F7B6FBC88 /* stream_aes128ctr_nacl.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 90BEA296C06E9E83CB0F258CF7C735C4 /* consts_namespace.h in Headers */ = {isa = PBXBuildFile; fileRef = 837937D5B0F653B8DA94485070438505 /* consts_namespace.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 91CC1EF2DEFDAA3A1D0AF52CA605BD80 /* crypto_pwhash_scryptsalsa208sha256.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CC55D0B436A4988812675CFD851AAE2 /* crypto_pwhash_scryptsalsa208sha256.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 92FD0383DA332F8CC98589BF91E67B4D /* common.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FE216E6047C0D8AA403C85E58AB245F /* common.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 93AE67679D6430B33711FDB749ADAEBB /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 820F54FABD7D2A51B2FBD85C499D82A4 /* Array+Foundation.swift */; }; - 93D152D5D8FD9493B53E9AEBAEE56A98 /* curve25519_sandy2x.h in Headers */ = {isa = PBXBuildFile; fileRef = E12F294D9F798FDAD90A75B51699197E /* curve25519_sandy2x.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 93DDFE11F6EB91BDD043191743AA8997 /* stream_aes128ctr.c in Sources */ = {isa = PBXBuildFile; fileRef = 85D50DE57ABCB58DFDDA63A8F26CE3C2 /* stream_aes128ctr.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 94BFE18169F3ECE03F5BEE03A7F5FE3D /* blake2b-load-avx2.h in Headers */ = {isa = PBXBuildFile; fileRef = B0D57CABFB4CA074057B88C6A9C933FA /* blake2b-load-avx2.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9567AE10F73A40B7B34BBDA5BF530073 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DC25DE0AB4CC92F0F7B43626B6D055F /* UInt128.swift */; }; - 958F14C746F6268D2874DE8C8B78BC88 /* aead_xchacha20poly1305.c in Sources */ = {isa = PBXBuildFile; fileRef = C68911CEFCA9123777FB5B045D2F7C88 /* aead_xchacha20poly1305.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 95C73EC0F673092BEE9A8E080E76EC39 /* Base58.swift in Sources */ = {isa = PBXBuildFile; fileRef = 057A72BE69213210EE88C96F2B756039 /* Base58.swift */; }; - 96056D0CE954898FE5F6FE66797C8460 /* mutex.h in Headers */ = {isa = PBXBuildFile; fileRef = E12F8287D03F33B6CCDDA74388C72244 /* mutex.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9626345F54D9E118BF3D905E61CCD688 /* curve25519_ref10.c in Sources */ = {isa = PBXBuildFile; fileRef = 70C687BBEEA93122AF665EA81FD28472 /* curve25519_ref10.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 97CFA764B51926D61D875176AA7A1E0F /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 48E9C94AB86852D36A9710AD90102B3E /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9952E318C27E22510DE7663D74373FE1 /* salsa20_xmm6.c in Sources */ = {isa = PBXBuildFile; fileRef = 00CD27098E34A48CBDEF51B063E26187 /* salsa20_xmm6.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 99780F2428BBB345818A70E98A87E516 /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 27E2087DA64665587663F5B2A1FFE89A /* PromiseKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9985C1DF20C3A844133CC24F260232A6 /* SipHashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95BF72B7C35F9530B813E5CF29DD45A0 /* SipHashable.swift */; }; - 9A2CE62C27558A4FD7694CAD362DEB6A /* SynchronizedQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BA91729F383BD986E3927D27D99223A /* SynchronizedQueue.swift */; }; - 9A4E8538BFADF87C5AC73CF474CB50A1 /* crypto_aead_chacha20poly1305.h in Headers */ = {isa = PBXBuildFile; fileRef = D677227B0D3161C8B60A4E74F456D382 /* crypto_aead_chacha20poly1305.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9AACFBD62EA28F40DF751C6D44FED6E3 /* core_hchacha20.c in Sources */ = {isa = PBXBuildFile; fileRef = E27F6AD7A5BE8F0D9846FE45FFA51006 /* core_hchacha20.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 9B0FDE7BEBCC2EDA6913E84D90E9404A /* utils.h in Headers */ = {isa = PBXBuildFile; fileRef = E7C813B66024DB48F089837F52DC99C7 /* utils.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9BE82BEA05E7890E8372F449993712E9 /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3F2E5AF2E14BB76AA10AE507E817CB3 /* PBKDF2.swift */; }; - 9E1C52D6B31B2E95FC160D882089311D /* Web3+EventOperations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48605CF790CF6E353A5D718E9A5AA1DE /* Web3+EventOperations.swift */; }; - 9F937E5B179E2A0DB6088FC8E6315172 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F2BD26E0B9E275CF473F24154BC447F /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A0192B0C46E4190077CCB58AFD5CE121 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 34774FAD1841B9825C1EE94641F8031A /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A117D240FD13CE28AC2FA26F469A6F54 /* KeystoreManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1AEA7E85E46386EE1E1CE2F69978619 /* KeystoreManager.swift */; }; - A135FCABE94A564E66EA515754CF9FEE /* generichash_blake2b.c in Sources */ = {isa = PBXBuildFile; fileRef = 434C7E6611513B6B1F0F4555E8A34B25 /* generichash_blake2b.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - A1AE1950008F8019505AFB632706BA3E /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6122BC02913DA15C11721492DBF8783 /* ChaCha20+Foundation.swift */; }; - A2282701DE9BC91494A2065F23824272 /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC5693918B514B6B8319AADFB729835F /* Random.swift */; }; - A34046C93B3CE0660E765661612A83A8 /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = 56AFE3A17CBB65F852883DCC670F9477 /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A3990AC532A16D984A30B92171E19633 /* Addition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A708661762037AF49251294E5F2C996 /* Addition.swift */; }; - A5C354890062E3B0A6F0DDFEAAB34AFE /* ladder_base_namespace.h in Headers */ = {isa = PBXBuildFile; fileRef = E3A34BB88F84600F6D3460CF9A5A4C71 /* ladder_base_namespace.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A5FE61E9A9E308D2289FB20DCCD93864 /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = F201767BB3C115C61941185518734805 /* CTR.swift */; }; - A677AB0DEAD44C779D96AA6E205B0698 /* sodium.h in Headers */ = {isa = PBXBuildFile; fileRef = 30779F39BBE19D3BBB5176D2D8B23067 /* sodium.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A795A1305DE3A080F69D88EFB43DE39E /* crypto_verify_32.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D5873D7455C1147A2AF0E4C0A95AF0D /* crypto_verify_32.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A854423D78E93064C39C140B0A3410E5 /* PMKUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 29F4E36FCABDD004AF5C45AF0BF863AC /* PMKUIKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A865FF191A862BC89D68ECAD612800E1 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF5C55063747E3DE8F156B88E5F7497F /* SHA3.swift */; }; - A8A787BF04241C2D911AEA47E9FF3F18 /* runtime.c in Sources */ = {isa = PBXBuildFile; fileRef = A9A5D9008744D4875AF423965617EF30 /* runtime.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - A947D0E6EB49BE33E9987BE937062EF4 /* chacha20_dolbeau-avx2.h in Headers */ = {isa = PBXBuildFile; fileRef = AB495A0CFD41437AF96DEC56B664465C /* chacha20_dolbeau-avx2.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A96E18A961512D9B0F1AADA681FB9079 /* crypto_core_hsalsa20.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E391452C95A8BEBE4E7D96E1C3A2382 /* crypto_core_hsalsa20.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A9C2B537E6C3FB8EBC6B6EE45769DB5B /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 816325D912601111454CAA0DDC8D5DA9 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AA1364B797FF94B8B90EE0E22F7BCCED /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 251351526C750B0F3B0C89733271F694 /* NoPadding.swift */; }; - AA30153EC052C2F6DC67B9E50E451A6C /* SipHash-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 648445BA3E66DF0BB5CED3F9CF3DF648 /* SipHash-dummy.m */; }; - AAAB5DB77854A372E7479D4D34559E17 /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66EBF42BE0E4ED04BEB9BCE41A4E3C77 /* RandomBytesSequence.swift */; }; - AAE6A2AD9A1B7DAB129022C0A18BCA26 /* Web3+Concurrency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B65EC7408FC12CC71B07CE7690DC1C3 /* Web3+Concurrency.swift */; }; - AB3AA73B6B1D71684FE710DF80322992 /* Web3.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5FDBE1167FB6098E76BBB1D856DF8E8 /* Web3.swift */; }; - ABF94A2E95A55BE0A149AC4EF545DBB7 /* KeystoreV3JSONStructure.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD6E29D30C33B6278B1F701FE38840AE /* KeystoreV3JSONStructure.swift */; }; - AE2814A6AF6D81AC77CE866436AC2416 /* poly1305_donna64.h in Headers */ = {isa = PBXBuildFile; fileRef = CA985A431D2B53D3B9ABACFB7BA1B984 /* poly1305_donna64.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AE5C830A8F7F45E3C6EEDA93225D5645 /* web3swift.h in Headers */ = {isa = PBXBuildFile; fileRef = 01140155C8A70D3FE21272371B6EBA58 /* web3swift.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AFCDA6E2117564DA26A2A30B79B35D9C /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E6DA4B12ED2E3F2531357F7F222BA7E /* SHA2.swift */; }; - B0280889620EFB5353765264D4BD3A27 /* auth_hmacsha256.c in Sources */ = {isa = PBXBuildFile; fileRef = 56376E857A900EA0A7F84B3D17C4011B /* auth_hmacsha256.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B04E9A52CB70BB4511B4740ECC0CFDD5 /* ladder_base.h in Headers */ = {isa = PBXBuildFile; fileRef = E0593CCD984D9C6CA339D795D76E3F50 /* ladder_base.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B0E47E0FD666D09FE45D8F1CC88B10C2 /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = 9192BDE0669434AA333F41E5BA21DAAB /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B12105FCC668A1EBF715BBA77DF1DDE6 /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 03D3B37D701B1EF1B6E47C489909A603 /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B15AE25F2284AC71F87FAC7AAE5EA393 /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F1B27D5A455469143F47265003A8645 /* Response.swift */; }; - B197040E996C310F090BD89AF6386AC2 /* xor_afternm_aes128ctr.c in Sources */ = {isa = PBXBuildFile; fileRef = A1EDE32B65FC88B73875E01D544C8D43 /* xor_afternm_aes128ctr.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B1CE3674391682F612A8BB64288954B3 /* stream_salsa2012.c in Sources */ = {isa = PBXBuildFile; fileRef = F3E84C9D5014C89C4DEB5D23998EB1E3 /* stream_salsa2012.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B22232AEA6A53392E665A8BBA853D2FD /* poly1305_donna.h in Headers */ = {isa = PBXBuildFile; fileRef = 84286BF87A1DBBFE0425E38BEC5BDB16 /* poly1305_donna.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B22F5539C171C26B945910CF7647BBBC /* crypto_pwhash_argon2i.h in Headers */ = {isa = PBXBuildFile; fileRef = 344C218007E1D2E70E42864540F1CC5D /* crypto_pwhash_argon2i.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B275D9362D42E2A970BDA9E60DDD5D02 /* Web3+BrowserFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E75D112C5479F2698150844C8DACDB1 /* Web3+BrowserFunctions.swift */; }; - B2B081B15BA6C50157FE794B818BEFD5 /* core_hsalsa20_ref2.c in Sources */ = {isa = PBXBuildFile; fileRef = 37E9F03E4C6C031AB7C392BFA44DCA8E /* core_hsalsa20_ref2.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B30F1C28150DB4540C3D939C7866A409 /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = 173C25D4728D8114D93FC34C0CC2E89C /* fwd.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B35ADDFFA4C81F3F3E12B04A73201956 /* crypto_stream_xchacha20.h in Headers */ = {isa = PBXBuildFile; fileRef = 8074D5465995645FAE72F01CB8631D06 /* crypto_stream_xchacha20.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B38111A3C1D679054D28375E07F2EF96 /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B323168B984B5F586F51C21741637189 /* PCBC.swift */; }; - B4700C1C836275C2720D784D34B007AC /* randombytes_sysrandom.h in Headers */ = {isa = PBXBuildFile; fileRef = 55918ACECAD90505257105D1CE13F6FC /* randombytes_sysrandom.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B4712EF19A727833E5E17BB58FB909D3 /* afternm_aes128ctr.c in Sources */ = {isa = PBXBuildFile; fileRef = F6DADC5AE7B853094BC5CBEF51E9B221 /* afternm_aes128ctr.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B4728B9A34099EDCACD3B2A5863DD301 /* kdf_blake2b.c in Sources */ = {isa = PBXBuildFile; fileRef = 474782B8CF465038D6A7E8B5BD94D678 /* kdf_blake2b.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B4B76F3EB88F0EE6193C22F1B489DEBA /* pwhash_scryptsalsa208sha256_nosse.c in Sources */ = {isa = PBXBuildFile; fileRef = B6209AD6F9F5851DF52F2CEAC42D6848 /* pwhash_scryptsalsa208sha256_nosse.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B4D7987925185501EE3EE0927A67C32C /* stream_chacha20.c in Sources */ = {isa = PBXBuildFile; fileRef = D95CCCC08D3ECA4715976F384CEFA560 /* stream_chacha20.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B4F053CE5E5508D9ED5B791EAD6BDDAC /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 33F85ED39C569C82D1B425864C9F5577 /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B4F142FE09D136C9E623D5229FF3F0D5 /* BigInt-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 489FB877091B4E45E96975A9BAD8A477 /* BigInt-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B53F3EFBF26823E56EE5B10F8D18DDCE /* crypto_aead_aes256gcm.h in Headers */ = {isa = PBXBuildFile; fileRef = 40A2C089A4ECAAD4098369612427FF1D /* crypto_aead_aes256gcm.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B5B4D56741CBC5BB7F94DD2E9FE048EA /* ABIRecordParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A8906EBEBBC9C9DD2C9536E7B78B6AF /* ABIRecordParser.swift */; }; - B656A2A6147E013DA8C89794313A8CC0 /* crypto_kdf.h in Headers */ = {isa = PBXBuildFile; fileRef = D78C2BDF4A82FF1744CB8567ABC327E1 /* crypto_kdf.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B687043E3ABF93DF2155A621D906E409 /* fe_frombytes_sandy2x.c in Sources */ = {isa = PBXBuildFile; fileRef = 6A59F678FE2A274665890346D17DFAC6 /* fe_frombytes_sandy2x.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B6BB8EC4B64786778F57C8A62F44F045 /* salsa20_xmm6.h in Headers */ = {isa = PBXBuildFile; fileRef = FC22C56D57816F761EDFE4CA37E94703 /* salsa20_xmm6.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B6C73B6685383082D62F5DEB43EBD474 /* scalarmult_curve25519.c in Sources */ = {isa = PBXBuildFile; fileRef = AF2EDE7F7343736A82EEFD191488281E /* scalarmult_curve25519.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B6E153E514E37B85F25975A0E2B34FEC /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08B6FDAC43155423D4AB49F499E83E25 /* ResponseSerialization.swift */; }; - B6FE09875D38267F821DB36454C6C7E9 /* Promise+Web3+Eth+GetBlockByHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = 979D669DDB8C7C855D2DBFAB06426F47 /* Promise+Web3+Eth+GetBlockByHash.swift */; }; - B7BFA099352C16B9B0623BF499B24C6A /* salsa20_xmm6int-sse2.c in Sources */ = {isa = PBXBuildFile; fileRef = 11E6062A0F75EFDA9AD0D4D55FFA25AA /* salsa20_xmm6int-sse2.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B7D459CB26DC128587A1FBBA5B53E650 /* crypto_scalarmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 89A5DF4BB59FB30023B724814C99771E /* crypto_scalarmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B920085A160C6EEEF4C47A69398A5296 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3482AEB425D444EBE2FC16DCD8B9C57F /* String+Extension.swift */; }; - B9320CBCD70D63559686D6C2A95E0A57 /* Web3+Contract.swift in Sources */ = {isa = PBXBuildFile; fileRef = B114F3E5294A8337A01BC880D7E5C11A /* Web3+Contract.swift */; }; - B9A8C64551C91E33D5ACFFB094A6078D /* generichash_blake2.c in Sources */ = {isa = PBXBuildFile; fileRef = 06DB8CA2BE5BE0E9FF012C63FDB35198 /* generichash_blake2.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B9D179880E2C5A583513BF6086375292 /* BigUInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82D64F442F8BC093D692494A4682C3BD /* BigUInt.swift */; }; - B9FA7B49A7D6F56E515D6C2956A44C65 /* shorthash_siphash_ref.h in Headers */ = {isa = PBXBuildFile; fileRef = 56FC830F4C2225AB470F89BC25052975 /* shorthash_siphash_ref.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BA01636EA78F1339A7327029E07166F5 /* blamka-round-ref.h in Headers */ = {isa = PBXBuildFile; fileRef = 5461035A9A4180D7968D200CC1B904D0 /* blamka-round-ref.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BA7E58DA6B7D94593CA35F27FC0454F9 /* export.h in Headers */ = {isa = PBXBuildFile; fileRef = 50DCA529D72C6E00912F8117756C360F /* export.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BB367B38B49F270055D7334CC9CFA85B /* crypto_auth.h in Headers */ = {isa = PBXBuildFile; fileRef = C675807175E6A58BD976A6F17D3E58F9 /* crypto_auth.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BB7DE6D95CAC86B03A9EF063013DC002 /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE93CD4421E73FD233B07F17E883D484 /* Thenable.swift */; }; - BBB75F3143EFC9A3EB463780ECAA68D9 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1CAE79A09FD409C84F9F89E1026FCB6 /* Result.swift */; }; - BC565F13A3AED6C8A021F906C7F00BB3 /* PromiseKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 28E70ABB8F03583D0CB1A83CDD9753BF /* PromiseKit-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BC953A74ADA16724BD422F42A89BBE65 /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = F09E70740BA9D3DD0D08514FF26DF867 /* lax_der_parsing.c */; }; - BCAAD2381219044EE4FD3FD09185BE6E /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8CFE788ABAAFE39B4CA2F495346B0E5 /* ECB.swift */; }; - BCC10E1745F230F6481E24EF7B19FCBC /* crypto_onetimeauth.h in Headers */ = {isa = PBXBuildFile; fileRef = F935224D112ABF7AB12E35FEAB128CFA /* crypto_onetimeauth.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BCEA341EA11DB5D155AFD4ECAA544B37 /* salsa20_ref.h in Headers */ = {isa = PBXBuildFile; fileRef = 539391C0C44077172A49E492439EE392 /* salsa20_ref.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BD2FF75D9D8CCC25EC6E2F8852ED228E /* CryptoSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 43834FE0CE5C4BE7684D8046358EC171 /* CryptoSwift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BDDB4C5E650FA1A254DF1BEB9A94A51B /* PlainKeystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9231A12F233CD81D8A19140469A1FD2 /* PlainKeystore.swift */; }; - BE3DBFEFBCBB3957328AAB3B7EE08DA1 /* u8.h in Headers */ = {isa = PBXBuildFile; fileRef = A21D6F9A260215E206D337CEE7DC5A66 /* u8.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BEFECBD83E818B612CCCF26BF42C9A07 /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42E33C6CD0A342D7FBFB8B68C833DC7F /* Alamofire.swift */; }; - BF7E5043837C6B692222410C22782465 /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27AFA07E52C7D9FAE4A34D852E34629B /* Digest.swift */; }; - BFC49B4C0A683570E9718165EA4F9D0E /* Web3+JSONRPC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C698977F17B049EE634330A198F6760 /* Web3+JSONRPC.swift */; }; - C00B69058773718883AA56D4E655C895 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AD525810EF7CA8839261A828E75A76E /* Error.swift */; }; - C15105E263D577932586682E527DED69 /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0DBF3AF0890F374515417D34C778BCB /* firstly.swift */; }; - C158A3373A1C6CA24D1B1B9B0C5FE2C5 /* AbstractKeystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 873BB15734C31B0FE01CE629C34EE8C8 /* AbstractKeystore.swift */; }; - C1BF05FD098C7BCE829597297F3F8834 /* crypto_core_hchacha20.h in Headers */ = {isa = PBXBuildFile; fileRef = 930B079F42C521840C7AEDE1F13D46FB /* crypto_core_hchacha20.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C1C9FBA2F6BBD6E35E59900B353C80E8 /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A09550396D2A31A617D7FB564A8EA0F /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C2339F678270933E2EEA044B65E0F762 /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = 72DB8D3BE4CA07E1F17396422F1ED2C7 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C2664C916AD2D56DB05756ED151C540E /* u4.h in Headers */ = {isa = PBXBuildFile; fileRef = B7C65A9A50D88562A2E244BCE5E14400 /* u4.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C273EB3A7346CB29021273E48087C3DD /* crypto_secretbox_xchacha20poly1305.h in Headers */ = {isa = PBXBuildFile; fileRef = 63E81CC2EAFE54EA7091460CC35EC980 /* crypto_secretbox_xchacha20poly1305.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C27987F371739E77E8806AA1DD8FACDE /* RandomAccessBlockModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82CE8451464BAFDFD32B4B34523E3CCF /* RandomAccessBlockModeWorker.swift */; }; - C2CEF712386000899A294A8546CD1FA3 /* sse2_64_32.h in Headers */ = {isa = PBXBuildFile; fileRef = 7811952FF744CC7B79209FACCD59FF33 /* sse2_64_32.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C3BEB1E3EBDDC541D8AFF230D9E2238D /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = F844E0E76DC2084E2E5659E8ADD04136 /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C50E5B36F5D529834F06838B636821F2 /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 515E99165DED76EB85C7CB49C0E204D3 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C5A5FD9BA833769555F6273DB0F2A7A8 /* crypto_secretbox_easy.c in Sources */ = {isa = PBXBuildFile; fileRef = 2CC40200CE5049FC48CB15142160DFAB /* crypto_secretbox_easy.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - C5C206CDEF80DAAFC45CCBD3E20A8823 /* crypto_shorthash.h in Headers */ = {isa = PBXBuildFile; fileRef = 92C9A3D482C481572FF08EF7FB4A236F /* crypto_shorthash.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C5D82D2CB3CB2EB081E803BBF1882E70 /* Promise+Web3+Intermediate+Send.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78F64C8EEC102A412A0A1CAF5FAA4E9F /* Promise+Web3+Intermediate+Send.swift */; }; - C6557F9FBBC76EA04BEE307935C7E493 /* crypto_hash_sha512.h in Headers */ = {isa = PBXBuildFile; fileRef = 914A43CB041DE19C45736392B9FB491B /* crypto_hash_sha512.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C6AF44A23DA7F52D894869DA79C2DB9D /* crypto_box_curve25519xchacha20poly1305.h in Headers */ = {isa = PBXBuildFile; fileRef = CC39F9E5D3A9181F5211F4FC3A04A4F5 /* crypto_box_curve25519xchacha20poly1305.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C6D1F467796148690A638DFB49E2AD00 /* Web3+TransactionIntermediate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DADFB2147BF098C0A79A958AAD481105 /* Web3+TransactionIntermediate.swift */; }; - C7F81CB87B9A0FB28301B983C639ED07 /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1C54D80CEE87C97889E172AD9FE8BC7 /* NSNotificationCenter+Promise.swift */; }; - C7FFC5C8A247923B230EA2ECA777BF0D /* Web3+Methods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24C9737715FBB4B2132DC5A7A31D22F1 /* Web3+Methods.swift */; }; - C804AEA9243BF5DB34D25C08A331D454 /* x25519_ref10.c in Sources */ = {isa = PBXBuildFile; fileRef = E85AA67F2709F6EFB7AA1A0955776DE3 /* x25519_ref10.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - C862838E9ED5F1A0FC1617B1D88F39F6 /* BIP32KeystoreJSONStructure.swift in Sources */ = {isa = PBXBuildFile; fileRef = C923DE244ECB1C0BE32385B7085A8AB3 /* BIP32KeystoreJSONStructure.swift */; }; - C905E46BC8F3EFBD0A237B0A323B3F0E /* aead_chacha20poly1305.c in Sources */ = {isa = PBXBuildFile; fileRef = 23AA62E844B45E03D263242E449CC4D0 /* aead_chacha20poly1305.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - C90A97796EEF3EE638CCAB054BF5FF47 /* Promise+Web3+Eth+GetTransactionReceipt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 450E065B92FF4403B9B67D7F0C538B26 /* Promise+Web3+Eth+GetTransactionReceipt.swift */; }; - C9C012536B117CEF9B14530A6D9DA156 /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 92490E4606AFB61DD4D8DC214EBF7898 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CA2879B07D4368B545C5366E543BB947 /* race.m in Sources */ = {isa = PBXBuildFile; fileRef = 09E5AA3F684B23FB9ADCBBBBFD2B65A9 /* race.m */; }; - CA6BD52AB35379D1EC283FEC9152674D /* Timeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EDD70612FFD99BF49E6C9EB9129C18F /* Timeline.swift */; }; - CA70E8DB524EE6AF2F06D3355FEBFA57 /* Promise+Web3+Eth+GetGasPrice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EFF69F8ED89C73EBF9A5F463B98443E /* Promise+Web3+Eth+GetGasPrice.swift */; }; - CA9A17B9436EA40C9618BE57E1FE3408 /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C63C8F2725DC883548B3ED82BA9371C /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CAA3229C77FBA1D4F5AD8F5CAF0CF65C /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A938829C220D6635044BFE88E640E8E /* AES+Foundation.swift */; }; - CAE9D15C894FC17100D54FABEDE9694A /* crypto_sign.h in Headers */ = {isa = PBXBuildFile; fileRef = FAC29BB5BB9DE277711D32AE16570304 /* crypto_sign.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CAF7F95BAAA850711BA9ABB88C4DBE58 /* Data Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5908B6BFC8D7BA50360369AE4E223C19 /* Data Conversion.swift */; }; - CBC7E3DBE6CE7D35B538C5082A731494 /* dispatch_promise.m in Sources */ = {isa = PBXBuildFile; fileRef = 625286DB30A6C053A56E4C1629B25ADE /* dispatch_promise.m */; }; - CC351AB4BBAAA45F53DA01AB0CD36424 /* Promise+Batching.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFCADB477DCD1661F56130C951D67C43 /* Promise+Batching.swift */; }; - CCB4C5EC5DA2E53DE67EA7F6094E783B /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE65E223CF65898BE317D93E93929D81 /* Checksum.swift */; }; - CD1B0AFEF589346A7B07BBB9D49474FB /* NativeTypesEncoding+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDCA45FC5C99715ED50F9D3023DBF927 /* NativeTypesEncoding+Extensions.swift */; }; - CF10CB173C7164F4969826BC18243905 /* crypto_core_salsa2012.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DD1AAA55933A66DA926FAA5C3CB1A62 /* crypto_core_salsa2012.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CF3EE764A7A7F7F57EB8610C7E684B04 /* Multiplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7BA755D5BBEE03A36F256AA5A733BF9 /* Multiplication.swift */; }; - CF6D9779D32756239341442008517E14 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = 906C091162946A46FC84C3DE4DF864B6 /* Box.swift */; }; - CFCEF00E9F843C0E9885D25D3FE776AD /* BigInt-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D3147ED887DBFD77A06F2965ACF1BA4 /* BigInt-dummy.m */; }; - CFF3D9168B24CA6264C93444A5AF1A68 /* u1.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CB10090A5AB6AB3A90031D3DEBECD36 /* u1.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D04791584287436593052CCB1BB7889F /* blake2b-long.h in Headers */ = {isa = PBXBuildFile; fileRef = 733AED77E821352F597899F87E10D08F /* blake2b-long.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D100D7BFCDD865D8A44DC541F92F6D33 /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F2034E0D60F35BD70E5EB5B4D7A7827 /* UInt32+Extension.swift */; }; - D1FD465D9A5DF0D3C96C2B35239A3B9F /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CFDD458D58C8E8BCA2F31C6D3C13F0F /* PKCS5.swift */; }; - D21ADA59B2F9E799C130CED60E316F94 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9486E9FF4944CBA333E3B75F9BBF3111 /* Int+Extension.swift */; }; - D29713D546C1B38C682373DBB06F3D92 /* pbkdf2-sha256.h in Headers */ = {isa = PBXBuildFile; fileRef = CF09493B14BFA62B8A244AE3F479DB47 /* pbkdf2-sha256.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D2A729D07615770FF7165FE337DCC3A4 /* BIP32Keystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77FB7808D985A25A52386E8346153B58 /* BIP32Keystore.swift */; }; - D2AB204C8373E9AD12F1053B6675C5A7 /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C7CB30AA196C7792F638CE4F3426363 /* CMAC.swift */; }; - D37A1A97E34FD85C656B26948153D0FD /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AE908ACBCD80950977A68E3D754B3F1 /* BlockCipher.swift */; }; - D388F346FDAED4747E1B6B6EA3454E1E /* EthereumTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32F0BBCC3493969F8E1A36EE89459EAA /* EthereumTransaction.swift */; }; - D42866E9D1CC9FAA8B4D290D9021ADED /* Floating Point Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77C62B504DD681B8CF6DA6D25CC73978 /* Floating Point Conversion.swift */; }; - D44CD3D216D5FDC67A318B9672C98BB5 /* crypto_stream_salsa2012.h in Headers */ = {isa = PBXBuildFile; fileRef = 32FD1C8F440974B2C4A4331442032EFA /* crypto_stream_salsa2012.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D48AB0204F07C546D5FB5EA4F48CAA9B /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF8A64864C280BD1C8CEFE1E870D11AF /* UInt16+Extension.swift */; }; - D4B0C11389BBC97907112C533E799445 /* verify.c in Sources */ = {isa = PBXBuildFile; fileRef = F1131ADEFB259BF34698BD54FAF6B02B /* verify.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - D4DF9B03D078F73D4926371F4772DFEC /* core.c in Sources */ = {isa = PBXBuildFile; fileRef = E2CEDB308726C283269CB883EFCF27CD /* core.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - D56D4F5F9F0AE82BAC8449EDD2C1F773 /* UIViewPropertyAnimator+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DAA2536FA36DFC5FEAE6C860B882884 /* UIViewPropertyAnimator+Promise.swift */; }; - D5ADDE21865A4FD931F5669A6783F6A7 /* crypto_onetimeauth.c in Sources */ = {isa = PBXBuildFile; fileRef = D677D2CC8597E7A69F0F89743ECDC307 /* crypto_onetimeauth.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - D5EAD3B5F66D2EA390B370A78B50E2E6 /* BIP39+WordLists.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04DFE8D8EB274B2D6DEB13D0B0E305B4 /* BIP39+WordLists.swift */; }; - D5EADC6B5FAE6460AF280093019EC06B /* ladder.h in Headers */ = {isa = PBXBuildFile; fileRef = 734A59B66E23325D25F0E82425F51839 /* ladder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D6F5C88FB3892E6169D7EF89AD3F0750 /* stream_xchacha20.c in Sources */ = {isa = PBXBuildFile; fileRef = 4DF6D23BB31CEE6629EFC1225789E0DA /* stream_xchacha20.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - D72AFEA588F8D78ADE95B106CAB8CD8B /* Web3+EventParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AF38F9FC24E3DBA6B94E9E97940BCC9 /* Web3+EventParser.swift */; }; - D7580E907C2B2A813DDDCC9BE878748E /* stream_salsa20.c in Sources */ = {isa = PBXBuildFile; fileRef = AC642813CACF8846AE9F476115CB5D4B /* stream_salsa20.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - D799A0F3FDCE0E757E03C8F1DA19E6CD /* UIView+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EB477B5FDA769C9C3641E79CB3AECAA /* UIView+AnyPromise.m */; }; - D82248113E65220EC2A60F79D8F6C876 /* curve25519_sandy2x.c in Sources */ = {isa = PBXBuildFile; fileRef = 0628E848E933075D21190CF0085DDFF3 /* curve25519_sandy2x.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - D85CB4E162C0C4CDD82936AA5CD7E6FB /* Promise+Web3+Eth+GetTransactionCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70D7AD69832240212818D57FEC3E80A3 /* Promise+Web3+Eth+GetTransactionCount.swift */; }; - D86D3485B59CF1B38FDB3F707B05BCF6 /* chacha20_dolbeau-avx2.c in Sources */ = {isa = PBXBuildFile; fileRef = 8FC1EAD8354054DF5E3E6DB740DE1E7A /* chacha20_dolbeau-avx2.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - D969D086A43FDCF0DE7072D1BEC581EB /* crypto_shorthash.c in Sources */ = {isa = PBXBuildFile; fileRef = 36383DE4A031391E1D49334AD15B24EF /* crypto_shorthash.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - D9732CD7F080087B6BCF081382773398 /* crypto_box.c in Sources */ = {isa = PBXBuildFile; fileRef = E0EF8E394F23656B4FBDD3EE07F9EEFB /* crypto_box.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - D9B1727E2A11CF4295B34E4D25ECFD6E /* Web3+Infura.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FC19D230A062F389FB304516838AB79 /* Web3+Infura.swift */; }; - DA55D47D995EA3351FE83BD39F9C7D1A /* Promise+Web3+Eth+GetTransactionDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06CCACFFBD0A6C17769E719FF92A7BE9 /* Promise+Web3+Eth+GetTransactionDetails.swift */; }; - DA565C719B51366874D9583EAEFE7727 /* Promise+Web3+Eth+GetBalance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B3E8C78528FA0A5AD7E0BAB8571CAAD /* Promise+Web3+Eth+GetBalance.swift */; }; - DB92E712B53D33FC6B3E49A883144900 /* BlockModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4155BBB05A80D040A192A96814E054F7 /* BlockModeWorker.swift */; }; - DCD11459A6DD0C7757AD81AB42D7ADAC /* SipHasher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E68BACE27C024996712FF6607571631 /* SipHasher.swift */; }; - DD28E8110085C367D00ADAA013223BA2 /* crypto_secretbox_xsalsa20poly1305.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EBDA61B6FF760BA38AE5330C670239E /* crypto_secretbox_xsalsa20poly1305.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DD558EB06D5FDEAF392E8E3DF8CAF289 /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 092459FC8990008AB406200ED66FE36F /* BatchedCollection.swift */; }; - DE1FAFDEB9550175909C13ABDF6FC008 /* crypto_stream_salsa20.h in Headers */ = {isa = PBXBuildFile; fileRef = A6F9D17734574401EE40C66D94FC94BA /* crypto_stream_salsa20.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DE481C1F209A56BA9EAFAF541FE1F9C3 /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85648B428FD546D0EEE9B712AC3F9802 /* PKCS7.swift */; }; - DED591F790C824C6C45C2DF5F5BEE686 /* crypto_auth_hmacsha512.h in Headers */ = {isa = PBXBuildFile; fileRef = DA46E9734175AE57AF6346C93933CB2A /* crypto_auth_hmacsha512.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DEF49909269A564A8B6DD2C610D907B4 /* blake2b-load-sse41.h in Headers */ = {isa = PBXBuildFile; fileRef = BA009A0702DC8C7807142FAAC8052377 /* blake2b-load-sse41.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E00AA5CBC4AFAB9AA4564A9440F082E0 /* crypto_pwhash.c in Sources */ = {isa = PBXBuildFile; fileRef = A93DD8C7C29BCAC06BF8B6747AEFE7B7 /* crypto_pwhash.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - E06BC4319DA36301398D6E5314B578CC /* poly1305_donna.c in Sources */ = {isa = PBXBuildFile; fileRef = 3F36AC13A39E901C903473E9506F5382 /* poly1305_donna.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - E09041A10CE1271F31325AA84E3C6A33 /* ServerTrustPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 184BFCB4238349FFA3CFB21421DF5CE8 /* ServerTrustPolicy.swift */; }; - E0F177F7A98544DCDAB9BF2DBCF2AF50 /* race.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA12290AFCE3F234A0956F58CF79AE23 /* race.swift */; }; - E1A499CBBF525DF21BAEBC18A1F57FD4 /* blake2b-compress-avx2.c in Sources */ = {isa = PBXBuildFile; fileRef = 2701723C978E0FA3820D25450E819016 /* blake2b-compress-avx2.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - E26863E45813FE82434F8E799E657E79 /* EventFiltering.swift in Sources */ = {isa = PBXBuildFile; fileRef = D51D4F3217353736EC976EE45CA32C30 /* EventFiltering.swift */; }; - E321748CE064E15D9D9388E00FE2252E /* EIP67Code.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDBF0563C0903C508E3BAD2011C37F36 /* EIP67Code.swift */; }; - E3454304E37C697FB2ED3B830DE460E9 /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88987A0B0B72B257A1A17B5A18B7A948 /* Padding.swift */; }; - E358EB7574B94EF931AF6B8561785CEB /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F2B4FE1DA41A924B148ADEBF7E32014 /* SessionDelegate.swift */; }; - E38B386F5E1D7631F08DA55B42CF9E9D /* blake2b-compress-sse41.h in Headers */ = {isa = PBXBuildFile; fileRef = 3287A55CA33F5B85643786CC4443D8C9 /* blake2b-compress-sse41.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E45F6840FCE5471B0C43B5591C3F7D0B /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = AF52610766A7B57679A7BA19F043130F /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E48ED973837FAC6533094538039B7826 /* onetimeauth_poly1305.c in Sources */ = {isa = PBXBuildFile; fileRef = ADEA8EF92C40C7B0FBFF55F55AC075E1 /* onetimeauth_poly1305.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - E4F7523BAE0EA6C227D06766AEDC4AFA /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = FE6FCD7ED2C62A13DA5B5AC9E2E94FE1 /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E50280139166DDE495B4FC6F4534DBD1 /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = AD090DDE20DD07C7C69EB823F44F7912 /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E51C10D86D29150EA1D0492D0746AC36 /* u0.h in Headers */ = {isa = PBXBuildFile; fileRef = 283875BA811FC66D94BC01AD71FAEF03 /* u0.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E526ADCE4C7E46F1ED303211CA7274F6 /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = E62353D330BD01DAF1EC55EC4429742C /* Promise.swift */; }; - E5D875CE32255433C0B5F03354577413 /* crypto_box_seal.c in Sources */ = {isa = PBXBuildFile; fileRef = E4766328D02E327CC103E18B1A7C3E3E /* crypto_box_seal.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - E627FA2A2BADFE552AB90BFBF12FE740 /* Web3+TransactionOperations.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEAE3E03D92D05FFFA6C718AD50A01D9 /* Web3+TransactionOperations.swift */; }; - E6308F95E96E464F63CAF54CA95075AA /* stream_salsa2012_ref.c in Sources */ = {isa = PBXBuildFile; fileRef = 51408050679AEB6098714E1F46B2CAA3 /* stream_salsa2012_ref.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - E7616FA3D7F34300979668726C69CCD7 /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 291A46DF7AB17AEF00322279FD59C8A8 /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E79E46E18747D7D244E6590E28097469 /* argon2-core.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A125073E4625E457B865C382BAE22B2 /* argon2-core.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E97C34BB403820DDBAC8AB33EE82FD08 /* keypair.c in Sources */ = {isa = PBXBuildFile; fileRef = 7E49B3E3E19D0D7E54CCBEC69507B5D2 /* keypair.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - E9852F5F72E4AD4F7511193D4A2A644A /* Web3+Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = E45A0599A7FBA13728E7964F73C11686 /* Web3+Deprecated.swift */; }; - E98669BD82B8EF36AA49932E9A1C5559 /* Bitwise Ops.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EE834BAE1EE0C4DB7C09D3354B82318 /* Bitwise Ops.swift */; }; - E9BC0022DBE06EB23A6F89B42CD264FB /* Promise+Web3+Eth+EstimateGas.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8790B6EC704814D5398EBA1199F6FAC1 /* Promise+Web3+Eth+EstimateGas.swift */; }; - E9C3CA014728934CD7DF850B33CFA2CE /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = D812F84096CA014F56AE9F25D23484CE /* AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E9CFA3B1AD0E1D6C406D21140785BEE4 /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22B234325E96F9C6E2111A3C0DDD9643 /* Notifications.swift */; }; - EA00E9077C6DE6531621A624E5F06F29 /* EthereumKeystoreV3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC5C9CEB8C233688D57E571355658C7 /* EthereumKeystoreV3.swift */; }; - EA5922A925A9206F53AF759483E9CCC0 /* AnyPromise.swift in Sources */ = {isa = PBXBuildFile; fileRef = A15EDCD047C8EA43D536A3E2EBB6F9A0 /* AnyPromise.swift */; }; - EA84A9639482248EFE15642F379E9E0A /* crypto_core_salsa208.h in Headers */ = {isa = PBXBuildFile; fileRef = B39402B0C6EBA89B263BAFC148AEBB21 /* crypto_core_salsa208.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EAD68325D8AD2C66B8C7F58EB9388B97 /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14510963E18B93FAC92CE7F5A9A61B83 /* Bit.swift */; }; - EBF3ED0825C99374F4BB530B85784858 /* hash_sha512.c in Sources */ = {isa = PBXBuildFile; fileRef = 4367B39879D746469C667ABAFF8D85EB /* hash_sha512.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - EC524CC2EBE337CFD32C0BFAF1242FBD /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9A088DC86DC16B8200A35FC04B3395 /* HMAC+Foundation.swift */; }; - EC58098733A39F9FE6E4A49931C87EAB /* randombytes.c in Sources */ = {isa = PBXBuildFile; fileRef = 380AB072E69F4341C004B242F3621541 /* randombytes.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - EC76BFF69526AD32B7936A31D7C7322C /* blake2b-ref.c in Sources */ = {isa = PBXBuildFile; fileRef = 715F961A98F49249E1F18815D00C65E8 /* blake2b-ref.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - ED0CBE11D5404DC0601C94AD9E19AE6D /* UIView+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 67B8ABB73AAEDA24B50886693F5F7FA7 /* UIView+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ED0D35D8286B7929496EEFCA5D7AA44D /* blamka-round-ssse3.h in Headers */ = {isa = PBXBuildFile; fileRef = 4651F4EC4A9CD874671CB45216DC33FC /* blamka-round-ssse3.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EDEF043A6DB03DC17029FA120B943EB1 /* randombytes_salsa20_random.c in Sources */ = {isa = PBXBuildFile; fileRef = CDD009BF5A0AD80FC71E898BDA1CED50 /* randombytes_salsa20_random.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - EE755BDFE57E81D5C443E12D97375192 /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7A8E09168BD1AAB946DFB7FBD725296 /* Blowfish+Foundation.swift */; }; - EE7A9102DB787F4E64A07A51B99B36DB /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = F50DAE8E7630B671566CB3CAC7683A31 /* Result.swift */; }; - EF983C2335FA41B0BA26A6A93CF58705 /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = A78E30008A15B04A4C0C56C28508B13C /* AEAD.swift */; }; - F13DEDEC5B072203014FDD0A7F068DFD /* crypto_sign_edwards25519sha512batch.h in Headers */ = {isa = PBXBuildFile; fileRef = 6853AB72E1111B44EC0650B4839AE568 /* crypto_sign_edwards25519sha512batch.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F22D5CE1470B5AB9301BAFC32F53DF0F /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A1EC3ED499298A5FC7AD196B2F9DD425 /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F22E8A007A030AE1C7B126ECFFCF4BEC /* Promise+Web3+Eth+SendTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42CB8A504C5023C15163667187CDE998 /* Promise+Web3+Eth+SendTransaction.swift */; }; - F23A2DB7BE654D70321E2B3747E1D06C /* crypto_verify_64.h in Headers */ = {isa = PBXBuildFile; fileRef = 569C77FEF19D6C252B3FF19227E3EB09 /* crypto_verify_64.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F2C96793A76272BBDEAEBBB197755930 /* BloomFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = DEAF45A343AEED28AF1F89413A116EFA /* BloomFilter.swift */; }; - F2F03C6A31E23F3EC783FC2114101161 /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D9C3FA05EE91F1C61F8CDB0158754E2 /* ResultProtocol.swift */; }; - F389AB22ED2AD7AE979E643ABC61C178 /* argon2-fill-block-ssse3.c in Sources */ = {isa = PBXBuildFile; fileRef = 7ACFD0EEFD12C67ECA20372FB3CD934A /* argon2-fill-block-ssse3.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - F42511828A5EA8284C97CF702513ABAF /* ABITypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8D32E837752C31DEA33B070063BB806 /* ABITypes.swift */; }; - F4D1AE47BD4D0D0046C6B0327F06C083 /* Promise+HttpProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2572993BF294BDA5DEA5EC9F88583F5 /* Promise+HttpProvider.swift */; }; - F4FA8502A013A23425EEB75EC06CC60B /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 265521B0B24D2CC32E72699A0DF1C3DA /* SecureBytes.swift */; }; - F4FB30DCA458D2DFCA2434FB72AC12BE /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18451260952E5FB6B08F485254ABDB3B /* CompactMap.swift */; }; - F51051D3E93EEE3679A14952BF030C77 /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = A218C676508B9ED4EDC9BD96F52DBBD6 /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F5877F9FE6D9D5416F5CAD3B5704EC41 /* Web3+NativePrimitivesConversionOperations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 555A5F28BE6D8E954502C3BEC164AD2B /* Web3+NativePrimitivesConversionOperations.swift */; }; - F646B41C9DE8BBC2A0E01DC539FDC6C9 /* crypto_generichash.c in Sources */ = {isa = PBXBuildFile; fileRef = 3924723D0F305425CD0B122110F39586 /* crypto_generichash.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - F693A10195CFECB23A6491B6D56E3846 /* PromiseKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 17E30DC65A8D286161F99AC88CFB64EA /* PromiseKit-dummy.m */; }; - F6D367044CD4416328FE6F948A0D8917 /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB082E49C99E9C875B3EA4669833C4F6 /* CFB.swift */; }; - F78C1DE8D506C812DCD441568DD25248 /* Prime Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBA88622BE642CBFDBD5BFA28B64512A /* Prime Test.swift */; }; - F802C46C1B1EC42264AFBA66A1070CD1 /* randombytes_sysrandom.c in Sources */ = {isa = PBXBuildFile; fileRef = BB14AD11E956B7FE1C90273959FECE67 /* randombytes_sysrandom.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - F8C9D9952E9FDA9D070C283778B9887A /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = AD0B06348CB6C797BC577969CDF75C9D /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F920FFBE86C99EA3FAC71492D81FC7CC /* obsolete.c in Sources */ = {isa = PBXBuildFile; fileRef = F97A540E6645ED2971F062AD1BDD1A00 /* obsolete.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - F9DBA11EBB94E84ED75200A3851C7145 /* BIP39.swift in Sources */ = {isa = PBXBuildFile; fileRef = 553072B8B0771964328D82853DED2138 /* BIP39.swift */; }; - FA7EE3AD26768230A7899F73DEB19622 /* crypto_hash_sha256.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FC1FA7BBE0CDD9BD71CAC712FF3DE63 /* crypto_hash_sha256.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FB0ADBC110F89DBDFDA51004F1B3D2C5 /* base.h in Headers */ = {isa = PBXBuildFile; fileRef = B6CE3950AE600E7EB3C7AD2563B6F5B4 /* base.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FB0DF7A6061E7183CFEE6D9F23F10F00 /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = CAA299646AC0C45CADB5F62F6D2BC3FD /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FBD9FE531FB5348FF821331F6631F8D1 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = CA401CB291311CD70CB960707038F8C5 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FBF29D5AD31C8CDD521400AF23447F9D /* crypto_kdf.c in Sources */ = {isa = PBXBuildFile; fileRef = ED316EA8B7E02F7B53C3C1CCC4C638C5 /* crypto_kdf.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - FC4209DBD1083EF12BEDBAB392DC129C /* core_salsa_ref.c in Sources */ = {isa = PBXBuildFile; fileRef = 79D8464595E66B9F728512CF919E89F5 /* core_salsa_ref.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - FC68D7F171C660778125166FE8A3260B /* x25519_ref10.h in Headers */ = {isa = PBXBuildFile; fileRef = 33F648149A474AE4C034B378C2048760 /* x25519_ref10.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FD4A37E6D147B027F1685D564B0A16AF /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5AB7E0262BB68CA2E8483784B5ACC9 /* NSURLSession+Promise.swift */; }; - FDAF3511F1FCFC8CE0E32487A75D060B /* DictionaryLiteralJSONSerializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6953848954B03582D250F08E15F2CE78 /* DictionaryLiteralJSONSerializer.swift */; }; - FDAF87410C660EDBB54184FD2932CAA1 /* shorthash_siphashx24_ref.c in Sources */ = {isa = PBXBuildFile; fileRef = 8C127EA92BE99EAE932B1C9E2AB5A65E /* shorthash_siphashx24_ref.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - FDB5FA6E7759820C8D3CACF93CE7118C /* aead_aes256gcm_aesni.c in Sources */ = {isa = PBXBuildFile; fileRef = C2F44B67307A31AF5A5012C735E4A614 /* aead_aes256gcm_aesni.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - FE3EBF5EC4E014204A36F4A44F04C9AA /* ContractABIv2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FC49B724EDA937A5E14D997047CD576 /* ContractABIv2.swift */; }; - FE98ED4529B079754287111DAD19CA9F /* crypto_stream.h in Headers */ = {isa = PBXBuildFile; fileRef = BB81D295431B952BDDFEE553CD05F552 /* crypto_stream.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FF3628D9E493EF01FD51A30DB79541ED /* ABIv2Parsing.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0537F1018402B92299C568F8E1E655FC /* ABIv2Parsing.swift */; }; + 0069D192EEB5FD6E4FE6CE081766BF84 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = FEF79F557134C26ABD37AE7F9CB5C154 /* Int+Extension.swift */; }; + 0075468647D0FFC3AAED89F1F23D66CF /* PlainKeystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50145B3CFAA030E982F33E5F8EF57D5B /* PlainKeystore.swift */; }; + 00A7C1597DE9265F746EA649878A668C /* BIP32HDNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44EE1C2DE9A2797654C1BF53FFB8C841 /* BIP32HDNode.swift */; }; + 011C7540AA287C97361474C15BEC543C /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9BB9612098BEF96218A20B30D84C0F5 /* PKCS7Padding.swift */; }; + 02B1E2D6F7BBED451D46B09035722FA0 /* BIP39.swift in Sources */ = {isa = PBXBuildFile; fileRef = 491E32635E476F62DF80795EA03A4E96 /* BIP39.swift */; }; + 0342898ED680F5682ED857AD2025247D /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = A65AD597143380A8240447064605DDAF /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 03C3AFC1A73CC721DFC025DA0492B8F7 /* AnyError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 566D31E69EBD23EECC7E9756E711AABF /* AnyError.swift */; }; + 045FA7F5C4FA073D115933C8046C954D /* KeystoreManager+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7325F8CDD95F0919C78971B1F9B0D26C /* KeystoreManager+ObjC.swift */; }; + 04BAB9000ECA1DF9525E0A15D715B307 /* RandomUInt64.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22E9055D66F39B0B671EC13A4D7A9AC5 /* RandomUInt64.swift */; }; + 05DCD2FC5F3843251C1B431881F46A15 /* ABIv2TypeParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1D32AFFBF6E022875FA6FA5E31CDD8C /* ABIv2TypeParser.swift */; }; + 061CD8DF38E45A06BCA57538669821F8 /* after.swift in Sources */ = {isa = PBXBuildFile; fileRef = A76766DCA675A328B7621F2CC2BBDC37 /* after.swift */; }; + 06346EDCC1E2F52FE78341A96C1C2E80 /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C2A766E739F57C8F1F245054C84114D /* ResultProtocol.swift */; }; + 08126F596F171C58B2CDD7314A1129D6 /* Web3+HttpProvider+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C34B6F8F004A79070AAB41F8DFF824F /* Web3+HttpProvider+ObjC.swift */; }; + 090FC12C45ED8F6A69B4E632DFE94915 /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBCF03C2FFB16105B36B473D4E7B2D8C /* SecureBytes.swift */; }; + 0BC51526B2D3116FE16EBE44DA507D3C /* EIP681.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41FBE47CBCF2E13682775196F7F9184D /* EIP681.swift */; }; + 0C3AE310B1F97E722879135D91FC439B /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 850178BDFC9EF1A7C80827D3FFCD0482 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0C76323B6074D43A33E958630E2FA2B8 /* Promise+Web3+Eth+GetBlockByHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D4D97785B4DFCFBC23D6C846C84EA90 /* Promise+Web3+Eth+GetBlockByHash.swift */; }; + 0CEC6253D2D954152AC4B4471CDB740A /* Cimpl.h in Headers */ = {isa = PBXBuildFile; fileRef = A37841BD104497DB3DF5388D4367797E /* Cimpl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0E285E910A32BEC3C90AE7FCD361AD63 /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E54B974F06101FBFA19F76844B3BBAC /* CipherModeWorker.swift */; }; + 0E4E5A6466DC27E019E10B79F0AB77EA /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F73DD47F1589433F054B8686723D47D /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0E595594925920B81CBDC1EF1F737727 /* Words and Bits.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A61E362FF2B82C26F4DD5BA76BEDC8 /* Words and Bits.swift */; }; + 0F0DCA8CBC42D5EBFAE1401F86393B1A /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74C7EFAAA5563E59498B9632722813D1 /* Thenable.swift */; }; + 0F122728D41D7ACC67337E2E602B04A9 /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 36BB4188B1240052722EAB2ED24DC3DD /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 104041B63A33F6C978EBE1042E7F36C6 /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEDAFED9F2E7A4D6945433CF19C261A5 /* HMAC+Foundation.swift */; }; + 1393314FA30ED036A4876EED12EF15DF /* BigInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ADE6B24E2F1E8BC45C1D76558FC0116 /* BigInt.swift */; }; + 13BB14D730491354406F32259BFA9257 /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 86C3207E565D52552FDFA7EA42F05270 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 13DFC709B5090CE924800551AE5D9808 /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7DCA902F4BD0A6D5EAB1E39146270DD /* AES.Cryptors.swift */; }; + 1418FE8C38CFB0A63618CB505778FF1A /* String Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED0070FE7462B58C47F60E55B8C0AA5E /* String Conversion.swift */; }; + 168BDC656BAAED4F5FC8CF368D073EF2 /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58E9F0540DB4E1A859392EFA3A0708B3 /* GCM.swift */; }; + 16BD01485AEA764E1D7AE403EDAA7CAC /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41FC722652762A9CA680AC0CEF50B2CC /* CTR.swift */; }; + 175846F537D8B12473C9BD1BC7664B16 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AB1E7E037CA7ACBE1DAF1FCF8BAD73A /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1774B3B2CE80448F302A78251D87401A /* Web3+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A01C71E03076A82481B6EFA5BABFEE1 /* Web3+ObjC.swift */; }; + 17A85E0EC18A32952F779A75E09AB131 /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06DA7D56C2864C4222F706AFC7953AF9 /* UInt8+Extension.swift */; }; + 1802CDD64DFC896D6C4107DE83FB1BF2 /* NSObject+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54BA1656FB495B7460ACDF3A76022348 /* NSObject+Promise.swift */; }; + 1819715D4AE9B9E34CC6884404B925A7 /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3F5A2A6D774B47357984CAF7863D68F /* String+FoundationExtension.swift */; }; + 1827A2E7503354E5079D35079745DE19 /* CryptoSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C5B7066F1E4B26038FE68DE60BCBBA7D /* CryptoSwift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 185B22077187E274AD1554F64AEDCD02 /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 0434FC3772D7C052138D4E6597BBCEBA /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1876693CC43D85F269BADE3E768EDA7D /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A2411CE147937EBABF77E252DACB056 /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 19127EBDCFDCA18FB791457D9636554A /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0571CF27DD24F25CF822D599D2FD9592 /* Collection+Extension.swift */; }; + 193BCB45EB2F96FFD27337F8D2D9603F /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = 20CFA43F832D5962C0393290B58599B5 /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1A4B5F4283534B7876F0797D79743E7C /* UIView+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = D611D9EC9939318B1A869FB533E3081B /* UIView+Promise.swift */; }; + 1AA2BEDB70F75FB46C0DDEAF37624686 /* race.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DD7D170A631D238DD87B920F3821371 /* race.m */; }; + 1AEA4CC9FAFDF49652633E9DBE16D80E /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2ABB5405C641CC68BD096B2B036EE11 /* AES.swift */; }; + 1B3A7F77E5D5CE5F8E299A6B6FC3239D /* AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 772A5E3F2CEC01BEB15C9C969E63D298 /* AnyPromise.m */; }; + 1C161B8EA65B5BDAE68E60F1554853DD /* ABIv2Encoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3E16828B172E3E29C2C2A69EFDF43AF /* ABIv2Encoding.swift */; }; + 1EE14F44BE6D7C6D015982EBCB62366B /* Square Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E3257BF67AECCEEBCA3B927CB2C8914 /* Square Root.swift */; }; + 1F775B3A5B3F7AD66C937140F5D64981 /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFD4B69F8A727F8A3888203E38DD2A63 /* RandomBytesSequence.swift */; }; + 202EDC7A61D90D385D5A163E66665BF7 /* Web3+Methods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EDB16D82616831C96E088DDBE2B32B6 /* Web3+Methods.swift */; }; + 21BEF33F6A2B374B486F089628B99B25 /* PromiseKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 39D3351EAB4FE326D56C800215377379 /* PromiseKit-dummy.m */; }; + 21C57C5726D2EB337172882289EBA3B6 /* Promise+Web3+Eth+GetTransactionReceipt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91DBC05C80B653F0779A122B3E01A00B /* Promise+Web3+Eth+GetTransactionReceipt.swift */; }; + 22DCAC3A73E88CA5628BC1FEB5DBA99F /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = CA13324E6B18FC344F7E858446786F1B /* fwd.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 22FD54B4C827131C4D684D2EAA053145 /* Promise+Web3+Eth+Call.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12E63E29E69B87CCA00CA5D8B454E67D /* Promise+Web3+Eth+Call.swift */; }; + 2498514CC27CCDFE8E81FAE89A1A286B /* ContractProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 052496AE749A404A1C7E8F48F9C50E4C /* ContractProtocol.swift */; }; + 27FE3E93F1532DBADEF4E265BECD3B77 /* Web3+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F06D95AEE5EC27252B89C4874C9B887 /* Web3+Utils.swift */; }; + 2A1C4A8A8BA9576AE5DF448DB426C023 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 28CEA71BAA2648F525999A658E8C7F22 /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2A8F6944A9B01C4D77F755677E3B50CD /* Exponentiation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C8A5F0094F14372F5834A32835C5F5A /* Exponentiation.swift */; }; + 2B4AEEF5291AF4C54375103E51B33EED /* Strideable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4D1A5DD3EF2B55B1F7090048637E96A /* Strideable.swift */; }; + 2C9C89045C33D64985BF4225219BD28A /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = C227C20C27715023D2C006ED811A0FAD /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2DD6BC67B196FDEB6520629498A29D83 /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = F773C8F575C7369A7CA7E723748E110D /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2EB9A7BDFE7194105B1D955541456E8E /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AAE3B11D2000EC06CBFB2EE14EAA208 /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2FDA0E6E5364186683841D4CB7F2AA96 /* web3swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0ECEAC97DC37DEE322CE4D6A7FD317D1 /* web3swift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 30E55EC1173BE1FB08D744675769DBD2 /* EthereumFilterEncodingExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E6FA3B41EF131B438CFDBB3807EAC51 /* EthereumFilterEncodingExtensions.swift */; }; + 31BE361F12FECC822B92E13681857FD0 /* Promise+HttpProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2840F210CE98B93EA849D6D6E8253222 /* Promise+HttpProvider.swift */; }; + 328764F572D114FE4FD89859EA7D0C82 /* NoError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BF598B3313583C452A8F23CE762ABE4 /* NoError.swift */; }; + 331CE8D8224F71C9D3D70DC1801A1715 /* Promise+Web3+Contract+GetIndexedEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB850682BB5958733FC8B52787BAC26F /* Promise+Web3+Contract+GetIndexedEvents.swift */; }; + 337A8793B004627DE63C9C9F3718957B /* dispatch_promise.m in Sources */ = {isa = PBXBuildFile; fileRef = 323E701BDC75F79161DF588C4113A918 /* dispatch_promise.m */; }; + 3401E200180CF3B6563B96FEAF55CA94 /* Result-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F5D6AF8D555A9E4255C5A7F9DBA2C46A /* Result-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 35923DB1A6781812B8913ECD0416D749 /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 442C6C1866A76D1BA9AC1704A73CCBEF /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 36306880A632F6028A29C9EF3AF21D76 /* Web3+Infura.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5564585449D0A14C4C3DA06673C6CCE6 /* Web3+Infura.swift */; }; + 36A0040F0878B1983F1EA1303DEA3A8A /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = B421CF5866C90A22CF4AD1B2FB521FB1 /* StreamEncryptor.swift */; }; + 36CD9E2F0BD86A31E701E02DAB5AE6F2 /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8E9B7215E082F31D22AE879FC8E6A1F /* Authenticator.swift */; }; + 37457234666FBA7DF56C16652038067A /* Dictionary+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E2B619BDED04588FB519514ED192C42 /* Dictionary+Extension.swift */; }; + 37741FB620689069751B06889B7C7143 /* Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5157EEA72F46459433F5E5929670E20A /* Comparable.swift */; }; + 37F32E3E1902C1C57EEC4067E506189D /* BIP32KeystoreJSONStructure.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5E7B50FE11A248882E6C1A3F9B94E1F /* BIP32KeystoreJSONStructure.swift */; }; + 39CDE4B10C60D85F37F77C939C51E074 /* Shifts.swift in Sources */ = {isa = PBXBuildFile; fileRef = C82501607388B8BCA99C8AFAEFD1465C /* Shifts.swift */; }; + 3A0B9F7D652FAD6B6F41E8ECBC672B2E /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C1C98DF0D19110BC29B96ACF3CD8253 /* String+Extension.swift */; }; + 3B670C333D1FA4301955FC92E0ADE64A /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = B5D98626E7B2E6CEA32D15F9D18C4224 /* NSNotificationCenter+AnyPromise.m */; }; + 3B85CE7D9D64282311FA54DBC8286756 /* Promise+Web3+Eth+GetBlockByNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 862203C1EEFE1746B51A18A70C8255F1 /* Promise+Web3+Eth+GetBlockByNumber.swift */; }; + 3C3E2109D1CACB25EAFAF06D4238567E /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FD0C198DD93405BF1DA5EDE636A2F6F /* Blowfish.swift */; }; + 3CB14077F8EC08C91CC67F7A527B417E /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C8009536C96B6BA559B0430AEC14152 /* AEAD.swift */; }; + 3CB94F4227FD789E4DF19BE266778FA8 /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDB3EF4D45930CAA3FBB049933F6B674 /* Deprecations.swift */; }; + 3E3087E0AF2608D58EFD71B57D6FF5D5 /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = C40EDDE1B718C8470C7AA3C48C5554AE /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3F1665AFCA874E77038222C32CA21CF4 /* TransactionSigner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0103BBD609FF8CADC6FDB98F2FDD7344 /* TransactionSigner.swift */; }; + 403488C6FD6D81EC1837EB3785B143A7 /* Guarantee.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5F05B314C909125D077A6977F0E706F /* Guarantee.swift */; }; + 40FCE77060A9F031CFDE7A39DB8BE346 /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E1625F84C89AF10B33736B73A1A4E2C /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4144EBF3173A41E918C16A79249458E3 /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = BBB186A40620A95D2A4EE454989B445E /* join.m */; }; + 42911B8E04109940D27D03B76FDB71DA /* Integer Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66907FAB988CF1AF834BAD4A2926F444 /* Integer Conversion.swift */; }; + 43FD8DB1CCB725A4FE8894835801F3EB /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 589F851C490849AC18374F9DD34A57C8 /* CBC.swift */; }; + 45216D6980BC449A1E84C0C6CC1AA6F9 /* Web3+Options.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBA9232DC21A4588EA5C4A6360ED7D64 /* Web3+Options.swift */; }; + 45EE1E43188FD2E7FC8B2D5030BFC973 /* BloomFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACB0C00B07E5B530D245904B8FA919E /* BloomFilter.swift */; }; + 465596376950D8BA52A52DF91185308A /* Web3+JSONRPC.swift in Sources */ = {isa = PBXBuildFile; fileRef = D16392BB50E5CB36CCE0946928A6E774 /* Web3+JSONRPC.swift */; }; + 46D913BB12854D13B0F897B37C0645A4 /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29C256B973D8BE987C0231440CCB1E67 /* BatchedCollection.swift */; }; + 4713F0A481C5F6ACE1E7F285B4FA5FEE /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C4001BFD15E68647D2DF6A140E7FE7B /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4739C9EEFC54F5C097D8D9D86CECEC2D /* ComparisonExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80046DC911582304810AAD592475C63C /* ComparisonExtensions.swift */; }; + 48388B84776F7C1407A1E118B089CBEA /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DDD374821E4640217896833C7CA1640 /* AEADChaCha20Poly1305.swift */; }; + 48455593A60C3CA87A214694EF5D1873 /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = A048C650E06E40C87E43CFE55025EAF3 /* afterlife.swift */; }; + 49DD2B0B8B0B0E37B1823A8AA30CD26D /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0DA82837F4FE2A7E626BA8F125B29BB /* Error.swift */; }; + 49FEEA70ABC39AF55CD97D81857EF07E /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3068DD183E4985B3B7691D15DF8298E /* BlockDecryptor.swift */; }; + 4A5593F6C0B13BB81EAD2D062E38E21A /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 584AC113BDB47E209F6B34321DD1E5A1 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4AACA123F47301AFCECF75FE8D86BBBD /* Promise+Web3+Eth+SendRawTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = F73C8D13D7365EE34099B5B7D39B60B7 /* Promise+Web3+Eth+SendRawTransaction.swift */; }; + 4AB8899CD9B274899C569E8E4F6B8163 /* Web3+BrowserFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4A915B27C142C9851B0FC16DB2ACE3E /* Web3+BrowserFunctions.swift */; }; + 4BEC002E24F5AD2E72EE77A41D06AA1D /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 442702F0B88642B51362AB205FCAA854 /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4C3CAE4E66950002C334290828030002 /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7A36BF0987C747B882373933D43D47E /* CustomStringConvertible.swift */; }; + 4CFF75EF09263579007C95CD2C296463 /* Subtraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0F41748EE794FFF4AB23CC5592DB949 /* Subtraction.swift */; }; + 4D3407C41F4EEB3975ACE1EED0B49A16 /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6BD782668E0147C274576B5E4F5F974 /* Catchable.swift */; }; + 4DEA27C788BF3119B52411CCB2922FB2 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 183C2164A5A0D7B650B1632D92711576 /* HMAC.swift */; }; + 4E3FDA58133BED7E50509490CD6FD4F4 /* AbstractKeystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D918765E5C316D981E87E593F43CD1B /* AbstractKeystore.swift */; }; + 4E6B32A3483F0BFABBD797909A9DEF6E /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0592455534B27A7EDFB9DACFC3FBD860 /* UInt16+Extension.swift */; }; + 4F6ED8ADD7B24315D4F8D18C227D3ACD /* Primitive Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9503C4F6C4DBB79AC671BCA551F24A /* Primitive Types.swift */; }; + 5111E29F246083C72BED5DCB4AB23339 /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C97F0ED74220BA363EC3492AA6619 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5168590BF93FB99D16DC49712EA80245 /* Salsa.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA9F942F287B75869B1E47BFFC388B1A /* Salsa.swift */; }; + 52FB513158120D5E9A5D0F389C8B4705 /* BigUInt+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AB7EFD1CDE8EEFB6864B4C95BE27B9B /* BigUInt+ObjC.swift */; }; + 543D935BDB2B65030F4F1CC620E38CC2 /* BIP39+WordLists.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7860F7282B4A86633B33B4C19EE13DAB /* BIP39+WordLists.swift */; }; + 56ACBF1330E1BDB853FC94E16E41A0C7 /* Promise+Web3+Eth+GetTransactionCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA69368BBED1E9C971B870CC1D39411E /* Promise+Web3+Eth+GetTransactionCount.swift */; }; + 56FEEE8BC37939684F8887F96C6EFE1E /* PMKUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 4494989642C43EC56A1C209F11EAA579 /* PMKUIKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 57EE2999B5A42AB125DE111FD58382E8 /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1965E9A5C6BC0EAF6D873E26515FBF24 /* SHA1.swift */; }; + 58560D5361D4C0DA182EDE13BD4BF20A /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9407649D3AF3DFA0898FB2D0CEE49FB0 /* Box.swift */; }; + 58A762A4848E6E343D255E9FACC9E795 /* Cimpl.c in Sources */ = {isa = PBXBuildFile; fileRef = 227AEA3AD310D48705A9F080E9587471 /* Cimpl.c */; }; + 58ACD248746150D1523327FBE5B37A1C /* EthereumAddress+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 066D256FC483ACE5C9FBD3A9DE124FDE /* EthereumAddress+ObjC.swift */; }; + 595B8A2A0CCEBF78C630FF9978F29AB7 /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAB164AAEFA3768FB27145624FE1B935 /* AES+Foundation.swift */; }; + 5A62E1514221B943B7A3D3946E7C33F7 /* NameHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FE2D8F96F15B5256BD58A65B6912DCE /* NameHash.swift */; }; + 5A6C4BA33ADE33CC6B382B120B679237 /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7053901B6F4C7C4685E6983AD717E771 /* Blowfish+Foundation.swift */; }; + 5BDE74041F9724B7C2A40FD1FCFA45F0 /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F0897176807A58E1A713B8A2B2948DA /* UInt32+Extension.swift */; }; + 5C54B9B9E5E0B285872796330B999044 /* EthereumTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A9EADA7AFA39E90F4B2C520B23DB0D6 /* EthereumTransaction.swift */; }; + 5DB7A571F556449AD9706B01CB07EA6A /* KeystoreV3JSONStructure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57B4BB38C90FBE82C3726EC39C95B70F /* KeystoreV3JSONStructure.swift */; }; + 5E249F6FB23CCC4985EFB3FDCADE487B /* Result-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A1D77762CE9C119FD2F51D4CD9271FDE /* Result-dummy.m */; }; + 6367286AA49B412B8FA5D9E60AC57942 /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = F9E575A8DCCCA9340467D59D513CE613 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 63DE145E1764A86D1ABB97F789625268 /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16D03E5E5B1C1CC5F18AE9C3C8EE602B /* UInt64+Extension.swift */; }; + 64B367DFA40AC646E11DAB819B0E292E /* Promise+Batching.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD02528C65BB0F37587F72DFC75F763B /* Promise+Batching.swift */; }; + 655563EF592B664426E4F924AD94A1EE /* Web3+HttpProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A14C8A0ECC51DCF47B8BDC426260AE9 /* Web3+HttpProvider.swift */; }; + 661C802B489BBD3DFD82BFD64B22436D /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 000A1EC76D82A3EDBC7956FE3334A646 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6795E9608781C7A1914DBFC1D1B3BBD0 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F444615A31A37C9AE86FCD68C9617C8 /* String+Extension.swift */; }; + 681FBF1DE7F5E28A656C33C24795C69D /* CryptoSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 99F1915E70ED67C2A41631A9B4E95409 /* CryptoSwift-dummy.m */; }; + 68967D93A7040322F28E032A686ADDB8 /* BIP32Keystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16C67237D9658EEEF7CE6C233412A1AA /* BIP32Keystore.swift */; }; + 68AC0F69139647F7B018BBF14976F577 /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FD29DD5DC6ED789FAEB902C94E865F1 /* Checksum.swift */; }; + 68C039D30A4BD8D39DF56B559B4ADB68 /* NativeTypesEncoding+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F412C8E7409927D4E4032AA2237D1ABD /* NativeTypesEncoding+Extensions.swift */; }; + 68C3B925415233905445BBC632E33D98 /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 135C356FAA3B347C90BBF94F6529C892 /* NSTask+AnyPromise.m */; }; + 68FCBCF149554A07A481E77E101529A0 /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D3ACCCA669E9804A73747148FC87E82 /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6951FF81102CC5BFF9688FD32F93DB93 /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16AF4F6B552E36497978DA12CBFA0A4C /* PCBC.swift */; }; + 69B43E85EA9FD569A466BE6BA94A5F86 /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2737D9FD26C786FDE441BA01D79E6DB6 /* Digest.swift */; }; + 6AF78554F313E5317E4F904D7B8D56A2 /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = 99D40DFEB3A4C759CC493F70A4EA108B /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6B5044E9BC84F66C42F5923359015BF8 /* Web3+Structures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E37C31654324E82F6877D3A0A8CF5F9 /* Web3+Structures.swift */; }; + 6D8404384D6E70502A028E0A183163BB /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 361B873DBC285242B8FCA11C4F9E5623 /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6EBEEEDAACA227734E95EA5211665100 /* GCD.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7392F15D9E28ABE006D665C8C76D964 /* GCD.swift */; }; + 6F853D5E1F77B742C8BC832153D2CFB7 /* race.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21B6545014E4E1EEB09BDBDFBEA13516 /* race.swift */; }; + 70C753C56B4C246E2B038E4F94BF0BBF /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4D54F7C6D9EA280A0460EFA15E45520 /* Codable.swift */; }; + 718236F77969D41EA45AE28A7EF14E52 /* Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 009A496F7B724F0347CFAC23677728AC /* Hashable.swift */; }; + 7206709B12948E39A73C1443F4476FE4 /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E9707E1F50D7C7959FA42372F48A2C0 /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 726BB598C1055EDC9C6423E70C91C90A /* CryptoExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F65C87A76C6A03B2087AD0F053518E55 /* CryptoExtensions.swift */; }; + 72C25CF4053DCD62E5447817C0B9221E /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = E20325AD797DB5BA5787DCB0E743E290 /* Utils+Foundation.swift */; }; + 7528DA81FC748DE3FC4BBCD0A2E1400C /* Web3+Wallet.swift in Sources */ = {isa = PBXBuildFile; fileRef = B37F023A41759D539E276E87BF6D90C3 /* Web3+Wallet.swift */; }; + 76470FC323983D6226BCF68B1164E3F5 /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 940A12297080FAFA2D6A547951269482 /* Padding.swift */; }; + 76B563B51D27673895764F16C48D5E24 /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D740E5FEAD00D08690A1797817D464A /* Rabbit+Foundation.swift */; }; + 77178248CD6460B5432AC6DFC3579E23 /* web3swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D19A599F033CB640BC281C9DDD005A7 /* web3swift-dummy.m */; }; + 778848906301AB76386C72A37543BE52 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 123A79BDE35CE7064C94E97B6CC962F3 /* Array+Extension.swift */; }; + 779F797D02BC03B4AC8C9BA2F32EDD86 /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = 6018602186E5C17B7EC7AA437D2BA1E6 /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 78589BD06CD8A1E65939A186F9EF2AB5 /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = A732C7582F6BC356D8BD853CDE811DFC /* Bit.swift */; }; + 7879C44114E0F4F770B0E68610F5ACFB /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A5EEC6F826A7BB4BCF689DDBBBE8AF0 /* ZeroPadding.swift */; }; + 78FD627F252ED1A0015EE533DD68C2FF /* Web3+Personal.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C2E113E148B418D9CFFA9563D61A9C /* Web3+Personal.swift */; }; + 7CF47931D812B23E671EC0DEA0706DFA /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B1467C65AAF92A3D88CEF44D064DB75 /* NoPadding.swift */; }; + 7D5DA72A49A992A527E02B5A1246FC3C /* scrypt-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1004D33259FBFC1535E8D4F64120C7FB /* scrypt-dummy.m */; }; + 7D67866AC6C3A9D16FE90065AADC0149 /* EthereumKeystoreV3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F79F5E8467AB85143242575568970D /* EthereumKeystoreV3.swift */; }; + 7E314E370D8E63F9D28EB4D83FF125C5 /* Promise+Web3+Eth+GetTransactionDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD708B9B8D939244EFAB57D224317EAE /* Promise+Web3+Eth+GetTransactionDetails.swift */; }; + 7E85ACD04ADFC992156F52FBE1BFE20A /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = EDA43B32781D9D973ED35A557A240958 /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7EC88E86E051E823EE620293A70225BB /* UIView+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = CBB29B20CE255658DDB1532AC1266247 /* UIView+AnyPromise.m */; }; + 7EFCEF370D1273ECA03178E054495922 /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81129A66FBF8621B73A114A3835F4046 /* Updatable.swift */; }; + 7F77F6FF53784ED6A5A93AC3D548F02A /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F532B89CD79FB5FA18D07FC46DD8466 /* Operators.swift */; }; + 7FADDF54E465F347CF0C611B940B56E2 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = E06D321FD0D4501F1FF7D6F6264A1DDE /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7FEA191A8B72A225854E8C1E418CF7B1 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = 50ABA8EC3262E75D2C901CA6DD9FA5F8 /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8008DD7D87F87B9E3D5ECEA3467E1A9C /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FCF51E9005015897DB4235855C11F3E /* Cryptors.swift */; }; + 809461B522DAD1CC4DA7B304793057A5 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBA5DBF0F836BCDC6BD27E61549AAC70 /* ECB.swift */; }; + 80FFFE82E8A8DE6ED294DECE0DDE1908 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = C44F34B4A43FBA288053EED2B79F6ACB /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 822D2EB3DC201386CF9DF682794D91F7 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6056EC003B91D6AE8460C740F35F2BC5 /* Utils.swift */; }; + 836C8A3CCAD5C5FE68F01D5B3AB57174 /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7CDAECE7C7689D9B56E9D2B4A92D11 /* NSURLSession+Promise.swift */; }; + 838FC79B49A0DD9506EDFF36DC730262 /* Web3+EventParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D1164A207317D07F70C5CADF0666478 /* Web3+EventParser.swift */; }; + 83DE107ED68E9FFA4B62A5A12B99223B /* web3swift.h in Headers */ = {isa = PBXBuildFile; fileRef = 33AD44494C176812F8EB7B1C68429279 /* web3swift.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 847F825E0F00B1476A42EC1A2914DA3B /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 79A6376210EB7B970D64C177672F3EFE /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 849B9967D22A26A74AD8C73FB1648F23 /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = 8668B73A34C0C334E2DFF0A4D01B9887 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 84A96034B669A157EFCB701B8F7F635F /* secp256k1_ios-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CE1FC37CE5129D5F14970B958DB8192 /* secp256k1_ios-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 84BCF4CADBC4D7DDA795387EC0AC07E7 /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8D29DC59940B5FDB7E394779075BECE /* MD5.swift */; }; + 8517DDE6E73644C042195E2C78A312E6 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3DC571B8A19A17AAAC784433AABB955 /* Array+Extension.swift */; }; + 859729A76D2AFAB1080AB8E850982E4B /* Promise+Web3+Eth+GetGasPrice.swift in Sources */ = {isa = PBXBuildFile; fileRef = B834A0B254CE3D581189392480DB3517 /* Promise+Web3+Eth+GetGasPrice.swift */; }; + 85973E99277A40CB09CD12CDB7F66743 /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7033A3E7363DDB4746F91F0AA499EC34 /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8606AA654F3D24B407E7274A9BB3995F /* Division.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7C85CCAD8B8BB2BC645025063627244 /* Division.swift */; }; + 86F8EB37DA0D0B1894675C2A41A949CE /* IBAN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E393FF3F983A1BA55B41EFD5D31574E /* IBAN.swift */; }; + 872CC7E11DB7B5D9E47440A739E574AB /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB682963D538987398F14AB14E9F6457 /* PKCS5.swift */; }; + 873DE3CC5FB993DC11904D529384C888 /* ABIv2ParameterTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5C569671837CF74CAABEA7BA50950AD /* ABIv2ParameterTypes.swift */; }; + 875C13093A167B1933DD251F3F1A84D1 /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 97FB0B47D6C3C00BE02AEEF203416406 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 88ED6F7E091B1D56573DCEFA4F60B010 /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 674BEB1072D4B5AA13D4287142BF6E01 /* CFB.swift */; }; + 890D1216015AC23C813DD998F3D0BD6A /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B083A17C989339898CDCEE89B4F75375 /* Data+Extension.swift */; }; + 8B28B522A60F6F1A0BEC7E64514B0976 /* LibSecp256k1Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 523671F746DA657F0997D96C7ED8A97B /* LibSecp256k1Extension.swift */; }; + 8C4634FA8F9D714321F3973BAC3756CD /* Web3+Contract.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFFDB386AE35349F33B00B6D7A8525EB /* Web3+Contract.swift */; }; + 8D1AABABA7AE89E3F15F645AC6A3E532 /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA57CE485B097FA3819A70808EC9563A /* Scrypt.swift */; }; + 8E5BF109ABE01A8C75C78AEB7B902FC3 /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = A79C7498C141E9CE21DC4835847CA83A /* HKDF.swift */; }; + 8E67099B57DC9596F3EA8ECD4E33CBE4 /* Base58.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3EAA6334BA9847C7D5688F154251C3C /* Base58.swift */; }; + 8FB3313F35F24D37534650188E353A5A /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B2CE110BAA238CC4A7CC454E3038ECC /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9032FD5A6851FA0796FE178236BE9949 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = C42BF3CAC53EA5AA37D4CC5C152AA8B6 /* UInt128.swift */; }; + 916D4FB604792532AFA1C162DECB998D /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 720F350F02588AD2D8B0EF0C920A5D0D /* NSNotificationCenter+Promise.swift */; }; + 91C565DE7355FB1961E40D10EE14CDBE /* RIPEMD160+StackOveflow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42662102329EB8EA5D693F47F6B055BD /* RIPEMD160+StackOveflow.swift */; }; + 924E737605ABB2921B3F48BFD380944B /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = DC969B5AEC409B7F51A179949E6D0CF1 /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 948850F4D9DCBDA7885F96517F7C93B2 /* Web3+Eth.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9FAA6A53A97BA2E6A2ED16DE2451DDC /* Web3+Eth.swift */; }; + 970434B3CDFCB829040B04EB0280678E /* EthereumAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EBBC5BCE490CF7D0B638E773A4F1FAC /* EthereumAddress.swift */; }; + 975D0B554704CA112AE1A7071249F89F /* BlockExplorer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AB691BD8986EF2191E06871444E8FC3 /* BlockExplorer.swift */; }; + 97E9D2C351BA784EAB933580AD206C13 /* secp256k1_ios-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D1172DA5E0AB5C4C336BE89B155DB65 /* secp256k1_ios-dummy.m */; }; + 9985C1DF20C3A844133CC24F260232A6 /* SipHashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8577B9E45726016E2FBBDE2C00FBA5E /* SipHashable.swift */; }; + 99F02A84D0D5E2765EE4F4C4AA684A63 /* Web3+TransactionIntermediate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22769D380F2A7AB75E9FF25A16D47CE1 /* Web3+TransactionIntermediate.swift */; }; + 9C41B74A57AA5CFF765F024109AC0578 /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BC9B7EAF3577A34C9142730D08BBAA9 /* PromiseKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9C99049FC31F95572D2E8F8D8A159681 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = B892DF36FBCBE33582AE5F6826F178FE /* Configuration.swift */; }; + 9D39EF4996CB92E27C1BAF0651E2C242 /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 118A0A4492B525385A8483675B6FCB88 /* ChaCha20+Foundation.swift */; }; + 9D526303604B00B72758C41A697E5995 /* EIP67Code.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37B6B8CF586B8A17D237A993EE028AEF /* EIP67Code.swift */; }; + 9E61496223A21B14280586F3E47065BC /* PlainKeystore+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05A469D88635408C6E0A9730C9D67834 /* PlainKeystore+ObjC.swift */; }; + 9FD060EF8DF515DA0B961EEFA266D545 /* BigInt-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F11F7307F07CC65C25A8F4FF12EEB69 /* BigInt-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A10552DA49C1B421E22D5BBD00043EB5 /* Web3+ERC20.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DDB94F4F7A8AA4FE18B9EBB50F0D323 /* Web3+ERC20.swift */; }; + A2282701DE9BC91494A2065F23824272 /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE75FF51A11E82B5FCDD575E3CC34131 /* Random.swift */; }; + A2800740B805FE08662A48D9C0CFF49E /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 106E8716BF64A92008832D383814FFB7 /* Cipher.swift */; }; + A30DC6AF6EF10EB0690299A4867C9B84 /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 706866695402B827BF2F4CEE1BF58F0B /* PMKFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A3990AC532A16D984A30B92171E19633 /* Addition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F837E682B0D2339226DCCDA26481727 /* Addition.swift */; }; + A5CE80C2CF454667ADBEFFF8D35EC95B /* SipHash-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FB7FFB5D4BFB8854135A190E6360F4D /* SipHash-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A5DAA10D56BDF5F37BF37565DECAA21B /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = A8E64E89FB29BF345C63383D75E5A96E /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A60E9D71694BFC11E2A9A86B8C1B0095 /* ABIv2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 021230E4853D81084491C5CB19120253 /* ABIv2.swift */; }; + A80D6A613610153FFF343C7385871FE8 /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = F50562362228B990CE143E7EEC4860EC /* Resolver.swift */; }; + A8FFEB53432DC4F2885A8CD8E1E9870E /* hang.swift in Sources */ = {isa = PBXBuildFile; fileRef = 256138718C583C679BA3011347A299C7 /* hang.swift */; }; + A92458877FCA59086F67BB51DDC41CAB /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FCA58FBDB526789B6493D9E0B521C63 /* AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AA30153EC052C2F6DC67B9E50E451A6C /* SipHash-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 54806E1F9F87ABA4B9F69CF94A4C799A /* SipHash-dummy.m */; }; + AB905E3B9A9CB2C8F126AB2F7A985B63 /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DFD3BF6784E7B36EB8BDA06326E1D84 /* ChaCha20.swift */; }; + AB9668A6835AEC7962A3C7768ADAAA56 /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7443C1CD1A0F4F67CD82A92FE91805B2 /* BlockEncryptor.swift */; }; + AD7D2F8C362981D42EA5497CC71F7737 /* EventFiltering.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAAC01A47C8984D8B7CC71964CAB89C1 /* EventFiltering.swift */; }; + ADB06AA1B5A4414AD55E5A2D2653DDA6 /* Pods-web3swiftExample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EE64A9528FF128B9020101AA65FE4AB /* Pods-web3swiftExample-dummy.m */; }; + ADDCFDBB0901A879A2803A20BDFF5CF3 /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A8BE755B00A247CADB17C0D888A15A2 /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AE94E5909CD8A6A29021E7DB20613096 /* Promise+Web3+Eth+GetBlockNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0623D1F8DEDD8DF2D2DB549B42AB3446 /* Promise+Web3+Eth+GetBlockNumber.swift */; }; + AEDEB90675798B030C87A90F64EBE68A /* Web3+Protocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6C066266425FB691258429D89B58322 /* Web3+Protocols.swift */; }; + AF86C21D7723F3C8030AF9530676083E /* Promise+Web3+Personal+Sign.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE61F6373F3AE498E0E43FCEF682C3E /* Promise+Web3+Personal+Sign.swift */; }; + B1E21083CCF70CA10BCFB0D6BDF4DC7B /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = 3D3092F2465713B5799F11ABAF5C73DD /* lax_der_privatekey_parsing.c */; }; + B248D148FE951A0655197593FABD5BF7 /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ACE68F0C0BB240B67D6607627A0409D /* after.m */; }; + B3FEBCC1E6F68131A464D2D28417BA24 /* Promise+Web3+Personal+UnlockAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9364DC443B63993CAC102783E3E2E71B /* Promise+Web3+Personal+UnlockAccount.swift */; }; + B6626A2B587568E2256A791C094CDF0E /* KeystoreManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23DDF1167D5601DCB70F356894851DD6 /* KeystoreManager.swift */; }; + B6DFE0242C66C8E98A2F6825401A50B1 /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3298DB5F4EFFFE85F3D5C56F858DE99A /* Generics.swift */; }; + B8A496A3D5363FF8EF9121E53AD89050 /* UIView+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 96E3F22CA6F457C6C0E539FEED05B7D8 /* UIView+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B9D179880E2C5A583513BF6086375292 /* BigUInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9FF32F58B836138C1B80B183FBC3CE2 /* BigUInt.swift */; }; + BA152925FD32B3DD8E99B6ED52A41300 /* scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = 388FF24BE1726BEA3B2AEFC39035A410 /* scrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BAB523E44314747F529F07E9D858D0A9 /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E92471A6404F95DFCFD6D27751246E1E /* Cryptor.swift */; }; + BBA227B2DA3FCD94E3C3869334FDDE64 /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 89E684D5E2CA396D9C64859D2012B692 /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BBC3534E14BA11CE9BCF8FA0848D76D4 /* Web3+Instance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 328EA52653464590374008597CDB88F8 /* Web3+Instance.swift */; }; + BD25CB4CFA3B80A28358767263C8EC4F /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 426C5416AF2F5EBDF7353EC4417DD059 /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BDB8D41248A445BAFA1149FB0649B411 /* ContractABIv2.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4CFD5F759228BAD6E44D4AAB52653B5 /* ContractABIv2.swift */; }; + BE321B31D7AFC12E0BF53438F00832FB /* Promise+Web3+Eth+GetAccounts.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED3A35F62CF4696CC475089EADED9E19 /* Promise+Web3+Eth+GetAccounts.swift */; }; + BEDBDFC232562E554358904415EE39B1 /* Promise+Web3+Eth+SendTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE6BA4E4F7BB1208228F3E42F90DCE1B /* Promise+Web3+Eth+SendTransaction.swift */; }; + C00477878E267142569D0C12C78018BC /* ABIv2Elements.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07BC37DA3A885BFE9FA1ACF060A68924 /* ABIv2Elements.swift */; }; + C0CB7BA8B8378B845E1231E46A00302F /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A5B2E7BC5B7C1DC93FEB876C8062552 /* BlockCipher.swift */; }; + C688F5C8C2D7B7BEAE10B658160B336D /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = E705EB0EC3F843226C5530B49D66F44E /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C6AA1178DA0B19F731B8C6D0D355262B /* RLP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6407F8A2387DE46158D2B6643CFB5ACE /* RLP.swift */; }; + C8218EC292D51987B5ABF02470D28BF8 /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = 4CC6D0D6768AF0C916089C5F28C32BB5 /* lax_der_parsing.c */; }; + C8B2BE26A0484B6A1523D9E2B3818EDC /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = F956125ABF2FC6AD75ECDBF46DA4BA22 /* Result.swift */; }; + C8FD04BAEFFFEF92BF2303ACA42207F6 /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8860ADCD1425930DB2A6C8824B7787DE /* CMAC.swift */; }; + C970C24BFEAF379BB919A0CD4B1FE320 /* Promise+Web3+Intermediate+Send.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F7D8BAC459724F31F9EF10CC0D98B4E /* Promise+Web3+Intermediate+Send.swift */; }; + C976B78DB3A9AE8CA86A6C9634D9B476 /* ABIv2Decoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F2F0F8AA0A44DCB15F6C2014B8515F /* ABIv2Decoding.swift */; }; + C9BA69738F1D82501188F3E78B25FDE2 /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = B0C4412C5C5FABF27D7ACA7E2F23CE3D /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CAF7F95BAAA850711BA9ABB88C4DBE58 /* Data Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1CA8B0E93A127B5254EF75AB9709B6E /* Data Conversion.swift */; }; + CB2D6447D8F5DE72BEF8DC58E09758C8 /* Web3+Eth+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA18A76F4C080B687839B8EF95C096E1 /* Web3+Eth+ObjC.swift */; }; + CED84B344142DF490AF0D18D8E9479DF /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 401C193EDE43BF447B84F321B8E1C482 /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CF2D9BDBC33A9414DDEBF3BA43546D67 /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA177BA14669EB8B685B3F62D790F9C3 /* firstly.swift */; }; + CF3EE764A7A7F7F57EB8610C7E684B04 /* Multiplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89C96B4D64AAD6FFE4F71B1EF2782516 /* Multiplication.swift */; }; + CFA93FAF0D4ECF135C0F0E190C6C170E /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6BE5137753028C21E8B2484B016E908 /* BlockMode.swift */; }; + CFCEF00E9F843C0E9885D25D3FE776AD /* BigInt-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DBAF0C2F5BD5A5625B1B234D0E9BF81 /* BigInt-dummy.m */; }; + D1F5CB987F614989A6C17C93F2DD5EE8 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB58A1F8BA189B147A3A2B8EE893A5F2 /* SHA3.swift */; }; + D42866E9D1CC9FAA8B4D290D9021ADED /* Floating Point Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C031C01E004DEF403FA0B8AA6EFF370 /* Floating Point Conversion.swift */; }; + D5E62815F43DB6C9CBF0DEA75BC88E8D /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA8F9990F972DBEA8E1998A5A1F0F1F9 /* Process+Promise.swift */; }; + D65BBA0A22D0D76A1CD79598C618D55E /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 075B36C10CAB6186B33DE99222FED632 /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D9C65DE359CBC075E8237712B08CE6B7 /* scrypt-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1872C3C700D15109420AB2DC4B6455F5 /* scrypt-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DA60C0DBB660F185C28AB5427B4EFA7D /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 61E48BAFB4F86F9AFAEAC7E2CB649B5A /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DCD11459A6DD0C7757AD81AB42D7ADAC /* SipHasher.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9820DAF2C85EF9676F910DE851D4162 /* SipHasher.swift */; }; + DCEFC750784BC92CC015B9B973982194 /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = A05EDF9C50CA5FB4D54C034BBEEF360F /* PBKDF2.swift */; }; + DD69B45CCE6E9919A0D08FE9498D2B2E /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22232C77A8E2D0AFF9A27E485B82506E /* PKCS7.swift */; }; + DDB1738B9B50E6F1120181DE827F7A91 /* UIViewController+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = BAE7C5677B39ED368F1B2A247D241199 /* UIViewController+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DE5662D83AD07D877CB46011E963932B /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20811F2A1E259155573275E6C84F2090 /* OFB.swift */; }; + DF0D4847B87A1A34C252A22B47A68A8D /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB5BC642B12A83508582043830A9216B /* when.swift */; }; + DF7F955F953C523ECE12E71C4990F56A /* Promise+Web3+Eth+EstimateGas.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28D233B339408EE05F382B2D71EBB0C5 /* Promise+Web3+Eth+EstimateGas.swift */; }; + E00C3E6F15B657031D180E254291281E /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C1D71A1E6B38F9B5A6B6225CF2D9FC1 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E0A8CB42FD278D108E4A708AC52D84C3 /* web3swift-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = BB92779C818B8269C48BED9212AAF37F /* web3swift-Bridging-Header.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E17468799BD83B1D0859237015708D37 /* Promise+Web3+Eth+GetBalance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74379D12DD8775BC00C9CDD1434D1EFE /* Promise+Web3+Eth+GetBalance.swift */; }; + E2262EC80364EF8400960EDAF09318D9 /* Web3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A7054BB1922ADB95FE5AC71AA66686C /* Web3.swift */; }; + E37A842880FB67BC31021D43DF112704 /* NSRegularExpressionExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF1AD7A03062250545811E60016148CF /* NSRegularExpressionExtension.swift */; }; + E414C892B9DD5C86CF589F3C119330C3 /* AnyPromise.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3457915D72C8396DE12FE14D7A8852C /* AnyPromise.swift */; }; + E5E3667FFF55ADA12DD9114649E29031 /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A223F737D492A8E44460C4DDC7E5773 /* BlockModeOptions.swift */; }; + E6B051B4B35607992353F833DE6578C1 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 780AE89716057678AA7E7C10379484F5 /* Data+Extension.swift */; }; + E738C32AC026327A0C48144C7979EC30 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9ED56C4C75C737397EB4A6FE4BD26A24 /* CompactMap.swift */; }; + E98669BD82B8EF36AA49932E9A1C5559 /* Bitwise Ops.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6931C147814FD7AC75251959E1F84B13 /* Bitwise Ops.swift */; }; + EB01BFB4856AE2B0729EEF5BB2E4F4BB /* Pods-web3swiftExample-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 421B749E58F87E0C839D613211A2D0D6 /* Pods-web3swiftExample-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EB350E13664115CE53FA7E4C0BC2CDA6 /* BufferStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 178C5FE20A3B38496D7935F91BDED794 /* BufferStorage.swift */; }; + EC5E4784D34A1D2A17EEDD85A46D465A /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC13E3A095630065A63A08AF09FAB39F /* SHA2.swift */; }; + ED758B1BD45542378CBF6391BB8C5488 /* ENS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12BCF9FE41CE43BB9420B6870143B5B6 /* ENS.swift */; }; + ED87753A5604561B7D2436DE33925A7C /* PromiseKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F38AF3A827B05E1C96CC72F240A5AC14 /* PromiseKit-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EEBA55F15AFE35277B68E8ECF0006359 /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74C6B60FD25F8EC022E87CD299A2F7B6 /* Array+Foundation.swift */; }; + EFB65DCDDA87312B24CDDC1F7132FA4B /* UIViewController+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DFB1FBA4C24F7060FC8616294B079E8 /* UIViewController+AnyPromise.m */; }; + EFE805A3CA08B8838793F8E245B5ECE3 /* BlockExplorer+GetTransactionHistory.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3503BC8EDED598CEC412D7358F4643F /* BlockExplorer+GetTransactionHistory.swift */; }; + F29E02078681BBB088849F8B66655247 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDB053580814C7204EAA8C60A26D2F9C /* PBKDF1.swift */; }; + F392AA2B2B63A326860A273536FD150D /* ABIv2Parsing.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FEBAFF6DBC23B47AC2CE0679F9CB261 /* ABIv2Parsing.swift */; }; + F3B5788DE236BC5FDC36A19160E3A121 /* Web3+Instance+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5D175D4442830B35689DDF3D60C5F8 /* Web3+Instance+ObjC.swift */; }; + F41F4AAC34AB627DE3BEE8826AA9D736 /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = 6F1CA839EB126F33A13D3BF58DDC14F0 /* secp256k1.c */; }; + F478A3B08D8979D2B11FC7EC2576FA53 /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = C7A5FC3965022F4087D250C6B9EFC804 /* when.m */; }; + F655EFB3487D02AF6B56FD352C326EF5 /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EFEFBE752ED120C422E3F0BD4914CC0 /* hang.m */; }; + F6BDDA6489801D31B93897C692036EED /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = AE8FBACB218297430528D7CE5DDC95A2 /* NSURLSession+AnyPromise.m */; }; + F78C1DE8D506C812DCD441568DD25248 /* Prime Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62BE568E491C77F75C8D2CF1210EB0EE /* Prime Test.swift */; }; + F95D72C282B42FFE8FE2F10C0AB327F2 /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = D65E0431F0537EA35BD7DAF5F94927D4 /* Poly1305.swift */; }; + FAD004A3C7DC1D0D87FFF0C642A98A86 /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D53A19896270253638D6DADB73A57B2 /* Promise.swift */; }; + FB20391449E34100261FC37107DC6078 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B62D9ABA91167900FE1A8E0B48BF6F1 /* Rabbit.swift */; }; + FBF77F35D1FB8C0B49461F323CC64EF7 /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 397D4BCFA7542A08BF0E44317F724880 /* DigestType.swift */; }; + FC1F07D24FAAD244DFC4B45090EE5950 /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DA74A78957A0CAC7EE67F329C7D19AF0 /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FD0D4090ED18D30D6B23CFD9926574F8 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = E4B92864B1CA33880BA06C60DDA3952B /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FED52EE758698BB66DDCCC50D40D2E97 /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = E5C7B4BF4756A6319C9C3EF43BC2269E /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FF8CB400714408878D8321DC83943490 /* UIViewPropertyAnimator+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B4AC44500F159CD237DA769095DE4A2 /* UIViewPropertyAnimator+Promise.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 0B322195C981620EFEAD5B6745FC7DD5 /* PBXContainerItemProxy */ = { + 0E01B73CC8F027E3BB675B850520B20E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 08A16B7582F00884501F5E7A9B8E6FB4; - remoteInfo = Alamofire; - }; - 2FF070217E421888A5847B05612293E5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 1FA7CDA9950A14DCE2AA7B4CB3743467; - remoteInfo = "Alamofire-Synchronous"; + remoteGlobalIDString = C36167279A3ACEC5E09E05AC17E973AB; + remoteInfo = PromiseKit; }; - 36A8B274F50442AE2C466F7B8C8A2E09 /* PBXContainerItemProxy */ = { + 111385C619C9ADC78F47666FAA2A22A7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = EA114BE2D9D1BCDA6E1013C3301492A8; - remoteInfo = SipHash; + remoteGlobalIDString = D93CC8797FA6642C382C93BBA9AE8B0D; + remoteInfo = web3swift; }; - 5B046644FBD5C42D3B7123D8F8F6A774 /* PBXContainerItemProxy */ = { + 1D7E7E679A2F944C7B68599B9949B3D9 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 8B89F1F15ADC02878F9F0757C66CCC66; + remoteGlobalIDString = 60BF36463B9896F856D87DA4DE89FBB9; remoteInfo = secp256k1_ios; }; - 732EAB40B7BB50D424054FDD39AAD22F /* PBXContainerItemProxy */ = { + 36A8B274F50442AE2C466F7B8C8A2E09 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 08A16B7582F00884501F5E7A9B8E6FB4; - remoteInfo = Alamofire; + remoteGlobalIDString = EA114BE2D9D1BCDA6E1013C3301492A8; + remoteInfo = SipHash; }; - 7543FD1B0090AC9576EFC9A4E7AE4625 /* PBXContainerItemProxy */ = { + 51F19D8B3983CC6266B592A32F736A15 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 25F139B783F51F1B03C1B65120448B73; - remoteInfo = PromiseKit; + remoteGlobalIDString = 60BF36463B9896F856D87DA4DE89FBB9; + remoteInfo = secp256k1_ios; }; - 77D9DDC76D42422C5FABD1839EFC2700 /* PBXContainerItemProxy */ = { + 6BF9B000996DF9D64D4FE4DEECF00413 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D64339DB1937336FB773315239524DB8; - remoteInfo = Result; + remoteGlobalIDString = 23A9C77578E46AEB069BEF36B9B5ADA6; + remoteInfo = BigInt; }; - 7B4DFEC1C44F04A796A3306F11285246 /* PBXContainerItemProxy */ = { + 6EA95E18AF08E391FC2DD079C00AC604 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = DABF3C53CBFFDDA5B09CD8C2730946F9; - remoteInfo = libsodium; + remoteGlobalIDString = C36167279A3ACEC5E09E05AC17E973AB; + remoteInfo = PromiseKit; }; - 7C00C2B084EA9759BF1BB64ABD1085E7 /* PBXContainerItemProxy */ = { + 76DB86015CEE178C79D4F291C64586B2 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; remoteGlobalIDString = 23A9C77578E46AEB069BEF36B9B5ADA6; remoteInfo = BigInt; }; - 9B29EB8719E7E2BA5E81BEF0A08B62CC /* PBXContainerItemProxy */ = { + 7BD0D139C37C19537A6DF939C1048252 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = EA114BE2D9D1BCDA6E1013C3301492A8; - remoteInfo = SipHash; + remoteGlobalIDString = 0E877A906EE881D9A703E2CEB69B27B0; + remoteInfo = scrypt; }; - A0A51DE0921660B613BC57860A56EBF9 /* PBXContainerItemProxy */ = { + ABA2DC1B51EB47A1C58FD8EB202B5FAE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 2C78658F26957429163E36B92D39CCB9; - remoteInfo = CryptoSwift; + remoteGlobalIDString = 0E877A906EE881D9A703E2CEB69B27B0; + remoteInfo = scrypt; }; - A7F583D0D3B9A2F411940D398D08B422 /* PBXContainerItemProxy */ = { + AC93B93DEA6B153F441ACDD47711CB50 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = DABF3C53CBFFDDA5B09CD8C2730946F9; - remoteInfo = libsodium; + remoteGlobalIDString = D2CEBF8355BADD8508F8266F0D4AE1DD; + remoteInfo = CryptoSwift; }; - BBA232549F68F1162114325DF2DD1E63 /* PBXContainerItemProxy */ = { + B2520BE59D3D835F91798AA0CB79DEE8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 8B89F1F15ADC02878F9F0757C66CCC66; - remoteInfo = secp256k1_ios; + remoteGlobalIDString = D2CEBF8355BADD8508F8266F0D4AE1DD; + remoteInfo = CryptoSwift; }; - D24F5F3A1ED853C4DB44A3137CEA65FC /* PBXContainerItemProxy */ = { + BE88B88019CC73C5F4692FCFFE00A16E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; remoteGlobalIDString = EA114BE2D9D1BCDA6E1013C3301492A8; remoteInfo = SipHash; }; - DAE56B50F319ABBDEDDE62932A035271 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 08A16B7582F00884501F5E7A9B8E6FB4; - remoteInfo = Alamofire; - }; - E96404986BA94DABB1760A52DC988C7F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 23A9C77578E46AEB069BEF36B9B5ADA6; - remoteInfo = BigInt; - }; - F53386690C7798AD504C5564439F9910 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 2045E50CFDF71874CA1271906E10BCCB; - remoteInfo = web3swift; - }; - F905F09B5BC336B82D53256C1EC48273 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 25F139B783F51F1B03C1B65120448B73; - remoteInfo = PromiseKit; - }; - F9C019BD38AE206D3DDAB7C8E869F60B /* PBXContainerItemProxy */ = { + D6AE6C9B739C8079861FA4830DE57BFF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 2C78658F26957429163E36B92D39CCB9; + remoteGlobalIDString = D2CEBF8355BADD8508F8266F0D4AE1DD; remoteInfo = CryptoSwift; }; - FC07C931FC69DD6B9E51D60974180950 /* PBXContainerItemProxy */ = { + DAAF4FFB27B380502C83474E2C10B2C0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D64339DB1937336FB773315239524DB8; + remoteGlobalIDString = C7F768100F7D32B078FA6D19893B5741; remoteInfo = Result; }; - FF70C9F17A095CB101C2AAAECD7830F4 /* PBXContainerItemProxy */ = { + FD3871FA93CC618634A2D7AB7E6A288C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 1FA7CDA9950A14DCE2AA7B4CB3743467; - remoteInfo = "Alamofire-Synchronous"; + remoteGlobalIDString = C7F768100F7D32B078FA6D19893B5741; + remoteInfo = Result; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 007BE2291314468C32B33D9BF29D302F /* MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MD5.swift; path = Sources/CryptoSwift/MD5.swift; sourceTree = ""; }; - 00CD27098E34A48CBDEF51B063E26187 /* salsa20_xmm6.c */ = {isa = PBXFileReference; includeInIndex = 1; name = salsa20_xmm6.c; path = src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c; sourceTree = ""; }; - 00E9F1EC35410670244FDC14F230D64B /* Division.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Division.swift; path = sources/Division.swift; sourceTree = ""; }; - 00FC062082B74F6639AB5F0F27F03998 /* ABIEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIEncoder.swift; path = web3swift/ABI/Classes/ABIEncoder.swift; sourceTree = ""; }; - 01140155C8A70D3FE21272371B6EBA58 /* web3swift.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = web3swift.h; path = web3swift/web3swift.h; sourceTree = ""; }; - 02C519FDB5FE4C5643A843724C5FACA2 /* Pods-web3swiftExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swiftExample.debug.xcconfig"; sourceTree = ""; }; - 03B58B5665C6BA5CEEE8354B64C581B2 /* salsa20_xmm6int-avx2.c */ = {isa = PBXFileReference; includeInIndex = 1; name = "salsa20_xmm6int-avx2.c"; path = "src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c"; sourceTree = ""; }; - 03CF20E11218DC08E678CA5921436CF6 /* crypto_stream_chacha20.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_stream_chacha20.h; path = src/libsodium/include/sodium/crypto_stream_chacha20.h; sourceTree = ""; }; - 03D3B37D701B1EF1B6E47C489909A603 /* field_5x52_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_impl.h; path = secp256k1_ios/src/field_5x52_impl.h; sourceTree = ""; }; - 049F38FE255AB1E71D64C95692DC4FB6 /* Alamofire-Synchronous.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Alamofire-Synchronous.xcconfig"; sourceTree = ""; }; - 04DFE8D8EB274B2D6DEB13D0B0E305B4 /* BIP39+WordLists.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BIP39+WordLists.swift"; path = "web3swift/KeystoreManager/Classes/BIP39+WordLists.swift"; sourceTree = ""; }; - 0537F1018402B92299C568F8E1E655FC /* ABIv2Parsing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Parsing.swift; path = web3swift/ABIv2/Classes/ABIv2Parsing.swift; sourceTree = ""; }; - 057A72BE69213210EE88C96F2B756039 /* Base58.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Base58.swift; path = web3swift/Convenience/Classes/Base58.swift; sourceTree = ""; }; - 0592F1A1527EC5FF5AB5104229EE331F /* util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = util.h; path = secp256k1_ios/src/util.h; sourceTree = ""; }; - 0628E848E933075D21190CF0085DDFF3 /* curve25519_sandy2x.c */ = {isa = PBXFileReference; includeInIndex = 1; name = curve25519_sandy2x.c; path = src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c; sourceTree = ""; }; - 06420D1CDFFD31766050CE8D73EC12EF /* BIP32HDNode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32HDNode.swift; path = web3swift/KeystoreManager/Classes/BIP32HDNode.swift; sourceTree = ""; }; - 067C0F4AB70D67F3E120046DDAB8ADB2 /* DigestType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DigestType.swift; path = Sources/CryptoSwift/DigestType.swift; sourceTree = ""; }; - 069EC747206713A8F762601F8AC59069 /* group.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group.h; path = secp256k1_ios/src/group.h; sourceTree = ""; }; - 06CCACFFBD0A6C17769E719FF92A7BE9 /* Promise+Web3+Eth+GetTransactionDetails.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionDetails.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionDetails.swift"; sourceTree = ""; }; - 06CE1376B83758DCF21C9C1F8BC45B40 /* CoreImage.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreImage.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/CoreImage.framework; sourceTree = DEVELOPER_DIR; }; - 06DB8CA2BE5BE0E9FF012C63FDB35198 /* generichash_blake2.c */ = {isa = PBXFileReference; includeInIndex = 1; name = generichash_blake2.c; path = src/libsodium/crypto_generichash/blake2b/generichash_blake2.c; sourceTree = ""; }; - 081CCDFFBA154F382AA426446B1EB6B7 /* secp256k1_ios-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_ios-umbrella.h"; path = "../../Headers/Public/secp256k1_ios/secp256k1_ios-umbrella.h"; sourceTree = ""; }; - 0852541F5AD158C8A946F347B7644CD8 /* Promise+Web3+Eth+Call.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+Call.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+Call.swift"; sourceTree = ""; }; - 08B6FDAC43155423D4AB49F499E83E25 /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; - 092459FC8990008AB406200ED66FE36F /* BatchedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BatchedCollection.swift; path = Sources/CryptoSwift/BatchedCollection.swift; sourceTree = ""; }; - 09E5AA3F684B23FB9ADCBBBBFD2B65A9 /* race.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = race.m; path = Sources/race.m; sourceTree = ""; }; - 0A09550396D2A31A617D7FB564A8EA0F /* NSTask+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSTask+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.h"; sourceTree = ""; }; - 0AD525810EF7CA8839261A828E75A76E /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = Sources/Error.swift; sourceTree = ""; }; - 0B391A016B01171C7D3A1C56A54A056E /* Result.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = Result.modulemap; path = ../../Headers/Public/Result/Result.modulemap; sourceTree = ""; }; - 0BFDFFCF02ED6765F4979969A8FA3607 /* secp256k1_ios.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ios.h; path = secp256k1_ios/secp256k1_ios.h; sourceTree = ""; }; - 0C2A08684A734DDE6015C9B1A5DA5959 /* when.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = when.swift; path = Sources/when.swift; sourceTree = ""; }; - 0CB334E62A5E30D449B9F82A6E1A987D /* libsodium-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "libsodium-dummy.m"; sourceTree = ""; }; - 0CC55D0B436A4988812675CFD851AAE2 /* crypto_pwhash_scryptsalsa208sha256.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_pwhash_scryptsalsa208sha256.h; path = src/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h; sourceTree = ""; }; - 0CEDA1FF9F6A2AAF298E5575492D0ECE /* TransactionSigner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransactionSigner.swift; path = web3swift/Transaction/Classes/TransactionSigner.swift; sourceTree = ""; }; - 0D05683E8472054917460A1C6555E9EF /* crypto_stream_salsa208.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_stream_salsa208.h; path = src/libsodium/include/sodium/crypto_stream_salsa208.h; sourceTree = ""; }; - 0D177460DCBCD96871DEE39E2B87C3AB /* Rabbit+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Rabbit+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift"; sourceTree = ""; }; - 0DAA2536FA36DFC5FEAE6C860B882884 /* UIViewPropertyAnimator+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewPropertyAnimator+Promise.swift"; path = "Extensions/UIKit/Sources/UIViewPropertyAnimator+Promise.swift"; sourceTree = ""; }; - 0DD2E496E346AAF31C833FEA4814638C /* UInt8+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt8+Extension.swift"; path = "Sources/CryptoSwift/UInt8+Extension.swift"; sourceTree = ""; }; - 0E6DA4B12ED2E3F2531357F7F222BA7E /* SHA2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA2.swift; path = Sources/CryptoSwift/SHA2.swift; sourceTree = ""; }; - 0F9A8E04C6A9544BED3583CE38B33B38 /* Promise+Web3+Personal+Sign.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Personal+Sign.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Personal+Sign.swift"; sourceTree = ""; }; - 0FC1FA7BBE0CDD9BD71CAC712FF3DE63 /* crypto_hash_sha256.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_hash_sha256.h; path = src/libsodium/include/sodium/crypto_hash_sha256.h; sourceTree = ""; }; - 0FC49B724EDA937A5E14D997047CD576 /* ContractABIv2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContractABIv2.swift; path = web3swift/Contract/Classes/ContractABIv2.swift; sourceTree = ""; }; - 104B4CDA2149CF5193EFDDC23561CA0D /* Web3+HttpProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+HttpProvider.swift"; path = "web3swift/Web3/Classes/Web3+HttpProvider.swift"; sourceTree = ""; }; - 10634CFB2EF41D32E32FE8A965D5965B /* eckey_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey_impl.h; path = secp256k1_ios/src/eckey_impl.h; sourceTree = ""; }; - 10C8BB3B857B2B57D1880B9A248A5866 /* salsa20_ref.c */ = {isa = PBXFileReference; includeInIndex = 1; name = salsa20_ref.c; path = src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c; sourceTree = ""; }; - 1102B44E5DF34295E9B2914D498E0186 /* open.c */ = {isa = PBXFileReference; includeInIndex = 1; name = open.c; path = src/libsodium/crypto_sign/ed25519/ref10/open.c; sourceTree = ""; }; - 111FD574D05B3B945EB9266FFE008F58 /* crypto_box_curve25519xsalsa20poly1305.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_box_curve25519xsalsa20poly1305.h; path = src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h; sourceTree = ""; }; - 112833995253820931E88006E146595D /* pwhash_scryptsalsa208sha256.c */ = {isa = PBXFileReference; includeInIndex = 1; name = pwhash_scryptsalsa208sha256.c; path = src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c; sourceTree = ""; }; - 113A3F3A25869229AEE1FED206650CE2 /* Dictionary+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Dictionary+Extension.swift"; path = "web3swift/Convenience/Classes/Dictionary+Extension.swift"; sourceTree = ""; }; - 11E6062A0F75EFDA9AD0D4D55FFA25AA /* salsa20_xmm6int-sse2.c */ = {isa = PBXFileReference; includeInIndex = 1; name = "salsa20_xmm6int-sse2.c"; path = "src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c"; sourceTree = ""; }; - 11E9FCEC90D6F2E6D9C11BA56018691E /* TaskDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TaskDelegate.swift; path = Source/TaskDelegate.swift; sourceTree = ""; }; - 12F3B8B48E26DD703E39FA81D59FAAA4 /* crypto_shorthash_siphash24.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_shorthash_siphash24.h; path = src/libsodium/include/sodium/crypto_shorthash_siphash24.h; sourceTree = ""; }; - 138892441A5B43660E6766A7D981C559 /* Pods-web3swiftExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swiftExample.release.xcconfig"; sourceTree = ""; }; - 144AA3749E5979213172AA1C97FC2FC9 /* SessionManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionManager.swift; path = Source/SessionManager.swift; sourceTree = ""; }; - 14510963E18B93FAC92CE7F5A9A61B83 /* Bit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bit.swift; path = Sources/CryptoSwift/Bit.swift; sourceTree = ""; }; - 149D4A3458D5FD8D2FA716F2A58EFDD7 /* crypto_kx.c */ = {isa = PBXFileReference; includeInIndex = 1; name = crypto_kx.c; path = src/libsodium/crypto_kx/crypto_kx.c; sourceTree = ""; }; - 14AEAECF4AA31CDF548550F850E0806C /* Comparable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Comparable.swift; path = sources/Comparable.swift; sourceTree = ""; }; - 14C6B63470D05BAF0F3D40DE0838D85B /* libweb3swift.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libweb3swift.a; path = libweb3swift.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 153E6D55B6201287A4FF6934FF848E3C /* NSObject+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Promise.swift"; path = "Extensions/Foundation/Sources/NSObject+Promise.swift"; sourceTree = ""; }; - 1575AB578CC9B436956300AA041185CC /* PromiseKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = PromiseKit.modulemap; path = ../../Headers/Public/PromiseKit/PromiseKit.modulemap; sourceTree = ""; }; - 1583E09535537744BAEC927FF29B543A /* BigInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigInt.swift; path = sources/BigInt.swift; sourceTree = ""; }; - 15D2C361BAB0175B26C362DF4E160523 /* randombytes_salsa20_random.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = randombytes_salsa20_random.h; path = src/libsodium/include/sodium/randombytes_salsa20_random.h; sourceTree = ""; }; - 15FB93782A1A4372ADADCD037D645366 /* web3swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "web3swift-dummy.m"; sourceTree = ""; }; - 161A93478EDDF17856ADDE860F36DE30 /* Promise+Web3+Eth+GetBlockByNumber.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockByNumber.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByNumber.swift"; sourceTree = ""; }; - 173C25D4728D8114D93FC34C0CC2E89C /* fwd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fwd.h; path = Sources/fwd.h; sourceTree = ""; }; - 17791859FEDC20D03BB815B892A974DD /* fe51.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fe51.h; path = src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h; sourceTree = ""; }; - 179A82DD18FF1A75B1F94C65C7D11CA2 /* num_gmp.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp.h; path = secp256k1_ios/src/num_gmp.h; sourceTree = ""; }; - 17E30DC65A8D286161F99AC88CFB64EA /* PromiseKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PromiseKit-dummy.m"; sourceTree = ""; }; - 182B1D849B3F96A25C06517B2877F801 /* int128.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = int128.h; path = src/libsodium/crypto_stream/aes128ctr/nacl/int128.h; sourceTree = ""; }; - 18451260952E5FB6B08F485254ABDB3B /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = Sources/CryptoSwift/CompactMap.swift; sourceTree = ""; }; - 184BFCB4238349FFA3CFB21421DF5CE8 /* ServerTrustPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustPolicy.swift; path = Source/ServerTrustPolicy.swift; sourceTree = ""; }; - 1937DF65A4745FC2FC4B67867A908790 /* Authenticator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Authenticator.swift; path = Sources/CryptoSwift/Authenticator.swift; sourceTree = ""; }; - 1A8906EBEBBC9C9DD2C9536E7B78B6AF /* ABIRecordParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIRecordParser.swift; path = web3swift/ABI/Classes/ABIRecordParser.swift; sourceTree = ""; }; - 1AF38F9FC24E3DBA6B94E9E97940BCC9 /* Web3+EventParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+EventParser.swift"; path = "web3swift/Web3/Classes/Web3+EventParser.swift"; sourceTree = ""; }; - 1B04E81358119077F39F7639B28262D7 /* web3swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = web3swift.modulemap; path = ../../Headers/Public/web3swift/web3swift.modulemap; sourceTree = ""; }; - 1C3892C7C23D693682043900AA8A15B5 /* crypto_generichash_blake2b.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_generichash_blake2b.h; path = src/libsodium/include/sodium/crypto_generichash_blake2b.h; sourceTree = ""; }; - 1C63C8F2725DC883548B3ED82BA9371C /* secp256k1_ecdh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ecdh.h; path = secp256k1_ios/include/secp256k1_ecdh.h; sourceTree = ""; }; - 1C698977F17B049EE634330A198F6760 /* Web3+JSONRPC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+JSONRPC.swift"; path = "web3swift/Web3/Classes/Web3+JSONRPC.swift"; sourceTree = ""; }; - 1D5873D7455C1147A2AF0E4C0A95AF0D /* crypto_verify_32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_verify_32.h; path = src/libsodium/include/sodium/crypto_verify_32.h; sourceTree = ""; }; - 1D5F3D0142DFBA7FA4B5C92ABBCDF810 /* auth_hmacsha512256.c */ = {isa = PBXFileReference; includeInIndex = 1; name = auth_hmacsha512256.c; path = src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c; sourceTree = ""; }; - 1E391452C95A8BEBE4E7D96E1C3A2382 /* crypto_core_hsalsa20.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_core_hsalsa20.h; path = src/libsodium/include/sodium/crypto_core_hsalsa20.h; sourceTree = ""; }; - 1E68BACE27C024996712FF6607571631 /* SipHasher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHasher.swift; path = SipHash/SipHasher.swift; sourceTree = ""; }; - 1EE834BAE1EE0C4DB7C09D3354B82318 /* Bitwise Ops.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bitwise Ops.swift"; path = "sources/Bitwise Ops.swift"; sourceTree = ""; }; - 1F08B1FBE82CA435E91FA16D4C871158 /* Contract.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Contract.swift; path = web3swift/Contract/Classes/Contract.swift; sourceTree = ""; }; - 1F2B4FE1DA41A924B148ADEBF7E32014 /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; - 1F39147BDA442E2678EE6141D03CAA3D /* hash_sha512_cp.c */ = {isa = PBXFileReference; includeInIndex = 1; name = hash_sha512_cp.c; path = src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c; sourceTree = ""; }; - 202C7AFA02F85BAA0669CE878E5CFF69 /* runtime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = runtime.h; path = src/libsodium/include/sodium/runtime.h; sourceTree = ""; }; - 2081BFB33518FBBBC559A392E4D5C870 /* u1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = u1.h; path = src/libsodium/crypto_stream/salsa20/xmm6int/u1.h; sourceTree = ""; }; - 20C23A7A5F88D8628F8D86F84471C1B5 /* blake2b-compress-avx2.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "blake2b-compress-avx2.h"; path = "src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.h"; sourceTree = ""; }; - 214B9931BF419E0A3C232DA974D7ABA0 /* ladder_namespace.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ladder_namespace.h; path = src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h; sourceTree = ""; }; - 22568717B422F1C8AFB8025F5923DF96 /* Utils+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Utils+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Utils+Foundation.swift"; sourceTree = ""; }; - 225FC65D22F6255453FCAD091313634A /* randombytes_nativeclient.c */ = {isa = PBXFileReference; includeInIndex = 1; name = randombytes_nativeclient.c; path = src/libsodium/randombytes/nativeclient/randombytes_nativeclient.c; sourceTree = ""; }; - 2282F63E90C1EF1486D26AF0B7C584D5 /* stream_salsa208_ref.c */ = {isa = PBXFileReference; includeInIndex = 1; name = stream_salsa208_ref.c; path = src/libsodium/crypto_stream/salsa208/ref/stream_salsa208_ref.c; sourceTree = ""; }; - 22B234325E96F9C6E2111A3C0DDD9643 /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; - 22F289999D15722B927D2D12D8EBE266 /* blake2b-compress-ref.c */ = {isa = PBXFileReference; includeInIndex = 1; name = "blake2b-compress-ref.c"; path = "src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c"; sourceTree = ""; }; - 233D8937791220648FB254714A9186EA /* scalar_4x64_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64_impl.h; path = secp256k1_ios/src/scalar_4x64_impl.h; sourceTree = ""; }; - 23AA62E844B45E03D263242E449CC4D0 /* aead_chacha20poly1305.c */ = {isa = PBXFileReference; includeInIndex = 1; name = aead_chacha20poly1305.c; path = src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c; sourceTree = ""; }; - 2418B674EE6A43AFFC8CE327173735DF /* argon2-encoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "argon2-encoding.h"; path = "src/libsodium/crypto_pwhash/argon2/argon2-encoding.h"; sourceTree = ""; }; - 24C9737715FBB4B2132DC5A7A31D22F1 /* Web3+Methods.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Methods.swift"; path = "web3swift/Web3/Classes/Web3+Methods.swift"; sourceTree = ""; }; - 251041AE1E8BEF7AE152E0A6398D890D /* crypto_verify_16.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_verify_16.h; path = src/libsodium/include/sodium/crypto_verify_16.h; sourceTree = ""; }; - 251351526C750B0F3B0C89733271F694 /* NoPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoPadding.swift; path = Sources/CryptoSwift/NoPadding.swift; sourceTree = ""; }; - 25959917BE55694A4EE732D17577A4F6 /* argon2-fill-block-ref.c */ = {isa = PBXFileReference; includeInIndex = 1; name = "argon2-fill-block-ref.c"; path = "src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c"; sourceTree = ""; }; - 25A458A3378F5F36E1E894FF2885DABE /* Result-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-prefix.pch"; sourceTree = ""; }; - 265521B0B24D2CC32E72699A0DF1C3DA /* SecureBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SecureBytes.swift; path = Sources/CryptoSwift/SecureBytes.swift; sourceTree = ""; }; - 26986386406787D15D8C39F0B109D08A /* Pods-web3swiftExample-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swiftExample-umbrella.h"; sourceTree = ""; }; - 26D66C2523AFC423435E55733B5AE352 /* ecmult_gen_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen_impl.h; path = secp256k1_ios/src/ecmult_gen_impl.h; sourceTree = ""; }; - 2701723C978E0FA3820D25450E819016 /* blake2b-compress-avx2.c */ = {isa = PBXFileReference; includeInIndex = 1; name = "blake2b-compress-avx2.c"; path = "src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.c"; sourceTree = ""; }; - 2778877F30B0C2E16B98236D5BC7C55C /* ContractProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContractProtocol.swift; path = web3swift/Contract/Classes/ContractProtocol.swift; sourceTree = ""; }; - 27A0278487B3A35F4DE88A3A6A0C80F0 /* web3swift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = web3swift.xcconfig; sourceTree = ""; }; - 27AFA07E52C7D9FAE4A34D852E34629B /* Digest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Digest.swift; path = Sources/CryptoSwift/Digest.swift; sourceTree = ""; }; - 27E2087DA64665587663F5B2A1FFE89A /* PromiseKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PromiseKit.h; path = Sources/PromiseKit.h; sourceTree = ""; }; - 283875BA811FC66D94BC01AD71FAEF03 /* u0.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = u0.h; path = src/libsodium/crypto_stream/salsa20/xmm6int/u0.h; sourceTree = ""; }; - 288F75B78D395EBE3623D8A723AF4BD7 /* hash_sha256.c */ = {isa = PBXFileReference; includeInIndex = 1; name = hash_sha256.c; path = src/libsodium/crypto_hash/sha256/hash_sha256.c; sourceTree = ""; }; - 28E70ABB8F03583D0CB1A83CDD9753BF /* PromiseKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PromiseKit-umbrella.h"; path = "../../Headers/Public/PromiseKit/PromiseKit-umbrella.h"; sourceTree = ""; }; - 291A46DF7AB17AEF00322279FD59C8A8 /* ecmult_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_impl.h; path = secp256k1_ios/src/ecmult_impl.h; sourceTree = ""; }; - 295F0AAFE7299BD794BA48091D37CD9A /* after.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = after.swift; path = Sources/after.swift; sourceTree = ""; }; - 29F4E36FCABDD004AF5C45AF0BF863AC /* PMKUIKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKUIKit.h; path = Extensions/UIKit/Sources/PMKUIKit.h; sourceTree = ""; }; - 2A2182D78EE3A6B81858DCF055AFAADB /* Deprecations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecations.swift; path = Sources/Deprecations.swift; sourceTree = ""; }; - 2A938829C220D6635044BFE88E640E8E /* AES+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AES+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/AES+Foundation.swift"; sourceTree = ""; }; - 2AD318FDBEEF4A644A941D2C1AF7B388 /* poly1305_sse2.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = poly1305_sse2.h; path = src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h; sourceTree = ""; }; - 2B0911AB445F6DF2C7F5B8E9F19DC70E /* CryptoExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CryptoExtensions.swift; path = web3swift/Convenience/Classes/CryptoExtensions.swift; sourceTree = ""; }; - 2B2760497CF830BE49B02EA0E4E5A937 /* chacha20_ref.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = chacha20_ref.h; path = src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.h; sourceTree = ""; }; - 2B3E8C78528FA0A5AD7E0BAB8571CAAD /* Promise+Web3+Eth+GetBalance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBalance.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBalance.swift"; sourceTree = ""; }; - 2BA88B16B07FF2EC540C4E0A47BDC801 /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/CryptoSwift/AES.swift; sourceTree = ""; }; - 2CC40200CE5049FC48CB15142160DFAB /* crypto_secretbox_easy.c */ = {isa = PBXFileReference; includeInIndex = 1; name = crypto_secretbox_easy.c; path = src/libsodium/crypto_secretbox/crypto_secretbox_easy.c; sourceTree = ""; }; - 2CDF238805E6A392A6AAC129D8F435F9 /* UIView+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Promise.swift"; path = "Extensions/UIKit/Sources/UIView+Promise.swift"; sourceTree = ""; }; - 2CE385C25FF7C38689B0A8C6C906643F /* libCryptoSwift.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libCryptoSwift.a; path = libCryptoSwift.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 2E210FDAA32D501BD9F14713293763AE /* consts.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = consts.h; path = src/libsodium/crypto_stream/aes128ctr/nacl/consts.h; sourceTree = ""; }; - 2E7E754C62F5E2F5EBB40C2CA7519FE1 /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "Sources/CryptoSwift/Foundation/Data+Extension.swift"; sourceTree = ""; }; - 2EA31E0820160665E9F9E522FE49F0F1 /* ZeroPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZeroPadding.swift; path = Sources/CryptoSwift/ZeroPadding.swift; sourceTree = ""; }; - 2EB8F52B91C01BAACC0F1840E9C46106 /* Resolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Resolver.swift; path = Sources/Resolver.swift; sourceTree = ""; }; - 2F680F8F40CDCBD1870C4AA2C57BBF48 /* NSURLSession+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURLSession+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.m"; sourceTree = ""; }; - 2F86E5F3D50F97BE0087F1259089FFE5 /* Web3+PersonalOperations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+PersonalOperations.swift"; path = "web3swift/Concurrency/Classes/Web3+PersonalOperations.swift"; sourceTree = ""; }; - 2FE16520CBECBCFD0C15F2D9346D65FC /* libAlamofire-Synchronous.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libAlamofire-Synchronous.a"; path = "libAlamofire-Synchronous.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 301773F3198C0AD45A6451FCB62D7E08 /* NSNotificationCenter+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.h"; sourceTree = ""; }; - 3027372B7C601110F35722FF4A2E1535 /* Web3+Instance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Instance.swift"; path = "web3swift/Web3/Classes/Web3+Instance.swift"; sourceTree = ""; }; - 30779F39BBE19D3BBB5176D2D8B23067 /* sodium.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = sodium.h; path = src/libsodium/include/sodium.h; sourceTree = ""; }; - 3164EA24B9707AD757FEA61F9EE59FFB /* randombytes_nativeclient.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = randombytes_nativeclient.h; path = src/libsodium/include/sodium/randombytes_nativeclient.h; sourceTree = ""; }; - 31F98D4AD3C62606E30A4099DA5FCAC1 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - 3267A78EEE161679112F5A065DBCA570 /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; - 3287A55CA33F5B85643786CC4443D8C9 /* blake2b-compress-sse41.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "blake2b-compress-sse41.h"; path = "src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.h"; sourceTree = ""; }; - 32B18C4A6124EF2679D405912CC95C5A /* num_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_impl.h; path = secp256k1_ios/src/num_impl.h; sourceTree = ""; }; - 32EA56DED926DCB3A3B95CA7833031DD /* ComparisonExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ComparisonExtensions.swift; path = web3swift/Contract/Classes/ComparisonExtensions.swift; sourceTree = ""; }; - 32F0BBCC3493969F8E1A36EE89459EAA /* EthereumTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumTransaction.swift; path = web3swift/Transaction/Classes/EthereumTransaction.swift; sourceTree = ""; }; - 32FD1C8F440974B2C4A4331442032EFA /* crypto_stream_salsa2012.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_stream_salsa2012.h; path = src/libsodium/include/sodium/crypto_stream_salsa2012.h; sourceTree = ""; }; - 3375166A5010DDA2980DF822E10EE5E0 /* RandomUInt64.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomUInt64.swift; path = SipHash/RandomUInt64.swift; sourceTree = ""; }; - 33F648149A474AE4C034B378C2048760 /* x25519_ref10.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = x25519_ref10.h; path = src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h; sourceTree = ""; }; - 33F85ED39C569C82D1B425864C9F5577 /* scalar_low_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low_impl.h; path = secp256k1_ios/src/scalar_low_impl.h; sourceTree = ""; }; - 344C218007E1D2E70E42864540F1CC5D /* crypto_pwhash_argon2i.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_pwhash_argon2i.h; path = src/libsodium/include/sodium/crypto_pwhash_argon2i.h; sourceTree = ""; }; - 34774FAD1841B9825C1EE94641F8031A /* hash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash.h; path = secp256k1_ios/src/hash.h; sourceTree = ""; }; - 3482AEB425D444EBE2FC16DCD8B9C57F /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "web3swift/Convenience/Classes/String+Extension.swift"; sourceTree = ""; }; - 35181896BDFDCB8E6DD083AD302E4E99 /* scalar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar.h; path = secp256k1_ios/src/scalar.h; sourceTree = ""; }; - 355BFFB529CEF07BCCCA9F5A248BDAA1 /* Web3+Protocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Protocols.swift"; path = "web3swift/Web3/Classes/Web3+Protocols.swift"; sourceTree = ""; }; - 36383DE4A031391E1D49334AD15B24EF /* crypto_shorthash.c */ = {isa = PBXFileReference; includeInIndex = 1; name = crypto_shorthash.c; path = src/libsodium/crypto_shorthash/crypto_shorthash.c; sourceTree = ""; }; - 37258973681E01486358470D2C49C7B5 /* scalar_8x32_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32_impl.h; path = secp256k1_ios/src/scalar_8x32_impl.h; sourceTree = ""; }; - 37D7A3EF4943269E4CD5CDA06AB53308 /* int128_aes128ctr.c */ = {isa = PBXFileReference; includeInIndex = 1; name = int128_aes128ctr.c; path = src/libsodium/crypto_stream/aes128ctr/nacl/int128_aes128ctr.c; sourceTree = ""; }; - 37E9F03E4C6C031AB7C392BFA44DCA8E /* core_hsalsa20_ref2.c */ = {isa = PBXFileReference; includeInIndex = 1; name = core_hsalsa20_ref2.c; path = src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c; sourceTree = ""; }; - 380AB072E69F4341C004B242F3621541 /* randombytes.c */ = {isa = PBXFileReference; includeInIndex = 1; name = randombytes.c; path = src/libsodium/randombytes/randombytes.c; sourceTree = ""; }; - 3924723D0F305425CD0B122110F39586 /* crypto_generichash.c */ = {isa = PBXFileReference; includeInIndex = 1; name = crypto_generichash.c; path = src/libsodium/crypto_generichash/crypto_generichash.c; sourceTree = ""; }; - 3A9283CD9FBB08F14818204F7903C811 /* u8.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = u8.h; path = src/libsodium/crypto_stream/salsa20/xmm6int/u8.h; sourceTree = ""; }; - 3AC93162C8F641A3CD76A2B9B737023B /* scalar_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_impl.h; path = secp256k1_ios/src/scalar_impl.h; sourceTree = ""; }; - 3B70653A0BEFA42C3A935FCBD6DCDC5B /* crypto_scalarmult.c */ = {isa = PBXFileReference; includeInIndex = 1; name = crypto_scalarmult.c; path = src/libsodium/crypto_scalarmult/crypto_scalarmult.c; sourceTree = ""; }; - 3D06487164FB338969A107B108A3D077 /* curve25519_donna_c64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = curve25519_donna_c64.h; path = src/libsodium/crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.h; sourceTree = ""; }; - 3D6EEDD1205B5DDDA4AD3797EB69DDF9 /* crypto_stream_xsalsa20.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_stream_xsalsa20.h; path = src/libsodium/include/sodium/crypto_stream_xsalsa20.h; sourceTree = ""; }; - 3D91EE897EA98D97B97323E362ED8F83 /* Promise+Web3+Eth+GetBlockNumber.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockNumber.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockNumber.swift"; sourceTree = ""; }; - 3E92237E329C8C909FB24818DFB0D999 /* blake2b-long.c */ = {isa = PBXFileReference; includeInIndex = 1; name = "blake2b-long.c"; path = "src/libsodium/crypto_pwhash/argon2/blake2b-long.c"; sourceTree = ""; }; - 3F36AC13A39E901C903473E9506F5382 /* poly1305_donna.c */ = {isa = PBXFileReference; includeInIndex = 1; name = poly1305_donna.c; path = src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c; sourceTree = ""; }; - 3F4D641943D661E5472E07948299399F /* ABIv2ParameterTypes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2ParameterTypes.swift; path = web3swift/ABIv2/Classes/ABIv2ParameterTypes.swift; sourceTree = ""; }; - 4047728AB620F4A77785D6252ACF33A3 /* box_curve25519xchacha20poly1305.c */ = {isa = PBXFileReference; includeInIndex = 1; name = box_curve25519xchacha20poly1305.c; path = src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c; sourceTree = ""; }; - 40A2C089A4ECAAD4098369612427FF1D /* crypto_aead_aes256gcm.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_aead_aes256gcm.h; path = src/libsodium/include/sodium/crypto_aead_aes256gcm.h; sourceTree = ""; }; - 40EE6CB1AFB63B6BB039800B6D97CB21 /* AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AnyPromise.m; path = Sources/AnyPromise.m; sourceTree = ""; }; - 4155BBB05A80D040A192A96814E054F7 /* BlockModeWorker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockModeWorker.swift; path = Sources/CryptoSwift/BlockMode/BlockModeWorker.swift; sourceTree = ""; }; - 425F24DE62C86A8B5FCBACE59B056A9D /* NSURLSession+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLSession+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.h"; sourceTree = ""; }; - 42A80CC9216DD6729D1D31A430FE91DB /* pwhash_argon2i.c */ = {isa = PBXFileReference; includeInIndex = 1; name = pwhash_argon2i.c; path = src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c; sourceTree = ""; }; - 42CB8A504C5023C15163667187CDE998 /* Promise+Web3+Eth+SendTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+SendTransaction.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+SendTransaction.swift"; sourceTree = ""; }; - 42E33C6CD0A342D7FBFB8B68C833DC7F /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; - 4324389269FB1192E7BBFADA4732AC82 /* Blowfish.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blowfish.swift; path = Sources/CryptoSwift/Blowfish.swift; sourceTree = ""; }; - 434C7E6611513B6B1F0F4555E8A34B25 /* generichash_blake2b.c */ = {isa = PBXFileReference; includeInIndex = 1; name = generichash_blake2b.c; path = src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c; sourceTree = ""; }; - 4367B39879D746469C667ABAFF8D85EB /* hash_sha512.c */ = {isa = PBXFileReference; includeInIndex = 1; name = hash_sha512.c; path = src/libsodium/crypto_hash/sha512/hash_sha512.c; sourceTree = ""; }; - 43834FE0CE5C4BE7684D8046358EC171 /* CryptoSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CryptoSwift-umbrella.h"; path = "../../Headers/Public/CryptoSwift/CryptoSwift-umbrella.h"; sourceTree = ""; }; - 446FF1DA2F82745DBD73A9D91E58EDDD /* Exponentiation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Exponentiation.swift; path = sources/Exponentiation.swift; sourceTree = ""; }; - 44D932C7479E23BB85323186839358E4 /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; - 450E065B92FF4403B9B67D7F0C538B26 /* Promise+Web3+Eth+GetTransactionReceipt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionReceipt.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionReceipt.swift"; sourceTree = ""; }; - 4511BBD97AFB3FC15729FF430E5B9A8C /* Web3+EthOperations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+EthOperations.swift"; path = "web3swift/Concurrency/Classes/Web3+EthOperations.swift"; sourceTree = ""; }; - 464A473333E8873F90ED642F58D25D21 /* Strideable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Strideable.swift; path = sources/Strideable.swift; sourceTree = ""; }; - 4651F4EC4A9CD874671CB45216DC33FC /* blamka-round-ssse3.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "blamka-round-ssse3.h"; path = "src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h"; sourceTree = ""; }; - 466CBAB3064BC556B0C88E303F7C69AF /* fe.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fe.h; path = src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h; sourceTree = ""; }; - 474782B8CF465038D6A7E8B5BD94D678 /* kdf_blake2b.c */ = {isa = PBXFileReference; includeInIndex = 1; name = kdf_blake2b.c; path = src/libsodium/crypto_kdf/blake2b/kdf_blake2b.c; sourceTree = ""; }; - 47E864CEA3D1D50987ABF348045229D4 /* crypto_hash.c */ = {isa = PBXFileReference; includeInIndex = 1; name = crypto_hash.c; path = src/libsodium/crypto_hash/crypto_hash.c; sourceTree = ""; }; - 48605CF790CF6E353A5D718E9A5AA1DE /* Web3+EventOperations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+EventOperations.swift"; path = "web3swift/Concurrency/Classes/Web3+EventOperations.swift"; sourceTree = ""; }; - 4884902798C6B84DACA5714E91756627 /* PromiseKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromiseKit.xcconfig; sourceTree = ""; }; - 489FB877091B4E45E96975A9BAD8A477 /* BigInt-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "BigInt-umbrella.h"; path = "../../Headers/Public/BigInt/BigInt-umbrella.h"; sourceTree = ""; }; - 48A78A472373B624F8105BCA8DCC2E4E /* num_gmp_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp_impl.h; path = secp256k1_ios/src/num_gmp_impl.h; sourceTree = ""; }; - 48E9C94AB86852D36A9710AD90102B3E /* ecdsa_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa_impl.h; path = secp256k1_ios/src/ecdsa_impl.h; sourceTree = ""; }; - 493DC51642CCA0CD18282D5A94C7D4B1 /* Web3+Wallet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Wallet.swift"; path = "web3swift/HookedFunctions/Classes/Web3+Wallet.swift"; sourceTree = ""; }; - 49BDA27A34F7CFDF7371FF68AEACCA0F /* crypto_pwhash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_pwhash.h; path = src/libsodium/include/sodium/crypto_pwhash.h; sourceTree = ""; }; - 4AA6793B004FD82F4B0801BEE293E624 /* RIPEMD160+StackOveflow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RIPEMD160+StackOveflow.swift"; path = "web3swift/Convenience/Classes/RIPEMD160+StackOveflow.swift"; sourceTree = ""; }; - 4B2506699E190CAC3AC2643B040BCBF3 /* UIViewController+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.m"; sourceTree = ""; }; - 4B43E3FD5120B0CEF5EBB2AA96FA33D9 /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = Sources/CryptoSwift/Utils.swift; sourceTree = ""; }; - 4B65EC7408FC12CC71B07CE7690DC1C3 /* Web3+Concurrency.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Concurrency.swift"; path = "web3swift/Concurrency/Classes/Web3+Concurrency.swift"; sourceTree = ""; }; - 4BA91729F383BD986E3927D27D99223A /* SynchronizedQueue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SynchronizedQueue.swift; path = web3swift/Convenience/Classes/SynchronizedQueue.swift; sourceTree = ""; }; - 4C9A088DC86DC16B8200A35FC04B3395 /* HMAC+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "HMAC+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/HMAC+Foundation.swift"; sourceTree = ""; }; - 4DC25DE0AB4CC92F0F7B43626B6D055F /* UInt128.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UInt128.swift; path = Sources/CryptoSwift/UInt128.swift; sourceTree = ""; }; - 4DF6D23BB31CEE6629EFC1225789E0DA /* stream_xchacha20.c */ = {isa = PBXFileReference; includeInIndex = 1; name = stream_xchacha20.c; path = src/libsodium/crypto_stream/xchacha20/stream_xchacha20.c; sourceTree = ""; }; - 4E6BB18A37E961CECEA9985CF4178E64 /* hang.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = hang.swift; path = Sources/hang.swift; sourceTree = ""; }; - 4EB477B5FDA769C9C3641E79CB3AECAA /* UIView+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.m"; sourceTree = ""; }; - 4FC19D230A062F389FB304516838AB79 /* Web3+Infura.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Infura.swift"; path = "web3swift/Web3/Classes/Web3+Infura.swift"; sourceTree = ""; }; - 5036061DDABCBEE80BE9FE96F4C04BCC /* shorthash_siphashx24.c */ = {isa = PBXFileReference; includeInIndex = 1; name = shorthash_siphashx24.c; path = src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.c; sourceTree = ""; }; - 50DCA529D72C6E00912F8117756C360F /* export.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = export.h; path = src/libsodium/include/sodium/export.h; sourceTree = ""; }; - 50EA02714EC707E77A1214BBC12D9969 /* Pods-web3swiftExample-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-web3swiftExample-resources.sh"; sourceTree = ""; }; - 51408050679AEB6098714E1F46B2CAA3 /* stream_salsa2012_ref.c */ = {isa = PBXFileReference; includeInIndex = 1; name = stream_salsa2012_ref.c; path = src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012_ref.c; sourceTree = ""; }; - 515E99165DED76EB85C7CB49C0E204D3 /* lax_der_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_parsing.h; path = secp256k1_ios/contrib/lax_der_parsing.h; sourceTree = ""; }; - 523B127441EBCAF6204B6CF6160E55E6 /* liblibsodium.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = liblibsodium.a; path = liblibsodium.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 527C49C6A3AB5749B6C817A160DAE990 /* SipHash-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SipHash-umbrella.h"; path = "../../Headers/Public/SipHash/SipHash-umbrella.h"; sourceTree = ""; }; - 535EFCDFD9387450D2AD6A3B52A26FBA /* String+FoundationExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+FoundationExtension.swift"; path = "Sources/CryptoSwift/Foundation/String+FoundationExtension.swift"; sourceTree = ""; }; - 539391C0C44077172A49E492439EE392 /* salsa20_ref.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = salsa20_ref.h; path = src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.h; sourceTree = ""; }; - 5461035A9A4180D7968D200CC1B904D0 /* blamka-round-ref.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "blamka-round-ref.h"; path = "src/libsodium/crypto_pwhash/argon2/blamka-round-ref.h"; sourceTree = ""; }; - 55294F87D3F6A28897BE9802FA6C9B00 /* after.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = after.m; path = Sources/after.m; sourceTree = ""; }; - 553072B8B0771964328D82853DED2138 /* BIP39.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP39.swift; path = web3swift/KeystoreManager/Classes/BIP39.swift; sourceTree = ""; }; - 555A5F28BE6D8E954502C3BEC164AD2B /* Web3+NativePrimitivesConversionOperations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+NativePrimitivesConversionOperations.swift"; path = "web3swift/Concurrency/Classes/Web3+NativePrimitivesConversionOperations.swift"; sourceTree = ""; }; - 55623E13061A39FBDC4AE7983C8FF80D /* secp256k1_ios-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "secp256k1_ios-dummy.m"; sourceTree = ""; }; - 558D9354024538BEFA19CC1624D2516A /* poly1305_sse2.c */ = {isa = PBXFileReference; includeInIndex = 1; name = poly1305_sse2.c; path = src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c; sourceTree = ""; }; - 55918ACECAD90505257105D1CE13F6FC /* randombytes_sysrandom.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = randombytes_sysrandom.h; path = src/libsodium/include/sodium/randombytes_sysrandom.h; sourceTree = ""; }; - 560C59E3DA98F1DC7FF6CEE7360D0EC3 /* ecmult_const.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const.h; path = secp256k1_ios/src/ecmult_const.h; sourceTree = ""; }; - 56376E857A900EA0A7F84B3D17C4011B /* auth_hmacsha256.c */ = {isa = PBXFileReference; includeInIndex = 1; name = auth_hmacsha256.c; path = src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c; sourceTree = ""; }; - 569C77FEF19D6C252B3FF19227E3EB09 /* crypto_verify_64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_verify_64.h; path = src/libsodium/include/sodium/crypto_verify_64.h; sourceTree = ""; }; - 56AFE3A17CBB65F852883DCC670F9477 /* eckey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey.h; path = secp256k1_ios/src/eckey.h; sourceTree = ""; }; - 56FC830F4C2225AB470F89BC25052975 /* shorthash_siphash_ref.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = shorthash_siphash_ref.h; path = src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h; sourceTree = ""; }; - 570441EF3B51D64E517944AA7C2DAC09 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; - 57ED07D0D7DC588EA238683F5E876B23 /* libsodium.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = libsodium.xcconfig; sourceTree = ""; }; - 582FAE5A9FCA41DD209DDE7C83CD17F3 /* SipHash.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = SipHash.modulemap; path = ../../Headers/Public/SipHash/SipHash.modulemap; sourceTree = ""; }; - 58A459D9FA81ED5CBB93E554AD41F9C5 /* Web3+ConversionOperations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+ConversionOperations.swift"; path = "web3swift/Concurrency/Classes/Web3+ConversionOperations.swift"; sourceTree = ""; }; - 58A635B6B4435E188D464FD4E9523F07 /* crypto_auth_hmacsha256.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_auth_hmacsha256.h; path = src/libsodium/include/sodium/crypto_auth_hmacsha256.h; sourceTree = ""; }; - 5908B6BFC8D7BA50360369AE4E223C19 /* Data Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data Conversion.swift"; path = "sources/Data Conversion.swift"; sourceTree = ""; }; - 594394A86BBCA2EAC620979B9240DA7D /* blake2b-compress-ssse3.c */ = {isa = PBXFileReference; includeInIndex = 1; name = "blake2b-compress-ssse3.c"; path = "src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c"; sourceTree = ""; }; - 596DD180A7E7FABE55AE688A38677F66 /* box_curve25519xsalsa20poly1305.c */ = {isa = PBXFileReference; includeInIndex = 1; name = box_curve25519xsalsa20poly1305.c; path = src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c; sourceTree = ""; }; - 59F77AE95BC9FEABC9D930C1AB687A02 /* Pods-web3swiftExample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swiftExample-dummy.m"; sourceTree = ""; }; - 5AE908ACBCD80950977A68E3D754B3F1 /* BlockCipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockCipher.swift; path = Sources/CryptoSwift/BlockCipher.swift; sourceTree = ""; }; - 5C614601C81BC36D51B32D47B0C4F5D4 /* String Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String Conversion.swift"; path = "sources/String Conversion.swift"; sourceTree = ""; }; - 5CB10090A5AB6AB3A90031D3DEBECD36 /* u1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = u1.h; path = src/libsodium/crypto_stream/chacha20/dolbeau/u1.h; sourceTree = ""; }; - 5D88677529199A36F1E0B07797717E35 /* argon2-encoding.c */ = {isa = PBXFileReference; includeInIndex = 1; name = "argon2-encoding.c"; path = "src/libsodium/crypto_pwhash/argon2/argon2-encoding.c"; sourceTree = ""; }; - 5E2CA63F7302CC764F9CE8BF0CB369D3 /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/CryptoSwift/Operators.swift; sourceTree = ""; }; - 5E37AB459D2E4B11728263F119EA5EEE /* RLP.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RLP.swift; path = web3swift/ABI/Classes/RLP.swift; sourceTree = ""; }; - 5E75D112C5479F2698150844C8DACDB1 /* Web3+BrowserFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+BrowserFunctions.swift"; path = "web3swift/HookedFunctions/Classes/Web3+BrowserFunctions.swift"; sourceTree = ""; }; - 5EA8159D7A73C8C90E8AEFFEC10575F1 /* core_hsalsa20.c */ = {isa = PBXFileReference; includeInIndex = 1; name = core_hsalsa20.c; path = src/libsodium/crypto_core/hsalsa20/core_hsalsa20.c; sourceTree = ""; }; - 5EDD70612FFD99BF49E6C9EB9129C18F /* Timeline.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Timeline.swift; path = Source/Timeline.swift; sourceTree = ""; }; - 5F2BD26E0B9E275CF473F24154BC447F /* scalar_4x64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64.h; path = secp256k1_ios/src/scalar_4x64.h; sourceTree = ""; }; - 5F57D2FE1D5110697D342B698621B781 /* Web3+Structures.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Structures.swift"; path = "web3swift/Web3/Classes/Web3+Structures.swift"; sourceTree = ""; }; - 5F6FA121335A174117A18349E3C257BC /* onetimeauth_poly1305.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = onetimeauth_poly1305.h; path = src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h; sourceTree = ""; }; - 6016FD3A29188D13E0E26F617EC14B62 /* beforenm_aes128ctr.c */ = {isa = PBXFileReference; includeInIndex = 1; name = beforenm_aes128ctr.c; path = src/libsodium/crypto_stream/aes128ctr/nacl/beforenm_aes128ctr.c; sourceTree = ""; }; - 6156CD3DC853117F7DFA18F2C0DF81C1 /* ecdsa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa.h; path = secp256k1_ios/src/ecdsa.h; sourceTree = ""; }; - 6191181337A9EE87164D59F8ED46D1F2 /* PBKDF1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF1.swift; path = Sources/CryptoSwift/PKCS/PBKDF1.swift; sourceTree = ""; }; - 61F427E286AA7746F1276B2A62455708 /* Updatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Updatable.swift; path = Sources/CryptoSwift/Updatable.swift; sourceTree = ""; }; - 625286DB30A6C053A56E4C1629B25ADE /* dispatch_promise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = dispatch_promise.m; path = Sources/dispatch_promise.m; sourceTree = ""; }; - 6279211C77C17BE8DCE5D8618E163BC2 /* SHA1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA1.swift; path = Sources/CryptoSwift/SHA1.swift; sourceTree = ""; }; - 62AFA5C223526CC43C15638170596B2F /* GCM.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCM.swift; path = Sources/CryptoSwift/BlockMode/GCM.swift; sourceTree = ""; }; - 63242E7865AC5041F680898B96B7B41E /* libPromiseKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libPromiseKit.a; path = libPromiseKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 6368621610153F135BEB59AD17A01A8B /* ecmult_gen.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen.h; path = secp256k1_ios/src/ecmult_gen.h; sourceTree = ""; }; - 63E81CC2EAFE54EA7091460CC35EC980 /* crypto_secretbox_xchacha20poly1305.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_secretbox_xchacha20poly1305.h; path = src/libsodium/include/sodium/crypto_secretbox_xchacha20poly1305.h; sourceTree = ""; }; - 648445BA3E66DF0BB5CED3F9CF3DF648 /* SipHash-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SipHash-dummy.m"; sourceTree = ""; }; - 65CF004FE123686046D527E822D39580 /* field_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_impl.h; path = secp256k1_ios/src/field_impl.h; sourceTree = ""; }; - 660D197550E3D18AA98153A0C9BFE377 /* crypto_box_easy.c */ = {isa = PBXFileReference; includeInIndex = 1; name = crypto_box_easy.c; path = src/libsodium/crypto_box/crypto_box_easy.c; sourceTree = ""; }; - 66EBF42BE0E4ED04BEB9BCE41A4E3C77 /* RandomBytesSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomBytesSequence.swift; path = Sources/CryptoSwift/RandomBytesSequence.swift; sourceTree = ""; }; - 66FEEBE4BF1CFC2A9817737DD47FE64F /* Hashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Hashable.swift; path = sources/Hashable.swift; sourceTree = ""; }; - 675D9EBB52206830F13BE68CF5917BE9 /* Guarantee.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Guarantee.swift; path = Sources/Guarantee.swift; sourceTree = ""; }; - 67A740B61FFBCD6E05BBBF96FEFE94BE /* when.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = when.m; path = Sources/when.m; sourceTree = ""; }; - 67B8ABB73AAEDA24B50886693F5F7FA7 /* UIView+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.h"; sourceTree = ""; }; - 67F851A5843B85C62E6FDD0DB48C335E /* Subtraction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Subtraction.swift; path = sources/Subtraction.swift; sourceTree = ""; }; - 6853AB72E1111B44EC0650B4839AE568 /* crypto_sign_edwards25519sha512batch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_sign_edwards25519sha512batch.h; path = src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h; sourceTree = ""; }; - 68ACB3072283187397CB4A48E4158777 /* stream_salsa20.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = stream_salsa20.h; path = src/libsodium/crypto_stream/salsa20/stream_salsa20.h; sourceTree = ""; }; - 6953848954B03582D250F08E15F2CE78 /* DictionaryLiteralJSONSerializer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DictionaryLiteralJSONSerializer.swift; path = web3swift/Convenience/Classes/DictionaryLiteralJSONSerializer.swift; sourceTree = ""; }; - 69B36794844C02E6599F50BA293856B1 /* libsodium-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "libsodium-umbrella.h"; path = "../../Headers/Public/libsodium/libsodium-umbrella.h"; sourceTree = ""; }; - 69D72C5CB8557AF794AAF11B35C4DCA9 /* secretbox_xsalsa20poly1305.c */ = {isa = PBXFileReference; includeInIndex = 1; name = secretbox_xsalsa20poly1305.c; path = src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c; sourceTree = ""; }; - 6A125073E4625E457B865C382BAE22B2 /* argon2-core.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "argon2-core.h"; path = "src/libsodium/crypto_pwhash/argon2/argon2-core.h"; sourceTree = ""; }; - 6A59F678FE2A274665890346D17DFAC6 /* fe_frombytes_sandy2x.c */ = {isa = PBXFileReference; includeInIndex = 1; name = fe_frombytes_sandy2x.c; path = src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c; sourceTree = ""; }; - 6BD70F722DC67C36935631DF4E1927CC /* ABIv2Elements.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Elements.swift; path = web3swift/ABIv2/Classes/ABIv2Elements.swift; sourceTree = ""; }; - 6BEDE14426548565485221D62178EDE4 /* PromiseKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-prefix.pch"; sourceTree = ""; }; - 6C99A3FD789ABC75A489410393FC94A5 /* ecmult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult.h; path = secp256k1_ios/src/ecmult.h; sourceTree = ""; }; - 6DA823B008F313A4E820CE02A1568C6D /* Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Poly1305.swift; path = Sources/CryptoSwift/Poly1305.swift; sourceTree = ""; }; - 6DD1AAA55933A66DA926FAA5C3CB1A62 /* crypto_core_salsa2012.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_core_salsa2012.h; path = src/libsodium/include/sodium/crypto_core_salsa2012.h; sourceTree = ""; }; - 6E8E7D961CB3865D04263971B5DE5E60 /* OFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OFB.swift; path = Sources/CryptoSwift/BlockMode/OFB.swift; sourceTree = ""; }; - 6EC5C9CEB8C233688D57E571355658C7 /* EthereumKeystoreV3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumKeystoreV3.swift; path = web3swift/KeystoreManager/Classes/EthereumKeystoreV3.swift; sourceTree = ""; }; - 6EFF69F8ED89C73EBF9A5F463B98443E /* Promise+Web3+Eth+GetGasPrice.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetGasPrice.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetGasPrice.swift"; sourceTree = ""; }; - 6F04B12E10AF142C308B4C07408DAEEE /* secp256k1_ios.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = secp256k1_ios.modulemap; path = ../../Headers/Public/secp256k1_ios/secp256k1_ios.modulemap; sourceTree = ""; }; - 70C687BBEEA93122AF665EA81FD28472 /* curve25519_ref10.c */ = {isa = PBXFileReference; includeInIndex = 1; name = curve25519_ref10.c; path = src/libsodium/crypto_core/curve25519/ref10/curve25519_ref10.c; sourceTree = ""; }; - 70D7AD69832240212818D57FEC3E80A3 /* Promise+Web3+Eth+GetTransactionCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionCount.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionCount.swift"; sourceTree = ""; }; - 715F961A98F49249E1F18815D00C65E8 /* blake2b-ref.c */ = {isa = PBXFileReference; includeInIndex = 1; name = "blake2b-ref.c"; path = "src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c"; sourceTree = ""; }; - 717AF3E6AAC4ECC846038141C72E1CCD /* PKCS7Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7Padding.swift; path = Sources/CryptoSwift/PKCS/PKCS7Padding.swift; sourceTree = ""; }; - 72DB8D3BE4CA07E1F17396422F1ED2C7 /* scalar_low.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low.h; path = secp256k1_ios/src/scalar_low.h; sourceTree = ""; }; - 733AED77E821352F597899F87E10D08F /* blake2b-long.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "blake2b-long.h"; path = "src/libsodium/crypto_pwhash/argon2/blake2b-long.h"; sourceTree = ""; }; - 734A59B66E23325D25F0E82425F51839 /* ladder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ladder.h; path = src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h; sourceTree = ""; }; - 738EE52559BF16901D5C9909FAD1D905 /* secp256k1.c */ = {isa = PBXFileReference; includeInIndex = 1; name = secp256k1.c; path = secp256k1_ios/src/secp256k1.c; sourceTree = ""; }; - 74BB6786B389AB72D57AB6AD89109193 /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "Sources/CryptoSwift/Array+Extension.swift"; sourceTree = ""; }; - 7581F19FF104C60CCB888F49268BE499 /* libsodium-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "libsodium-prefix.pch"; sourceTree = ""; }; - 764B71EC4C082FA0C3CAA3DDDDBD4F43 /* curve25519_ref10.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = curve25519_ref10.h; path = src/libsodium/include/sodium/private/curve25519_ref10.h; sourceTree = ""; }; - 77C62B504DD681B8CF6DA6D25CC73978 /* Floating Point Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Floating Point Conversion.swift"; path = "sources/Floating Point Conversion.swift"; sourceTree = ""; }; - 77FB7808D985A25A52386E8346153B58 /* BIP32Keystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32Keystore.swift; path = web3swift/KeystoreManager/Classes/BIP32Keystore.swift; sourceTree = ""; }; - 78065485981757B26523C1E5BD7EAD03 /* Pods-web3swiftExample-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-web3swiftExample-frameworks.sh"; sourceTree = ""; }; - 78113CDC1341AE06A8602DF5E375151E /* crypto_core_salsa20.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_core_salsa20.h; path = src/libsodium/include/sodium/crypto_core_salsa20.h; sourceTree = ""; }; - 7811952FF744CC7B79209FACCD59FF33 /* sse2_64_32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = sse2_64_32.h; path = src/libsodium/include/sodium/private/sse2_64_32.h; sourceTree = ""; }; - 78C7624E3F8B00FE05F94AAA4F6E3E15 /* IBAN.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IBAN.swift; path = web3swift/KeystoreManager/Classes/IBAN.swift; sourceTree = ""; }; - 78F64C8EEC102A412A0A1CAF5FAA4E9F /* Promise+Web3+Intermediate+Send.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Intermediate+Send.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Intermediate+Send.swift"; sourceTree = ""; }; - 7959177406F1FCAC1AC89DD168F91083 /* libPods-web3swiftExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swiftExample.a"; path = "libPods-web3swiftExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 79D8464595E66B9F728512CF919E89F5 /* core_salsa_ref.c */ = {isa = PBXFileReference; includeInIndex = 1; name = core_salsa_ref.c; path = src/libsodium/crypto_core/salsa/ref/core_salsa_ref.c; sourceTree = ""; }; - 7A0416D0FDEEE733AC08F5EC71F3F025 /* NSNotificationCenter+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.m"; sourceTree = ""; }; - 7ACFD0EEFD12C67ECA20372FB3CD934A /* argon2-fill-block-ssse3.c */ = {isa = PBXFileReference; includeInIndex = 1; name = "argon2-fill-block-ssse3.c"; path = "src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c"; sourceTree = ""; }; - 7AD39E2B47CD723A55749B42AE24AD50 /* auth_hmacsha512.c */ = {isa = PBXFileReference; includeInIndex = 1; name = auth_hmacsha512.c; path = src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c; sourceTree = ""; }; - 7AEC749D574EE616FA51344DB846995F /* crypto_scalarmult_curve25519.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_scalarmult_curve25519.h; path = src/libsodium/include/sodium/crypto_scalarmult_curve25519.h; sourceTree = ""; }; - 7C561EB85F1FB7131DF30FB573D2FB7C /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "web3swift/Convenience/Classes/Data+Extension.swift"; sourceTree = ""; }; - 7CC35BBD694BD4CD32795B778EB87273 /* UInt64+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt64+Extension.swift"; path = "Sources/CryptoSwift/UInt64+Extension.swift"; sourceTree = ""; }; - 7CFDD458D58C8E8BCA2F31C6D3C13F0F /* PKCS5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS5.swift; path = Sources/CryptoSwift/PKCS/PKCS5.swift; sourceTree = ""; }; - 7D1295D0BCD42386041DFF7C43E202A0 /* CryptoSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = CryptoSwift.modulemap; path = ../../Headers/Public/CryptoSwift/CryptoSwift.modulemap; sourceTree = ""; }; - 7E49B3E3E19D0D7E54CCBEC69507B5D2 /* keypair.c */ = {isa = PBXFileReference; includeInIndex = 1; name = keypair.c; path = src/libsodium/crypto_sign/ed25519/ref10/keypair.c; sourceTree = ""; }; - 7F2034E0D60F35BD70E5EB5B4D7A7827 /* UInt32+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt32+Extension.swift"; path = "Sources/CryptoSwift/UInt32+Extension.swift"; sourceTree = ""; }; - 7F5947884B9B5DE6D78A32A06CD5361F /* salsa20_xmm6int-avx2.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "salsa20_xmm6int-avx2.h"; path = "src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h"; sourceTree = ""; }; - 7FA4B63975365042E28E8FB23799A288 /* Square Root.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Square Root.swift"; path = "sources/Square Root.swift"; sourceTree = ""; }; - 7FA9A0017638F3DA2EFEEE3894C3C846 /* argon2.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = argon2.h; path = src/libsodium/crypto_pwhash/argon2/argon2.h; sourceTree = ""; }; - 801A8EB0451AC3DC4439D0955A1B7D0A /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/recovery/main_impl.h; sourceTree = ""; }; - 8074D5465995645FAE72F01CB8631D06 /* crypto_stream_xchacha20.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_stream_xchacha20.h; path = src/libsodium/include/sodium/crypto_stream_xchacha20.h; sourceTree = ""; }; - 8080761393F09E13F16BC95F82707F96 /* libResult.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libResult.a; path = libResult.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 808368B1CD434CB746509F52295C5FBF /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 80FE9E9772BB2EFA3308B31EDF73F560 /* Web3+Eth.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Eth.swift"; path = "web3swift/Web3/Classes/Web3+Eth.swift"; sourceTree = ""; }; - 816325D912601111454CAA0DDC8D5DA9 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/ecdh/main_impl.h; sourceTree = ""; }; - 81DF9B520AEC348B2A1929A4038E4A79 /* chacha20_ref.c */ = {isa = PBXFileReference; includeInIndex = 1; name = chacha20_ref.c; path = src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c; sourceTree = ""; }; - 820F54FABD7D2A51B2FBD85C499D82A4 /* Array+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Array+Foundation.swift"; sourceTree = ""; }; - 8246A115AFC3FDF6AFB51952ADDE88B6 /* pbkdf2-sha256.c */ = {isa = PBXFileReference; includeInIndex = 1; name = "pbkdf2-sha256.c"; path = "src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c"; sourceTree = ""; }; - 82CE8451464BAFDFD32B4B34523E3CCF /* RandomAccessBlockModeWorker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomAccessBlockModeWorker.swift; path = Sources/CryptoSwift/BlockMode/RandomAccessBlockModeWorker.swift; sourceTree = ""; }; - 82D64F442F8BC093D692494A4682C3BD /* BigUInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigUInt.swift; path = sources/BigUInt.swift; sourceTree = ""; }; - 837937D5B0F653B8DA94485070438505 /* consts_namespace.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = consts_namespace.h; path = src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h; sourceTree = ""; }; - 838982CE4594493761640C1A1F292DDE /* salsa20_xmm6int-sse2.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "salsa20_xmm6int-sse2.h"; path = "src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h"; sourceTree = ""; }; - 84286BF87A1DBBFE0425E38BEC5BDB16 /* poly1305_donna.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = poly1305_donna.h; path = src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h; sourceTree = ""; }; - 84A8D163374AF7BF8980872863D13441 /* Alamofire-Synchronous-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-Synchronous-prefix.pch"; sourceTree = ""; }; - 8511526E145D2113AEC83F4DE5E76DE5 /* web3swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "web3swift-prefix.pch"; sourceTree = ""; }; - 85648B428FD546D0EEE9B712AC3F9802 /* PKCS7.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7.swift; path = Sources/CryptoSwift/PKCS/PKCS7.swift; sourceTree = ""; }; - 85D50DE57ABCB58DFDDA63A8F26CE3C2 /* stream_aes128ctr.c */ = {isa = PBXFileReference; includeInIndex = 1; name = stream_aes128ctr.c; path = src/libsodium/crypto_stream/aes128ctr/stream_aes128ctr.c; sourceTree = ""; }; - 86E3BA2C30475759A2D571D1E4D48EFD /* crypto_onetimeauth_poly1305.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_onetimeauth_poly1305.h; path = src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h; sourceTree = ""; }; - 873BB15734C31B0FE01CE629C34EE8C8 /* AbstractKeystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AbstractKeystore.swift; path = web3swift/KeystoreManager/Classes/AbstractKeystore.swift; sourceTree = ""; }; - 8758470182073E0968BB5A732AF3BBB6 /* ed25519_ref10.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ed25519_ref10.h; path = src/libsodium/crypto_sign/ed25519/ref10/ed25519_ref10.h; sourceTree = ""; }; - 875EF41D751D1CA12835625029D3524D /* Web3+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Utils.swift"; path = "web3swift/Web3/Classes/Web3+Utils.swift"; sourceTree = ""; }; - 87809F6570F103F8B1A6ED66912E80AB /* Web3+DataFetchOperation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+DataFetchOperation.swift"; path = "web3swift/Concurrency/Classes/Web3+DataFetchOperation.swift"; sourceTree = ""; }; - 8790B6EC704814D5398EBA1199F6FAC1 /* Promise+Web3+Eth+EstimateGas.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+EstimateGas.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+EstimateGas.swift"; sourceTree = ""; }; - 87D55278394E8B3A862C6BFBE06041F8 /* version.c */ = {isa = PBXFileReference; includeInIndex = 1; name = version.c; path = src/libsodium/sodium/version.c; sourceTree = ""; }; - 88987A0B0B72B257A1A17B5A18B7A948 /* Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Padding.swift; path = Sources/CryptoSwift/Padding.swift; sourceTree = ""; }; - 88D92803C644720CF258449F7B6FBC88 /* stream_aes128ctr_nacl.c */ = {isa = PBXFileReference; includeInIndex = 1; name = stream_aes128ctr_nacl.c; path = src/libsodium/crypto_stream/aes128ctr/nacl/stream_aes128ctr_nacl.c; sourceTree = ""; }; - 88E1DDCFF90B33DA1085FEAFA601F4C6 /* secp256k1_ios-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-prefix.pch"; sourceTree = ""; }; - 89A5DF4BB59FB30023B724814C99771E /* crypto_scalarmult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_scalarmult.h; path = src/libsodium/include/sodium/crypto_scalarmult.h; sourceTree = ""; }; - 8A708661762037AF49251294E5F2C996 /* Addition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Addition.swift; path = sources/Addition.swift; sourceTree = ""; }; - 8A93B3D44BD6C837683FB0A8DC90831E /* crypto_box.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_box.h; path = src/libsodium/include/sodium/crypto_box.h; sourceTree = ""; }; - 8C127EA92BE99EAE932B1C9E2AB5A65E /* shorthash_siphashx24_ref.c */ = {isa = PBXFileReference; includeInIndex = 1; name = shorthash_siphashx24_ref.c; path = src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c; sourceTree = ""; }; - 8C7CB30AA196C7792F638CE4F3426363 /* CMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CMAC.swift; path = Sources/CryptoSwift/CMAC.swift; sourceTree = ""; }; - 8CEDC8143C3E737EC371CCA7624103C9 /* ABIv2Encoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Encoding.swift; path = web3swift/ABIv2/Classes/ABIv2Encoding.swift; sourceTree = ""; }; - 8D3147ED887DBFD77A06F2965ACF1BA4 /* BigInt-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BigInt-dummy.m"; sourceTree = ""; }; - 8F2AD38E0825EF70FCA1679A22C3DB69 /* UIViewController+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.h"; sourceTree = ""; }; - 8F5035CF3223581009F2B932AA16D056 /* PMKFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKFoundation.h; path = Extensions/Foundation/Sources/PMKFoundation.h; sourceTree = ""; }; - 8FC1EAD8354054DF5E3E6DB740DE1E7A /* chacha20_dolbeau-avx2.c */ = {isa = PBXFileReference; includeInIndex = 1; name = "chacha20_dolbeau-avx2.c"; path = "src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.c"; sourceTree = ""; }; - 902FCCAAF0281CE4F49C01A0057ACACF /* crypto_scrypt-common.c */ = {isa = PBXFileReference; includeInIndex = 1; name = "crypto_scrypt-common.c"; path = "src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c"; sourceTree = ""; }; - 906C091162946A46FC84C3DE4DF864B6 /* Box.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Box.swift; path = Sources/Box.swift; sourceTree = ""; }; - 90C9773768837EBD106AEC698E3615DE /* libAlamofire.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libAlamofire.a; path = libAlamofire.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 90D8FF7F8A238DD0E4C91FC43CFB704E /* TypesEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TypesEncoder.swift; path = web3swift/ABI/Classes/TypesEncoder.swift; sourceTree = ""; }; - 914A43CB041DE19C45736392B9FB491B /* crypto_hash_sha512.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_hash_sha512.h; path = src/libsodium/include/sodium/crypto_hash_sha512.h; sourceTree = ""; }; - 9192BDE0669434AA333F41E5BA21DAAB /* field_10x26.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26.h; path = secp256k1_ios/src/field_10x26.h; sourceTree = ""; }; - 92490E4606AFB61DD4D8DC214EBF7898 /* field_5x52.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52.h; path = secp256k1_ios/src/field_5x52.h; sourceTree = ""; }; - 92832BED0916D654D09989DC67A4D3CB /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = Alamofire.modulemap; path = ../../Headers/Public/Alamofire/Alamofire.modulemap; sourceTree = ""; }; - 92992C8B8A090D4AC0AE49D56E086829 /* BlockModeOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockModeOptions.swift; path = Sources/CryptoSwift/BlockMode/BlockModeOptions.swift; sourceTree = ""; }; - 92C9A3D482C481572FF08EF7FB4A236F /* crypto_shorthash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_shorthash.h; path = src/libsodium/include/sodium/crypto_shorthash.h; sourceTree = ""; }; - 930B079F42C521840C7AEDE1F13D46FB /* crypto_core_hchacha20.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_core_hchacha20.h; path = src/libsodium/include/sodium/crypto_core_hchacha20.h; sourceTree = ""; }; - 932CBC5F3262FFFCFC4DE3F0BABB1DE0 /* Alamofire-Synchronous-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Alamofire-Synchronous-umbrella.h"; path = "../../Headers/Public/Alamofire_Synchronous/Alamofire-Synchronous-umbrella.h"; sourceTree = ""; }; - 9348FD3DE867EBF0CFDC011D6FC66C40 /* fe51_invert.c */ = {isa = PBXFileReference; includeInIndex = 1; name = fe51_invert.c; path = src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c; sourceTree = ""; }; + 000A1EC76D82A3EDBC7956FE3334A646 /* secp256k1_ios.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ios.h; path = secp256k1_ios/secp256k1_ios.h; sourceTree = ""; }; + 009A496F7B724F0347CFAC23677728AC /* Hashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Hashable.swift; path = sources/Hashable.swift; sourceTree = ""; }; + 0103BBD609FF8CADC6FDB98F2FDD7344 /* TransactionSigner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransactionSigner.swift; path = web3swift/Transaction/Classes/TransactionSigner.swift; sourceTree = ""; }; + 021230E4853D81084491C5CB19120253 /* ABIv2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2.swift; path = web3swift/ABIv2/Classes/ABIv2.swift; sourceTree = ""; }; + 0434FC3772D7C052138D4E6597BBCEBA /* field_5x52_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_impl.h; path = secp256k1_ios/src/field_5x52_impl.h; sourceTree = ""; }; + 0438DB1DA63797598E1BC06A1A12F711 /* BigInt.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BigInt.xcconfig; sourceTree = ""; }; + 052496AE749A404A1C7E8F48F9C50E4C /* ContractProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContractProtocol.swift; path = web3swift/Contract/Classes/ContractProtocol.swift; sourceTree = ""; }; + 0571CF27DD24F25CF822D599D2FD9592 /* Collection+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Collection+Extension.swift"; path = "Sources/CryptoSwift/Collection+Extension.swift"; sourceTree = ""; }; + 0592455534B27A7EDFB9DACFC3FBD860 /* UInt16+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt16+Extension.swift"; path = "Sources/CryptoSwift/UInt16+Extension.swift"; sourceTree = ""; }; + 05A469D88635408C6E0A9730C9D67834 /* PlainKeystore+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PlainKeystore+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/PlainKeystore+ObjC.swift"; sourceTree = ""; }; + 0623D1F8DEDD8DF2D2DB549B42AB3446 /* Promise+Web3+Eth+GetBlockNumber.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockNumber.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockNumber.swift"; sourceTree = ""; }; + 066D256FC483ACE5C9FBD3A9DE124FDE /* EthereumAddress+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EthereumAddress+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/EthereumAddress+ObjC.swift"; sourceTree = ""; }; + 06DA7D56C2864C4222F706AFC7953AF9 /* UInt8+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt8+Extension.swift"; path = "Sources/CryptoSwift/UInt8+Extension.swift"; sourceTree = ""; }; + 075B36C10CAB6186B33DE99222FED632 /* lax_der_privatekey_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_privatekey_parsing.h; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.h; sourceTree = ""; }; + 07BC37DA3A885BFE9FA1ACF060A68924 /* ABIv2Elements.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Elements.swift; path = web3swift/ABIv2/Classes/ABIv2Elements.swift; sourceTree = ""; }; + 0A2411CE147937EBABF77E252DACB056 /* ecmult_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_impl.h; path = secp256k1_ios/src/ecmult_impl.h; sourceTree = ""; }; + 0A7CDAECE7C7689D9B56E9D2B4A92D11 /* NSURLSession+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSURLSession+Promise.swift"; path = "Extensions/Foundation/Sources/NSURLSession+Promise.swift"; sourceTree = ""; }; + 0AF3A1BDA014214D339A5C18DEC1B2C5 /* CryptoSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = CryptoSwift.modulemap; sourceTree = ""; }; + 0D1172DA5E0AB5C4C336BE89B155DB65 /* secp256k1_ios-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "secp256k1_ios-dummy.m"; sourceTree = ""; }; + 0D3ACCCA669E9804A73747148FC87E82 /* scalar_4x64_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64_impl.h; path = secp256k1_ios/src/scalar_4x64_impl.h; sourceTree = ""; }; + 0ECEAC97DC37DEE322CE4D6A7FD317D1 /* web3swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "web3swift-umbrella.h"; sourceTree = ""; }; + 0F0897176807A58E1A713B8A2B2948DA /* UInt32+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt32+Extension.swift"; path = "Sources/CryptoSwift/UInt32+Extension.swift"; sourceTree = ""; }; + 0FB7FFB5D4BFB8854135A190E6360F4D /* SipHash-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-umbrella.h"; sourceTree = ""; }; + 1004D33259FBFC1535E8D4F64120C7FB /* scrypt-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "scrypt-dummy.m"; sourceTree = ""; }; + 106E8716BF64A92008832D383814FFB7 /* Cipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cipher.swift; path = Sources/CryptoSwift/Cipher.swift; sourceTree = ""; }; + 118A0A4492B525385A8483675B6FCB88 /* ChaCha20+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ChaCha20+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift"; sourceTree = ""; }; + 11C3B3B474849C50B68C60D72D2A7ED4 /* libBigInt.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libBigInt.a; path = libBigInt.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 123A79BDE35CE7064C94E97B6CC962F3 /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "Sources/CryptoSwift/Array+Extension.swift"; sourceTree = ""; }; + 12BCF9FE41CE43BB9420B6870143B5B6 /* ENS.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ENS.swift; path = web3swift/Utils/Classes/ENS.swift; sourceTree = ""; }; + 12E63E29E69B87CCA00CA5D8B454E67D /* Promise+Web3+Eth+Call.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+Call.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+Call.swift"; sourceTree = ""; }; + 135C356FAA3B347C90BBF94F6529C892 /* NSTask+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSTask+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.m"; sourceTree = ""; }; + 149A6989679728614A4EF1F0D609947D /* BigInt.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = BigInt.modulemap; sourceTree = ""; }; + 16AF4F6B552E36497978DA12CBFA0A4C /* PCBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PCBC.swift; path = Sources/CryptoSwift/BlockMode/PCBC.swift; sourceTree = ""; }; + 16C67237D9658EEEF7CE6C233412A1AA /* BIP32Keystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32Keystore.swift; path = web3swift/KeystoreManager/Classes/BIP32Keystore.swift; sourceTree = ""; }; + 16D03E5E5B1C1CC5F18AE9C3C8EE602B /* UInt64+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt64+Extension.swift"; path = "Sources/CryptoSwift/UInt64+Extension.swift"; sourceTree = ""; }; + 1783AE3ABADA5096BE70D5939EE58E22 /* Pods-web3swiftExample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swiftExample-acknowledgements.plist"; sourceTree = ""; }; + 178C5FE20A3B38496D7935F91BDED794 /* BufferStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BufferStorage.swift; path = scrypt/scrypt/BufferStorage.swift; sourceTree = ""; }; + 17B0A033B10B035FFCCA80D2BE4C4839 /* libPods-web3swiftExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swiftExample.a"; path = "libPods-web3swiftExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 1827336AF5F51D580426EC596EF7357E /* libCryptoSwift.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libCryptoSwift.a; path = libCryptoSwift.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 183C2164A5A0D7B650B1632D92711576 /* HMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HMAC.swift; path = Sources/CryptoSwift/HMAC.swift; sourceTree = ""; }; + 1872C3C700D15109420AB2DC4B6455F5 /* scrypt-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-umbrella.h"; sourceTree = ""; }; + 1965E9A5C6BC0EAF6D873E26515FBF24 /* SHA1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA1.swift; path = Sources/CryptoSwift/SHA1.swift; sourceTree = ""; }; + 1A14C8A0ECC51DCF47B8BDC426260AE9 /* Web3+HttpProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+HttpProvider.swift"; path = "web3swift/Web3/Classes/Web3+HttpProvider.swift"; sourceTree = ""; }; + 1AB1E7E037CA7ACBE1DAF1FCF8BAD73A /* hash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash.h; path = secp256k1_ios/src/hash.h; sourceTree = ""; }; + 1BC9B7EAF3577A34C9142730D08BBAA9 /* PromiseKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PromiseKit.h; path = Sources/PromiseKit.h; sourceTree = ""; }; + 1C1D71A1E6B38F9B5A6B6225CF2D9FC1 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/recovery/main_impl.h; sourceTree = ""; }; + 1C2A766E739F57C8F1F245054C84114D /* ResultProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResultProtocol.swift; path = Result/ResultProtocol.swift; sourceTree = ""; }; + 1D1164A207317D07F70C5CADF0666478 /* Web3+EventParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+EventParser.swift"; path = "web3swift/Web3/Classes/Web3+EventParser.swift"; sourceTree = ""; }; + 1D19A599F033CB640BC281C9DDD005A7 /* web3swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "web3swift-dummy.m"; sourceTree = ""; }; + 1D4D97785B4DFCFBC23D6C846C84EA90 /* Promise+Web3+Eth+GetBlockByHash.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockByHash.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByHash.swift"; sourceTree = ""; }; + 1DFB1FBA4C24F7060FC8616294B079E8 /* UIViewController+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.m"; sourceTree = ""; }; + 1E3257BF67AECCEEBCA3B927CB2C8914 /* Square Root.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Square Root.swift"; path = "sources/Square Root.swift"; sourceTree = ""; }; + 1E37C31654324E82F6877D3A0A8CF5F9 /* Web3+Structures.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Structures.swift"; path = "web3swift/Web3/Classes/Web3+Structures.swift"; sourceTree = ""; }; + 1F7D8BAC459724F31F9EF10CC0D98B4E /* Promise+Web3+Intermediate+Send.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Intermediate+Send.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Intermediate+Send.swift"; sourceTree = ""; }; + 1FEBAFF6DBC23B47AC2CE0679F9CB261 /* ABIv2Parsing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Parsing.swift; path = web3swift/ABIv2/Classes/ABIv2Parsing.swift; sourceTree = ""; }; + 20811F2A1E259155573275E6C84F2090 /* OFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OFB.swift; path = Sources/CryptoSwift/BlockMode/OFB.swift; sourceTree = ""; }; + 20CFA43F832D5962C0393290B58599B5 /* ecmult_gen.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen.h; path = secp256k1_ios/src/ecmult_gen.h; sourceTree = ""; }; + 21B6545014E4E1EEB09BDBDFBEA13516 /* race.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = race.swift; path = Sources/race.swift; sourceTree = ""; }; + 22232C77A8E2D0AFF9A27E485B82506E /* PKCS7.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7.swift; path = Sources/CryptoSwift/PKCS/PKCS7.swift; sourceTree = ""; }; + 22769D380F2A7AB75E9FF25A16D47CE1 /* Web3+TransactionIntermediate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+TransactionIntermediate.swift"; path = "web3swift/Web3/Classes/Web3+TransactionIntermediate.swift"; sourceTree = ""; }; + 227AEA3AD310D48705A9F080E9587471 /* Cimpl.c */ = {isa = PBXFileReference; includeInIndex = 1; name = Cimpl.c; path = scrypt/Cimpl.c; sourceTree = ""; }; + 22E9055D66F39B0B671EC13A4D7A9AC5 /* RandomUInt64.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomUInt64.swift; path = SipHash/RandomUInt64.swift; sourceTree = ""; }; + 23DDF1167D5601DCB70F356894851DD6 /* KeystoreManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeystoreManager.swift; path = web3swift/KeystoreManager/Classes/KeystoreManager.swift; sourceTree = ""; }; + 256138718C583C679BA3011347A299C7 /* hang.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = hang.swift; path = Sources/hang.swift; sourceTree = ""; }; + 25A7B1871BF03428A855BE688D20521E /* libweb3swift.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libweb3swift.a; path = libweb3swift.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 2737D9FD26C786FDE441BA01D79E6DB6 /* Digest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Digest.swift; path = Sources/CryptoSwift/Digest.swift; sourceTree = ""; }; + 27F2F0F8AA0A44DCB15F6C2014B8515F /* ABIv2Decoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Decoding.swift; path = web3swift/ABIv2/Classes/ABIv2Decoding.swift; sourceTree = ""; }; + 27F79F5E8467AB85143242575568970D /* EthereumKeystoreV3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumKeystoreV3.swift; path = web3swift/KeystoreManager/Classes/EthereumKeystoreV3.swift; sourceTree = ""; }; + 2840F210CE98B93EA849D6D6E8253222 /* Promise+HttpProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+HttpProvider.swift"; path = "web3swift/Promises/Classes/Promise+HttpProvider.swift"; sourceTree = ""; }; + 28CEA71BAA2648F525999A658E8C7F22 /* scratch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch.h; path = secp256k1_ios/src/scratch.h; sourceTree = ""; }; + 28D233B339408EE05F382B2D71EBB0C5 /* Promise+Web3+Eth+EstimateGas.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+EstimateGas.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+EstimateGas.swift"; sourceTree = ""; }; + 29C256B973D8BE987C0231440CCB1E67 /* BatchedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BatchedCollection.swift; path = Sources/CryptoSwift/BatchedCollection.swift; sourceTree = ""; }; + 2A003F66935D65A758492D1E9EE2BABE /* PromiseKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-prefix.pch"; sourceTree = ""; }; + 2A3B82C924810D565EACB8DD0250AF2F /* Pods-web3swiftExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swiftExample.debug.xcconfig"; sourceTree = ""; }; + 2DFD3BF6784E7B36EB8BDA06326E1D84 /* ChaCha20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChaCha20.swift; path = Sources/CryptoSwift/ChaCha20.swift; sourceTree = ""; }; + 2F06D95AEE5EC27252B89C4874C9B887 /* Web3+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Utils.swift"; path = "web3swift/Web3/Classes/Web3+Utils.swift"; sourceTree = ""; }; + 2F73DD47F1589433F054B8686723D47D /* ecdsa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa.h; path = secp256k1_ios/src/ecdsa.h; sourceTree = ""; }; + 323E701BDC75F79161DF588C4113A918 /* dispatch_promise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = dispatch_promise.m; path = Sources/dispatch_promise.m; sourceTree = ""; }; + 328EA52653464590374008597CDB88F8 /* Web3+Instance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Instance.swift"; path = "web3swift/Web3/Classes/Web3+Instance.swift"; sourceTree = ""; }; + 3298DB5F4EFFFE85F3D5C56F858DE99A /* Generics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generics.swift; path = Sources/CryptoSwift/Generics.swift; sourceTree = ""; }; + 33AD44494C176812F8EB7B1C68429279 /* web3swift.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = web3swift.h; path = web3swift/web3swift.h; sourceTree = ""; }; + 361B873DBC285242B8FCA11C4F9E5623 /* basic-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "basic-config.h"; path = "secp256k1_ios/src/basic-config.h"; sourceTree = ""; }; + 36BB4188B1240052722EAB2ED24DC3DD /* NSTask+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSTask+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.h"; sourceTree = ""; }; + 37B6B8CF586B8A17D237A993EE028AEF /* EIP67Code.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EIP67Code.swift; path = web3swift/Utils/Classes/EIP67Code.swift; sourceTree = ""; }; + 388FF24BE1726BEA3B2AEFC39035A410 /* scrypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scrypt.h; path = scrypt/scrypt.h; sourceTree = ""; }; + 397D4BCFA7542A08BF0E44317F724880 /* DigestType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DigestType.swift; path = Sources/CryptoSwift/DigestType.swift; sourceTree = ""; }; + 39D3351EAB4FE326D56C800215377379 /* PromiseKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PromiseKit-dummy.m"; sourceTree = ""; }; + 3A01C71E03076A82481B6EFA5BABFEE1 /* Web3+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+ObjC.swift"; sourceTree = ""; }; + 3A9EADA7AFA39E90F4B2C520B23DB0D6 /* EthereumTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumTransaction.swift; path = web3swift/Transaction/Classes/EthereumTransaction.swift; sourceTree = ""; }; + 3AB7EFD1CDE8EEFB6864B4C95BE27B9B /* BigUInt+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BigUInt+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/BigUInt+ObjC.swift"; sourceTree = ""; }; + 3B4AC44500F159CD237DA769095DE4A2 /* UIViewPropertyAnimator+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewPropertyAnimator+Promise.swift"; path = "Extensions/UIKit/Sources/UIViewPropertyAnimator+Promise.swift"; sourceTree = ""; }; + 3B62D9ABA91167900FE1A8E0B48BF6F1 /* Rabbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rabbit.swift; path = Sources/CryptoSwift/Rabbit.swift; sourceTree = ""; }; + 3BF598B3313583C452A8F23CE762ABE4 /* NoError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoError.swift; path = Result/NoError.swift; sourceTree = ""; }; + 3C4001BFD15E68647D2DF6A140E7FE7B /* scalar_low_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low_impl.h; path = secp256k1_ios/src/scalar_low_impl.h; sourceTree = ""; }; + 3C9503C4F6C4DBB79AC671BCA551F24A /* Primitive Types.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Primitive Types.swift"; path = "SipHash/Primitive Types.swift"; sourceTree = ""; }; + 3D3092F2465713B5799F11ABAF5C73DD /* lax_der_privatekey_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_privatekey_parsing.c; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.c; sourceTree = ""; }; + 3EBBC5BCE490CF7D0B638E773A4F1FAC /* EthereumAddress.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumAddress.swift; path = web3swift/KeystoreManager/Classes/EthereumAddress.swift; sourceTree = ""; }; + 3FD29DD5DC6ED789FAEB902C94E865F1 /* Checksum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Checksum.swift; path = Sources/CryptoSwift/Checksum.swift; sourceTree = ""; }; + 401C193EDE43BF447B84F321B8E1C482 /* ecmult_gen_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen_impl.h; path = secp256k1_ios/src/ecmult_gen_impl.h; sourceTree = ""; }; + 41FBE47CBCF2E13682775196F7F9184D /* EIP681.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EIP681.swift; path = web3swift/Utils/Classes/EIP681.swift; sourceTree = ""; }; + 41FC722652762A9CA680AC0CEF50B2CC /* CTR.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CTR.swift; path = Sources/CryptoSwift/BlockMode/CTR.swift; sourceTree = ""; }; + 421B749E58F87E0C839D613211A2D0D6 /* Pods-web3swiftExample-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swiftExample-umbrella.h"; sourceTree = ""; }; + 42662102329EB8EA5D693F47F6B055BD /* RIPEMD160+StackOveflow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RIPEMD160+StackOveflow.swift"; path = "web3swift/Convenience/Classes/RIPEMD160+StackOveflow.swift"; sourceTree = ""; }; + 426C5416AF2F5EBDF7353EC4417DD059 /* ecmult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult.h; path = secp256k1_ios/src/ecmult.h; sourceTree = ""; }; + 442702F0B88642B51362AB205FCAA854 /* field_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_impl.h; path = secp256k1_ios/src/field_impl.h; sourceTree = ""; }; + 442C6C1866A76D1BA9AC1704A73CCBEF /* NSNotificationCenter+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.h"; sourceTree = ""; }; + 4494989642C43EC56A1C209F11EAA579 /* PMKUIKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKUIKit.h; path = Extensions/UIKit/Sources/PMKUIKit.h; sourceTree = ""; }; + 44EE1C2DE9A2797654C1BF53FFB8C841 /* BIP32HDNode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32HDNode.swift; path = web3swift/KeystoreManager/Classes/BIP32HDNode.swift; sourceTree = ""; }; + 4889008E797DEA00B30EACB8E0D243E7 /* web3swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = web3swift.modulemap; sourceTree = ""; }; + 491E32635E476F62DF80795EA03A4E96 /* BIP39.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP39.swift; path = web3swift/KeystoreManager/Classes/BIP39.swift; sourceTree = ""; }; + 4A8BE755B00A247CADB17C0D888A15A2 /* num_gmp.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp.h; path = secp256k1_ios/src/num_gmp.h; sourceTree = ""; }; + 4A9FF65D7436CD05D4829C03224BCEC3 /* PromiseKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromiseKit.xcconfig; sourceTree = ""; }; + 4ACE68F0C0BB240B67D6607627A0409D /* after.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = after.m; path = Sources/after.m; sourceTree = ""; }; + 4C5AB9A84E399C3C8F2ED978C0B4DD46 /* libResult.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libResult.a; path = libResult.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 4C8A5F0094F14372F5834A32835C5F5A /* Exponentiation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Exponentiation.swift; path = sources/Exponentiation.swift; sourceTree = ""; }; + 4CC6D0D6768AF0C916089C5F28C32BB5 /* lax_der_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_parsing.c; path = secp256k1_ios/contrib/lax_der_parsing.c; sourceTree = ""; }; + 4CE1FC37CE5129D5F14970B958DB8192 /* secp256k1_ios-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-umbrella.h"; sourceTree = ""; }; + 4E1625F84C89AF10B33736B73A1A4E2C /* ecmult_const.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const.h; path = secp256k1_ios/src/ecmult_const.h; sourceTree = ""; }; + 4F11F7307F07CC65C25A8F4FF12EEB69 /* BigInt-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-umbrella.h"; sourceTree = ""; }; + 50145B3CFAA030E982F33E5F8EF57D5B /* PlainKeystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PlainKeystore.swift; path = web3swift/KeystoreManager/Classes/PlainKeystore.swift; sourceTree = ""; }; + 50ABA8EC3262E75D2C901CA6DD9FA5F8 /* group.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group.h; path = secp256k1_ios/src/group.h; sourceTree = ""; }; + 5157EEA72F46459433F5E5929670E20A /* Comparable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Comparable.swift; path = sources/Comparable.swift; sourceTree = ""; }; + 51A61E362FF2B82C26F4DD5BA76BEDC8 /* Words and Bits.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Words and Bits.swift"; path = "sources/Words and Bits.swift"; sourceTree = ""; }; + 523671F746DA657F0997D96C7ED8A97B /* LibSecp256k1Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LibSecp256k1Extension.swift; path = web3swift/Convenience/Classes/LibSecp256k1Extension.swift; sourceTree = ""; }; + 54806E1F9F87ABA4B9F69CF94A4C799A /* SipHash-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SipHash-dummy.m"; sourceTree = ""; }; + 54A9032553D1C61F8E0154E2C0D53FD2 /* libsecp256k1_ios.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libsecp256k1_ios.a; path = libsecp256k1_ios.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 54BA1656FB495B7460ACDF3A76022348 /* NSObject+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Promise.swift"; path = "Extensions/Foundation/Sources/NSObject+Promise.swift"; sourceTree = ""; }; + 5564585449D0A14C4C3DA06673C6CCE6 /* Web3+Infura.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Infura.swift"; path = "web3swift/Web3/Classes/Web3+Infura.swift"; sourceTree = ""; }; + 566D31E69EBD23EECC7E9756E711AABF /* AnyError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyError.swift; path = Result/AnyError.swift; sourceTree = ""; }; + 57B4BB38C90FBE82C3726EC39C95B70F /* KeystoreV3JSONStructure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeystoreV3JSONStructure.swift; path = web3swift/KeystoreManager/Classes/KeystoreV3JSONStructure.swift; sourceTree = ""; }; + 584AC113BDB47E209F6B34321DD1E5A1 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/ecdh/main_impl.h; sourceTree = ""; }; + 586D5FA2AF8538B591CF24C72E998533 /* secp256k1_ios-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-prefix.pch"; sourceTree = ""; }; + 589F851C490849AC18374F9DD34A57C8 /* CBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBC.swift; path = Sources/CryptoSwift/BlockMode/CBC.swift; sourceTree = ""; }; + 58E9F0540DB4E1A859392EFA3A0708B3 /* GCM.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCM.swift; path = Sources/CryptoSwift/BlockMode/GCM.swift; sourceTree = ""; }; + 5C8009536C96B6BA559B0430AEC14152 /* AEAD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEAD.swift; path = Sources/CryptoSwift/AEAD/AEAD.swift; sourceTree = ""; }; + 5D53A19896270253638D6DADB73A57B2 /* Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Promise.swift; path = Sources/Promise.swift; sourceTree = ""; }; + 5E2B619BDED04588FB519514ED192C42 /* Dictionary+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Dictionary+Extension.swift"; path = "web3swift/Convenience/Classes/Dictionary+Extension.swift"; sourceTree = ""; }; + 5EE61F6373F3AE498E0E43FCEF682C3E /* Promise+Web3+Personal+Sign.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Personal+Sign.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Personal+Sign.swift"; sourceTree = ""; }; + 6018602186E5C17B7EC7AA437D2BA1E6 /* secp256k1_ecdh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ecdh.h; path = secp256k1_ios/include/secp256k1_ecdh.h; sourceTree = ""; }; + 6056EC003B91D6AE8460C740F35F2BC5 /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = Sources/CryptoSwift/Utils.swift; sourceTree = ""; }; + 61E48BAFB4F86F9AFAEAC7E2CB649B5A /* secp256k1_recovery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_recovery.h; path = secp256k1_ios/include/secp256k1_recovery.h; sourceTree = ""; }; + 62BE568E491C77F75C8D2CF1210EB0EE /* Prime Test.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Prime Test.swift"; path = "sources/Prime Test.swift"; sourceTree = ""; }; + 6407F8A2387DE46158D2B6643CFB5ACE /* RLP.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RLP.swift; path = web3swift/Utils/Classes/RLP.swift; sourceTree = ""; }; + 643B9FFEAE81870BB1B9C96ED6F53435 /* SipHash.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SipHash.xcconfig; sourceTree = ""; }; + 66907FAB988CF1AF834BAD4A2926F444 /* Integer Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Integer Conversion.swift"; path = "sources/Integer Conversion.swift"; sourceTree = ""; }; + 674BEB1072D4B5AA13D4287142BF6E01 /* CFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CFB.swift; path = Sources/CryptoSwift/BlockMode/CFB.swift; sourceTree = ""; }; + 68A50C595697D190E564425720BC14EB /* web3swift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = web3swift.xcconfig; sourceTree = ""; }; + 6931C147814FD7AC75251959E1F84B13 /* Bitwise Ops.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bitwise Ops.swift"; path = "sources/Bitwise Ops.swift"; sourceTree = ""; }; + 6A223F737D492A8E44460C4DDC7E5773 /* BlockModeOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockModeOptions.swift; path = Sources/CryptoSwift/BlockMode/BlockModeOptions.swift; sourceTree = ""; }; + 6A5EEC6F826A7BB4BCF689DDBBBE8AF0 /* ZeroPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZeroPadding.swift; path = Sources/CryptoSwift/ZeroPadding.swift; sourceTree = ""; }; + 6A7054BB1922ADB95FE5AC71AA66686C /* Web3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Web3.swift; path = web3swift/Web3/Classes/Web3.swift; sourceTree = ""; }; + 6AB691BD8986EF2191E06871444E8FC3 /* BlockExplorer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockExplorer.swift; path = web3swift/BlockExplorer/Classes/BlockExplorer.swift; sourceTree = ""; }; + 6ADE6B24E2F1E8BC45C1D76558FC0116 /* BigInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigInt.swift; path = sources/BigInt.swift; sourceTree = ""; }; + 6AE04FCF5B21A9BA14FEFFCE5C001C9C /* secp256k1_ios.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = secp256k1_ios.xcconfig; sourceTree = ""; }; + 6B1467C65AAF92A3D88CEF44D064DB75 /* NoPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoPadding.swift; path = Sources/CryptoSwift/NoPadding.swift; sourceTree = ""; }; + 6B2CE110BAA238CC4A7CC454E3038ECC /* hash_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash_impl.h; path = secp256k1_ios/src/hash_impl.h; sourceTree = ""; }; + 6C1C98DF0D19110BC29B96ACF3CD8253 /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "Sources/CryptoSwift/String+Extension.swift"; sourceTree = ""; }; + 6C34B6F8F004A79070AAB41F8DFF824F /* Web3+HttpProvider+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+HttpProvider+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+HttpProvider+ObjC.swift"; sourceTree = ""; }; + 6D740E5FEAD00D08690A1797817D464A /* Rabbit+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Rabbit+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift"; sourceTree = ""; }; + 6D918765E5C316D981E87E593F43CD1B /* AbstractKeystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AbstractKeystore.swift; path = web3swift/KeystoreManager/Classes/AbstractKeystore.swift; sourceTree = ""; }; + 6E393FF3F983A1BA55B41EFD5D31574E /* IBAN.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IBAN.swift; path = web3swift/KeystoreManager/Classes/IBAN.swift; sourceTree = ""; }; + 6EDB16D82616831C96E088DDBE2B32B6 /* Web3+Methods.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Methods.swift"; path = "web3swift/Web3/Classes/Web3+Methods.swift"; sourceTree = ""; }; + 6F1CA839EB126F33A13D3BF58DDC14F0 /* secp256k1.c */ = {isa = PBXFileReference; includeInIndex = 1; name = secp256k1.c; path = secp256k1_ios/src/secp256k1.c; sourceTree = ""; }; + 6F8C20347DD37B9D783C15476C8D0769 /* BigInt-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-prefix.pch"; sourceTree = ""; }; + 6FE2D8F96F15B5256BD58A65B6912DCE /* NameHash.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NameHash.swift; path = web3swift/Utils/Classes/NameHash.swift; sourceTree = ""; }; + 7033A3E7363DDB4746F91F0AA499EC34 /* scalar_8x32_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32_impl.h; path = secp256k1_ios/src/scalar_8x32_impl.h; sourceTree = ""; }; + 7053901B6F4C7C4685E6983AD717E771 /* Blowfish+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Blowfish+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift"; sourceTree = ""; }; + 706866695402B827BF2F4CEE1BF58F0B /* PMKFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKFoundation.h; path = Extensions/Foundation/Sources/PMKFoundation.h; sourceTree = ""; }; + 720F350F02588AD2D8B0EF0C920A5D0D /* NSNotificationCenter+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSNotificationCenter+Promise.swift"; path = "Extensions/Foundation/Sources/NSNotificationCenter+Promise.swift"; sourceTree = ""; }; + 7325F8CDD95F0919C78971B1F9B0D26C /* KeystoreManager+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KeystoreManager+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/KeystoreManager+ObjC.swift"; sourceTree = ""; }; + 74379D12DD8775BC00C9CDD1434D1EFE /* Promise+Web3+Eth+GetBalance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBalance.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBalance.swift"; sourceTree = ""; }; + 7443C1CD1A0F4F67CD82A92FE91805B2 /* BlockEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockEncryptor.swift; path = Sources/CryptoSwift/BlockEncryptor.swift; sourceTree = ""; }; + 74C6B60FD25F8EC022E87CD299A2F7B6 /* Array+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Array+Foundation.swift"; sourceTree = ""; }; + 74C7EFAAA5563E59498B9632722813D1 /* Thenable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Thenable.swift; path = Sources/Thenable.swift; sourceTree = ""; }; + 766D24708AC3AAE11C1368CEAEB4EA5C /* Pods-web3swiftExample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swiftExample-acknowledgements.markdown"; sourceTree = ""; }; + 76F2D8905A70134EA2CDEFA78C0DBF0B /* scrypt.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = scrypt.xcconfig; sourceTree = ""; }; + 772A5E3F2CEC01BEB15C9C969E63D298 /* AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AnyPromise.m; path = Sources/AnyPromise.m; sourceTree = ""; }; + 780AE89716057678AA7E7C10379484F5 /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "Sources/CryptoSwift/Foundation/Data+Extension.swift"; sourceTree = ""; }; + 7860F7282B4A86633B33B4C19EE13DAB /* BIP39+WordLists.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BIP39+WordLists.swift"; path = "web3swift/KeystoreManager/Classes/BIP39+WordLists.swift"; sourceTree = ""; }; + 79A6376210EB7B970D64C177672F3EFE /* NSURLSession+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLSession+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.h"; sourceTree = ""; }; + 7A5B2E7BC5B7C1DC93FEB876C8062552 /* BlockCipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockCipher.swift; path = Sources/CryptoSwift/BlockCipher.swift; sourceTree = ""; }; + 7AAE3B11D2000EC06CBFB2EE14EAA208 /* util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = util.h; path = secp256k1_ios/src/util.h; sourceTree = ""; }; + 7ACB0C00B07E5B530D245904B8FA919E /* BloomFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BloomFilter.swift; path = web3swift/Transaction/Classes/BloomFilter.swift; sourceTree = ""; }; + 7D734165233A268ADD9C2C4EC0FBCB2D /* libPromiseKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libPromiseKit.a; path = libPromiseKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 7DBAF0C2F5BD5A5625B1B234D0E9BF81 /* BigInt-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BigInt-dummy.m"; sourceTree = ""; }; + 7DD7D170A631D238DD87B920F3821371 /* race.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = race.m; path = Sources/race.m; sourceTree = ""; }; + 7DDD374821E4640217896833C7CA1640 /* AEADChaCha20Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEADChaCha20Poly1305.swift; path = Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift; sourceTree = ""; }; + 7E9707E1F50D7C7959FA42372F48A2C0 /* eckey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey.h; path = secp256k1_ios/src/eckey.h; sourceTree = ""; }; + 7F444615A31A37C9AE86FCD68C9617C8 /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "web3swift/Convenience/Classes/String+Extension.swift"; sourceTree = ""; }; + 7F532B89CD79FB5FA18D07FC46DD8466 /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/CryptoSwift/Operators.swift; sourceTree = ""; }; + 7F837E682B0D2339226DCCDA26481727 /* Addition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Addition.swift; path = sources/Addition.swift; sourceTree = ""; }; + 7FD0C198DD93405BF1DA5EDE636A2F6F /* Blowfish.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blowfish.swift; path = Sources/CryptoSwift/Blowfish.swift; sourceTree = ""; }; + 80046DC911582304810AAD592475C63C /* ComparisonExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ComparisonExtensions.swift; path = web3swift/Contract/Classes/ComparisonExtensions.swift; sourceTree = ""; }; + 81129A66FBF8621B73A114A3835F4046 /* Updatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Updatable.swift; path = Sources/CryptoSwift/Updatable.swift; sourceTree = ""; }; + 850178BDFC9EF1A7C80827D3FFCD0482 /* lax_der_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_parsing.h; path = secp256k1_ios/contrib/lax_der_parsing.h; sourceTree = ""; }; + 8513371DF9ECC2C2DE1AE63075533C3F /* web3swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "web3swift-prefix.pch"; sourceTree = ""; }; + 862203C1EEFE1746B51A18A70C8255F1 /* Promise+Web3+Eth+GetBlockByNumber.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockByNumber.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByNumber.swift"; sourceTree = ""; }; + 8668B73A34C0C334E2DFF0A4D01B9887 /* scalar_low.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low.h; path = secp256k1_ios/src/scalar_low.h; sourceTree = ""; }; + 86C3207E565D52552FDFA7EA42F05270 /* field_5x52.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52.h; path = secp256k1_ios/src/field_5x52.h; sourceTree = ""; }; + 8860ADCD1425930DB2A6C8824B7787DE /* CMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CMAC.swift; path = Sources/CryptoSwift/CMAC.swift; sourceTree = ""; }; + 89C96B4D64AAD6FFE4F71B1EF2782516 /* Multiplication.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multiplication.swift; path = sources/Multiplication.swift; sourceTree = ""; }; + 89E684D5E2CA396D9C64859D2012B692 /* field_10x26_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26_impl.h; path = secp256k1_ios/src/field_10x26_impl.h; sourceTree = ""; }; + 8DDB94F4F7A8AA4FE18B9EBB50F0D323 /* Web3+ERC20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+ERC20.swift"; path = "web3swift/PrecompiledContracts/ERC20/Web3+ERC20.swift"; sourceTree = ""; }; + 8FBB098F98DE89D1DE9C0EDB16C22E15 /* libSipHash.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libSipHash.a; path = libSipHash.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 8FCF51E9005015897DB4235855C11F3E /* Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptors.swift; path = Sources/CryptoSwift/Cryptors.swift; sourceTree = ""; }; + 91DBC05C80B653F0779A122B3E01A00B /* Promise+Web3+Eth+GetTransactionReceipt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionReceipt.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionReceipt.swift"; sourceTree = ""; }; + 9364DC443B63993CAC102783E3E2E71B /* Promise+Web3+Personal+UnlockAccount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Personal+UnlockAccount.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Personal+UnlockAccount.swift"; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 94332960E08B31160F0BC526D5E2CE9C /* Alamofire.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.xcconfig; sourceTree = ""; }; - 9486E9FF4944CBA333E3B75F9BBF3111 /* Int+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Int+Extension.swift"; path = "Sources/CryptoSwift/Int+Extension.swift"; sourceTree = ""; }; - 95BF72B7C35F9530B813E5CF29DD45A0 /* SipHashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHashable.swift; path = SipHash/SipHashable.swift; sourceTree = ""; }; - 979D669DDB8C7C855D2DBFAB06426F47 /* Promise+Web3+Eth+GetBlockByHash.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockByHash.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByHash.swift"; sourceTree = ""; }; - 97E4A690406FBBE83E907DF14B00D443 /* crypto_sign.c */ = {isa = PBXFileReference; includeInIndex = 1; name = crypto_sign.c; path = src/libsodium/crypto_sign/crypto_sign.c; sourceTree = ""; }; - 982ADB88809D5C7FFDDDB87113D277E3 /* BigInt-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-prefix.pch"; sourceTree = ""; }; - 992653885B9D59902726487FEBA99D8A /* Alamofire-Synchronous-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-Synchronous-dummy.m"; sourceTree = ""; }; - 9951328EBDBD04E94E2A6A61479DEE80 /* Rabbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rabbit.swift; path = Sources/CryptoSwift/Rabbit.swift; sourceTree = ""; }; - 999990B76DB3E8ED16457508D671306B /* scratch_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch_impl.h; path = secp256k1_ios/src/scratch_impl.h; sourceTree = ""; }; - 9A5D41E1FECA56A02F7768FA1FADEFE0 /* CryptoSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-prefix.pch"; sourceTree = ""; }; - 9CD115E5736BBD260913030B109B0735 /* Web3+TransactionAndBlockDetailsOperations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+TransactionAndBlockDetailsOperations.swift"; path = "web3swift/Concurrency/Classes/Web3+TransactionAndBlockDetailsOperations.swift"; sourceTree = ""; }; - 9D0D4D689D69E2C563F9E5DAAFBCBBC4 /* stream_xsalsa20.c */ = {isa = PBXFileReference; includeInIndex = 1; name = stream_xsalsa20.c; path = src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c; sourceTree = ""; }; - 9D47109FDAD650AC8EDB94D674E50D45 /* shorthash_siphash24.c */ = {isa = PBXFileReference; includeInIndex = 1; name = shorthash_siphash24.c; path = src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.c; sourceTree = ""; }; - 9D9C3FA05EE91F1C61F8CDB0158754E2 /* ResultProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResultProtocol.swift; path = Result/ResultProtocol.swift; sourceTree = ""; }; - 9DA48B4798E41AC912E3C1BE77DB0596 /* argon2.c */ = {isa = PBXFileReference; includeInIndex = 1; name = argon2.c; path = src/libsodium/crypto_pwhash/argon2/argon2.c; sourceTree = ""; }; - 9E4FFF938D0320EC6EBDD9A4BB3AE947 /* sign.c */ = {isa = PBXFileReference; includeInIndex = 1; name = sign.c; path = src/libsodium/crypto_sign/ed25519/ref10/sign.c; sourceTree = ""; }; - 9EBDA61B6FF760BA38AE5330C670239E /* crypto_secretbox_xsalsa20poly1305.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_secretbox_xsalsa20poly1305.h; path = src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h; sourceTree = ""; }; - 9F1B27D5A455469143F47265003A8645 /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; - 9FE216E6047C0D8AA403C85E58AB245F /* common.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = common.h; path = src/libsodium/include/sodium/private/common.h; sourceTree = ""; }; - A02F29C86D2608D661D521C16A38BBFD /* ChaCha20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChaCha20.swift; path = Sources/CryptoSwift/ChaCha20.swift; sourceTree = ""; }; - A15EDCD047C8EA43D536A3E2EBB6F9A0 /* AnyPromise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyPromise.swift; path = Sources/AnyPromise.swift; sourceTree = ""; }; - A1BE575CC653B11BF64F8BA740F5FC47 /* chacha20_dolbeau-ssse3.c */ = {isa = PBXFileReference; includeInIndex = 1; name = "chacha20_dolbeau-ssse3.c"; path = "src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.c"; sourceTree = ""; }; - A1EC3ED499298A5FC7AD196B2F9DD425 /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Alamofire-umbrella.h"; path = "../../Headers/Public/Alamofire/Alamofire-umbrella.h"; sourceTree = ""; }; - A1EDE32B65FC88B73875E01D544C8D43 /* xor_afternm_aes128ctr.c */ = {isa = PBXFileReference; includeInIndex = 1; name = xor_afternm_aes128ctr.c; path = src/libsodium/crypto_stream/aes128ctr/nacl/xor_afternm_aes128ctr.c; sourceTree = ""; }; - A218C676508B9ED4EDC9BD96F52DBBD6 /* basic-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "basic-config.h"; path = "secp256k1_ios/src/basic-config.h"; sourceTree = ""; }; - A21D6F9A260215E206D337CEE7DC5A66 /* u8.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = u8.h; path = src/libsodium/crypto_stream/chacha20/dolbeau/u8.h; sourceTree = ""; }; - A2B3EAD3EDC7C4A46A18044CBC2D84E3 /* argon2-core.c */ = {isa = PBXFileReference; includeInIndex = 1; name = "argon2-core.c"; path = "src/libsodium/crypto_pwhash/argon2/argon2-core.c"; sourceTree = ""; }; - A30A5F6EC909C732D0E1E305F2BE641A /* BlockMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockMode.swift; path = Sources/CryptoSwift/BlockMode/BlockMode.swift; sourceTree = ""; }; - A3CA20A8B92C9DFA548CE04FE6139E40 /* AEADChaCha20Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEADChaCha20Poly1305.swift; path = Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift; sourceTree = ""; }; - A4BDEACA6E2DEAE9ACEB0CCFA746D81F /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "Sources/CryptoSwift/String+Extension.swift"; sourceTree = ""; }; - A53B8AD8087888B333C001F85E93C5E2 /* Generics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generics.swift; path = Sources/CryptoSwift/Generics.swift; sourceTree = ""; }; - A5FDBE1167FB6098E76BBB1D856DF8E8 /* Web3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Web3.swift; path = web3swift/Web3/Classes/Web3.swift; sourceTree = ""; }; - A6122BC02913DA15C11721492DBF8783 /* ChaCha20+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ChaCha20+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift"; sourceTree = ""; }; - A6F9D17734574401EE40C66D94FC94BA /* crypto_stream_salsa20.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_stream_salsa20.h; path = src/libsodium/include/sodium/crypto_stream_salsa20.h; sourceTree = ""; }; - A788895CFD246B504963E6F023BB3D45 /* join.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = join.m; path = Sources/join.m; sourceTree = ""; }; - A78A0D3EC3C5077D1835ACCB2F203A6C /* Shifts.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Shifts.swift; path = sources/Shifts.swift; sourceTree = ""; }; - A78E30008A15B04A4C0C56C28508B13C /* AEAD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEAD.swift; path = Sources/CryptoSwift/AEAD/AEAD.swift; sourceTree = ""; }; - A7A4C7122F27CBFA96424826052E6248 /* BigInt.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BigInt.xcconfig; sourceTree = ""; }; - A8CFE788ABAAFE39B4CA2F495346B0E5 /* ECB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ECB.swift; path = Sources/CryptoSwift/BlockMode/ECB.swift; sourceTree = ""; }; - A93DD8C7C29BCAC06BF8B6747AEFE7B7 /* crypto_pwhash.c */ = {isa = PBXFileReference; includeInIndex = 1; name = crypto_pwhash.c; path = src/libsodium/crypto_pwhash/crypto_pwhash.c; sourceTree = ""; }; - A98C602A67B838CC7A5FDFD876F280CF /* crypto_stream_aes128ctr.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_stream_aes128ctr.h; path = src/libsodium/include/sodium/crypto_stream_aes128ctr.h; sourceTree = ""; }; - A98F96CA8F1A049C4B05CFE507B7116F /* afterlife.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = afterlife.swift; path = Extensions/Foundation/Sources/afterlife.swift; sourceTree = ""; }; - A9A5D9008744D4875AF423965617EF30 /* runtime.c */ = {isa = PBXFileReference; includeInIndex = 1; name = runtime.c; path = src/libsodium/sodium/runtime.c; sourceTree = ""; }; - AA033E98751093E56DABA69604B1B7E2 /* blake2.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = blake2.h; path = src/libsodium/crypto_generichash/blake2b/ref/blake2.h; sourceTree = ""; }; - AB495A0CFD41437AF96DEC56B664465C /* chacha20_dolbeau-avx2.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "chacha20_dolbeau-avx2.h"; path = "src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h"; sourceTree = ""; }; - AB78B38B1C61A85F87AC874EC2A33C76 /* crypto_aead_xchacha20poly1305.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_aead_xchacha20poly1305.h; path = src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h; sourceTree = ""; }; - AC533592F797829809720BC0A8907A33 /* Result-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Result-dummy.m"; sourceTree = ""; }; - AC642813CACF8846AE9F476115CB5D4B /* stream_salsa20.c */ = {isa = PBXFileReference; includeInIndex = 1; name = stream_salsa20.c; path = src/libsodium/crypto_stream/salsa20/stream_salsa20.c; sourceTree = ""; }; - ACE32CE495474530C295F39F8839A8E3 /* SipHash.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SipHash.xcconfig; sourceTree = ""; }; - ACFD3C1A472CF341D40E8C7D0644FF80 /* blake2b-compress-sse41.c */ = {isa = PBXFileReference; includeInIndex = 1; name = "blake2b-compress-sse41.c"; path = "src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.c"; sourceTree = ""; }; - AD090DDE20DD07C7C69EB823F44F7912 /* field_5x52_asm_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_asm_impl.h; path = secp256k1_ios/src/field_5x52_asm_impl.h; sourceTree = ""; }; - AD0B06348CB6C797BC577969CDF75C9D /* scalar_8x32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32.h; path = secp256k1_ios/src/scalar_8x32.h; sourceTree = ""; }; - ADEA8EF92C40C7B0FBFF55F55AC075E1 /* onetimeauth_poly1305.c */ = {isa = PBXFileReference; includeInIndex = 1; name = onetimeauth_poly1305.c; path = src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c; sourceTree = ""; }; - AE722029DC68D02EA6461E4C9C41FD9A /* field_5x52_int128_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_int128_impl.h; path = secp256k1_ios/src/field_5x52_int128_impl.h; sourceTree = ""; }; - AEAE3E03D92D05FFFA6C718AD50A01D9 /* Web3+TransactionOperations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+TransactionOperations.swift"; path = "web3swift/Concurrency/Classes/Web3+TransactionOperations.swift"; sourceTree = ""; }; - AF2EDE7F7343736A82EEFD191488281E /* scalarmult_curve25519.c */ = {isa = PBXFileReference; includeInIndex = 1; name = scalarmult_curve25519.c; path = src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c; sourceTree = ""; }; - AF470CDC7D3E6516248FB057E6B8FB68 /* crypto_scrypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_scrypt.h; path = src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h; sourceTree = ""; }; - AF52610766A7B57679A7BA19F043130F /* scratch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch.h; path = secp256k1_ios/src/scratch.h; sourceTree = ""; }; - AF5C55063747E3DE8F156B88E5F7497F /* SHA3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA3.swift; path = Sources/CryptoSwift/SHA3.swift; sourceTree = ""; }; - AFCADB477DCD1661F56130C951D67C43 /* Promise+Batching.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Batching.swift"; path = "web3swift/Promises/Classes/Promise+Batching.swift"; sourceTree = ""; }; - B0C38120CA1EE3015A30079D70F6A310 /* stream_salsa208.c */ = {isa = PBXFileReference; includeInIndex = 1; name = stream_salsa208.c; path = src/libsodium/crypto_stream/salsa208/stream_salsa208.c; sourceTree = ""; }; - B0D57CABFB4CA074057B88C6A9C933FA /* blake2b-load-avx2.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "blake2b-load-avx2.h"; path = "src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-avx2.h"; sourceTree = ""; }; - B10B9BB090521D08CD90EB7706B7CC17 /* AES.Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.Cryptors.swift; path = Sources/CryptoSwift/AES.Cryptors.swift; sourceTree = ""; }; - B114F3E5294A8337A01BC880D7E5C11A /* Web3+Contract.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Contract.swift"; path = "web3swift/Web3/Classes/Web3+Contract.swift"; sourceTree = ""; }; - B1AEA7E85E46386EE1E1CE2F69978619 /* KeystoreManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeystoreManager.swift; path = web3swift/KeystoreManager/Classes/KeystoreManager.swift; sourceTree = ""; }; - B20CBF4D89117AAF9732AD0FFBDBF552 /* HKDF.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HKDF.swift; path = Sources/CryptoSwift/HKDF.swift; sourceTree = ""; }; - B240B2EA8A0499E3C7CA5C1C3266DF24 /* ecmult_const_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const_impl.h; path = secp256k1_ios/src/ecmult_const_impl.h; sourceTree = ""; }; - B323168B984B5F586F51C21741637189 /* PCBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PCBC.swift; path = Sources/CryptoSwift/BlockMode/PCBC.swift; sourceTree = ""; }; - B357F04D8455D344BC047DCF956A4372 /* NSTask+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSTask+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.m"; sourceTree = ""; }; - B39402B0C6EBA89B263BAFC148AEBB21 /* crypto_core_salsa208.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_core_salsa208.h; path = src/libsodium/include/sodium/crypto_core_salsa208.h; sourceTree = ""; }; - B3B2F4D2662AB5DE4D28360B7B6C4034 /* Web3+Options.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Options.swift"; path = "web3swift/Web3/Classes/Web3+Options.swift"; sourceTree = ""; }; - B3F9A1907F29304BFC44C6ACB93771D4 /* Pods-web3swiftExample.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swiftExample.modulemap"; sourceTree = ""; }; - B470A91F2C10AED7C67B8B69E4675EE9 /* secp256k1_recovery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_recovery.h; path = secp256k1_ios/include/secp256k1_recovery.h; sourceTree = ""; }; - B47C91935BA9C47D6A78511E7A5998A0 /* Primitive Types.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Primitive Types.swift"; path = "SipHash/Primitive Types.swift"; sourceTree = ""; }; - B4EE4CDD26A964DB5680017C682B420D /* GCD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCD.swift; path = sources/GCD.swift; sourceTree = ""; }; - B5D406757818F20BFCBB2BAA40903EEF /* HMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HMAC.swift; path = Sources/CryptoSwift/HMAC.swift; sourceTree = ""; }; - B6209AD6F9F5851DF52F2CEAC42D6848 /* pwhash_scryptsalsa208sha256_nosse.c */ = {isa = PBXFileReference; includeInIndex = 1; name = pwhash_scryptsalsa208sha256_nosse.c; path = src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c; sourceTree = ""; }; - B66EE8908F81DCE867B70BAC512EF1F4 /* field.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field.h; path = secp256k1_ios/src/field.h; sourceTree = ""; }; - B6CE3950AE600E7EB3C7AD2563B6F5B4 /* base.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = base.h; path = src/libsodium/crypto_core/curve25519/ref10/base.h; sourceTree = ""; }; - B74737D1FED5CCDCD2065191984CEC6F /* EthereumAddress.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumAddress.swift; path = web3swift/KeystoreManager/Classes/EthereumAddress.swift; sourceTree = ""; }; - B7A8E09168BD1AAB946DFB7FBD725296 /* Blowfish+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Blowfish+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift"; sourceTree = ""; }; - B7BBAD0E98A34B6DBC64207850A11821 /* crypto_hash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_hash.h; path = src/libsodium/include/sodium/crypto_hash.h; sourceTree = ""; }; - B7C65A9A50D88562A2E244BCE5E14400 /* u4.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = u4.h; path = src/libsodium/crypto_stream/salsa20/xmm6int/u4.h; sourceTree = ""; }; - B88587E490AF4967A7FD95DB470028AA /* crypto_auth_hmacsha512256.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_auth_hmacsha512256.h; path = src/libsodium/include/sodium/crypto_auth_hmacsha512256.h; sourceTree = ""; }; - B98D67A7BF95E33493730900890DC7E9 /* CryptoSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CryptoSwift-dummy.m"; sourceTree = ""; }; - BA009A0702DC8C7807142FAAC8052377 /* blake2b-load-sse41.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "blake2b-load-sse41.h"; path = "src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse41.h"; sourceTree = ""; }; - BB14AD11E956B7FE1C90273959FECE67 /* randombytes_sysrandom.c */ = {isa = PBXFileReference; includeInIndex = 1; name = randombytes_sysrandom.c; path = src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c; sourceTree = ""; }; - BB74A13161718EE18C272DB02279E642 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; - BB81D295431B952BDDFEE553CD05F552 /* crypto_stream.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_stream.h; path = src/libsodium/include/sodium/crypto_stream.h; sourceTree = ""; }; - BBB966FB0358637E81B3F276EC9204C4 /* chacha20_dolbeau-ssse3.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "chacha20_dolbeau-ssse3.h"; path = "src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h"; sourceTree = ""; }; - BC201FB3B028E7D5F5BECD071AD37CAA /* Promise+Web3+Eth+GetAccounts.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetAccounts.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetAccounts.swift"; sourceTree = ""; }; - BC26191E6FE3D9125A141E0EDD648C28 /* poly1305_donna32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = poly1305_donna32.h; path = src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h; sourceTree = ""; }; - BC88D15DF3A4FEAEE2D978077BE93860 /* crypto_auth.c */ = {isa = PBXFileReference; includeInIndex = 1; name = crypto_auth.c; path = src/libsodium/crypto_auth/crypto_auth.c; sourceTree = ""; }; - BCCA664D75C7EEBA4334CA85B197CBF3 /* Promise+Web3+Contract+GetIndexedEvents.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Contract+GetIndexedEvents.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Contract+GetIndexedEvents.swift"; sourceTree = ""; }; - BD5AB7E0262BB68CA2E8483784B5ACC9 /* NSURLSession+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSURLSession+Promise.swift"; path = "Extensions/Foundation/Sources/NSURLSession+Promise.swift"; sourceTree = ""; }; - BD6E29D30C33B6278B1F701FE38840AE /* KeystoreV3JSONStructure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeystoreV3JSONStructure.swift; path = web3swift/KeystoreManager/Classes/KeystoreV3JSONStructure.swift; sourceTree = ""; }; - BDCA45FC5C99715ED50F9D3023DBF927 /* NativeTypesEncoding+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NativeTypesEncoding+Extensions.swift"; path = "web3swift/Convenience/Classes/NativeTypesEncoding+Extensions.swift"; sourceTree = ""; }; - BE65E223CF65898BE317D93E93929D81 /* Checksum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Checksum.swift; path = Sources/CryptoSwift/Checksum.swift; sourceTree = ""; }; - BE7FA304DE4C78C157993A3C0200C8E2 /* stream_chacha20.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = stream_chacha20.h; path = src/libsodium/crypto_stream/chacha20/stream_chacha20.h; sourceTree = ""; }; - BE8F03D2AEC79E7C6C6E1994D7DAE991 /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; - BE93CD4421E73FD233B07F17E883D484 /* Thenable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Thenable.swift; path = Sources/Thenable.swift; sourceTree = ""; }; - BF65116EFB6B2A469219760564F0E80C /* RandomAccessCryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomAccessCryptor.swift; path = Sources/CryptoSwift/RandomAccessCryptor.swift; sourceTree = ""; }; - BF6F70A5A4C914BEFFDACDD290145A18 /* Process+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Process+Promise.swift"; path = "Extensions/Foundation/Sources/Process+Promise.swift"; sourceTree = ""; }; - BFF39895B1E32585FD4AD90B5B909EEB /* LibSecp256k1Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LibSecp256k1Extension.swift; path = web3swift/Convenience/Classes/LibSecp256k1Extension.swift; sourceTree = ""; }; - C0097468D0AA206E400E059673ECB1B0 /* Web3+Personal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Personal.swift"; path = "web3swift/Web3/Classes/Web3+Personal.swift"; sourceTree = ""; }; - C0DD6105DDF19DCBB34B0B3873E59CE7 /* crypto_secretbox.c */ = {isa = PBXFileReference; includeInIndex = 1; name = crypto_secretbox.c; path = src/libsodium/crypto_secretbox/crypto_secretbox.c; sourceTree = ""; }; - C0ED9EBA3767EBAF31824113A70AB21C /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; - C16DAB7539A0A830E757DCA4DB2CF8B2 /* fe51_namespace.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fe51_namespace.h; path = src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h; sourceTree = ""; }; - C1918D7FA5BEB43080BD1CE745504B4C /* scalarmult_curve25519.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalarmult_curve25519.h; path = src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h; sourceTree = ""; }; - C2572993BF294BDA5DEA5EC9F88583F5 /* Promise+HttpProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+HttpProvider.swift"; path = "web3swift/Promises/Classes/Promise+HttpProvider.swift"; sourceTree = ""; }; - C2F44B67307A31AF5A5012C735E4A614 /* aead_aes256gcm_aesni.c */ = {isa = PBXFileReference; includeInIndex = 1; name = aead_aes256gcm_aesni.c; path = src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c; sourceTree = ""; }; - C3CD5AB36FFEE997B02C900854D97DFD /* shorthash_siphash24_ref.c */ = {isa = PBXFileReference; includeInIndex = 1; name = shorthash_siphash24_ref.c; path = src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c; sourceTree = ""; }; - C40DC50EB768EDC9876AD784C09EB606 /* Collection+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Collection+Extension.swift"; path = "Sources/CryptoSwift/Collection+Extension.swift"; sourceTree = ""; }; - C45A2DC4E62C58DB9CE426AF7913ACAF /* crypto_sign_ed25519.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_sign_ed25519.h; path = src/libsodium/include/sodium/crypto_sign_ed25519.h; sourceTree = ""; }; - C63AD36F721448D9599BDB0163F26755 /* hang.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = hang.m; path = Sources/hang.m; sourceTree = ""; }; - C675807175E6A58BD976A6F17D3E58F9 /* crypto_auth.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_auth.h; path = src/libsodium/include/sodium/crypto_auth.h; sourceTree = ""; }; - C68911CEFCA9123777FB5B045D2F7C88 /* aead_xchacha20poly1305.c */ = {isa = PBXFileReference; includeInIndex = 1; name = aead_xchacha20poly1305.c; path = src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c; sourceTree = ""; }; - C8C0EF7C86A7594B3F463BB2A8E51F6C /* scrypt_platform.c */ = {isa = PBXFileReference; includeInIndex = 1; name = scrypt_platform.c; path = src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c; sourceTree = ""; }; - C8CEFEE4351DECB72FE30CE8500B8CE9 /* u0.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = u0.h; path = src/libsodium/crypto_stream/chacha20/dolbeau/u0.h; sourceTree = ""; }; - C923DE244ECB1C0BE32385B7085A8AB3 /* BIP32KeystoreJSONStructure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32KeystoreJSONStructure.swift; path = web3swift/KeystoreManager/Classes/BIP32KeystoreJSONStructure.swift; sourceTree = ""; }; - C99B2B8E260D8011D162DF8CEA34D199 /* pwhash_scryptsalsa208sha256_sse.c */ = {isa = PBXFileReference; includeInIndex = 1; name = pwhash_scryptsalsa208sha256_sse.c; path = src/libsodium/crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c; sourceTree = ""; }; - CA173EF1995B1EE27FD795175A901F82 /* ABIv2Decoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Decoding.swift; path = web3swift/ABIv2/Classes/ABIv2Decoding.swift; sourceTree = ""; }; - CA401CB291311CD70CB960707038F8C5 /* libsecp256k1-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "libsecp256k1-config.h"; path = "secp256k1_ios/libsecp256k1-config.h"; sourceTree = ""; }; - CA7466F2B139A0B301CB303275372328 /* field_10x26_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26_impl.h; path = secp256k1_ios/src/field_10x26_impl.h; sourceTree = ""; }; - CA985A431D2B53D3B9ABACFB7BA1B984 /* poly1305_donna64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = poly1305_donna64.h; path = src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h; sourceTree = ""; }; - CAA299646AC0C45CADB5F62F6D2BC3FD /* group_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group_impl.h; path = secp256k1_ios/src/group_impl.h; sourceTree = ""; }; - CB79E2D1F072D50FA0A68065ED58510B /* crypto_generichash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_generichash.h; path = src/libsodium/include/sodium/crypto_generichash.h; sourceTree = ""; }; - CB8145E8818D5095F06CB16AB0D34FA2 /* Promise+Web3+Personal+UnlockAccount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Personal+UnlockAccount.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Personal+UnlockAccount.swift"; sourceTree = ""; }; - CC39F9E5D3A9181F5211F4FC3A04A4F5 /* crypto_box_curve25519xchacha20poly1305.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_box_curve25519xchacha20poly1305.h; path = src/libsodium/include/sodium/crypto_box_curve25519xchacha20poly1305.h; sourceTree = ""; }; - CD33CB29DC81FC094558470CBD546FC2 /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; - CDD009BF5A0AD80FC71E898BDA1CED50 /* randombytes_salsa20_random.c */ = {isa = PBXFileReference; includeInIndex = 1; name = randombytes_salsa20_random.c; path = src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c; sourceTree = ""; }; - CF09493B14BFA62B8A244AE3F479DB47 /* pbkdf2-sha256.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "pbkdf2-sha256.h"; path = "src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h"; sourceTree = ""; }; - D0DBF3AF0890F374515417D34C778BCB /* firstly.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = firstly.swift; path = Sources/firstly.swift; sourceTree = ""; }; - D210FC9729616B98F382FE4C3D330D39 /* crypto_kx.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_kx.h; path = src/libsodium/include/sodium/crypto_kx.h; sourceTree = ""; }; - D27DB0B063A0D939B860750E7A89F291 /* BigInt.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = BigInt.modulemap; path = ../../Headers/Public/BigInt/BigInt.modulemap; sourceTree = ""; }; - D2BE0C04FFD4CD30E47B1152535C53AD /* ABIDecoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIDecoder.swift; path = web3swift/ABI/Classes/ABIDecoder.swift; sourceTree = ""; }; - D352F215961B934FFBF01148C774DA1F /* EthereumFilterEncodingExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumFilterEncodingExtensions.swift; path = web3swift/Contract/Classes/EthereumFilterEncodingExtensions.swift; sourceTree = ""; }; - D3F2E5AF2E14BB76AA10AE507E817CB3 /* PBKDF2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF2.swift; path = Sources/CryptoSwift/PKCS/PBKDF2.swift; sourceTree = ""; }; - D51D4F3217353736EC976EE45CA32C30 /* EventFiltering.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EventFiltering.swift; path = web3swift/Contract/Classes/EventFiltering.swift; sourceTree = ""; }; - D563FC9EF30F8197DB65254CFDE926C4 /* consts_aes128ctr.c */ = {isa = PBXFileReference; includeInIndex = 1; name = consts_aes128ctr.c; path = src/libsodium/crypto_stream/aes128ctr/nacl/consts_aes128ctr.c; sourceTree = ""; }; - D574F9F7FCA74366B594FBA456581DD9 /* curve25519_donna_c64.c */ = {isa = PBXFileReference; includeInIndex = 1; name = curve25519_donna_c64.c; path = src/libsodium/crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.c; sourceTree = ""; }; - D5BA29EE7ED53CD363C6F0DF72B3D61E /* web3swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "web3swift-umbrella.h"; path = "../../Headers/Public/web3swift/web3swift-umbrella.h"; sourceTree = ""; }; - D677227B0D3161C8B60A4E74F456D382 /* crypto_aead_chacha20poly1305.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_aead_chacha20poly1305.h; path = src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h; sourceTree = ""; }; - D677D2CC8597E7A69F0F89743ECDC307 /* crypto_onetimeauth.c */ = {isa = PBXFileReference; includeInIndex = 1; name = crypto_onetimeauth.c; path = src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c; sourceTree = ""; }; - D78C2BDF4A82FF1744CB8567ABC327E1 /* crypto_kdf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_kdf.h; path = src/libsodium/include/sodium/crypto_kdf.h; sourceTree = ""; }; - D812F84096CA014F56AE9F25D23484CE /* AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AnyPromise.h; path = Sources/AnyPromise.h; sourceTree = ""; }; - D8C8670FEEFFA41E1E7E42556AA074EC /* secp256k1_ios.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = secp256k1_ios.xcconfig; sourceTree = ""; }; - D93A01E6BF404E65C28C745833C67738 /* hash_sha256_cp.c */ = {isa = PBXFileReference; includeInIndex = 1; name = hash_sha256_cp.c; path = src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c; sourceTree = ""; }; - D95CCCC08D3ECA4715976F384CEFA560 /* stream_chacha20.c */ = {isa = PBXFileReference; includeInIndex = 1; name = stream_chacha20.c; path = src/libsodium/crypto_stream/chacha20/stream_chacha20.c; sourceTree = ""; }; - DA46E9734175AE57AF6346C93933CB2A /* crypto_auth_hmacsha512.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_auth_hmacsha512.h; path = src/libsodium/include/sodium/crypto_auth_hmacsha512.h; sourceTree = ""; }; - DADFB2147BF098C0A79A958AAD481105 /* Web3+TransactionIntermediate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+TransactionIntermediate.swift"; path = "web3swift/Web3/Classes/Web3+TransactionIntermediate.swift"; sourceTree = ""; }; - DB81A61AC8BB440ACB89050218661103 /* lax_der_privatekey_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_privatekey_parsing.h; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.h; sourceTree = ""; }; - DBECB1072D123EF288855388E9CFD3BB /* blake2b-load-sse2.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "blake2b-load-sse2.h"; path = "src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse2.h"; sourceTree = ""; }; - DC4A7D512C0BD1861CBD57CB565E37E7 /* Alamofire-Synchronous.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "Alamofire-Synchronous.modulemap"; path = "../../Headers/Public/Alamofire_Synchronous/Alamofire-Synchronous.modulemap"; sourceTree = ""; }; - DC6EF231032ECA28836610F9D79B7613 /* ABIv2TypeParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2TypeParser.swift; path = web3swift/ABIv2/Classes/ABIv2TypeParser.swift; sourceTree = ""; }; - DD5A83F499A1B0FA6DF5618B53E3ECA2 /* Pods-web3swiftExample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swiftExample-acknowledgements.markdown"; sourceTree = ""; }; - DDBF0563C0903C508E3BAD2011C37F36 /* EIP67Code.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EIP67Code.swift; path = web3swift/Utils/Classes/EIP67Code.swift; sourceTree = ""; }; - DDC9C039E247BB715B1655A80A4C5BE6 /* CustomStringConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomStringConvertible.swift; path = Sources/CustomStringConvertible.swift; sourceTree = ""; }; - DEAF45A343AEED28AF1F89413A116EFA /* BloomFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BloomFilter.swift; path = web3swift/Transaction/Classes/BloomFilter.swift; sourceTree = ""; }; - DED2439360EC1D6F620E93C9469B2424 /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Configuration.swift; sourceTree = ""; }; - DF25AAFA9DFE4076B8614CB853BCAD47 /* Result.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Result.xcconfig; sourceTree = ""; }; - DF8A64864C280BD1C8CEFE1E870D11AF /* UInt16+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt16+Extension.swift"; path = "Sources/CryptoSwift/UInt16+Extension.swift"; sourceTree = ""; }; - E030C6F26BFADC8F35D1E4CA476BF788 /* Pods-web3swiftExample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swiftExample-acknowledgements.plist"; sourceTree = ""; }; - E0593CCD984D9C6CA339D795D76E3F50 /* ladder_base.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ladder_base.h; path = src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.h; sourceTree = ""; }; - E0EF8E394F23656B4FBDD3EE07F9EEFB /* crypto_box.c */ = {isa = PBXFileReference; includeInIndex = 1; name = crypto_box.c; path = src/libsodium/crypto_box/crypto_box.c; sourceTree = ""; }; - E12F294D9F798FDAD90A75B51699197E /* curve25519_sandy2x.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = curve25519_sandy2x.h; path = src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h; sourceTree = ""; }; - E12F8287D03F33B6CCDDA74388C72244 /* mutex.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mutex.h; path = src/libsodium/include/sodium/private/mutex.h; sourceTree = ""; }; - E138EC76ED13166EA2AACD39B9D9306B /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; - E1EEA368C1DF5AA741D83D74FDBD34A0 /* libsodium.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = libsodium.modulemap; path = ../../Headers/Public/libsodium/libsodium.modulemap; sourceTree = ""; }; - E27F6AD7A5BE8F0D9846FE45FFA51006 /* core_hchacha20.c */ = {isa = PBXFileReference; includeInIndex = 1; name = core_hchacha20.c; path = src/libsodium/crypto_core/hchacha20/core_hchacha20.c; sourceTree = ""; }; - E2CEDB308726C283269CB883EFCF27CD /* core.c */ = {isa = PBXFileReference; includeInIndex = 1; name = core.c; path = src/libsodium/sodium/core.c; sourceTree = ""; }; - E34310B3284771D4B961CDFF204CFD74 /* base2.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = base2.h; path = src/libsodium/crypto_core/curve25519/ref10/base2.h; sourceTree = ""; }; - E39FB93B33BEFFD3B61E5464A3295868 /* version.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = version.h; path = src/libsodium/include/sodium/version.h; sourceTree = ""; }; - E3A34BB88F84600F6D3460CF9A5A4C71 /* ladder_base_namespace.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ladder_base_namespace.h; path = src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base_namespace.h; sourceTree = ""; }; - E3C55D634D2DDD3031909FD4CE6F8C4C /* Cipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cipher.swift; path = Sources/CryptoSwift/Cipher.swift; sourceTree = ""; }; - E45A0599A7FBA13728E7964F73C11686 /* Web3+Deprecated.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Deprecated.swift"; path = "web3swift/Web3/Classes/Web3+Deprecated.swift"; sourceTree = ""; }; - E4766328D02E327CC103E18B1A7C3E3E /* crypto_box_seal.c */ = {isa = PBXFileReference; includeInIndex = 1; name = crypto_box_seal.c; path = src/libsodium/crypto_box/crypto_box_seal.c; sourceTree = ""; }; - E4B7DAB0891899779A54B4398B774BB8 /* sign_ed25519.c */ = {isa = PBXFileReference; includeInIndex = 1; name = sign_ed25519.c; path = src/libsodium/crypto_sign/ed25519/sign_ed25519.c; sourceTree = ""; }; - E4E7DCBAC6ACCA40BE7D88D8CAEC3034 /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "web3swift/Convenience/Classes/Array+Extension.swift"; sourceTree = ""; }; - E54D4EFB366997E4A58FF3DA3D19E2C7 /* SipHash-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-prefix.pch"; sourceTree = ""; }; - E5B25D2082FB07E7D88B47D5353A424D /* secretbox_xchacha20poly1305.c */ = {isa = PBXFileReference; includeInIndex = 1; name = secretbox_xchacha20poly1305.c; path = src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c; sourceTree = ""; }; - E61F52944B9A2607796EE79E97BED550 /* blake2b-compress-ssse3.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "blake2b-compress-ssse3.h"; path = "src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.h"; sourceTree = ""; }; - E62353D330BD01DAF1EC55EC4429742C /* Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Promise.swift; path = Sources/Promise.swift; sourceTree = ""; }; - E67737663547466943C187905AE49DF6 /* ABIv2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2.swift; path = web3swift/ABIv2/Classes/ABIv2.swift; sourceTree = ""; }; - E737D3379A6F852197E44D1F21535F39 /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; - E7C813B66024DB48F089837F52DC99C7 /* utils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = utils.h; path = src/libsodium/include/sodium/utils.h; sourceTree = ""; }; - E7FE975AE928CBD078E0F4B07C0BF7E4 /* CBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBC.swift; path = Sources/CryptoSwift/BlockMode/CBC.swift; sourceTree = ""; }; - E85AA67F2709F6EFB7AA1A0955776DE3 /* x25519_ref10.c */ = {isa = PBXFileReference; includeInIndex = 1; name = x25519_ref10.c; path = src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c; sourceTree = ""; }; - E9A65AB9C55F5DEC6178C998B91DAC69 /* randombytes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = randombytes.h; path = src/libsodium/include/sodium/randombytes.h; sourceTree = ""; }; - E9AF7611B44D79FE1EEB5A7EE3C849D2 /* Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptors.swift; path = Sources/CryptoSwift/Cryptors.swift; sourceTree = ""; }; - EA12290AFCE3F234A0956F58CF79AE23 /* race.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = race.swift; path = Sources/race.swift; sourceTree = ""; }; - EAFB72778A4CF43EA846688C56B82650 /* utils.c */ = {isa = PBXFileReference; includeInIndex = 1; name = utils.c; path = src/libsodium/sodium/utils.c; sourceTree = ""; }; - EB7E8D0913A1CB0092BF2886E7099A98 /* CryptoSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CryptoSwift.xcconfig; sourceTree = ""; }; - EBA88622BE642CBFDBD5BFA28B64512A /* Prime Test.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Prime Test.swift"; path = "sources/Prime Test.swift"; sourceTree = ""; }; - EC7BBDAEEDABB3BFA4B17E9ECD37C904 /* Alamofire+Synchronous.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Alamofire+Synchronous.swift"; path = "Source/Alamofire+Synchronous.swift"; sourceTree = ""; }; - ECB6D51A11E22330F7CA34333C037EA2 /* common.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = common.h; path = src/libsodium/crypto_stream/aes128ctr/nacl/common.h; sourceTree = ""; }; - ED316EA8B7E02F7B53C3C1CCC4C638C5 /* crypto_kdf.c */ = {isa = PBXFileReference; includeInIndex = 1; name = crypto_kdf.c; path = src/libsodium/crypto_kdf/crypto_kdf.c; sourceTree = ""; }; - EF1BC9310859F48C8798CAF4E3E7A8DC /* u4.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = u4.h; path = src/libsodium/crypto_stream/chacha20/dolbeau/u4.h; sourceTree = ""; }; - F09E70740BA9D3DD0D08514FF26DF867 /* lax_der_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_parsing.c; path = secp256k1_ios/contrib/lax_der_parsing.c; sourceTree = ""; }; - F0A9BB7C199293111326C34D5384896B /* crypto_stream.c */ = {isa = PBXFileReference; includeInIndex = 1; name = crypto_stream.c; path = src/libsodium/crypto_stream/crypto_stream.c; sourceTree = ""; }; - F1131ADEFB259BF34698BD54FAF6B02B /* verify.c */ = {isa = PBXFileReference; includeInIndex = 1; name = verify.c; path = src/libsodium/crypto_verify/sodium/verify.c; sourceTree = ""; }; - F14C3095563BB9AED9F31648ACE43080 /* num.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num.h; path = secp256k1_ios/src/num.h; sourceTree = ""; }; - F1C54D80CEE87C97889E172AD9FE8BC7 /* NSNotificationCenter+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSNotificationCenter+Promise.swift"; path = "Extensions/Foundation/Sources/NSNotificationCenter+Promise.swift"; sourceTree = ""; }; - F1CAE79A09FD409C84F9F89E1026FCB6 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Result/Result.swift; sourceTree = ""; }; - F1F5094520406626C085408B3D5B2283 /* libsecp256k1_ios.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libsecp256k1_ios.a; path = libsecp256k1_ios.a; sourceTree = BUILT_PRODUCTS_DIR; }; - F201767BB3C115C61941185518734805 /* CTR.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CTR.swift; path = Sources/CryptoSwift/BlockMode/CTR.swift; sourceTree = ""; }; - F268F5665279721BC2F9ABD0C747E4B2 /* NSRegularExpressionExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSRegularExpressionExtension.swift; path = web3swift/Convenience/Classes/NSRegularExpressionExtension.swift; sourceTree = ""; }; - F3DE69FFD7B990A942C48CD41D2DDD6B /* crypto_secretbox.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_secretbox.h; path = src/libsodium/include/sodium/crypto_secretbox.h; sourceTree = ""; }; - F3E84C9D5014C89C4DEB5D23998EB1E3 /* stream_salsa2012.c */ = {isa = PBXFileReference; includeInIndex = 1; name = stream_salsa2012.c; path = src/libsodium/crypto_stream/salsa2012/stream_salsa2012.c; sourceTree = ""; }; - F50DAE8E7630B671566CB3CAC7683A31 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Source/Result.swift; sourceTree = ""; }; - F62AFE3AECF195A90750B494E3D8EC94 /* Integer Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Integer Conversion.swift"; path = "sources/Integer Conversion.swift"; sourceTree = ""; }; - F67BE1F87CF9305B7FE1C0C1D4F1136A /* crypto_kdf_blake2b.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_kdf_blake2b.h; path = src/libsodium/include/sodium/crypto_kdf_blake2b.h; sourceTree = ""; }; - F6DADC5AE7B853094BC5CBEF51E9B221 /* afternm_aes128ctr.c */ = {isa = PBXFileReference; includeInIndex = 1; name = afternm_aes128ctr.c; path = src/libsodium/crypto_stream/aes128ctr/nacl/afternm_aes128ctr.c; sourceTree = ""; }; - F7131AE76F5B0F3F60AD970D9C6C2ADD /* core.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = core.h; path = src/libsodium/include/sodium/core.h; sourceTree = ""; }; - F7BA755D5BBEE03A36F256AA5A733BF9 /* Multiplication.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multiplication.swift; path = sources/Multiplication.swift; sourceTree = ""; }; - F7BFF74EBE02E8225ED1F848C567DCE0 /* libSipHash.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libSipHash.a; path = libSipHash.a; sourceTree = BUILT_PRODUCTS_DIR; }; - F844E0E76DC2084E2E5659E8ADD04136 /* hash_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash_impl.h; path = secp256k1_ios/src/hash_impl.h; sourceTree = ""; }; - F8D32E837752C31DEA33B070063BB806 /* ABITypes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABITypes.swift; path = web3swift/ABI/Classes/ABITypes.swift; sourceTree = ""; }; - F9231A12F233CD81D8A19140469A1FD2 /* PlainKeystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PlainKeystore.swift; path = web3swift/KeystoreManager/Classes/PlainKeystore.swift; sourceTree = ""; }; - F935224D112ABF7AB12E35FEAB128CFA /* crypto_onetimeauth.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_onetimeauth.h; path = src/libsodium/include/sodium/crypto_onetimeauth.h; sourceTree = ""; }; - F97A540E6645ED2971F062AD1BDD1A00 /* obsolete.c */ = {isa = PBXFileReference; includeInIndex = 1; name = obsolete.c; path = src/libsodium/crypto_sign/ed25519/ref10/obsolete.c; sourceTree = ""; }; - FA1E5AD7CBA2CDC84578D11F5BAC7F47 /* Promise+Web3+Eth+SendRawTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+SendRawTransaction.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+SendRawTransaction.swift"; sourceTree = ""; }; - FAC29BB5BB9DE277711D32AE16570304 /* crypto_sign.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = crypto_sign.h; path = src/libsodium/include/sodium/crypto_sign.h; sourceTree = ""; }; - FB082E49C99E9C875B3EA4669833C4F6 /* CFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CFB.swift; path = Sources/CryptoSwift/BlockMode/CFB.swift; sourceTree = ""; }; - FB8FDA0343922BD941208D5445570687 /* Words and Bits.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Words and Bits.swift"; path = "sources/Words and Bits.swift"; sourceTree = ""; }; - FB9E8C2B01A56CF27FD92FA45DCAD7AF /* Result-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Result-umbrella.h"; path = "../../Headers/Public/Result/Result-umbrella.h"; sourceTree = ""; }; - FBF751EA51C59D611A3C6CA8A63CB76A /* Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Codable.swift; path = sources/Codable.swift; sourceTree = ""; }; - FC22C56D57816F761EDFE4CA37E94703 /* salsa20_xmm6.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = salsa20_xmm6.h; path = src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.h; sourceTree = ""; }; - FC5693918B514B6B8319AADFB729835F /* Random.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Random.swift; path = sources/Random.swift; sourceTree = ""; }; - FC969CB84D81B084A6123804148E7D87 /* lax_der_privatekey_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_privatekey_parsing.c; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.c; sourceTree = ""; }; - FDCF05320EB6ACCCD2321F4F4A05D8B2 /* libBigInt.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libBigInt.a; path = libBigInt.a; sourceTree = BUILT_PRODUCTS_DIR; }; - FE6FCD7ED2C62A13DA5B5AC9E2E94FE1 /* secp256k1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1.h; path = secp256k1_ios/include/secp256k1.h; sourceTree = ""; }; - FEB502EA78FC5D3F5AC7295ECDE9ABF9 /* Catchable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catchable.swift; path = Sources/Catchable.swift; sourceTree = ""; }; + 9407649D3AF3DFA0898FB2D0CEE49FB0 /* Box.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Box.swift; path = Sources/Box.swift; sourceTree = ""; }; + 940A12297080FAFA2D6A547951269482 /* Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Padding.swift; path = Sources/CryptoSwift/Padding.swift; sourceTree = ""; }; + 96E3F22CA6F457C6C0E539FEED05B7D8 /* UIView+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.h"; sourceTree = ""; }; + 973DE1FE38BB17CD69943D581C7A55F5 /* Result-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-prefix.pch"; sourceTree = ""; }; + 97FB0B47D6C3C00BE02AEEF203416406 /* ecmult_const_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const_impl.h; path = secp256k1_ios/src/ecmult_const_impl.h; sourceTree = ""; }; + 99D40DFEB3A4C759CC493F70A4EA108B /* field_10x26.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26.h; path = secp256k1_ios/src/field_10x26.h; sourceTree = ""; }; + 99F1915E70ED67C2A41631A9B4E95409 /* CryptoSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CryptoSwift-dummy.m"; sourceTree = ""; }; + 99FD9803A2BF705DFA95E8CFE488F5D5 /* Pods-web3swiftExample.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swiftExample.modulemap"; sourceTree = ""; }; + 9C031C01E004DEF403FA0B8AA6EFF370 /* Floating Point Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Floating Point Conversion.swift"; path = "sources/Floating Point Conversion.swift"; sourceTree = ""; }; + 9E54B974F06101FBFA19F76844B3BBAC /* CipherModeWorker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CipherModeWorker.swift; path = Sources/CryptoSwift/BlockMode/CipherModeWorker.swift; sourceTree = ""; }; + 9E6FA3B41EF131B438CFDBB3807EAC51 /* EthereumFilterEncodingExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumFilterEncodingExtensions.swift; path = web3swift/Contract/Classes/EthereumFilterEncodingExtensions.swift; sourceTree = ""; }; + 9ED56C4C75C737397EB4A6FE4BD26A24 /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = Sources/CryptoSwift/CompactMap.swift; sourceTree = ""; }; + 9EE64A9528FF128B9020101AA65FE4AB /* Pods-web3swiftExample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swiftExample-dummy.m"; sourceTree = ""; }; + 9EFEFBE752ED120C422E3F0BD4914CC0 /* hang.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = hang.m; path = Sources/hang.m; sourceTree = ""; }; + 9FCA58FBDB526789B6493D9E0B521C63 /* AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AnyPromise.h; path = Sources/AnyPromise.h; sourceTree = ""; }; + A048C650E06E40C87E43CFE55025EAF3 /* afterlife.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = afterlife.swift; path = Extensions/Foundation/Sources/afterlife.swift; sourceTree = ""; }; + A05EDF9C50CA5FB4D54C034BBEEF360F /* PBKDF2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF2.swift; path = Sources/CryptoSwift/PKCS/PBKDF2.swift; sourceTree = ""; }; + A1CA8B0E93A127B5254EF75AB9709B6E /* Data Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data Conversion.swift"; path = "sources/Data Conversion.swift"; sourceTree = ""; }; + A1D77762CE9C119FD2F51D4CD9271FDE /* Result-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Result-dummy.m"; sourceTree = ""; }; + A3503BC8EDED598CEC412D7358F4643F /* BlockExplorer+GetTransactionHistory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BlockExplorer+GetTransactionHistory.swift"; path = "web3swift/BlockExplorer/Classes/BlockExplorer+GetTransactionHistory.swift"; sourceTree = ""; }; + A37841BD104497DB3DF5388D4367797E /* Cimpl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Cimpl.h; path = scrypt/Cimpl.h; sourceTree = ""; }; + A65AD597143380A8240447064605DDAF /* scalar_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_impl.h; path = secp256k1_ios/src/scalar_impl.h; sourceTree = ""; }; + A6BD782668E0147C274576B5E4F5F974 /* Catchable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catchable.swift; path = Sources/Catchable.swift; sourceTree = ""; }; + A6BE5137753028C21E8B2484B016E908 /* BlockMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockMode.swift; path = Sources/CryptoSwift/BlockMode/BlockMode.swift; sourceTree = ""; }; + A732C7582F6BC356D8BD853CDE811DFC /* Bit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bit.swift; path = Sources/CryptoSwift/Bit.swift; sourceTree = ""; }; + A76766DCA675A328B7621F2CC2BBDC37 /* after.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = after.swift; path = Sources/after.swift; sourceTree = ""; }; + A79C7498C141E9CE21DC4835847CA83A /* HKDF.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HKDF.swift; path = Sources/CryptoSwift/HKDF.swift; sourceTree = ""; }; + A8E64E89FB29BF345C63383D75E5A96E /* field_5x52_int128_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_int128_impl.h; path = secp256k1_ios/src/field_5x52_int128_impl.h; sourceTree = ""; }; + A9FF32F58B836138C1B80B183FBC3CE2 /* BigUInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigUInt.swift; path = sources/BigUInt.swift; sourceTree = ""; }; + AA69368BBED1E9C971B870CC1D39411E /* Promise+Web3+Eth+GetTransactionCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionCount.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionCount.swift"; sourceTree = ""; }; + AA7C97F0ED74220BA363EC3492AA6619 /* scalar_8x32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32.h; path = secp256k1_ios/src/scalar_8x32.h; sourceTree = ""; }; + AA9F942F287B75869B1E47BFFC388B1A /* Salsa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Salsa.swift; path = scrypt/scrypt/Salsa.swift; sourceTree = ""; }; + AE75FF51A11E82B5FCDD575E3CC34131 /* Random.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Random.swift; path = sources/Random.swift; sourceTree = ""; }; + AE8FBACB218297430528D7CE5DDC95A2 /* NSURLSession+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURLSession+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.m"; sourceTree = ""; }; + B083A17C989339898CDCEE89B4F75375 /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "web3swift/Convenience/Classes/Data+Extension.swift"; sourceTree = ""; }; + B0C4412C5C5FABF27D7ACA7E2F23CE3D /* secp256k1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1.h; path = secp256k1_ios/include/secp256k1.h; sourceTree = ""; }; + B0DA82837F4FE2A7E626BA8F125B29BB /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = Sources/Error.swift; sourceTree = ""; }; + B0F41748EE794FFF4AB23CC5592DB949 /* Subtraction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Subtraction.swift; path = sources/Subtraction.swift; sourceTree = ""; }; + B3068DD183E4985B3B7691D15DF8298E /* BlockDecryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockDecryptor.swift; path = Sources/CryptoSwift/BlockDecryptor.swift; sourceTree = ""; }; + B35AC37C80D4264C320B7E21A880E43B /* PromiseKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = PromiseKit.modulemap; sourceTree = ""; }; + B37F023A41759D539E276E87BF6D90C3 /* Web3+Wallet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Wallet.swift"; path = "web3swift/HookedFunctions/Classes/Web3+Wallet.swift"; sourceTree = ""; }; + B421CF5866C90A22CF4AD1B2FB521FB1 /* StreamEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StreamEncryptor.swift; path = Sources/CryptoSwift/StreamEncryptor.swift; sourceTree = ""; }; + B5D98626E7B2E6CEA32D15F9D18C4224 /* NSNotificationCenter+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.m"; sourceTree = ""; }; + B5E7B50FE11A248882E6C1A3F9B94E1F /* BIP32KeystoreJSONStructure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32KeystoreJSONStructure.swift; path = web3swift/KeystoreManager/Classes/BIP32KeystoreJSONStructure.swift; sourceTree = ""; }; + B6C066266425FB691258429D89B58322 /* Web3+Protocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Protocols.swift"; path = "web3swift/Web3/Classes/Web3+Protocols.swift"; sourceTree = ""; }; + B7A36BF0987C747B882373933D43D47E /* CustomStringConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomStringConvertible.swift; path = Sources/CustomStringConvertible.swift; sourceTree = ""; }; + B7DCA902F4BD0A6D5EAB1E39146270DD /* AES.Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.Cryptors.swift; path = Sources/CryptoSwift/AES.Cryptors.swift; sourceTree = ""; }; + B834A0B254CE3D581189392480DB3517 /* Promise+Web3+Eth+GetGasPrice.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetGasPrice.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetGasPrice.swift"; sourceTree = ""; }; + B8577B9E45726016E2FBBDE2C00FBA5E /* SipHashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHashable.swift; path = SipHash/SipHashable.swift; sourceTree = ""; }; + B892DF36FBCBE33582AE5F6826F178FE /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Configuration.swift; sourceTree = ""; }; + B8E9B7215E082F31D22AE879FC8E6A1F /* Authenticator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Authenticator.swift; path = Sources/CryptoSwift/Authenticator.swift; sourceTree = ""; }; + BAAC01A47C8984D8B7CC71964CAB89C1 /* EventFiltering.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EventFiltering.swift; path = web3swift/Contract/Classes/EventFiltering.swift; sourceTree = ""; }; + BAE7C5677B39ED368F1B2A247D241199 /* UIViewController+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.h"; sourceTree = ""; }; + BB0D492A199FDCE619F35C5B9F15159E /* scrypt-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-prefix.pch"; sourceTree = ""; }; + BB92779C818B8269C48BED9212AAF37F /* web3swift-Bridging-Header.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "web3swift-Bridging-Header.h"; path = "web3swift/web3swift-Bridging-Header.h"; sourceTree = ""; }; + BBA5DBF0F836BCDC6BD27E61549AAC70 /* ECB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ECB.swift; path = Sources/CryptoSwift/BlockMode/ECB.swift; sourceTree = ""; }; + BBB186A40620A95D2A4EE454989B445E /* join.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = join.m; path = Sources/join.m; sourceTree = ""; }; + BD5D175D4442830B35689DDF3D60C5F8 /* Web3+Instance+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Instance+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+Instance+ObjC.swift"; sourceTree = ""; }; + BFFDB386AE35349F33B00B6D7A8525EB /* Web3+Contract.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Contract.swift"; path = "web3swift/Web3/Classes/Web3+Contract.swift"; sourceTree = ""; }; + C1D32AFFBF6E022875FA6FA5E31CDD8C /* ABIv2TypeParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2TypeParser.swift; path = web3swift/ABIv2/Classes/ABIv2TypeParser.swift; sourceTree = ""; }; + C1E160858524FA249084D3D67DF197C8 /* scrypt.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = scrypt.modulemap; sourceTree = ""; }; + C227C20C27715023D2C006ED811A0FAD /* scalar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar.h; path = secp256k1_ios/src/scalar.h; sourceTree = ""; }; + C3EAA6334BA9847C7D5688F154251C3C /* Base58.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Base58.swift; path = web3swift/Convenience/Classes/Base58.swift; sourceTree = ""; }; + C40EDDE1B718C8470C7AA3C48C5554AE /* num_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_impl.h; path = secp256k1_ios/src/num_impl.h; sourceTree = ""; }; + C42BF3CAC53EA5AA37D4CC5C152AA8B6 /* UInt128.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UInt128.swift; path = Sources/CryptoSwift/UInt128.swift; sourceTree = ""; }; + C44F34B4A43FBA288053EED2B79F6ACB /* scratch_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch_impl.h; path = secp256k1_ios/src/scratch_impl.h; sourceTree = ""; }; + C4D1A5DD3EF2B55B1F7090048637E96A /* Strideable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Strideable.swift; path = sources/Strideable.swift; sourceTree = ""; }; + C4D54F7C6D9EA280A0460EFA15E45520 /* Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Codable.swift; path = sources/Codable.swift; sourceTree = ""; }; + C5B7066F1E4B26038FE68DE60BCBBA7D /* CryptoSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-umbrella.h"; sourceTree = ""; }; + C7A5FC3965022F4087D250C6B9EFC804 /* when.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = when.m; path = Sources/when.m; sourceTree = ""; }; + C82501607388B8BCA99C8AFAEFD1465C /* Shifts.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Shifts.swift; path = sources/Shifts.swift; sourceTree = ""; }; + C8C2E113E148B418D9CFFA9563D61A9C /* Web3+Personal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Personal.swift"; path = "web3swift/Web3/Classes/Web3+Personal.swift"; sourceTree = ""; }; + C8D29DC59940B5FDB7E394779075BECE /* MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MD5.swift; path = Sources/CryptoSwift/MD5.swift; sourceTree = ""; }; + C9BB9612098BEF96218A20B30D84C0F5 /* PKCS7Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7Padding.swift; path = Sources/CryptoSwift/PKCS/PKCS7Padding.swift; sourceTree = ""; }; + CA13324E6B18FC344F7E858446786F1B /* fwd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fwd.h; path = Sources/fwd.h; sourceTree = ""; }; + CA18A76F4C080B687839B8EF95C096E1 /* Web3+Eth+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Eth+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+Eth+ObjC.swift"; sourceTree = ""; }; + CA57CE485B097FA3819A70808EC9563A /* Scrypt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scrypt.swift; path = scrypt/scrypt/Scrypt.swift; sourceTree = ""; }; + CB58A1F8BA189B147A3A2B8EE893A5F2 /* SHA3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA3.swift; path = Sources/CryptoSwift/SHA3.swift; sourceTree = ""; }; + CB850682BB5958733FC8B52787BAC26F /* Promise+Web3+Contract+GetIndexedEvents.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Contract+GetIndexedEvents.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Contract+GetIndexedEvents.swift"; sourceTree = ""; }; + CBB29B20CE255658DDB1532AC1266247 /* UIView+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.m"; sourceTree = ""; }; + CD02528C65BB0F37587F72DFC75F763B /* Promise+Batching.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Batching.swift"; path = "web3swift/Promises/Classes/Promise+Batching.swift"; sourceTree = ""; }; + CFD4B69F8A727F8A3888203E38DD2A63 /* RandomBytesSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomBytesSequence.swift; path = Sources/CryptoSwift/RandomBytesSequence.swift; sourceTree = ""; }; + D16392BB50E5CB36CCE0946928A6E774 /* Web3+JSONRPC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+JSONRPC.swift"; path = "web3swift/Web3/Classes/Web3+JSONRPC.swift"; sourceTree = ""; }; + D4325AC70ADD65BEB3851931F4DDD2B1 /* SipHash-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-prefix.pch"; sourceTree = ""; }; + D4A915B27C142C9851B0FC16DB2ACE3E /* Web3+BrowserFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+BrowserFunctions.swift"; path = "web3swift/HookedFunctions/Classes/Web3+BrowserFunctions.swift"; sourceTree = ""; }; + D5C569671837CF74CAABEA7BA50950AD /* ABIv2ParameterTypes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2ParameterTypes.swift; path = web3swift/ABIv2/Classes/ABIv2ParameterTypes.swift; sourceTree = ""; }; + D611D9EC9939318B1A869FB533E3081B /* UIView+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Promise.swift"; path = "Extensions/UIKit/Sources/UIView+Promise.swift"; sourceTree = ""; }; + D65E0431F0537EA35BD7DAF5F94927D4 /* Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Poly1305.swift; path = Sources/CryptoSwift/Poly1305.swift; sourceTree = ""; }; + D914AC0AB63A632AC7633D885778EBCF /* CryptoSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CryptoSwift.xcconfig; sourceTree = ""; }; + D9820DAF2C85EF9676F910DE851D4162 /* SipHasher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHasher.swift; path = SipHash/SipHasher.swift; sourceTree = ""; }; + DA177BA14669EB8B685B3F62D790F9C3 /* firstly.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = firstly.swift; path = Sources/firstly.swift; sourceTree = ""; }; + DA74A78957A0CAC7EE67F329C7D19AF0 /* ecdsa_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa_impl.h; path = secp256k1_ios/src/ecdsa_impl.h; sourceTree = ""; }; + DBA9232DC21A4588EA5C4A6360ED7D64 /* Web3+Options.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Options.swift"; path = "web3swift/Web3/Classes/Web3+Options.swift"; sourceTree = ""; }; + DBEC0F8F6B1817868AA19E3502F2834D /* secp256k1_ios.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = secp256k1_ios.modulemap; sourceTree = ""; }; + DC13E3A095630065A63A08AF09FAB39F /* SHA2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA2.swift; path = Sources/CryptoSwift/SHA2.swift; sourceTree = ""; }; + DC969B5AEC409B7F51A179949E6D0CF1 /* num.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num.h; path = secp256k1_ios/src/num.h; sourceTree = ""; }; + DF1AD7A03062250545811E60016148CF /* NSRegularExpressionExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSRegularExpressionExtension.swift; path = web3swift/Convenience/Classes/NSRegularExpressionExtension.swift; sourceTree = ""; }; + E06D321FD0D4501F1FF7D6F6264A1DDE /* scalar_4x64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64.h; path = secp256k1_ios/src/scalar_4x64.h; sourceTree = ""; }; + E20325AD797DB5BA5787DCB0E743E290 /* Utils+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Utils+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Utils+Foundation.swift"; sourceTree = ""; }; + E3457915D72C8396DE12FE14D7A8852C /* AnyPromise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyPromise.swift; path = Sources/AnyPromise.swift; sourceTree = ""; }; + E4B92864B1CA33880BA06C60DDA3952B /* libsecp256k1-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "libsecp256k1-config.h"; path = "secp256k1_ios/libsecp256k1-config.h"; sourceTree = ""; }; + E4CFD5F759228BAD6E44D4AAB52653B5 /* ContractABIv2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContractABIv2.swift; path = web3swift/Contract/Classes/ContractABIv2.swift; sourceTree = ""; }; + E5C7B4BF4756A6319C9C3EF43BC2269E /* num_gmp_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp_impl.h; path = secp256k1_ios/src/num_gmp_impl.h; sourceTree = ""; }; + E705EB0EC3F843226C5530B49D66F44E /* field.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field.h; path = secp256k1_ios/src/field.h; sourceTree = ""; }; + E7392F15D9E28ABE006D665C8C76D964 /* GCD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCD.swift; path = sources/GCD.swift; sourceTree = ""; }; + E92471A6404F95DFCFD6D27751246E1E /* Cryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptor.swift; path = Sources/CryptoSwift/Cryptor.swift; sourceTree = ""; }; + E9FAA6A53A97BA2E6A2ED16DE2451DDC /* Web3+Eth.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Eth.swift"; path = "web3swift/Web3/Classes/Web3+Eth.swift"; sourceTree = ""; }; + ECA90F28821D65DE1389723B535297DE /* CryptoSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-prefix.pch"; sourceTree = ""; }; + ED0070FE7462B58C47F60E55B8C0AA5E /* String Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String Conversion.swift"; path = "sources/String Conversion.swift"; sourceTree = ""; }; + ED3A35F62CF4696CC475089EADED9E19 /* Promise+Web3+Eth+GetAccounts.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetAccounts.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetAccounts.swift"; sourceTree = ""; }; + EDA43B32781D9D973ED35A557A240958 /* field_5x52_asm_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_asm_impl.h; path = secp256k1_ios/src/field_5x52_asm_impl.h; sourceTree = ""; }; + EEDAFED9F2E7A4D6945433CF19C261A5 /* HMAC+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "HMAC+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/HMAC+Foundation.swift"; sourceTree = ""; }; + EFC296C2BEC907D60DCA20DD2859E714 /* Result.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Result.xcconfig; sourceTree = ""; }; + F2ABB5405C641CC68BD096B2B036EE11 /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/CryptoSwift/AES.swift; sourceTree = ""; }; + F345EE303C18CA7571D1C08F595659F1 /* SipHash.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SipHash.modulemap; sourceTree = ""; }; + F38AF3A827B05E1C96CC72F240A5AC14 /* PromiseKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-umbrella.h"; sourceTree = ""; }; + F3DB5983D5328F395EC023B6F7BA9412 /* Pods-web3swiftExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swiftExample.release.xcconfig"; sourceTree = ""; }; + F3DC571B8A19A17AAAC784433AABB955 /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "web3swift/Convenience/Classes/Array+Extension.swift"; sourceTree = ""; }; + F3E16828B172E3E29C2C2A69EFDF43AF /* ABIv2Encoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Encoding.swift; path = web3swift/ABIv2/Classes/ABIv2Encoding.swift; sourceTree = ""; }; + F3F5A2A6D774B47357984CAF7863D68F /* String+FoundationExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+FoundationExtension.swift"; path = "Sources/CryptoSwift/Foundation/String+FoundationExtension.swift"; sourceTree = ""; }; + F412C8E7409927D4E4032AA2237D1ABD /* NativeTypesEncoding+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NativeTypesEncoding+Extensions.swift"; path = "web3swift/Convenience/Classes/NativeTypesEncoding+Extensions.swift"; sourceTree = ""; }; + F50562362228B990CE143E7EEC4860EC /* Resolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Resolver.swift; path = Sources/Resolver.swift; sourceTree = ""; }; + F5D6AF8D555A9E4255C5A7F9DBA2C46A /* Result-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-umbrella.h"; sourceTree = ""; }; + F5F05B314C909125D077A6977F0E706F /* Guarantee.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Guarantee.swift; path = Sources/Guarantee.swift; sourceTree = ""; }; + F65C87A76C6A03B2087AD0F053518E55 /* CryptoExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CryptoExtensions.swift; path = web3swift/Convenience/Classes/CryptoExtensions.swift; sourceTree = ""; }; + F73C8D13D7365EE34099B5B7D39B60B7 /* Promise+Web3+Eth+SendRawTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+SendRawTransaction.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+SendRawTransaction.swift"; sourceTree = ""; }; + F773C8F575C7369A7CA7E723748E110D /* eckey_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey_impl.h; path = secp256k1_ios/src/eckey_impl.h; sourceTree = ""; }; + F7C85CCAD8B8BB2BC645025063627244 /* Division.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Division.swift; path = sources/Division.swift; sourceTree = ""; }; + F956125ABF2FC6AD75ECDBF46DA4BA22 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Result/Result.swift; sourceTree = ""; }; + F9E575A8DCCCA9340467D59D513CE613 /* group_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group_impl.h; path = secp256k1_ios/src/group_impl.h; sourceTree = ""; }; + FA8F9990F972DBEA8E1998A5A1F0F1F9 /* Process+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Process+Promise.swift"; path = "Extensions/Foundation/Sources/Process+Promise.swift"; sourceTree = ""; }; + FAB164AAEFA3768FB27145624FE1B935 /* AES+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AES+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/AES+Foundation.swift"; sourceTree = ""; }; + FB5BC642B12A83508582043830A9216B /* when.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = when.swift; path = Sources/when.swift; sourceTree = ""; }; + FB682963D538987398F14AB14E9F6457 /* PKCS5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS5.swift; path = Sources/CryptoSwift/PKCS/PKCS5.swift; sourceTree = ""; }; + FBCF03C2FFB16105B36B473D4E7B2D8C /* SecureBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SecureBytes.swift; path = Sources/CryptoSwift/SecureBytes.swift; sourceTree = ""; }; + FBD8B2F40C0C32DCEA7AA785534F1FB9 /* Result.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Result.modulemap; sourceTree = ""; }; + FD708B9B8D939244EFAB57D224317EAE /* Promise+Web3+Eth+GetTransactionDetails.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionDetails.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionDetails.swift"; sourceTree = ""; }; + FDA88052388E64B0D79D3B4902DD4F7A /* libscrypt.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libscrypt.a; path = libscrypt.a; sourceTree = BUILT_PRODUCTS_DIR; }; + FDB053580814C7204EAA8C60A26D2F9C /* PBKDF1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF1.swift; path = Sources/CryptoSwift/PKCS/PBKDF1.swift; sourceTree = ""; }; + FDB3EF4D45930CAA3FBB049933F6B674 /* Deprecations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecations.swift; path = Sources/Deprecations.swift; sourceTree = ""; }; + FE6BA4E4F7BB1208228F3E42F90DCE1B /* Promise+Web3+Eth+SendTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+SendTransaction.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+SendTransaction.swift"; sourceTree = ""; }; + FEF79F557134C26ABD37AE7F9CB5C154 /* Int+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Int+Extension.swift"; path = "Sources/CryptoSwift/Int+Extension.swift"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 16A081940B7B4620FA68CA39C1F7936D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 21FA9C90304F8596C9EE0647F7C9E1EE /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 325A85FC0CD5BCF38ADE42EE7531C2A2 /* Frameworks */ = { + 0537F34931CD1EAF1B45F6B72325E869 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 3AD92E87133398AF46C0366F5CDE65D2 /* Frameworks */ = { + 074822914DA50BC43B6AB0802CD935A2 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 4F3B7B8D9C991CB084295797C045670C /* Frameworks */ = { + 18C5ABD1C406C832B0DD15AA82CC41C4 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - AEA92C1D6AB549D30835ED6856354623 /* Frameworks */ = { + 21FA9C90304F8596C9EE0647F7C9E1EE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 51AEF503E82AC96C245183B829DDB9B4 /* CoreImage.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - C6923AF97849B16CED864BEC379F56D3 /* Frameworks */ = { + 325A85FC0CD5BCF38ADE42EE7531C2A2 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7B52DEFB82728803CC2097C6A8FFC45A /* Foundation.framework in Frameworks */, - 7D5FBBB7824B23957F8A3D64E461644F /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - C874A6F022590C2522C2EE3F71BFF7D5 /* Frameworks */ = { + 76402B5CC42ABD207A9C81A6A4712B42 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - CD81A7D7D1AF97175C072C049F54F69A /* Frameworks */ = { + 841B7B892F8C57CBEF5FB03AC753C3AB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - D1BB7362F0101C339A871C2C0F31795D /* Frameworks */ = { + 90440DC7AC48BE32148838250163B5C1 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - EF23B29C8330529A251120A9C9D457BB /* Frameworks */ = { + A7F757D73E3A0EC9C2E23F63AE6289BE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -1401,1207 +855,734 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0A98A4FDDC6D2985ABB92C8AF584C186 /* Pods */ = { - isa = PBXGroup; - children = ( - 6EBCC87B07F0E5F159EC9BE1D37C25D0 /* Alamofire */, - 9AEEBC1965E61A2071CEEAB94693FDC0 /* Alamofire-Synchronous */, - 64B1C05B447BBEEAE6392524EAD6983C /* BigInt */, - 1906CD3B87DDBA1523E4D3E6714DFC55 /* CryptoSwift */, - 380C0EF2501B107BDCF735B1167BA873 /* libsodium */, - FFD8D5C900D659A5C3A53E13A360E0D3 /* PromiseKit */, - 675A354F817AC030781E6065F1D4ED25 /* Result */, - EC3F4804EA5F27BA6D67085C4F1722EA /* secp256k1_ios */, - A241CDA2DD906BE292FFF78E32BC9491 /* SipHash */, - 27961CC476E3B2F4A2571C917F0F19FF /* web3swift */, - ); - name = Pods; - sourceTree = ""; - }; - 0AF920C486366BC375B75DAC7567A708 /* Support Files */ = { + 07EBAE78C70E7B9D9575876CB4EB7A5B /* CorePromise */ = { isa = PBXGroup; children = ( - 1575AB578CC9B436956300AA041185CC /* PromiseKit.modulemap */, - 4884902798C6B84DACA5714E91756627 /* PromiseKit.xcconfig */, - 17E30DC65A8D286161F99AC88CFB64EA /* PromiseKit-dummy.m */, - 6BEDE14426548565485221D62178EDE4 /* PromiseKit-prefix.pch */, - 28E70ABB8F03583D0CB1A83CDD9753BF /* PromiseKit-umbrella.h */, + 4ACE68F0C0BB240B67D6607627A0409D /* after.m */, + A76766DCA675A328B7621F2CC2BBDC37 /* after.swift */, + 9FCA58FBDB526789B6493D9E0B521C63 /* AnyPromise.h */, + 772A5E3F2CEC01BEB15C9C969E63D298 /* AnyPromise.m */, + E3457915D72C8396DE12FE14D7A8852C /* AnyPromise.swift */, + 9407649D3AF3DFA0898FB2D0CEE49FB0 /* Box.swift */, + A6BD782668E0147C274576B5E4F5F974 /* Catchable.swift */, + B892DF36FBCBE33582AE5F6826F178FE /* Configuration.swift */, + B7A36BF0987C747B882373933D43D47E /* CustomStringConvertible.swift */, + FDB3EF4D45930CAA3FBB049933F6B674 /* Deprecations.swift */, + 323E701BDC75F79161DF588C4113A918 /* dispatch_promise.m */, + B0DA82837F4FE2A7E626BA8F125B29BB /* Error.swift */, + DA177BA14669EB8B685B3F62D790F9C3 /* firstly.swift */, + CA13324E6B18FC344F7E858446786F1B /* fwd.h */, + F5F05B314C909125D077A6977F0E706F /* Guarantee.swift */, + 9EFEFBE752ED120C422E3F0BD4914CC0 /* hang.m */, + 256138718C583C679BA3011347A299C7 /* hang.swift */, + BBB186A40620A95D2A4EE454989B445E /* join.m */, + 5D53A19896270253638D6DADB73A57B2 /* Promise.swift */, + 1BC9B7EAF3577A34C9142730D08BBAA9 /* PromiseKit.h */, + 7DD7D170A631D238DD87B920F3821371 /* race.m */, + 21B6545014E4E1EEB09BDBDFBEA13516 /* race.swift */, + F50562362228B990CE143E7EEC4860EC /* Resolver.swift */, + 74C7EFAAA5563E59498B9632722813D1 /* Thenable.swift */, + C7A5FC3965022F4087D250C6B9EFC804 /* when.m */, + FB5BC642B12A83508582043830A9216B /* when.swift */, ); - name = "Support Files"; - path = "../Target Support Files/PromiseKit"; + name = CorePromise; sourceTree = ""; }; - 0D58023F7CDBDD8A60E025B7A402729A /* Support Files */ = { + 095791331B5167451F5C8FE21FE87C94 /* UIKit */ = { isa = PBXGroup; children = ( - 582FAE5A9FCA41DD209DDE7C83CD17F3 /* SipHash.modulemap */, - ACE32CE495474530C295F39F8839A8E3 /* SipHash.xcconfig */, - 648445BA3E66DF0BB5CED3F9CF3DF648 /* SipHash-dummy.m */, - E54D4EFB366997E4A58FF3DA3D19E2C7 /* SipHash-prefix.pch */, - 527C49C6A3AB5749B6C817A160DAE990 /* SipHash-umbrella.h */, + 4494989642C43EC56A1C209F11EAA579 /* PMKUIKit.h */, + 96E3F22CA6F457C6C0E539FEED05B7D8 /* UIView+AnyPromise.h */, + CBB29B20CE255658DDB1532AC1266247 /* UIView+AnyPromise.m */, + D611D9EC9939318B1A869FB533E3081B /* UIView+Promise.swift */, + BAE7C5677B39ED368F1B2A247D241199 /* UIViewController+AnyPromise.h */, + 1DFB1FBA4C24F7060FC8616294B079E8 /* UIViewController+AnyPromise.m */, + 3B4AC44500F159CD237DA769095DE4A2 /* UIViewPropertyAnimator+Promise.swift */, ); - name = "Support Files"; - path = "../Target Support Files/SipHash"; + name = UIKit; sourceTree = ""; }; - 122DA2E5084A4393C29BE363C764795C /* Frameworks */ = { + 0F8D2E47FE03D3B91B51069F7C273AF4 /* Frameworks */ = { isa = PBXGroup; children = ( - 1748BF01C5AE4E6F0B196DB96781CDB8 /* iOS */, ); name = Frameworks; sourceTree = ""; }; - 1748BF01C5AE4E6F0B196DB96781CDB8 /* iOS */ = { + 1252866A8E899DFEB90281FD4910CE3A /* Support Files */ = { isa = PBXGroup; children = ( - 06CE1376B83758DCF21C9C1F8BC45B40 /* CoreImage.framework */, - 808368B1CD434CB746509F52295C5FBF /* Foundation.framework */, - 31F98D4AD3C62606E30A4099DA5FCAC1 /* UIKit.framework */, + 4889008E797DEA00B30EACB8E0D243E7 /* web3swift.modulemap */, + 68A50C595697D190E564425720BC14EB /* web3swift.xcconfig */, + 1D19A599F033CB640BC281C9DDD005A7 /* web3swift-dummy.m */, + 8513371DF9ECC2C2DE1AE63075533C3F /* web3swift-prefix.pch */, + 0ECEAC97DC37DEE322CE4D6A7FD317D1 /* web3swift-umbrella.h */, ); - name = iOS; + name = "Support Files"; + path = "../Target Support Files/web3swift"; sourceTree = ""; }; - 1906CD3B87DDBA1523E4D3E6714DFC55 /* CryptoSwift */ = { + 15267E1ABCE857647399B223131D6434 /* Support Files */ = { isa = PBXGroup; children = ( - A78E30008A15B04A4C0C56C28508B13C /* AEAD.swift */, - A3CA20A8B92C9DFA548CE04FE6139E40 /* AEADChaCha20Poly1305.swift */, - 2BA88B16B07FF2EC540C4E0A47BDC801 /* AES.swift */, - 2A938829C220D6635044BFE88E640E8E /* AES+Foundation.swift */, - B10B9BB090521D08CD90EB7706B7CC17 /* AES.Cryptors.swift */, - 74BB6786B389AB72D57AB6AD89109193 /* Array+Extension.swift */, - 820F54FABD7D2A51B2FBD85C499D82A4 /* Array+Foundation.swift */, - 1937DF65A4745FC2FC4B67867A908790 /* Authenticator.swift */, - 092459FC8990008AB406200ED66FE36F /* BatchedCollection.swift */, - 14510963E18B93FAC92CE7F5A9A61B83 /* Bit.swift */, - 5AE908ACBCD80950977A68E3D754B3F1 /* BlockCipher.swift */, - A30A5F6EC909C732D0E1E305F2BE641A /* BlockMode.swift */, - 92992C8B8A090D4AC0AE49D56E086829 /* BlockModeOptions.swift */, - 4155BBB05A80D040A192A96814E054F7 /* BlockModeWorker.swift */, - 4324389269FB1192E7BBFADA4732AC82 /* Blowfish.swift */, - B7A8E09168BD1AAB946DFB7FBD725296 /* Blowfish+Foundation.swift */, - E7FE975AE928CBD078E0F4B07C0BF7E4 /* CBC.swift */, - FB082E49C99E9C875B3EA4669833C4F6 /* CFB.swift */, - A02F29C86D2608D661D521C16A38BBFD /* ChaCha20.swift */, - A6122BC02913DA15C11721492DBF8783 /* ChaCha20+Foundation.swift */, - BE65E223CF65898BE317D93E93929D81 /* Checksum.swift */, - E3C55D634D2DDD3031909FD4CE6F8C4C /* Cipher.swift */, - 8C7CB30AA196C7792F638CE4F3426363 /* CMAC.swift */, - C40DC50EB768EDC9876AD784C09EB606 /* Collection+Extension.swift */, - 18451260952E5FB6B08F485254ABDB3B /* CompactMap.swift */, - E9AF7611B44D79FE1EEB5A7EE3C849D2 /* Cryptors.swift */, - F201767BB3C115C61941185518734805 /* CTR.swift */, - 2E7E754C62F5E2F5EBB40C2CA7519FE1 /* Data+Extension.swift */, - 27AFA07E52C7D9FAE4A34D852E34629B /* Digest.swift */, - 067C0F4AB70D67F3E120046DDAB8ADB2 /* DigestType.swift */, - A8CFE788ABAAFE39B4CA2F495346B0E5 /* ECB.swift */, - 62AFA5C223526CC43C15638170596B2F /* GCM.swift */, - A53B8AD8087888B333C001F85E93C5E2 /* Generics.swift */, - B20CBF4D89117AAF9732AD0FFBDBF552 /* HKDF.swift */, - B5D406757818F20BFCBB2BAA40903EEF /* HMAC.swift */, - 4C9A088DC86DC16B8200A35FC04B3395 /* HMAC+Foundation.swift */, - 9486E9FF4944CBA333E3B75F9BBF3111 /* Int+Extension.swift */, - 007BE2291314468C32B33D9BF29D302F /* MD5.swift */, - 251351526C750B0F3B0C89733271F694 /* NoPadding.swift */, - 6E8E7D961CB3865D04263971B5DE5E60 /* OFB.swift */, - 5E2CA63F7302CC764F9CE8BF0CB369D3 /* Operators.swift */, - 88987A0B0B72B257A1A17B5A18B7A948 /* Padding.swift */, - 6191181337A9EE87164D59F8ED46D1F2 /* PBKDF1.swift */, - D3F2E5AF2E14BB76AA10AE507E817CB3 /* PBKDF2.swift */, - B323168B984B5F586F51C21741637189 /* PCBC.swift */, - 7CFDD458D58C8E8BCA2F31C6D3C13F0F /* PKCS5.swift */, - 85648B428FD546D0EEE9B712AC3F9802 /* PKCS7.swift */, - 717AF3E6AAC4ECC846038141C72E1CCD /* PKCS7Padding.swift */, - 6DA823B008F313A4E820CE02A1568C6D /* Poly1305.swift */, - 9951328EBDBD04E94E2A6A61479DEE80 /* Rabbit.swift */, - 0D177460DCBCD96871DEE39E2B87C3AB /* Rabbit+Foundation.swift */, - 82CE8451464BAFDFD32B4B34523E3CCF /* RandomAccessBlockModeWorker.swift */, - BF65116EFB6B2A469219760564F0E80C /* RandomAccessCryptor.swift */, - 66EBF42BE0E4ED04BEB9BCE41A4E3C77 /* RandomBytesSequence.swift */, - 265521B0B24D2CC32E72699A0DF1C3DA /* SecureBytes.swift */, - 6279211C77C17BE8DCE5D8618E163BC2 /* SHA1.swift */, - 0E6DA4B12ED2E3F2531357F7F222BA7E /* SHA2.swift */, - AF5C55063747E3DE8F156B88E5F7497F /* SHA3.swift */, - A4BDEACA6E2DEAE9ACEB0CCFA746D81F /* String+Extension.swift */, - 535EFCDFD9387450D2AD6A3B52A26FBA /* String+FoundationExtension.swift */, - 4DC25DE0AB4CC92F0F7B43626B6D055F /* UInt128.swift */, - DF8A64864C280BD1C8CEFE1E870D11AF /* UInt16+Extension.swift */, - 7F2034E0D60F35BD70E5EB5B4D7A7827 /* UInt32+Extension.swift */, - 7CC35BBD694BD4CD32795B778EB87273 /* UInt64+Extension.swift */, - 0DD2E496E346AAF31C833FEA4814638C /* UInt8+Extension.swift */, - 61F427E286AA7746F1276B2A62455708 /* Updatable.swift */, - 4B43E3FD5120B0CEF5EBB2AA96FA33D9 /* Utils.swift */, - 22568717B422F1C8AFB8025F5923DF96 /* Utils+Foundation.swift */, - 2EA31E0820160665E9F9E522FE49F0F1 /* ZeroPadding.swift */, - 6B0E6710B0A7591625E5793F56A35D96 /* Support Files */, + DBEC0F8F6B1817868AA19E3502F2834D /* secp256k1_ios.modulemap */, + 6AE04FCF5B21A9BA14FEFFCE5C001C9C /* secp256k1_ios.xcconfig */, + 0D1172DA5E0AB5C4C336BE89B155DB65 /* secp256k1_ios-dummy.m */, + 586D5FA2AF8538B591CF24C72E998533 /* secp256k1_ios-prefix.pch */, + 4CE1FC37CE5129D5F14970B958DB8192 /* secp256k1_ios-umbrella.h */, ); - name = CryptoSwift; - path = CryptoSwift; + name = "Support Files"; + path = "../Target Support Files/secp256k1_ios"; sourceTree = ""; }; - 1F84090814B5775CA5427E116EC7B1A4 /* Foundation */ = { + 33548EC949E8B683284D35310869DD50 /* Pods-web3swiftExample */ = { isa = PBXGroup; children = ( - A98F96CA8F1A049C4B05CFE507B7116F /* afterlife.swift */, - 301773F3198C0AD45A6451FCB62D7E08 /* NSNotificationCenter+AnyPromise.h */, - 7A0416D0FDEEE733AC08F5EC71F3F025 /* NSNotificationCenter+AnyPromise.m */, - F1C54D80CEE87C97889E172AD9FE8BC7 /* NSNotificationCenter+Promise.swift */, - 153E6D55B6201287A4FF6934FF848E3C /* NSObject+Promise.swift */, - 0A09550396D2A31A617D7FB564A8EA0F /* NSTask+AnyPromise.h */, - B357F04D8455D344BC047DCF956A4372 /* NSTask+AnyPromise.m */, - 425F24DE62C86A8B5FCBACE59B056A9D /* NSURLSession+AnyPromise.h */, - 2F680F8F40CDCBD1870C4AA2C57BBF48 /* NSURLSession+AnyPromise.m */, - BD5AB7E0262BB68CA2E8483784B5ACC9 /* NSURLSession+Promise.swift */, - 8F5035CF3223581009F2B932AA16D056 /* PMKFoundation.h */, - BF6F70A5A4C914BEFFDACDD290145A18 /* Process+Promise.swift */, + 99FD9803A2BF705DFA95E8CFE488F5D5 /* Pods-web3swiftExample.modulemap */, + 766D24708AC3AAE11C1368CEAEB4EA5C /* Pods-web3swiftExample-acknowledgements.markdown */, + 1783AE3ABADA5096BE70D5939EE58E22 /* Pods-web3swiftExample-acknowledgements.plist */, + 9EE64A9528FF128B9020101AA65FE4AB /* Pods-web3swiftExample-dummy.m */, + 421B749E58F87E0C839D613211A2D0D6 /* Pods-web3swiftExample-umbrella.h */, + 2A3B82C924810D565EACB8DD0250AF2F /* Pods-web3swiftExample.debug.xcconfig */, + F3DB5983D5328F395EC023B6F7BA9412 /* Pods-web3swiftExample.release.xcconfig */, ); - name = Foundation; + name = "Pods-web3swiftExample"; + path = "Target Support Files/Pods-web3swiftExample"; sourceTree = ""; }; - 27961CC476E3B2F4A2571C917F0F19FF /* web3swift */ = { + 34AFA66336C6501838838E84DC7993F5 /* web3swift */ = { isa = PBXGroup; children = ( - D2BE0C04FFD4CD30E47B1152535C53AD /* ABIDecoder.swift */, - 00FC062082B74F6639AB5F0F27F03998 /* ABIEncoder.swift */, - 1A8906EBEBBC9C9DD2C9536E7B78B6AF /* ABIRecordParser.swift */, - F8D32E837752C31DEA33B070063BB806 /* ABITypes.swift */, - E67737663547466943C187905AE49DF6 /* ABIv2.swift */, - CA173EF1995B1EE27FD795175A901F82 /* ABIv2Decoding.swift */, - 6BD70F722DC67C36935631DF4E1927CC /* ABIv2Elements.swift */, - 8CEDC8143C3E737EC371CCA7624103C9 /* ABIv2Encoding.swift */, - 3F4D641943D661E5472E07948299399F /* ABIv2ParameterTypes.swift */, - 0537F1018402B92299C568F8E1E655FC /* ABIv2Parsing.swift */, - DC6EF231032ECA28836610F9D79B7613 /* ABIv2TypeParser.swift */, - 873BB15734C31B0FE01CE629C34EE8C8 /* AbstractKeystore.swift */, - E4E7DCBAC6ACCA40BE7D88D8CAEC3034 /* Array+Extension.swift */, - 057A72BE69213210EE88C96F2B756039 /* Base58.swift */, - 06420D1CDFFD31766050CE8D73EC12EF /* BIP32HDNode.swift */, - 77FB7808D985A25A52386E8346153B58 /* BIP32Keystore.swift */, - C923DE244ECB1C0BE32385B7085A8AB3 /* BIP32KeystoreJSONStructure.swift */, - 553072B8B0771964328D82853DED2138 /* BIP39.swift */, - 04DFE8D8EB274B2D6DEB13D0B0E305B4 /* BIP39+WordLists.swift */, - DEAF45A343AEED28AF1F89413A116EFA /* BloomFilter.swift */, - 32EA56DED926DCB3A3B95CA7833031DD /* ComparisonExtensions.swift */, - 1F08B1FBE82CA435E91FA16D4C871158 /* Contract.swift */, - 0FC49B724EDA937A5E14D997047CD576 /* ContractABIv2.swift */, - 2778877F30B0C2E16B98236D5BC7C55C /* ContractProtocol.swift */, - 2B0911AB445F6DF2C7F5B8E9F19DC70E /* CryptoExtensions.swift */, - 7C561EB85F1FB7131DF30FB573D2FB7C /* Data+Extension.swift */, - 113A3F3A25869229AEE1FED206650CE2 /* Dictionary+Extension.swift */, - 6953848954B03582D250F08E15F2CE78 /* DictionaryLiteralJSONSerializer.swift */, - DDBF0563C0903C508E3BAD2011C37F36 /* EIP67Code.swift */, - B74737D1FED5CCDCD2065191984CEC6F /* EthereumAddress.swift */, - D352F215961B934FFBF01148C774DA1F /* EthereumFilterEncodingExtensions.swift */, - 6EC5C9CEB8C233688D57E571355658C7 /* EthereumKeystoreV3.swift */, - 32F0BBCC3493969F8E1A36EE89459EAA /* EthereumTransaction.swift */, - D51D4F3217353736EC976EE45CA32C30 /* EventFiltering.swift */, - 78C7624E3F8B00FE05F94AAA4F6E3E15 /* IBAN.swift */, - B1AEA7E85E46386EE1E1CE2F69978619 /* KeystoreManager.swift */, - BD6E29D30C33B6278B1F701FE38840AE /* KeystoreV3JSONStructure.swift */, - BFF39895B1E32585FD4AD90B5B909EEB /* LibSecp256k1Extension.swift */, - BDCA45FC5C99715ED50F9D3023DBF927 /* NativeTypesEncoding+Extensions.swift */, - F268F5665279721BC2F9ABD0C747E4B2 /* NSRegularExpressionExtension.swift */, - F9231A12F233CD81D8A19140469A1FD2 /* PlainKeystore.swift */, - AFCADB477DCD1661F56130C951D67C43 /* Promise+Batching.swift */, - C2572993BF294BDA5DEA5EC9F88583F5 /* Promise+HttpProvider.swift */, - BCCA664D75C7EEBA4334CA85B197CBF3 /* Promise+Web3+Contract+GetIndexedEvents.swift */, - 0852541F5AD158C8A946F347B7644CD8 /* Promise+Web3+Eth+Call.swift */, - 8790B6EC704814D5398EBA1199F6FAC1 /* Promise+Web3+Eth+EstimateGas.swift */, - BC201FB3B028E7D5F5BECD071AD37CAA /* Promise+Web3+Eth+GetAccounts.swift */, - 2B3E8C78528FA0A5AD7E0BAB8571CAAD /* Promise+Web3+Eth+GetBalance.swift */, - 979D669DDB8C7C855D2DBFAB06426F47 /* Promise+Web3+Eth+GetBlockByHash.swift */, - 161A93478EDDF17856ADDE860F36DE30 /* Promise+Web3+Eth+GetBlockByNumber.swift */, - 3D91EE897EA98D97B97323E362ED8F83 /* Promise+Web3+Eth+GetBlockNumber.swift */, - 6EFF69F8ED89C73EBF9A5F463B98443E /* Promise+Web3+Eth+GetGasPrice.swift */, - 70D7AD69832240212818D57FEC3E80A3 /* Promise+Web3+Eth+GetTransactionCount.swift */, - 06CCACFFBD0A6C17769E719FF92A7BE9 /* Promise+Web3+Eth+GetTransactionDetails.swift */, - 450E065B92FF4403B9B67D7F0C538B26 /* Promise+Web3+Eth+GetTransactionReceipt.swift */, - FA1E5AD7CBA2CDC84578D11F5BAC7F47 /* Promise+Web3+Eth+SendRawTransaction.swift */, - 42CB8A504C5023C15163667187CDE998 /* Promise+Web3+Eth+SendTransaction.swift */, - 78F64C8EEC102A412A0A1CAF5FAA4E9F /* Promise+Web3+Intermediate+Send.swift */, - 0F9A8E04C6A9544BED3583CE38B33B38 /* Promise+Web3+Personal+Sign.swift */, - CB8145E8818D5095F06CB16AB0D34FA2 /* Promise+Web3+Personal+UnlockAccount.swift */, - 4AA6793B004FD82F4B0801BEE293E624 /* RIPEMD160+StackOveflow.swift */, - 5E37AB459D2E4B11728263F119EA5EEE /* RLP.swift */, - 3482AEB425D444EBE2FC16DCD8B9C57F /* String+Extension.swift */, - 4BA91729F383BD986E3927D27D99223A /* SynchronizedQueue.swift */, - 0CEDA1FF9F6A2AAF298E5575492D0ECE /* TransactionSigner.swift */, - 90D8FF7F8A238DD0E4C91FC43CFB704E /* TypesEncoder.swift */, - A5FDBE1167FB6098E76BBB1D856DF8E8 /* Web3.swift */, - 5E75D112C5479F2698150844C8DACDB1 /* Web3+BrowserFunctions.swift */, - 4B65EC7408FC12CC71B07CE7690DC1C3 /* Web3+Concurrency.swift */, - B114F3E5294A8337A01BC880D7E5C11A /* Web3+Contract.swift */, - 58A459D9FA81ED5CBB93E554AD41F9C5 /* Web3+ConversionOperations.swift */, - 87809F6570F103F8B1A6ED66912E80AB /* Web3+DataFetchOperation.swift */, - E45A0599A7FBA13728E7964F73C11686 /* Web3+Deprecated.swift */, - 80FE9E9772BB2EFA3308B31EDF73F560 /* Web3+Eth.swift */, - 4511BBD97AFB3FC15729FF430E5B9A8C /* Web3+EthOperations.swift */, - 48605CF790CF6E353A5D718E9A5AA1DE /* Web3+EventOperations.swift */, - 1AF38F9FC24E3DBA6B94E9E97940BCC9 /* Web3+EventParser.swift */, - 104B4CDA2149CF5193EFDDC23561CA0D /* Web3+HttpProvider.swift */, - 4FC19D230A062F389FB304516838AB79 /* Web3+Infura.swift */, - 3027372B7C601110F35722FF4A2E1535 /* Web3+Instance.swift */, - 1C698977F17B049EE634330A198F6760 /* Web3+JSONRPC.swift */, - 24C9737715FBB4B2132DC5A7A31D22F1 /* Web3+Methods.swift */, - 555A5F28BE6D8E954502C3BEC164AD2B /* Web3+NativePrimitivesConversionOperations.swift */, - B3B2F4D2662AB5DE4D28360B7B6C4034 /* Web3+Options.swift */, - C0097468D0AA206E400E059673ECB1B0 /* Web3+Personal.swift */, - 2F86E5F3D50F97BE0087F1259089FFE5 /* Web3+PersonalOperations.swift */, - 355BFFB529CEF07BCCCA9F5A248BDAA1 /* Web3+Protocols.swift */, - 5F57D2FE1D5110697D342B698621B781 /* Web3+Structures.swift */, - 9CD115E5736BBD260913030B109B0735 /* Web3+TransactionAndBlockDetailsOperations.swift */, - DADFB2147BF098C0A79A958AAD481105 /* Web3+TransactionIntermediate.swift */, - AEAE3E03D92D05FFFA6C718AD50A01D9 /* Web3+TransactionOperations.swift */, - 875EF41D751D1CA12835625029D3524D /* Web3+Utils.swift */, - 493DC51642CCA0CD18282D5A94C7D4B1 /* Web3+Wallet.swift */, - 01140155C8A70D3FE21272371B6EBA58 /* web3swift.h */, - D99CEA85EC7F4500C6D28C00E59EA5CC /* Support Files */, + 021230E4853D81084491C5CB19120253 /* ABIv2.swift */, + 27F2F0F8AA0A44DCB15F6C2014B8515F /* ABIv2Decoding.swift */, + 07BC37DA3A885BFE9FA1ACF060A68924 /* ABIv2Elements.swift */, + F3E16828B172E3E29C2C2A69EFDF43AF /* ABIv2Encoding.swift */, + D5C569671837CF74CAABEA7BA50950AD /* ABIv2ParameterTypes.swift */, + 1FEBAFF6DBC23B47AC2CE0679F9CB261 /* ABIv2Parsing.swift */, + C1D32AFFBF6E022875FA6FA5E31CDD8C /* ABIv2TypeParser.swift */, + 6D918765E5C316D981E87E593F43CD1B /* AbstractKeystore.swift */, + F3DC571B8A19A17AAAC784433AABB955 /* Array+Extension.swift */, + C3EAA6334BA9847C7D5688F154251C3C /* Base58.swift */, + 3AB7EFD1CDE8EEFB6864B4C95BE27B9B /* BigUInt+ObjC.swift */, + 44EE1C2DE9A2797654C1BF53FFB8C841 /* BIP32HDNode.swift */, + 16C67237D9658EEEF7CE6C233412A1AA /* BIP32Keystore.swift */, + B5E7B50FE11A248882E6C1A3F9B94E1F /* BIP32KeystoreJSONStructure.swift */, + 491E32635E476F62DF80795EA03A4E96 /* BIP39.swift */, + 7860F7282B4A86633B33B4C19EE13DAB /* BIP39+WordLists.swift */, + 6AB691BD8986EF2191E06871444E8FC3 /* BlockExplorer.swift */, + A3503BC8EDED598CEC412D7358F4643F /* BlockExplorer+GetTransactionHistory.swift */, + 7ACB0C00B07E5B530D245904B8FA919E /* BloomFilter.swift */, + 80046DC911582304810AAD592475C63C /* ComparisonExtensions.swift */, + E4CFD5F759228BAD6E44D4AAB52653B5 /* ContractABIv2.swift */, + 052496AE749A404A1C7E8F48F9C50E4C /* ContractProtocol.swift */, + F65C87A76C6A03B2087AD0F053518E55 /* CryptoExtensions.swift */, + B083A17C989339898CDCEE89B4F75375 /* Data+Extension.swift */, + 5E2B619BDED04588FB519514ED192C42 /* Dictionary+Extension.swift */, + 37B6B8CF586B8A17D237A993EE028AEF /* EIP67Code.swift */, + 41FBE47CBCF2E13682775196F7F9184D /* EIP681.swift */, + 12BCF9FE41CE43BB9420B6870143B5B6 /* ENS.swift */, + 3EBBC5BCE490CF7D0B638E773A4F1FAC /* EthereumAddress.swift */, + 066D256FC483ACE5C9FBD3A9DE124FDE /* EthereumAddress+ObjC.swift */, + 9E6FA3B41EF131B438CFDBB3807EAC51 /* EthereumFilterEncodingExtensions.swift */, + 27F79F5E8467AB85143242575568970D /* EthereumKeystoreV3.swift */, + 3A9EADA7AFA39E90F4B2C520B23DB0D6 /* EthereumTransaction.swift */, + BAAC01A47C8984D8B7CC71964CAB89C1 /* EventFiltering.swift */, + 6E393FF3F983A1BA55B41EFD5D31574E /* IBAN.swift */, + 23DDF1167D5601DCB70F356894851DD6 /* KeystoreManager.swift */, + 7325F8CDD95F0919C78971B1F9B0D26C /* KeystoreManager+ObjC.swift */, + 57B4BB38C90FBE82C3726EC39C95B70F /* KeystoreV3JSONStructure.swift */, + 523671F746DA657F0997D96C7ED8A97B /* LibSecp256k1Extension.swift */, + 6FE2D8F96F15B5256BD58A65B6912DCE /* NameHash.swift */, + F412C8E7409927D4E4032AA2237D1ABD /* NativeTypesEncoding+Extensions.swift */, + DF1AD7A03062250545811E60016148CF /* NSRegularExpressionExtension.swift */, + 50145B3CFAA030E982F33E5F8EF57D5B /* PlainKeystore.swift */, + 05A469D88635408C6E0A9730C9D67834 /* PlainKeystore+ObjC.swift */, + CD02528C65BB0F37587F72DFC75F763B /* Promise+Batching.swift */, + 2840F210CE98B93EA849D6D6E8253222 /* Promise+HttpProvider.swift */, + CB850682BB5958733FC8B52787BAC26F /* Promise+Web3+Contract+GetIndexedEvents.swift */, + 12E63E29E69B87CCA00CA5D8B454E67D /* Promise+Web3+Eth+Call.swift */, + 28D233B339408EE05F382B2D71EBB0C5 /* Promise+Web3+Eth+EstimateGas.swift */, + ED3A35F62CF4696CC475089EADED9E19 /* Promise+Web3+Eth+GetAccounts.swift */, + 74379D12DD8775BC00C9CDD1434D1EFE /* Promise+Web3+Eth+GetBalance.swift */, + 1D4D97785B4DFCFBC23D6C846C84EA90 /* Promise+Web3+Eth+GetBlockByHash.swift */, + 862203C1EEFE1746B51A18A70C8255F1 /* Promise+Web3+Eth+GetBlockByNumber.swift */, + 0623D1F8DEDD8DF2D2DB549B42AB3446 /* Promise+Web3+Eth+GetBlockNumber.swift */, + B834A0B254CE3D581189392480DB3517 /* Promise+Web3+Eth+GetGasPrice.swift */, + AA69368BBED1E9C971B870CC1D39411E /* Promise+Web3+Eth+GetTransactionCount.swift */, + FD708B9B8D939244EFAB57D224317EAE /* Promise+Web3+Eth+GetTransactionDetails.swift */, + 91DBC05C80B653F0779A122B3E01A00B /* Promise+Web3+Eth+GetTransactionReceipt.swift */, + F73C8D13D7365EE34099B5B7D39B60B7 /* Promise+Web3+Eth+SendRawTransaction.swift */, + FE6BA4E4F7BB1208228F3E42F90DCE1B /* Promise+Web3+Eth+SendTransaction.swift */, + 1F7D8BAC459724F31F9EF10CC0D98B4E /* Promise+Web3+Intermediate+Send.swift */, + 5EE61F6373F3AE498E0E43FCEF682C3E /* Promise+Web3+Personal+Sign.swift */, + 9364DC443B63993CAC102783E3E2E71B /* Promise+Web3+Personal+UnlockAccount.swift */, + 42662102329EB8EA5D693F47F6B055BD /* RIPEMD160+StackOveflow.swift */, + 6407F8A2387DE46158D2B6643CFB5ACE /* RLP.swift */, + 7F444615A31A37C9AE86FCD68C9617C8 /* String+Extension.swift */, + 0103BBD609FF8CADC6FDB98F2FDD7344 /* TransactionSigner.swift */, + 6A7054BB1922ADB95FE5AC71AA66686C /* Web3.swift */, + D4A915B27C142C9851B0FC16DB2ACE3E /* Web3+BrowserFunctions.swift */, + BFFDB386AE35349F33B00B6D7A8525EB /* Web3+Contract.swift */, + 8DDB94F4F7A8AA4FE18B9EBB50F0D323 /* Web3+ERC20.swift */, + E9FAA6A53A97BA2E6A2ED16DE2451DDC /* Web3+Eth.swift */, + CA18A76F4C080B687839B8EF95C096E1 /* Web3+Eth+ObjC.swift */, + 1D1164A207317D07F70C5CADF0666478 /* Web3+EventParser.swift */, + 1A14C8A0ECC51DCF47B8BDC426260AE9 /* Web3+HttpProvider.swift */, + 6C34B6F8F004A79070AAB41F8DFF824F /* Web3+HttpProvider+ObjC.swift */, + 5564585449D0A14C4C3DA06673C6CCE6 /* Web3+Infura.swift */, + 328EA52653464590374008597CDB88F8 /* Web3+Instance.swift */, + BD5D175D4442830B35689DDF3D60C5F8 /* Web3+Instance+ObjC.swift */, + D16392BB50E5CB36CCE0946928A6E774 /* Web3+JSONRPC.swift */, + 6EDB16D82616831C96E088DDBE2B32B6 /* Web3+Methods.swift */, + 3A01C71E03076A82481B6EFA5BABFEE1 /* Web3+ObjC.swift */, + DBA9232DC21A4588EA5C4A6360ED7D64 /* Web3+Options.swift */, + C8C2E113E148B418D9CFFA9563D61A9C /* Web3+Personal.swift */, + B6C066266425FB691258429D89B58322 /* Web3+Protocols.swift */, + 1E37C31654324E82F6877D3A0A8CF5F9 /* Web3+Structures.swift */, + 22769D380F2A7AB75E9FF25A16D47CE1 /* Web3+TransactionIntermediate.swift */, + 2F06D95AEE5EC27252B89C4874C9B887 /* Web3+Utils.swift */, + B37F023A41759D539E276E87BF6D90C3 /* Web3+Wallet.swift */, + 33AD44494C176812F8EB7B1C68429279 /* web3swift.h */, + BB92779C818B8269C48BED9212AAF37F /* web3swift-Bridging-Header.h */, + 1252866A8E899DFEB90281FD4910CE3A /* Support Files */, ); name = web3swift; path = web3swift; sourceTree = ""; }; - 380C0EF2501B107BDCF735B1167BA873 /* libsodium */ = { + 4F552CB6A500F8A25357EB895C9C5B01 /* secp256k1_ios */ = { isa = PBXGroup; children = ( - C2F44B67307A31AF5A5012C735E4A614 /* aead_aes256gcm_aesni.c */, - 23AA62E844B45E03D263242E449CC4D0 /* aead_chacha20poly1305.c */, - C68911CEFCA9123777FB5B045D2F7C88 /* aead_xchacha20poly1305.c */, - F6DADC5AE7B853094BC5CBEF51E9B221 /* afternm_aes128ctr.c */, - 9DA48B4798E41AC912E3C1BE77DB0596 /* argon2.c */, - 7FA9A0017638F3DA2EFEEE3894C3C846 /* argon2.h */, - A2B3EAD3EDC7C4A46A18044CBC2D84E3 /* argon2-core.c */, - 6A125073E4625E457B865C382BAE22B2 /* argon2-core.h */, - 5D88677529199A36F1E0B07797717E35 /* argon2-encoding.c */, - 2418B674EE6A43AFFC8CE327173735DF /* argon2-encoding.h */, - 25959917BE55694A4EE732D17577A4F6 /* argon2-fill-block-ref.c */, - 7ACFD0EEFD12C67ECA20372FB3CD934A /* argon2-fill-block-ssse3.c */, - 56376E857A900EA0A7F84B3D17C4011B /* auth_hmacsha256.c */, - 7AD39E2B47CD723A55749B42AE24AD50 /* auth_hmacsha512.c */, - 1D5F3D0142DFBA7FA4B5C92ABBCDF810 /* auth_hmacsha512256.c */, - B6CE3950AE600E7EB3C7AD2563B6F5B4 /* base.h */, - E34310B3284771D4B961CDFF204CFD74 /* base2.h */, - 6016FD3A29188D13E0E26F617EC14B62 /* beforenm_aes128ctr.c */, - AA033E98751093E56DABA69604B1B7E2 /* blake2.h */, - 2701723C978E0FA3820D25450E819016 /* blake2b-compress-avx2.c */, - 20C23A7A5F88D8628F8D86F84471C1B5 /* blake2b-compress-avx2.h */, - 22F289999D15722B927D2D12D8EBE266 /* blake2b-compress-ref.c */, - ACFD3C1A472CF341D40E8C7D0644FF80 /* blake2b-compress-sse41.c */, - 3287A55CA33F5B85643786CC4443D8C9 /* blake2b-compress-sse41.h */, - 594394A86BBCA2EAC620979B9240DA7D /* blake2b-compress-ssse3.c */, - E61F52944B9A2607796EE79E97BED550 /* blake2b-compress-ssse3.h */, - B0D57CABFB4CA074057B88C6A9C933FA /* blake2b-load-avx2.h */, - DBECB1072D123EF288855388E9CFD3BB /* blake2b-load-sse2.h */, - BA009A0702DC8C7807142FAAC8052377 /* blake2b-load-sse41.h */, - 3E92237E329C8C909FB24818DFB0D999 /* blake2b-long.c */, - 733AED77E821352F597899F87E10D08F /* blake2b-long.h */, - 715F961A98F49249E1F18815D00C65E8 /* blake2b-ref.c */, - 5461035A9A4180D7968D200CC1B904D0 /* blamka-round-ref.h */, - 4651F4EC4A9CD874671CB45216DC33FC /* blamka-round-ssse3.h */, - 4047728AB620F4A77785D6252ACF33A3 /* box_curve25519xchacha20poly1305.c */, - 596DD180A7E7FABE55AE688A38677F66 /* box_curve25519xsalsa20poly1305.c */, - 8FC1EAD8354054DF5E3E6DB740DE1E7A /* chacha20_dolbeau-avx2.c */, - AB495A0CFD41437AF96DEC56B664465C /* chacha20_dolbeau-avx2.h */, - A1BE575CC653B11BF64F8BA740F5FC47 /* chacha20_dolbeau-ssse3.c */, - BBB966FB0358637E81B3F276EC9204C4 /* chacha20_dolbeau-ssse3.h */, - 81DF9B520AEC348B2A1929A4038E4A79 /* chacha20_ref.c */, - 2B2760497CF830BE49B02EA0E4E5A937 /* chacha20_ref.h */, - ECB6D51A11E22330F7CA34333C037EA2 /* common.h */, - 9FE216E6047C0D8AA403C85E58AB245F /* common.h */, - 2E210FDAA32D501BD9F14713293763AE /* consts.h */, - D563FC9EF30F8197DB65254CFDE926C4 /* consts_aes128ctr.c */, - 837937D5B0F653B8DA94485070438505 /* consts_namespace.h */, - E2CEDB308726C283269CB883EFCF27CD /* core.c */, - F7131AE76F5B0F3F60AD970D9C6C2ADD /* core.h */, - E27F6AD7A5BE8F0D9846FE45FFA51006 /* core_hchacha20.c */, - 5EA8159D7A73C8C90E8AEFFEC10575F1 /* core_hsalsa20.c */, - 37E9F03E4C6C031AB7C392BFA44DCA8E /* core_hsalsa20_ref2.c */, - 79D8464595E66B9F728512CF919E89F5 /* core_salsa_ref.c */, - 40A2C089A4ECAAD4098369612427FF1D /* crypto_aead_aes256gcm.h */, - D677227B0D3161C8B60A4E74F456D382 /* crypto_aead_chacha20poly1305.h */, - AB78B38B1C61A85F87AC874EC2A33C76 /* crypto_aead_xchacha20poly1305.h */, - BC88D15DF3A4FEAEE2D978077BE93860 /* crypto_auth.c */, - C675807175E6A58BD976A6F17D3E58F9 /* crypto_auth.h */, - 58A635B6B4435E188D464FD4E9523F07 /* crypto_auth_hmacsha256.h */, - DA46E9734175AE57AF6346C93933CB2A /* crypto_auth_hmacsha512.h */, - B88587E490AF4967A7FD95DB470028AA /* crypto_auth_hmacsha512256.h */, - E0EF8E394F23656B4FBDD3EE07F9EEFB /* crypto_box.c */, - 8A93B3D44BD6C837683FB0A8DC90831E /* crypto_box.h */, - CC39F9E5D3A9181F5211F4FC3A04A4F5 /* crypto_box_curve25519xchacha20poly1305.h */, - 111FD574D05B3B945EB9266FFE008F58 /* crypto_box_curve25519xsalsa20poly1305.h */, - 660D197550E3D18AA98153A0C9BFE377 /* crypto_box_easy.c */, - E4766328D02E327CC103E18B1A7C3E3E /* crypto_box_seal.c */, - 930B079F42C521840C7AEDE1F13D46FB /* crypto_core_hchacha20.h */, - 1E391452C95A8BEBE4E7D96E1C3A2382 /* crypto_core_hsalsa20.h */, - 78113CDC1341AE06A8602DF5E375151E /* crypto_core_salsa20.h */, - 6DD1AAA55933A66DA926FAA5C3CB1A62 /* crypto_core_salsa2012.h */, - B39402B0C6EBA89B263BAFC148AEBB21 /* crypto_core_salsa208.h */, - 3924723D0F305425CD0B122110F39586 /* crypto_generichash.c */, - CB79E2D1F072D50FA0A68065ED58510B /* crypto_generichash.h */, - 1C3892C7C23D693682043900AA8A15B5 /* crypto_generichash_blake2b.h */, - 47E864CEA3D1D50987ABF348045229D4 /* crypto_hash.c */, - B7BBAD0E98A34B6DBC64207850A11821 /* crypto_hash.h */, - 0FC1FA7BBE0CDD9BD71CAC712FF3DE63 /* crypto_hash_sha256.h */, - 914A43CB041DE19C45736392B9FB491B /* crypto_hash_sha512.h */, - ED316EA8B7E02F7B53C3C1CCC4C638C5 /* crypto_kdf.c */, - D78C2BDF4A82FF1744CB8567ABC327E1 /* crypto_kdf.h */, - F67BE1F87CF9305B7FE1C0C1D4F1136A /* crypto_kdf_blake2b.h */, - 149D4A3458D5FD8D2FA716F2A58EFDD7 /* crypto_kx.c */, - D210FC9729616B98F382FE4C3D330D39 /* crypto_kx.h */, - D677D2CC8597E7A69F0F89743ECDC307 /* crypto_onetimeauth.c */, - F935224D112ABF7AB12E35FEAB128CFA /* crypto_onetimeauth.h */, - 86E3BA2C30475759A2D571D1E4D48EFD /* crypto_onetimeauth_poly1305.h */, - A93DD8C7C29BCAC06BF8B6747AEFE7B7 /* crypto_pwhash.c */, - 49BDA27A34F7CFDF7371FF68AEACCA0F /* crypto_pwhash.h */, - 344C218007E1D2E70E42864540F1CC5D /* crypto_pwhash_argon2i.h */, - 0CC55D0B436A4988812675CFD851AAE2 /* crypto_pwhash_scryptsalsa208sha256.h */, - 3B70653A0BEFA42C3A935FCBD6DCDC5B /* crypto_scalarmult.c */, - 89A5DF4BB59FB30023B724814C99771E /* crypto_scalarmult.h */, - 7AEC749D574EE616FA51344DB846995F /* crypto_scalarmult_curve25519.h */, - AF470CDC7D3E6516248FB057E6B8FB68 /* crypto_scrypt.h */, - 902FCCAAF0281CE4F49C01A0057ACACF /* crypto_scrypt-common.c */, - C0DD6105DDF19DCBB34B0B3873E59CE7 /* crypto_secretbox.c */, - F3DE69FFD7B990A942C48CD41D2DDD6B /* crypto_secretbox.h */, - 2CC40200CE5049FC48CB15142160DFAB /* crypto_secretbox_easy.c */, - 63E81CC2EAFE54EA7091460CC35EC980 /* crypto_secretbox_xchacha20poly1305.h */, - 9EBDA61B6FF760BA38AE5330C670239E /* crypto_secretbox_xsalsa20poly1305.h */, - 36383DE4A031391E1D49334AD15B24EF /* crypto_shorthash.c */, - 92C9A3D482C481572FF08EF7FB4A236F /* crypto_shorthash.h */, - 12F3B8B48E26DD703E39FA81D59FAAA4 /* crypto_shorthash_siphash24.h */, - 97E4A690406FBBE83E907DF14B00D443 /* crypto_sign.c */, - FAC29BB5BB9DE277711D32AE16570304 /* crypto_sign.h */, - C45A2DC4E62C58DB9CE426AF7913ACAF /* crypto_sign_ed25519.h */, - 6853AB72E1111B44EC0650B4839AE568 /* crypto_sign_edwards25519sha512batch.h */, - F0A9BB7C199293111326C34D5384896B /* crypto_stream.c */, - BB81D295431B952BDDFEE553CD05F552 /* crypto_stream.h */, - A98C602A67B838CC7A5FDFD876F280CF /* crypto_stream_aes128ctr.h */, - 03CF20E11218DC08E678CA5921436CF6 /* crypto_stream_chacha20.h */, - A6F9D17734574401EE40C66D94FC94BA /* crypto_stream_salsa20.h */, - 32FD1C8F440974B2C4A4331442032EFA /* crypto_stream_salsa2012.h */, - 0D05683E8472054917460A1C6555E9EF /* crypto_stream_salsa208.h */, - 8074D5465995645FAE72F01CB8631D06 /* crypto_stream_xchacha20.h */, - 3D6EEDD1205B5DDDA4AD3797EB69DDF9 /* crypto_stream_xsalsa20.h */, - 251041AE1E8BEF7AE152E0A6398D890D /* crypto_verify_16.h */, - 1D5873D7455C1147A2AF0E4C0A95AF0D /* crypto_verify_32.h */, - 569C77FEF19D6C252B3FF19227E3EB09 /* crypto_verify_64.h */, - D574F9F7FCA74366B594FBA456581DD9 /* curve25519_donna_c64.c */, - 3D06487164FB338969A107B108A3D077 /* curve25519_donna_c64.h */, - 70C687BBEEA93122AF665EA81FD28472 /* curve25519_ref10.c */, - 764B71EC4C082FA0C3CAA3DDDDBD4F43 /* curve25519_ref10.h */, - 0628E848E933075D21190CF0085DDFF3 /* curve25519_sandy2x.c */, - E12F294D9F798FDAD90A75B51699197E /* curve25519_sandy2x.h */, - 8758470182073E0968BB5A732AF3BBB6 /* ed25519_ref10.h */, - 50DCA529D72C6E00912F8117756C360F /* export.h */, - 466CBAB3064BC556B0C88E303F7C69AF /* fe.h */, - 17791859FEDC20D03BB815B892A974DD /* fe51.h */, - 9348FD3DE867EBF0CFDC011D6FC66C40 /* fe51_invert.c */, - C16DAB7539A0A830E757DCA4DB2CF8B2 /* fe51_namespace.h */, - 6A59F678FE2A274665890346D17DFAC6 /* fe_frombytes_sandy2x.c */, - 06DB8CA2BE5BE0E9FF012C63FDB35198 /* generichash_blake2.c */, - 434C7E6611513B6B1F0F4555E8A34B25 /* generichash_blake2b.c */, - 288F75B78D395EBE3623D8A723AF4BD7 /* hash_sha256.c */, - D93A01E6BF404E65C28C745833C67738 /* hash_sha256_cp.c */, - 4367B39879D746469C667ABAFF8D85EB /* hash_sha512.c */, - 1F39147BDA442E2678EE6141D03CAA3D /* hash_sha512_cp.c */, - 182B1D849B3F96A25C06517B2877F801 /* int128.h */, - 37D7A3EF4943269E4CD5CDA06AB53308 /* int128_aes128ctr.c */, - 474782B8CF465038D6A7E8B5BD94D678 /* kdf_blake2b.c */, - 7E49B3E3E19D0D7E54CCBEC69507B5D2 /* keypair.c */, - 734A59B66E23325D25F0E82425F51839 /* ladder.h */, - E0593CCD984D9C6CA339D795D76E3F50 /* ladder_base.h */, - E3A34BB88F84600F6D3460CF9A5A4C71 /* ladder_base_namespace.h */, - 214B9931BF419E0A3C232DA974D7ABA0 /* ladder_namespace.h */, - E12F8287D03F33B6CCDDA74388C72244 /* mutex.h */, - F97A540E6645ED2971F062AD1BDD1A00 /* obsolete.c */, - ADEA8EF92C40C7B0FBFF55F55AC075E1 /* onetimeauth_poly1305.c */, - 5F6FA121335A174117A18349E3C257BC /* onetimeauth_poly1305.h */, - 1102B44E5DF34295E9B2914D498E0186 /* open.c */, - 8246A115AFC3FDF6AFB51952ADDE88B6 /* pbkdf2-sha256.c */, - CF09493B14BFA62B8A244AE3F479DB47 /* pbkdf2-sha256.h */, - 3F36AC13A39E901C903473E9506F5382 /* poly1305_donna.c */, - 84286BF87A1DBBFE0425E38BEC5BDB16 /* poly1305_donna.h */, - BC26191E6FE3D9125A141E0EDD648C28 /* poly1305_donna32.h */, - CA985A431D2B53D3B9ABACFB7BA1B984 /* poly1305_donna64.h */, - 558D9354024538BEFA19CC1624D2516A /* poly1305_sse2.c */, - 2AD318FDBEEF4A644A941D2C1AF7B388 /* poly1305_sse2.h */, - 42A80CC9216DD6729D1D31A430FE91DB /* pwhash_argon2i.c */, - 112833995253820931E88006E146595D /* pwhash_scryptsalsa208sha256.c */, - B6209AD6F9F5851DF52F2CEAC42D6848 /* pwhash_scryptsalsa208sha256_nosse.c */, - C99B2B8E260D8011D162DF8CEA34D199 /* pwhash_scryptsalsa208sha256_sse.c */, - 380AB072E69F4341C004B242F3621541 /* randombytes.c */, - E9A65AB9C55F5DEC6178C998B91DAC69 /* randombytes.h */, - 225FC65D22F6255453FCAD091313634A /* randombytes_nativeclient.c */, - 3164EA24B9707AD757FEA61F9EE59FFB /* randombytes_nativeclient.h */, - CDD009BF5A0AD80FC71E898BDA1CED50 /* randombytes_salsa20_random.c */, - 15D2C361BAB0175B26C362DF4E160523 /* randombytes_salsa20_random.h */, - BB14AD11E956B7FE1C90273959FECE67 /* randombytes_sysrandom.c */, - 55918ACECAD90505257105D1CE13F6FC /* randombytes_sysrandom.h */, - A9A5D9008744D4875AF423965617EF30 /* runtime.c */, - 202C7AFA02F85BAA0669CE878E5CFF69 /* runtime.h */, - 10C8BB3B857B2B57D1880B9A248A5866 /* salsa20_ref.c */, - 539391C0C44077172A49E492439EE392 /* salsa20_ref.h */, - 00CD27098E34A48CBDEF51B063E26187 /* salsa20_xmm6.c */, - FC22C56D57816F761EDFE4CA37E94703 /* salsa20_xmm6.h */, - 03B58B5665C6BA5CEEE8354B64C581B2 /* salsa20_xmm6int-avx2.c */, - 7F5947884B9B5DE6D78A32A06CD5361F /* salsa20_xmm6int-avx2.h */, - 11E6062A0F75EFDA9AD0D4D55FFA25AA /* salsa20_xmm6int-sse2.c */, - 838982CE4594493761640C1A1F292DDE /* salsa20_xmm6int-sse2.h */, - AF2EDE7F7343736A82EEFD191488281E /* scalarmult_curve25519.c */, - C1918D7FA5BEB43080BD1CE745504B4C /* scalarmult_curve25519.h */, - C8C0EF7C86A7594B3F463BB2A8E51F6C /* scrypt_platform.c */, - E5B25D2082FB07E7D88B47D5353A424D /* secretbox_xchacha20poly1305.c */, - 69D72C5CB8557AF794AAF11B35C4DCA9 /* secretbox_xsalsa20poly1305.c */, - 9D47109FDAD650AC8EDB94D674E50D45 /* shorthash_siphash24.c */, - C3CD5AB36FFEE997B02C900854D97DFD /* shorthash_siphash24_ref.c */, - 56FC830F4C2225AB470F89BC25052975 /* shorthash_siphash_ref.h */, - 5036061DDABCBEE80BE9FE96F4C04BCC /* shorthash_siphashx24.c */, - 8C127EA92BE99EAE932B1C9E2AB5A65E /* shorthash_siphashx24_ref.c */, - 9E4FFF938D0320EC6EBDD9A4BB3AE947 /* sign.c */, - E4B7DAB0891899779A54B4398B774BB8 /* sign_ed25519.c */, - 30779F39BBE19D3BBB5176D2D8B23067 /* sodium.h */, - 7811952FF744CC7B79209FACCD59FF33 /* sse2_64_32.h */, - 85D50DE57ABCB58DFDDA63A8F26CE3C2 /* stream_aes128ctr.c */, - 88D92803C644720CF258449F7B6FBC88 /* stream_aes128ctr_nacl.c */, - D95CCCC08D3ECA4715976F384CEFA560 /* stream_chacha20.c */, - BE7FA304DE4C78C157993A3C0200C8E2 /* stream_chacha20.h */, - AC642813CACF8846AE9F476115CB5D4B /* stream_salsa20.c */, - 68ACB3072283187397CB4A48E4158777 /* stream_salsa20.h */, - F3E84C9D5014C89C4DEB5D23998EB1E3 /* stream_salsa2012.c */, - 51408050679AEB6098714E1F46B2CAA3 /* stream_salsa2012_ref.c */, - B0C38120CA1EE3015A30079D70F6A310 /* stream_salsa208.c */, - 2282F63E90C1EF1486D26AF0B7C584D5 /* stream_salsa208_ref.c */, - 4DF6D23BB31CEE6629EFC1225789E0DA /* stream_xchacha20.c */, - 9D0D4D689D69E2C563F9E5DAAFBCBBC4 /* stream_xsalsa20.c */, - 283875BA811FC66D94BC01AD71FAEF03 /* u0.h */, - C8CEFEE4351DECB72FE30CE8500B8CE9 /* u0.h */, - 5CB10090A5AB6AB3A90031D3DEBECD36 /* u1.h */, - 2081BFB33518FBBBC559A392E4D5C870 /* u1.h */, - B7C65A9A50D88562A2E244BCE5E14400 /* u4.h */, - EF1BC9310859F48C8798CAF4E3E7A8DC /* u4.h */, - A21D6F9A260215E206D337CEE7DC5A66 /* u8.h */, - 3A9283CD9FBB08F14818204F7903C811 /* u8.h */, - EAFB72778A4CF43EA846688C56B82650 /* utils.c */, - E7C813B66024DB48F089837F52DC99C7 /* utils.h */, - F1131ADEFB259BF34698BD54FAF6B02B /* verify.c */, - 87D55278394E8B3A862C6BFBE06041F8 /* version.c */, - E39FB93B33BEFFD3B61E5464A3295868 /* version.h */, - E85AA67F2709F6EFB7AA1A0955776DE3 /* x25519_ref10.c */, - 33F648149A474AE4C034B378C2048760 /* x25519_ref10.h */, - A1EDE32B65FC88B73875E01D544C8D43 /* xor_afternm_aes128ctr.c */, - DE8D1EA9F545A36DAC67F2F19D39524E /* Support Files */, + 361B873DBC285242B8FCA11C4F9E5623 /* basic-config.h */, + 2F73DD47F1589433F054B8686723D47D /* ecdsa.h */, + DA74A78957A0CAC7EE67F329C7D19AF0 /* ecdsa_impl.h */, + 7E9707E1F50D7C7959FA42372F48A2C0 /* eckey.h */, + F773C8F575C7369A7CA7E723748E110D /* eckey_impl.h */, + 426C5416AF2F5EBDF7353EC4417DD059 /* ecmult.h */, + 4E1625F84C89AF10B33736B73A1A4E2C /* ecmult_const.h */, + 97FB0B47D6C3C00BE02AEEF203416406 /* ecmult_const_impl.h */, + 20CFA43F832D5962C0393290B58599B5 /* ecmult_gen.h */, + 401C193EDE43BF447B84F321B8E1C482 /* ecmult_gen_impl.h */, + 0A2411CE147937EBABF77E252DACB056 /* ecmult_impl.h */, + E705EB0EC3F843226C5530B49D66F44E /* field.h */, + 99D40DFEB3A4C759CC493F70A4EA108B /* field_10x26.h */, + 89E684D5E2CA396D9C64859D2012B692 /* field_10x26_impl.h */, + 86C3207E565D52552FDFA7EA42F05270 /* field_5x52.h */, + EDA43B32781D9D973ED35A557A240958 /* field_5x52_asm_impl.h */, + 0434FC3772D7C052138D4E6597BBCEBA /* field_5x52_impl.h */, + A8E64E89FB29BF345C63383D75E5A96E /* field_5x52_int128_impl.h */, + 442702F0B88642B51362AB205FCAA854 /* field_impl.h */, + 50ABA8EC3262E75D2C901CA6DD9FA5F8 /* group.h */, + F9E575A8DCCCA9340467D59D513CE613 /* group_impl.h */, + 1AB1E7E037CA7ACBE1DAF1FCF8BAD73A /* hash.h */, + 6B2CE110BAA238CC4A7CC454E3038ECC /* hash_impl.h */, + 4CC6D0D6768AF0C916089C5F28C32BB5 /* lax_der_parsing.c */, + 850178BDFC9EF1A7C80827D3FFCD0482 /* lax_der_parsing.h */, + 3D3092F2465713B5799F11ABAF5C73DD /* lax_der_privatekey_parsing.c */, + 075B36C10CAB6186B33DE99222FED632 /* lax_der_privatekey_parsing.h */, + E4B92864B1CA33880BA06C60DDA3952B /* libsecp256k1-config.h */, + 1C1D71A1E6B38F9B5A6B6225CF2D9FC1 /* main_impl.h */, + 584AC113BDB47E209F6B34321DD1E5A1 /* main_impl.h */, + DC969B5AEC409B7F51A179949E6D0CF1 /* num.h */, + 4A8BE755B00A247CADB17C0D888A15A2 /* num_gmp.h */, + E5C7B4BF4756A6319C9C3EF43BC2269E /* num_gmp_impl.h */, + C40EDDE1B718C8470C7AA3C48C5554AE /* num_impl.h */, + C227C20C27715023D2C006ED811A0FAD /* scalar.h */, + E06D321FD0D4501F1FF7D6F6264A1DDE /* scalar_4x64.h */, + 0D3ACCCA669E9804A73747148FC87E82 /* scalar_4x64_impl.h */, + AA7C97F0ED74220BA363EC3492AA6619 /* scalar_8x32.h */, + 7033A3E7363DDB4746F91F0AA499EC34 /* scalar_8x32_impl.h */, + A65AD597143380A8240447064605DDAF /* scalar_impl.h */, + 8668B73A34C0C334E2DFF0A4D01B9887 /* scalar_low.h */, + 3C4001BFD15E68647D2DF6A140E7FE7B /* scalar_low_impl.h */, + 28CEA71BAA2648F525999A658E8C7F22 /* scratch.h */, + C44F34B4A43FBA288053EED2B79F6ACB /* scratch_impl.h */, + 6F1CA839EB126F33A13D3BF58DDC14F0 /* secp256k1.c */, + B0C4412C5C5FABF27D7ACA7E2F23CE3D /* secp256k1.h */, + 6018602186E5C17B7EC7AA437D2BA1E6 /* secp256k1_ecdh.h */, + 000A1EC76D82A3EDBC7956FE3334A646 /* secp256k1_ios.h */, + 61E48BAFB4F86F9AFAEAC7E2CB649B5A /* secp256k1_recovery.h */, + 7AAE3B11D2000EC06CBFB2EE14EAA208 /* util.h */, + 15267E1ABCE857647399B223131D6434 /* Support Files */, ); - name = libsodium; - path = libsodium; + name = secp256k1_ios; + path = secp256k1_ios; sourceTree = ""; }; - 48963562C237719B375B47A1591C0C36 /* Support Files */ = { + 50ECB39B32B31602FA4C731C0F316875 /* Support Files */ = { isa = PBXGroup; children = ( - 0B391A016B01171C7D3A1C56A54A056E /* Result.modulemap */, - DF25AAFA9DFE4076B8614CB853BCAD47 /* Result.xcconfig */, - AC533592F797829809720BC0A8907A33 /* Result-dummy.m */, - 25A458A3378F5F36E1E894FF2885DABE /* Result-prefix.pch */, - FB9E8C2B01A56CF27FD92FA45DCAD7AF /* Result-umbrella.h */, + B35AC37C80D4264C320B7E21A880E43B /* PromiseKit.modulemap */, + 4A9FF65D7436CD05D4829C03224BCEC3 /* PromiseKit.xcconfig */, + 39D3351EAB4FE326D56C800215377379 /* PromiseKit-dummy.m */, + 2A003F66935D65A758492D1E9EE2BABE /* PromiseKit-prefix.pch */, + F38AF3A827B05E1C96CC72F240A5AC14 /* PromiseKit-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/Result"; - sourceTree = ""; - }; - 4DC29A4ADF361E63DB5EA1FAD0243167 /* UIKit */ = { - isa = PBXGroup; - children = ( - 29F4E36FCABDD004AF5C45AF0BF863AC /* PMKUIKit.h */, - 67B8ABB73AAEDA24B50886693F5F7FA7 /* UIView+AnyPromise.h */, - 4EB477B5FDA769C9C3641E79CB3AECAA /* UIView+AnyPromise.m */, - 2CDF238805E6A392A6AAC129D8F435F9 /* UIView+Promise.swift */, - 8F2AD38E0825EF70FCA1679A22C3DB69 /* UIViewController+AnyPromise.h */, - 4B2506699E190CAC3AC2643B040BCBF3 /* UIViewController+AnyPromise.m */, - 0DAA2536FA36DFC5FEAE6C860B882884 /* UIViewPropertyAnimator+Promise.swift */, - ); - name = UIKit; - sourceTree = ""; - }; - 64B1C05B447BBEEAE6392524EAD6983C /* BigInt */ = { - isa = PBXGroup; - children = ( - 8A708661762037AF49251294E5F2C996 /* Addition.swift */, - 1583E09535537744BAEC927FF29B543A /* BigInt.swift */, - 82D64F442F8BC093D692494A4682C3BD /* BigUInt.swift */, - 1EE834BAE1EE0C4DB7C09D3354B82318 /* Bitwise Ops.swift */, - FBF751EA51C59D611A3C6CA8A63CB76A /* Codable.swift */, - 14AEAECF4AA31CDF548550F850E0806C /* Comparable.swift */, - 5908B6BFC8D7BA50360369AE4E223C19 /* Data Conversion.swift */, - 00E9F1EC35410670244FDC14F230D64B /* Division.swift */, - 446FF1DA2F82745DBD73A9D91E58EDDD /* Exponentiation.swift */, - 77C62B504DD681B8CF6DA6D25CC73978 /* Floating Point Conversion.swift */, - B4EE4CDD26A964DB5680017C682B420D /* GCD.swift */, - 66FEEBE4BF1CFC2A9817737DD47FE64F /* Hashable.swift */, - F62AFE3AECF195A90750B494E3D8EC94 /* Integer Conversion.swift */, - F7BA755D5BBEE03A36F256AA5A733BF9 /* Multiplication.swift */, - EBA88622BE642CBFDBD5BFA28B64512A /* Prime Test.swift */, - FC5693918B514B6B8319AADFB729835F /* Random.swift */, - A78A0D3EC3C5077D1835ACCB2F203A6C /* Shifts.swift */, - 7FA4B63975365042E28E8FB23799A288 /* Square Root.swift */, - 464A473333E8873F90ED642F58D25D21 /* Strideable.swift */, - 5C614601C81BC36D51B32D47B0C4F5D4 /* String Conversion.swift */, - 67F851A5843B85C62E6FDD0DB48C335E /* Subtraction.swift */, - FB8FDA0343922BD941208D5445570687 /* Words and Bits.swift */, - EEC81A9DDC5F5070BDAB93197A92FFF4 /* Support Files */, - ); - name = BigInt; - path = BigInt; - sourceTree = ""; - }; - 675A354F817AC030781E6065F1D4ED25 /* Result */ = { - isa = PBXGroup; - children = ( - F1CAE79A09FD409C84F9F89E1026FCB6 /* Result.swift */, - 9D9C3FA05EE91F1C61F8CDB0158754E2 /* ResultProtocol.swift */, - 48963562C237719B375B47A1591C0C36 /* Support Files */, - ); - name = Result; - path = Result; + path = "../Target Support Files/PromiseKit"; sourceTree = ""; }; - 6A5E240354A0D813C938514F9A8343C5 /* CorePromise */ = { + 56042BEF07057820075563F39785152A /* Support Files */ = { isa = PBXGroup; children = ( - 55294F87D3F6A28897BE9802FA6C9B00 /* after.m */, - 295F0AAFE7299BD794BA48091D37CD9A /* after.swift */, - D812F84096CA014F56AE9F25D23484CE /* AnyPromise.h */, - 40EE6CB1AFB63B6BB039800B6D97CB21 /* AnyPromise.m */, - A15EDCD047C8EA43D536A3E2EBB6F9A0 /* AnyPromise.swift */, - 906C091162946A46FC84C3DE4DF864B6 /* Box.swift */, - FEB502EA78FC5D3F5AC7295ECDE9ABF9 /* Catchable.swift */, - DED2439360EC1D6F620E93C9469B2424 /* Configuration.swift */, - DDC9C039E247BB715B1655A80A4C5BE6 /* CustomStringConvertible.swift */, - 2A2182D78EE3A6B81858DCF055AFAADB /* Deprecations.swift */, - 625286DB30A6C053A56E4C1629B25ADE /* dispatch_promise.m */, - 0AD525810EF7CA8839261A828E75A76E /* Error.swift */, - D0DBF3AF0890F374515417D34C778BCB /* firstly.swift */, - 173C25D4728D8114D93FC34C0CC2E89C /* fwd.h */, - 675D9EBB52206830F13BE68CF5917BE9 /* Guarantee.swift */, - C63AD36F721448D9599BDB0163F26755 /* hang.m */, - 4E6BB18A37E961CECEA9985CF4178E64 /* hang.swift */, - A788895CFD246B504963E6F023BB3D45 /* join.m */, - E62353D330BD01DAF1EC55EC4429742C /* Promise.swift */, - 27E2087DA64665587663F5B2A1FFE89A /* PromiseKit.h */, - 09E5AA3F684B23FB9ADCBBBBFD2B65A9 /* race.m */, - EA12290AFCE3F234A0956F58CF79AE23 /* race.swift */, - 2EB8F52B91C01BAACC0F1840E9C46106 /* Resolver.swift */, - BE93CD4421E73FD233B07F17E883D484 /* Thenable.swift */, - 67A740B61FFBCD6E05BBBF96FEFE94BE /* when.m */, - 0C2A08684A734DDE6015C9B1A5DA5959 /* when.swift */, + F345EE303C18CA7571D1C08F595659F1 /* SipHash.modulemap */, + 643B9FFEAE81870BB1B9C96ED6F53435 /* SipHash.xcconfig */, + 54806E1F9F87ABA4B9F69CF94A4C799A /* SipHash-dummy.m */, + D4325AC70ADD65BEB3851931F4DDD2B1 /* SipHash-prefix.pch */, + 0FB7FFB5D4BFB8854135A190E6360F4D /* SipHash-umbrella.h */, ); - name = CorePromise; + name = "Support Files"; + path = "../Target Support Files/SipHash"; sourceTree = ""; }; - 6B0E6710B0A7591625E5793F56A35D96 /* Support Files */ = { + 5BAC90A6912CC2B93688550661898B95 /* Support Files */ = { isa = PBXGroup; children = ( - 7D1295D0BCD42386041DFF7C43E202A0 /* CryptoSwift.modulemap */, - EB7E8D0913A1CB0092BF2886E7099A98 /* CryptoSwift.xcconfig */, - B98D67A7BF95E33493730900890DC7E9 /* CryptoSwift-dummy.m */, - 9A5D41E1FECA56A02F7768FA1FADEFE0 /* CryptoSwift-prefix.pch */, - 43834FE0CE5C4BE7684D8046358EC171 /* CryptoSwift-umbrella.h */, + 0AF3A1BDA014214D339A5C18DEC1B2C5 /* CryptoSwift.modulemap */, + D914AC0AB63A632AC7633D885778EBCF /* CryptoSwift.xcconfig */, + 99F1915E70ED67C2A41631A9B4E95409 /* CryptoSwift-dummy.m */, + ECA90F28821D65DE1389723B535297DE /* CryptoSwift-prefix.pch */, + C5B7066F1E4B26038FE68DE60BCBBA7D /* CryptoSwift-umbrella.h */, ); name = "Support Files"; path = "../Target Support Files/CryptoSwift"; sourceTree = ""; }; - 6EBCC87B07F0E5F159EC9BE1D37C25D0 /* Alamofire */ = { + 62D7B0740CE2822504A14F81B6D49468 /* Foundation */ = { isa = PBXGroup; children = ( - E737D3379A6F852197E44D1F21535F39 /* AFError.swift */, - 42E33C6CD0A342D7FBFB8B68C833DC7F /* Alamofire.swift */, - 3267A78EEE161679112F5A065DBCA570 /* DispatchQueue+Alamofire.swift */, - CD33CB29DC81FC094558470CBD546FC2 /* MultipartFormData.swift */, - BB74A13161718EE18C272DB02279E642 /* NetworkReachabilityManager.swift */, - 22B234325E96F9C6E2111A3C0DDD9643 /* Notifications.swift */, - 44D932C7479E23BB85323186839358E4 /* ParameterEncoding.swift */, - 570441EF3B51D64E517944AA7C2DAC09 /* Request.swift */, - 9F1B27D5A455469143F47265003A8645 /* Response.swift */, - 08B6FDAC43155423D4AB49F499E83E25 /* ResponseSerialization.swift */, - F50DAE8E7630B671566CB3CAC7683A31 /* Result.swift */, - 184BFCB4238349FFA3CFB21421DF5CE8 /* ServerTrustPolicy.swift */, - 1F2B4FE1DA41A924B148ADEBF7E32014 /* SessionDelegate.swift */, - 144AA3749E5979213172AA1C97FC2FC9 /* SessionManager.swift */, - 11E9FCEC90D6F2E6D9C11BA56018691E /* TaskDelegate.swift */, - 5EDD70612FFD99BF49E6C9EB9129C18F /* Timeline.swift */, - C0ED9EBA3767EBAF31824113A70AB21C /* Validation.swift */, - 80C1F7F4E735F9369ED7262FA19D4460 /* Support Files */, + A048C650E06E40C87E43CFE55025EAF3 /* afterlife.swift */, + 442C6C1866A76D1BA9AC1704A73CCBEF /* NSNotificationCenter+AnyPromise.h */, + B5D98626E7B2E6CEA32D15F9D18C4224 /* NSNotificationCenter+AnyPromise.m */, + 720F350F02588AD2D8B0EF0C920A5D0D /* NSNotificationCenter+Promise.swift */, + 54BA1656FB495B7460ACDF3A76022348 /* NSObject+Promise.swift */, + 36BB4188B1240052722EAB2ED24DC3DD /* NSTask+AnyPromise.h */, + 135C356FAA3B347C90BBF94F6529C892 /* NSTask+AnyPromise.m */, + 79A6376210EB7B970D64C177672F3EFE /* NSURLSession+AnyPromise.h */, + AE8FBACB218297430528D7CE5DDC95A2 /* NSURLSession+AnyPromise.m */, + 0A7CDAECE7C7689D9B56E9D2B4A92D11 /* NSURLSession+Promise.swift */, + 706866695402B827BF2F4CEE1BF58F0B /* PMKFoundation.h */, + FA8F9990F972DBEA8E1998A5A1F0F1F9 /* Process+Promise.swift */, ); - name = Alamofire; - path = Alamofire; + name = Foundation; sourceTree = ""; }; - 7876869AA79AFDD4D8ED5A3466B54853 /* Targets Support Files */ = { + 6CC6B3B846C4A49776585048537B37B2 /* PromiseKit */ = { isa = PBXGroup; children = ( - A594039006D69F6E7EB52154DD258AE1 /* Pods-web3swiftExample */, + 07EBAE78C70E7B9D9575876CB4EB7A5B /* CorePromise */, + 62D7B0740CE2822504A14F81B6D49468 /* Foundation */, + 50ECB39B32B31602FA4C731C0F316875 /* Support Files */, + 095791331B5167451F5C8FE21FE87C94 /* UIKit */, ); - name = "Targets Support Files"; + name = PromiseKit; + path = PromiseKit; sourceTree = ""; }; - 7DB346D0F39D3F0E887471402A8071AB = { + 6E4EDE9E9B78521FA55CED5638D5EDF8 /* BigInt */ = { isa = PBXGroup; children = ( - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - 122DA2E5084A4393C29BE363C764795C /* Frameworks */, - 0A98A4FDDC6D2985ABB92C8AF584C186 /* Pods */, - A0C4FF15BA50964EE648CACF2C2079AB /* Products */, - 7876869AA79AFDD4D8ED5A3466B54853 /* Targets Support Files */, + 7F837E682B0D2339226DCCDA26481727 /* Addition.swift */, + 6ADE6B24E2F1E8BC45C1D76558FC0116 /* BigInt.swift */, + A9FF32F58B836138C1B80B183FBC3CE2 /* BigUInt.swift */, + 6931C147814FD7AC75251959E1F84B13 /* Bitwise Ops.swift */, + C4D54F7C6D9EA280A0460EFA15E45520 /* Codable.swift */, + 5157EEA72F46459433F5E5929670E20A /* Comparable.swift */, + A1CA8B0E93A127B5254EF75AB9709B6E /* Data Conversion.swift */, + F7C85CCAD8B8BB2BC645025063627244 /* Division.swift */, + 4C8A5F0094F14372F5834A32835C5F5A /* Exponentiation.swift */, + 9C031C01E004DEF403FA0B8AA6EFF370 /* Floating Point Conversion.swift */, + E7392F15D9E28ABE006D665C8C76D964 /* GCD.swift */, + 009A496F7B724F0347CFAC23677728AC /* Hashable.swift */, + 66907FAB988CF1AF834BAD4A2926F444 /* Integer Conversion.swift */, + 89C96B4D64AAD6FFE4F71B1EF2782516 /* Multiplication.swift */, + 62BE568E491C77F75C8D2CF1210EB0EE /* Prime Test.swift */, + AE75FF51A11E82B5FCDD575E3CC34131 /* Random.swift */, + C82501607388B8BCA99C8AFAEFD1465C /* Shifts.swift */, + 1E3257BF67AECCEEBCA3B927CB2C8914 /* Square Root.swift */, + C4D1A5DD3EF2B55B1F7090048637E96A /* Strideable.swift */, + ED0070FE7462B58C47F60E55B8C0AA5E /* String Conversion.swift */, + B0F41748EE794FFF4AB23CC5592DB949 /* Subtraction.swift */, + 51A61E362FF2B82C26F4DD5BA76BEDC8 /* Words and Bits.swift */, + D29C1D594EFD4A2036CF01A2C19C9777 /* Support Files */, ); + name = BigInt; + path = BigInt; sourceTree = ""; }; - 80C1F7F4E735F9369ED7262FA19D4460 /* Support Files */ = { + 76582F21D0907470A1FC9B0D9189FB42 /* Support Files */ = { isa = PBXGroup; children = ( - 92832BED0916D654D09989DC67A4D3CB /* Alamofire.modulemap */, - 94332960E08B31160F0BC526D5E2CE9C /* Alamofire.xcconfig */, - E138EC76ED13166EA2AACD39B9D9306B /* Alamofire-dummy.m */, - BE8F03D2AEC79E7C6C6E1994D7DAE991 /* Alamofire-prefix.pch */, - A1EC3ED499298A5FC7AD196B2F9DD425 /* Alamofire-umbrella.h */, + FBD8B2F40C0C32DCEA7AA785534F1FB9 /* Result.modulemap */, + EFC296C2BEC907D60DCA20DD2859E714 /* Result.xcconfig */, + A1D77762CE9C119FD2F51D4CD9271FDE /* Result-dummy.m */, + 973DE1FE38BB17CD69943D581C7A55F5 /* Result-prefix.pch */, + F5D6AF8D555A9E4255C5A7F9DBA2C46A /* Result-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/Alamofire"; - sourceTree = ""; - }; - 9AEEBC1965E61A2071CEEAB94693FDC0 /* Alamofire-Synchronous */ = { - isa = PBXGroup; - children = ( - EC7BBDAEEDABB3BFA4B17E9ECD37C904 /* Alamofire+Synchronous.swift */, - AE0BE7895A2119F7414C44523D88B88F /* Support Files */, - ); - name = "Alamofire-Synchronous"; - path = "Alamofire-Synchronous"; + path = "../Target Support Files/Result"; sourceTree = ""; }; - A0C4FF15BA50964EE648CACF2C2079AB /* Products */ = { + 76894B4285A9E1A94FB209CBE3286F42 /* Result */ = { isa = PBXGroup; children = ( - 90C9773768837EBD106AEC698E3615DE /* libAlamofire.a */, - 2FE16520CBECBCFD0C15F2D9346D65FC /* libAlamofire-Synchronous.a */, - FDCF05320EB6ACCCD2321F4F4A05D8B2 /* libBigInt.a */, - 2CE385C25FF7C38689B0A8C6C906643F /* libCryptoSwift.a */, - 523B127441EBCAF6204B6CF6160E55E6 /* liblibsodium.a */, - 7959177406F1FCAC1AC89DD168F91083 /* libPods-web3swiftExample.a */, - 63242E7865AC5041F680898B96B7B41E /* libPromiseKit.a */, - 8080761393F09E13F16BC95F82707F96 /* libResult.a */, - F1F5094520406626C085408B3D5B2283 /* libsecp256k1_ios.a */, - F7BFF74EBE02E8225ED1F848C567DCE0 /* libSipHash.a */, - 14C6B63470D05BAF0F3D40DE0838D85B /* libweb3swift.a */, + 566D31E69EBD23EECC7E9756E711AABF /* AnyError.swift */, + 3BF598B3313583C452A8F23CE762ABE4 /* NoError.swift */, + F956125ABF2FC6AD75ECDBF46DA4BA22 /* Result.swift */, + 1C2A766E739F57C8F1F245054C84114D /* ResultProtocol.swift */, + 76582F21D0907470A1FC9B0D9189FB42 /* Support Files */, ); - name = Products; + name = Result; + path = Result; sourceTree = ""; }; - A241CDA2DD906BE292FFF78E32BC9491 /* SipHash */ = { + 7DB346D0F39D3F0E887471402A8071AB = { isa = PBXGroup; children = ( - B47C91935BA9C47D6A78511E7A5998A0 /* Primitive Types.swift */, - 3375166A5010DDA2980DF822E10EE5E0 /* RandomUInt64.swift */, - 95BF72B7C35F9530B813E5CF29DD45A0 /* SipHashable.swift */, - 1E68BACE27C024996712FF6607571631 /* SipHasher.swift */, - 0D58023F7CDBDD8A60E025B7A402729A /* Support Files */, + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, + 0F8D2E47FE03D3B91B51069F7C273AF4 /* Frameworks */, + EC60F452D909C0B678417A1D26249E86 /* Pods */, + 9D4E26DF6080ADCB389AB90D4A3DE678 /* Products */, + F5D91304DDB412ABC767B52A512077BF /* Targets Support Files */, ); - name = SipHash; - path = SipHash; sourceTree = ""; }; - A594039006D69F6E7EB52154DD258AE1 /* Pods-web3swiftExample */ = { + 9D4E26DF6080ADCB389AB90D4A3DE678 /* Products */ = { isa = PBXGroup; children = ( - B3F9A1907F29304BFC44C6ACB93771D4 /* Pods-web3swiftExample.modulemap */, - DD5A83F499A1B0FA6DF5618B53E3ECA2 /* Pods-web3swiftExample-acknowledgements.markdown */, - E030C6F26BFADC8F35D1E4CA476BF788 /* Pods-web3swiftExample-acknowledgements.plist */, - 59F77AE95BC9FEABC9D930C1AB687A02 /* Pods-web3swiftExample-dummy.m */, - 78065485981757B26523C1E5BD7EAD03 /* Pods-web3swiftExample-frameworks.sh */, - 50EA02714EC707E77A1214BBC12D9969 /* Pods-web3swiftExample-resources.sh */, - 26986386406787D15D8C39F0B109D08A /* Pods-web3swiftExample-umbrella.h */, - 02C519FDB5FE4C5643A843724C5FACA2 /* Pods-web3swiftExample.debug.xcconfig */, - 138892441A5B43660E6766A7D981C559 /* Pods-web3swiftExample.release.xcconfig */, + 11C3B3B474849C50B68C60D72D2A7ED4 /* libBigInt.a */, + 1827336AF5F51D580426EC596EF7357E /* libCryptoSwift.a */, + 17B0A033B10B035FFCCA80D2BE4C4839 /* libPods-web3swiftExample.a */, + 7D734165233A268ADD9C2C4EC0FBCB2D /* libPromiseKit.a */, + 4C5AB9A84E399C3C8F2ED978C0B4DD46 /* libResult.a */, + FDA88052388E64B0D79D3B4902DD4F7A /* libscrypt.a */, + 54A9032553D1C61F8E0154E2C0D53FD2 /* libsecp256k1_ios.a */, + 8FBB098F98DE89D1DE9C0EDB16C22E15 /* libSipHash.a */, + 25A7B1871BF03428A855BE688D20521E /* libweb3swift.a */, ); - name = "Pods-web3swiftExample"; - path = "Target Support Files/Pods-web3swiftExample"; + name = Products; sourceTree = ""; }; - AE0BE7895A2119F7414C44523D88B88F /* Support Files */ = { + 9E83EDA9227ADCBD81BCA0AB995F03C6 /* Support Files */ = { isa = PBXGroup; children = ( - DC4A7D512C0BD1861CBD57CB565E37E7 /* Alamofire-Synchronous.modulemap */, - 049F38FE255AB1E71D64C95692DC4FB6 /* Alamofire-Synchronous.xcconfig */, - 992653885B9D59902726487FEBA99D8A /* Alamofire-Synchronous-dummy.m */, - 84A8D163374AF7BF8980872863D13441 /* Alamofire-Synchronous-prefix.pch */, - 932CBC5F3262FFFCFC4DE3F0BABB1DE0 /* Alamofire-Synchronous-umbrella.h */, + C1E160858524FA249084D3D67DF197C8 /* scrypt.modulemap */, + 76F2D8905A70134EA2CDEFA78C0DBF0B /* scrypt.xcconfig */, + 1004D33259FBFC1535E8D4F64120C7FB /* scrypt-dummy.m */, + BB0D492A199FDCE619F35C5B9F15159E /* scrypt-prefix.pch */, + 1872C3C700D15109420AB2DC4B6455F5 /* scrypt-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/Alamofire-Synchronous"; + path = "../Target Support Files/scrypt"; sourceTree = ""; }; - D99CEA85EC7F4500C6D28C00E59EA5CC /* Support Files */ = { + D29C1D594EFD4A2036CF01A2C19C9777 /* Support Files */ = { isa = PBXGroup; children = ( - 1B04E81358119077F39F7639B28262D7 /* web3swift.modulemap */, - 27A0278487B3A35F4DE88A3A6A0C80F0 /* web3swift.xcconfig */, - 15FB93782A1A4372ADADCD037D645366 /* web3swift-dummy.m */, - 8511526E145D2113AEC83F4DE5E76DE5 /* web3swift-prefix.pch */, - D5BA29EE7ED53CD363C6F0DF72B3D61E /* web3swift-umbrella.h */, + 149A6989679728614A4EF1F0D609947D /* BigInt.modulemap */, + 0438DB1DA63797598E1BC06A1A12F711 /* BigInt.xcconfig */, + 7DBAF0C2F5BD5A5625B1B234D0E9BF81 /* BigInt-dummy.m */, + 6F8C20347DD37B9D783C15476C8D0769 /* BigInt-prefix.pch */, + 4F11F7307F07CC65C25A8F4FF12EEB69 /* BigInt-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/web3swift"; + path = "../Target Support Files/BigInt"; sourceTree = ""; }; - DE8D1EA9F545A36DAC67F2F19D39524E /* Support Files */ = { + E1B11C6B6F27FBCFAD3442F94346DE9F /* scrypt */ = { isa = PBXGroup; children = ( - E1EEA368C1DF5AA741D83D74FDBD34A0 /* libsodium.modulemap */, - 57ED07D0D7DC588EA238683F5E876B23 /* libsodium.xcconfig */, - 0CB334E62A5E30D449B9F82A6E1A987D /* libsodium-dummy.m */, - 7581F19FF104C60CCB888F49268BE499 /* libsodium-prefix.pch */, - 69B36794844C02E6599F50BA293856B1 /* libsodium-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/libsodium"; + 178C5FE20A3B38496D7935F91BDED794 /* BufferStorage.swift */, + 227AEA3AD310D48705A9F080E9587471 /* Cimpl.c */, + A37841BD104497DB3DF5388D4367797E /* Cimpl.h */, + AA9F942F287B75869B1E47BFFC388B1A /* Salsa.swift */, + 388FF24BE1726BEA3B2AEFC39035A410 /* scrypt.h */, + CA57CE485B097FA3819A70808EC9563A /* Scrypt.swift */, + 9E83EDA9227ADCBD81BCA0AB995F03C6 /* Support Files */, + ); + name = scrypt; + path = scrypt; sourceTree = ""; }; - EC3F4804EA5F27BA6D67085C4F1722EA /* secp256k1_ios */ = { + EC60F452D909C0B678417A1D26249E86 /* Pods */ = { isa = PBXGroup; children = ( - A218C676508B9ED4EDC9BD96F52DBBD6 /* basic-config.h */, - 6156CD3DC853117F7DFA18F2C0DF81C1 /* ecdsa.h */, - 48E9C94AB86852D36A9710AD90102B3E /* ecdsa_impl.h */, - 56AFE3A17CBB65F852883DCC670F9477 /* eckey.h */, - 10634CFB2EF41D32E32FE8A965D5965B /* eckey_impl.h */, - 6C99A3FD789ABC75A489410393FC94A5 /* ecmult.h */, - 560C59E3DA98F1DC7FF6CEE7360D0EC3 /* ecmult_const.h */, - B240B2EA8A0499E3C7CA5C1C3266DF24 /* ecmult_const_impl.h */, - 6368621610153F135BEB59AD17A01A8B /* ecmult_gen.h */, - 26D66C2523AFC423435E55733B5AE352 /* ecmult_gen_impl.h */, - 291A46DF7AB17AEF00322279FD59C8A8 /* ecmult_impl.h */, - B66EE8908F81DCE867B70BAC512EF1F4 /* field.h */, - 9192BDE0669434AA333F41E5BA21DAAB /* field_10x26.h */, - CA7466F2B139A0B301CB303275372328 /* field_10x26_impl.h */, - 92490E4606AFB61DD4D8DC214EBF7898 /* field_5x52.h */, - AD090DDE20DD07C7C69EB823F44F7912 /* field_5x52_asm_impl.h */, - 03D3B37D701B1EF1B6E47C489909A603 /* field_5x52_impl.h */, - AE722029DC68D02EA6461E4C9C41FD9A /* field_5x52_int128_impl.h */, - 65CF004FE123686046D527E822D39580 /* field_impl.h */, - 069EC747206713A8F762601F8AC59069 /* group.h */, - CAA299646AC0C45CADB5F62F6D2BC3FD /* group_impl.h */, - 34774FAD1841B9825C1EE94641F8031A /* hash.h */, - F844E0E76DC2084E2E5659E8ADD04136 /* hash_impl.h */, - F09E70740BA9D3DD0D08514FF26DF867 /* lax_der_parsing.c */, - 515E99165DED76EB85C7CB49C0E204D3 /* lax_der_parsing.h */, - FC969CB84D81B084A6123804148E7D87 /* lax_der_privatekey_parsing.c */, - DB81A61AC8BB440ACB89050218661103 /* lax_der_privatekey_parsing.h */, - CA401CB291311CD70CB960707038F8C5 /* libsecp256k1-config.h */, - 801A8EB0451AC3DC4439D0955A1B7D0A /* main_impl.h */, - 816325D912601111454CAA0DDC8D5DA9 /* main_impl.h */, - F14C3095563BB9AED9F31648ACE43080 /* num.h */, - 179A82DD18FF1A75B1F94C65C7D11CA2 /* num_gmp.h */, - 48A78A472373B624F8105BCA8DCC2E4E /* num_gmp_impl.h */, - 32B18C4A6124EF2679D405912CC95C5A /* num_impl.h */, - 35181896BDFDCB8E6DD083AD302E4E99 /* scalar.h */, - 5F2BD26E0B9E275CF473F24154BC447F /* scalar_4x64.h */, - 233D8937791220648FB254714A9186EA /* scalar_4x64_impl.h */, - AD0B06348CB6C797BC577969CDF75C9D /* scalar_8x32.h */, - 37258973681E01486358470D2C49C7B5 /* scalar_8x32_impl.h */, - 3AC93162C8F641A3CD76A2B9B737023B /* scalar_impl.h */, - 72DB8D3BE4CA07E1F17396422F1ED2C7 /* scalar_low.h */, - 33F85ED39C569C82D1B425864C9F5577 /* scalar_low_impl.h */, - AF52610766A7B57679A7BA19F043130F /* scratch.h */, - 999990B76DB3E8ED16457508D671306B /* scratch_impl.h */, - 738EE52559BF16901D5C9909FAD1D905 /* secp256k1.c */, - FE6FCD7ED2C62A13DA5B5AC9E2E94FE1 /* secp256k1.h */, - 1C63C8F2725DC883548B3ED82BA9371C /* secp256k1_ecdh.h */, - 0BFDFFCF02ED6765F4979969A8FA3607 /* secp256k1_ios.h */, - B470A91F2C10AED7C67B8B69E4675EE9 /* secp256k1_recovery.h */, - 0592F1A1527EC5FF5AB5104229EE331F /* util.h */, - ED8C582601A53E661891B7B6AA001344 /* Support Files */, + 6E4EDE9E9B78521FA55CED5638D5EDF8 /* BigInt */, + EE034609EC162D1B2938C377B61EDD5D /* CryptoSwift */, + 6CC6B3B846C4A49776585048537B37B2 /* PromiseKit */, + 76894B4285A9E1A94FB209CBE3286F42 /* Result */, + E1B11C6B6F27FBCFAD3442F94346DE9F /* scrypt */, + 4F552CB6A500F8A25357EB895C9C5B01 /* secp256k1_ios */, + FF614B310B89C645EDD0678F3DBF2FC5 /* SipHash */, + 34AFA66336C6501838838E84DC7993F5 /* web3swift */, ); - name = secp256k1_ios; - path = secp256k1_ios; + name = Pods; sourceTree = ""; }; - ED8C582601A53E661891B7B6AA001344 /* Support Files */ = { + EE034609EC162D1B2938C377B61EDD5D /* CryptoSwift */ = { isa = PBXGroup; children = ( - 6F04B12E10AF142C308B4C07408DAEEE /* secp256k1_ios.modulemap */, - D8C8670FEEFFA41E1E7E42556AA074EC /* secp256k1_ios.xcconfig */, - 55623E13061A39FBDC4AE7983C8FF80D /* secp256k1_ios-dummy.m */, - 88E1DDCFF90B33DA1085FEAFA601F4C6 /* secp256k1_ios-prefix.pch */, - 081CCDFFBA154F382AA426446B1EB6B7 /* secp256k1_ios-umbrella.h */, + 5C8009536C96B6BA559B0430AEC14152 /* AEAD.swift */, + 7DDD374821E4640217896833C7CA1640 /* AEADChaCha20Poly1305.swift */, + F2ABB5405C641CC68BD096B2B036EE11 /* AES.swift */, + FAB164AAEFA3768FB27145624FE1B935 /* AES+Foundation.swift */, + B7DCA902F4BD0A6D5EAB1E39146270DD /* AES.Cryptors.swift */, + 123A79BDE35CE7064C94E97B6CC962F3 /* Array+Extension.swift */, + 74C6B60FD25F8EC022E87CD299A2F7B6 /* Array+Foundation.swift */, + B8E9B7215E082F31D22AE879FC8E6A1F /* Authenticator.swift */, + 29C256B973D8BE987C0231440CCB1E67 /* BatchedCollection.swift */, + A732C7582F6BC356D8BD853CDE811DFC /* Bit.swift */, + 7A5B2E7BC5B7C1DC93FEB876C8062552 /* BlockCipher.swift */, + B3068DD183E4985B3B7691D15DF8298E /* BlockDecryptor.swift */, + 7443C1CD1A0F4F67CD82A92FE91805B2 /* BlockEncryptor.swift */, + A6BE5137753028C21E8B2484B016E908 /* BlockMode.swift */, + 6A223F737D492A8E44460C4DDC7E5773 /* BlockModeOptions.swift */, + 7FD0C198DD93405BF1DA5EDE636A2F6F /* Blowfish.swift */, + 7053901B6F4C7C4685E6983AD717E771 /* Blowfish+Foundation.swift */, + 589F851C490849AC18374F9DD34A57C8 /* CBC.swift */, + 674BEB1072D4B5AA13D4287142BF6E01 /* CFB.swift */, + 2DFD3BF6784E7B36EB8BDA06326E1D84 /* ChaCha20.swift */, + 118A0A4492B525385A8483675B6FCB88 /* ChaCha20+Foundation.swift */, + 3FD29DD5DC6ED789FAEB902C94E865F1 /* Checksum.swift */, + 106E8716BF64A92008832D383814FFB7 /* Cipher.swift */, + 9E54B974F06101FBFA19F76844B3BBAC /* CipherModeWorker.swift */, + 8860ADCD1425930DB2A6C8824B7787DE /* CMAC.swift */, + 0571CF27DD24F25CF822D599D2FD9592 /* Collection+Extension.swift */, + 9ED56C4C75C737397EB4A6FE4BD26A24 /* CompactMap.swift */, + E92471A6404F95DFCFD6D27751246E1E /* Cryptor.swift */, + 8FCF51E9005015897DB4235855C11F3E /* Cryptors.swift */, + 41FC722652762A9CA680AC0CEF50B2CC /* CTR.swift */, + 780AE89716057678AA7E7C10379484F5 /* Data+Extension.swift */, + 2737D9FD26C786FDE441BA01D79E6DB6 /* Digest.swift */, + 397D4BCFA7542A08BF0E44317F724880 /* DigestType.swift */, + BBA5DBF0F836BCDC6BD27E61549AAC70 /* ECB.swift */, + 58E9F0540DB4E1A859392EFA3A0708B3 /* GCM.swift */, + 3298DB5F4EFFFE85F3D5C56F858DE99A /* Generics.swift */, + A79C7498C141E9CE21DC4835847CA83A /* HKDF.swift */, + 183C2164A5A0D7B650B1632D92711576 /* HMAC.swift */, + EEDAFED9F2E7A4D6945433CF19C261A5 /* HMAC+Foundation.swift */, + FEF79F557134C26ABD37AE7F9CB5C154 /* Int+Extension.swift */, + C8D29DC59940B5FDB7E394779075BECE /* MD5.swift */, + 6B1467C65AAF92A3D88CEF44D064DB75 /* NoPadding.swift */, + 20811F2A1E259155573275E6C84F2090 /* OFB.swift */, + 7F532B89CD79FB5FA18D07FC46DD8466 /* Operators.swift */, + 940A12297080FAFA2D6A547951269482 /* Padding.swift */, + FDB053580814C7204EAA8C60A26D2F9C /* PBKDF1.swift */, + A05EDF9C50CA5FB4D54C034BBEEF360F /* PBKDF2.swift */, + 16AF4F6B552E36497978DA12CBFA0A4C /* PCBC.swift */, + FB682963D538987398F14AB14E9F6457 /* PKCS5.swift */, + 22232C77A8E2D0AFF9A27E485B82506E /* PKCS7.swift */, + C9BB9612098BEF96218A20B30D84C0F5 /* PKCS7Padding.swift */, + D65E0431F0537EA35BD7DAF5F94927D4 /* Poly1305.swift */, + 3B62D9ABA91167900FE1A8E0B48BF6F1 /* Rabbit.swift */, + 6D740E5FEAD00D08690A1797817D464A /* Rabbit+Foundation.swift */, + CFD4B69F8A727F8A3888203E38DD2A63 /* RandomBytesSequence.swift */, + FBCF03C2FFB16105B36B473D4E7B2D8C /* SecureBytes.swift */, + 1965E9A5C6BC0EAF6D873E26515FBF24 /* SHA1.swift */, + DC13E3A095630065A63A08AF09FAB39F /* SHA2.swift */, + CB58A1F8BA189B147A3A2B8EE893A5F2 /* SHA3.swift */, + B421CF5866C90A22CF4AD1B2FB521FB1 /* StreamEncryptor.swift */, + 6C1C98DF0D19110BC29B96ACF3CD8253 /* String+Extension.swift */, + F3F5A2A6D774B47357984CAF7863D68F /* String+FoundationExtension.swift */, + C42BF3CAC53EA5AA37D4CC5C152AA8B6 /* UInt128.swift */, + 0592455534B27A7EDFB9DACFC3FBD860 /* UInt16+Extension.swift */, + 0F0897176807A58E1A713B8A2B2948DA /* UInt32+Extension.swift */, + 16D03E5E5B1C1CC5F18AE9C3C8EE602B /* UInt64+Extension.swift */, + 06DA7D56C2864C4222F706AFC7953AF9 /* UInt8+Extension.swift */, + 81129A66FBF8621B73A114A3835F4046 /* Updatable.swift */, + 6056EC003B91D6AE8460C740F35F2BC5 /* Utils.swift */, + E20325AD797DB5BA5787DCB0E743E290 /* Utils+Foundation.swift */, + 6A5EEC6F826A7BB4BCF689DDBBBE8AF0 /* ZeroPadding.swift */, + 5BAC90A6912CC2B93688550661898B95 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/secp256k1_ios"; + name = CryptoSwift; + path = CryptoSwift; sourceTree = ""; }; - EEC81A9DDC5F5070BDAB93197A92FFF4 /* Support Files */ = { + F5D91304DDB412ABC767B52A512077BF /* Targets Support Files */ = { isa = PBXGroup; children = ( - D27DB0B063A0D939B860750E7A89F291 /* BigInt.modulemap */, - A7A4C7122F27CBFA96424826052E6248 /* BigInt.xcconfig */, - 8D3147ED887DBFD77A06F2965ACF1BA4 /* BigInt-dummy.m */, - 982ADB88809D5C7FFDDDB87113D277E3 /* BigInt-prefix.pch */, - 489FB877091B4E45E96975A9BAD8A477 /* BigInt-umbrella.h */, + 33548EC949E8B683284D35310869DD50 /* Pods-web3swiftExample */, ); - name = "Support Files"; - path = "../Target Support Files/BigInt"; + name = "Targets Support Files"; sourceTree = ""; }; - FFD8D5C900D659A5C3A53E13A360E0D3 /* PromiseKit */ = { + FF614B310B89C645EDD0678F3DBF2FC5 /* SipHash */ = { isa = PBXGroup; children = ( - 6A5E240354A0D813C938514F9A8343C5 /* CorePromise */, - 1F84090814B5775CA5427E116EC7B1A4 /* Foundation */, - 0AF920C486366BC375B75DAC7567A708 /* Support Files */, - 4DC29A4ADF361E63DB5EA1FAD0243167 /* UIKit */, + 3C9503C4F6C4DBB79AC671BCA551F24A /* Primitive Types.swift */, + 22E9055D66F39B0B671EC13A4D7A9AC5 /* RandomUInt64.swift */, + B8577B9E45726016E2FBBDE2C00FBA5E /* SipHashable.swift */, + D9820DAF2C85EF9676F910DE851D4162 /* SipHasher.swift */, + 56042BEF07057820075563F39785152A /* Support Files */, ); - name = PromiseKit; - path = PromiseKit; + name = SipHash; + path = SipHash; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 0FE8D0A7B257E7C2CAE06E5AC68FC4CE /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 5FD30497690A84997E31DDE73AD081A1 /* web3swift-umbrella.h in Headers */, - AE5C830A8F7F45E3C6EEDA93225D5645 /* web3swift.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 46BDB29046A9B48DC12B231093E04B12 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - B4F142FE09D136C9E623D5229FF3F0D5 /* BigInt-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4B5A87CA238529EBB047EE28F5E36864 /* Headers */ = { + 348FEDAFD29DB68ACC79429CEBD1BECC /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E79E46E18747D7D244E6590E28097469 /* argon2-core.h in Headers */, - 15C1E29704920D904948917243988A73 /* argon2-encoding.h in Headers */, - 5CD3F14097EDC2039F29CC9CA4DE692D /* argon2.h in Headers */, - FB0ADBC110F89DBDFDA51004F1B3D2C5 /* base.h in Headers */, - 8DC0DD9A1C825A326D63BB3B2850C7C0 /* base2.h in Headers */, - 1B237DA46F49B1066DEB47495BBE65B3 /* blake2.h in Headers */, - 749510BFFC306C02ADCC5EBE270653BE /* blake2b-compress-avx2.h in Headers */, - E38B386F5E1D7631F08DA55B42CF9E9D /* blake2b-compress-sse41.h in Headers */, - 24364307BF4156900E8D4D238FE4F914 /* blake2b-compress-ssse3.h in Headers */, - 94BFE18169F3ECE03F5BEE03A7F5FE3D /* blake2b-load-avx2.h in Headers */, - 68EB609B6F9AC72A058B8DABF62516C8 /* blake2b-load-sse2.h in Headers */, - DEF49909269A564A8B6DD2C610D907B4 /* blake2b-load-sse41.h in Headers */, - D04791584287436593052CCB1BB7889F /* blake2b-long.h in Headers */, - BA01636EA78F1339A7327029E07166F5 /* blamka-round-ref.h in Headers */, - ED0D35D8286B7929496EEFCA5D7AA44D /* blamka-round-ssse3.h in Headers */, - A947D0E6EB49BE33E9987BE937062EF4 /* chacha20_dolbeau-avx2.h in Headers */, - 29DE76B772D6C1B806F4BCD1EF3F97E1 /* chacha20_dolbeau-ssse3.h in Headers */, - 8BAE58F0AA5F66CB7DA08840E3616952 /* chacha20_ref.h in Headers */, - 1ADC53FF829A5BD66BBF902B28488ADC /* common.h in Headers */, - 92FD0383DA332F8CC98589BF91E67B4D /* common.h in Headers */, - 6C0115800515773E93C0436271F412EA /* consts.h in Headers */, - 90BEA296C06E9E83CB0F258CF7C735C4 /* consts_namespace.h in Headers */, - 5F47E82855516CE144F25368FCD8AB17 /* core.h in Headers */, - B53F3EFBF26823E56EE5B10F8D18DDCE /* crypto_aead_aes256gcm.h in Headers */, - 9A4E8538BFADF87C5AC73CF474CB50A1 /* crypto_aead_chacha20poly1305.h in Headers */, - 3A5DFD633D444B43E39660997BFAE117 /* crypto_aead_xchacha20poly1305.h in Headers */, - BB367B38B49F270055D7334CC9CFA85B /* crypto_auth.h in Headers */, - 0F47F0D598A72314FA200C9F382C68C2 /* crypto_auth_hmacsha256.h in Headers */, - DED591F790C824C6C45C2DF5F5BEE686 /* crypto_auth_hmacsha512.h in Headers */, - 0EA1DCA5DD64CE6268DF04EF5BE15E31 /* crypto_auth_hmacsha512256.h in Headers */, - 5FD9CBE0E98E89DDDA6F9BB989BC4CA1 /* crypto_box.h in Headers */, - C6AF44A23DA7F52D894869DA79C2DB9D /* crypto_box_curve25519xchacha20poly1305.h in Headers */, - 421BF06AAB3240999EB94E4EC69394D7 /* crypto_box_curve25519xsalsa20poly1305.h in Headers */, - C1BF05FD098C7BCE829597297F3F8834 /* crypto_core_hchacha20.h in Headers */, - A96E18A961512D9B0F1AADA681FB9079 /* crypto_core_hsalsa20.h in Headers */, - 51C90DD53ECDA0779B33492CD9CA6313 /* crypto_core_salsa20.h in Headers */, - CF10CB173C7164F4969826BC18243905 /* crypto_core_salsa2012.h in Headers */, - EA84A9639482248EFE15642F379E9E0A /* crypto_core_salsa208.h in Headers */, - 4E840F7F268608B02D661117D62498E8 /* crypto_generichash.h in Headers */, - 78B9FADEC0E4883E4417F769246BD219 /* crypto_generichash_blake2b.h in Headers */, - 7F020F5A60425D27D097CD4ACFB270D3 /* crypto_hash.h in Headers */, - FA7EE3AD26768230A7899F73DEB19622 /* crypto_hash_sha256.h in Headers */, - C6557F9FBBC76EA04BEE307935C7E493 /* crypto_hash_sha512.h in Headers */, - B656A2A6147E013DA8C89794313A8CC0 /* crypto_kdf.h in Headers */, - 17937D244E0CF84FE4E58F1A1F0A6440 /* crypto_kdf_blake2b.h in Headers */, - 3D156A5AD899172985D8121462689F91 /* crypto_kx.h in Headers */, - BCC10E1745F230F6481E24EF7B19FCBC /* crypto_onetimeauth.h in Headers */, - 4A44C3B017D35C42E34FBFC55FB5A93D /* crypto_onetimeauth_poly1305.h in Headers */, - 3FFD749CC33B3C00F433EDF329FA28D2 /* crypto_pwhash.h in Headers */, - B22F5539C171C26B945910CF7647BBBC /* crypto_pwhash_argon2i.h in Headers */, - 91CC1EF2DEFDAA3A1D0AF52CA605BD80 /* crypto_pwhash_scryptsalsa208sha256.h in Headers */, - B7D459CB26DC128587A1FBBA5B53E650 /* crypto_scalarmult.h in Headers */, - 1289CDC503371B19D32A55D70B1273D5 /* crypto_scalarmult_curve25519.h in Headers */, - 16E336CE5EB1E5D9B84697D002967161 /* crypto_scrypt.h in Headers */, - 11461E2C33F42579F10C0910D5709362 /* crypto_secretbox.h in Headers */, - C273EB3A7346CB29021273E48087C3DD /* crypto_secretbox_xchacha20poly1305.h in Headers */, - DD28E8110085C367D00ADAA013223BA2 /* crypto_secretbox_xsalsa20poly1305.h in Headers */, - C5C206CDEF80DAAFC45CCBD3E20A8823 /* crypto_shorthash.h in Headers */, - 7EF4F5C0459BBBF6CE5D81ACB8B32201 /* crypto_shorthash_siphash24.h in Headers */, - CAE9D15C894FC17100D54FABEDE9694A /* crypto_sign.h in Headers */, - 82723EF68E34DA6E48B55F60E0AAC767 /* crypto_sign_ed25519.h in Headers */, - F13DEDEC5B072203014FDD0A7F068DFD /* crypto_sign_edwards25519sha512batch.h in Headers */, - FE98ED4529B079754287111DAD19CA9F /* crypto_stream.h in Headers */, - 0474755824D43DBF207D9E0F134670CD /* crypto_stream_aes128ctr.h in Headers */, - 8F890EEED7E5B95E6D117E9BEED09CFF /* crypto_stream_chacha20.h in Headers */, - DE1FAFDEB9550175909C13ABDF6FC008 /* crypto_stream_salsa20.h in Headers */, - D44CD3D216D5FDC67A318B9672C98BB5 /* crypto_stream_salsa2012.h in Headers */, - 35234C641F61C17E596F1E6806190014 /* crypto_stream_salsa208.h in Headers */, - B35ADDFFA4C81F3F3E12B04A73201956 /* crypto_stream_xchacha20.h in Headers */, - 04870F3357CB6FC50705116B34A26D10 /* crypto_stream_xsalsa20.h in Headers */, - 1EB84DBA1D30D2F2E35C1361BAA10268 /* crypto_verify_16.h in Headers */, - A795A1305DE3A080F69D88EFB43DE39E /* crypto_verify_32.h in Headers */, - F23A2DB7BE654D70321E2B3747E1D06C /* crypto_verify_64.h in Headers */, - 3F97B231CE137F7C308A0CD3D5F73029 /* curve25519_donna_c64.h in Headers */, - 01E7C7E2847A7E9641F1D4C7A3B2D9E4 /* curve25519_ref10.h in Headers */, - 93D152D5D8FD9493B53E9AEBAEE56A98 /* curve25519_sandy2x.h in Headers */, - 8A625F7CF771B8CB15FD67A145F63FFF /* ed25519_ref10.h in Headers */, - BA7E58DA6B7D94593CA35F27FC0454F9 /* export.h in Headers */, - 4B9A39E495458E061B4A734B82D90CD6 /* fe.h in Headers */, - 3E085441E40FE9F8813F15C877F54F29 /* fe51.h in Headers */, - 11E827BC5D74C75B6501746F0FC9C81F /* fe51_namespace.h in Headers */, - 7D9C496BEAAFB32AFCCF4BF055E9D880 /* int128.h in Headers */, - D5EADC6B5FAE6460AF280093019EC06B /* ladder.h in Headers */, - B04E9A52CB70BB4511B4740ECC0CFDD5 /* ladder_base.h in Headers */, - A5C354890062E3B0A6F0DDFEAAB34AFE /* ladder_base_namespace.h in Headers */, - 6A92D7F6AF2DC8B93C8E2ECF56089544 /* ladder_namespace.h in Headers */, - 34741E3AF63C9F3B6D157E13EB79F53C /* libsodium-umbrella.h in Headers */, - 96056D0CE954898FE5F6FE66797C8460 /* mutex.h in Headers */, - 0081046A8CEF1A60C5D0A152BFFA9CA8 /* onetimeauth_poly1305.h in Headers */, - D29713D546C1B38C682373DBB06F3D92 /* pbkdf2-sha256.h in Headers */, - B22232AEA6A53392E665A8BBA853D2FD /* poly1305_donna.h in Headers */, - 6520A3D15F93EE41B6D4802DEA79ADAE /* poly1305_donna32.h in Headers */, - AE2814A6AF6D81AC77CE866436AC2416 /* poly1305_donna64.h in Headers */, - 1E3E10A081E0FF2C8FAEDFF5B97AE3CE /* poly1305_sse2.h in Headers */, - 1D9DFC0BBD5AC216E4C7E74D2811AE37 /* randombytes.h in Headers */, - 000699D06C32A60344E64AB59571DB2B /* randombytes_nativeclient.h in Headers */, - 05CB07E39655327D5B5BE84D31E080A8 /* randombytes_salsa20_random.h in Headers */, - B4700C1C836275C2720D784D34B007AC /* randombytes_sysrandom.h in Headers */, - 5302F3D25896FFD001F8F8D72CDE5F0F /* runtime.h in Headers */, - BCEA341EA11DB5D155AFD4ECAA544B37 /* salsa20_ref.h in Headers */, - B6BB8EC4B64786778F57C8A62F44F045 /* salsa20_xmm6.h in Headers */, - 2EB280D5F42A0F63D9414E13C7011A35 /* salsa20_xmm6int-avx2.h in Headers */, - 547C788EB5BF3296B1C8687D5021B263 /* salsa20_xmm6int-sse2.h in Headers */, - 7E1240C41487C38E8EB5F77CB1D6E5F3 /* scalarmult_curve25519.h in Headers */, - B9FA7B49A7D6F56E515D6C2956A44C65 /* shorthash_siphash_ref.h in Headers */, - A677AB0DEAD44C779D96AA6E205B0698 /* sodium.h in Headers */, - C2CEF712386000899A294A8546CD1FA3 /* sse2_64_32.h in Headers */, - 10D06D1F924D0220F18547B67DE0C35E /* stream_chacha20.h in Headers */, - 3ABA612F9F96A11A319632EABD593D7E /* stream_salsa20.h in Headers */, - E51C10D86D29150EA1D0492D0746AC36 /* u0.h in Headers */, - 81241970217F8F37CFFFA4B00C95AD54 /* u0.h in Headers */, - 4944395F7DB57F0769B3A9FB2C6E9999 /* u1.h in Headers */, - CFF3D9168B24CA6264C93444A5AF1A68 /* u1.h in Headers */, - 402C672B56DD3FF6DD2251199CB29AB2 /* u4.h in Headers */, - C2664C916AD2D56DB05756ED151C540E /* u4.h in Headers */, - BE3DBFEFBCBB3957328AAB3B7EE08DA1 /* u8.h in Headers */, - 5D2CD43941BD5AE76EF5B7F895585B8C /* u8.h in Headers */, - 9B0FDE7BEBCC2EDA6913E84D90E9404A /* utils.h in Headers */, - 5E29F12932496B47CD280887F4243761 /* version.h in Headers */, - FC68D7F171C660778125166FE8A3260B /* x25519_ref10.h in Headers */, + 0CEC6253D2D954152AC4B4471CDB740A /* Cimpl.h in Headers */, + D9C65DE359CBC075E8237712B08CE6B7 /* scrypt-umbrella.h in Headers */, + BA152925FD32B3DD8E99B6ED52A41300 /* scrypt.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 66CE674D2E1AC70E92827237A011E09B /* Headers */ = { + 4950E5373AD51C9D8BC9C6D99E3169ED /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 76577D0616D1280BF37FA6DB670AD771 /* SipHash-umbrella.h in Headers */, + EB01BFB4856AE2B0729EEF5BB2E4F4BB /* Pods-web3swiftExample-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 726BC7FB7F0FDA787E2C0553194591F6 /* Headers */ = { + 52C34075DAB19ED44ACB50B0711DE98E /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 371D9401F3FFBBFB7F6B5A2B5BF66D86 /* Alamofire-Synchronous-umbrella.h in Headers */, + 1827A2E7503354E5079D35079745DE19 /* CryptoSwift-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 97A75ACEEC21D9E90DCD638BF807C231 /* Headers */ = { + 6F71C6D55A9BEC0CE7216BC963319251 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - BD2FF75D9D8CCC25EC6E2F8852ED228E /* CryptoSwift-umbrella.h in Headers */, + A92458877FCA59086F67BB51DDC41CAB /* AnyPromise.h in Headers */, + 22DCAC3A73E88CA5628BC1FEB5DBA99F /* fwd.h in Headers */, + 35923DB1A6781812B8913ECD0416D749 /* NSNotificationCenter+AnyPromise.h in Headers */, + 0F122728D41D7ACC67337E2E602B04A9 /* NSTask+AnyPromise.h in Headers */, + 847F825E0F00B1476A42EC1A2914DA3B /* NSURLSession+AnyPromise.h in Headers */, + A30DC6AF6EF10EB0690299A4867C9B84 /* PMKFoundation.h in Headers */, + 56FEEE8BC37939684F8887F96C6EFE1E /* PMKUIKit.h in Headers */, + ED87753A5604561B7D2436DE33925A7C /* PromiseKit-umbrella.h in Headers */, + 9C41B74A57AA5CFF765F024109AC0578 /* PromiseKit.h in Headers */, + B8A496A3D5363FF8EF9121E53AD89050 /* UIView+AnyPromise.h in Headers */, + DDB1738B9B50E6F1120181DE827F7A91 /* UIViewController+AnyPromise.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - A57482C0848FE7E8A4659A132764E2E4 /* Headers */ = { + D97844B1DEDE16B186EE602B8171F0CD /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - F22D5CE1470B5AB9301BAFC32F53DF0F /* Alamofire-umbrella.h in Headers */, + 9FD060EF8DF515DA0B961EEFA266D545 /* BigInt-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - AE02D44ECAF2D67E0D8657F9914C7E03 /* Headers */ = { + E48F92574331C298E9A411300A4C8866 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 7ED2C9AA92D9D56DC4A22006E242C21B /* Result-umbrella.h in Headers */, + 3401E200180CF3B6563B96FEAF55CA94 /* Result-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - DBE5F7DE6E568A76E84678D6E7AF8E53 /* Headers */ = { + EB79ED98B75A5B0283699BCF857B3EEC /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E9C3CA014728934CD7DF850B33CFA2CE /* AnyPromise.h in Headers */, - B30F1C28150DB4540C3D939C7866A409 /* fwd.h in Headers */, - 4338E6956996F4D96B5E66E0C9360C1E /* NSNotificationCenter+AnyPromise.h in Headers */, - C1C9FBA2F6BBD6E35E59900B353C80E8 /* NSTask+AnyPromise.h in Headers */, - 3BCB7EFE2133591728C88F0D51953C9B /* NSURLSession+AnyPromise.h in Headers */, - 1715D7D55136C2B2EF08F35FF26C4A89 /* PMKFoundation.h in Headers */, - A854423D78E93064C39C140B0A3410E5 /* PMKUIKit.h in Headers */, - BC565F13A3AED6C8A021F906C7F00BB3 /* PromiseKit-umbrella.h in Headers */, - 99780F2428BBB345818A70E98A87E516 /* PromiseKit.h in Headers */, - ED0CBE11D5404DC0601C94AD9E19AE6D /* UIView+AnyPromise.h in Headers */, - 8AD43A24B030C8EA3A7C574AEA70F834 /* UIViewController+AnyPromise.h in Headers */, + A5CE80C2CF454667ADBEFFF8D35EC95B /* SipHash-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - FC803F3C077B0EB78A677958FED88E17 /* Headers */ = { + FBA602E8EEE4C842340E51E8C5014BAC /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 29F855A23165F9D41083C8974F992B6E /* Pods-web3swiftExample-umbrella.h in Headers */, + E0A8CB42FD278D108E4A708AC52D84C3 /* web3swift-Bridging-Header.h in Headers */, + 2FDA0E6E5364186683841D4CB7F2AA96 /* web3swift-umbrella.h in Headers */, + 83DE107ED68E9FFA4B62A5A12B99223B /* web3swift.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - FDB929D08ED631B3673F0DD354BD6802 /* Headers */ = { + FE3CD8B6EFC826ACACF93012F3F3DB7F /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - F51051D3E93EEE3679A14952BF030C77 /* basic-config.h in Headers */, - 2AF7A6CF184F95C89E9A488740EDFEC4 /* ecdsa.h in Headers */, - 97CFA764B51926D61D875176AA7A1E0F /* ecdsa_impl.h in Headers */, - A34046C93B3CE0660E765661612A83A8 /* eckey.h in Headers */, - 032626B54BA79A07AE1A60C91E475E80 /* eckey_impl.h in Headers */, - 29737F9AD792F97ECC5113BF045D867C /* ecmult.h in Headers */, - 233FD2D49BF41905523B7189129A6107 /* ecmult_const.h in Headers */, - 8B591FF429DAC93A9096E986E74D1631 /* ecmult_const_impl.h in Headers */, - 5C2630CBC940DBAB8C4594DE21DCE17B /* ecmult_gen.h in Headers */, - 7B7D97CA9DA9447198F7C8FF337744F8 /* ecmult_gen_impl.h in Headers */, - E7616FA3D7F34300979668726C69CCD7 /* ecmult_impl.h in Headers */, - 3A5147D15A653950D88D1A400A24891C /* field.h in Headers */, - B0E47E0FD666D09FE45D8F1CC88B10C2 /* field_10x26.h in Headers */, - 56F8FD162CF9C62E228797A363831FD5 /* field_10x26_impl.h in Headers */, - C9C012536B117CEF9B14530A6D9DA156 /* field_5x52.h in Headers */, - E50280139166DDE495B4FC6F4534DBD1 /* field_5x52_asm_impl.h in Headers */, - B12105FCC668A1EBF715BBA77DF1DDE6 /* field_5x52_impl.h in Headers */, - 12B5F76EAC7A297313EA7DEB11F38385 /* field_5x52_int128_impl.h in Headers */, - 2A03C5CD249ADD146A15FE0A55F6F9D5 /* field_impl.h in Headers */, - 8B0D0200A65AD9B0813B39D02ABB875A /* group.h in Headers */, - FB0DF7A6061E7183CFEE6D9F23F10F00 /* group_impl.h in Headers */, - A0192B0C46E4190077CCB58AFD5CE121 /* hash.h in Headers */, - C3BEB1E3EBDDC541D8AFF230D9E2238D /* hash_impl.h in Headers */, - C50E5B36F5D529834F06838B636821F2 /* lax_der_parsing.h in Headers */, - 60C873413DE4166B92CB5D0619A404DA /* lax_der_privatekey_parsing.h in Headers */, - FBD9FE531FB5348FF821331F6631F8D1 /* libsecp256k1-config.h in Headers */, - 33DF2A6B4E94AAE15FBE842E39FAFB44 /* main_impl.h in Headers */, - A9C2B537E6C3FB8EBC6B6EE45769DB5B /* main_impl.h in Headers */, - 5B2FC69F1DCBC5B6E5EF6885E58B0673 /* num.h in Headers */, - 01C22A0CE73F8C1083B3D66A8025FCD5 /* num_gmp.h in Headers */, - 182EE7A8054268231299FD8F8CD913E2 /* num_gmp_impl.h in Headers */, - 1770BF63398E1F6A8DF0A2B37E5863E1 /* num_impl.h in Headers */, - 38F6309A01A1DB5CB33F74484F850DDD /* scalar.h in Headers */, - 9F937E5B179E2A0DB6088FC8E6315172 /* scalar_4x64.h in Headers */, - 56619316F09C1A01C94A5EB5B8730988 /* scalar_4x64_impl.h in Headers */, - F8C9D9952E9FDA9D070C283778B9887A /* scalar_8x32.h in Headers */, - 15D45FBE725E862CC88E099F1628F649 /* scalar_8x32_impl.h in Headers */, - 4C62220D235414F741B9BE7DDC04E454 /* scalar_impl.h in Headers */, - C2339F678270933E2EEA044B65E0F762 /* scalar_low.h in Headers */, - B4F053CE5E5508D9ED5B791EAD6BDDAC /* scalar_low_impl.h in Headers */, - E45F6840FCE5471B0C43B5591C3F7D0B /* scratch.h in Headers */, - 62008DA9FBA2BDCE801638F6E6DDB997 /* scratch_impl.h in Headers */, - E4F7523BAE0EA6C227D06766AEDC4AFA /* secp256k1.h in Headers */, - CA9A17B9436EA40C9618BE57E1FE3408 /* secp256k1_ecdh.h in Headers */, - 026EACFD4242AC939EFBAEAD5C363E33 /* secp256k1_ios-umbrella.h in Headers */, - 7C86868C8263F9439AE692C820B37007 /* secp256k1_ios.h in Headers */, - 0C1DFFD3A3257265351DDE857EEF74AC /* secp256k1_recovery.h in Headers */, - 8EDC7BB6FDFB45EBEE23E723E659B414 /* util.h in Headers */, + 6D8404384D6E70502A028E0A183163BB /* basic-config.h in Headers */, + 0E4E5A6466DC27E019E10B79F0AB77EA /* ecdsa.h in Headers */, + FC1F07D24FAAD244DFC4B45090EE5950 /* ecdsa_impl.h in Headers */, + 7206709B12948E39A73C1443F4476FE4 /* eckey.h in Headers */, + 2DD6BC67B196FDEB6520629498A29D83 /* eckey_impl.h in Headers */, + BD25CB4CFA3B80A28358767263C8EC4F /* ecmult.h in Headers */, + 40FCE77060A9F031CFDE7A39DB8BE346 /* ecmult_const.h in Headers */, + 875C13093A167B1933DD251F3F1A84D1 /* ecmult_const_impl.h in Headers */, + 193BCB45EB2F96FFD27337F8D2D9603F /* ecmult_gen.h in Headers */, + CED84B344142DF490AF0D18D8E9479DF /* ecmult_gen_impl.h in Headers */, + 1876693CC43D85F269BADE3E768EDA7D /* ecmult_impl.h in Headers */, + C688F5C8C2D7B7BEAE10B658160B336D /* field.h in Headers */, + 6AF78554F313E5317E4F904D7B8D56A2 /* field_10x26.h in Headers */, + BBA227B2DA3FCD94E3C3869334FDDE64 /* field_10x26_impl.h in Headers */, + 13BB14D730491354406F32259BFA9257 /* field_5x52.h in Headers */, + 7E85ACD04ADFC992156F52FBE1BFE20A /* field_5x52_asm_impl.h in Headers */, + 185B22077187E274AD1554F64AEDCD02 /* field_5x52_impl.h in Headers */, + A5DAA10D56BDF5F37BF37565DECAA21B /* field_5x52_int128_impl.h in Headers */, + 4BEC002E24F5AD2E72EE77A41D06AA1D /* field_impl.h in Headers */, + 7FEA191A8B72A225854E8C1E418CF7B1 /* group.h in Headers */, + 6367286AA49B412B8FA5D9E60AC57942 /* group_impl.h in Headers */, + 175846F537D8B12473C9BD1BC7664B16 /* hash.h in Headers */, + 8FB3313F35F24D37534650188E353A5A /* hash_impl.h in Headers */, + 0C3AE310B1F97E722879135D91FC439B /* lax_der_parsing.h in Headers */, + D65BBA0A22D0D76A1CD79598C618D55E /* lax_der_privatekey_parsing.h in Headers */, + FD0D4090ED18D30D6B23CFD9926574F8 /* libsecp256k1-config.h in Headers */, + E00C3E6F15B657031D180E254291281E /* main_impl.h in Headers */, + 4A5593F6C0B13BB81EAD2D062E38E21A /* main_impl.h in Headers */, + 924E737605ABB2921B3F48BFD380944B /* num.h in Headers */, + ADDCFDBB0901A879A2803A20BDFF5CF3 /* num_gmp.h in Headers */, + FED52EE758698BB66DDCCC50D40D2E97 /* num_gmp_impl.h in Headers */, + 3E3087E0AF2608D58EFD71B57D6FF5D5 /* num_impl.h in Headers */, + 2C9C89045C33D64985BF4225219BD28A /* scalar.h in Headers */, + 7FADDF54E465F347CF0C611B940B56E2 /* scalar_4x64.h in Headers */, + 68FCBCF149554A07A481E77E101529A0 /* scalar_4x64_impl.h in Headers */, + 5111E29F246083C72BED5DCB4AB23339 /* scalar_8x32.h in Headers */, + 85973E99277A40CB09CD12CDB7F66743 /* scalar_8x32_impl.h in Headers */, + 0342898ED680F5682ED857AD2025247D /* scalar_impl.h in Headers */, + 849B9967D22A26A74AD8C73FB1648F23 /* scalar_low.h in Headers */, + 4713F0A481C5F6ACE1E7F285B4FA5FEE /* scalar_low_impl.h in Headers */, + 2A1C4A8A8BA9576AE5DF448DB426C023 /* scratch.h in Headers */, + 80FFFE82E8A8DE6ED294DECE0DDE1908 /* scratch_impl.h in Headers */, + C9BA69738F1D82501188F3E78B25FDE2 /* secp256k1.h in Headers */, + 779F797D02BC03B4AC8C9BA2F32EDD86 /* secp256k1_ecdh.h in Headers */, + 84A96034B669A157EFCB701B8F7F635F /* secp256k1_ios-umbrella.h in Headers */, + 661C802B489BBD3DFD82BFD64B22436D /* secp256k1_ios.h in Headers */, + DA60C0DBB660F185C28AB5427B4EFA7D /* secp256k1_recovery.h in Headers */, + 2EB9A7BDFE7194105B1D955541456E8E /* util.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 08A16B7582F00884501F5E7A9B8E6FB4 /* Alamofire */ = { - isa = PBXNativeTarget; - buildConfigurationList = 7F069918FA75D71DAA1B2EBCE2A82AFE /* Build configuration list for PBXNativeTarget "Alamofire" */; - buildPhases = ( - A57482C0848FE7E8A4659A132764E2E4 /* Headers */, - 32AD760B54579FD98DEB66176FB66EFE /* Sources */, - 4F3B7B8D9C991CB084295797C045670C /* Frameworks */, - BB2B2D8276577B5631EBD2527E99FE58 /* Copy generated compatibility header */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Alamofire; - productName = Alamofire; - productReference = 90C9773768837EBD106AEC698E3615DE /* libAlamofire.a */; - productType = "com.apple.product-type.library.static"; - }; - 1FA7CDA9950A14DCE2AA7B4CB3743467 /* Alamofire-Synchronous */ = { - isa = PBXNativeTarget; - buildConfigurationList = BFF68AA274747151FAEACAFE079A5F45 /* Build configuration list for PBXNativeTarget "Alamofire-Synchronous" */; - buildPhases = ( - 726BC7FB7F0FDA787E2C0553194591F6 /* Headers */, - 4E9F4AA0129581CBF24249C5152BC697 /* Sources */, - 16A081940B7B4620FA68CA39C1F7936D /* Frameworks */, - F8A1E18F4859B521D9E62FCCCA00E5DA /* Copy generated compatibility header */, - ); - buildRules = ( - ); - dependencies = ( - 2CAF260CCACE97978263FE4D65FD0F02 /* PBXTargetDependency */, - ); - name = "Alamofire-Synchronous"; - productName = "Alamofire-Synchronous"; - productReference = 2FE16520CBECBCFD0C15F2D9346D65FC /* libAlamofire-Synchronous.a */; - productType = "com.apple.product-type.library.static"; - }; - 2045E50CFDF71874CA1271906E10BCCB /* web3swift */ = { + 0E877A906EE881D9A703E2CEB69B27B0 /* scrypt */ = { isa = PBXNativeTarget; - buildConfigurationList = 82933FD53C0B3ACB6A2EBE9D6D3C7BC9 /* Build configuration list for PBXNativeTarget "web3swift" */; + buildConfigurationList = 4E0232B8BAE447830A17E134BCD5FC4E /* Build configuration list for PBXNativeTarget "scrypt" */; buildPhases = ( - 0FE8D0A7B257E7C2CAE06E5AC68FC4CE /* Headers */, - 19E334B1B6A668EC50719E1C8C5C9519 /* Sources */, - AEA92C1D6AB549D30835ED6856354623 /* Frameworks */, - DE172EF7CDBBD41B21A5C731D9111038 /* Copy generated compatibility header */, + 348FEDAFD29DB68ACC79429CEBD1BECC /* Headers */, + C747AFF53DCA864F052E68331F3DFFE3 /* Sources */, + 074822914DA50BC43B6AB0802CD935A2 /* Frameworks */, + EBF754F6CDE2179EC6ACADCF7648ACA7 /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( - 7122A7EAAFE4F7EBF3BE48B3005FE984 /* PBXTargetDependency */, - B1C580DA26FBED793ECB2A1DB27EFDA4 /* PBXTargetDependency */, - 67B7B3CE44B5571A2A689133713E76C4 /* PBXTargetDependency */, - E754EC7979D3C686F99AA07C2D5944A6 /* PBXTargetDependency */, - BD5CB068ADE9A9F42432171B0724B615 /* PBXTargetDependency */, - 5A421FFCA98A5D688197AC3F4BDCF6A3 /* PBXTargetDependency */, - F8B662ACD10CF6F20ECB2ADFC042C03B /* PBXTargetDependency */, - A7FE34144E2F8EF2AC97453CBD12376A /* PBXTargetDependency */, - 8B0658498E5E3EBB0C6DB77CCFF3E5A0 /* PBXTargetDependency */, + 4BC8665C320BCB284F1AB9E0F52EEF22 /* PBXTargetDependency */, ); - name = web3swift; - productName = web3swift; - productReference = 14C6B63470D05BAF0F3D40DE0838D85B /* libweb3swift.a */; + name = scrypt; + productName = scrypt; + productReference = FDA88052388E64B0D79D3B4902DD4F7A /* libscrypt.a */; productType = "com.apple.product-type.library.static"; }; 23A9C77578E46AEB069BEF36B9B5ADA6 /* BigInt */ = { isa = PBXNativeTarget; buildConfigurationList = C2F0F5224D2CB877BA3BE60F8BC9AF96 /* Build configuration list for PBXNativeTarget "BigInt" */; buildPhases = ( - 46BDB29046A9B48DC12B231093E04B12 /* Headers */, + D97844B1DEDE16B186EE602B8171F0CD /* Headers */, E2D6BCD5E5A99E5CAB3F3FBB1D6EC36E /* Sources */, 21FA9C90304F8596C9EE0647F7C9E1EE /* Frameworks */, A3482DBFA9CE4039AA1605DA46D15EAB /* Copy generated compatibility header */, @@ -2613,70 +1594,77 @@ ); name = BigInt; productName = BigInt; - productReference = FDCF05320EB6ACCCD2321F4F4A05D8B2 /* libBigInt.a */; + productReference = 11C3B3B474849C50B68C60D72D2A7ED4 /* libBigInt.a */; productType = "com.apple.product-type.library.static"; }; - 25F139B783F51F1B03C1B65120448B73 /* PromiseKit */ = { + 60BF36463B9896F856D87DA4DE89FBB9 /* secp256k1_ios */ = { isa = PBXNativeTarget; - buildConfigurationList = A19B0DA0873FFF35A37784B512A932C4 /* Build configuration list for PBXNativeTarget "PromiseKit" */; + buildConfigurationList = F03D2FCD8A4F5A2AA17A4CE1442CBB2E /* Build configuration list for PBXNativeTarget "secp256k1_ios" */; buildPhases = ( - DBE5F7DE6E568A76E84678D6E7AF8E53 /* Headers */, - AAC459EBCB220BCD476AEF783664BB0A /* Sources */, - C6923AF97849B16CED864BEC379F56D3 /* Frameworks */, - 6AE1BAC046CA57A7223F578BBA811F10 /* Copy generated compatibility header */, + FE3CD8B6EFC826ACACF93012F3F3DB7F /* Headers */, + D0AC93315DC7E224CAFDF4FDBCD3DB40 /* Sources */, + 0537F34931CD1EAF1B45F6B72325E869 /* Frameworks */, ); buildRules = ( ); dependencies = ( ); - name = PromiseKit; - productName = PromiseKit; - productReference = 63242E7865AC5041F680898B96B7B41E /* libPromiseKit.a */; + name = secp256k1_ios; + productName = secp256k1_ios; + productReference = 54A9032553D1C61F8E0154E2C0D53FD2 /* libsecp256k1_ios.a */; productType = "com.apple.product-type.library.static"; }; - 2C78658F26957429163E36B92D39CCB9 /* CryptoSwift */ = { + 9BA501B73C50D92DA96F15F9A57236B4 /* Pods-web3swiftExample */ = { isa = PBXNativeTarget; - buildConfigurationList = 06AF319EFE02622656002B1EB251895B /* Build configuration list for PBXNativeTarget "CryptoSwift" */; + buildConfigurationList = 4E4F824E27325209F56A4EC7858E6091 /* Build configuration list for PBXNativeTarget "Pods-web3swiftExample" */; buildPhases = ( - 97A75ACEEC21D9E90DCD638BF807C231 /* Headers */, - EC7466BC06A67865BCDD2CBCCD162198 /* Sources */, - CD81A7D7D1AF97175C072C049F54F69A /* Frameworks */, - A58E7EFC8353C42D0D1F531C219AC0DE /* Copy generated compatibility header */, + 4950E5373AD51C9D8BC9C6D99E3169ED /* Headers */, + 1BF933BE2E3DCACA2BC8EF8D8D3B9A58 /* Sources */, + 90440DC7AC48BE32148838250163B5C1 /* Frameworks */, ); buildRules = ( ); dependencies = ( + 0A8C82D239CBDF1B011E11B329EA616A /* PBXTargetDependency */, + 9235C791AF1571AD8742EA4B298E89C5 /* PBXTargetDependency */, + 64DA449404BAFB38711865F0C1D0C3ED /* PBXTargetDependency */, + 4A7B421C839A9B98B687CAA8B6917FF0 /* PBXTargetDependency */, + 8FD5D15A53AB1364D3C37E633E297FD9 /* PBXTargetDependency */, + A3C90A98231D5DDB2A79AFA9C07695B8 /* PBXTargetDependency */, + 4F4E9B99540CA6BFAFEF683BB7AFA0D3 /* PBXTargetDependency */, + D5D89B0A0375005F9DC439BA79768218 /* PBXTargetDependency */, ); - name = CryptoSwift; - productName = CryptoSwift; - productReference = 2CE385C25FF7C38689B0A8C6C906643F /* libCryptoSwift.a */; + name = "Pods-web3swiftExample"; + productName = "Pods-web3swiftExample"; + productReference = 17B0A033B10B035FFCCA80D2BE4C4839 /* libPods-web3swiftExample.a */; productType = "com.apple.product-type.library.static"; }; - 8B89F1F15ADC02878F9F0757C66CCC66 /* secp256k1_ios */ = { + C36167279A3ACEC5E09E05AC17E973AB /* PromiseKit */ = { isa = PBXNativeTarget; - buildConfigurationList = 3F1C7ECD83488088C04D854E08CEAC9A /* Build configuration list for PBXNativeTarget "secp256k1_ios" */; + buildConfigurationList = 57A8C2137268F228E4AE6A14F1B64A8F /* Build configuration list for PBXNativeTarget "PromiseKit" */; buildPhases = ( - FDB929D08ED631B3673F0DD354BD6802 /* Headers */, - 29C2450BA8B9958119F829F02C5DCE4D /* Sources */, - C874A6F022590C2522C2EE3F71BFF7D5 /* Frameworks */, + 6F71C6D55A9BEC0CE7216BC963319251 /* Headers */, + 552DE267AA2D2460F5728C085566B604 /* Sources */, + 18C5ABD1C406C832B0DD15AA82CC41C4 /* Frameworks */, + 29D34ADAF501515AA186182B5263DF54 /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( ); - name = secp256k1_ios; - productName = secp256k1_ios; - productReference = F1F5094520406626C085408B3D5B2283 /* libsecp256k1_ios.a */; + name = PromiseKit; + productName = PromiseKit; + productReference = 7D734165233A268ADD9C2C4EC0FBCB2D /* libPromiseKit.a */; productType = "com.apple.product-type.library.static"; }; - D64339DB1937336FB773315239524DB8 /* Result */ = { + C7F768100F7D32B078FA6D19893B5741 /* Result */ = { isa = PBXNativeTarget; - buildConfigurationList = 32E8B3131F6950CEAE8B5251EB4879BA /* Build configuration list for PBXNativeTarget "Result" */; + buildConfigurationList = DF9E202F8E4A79152D39EF70F774415F /* Build configuration list for PBXNativeTarget "Result" */; buildPhases = ( - AE02D44ECAF2D67E0D8657F9914C7E03 /* Headers */, - 2C805E60BE537B9FC79BAE59D8E710BA /* Sources */, - D1BB7362F0101C339A871C2C0F31795D /* Frameworks */, - 2CCC5CCD04F58BD229F9C42828010C61 /* Copy generated compatibility header */, + E48F92574331C298E9A411300A4C8866 /* Headers */, + 09037262A0E37EFB8B826CDC57F5B914 /* Sources */, + A7F757D73E3A0EC9C2E23F63AE6289BE /* Frameworks */, + 65B08350FB8CB8E67708C48B13D9D59B /* Copy generated compatibility header */, ); buildRules = ( ); @@ -2684,58 +1672,56 @@ ); name = Result; productName = Result; - productReference = 8080761393F09E13F16BC95F82707F96 /* libResult.a */; + productReference = 4C5AB9A84E399C3C8F2ED978C0B4DD46 /* libResult.a */; productType = "com.apple.product-type.library.static"; }; - DABF3C53CBFFDDA5B09CD8C2730946F9 /* libsodium */ = { + D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */ = { isa = PBXNativeTarget; - buildConfigurationList = ABEE6A9BA43AC4ABDA223F41D031CEDA /* Build configuration list for PBXNativeTarget "libsodium" */; + buildConfigurationList = 8FBF93FB50500F9A39127B851D0248BE /* Build configuration list for PBXNativeTarget "CryptoSwift" */; buildPhases = ( - 4B5A87CA238529EBB047EE28F5E36864 /* Headers */, - 20E5ABC20CEA0C1F7AF75F5B35440BD8 /* Sources */, - 3AD92E87133398AF46C0366F5CDE65D2 /* Frameworks */, + 52C34075DAB19ED44ACB50B0711DE98E /* Headers */, + 7845B68B8E520FB143745DE94DEF574C /* Sources */, + 841B7B892F8C57CBEF5FB03AC753C3AB /* Frameworks */, + A71224FCAB2F1A69BDDB38161270471D /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( ); - name = libsodium; - productName = libsodium; - productReference = 523B127441EBCAF6204B6CF6160E55E6 /* liblibsodium.a */; + name = CryptoSwift; + productName = CryptoSwift; + productReference = 1827336AF5F51D580426EC596EF7357E /* libCryptoSwift.a */; productType = "com.apple.product-type.library.static"; }; - DCE7ACF464D872ACC5C887109DD44E53 /* Pods-web3swiftExample */ = { + D93CC8797FA6642C382C93BBA9AE8B0D /* web3swift */ = { isa = PBXNativeTarget; - buildConfigurationList = 8F066A864D6C6FE5A879BB8DE56E0CF8 /* Build configuration list for PBXNativeTarget "Pods-web3swiftExample" */; + buildConfigurationList = 5479530AA132063FEE7E1514B16AF961 /* Build configuration list for PBXNativeTarget "web3swift" */; buildPhases = ( - FC803F3C077B0EB78A677958FED88E17 /* Headers */, - 78BDA06E6FE17EC03E3D2B2B38A33E1E /* Sources */, - EF23B29C8330529A251120A9C9D457BB /* Frameworks */, + FBA602E8EEE4C842340E51E8C5014BAC /* Headers */, + 75CF15D54090EDCFDF8B670A39424F28 /* Sources */, + 76402B5CC42ABD207A9C81A6A4712B42 /* Frameworks */, + 21CB88C1803158D8E98C78F99A3D1CD5 /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( - D10CA258983F51DE25FB085693AF7B63 /* PBXTargetDependency */, - ADB91EB6B6F0208B0C8A9557B2338876 /* PBXTargetDependency */, - 72D5BCBBD05FB0E6BBB64C6F64875E59 /* PBXTargetDependency */, - D0DA13A9CB512C90A3FE9B22EEF92910 /* PBXTargetDependency */, - 990CFB160AF39AA01EB04686E685ED41 /* PBXTargetDependency */, - 0F8BD4A0AA8EF07181439E6BD0EA59BD /* PBXTargetDependency */, - 6F67BFB232998B50EEABD5BCFFD4E49E /* PBXTargetDependency */, - 8E40017A465D67A6DE01E1C00A3AAC07 /* PBXTargetDependency */, - 52CAAD4705FD62E330BB4BA4D83A2F82 /* PBXTargetDependency */, - 35036EDF9C80D7812B78B00BDA00E5A7 /* PBXTargetDependency */, + E92C0852F7CA81FC3C083C6A05797271 /* PBXTargetDependency */, + 469BA73D7FD92EEC96D218C7F3F3196F /* PBXTargetDependency */, + 3F569904A0954E065753A145676105A7 /* PBXTargetDependency */, + 0B6AA6919B8A7CB6BC051AF90DF91D0D /* PBXTargetDependency */, + D0835B4CA84CEE3755B21228D6CA6FFC /* PBXTargetDependency */, + BC80BF207538A95305A7D118B9B7C215 /* PBXTargetDependency */, ); - name = "Pods-web3swiftExample"; - productName = "Pods-web3swiftExample"; - productReference = 7959177406F1FCAC1AC89DD168F91083 /* libPods-web3swiftExample.a */; + name = web3swift; + productName = web3swift; + productReference = 25A7B1871BF03428A855BE688D20521E /* libweb3swift.a */; productType = "com.apple.product-type.library.static"; }; EA114BE2D9D1BCDA6E1013C3301492A8 /* SipHash */ = { isa = PBXNativeTarget; buildConfigurationList = F3F633396C389256F8850D996A26B1BB /* Build configuration list for PBXNativeTarget "SipHash" */; buildPhases = ( - 66CE674D2E1AC70E92827237A011E09B /* Headers */, + EB79ED98B75A5B0283699BCF857B3EEC /* Headers */, 11E5015995179759F0C316DF1D3E75E0 /* Sources */, 325A85FC0CD5BCF38ADE42EE7531C2A2 /* Frameworks */, AC3A522E24D3A9502F059B0483E9FDB6 /* Copy generated compatibility header */, @@ -2746,7 +1732,7 @@ ); name = SipHash; productName = SipHash; - productReference = F7BFF74EBE02E8225ED1F848C567DCE0 /* libSipHash.a */; + productReference = 8FBB098F98DE89D1DE9C0EDB16C22E15 /* libSipHash.a */; productType = "com.apple.product-type.library.static"; }; /* End PBXNativeTarget section */ @@ -2766,27 +1752,25 @@ en, ); mainGroup = 7DB346D0F39D3F0E887471402A8071AB; - productRefGroup = A0C4FF15BA50964EE648CACF2C2079AB /* Products */; + productRefGroup = 9D4E26DF6080ADCB389AB90D4A3DE678 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 08A16B7582F00884501F5E7A9B8E6FB4 /* Alamofire */, - 1FA7CDA9950A14DCE2AA7B4CB3743467 /* Alamofire-Synchronous */, 23A9C77578E46AEB069BEF36B9B5ADA6 /* BigInt */, - 2C78658F26957429163E36B92D39CCB9 /* CryptoSwift */, - DABF3C53CBFFDDA5B09CD8C2730946F9 /* libsodium */, - DCE7ACF464D872ACC5C887109DD44E53 /* Pods-web3swiftExample */, - 25F139B783F51F1B03C1B65120448B73 /* PromiseKit */, - D64339DB1937336FB773315239524DB8 /* Result */, - 8B89F1F15ADC02878F9F0757C66CCC66 /* secp256k1_ios */, + D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */, + 9BA501B73C50D92DA96F15F9A57236B4 /* Pods-web3swiftExample */, + C36167279A3ACEC5E09E05AC17E973AB /* PromiseKit */, + C7F768100F7D32B078FA6D19893B5741 /* Result */, + 0E877A906EE881D9A703E2CEB69B27B0 /* scrypt */, + 60BF36463B9896F856D87DA4DE89FBB9 /* secp256k1_ios */, EA114BE2D9D1BCDA6E1013C3301492A8 /* SipHash */, - 2045E50CFDF71874CA1271906E10BCCB /* web3swift */, + D93CC8797FA6642C382C93BBA9AE8B0D /* web3swift */, ); }; /* End PBXProject section */ /* Begin PBXShellScriptBuildPhase section */ - 2CCC5CCD04F58BD229F9C42828010C61 /* Copy generated compatibility header */ = { + 21CB88C1803158D8E98C78F99A3D1CD5 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2795,23 +1779,23 @@ ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/Result/Result.modulemap", - "${PODS_ROOT}/Headers/Public/Result/Result-umbrella.h", + "${PODS_ROOT}/Headers/Public/web3swift/web3swift.modulemap", + "${PODS_ROOT}/Headers/Public/web3swift/web3swift-umbrella.h", ); name = "Copy generated compatibility header"; outputFileListPaths = ( ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/Result-umbrella.h", + "${BUILT_PRODUCTS_DIR}/web3swift-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/web3swift/web3swift.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/web3swift/web3swift-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - 6AE1BAC046CA57A7223F578BBA811F10 /* Copy generated compatibility header */ = { + 29D34ADAF501515AA186182B5263DF54 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2836,7 +1820,7 @@ shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - A3482DBFA9CE4039AA1605DA46D15EAB /* Copy generated compatibility header */ = { + 65B08350FB8CB8E67708C48B13D9D59B /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2845,23 +1829,23 @@ ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/BigInt/BigInt.modulemap", - "${PODS_ROOT}/Headers/Public/BigInt/BigInt-umbrella.h", + "${PODS_ROOT}/Headers/Public/Result/Result.modulemap", + "${PODS_ROOT}/Headers/Public/Result/Result-umbrella.h", ); name = "Copy generated compatibility header"; outputFileListPaths = ( ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/BigInt-umbrella.h", + "${BUILT_PRODUCTS_DIR}/Result-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - A58E7EFC8353C42D0D1F531C219AC0DE /* Copy generated compatibility header */ = { + A3482DBFA9CE4039AA1605DA46D15EAB /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2870,23 +1854,23 @@ ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift.modulemap", - "${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h", + "${PODS_ROOT}/Headers/Public/BigInt/BigInt.modulemap", + "${PODS_ROOT}/Headers/Public/BigInt/BigInt-umbrella.h", ); name = "Copy generated compatibility header"; outputFileListPaths = ( ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/CryptoSwift-umbrella.h", + "${BUILT_PRODUCTS_DIR}/BigInt-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - AC3A522E24D3A9502F059B0483E9FDB6 /* Copy generated compatibility header */ = { + A71224FCAB2F1A69BDDB38161270471D /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2895,23 +1879,23 @@ ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/SipHash/SipHash.modulemap", - "${PODS_ROOT}/Headers/Public/SipHash/SipHash-umbrella.h", + "${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift.modulemap", + "${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h", ); name = "Copy generated compatibility header"; outputFileListPaths = ( ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/SipHash-umbrella.h", + "${BUILT_PRODUCTS_DIR}/CryptoSwift-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SipHash/SipHash.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SipHash/SipHash-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - BB2B2D8276577B5631EBD2527E99FE58 /* Copy generated compatibility header */ = { + AC3A522E24D3A9502F059B0483E9FDB6 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2920,23 +1904,23 @@ ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/Alamofire/Alamofire.modulemap", - "${PODS_ROOT}/Headers/Public/Alamofire/Alamofire-umbrella.h", + "${PODS_ROOT}/Headers/Public/SipHash/SipHash.modulemap", + "${PODS_ROOT}/Headers/Public/SipHash/SipHash-umbrella.h", ); name = "Copy generated compatibility header"; outputFileListPaths = ( ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/Alamofire-umbrella.h", + "${BUILT_PRODUCTS_DIR}/SipHash-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Alamofire/Alamofire.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Alamofire/Alamofire-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SipHash/SipHash.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SipHash/SipHash-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - DE172EF7CDBBD41B21A5C731D9111038 /* Copy generated compatibility header */ = { + EBF754F6CDE2179EC6ACADCF7648ACA7 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2945,50 +1929,37 @@ ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/web3swift/web3swift.modulemap", - "${PODS_ROOT}/Headers/Public/web3swift/web3swift-umbrella.h", + "${PODS_ROOT}/Headers/Public/scrypt/scrypt.modulemap", + "${PODS_ROOT}/Headers/Public/scrypt/scrypt-umbrella.h", ); name = "Copy generated compatibility header"; outputFileListPaths = ( ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/web3swift-umbrella.h", + "${BUILT_PRODUCTS_DIR}/scrypt-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/web3swift/web3swift.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/web3swift/web3swift-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - F8A1E18F4859B521D9E62FCCCA00E5DA /* Copy generated compatibility header */ = { - isa = PBXShellScriptBuildPhase; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 09037262A0E37EFB8B826CDC57F5B914 /* Sources */ = { + isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/Alamofire_Synchronous/Alamofire-Synchronous.modulemap", - "${PODS_ROOT}/Headers/Public/Alamofire_Synchronous/Alamofire-Synchronous-umbrella.h", - ); - name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); - outputPaths = ( - "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/Alamofire-Synchronous-umbrella.h", - "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", + 03C3AFC1A73CC721DFC025DA0492B8F7 /* AnyError.swift in Sources */, + 328764F572D114FE4FD89859EA7D0C82 /* NoError.swift in Sources */, + 5E249F6FB23CCC4985EFB3FDCADE487B /* Result-dummy.m in Sources */, + C8B2BE26A0484B6A1523D9E2B3818EDC /* Result.swift in Sources */, + 06346EDCC1E2F52FE78341A96C1C2E80 /* ResultProtocol.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Alamofire_Synchronous/Alamofire-Synchronous.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Alamofire_Synchronous/Alamofire-Synchronous-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; - showEnvVarsInLog = 1; }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ 11E5015995179759F0C316DF1D3E75E0 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -3001,323 +1972,253 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 19E334B1B6A668EC50719E1C8C5C9519 /* Sources */ = { + 1BF933BE2E3DCACA2BC8EF8D8D3B9A58 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 23B8DA469127B029A59BB913BDFD911E /* ABIDecoder.swift in Sources */, - 6668B998CA3964EFB56E8A37AD1331BF /* ABIEncoder.swift in Sources */, - B5B4D56741CBC5BB7F94DD2E9FE048EA /* ABIRecordParser.swift in Sources */, - F42511828A5EA8284C97CF702513ABAF /* ABITypes.swift in Sources */, - 812734D628FACE377750E62F484B3089 /* ABIv2.swift in Sources */, - 41FFCEAD2A288578CE76878706C3AD7E /* ABIv2Decoding.swift in Sources */, - 55E7FA0D7F0EFFF7561A2247760FE247 /* ABIv2Elements.swift in Sources */, - 349156381253174164E0A82AAF3B5F60 /* ABIv2Encoding.swift in Sources */, - 4149108CE51CA1AA211D09F5FB44E636 /* ABIv2ParameterTypes.swift in Sources */, - FF3628D9E493EF01FD51A30DB79541ED /* ABIv2Parsing.swift in Sources */, - 8C2FCADD8A0AB40D88C452230AE00213 /* ABIv2TypeParser.swift in Sources */, - C158A3373A1C6CA24D1B1B9B0C5FE2C5 /* AbstractKeystore.swift in Sources */, - 1CC2BE0E140558EAC8274054909FCA63 /* Array+Extension.swift in Sources */, - 95C73EC0F673092BEE9A8E080E76EC39 /* Base58.swift in Sources */, - 5684B1F9681CB60FC314A372E693C315 /* BIP32HDNode.swift in Sources */, - D2A729D07615770FF7165FE337DCC3A4 /* BIP32Keystore.swift in Sources */, - C862838E9ED5F1A0FC1617B1D88F39F6 /* BIP32KeystoreJSONStructure.swift in Sources */, - D5EAD3B5F66D2EA390B370A78B50E2E6 /* BIP39+WordLists.swift in Sources */, - F9DBA11EBB94E84ED75200A3851C7145 /* BIP39.swift in Sources */, - F2C96793A76272BBDEAEBBB197755930 /* BloomFilter.swift in Sources */, - 584865613C0054985DCDC4E44AF59226 /* ComparisonExtensions.swift in Sources */, - 2F76925969F12B3BF69DF6D01792F4B1 /* Contract.swift in Sources */, - FE3EBF5EC4E014204A36F4A44F04C9AA /* ContractABIv2.swift in Sources */, - 206F4752866A399861DDDB3E91CCBBE0 /* ContractProtocol.swift in Sources */, - 0CA1C222E7D9CF2DA2BFACBE7331AB7C /* CryptoExtensions.swift in Sources */, - 65C09160141BCDD901A9CF5AAAE9A635 /* Data+Extension.swift in Sources */, - 686AE4A8D2BCDF1F71F62BC53A6FA845 /* Dictionary+Extension.swift in Sources */, - FDAF3511F1FCFC8CE0E32487A75D060B /* DictionaryLiteralJSONSerializer.swift in Sources */, - E321748CE064E15D9D9388E00FE2252E /* EIP67Code.swift in Sources */, - 0368B705E9F0593C6C2072CC4FD36211 /* EthereumAddress.swift in Sources */, - 54DF9969B014BEA512D3187C2B6AC8B6 /* EthereumFilterEncodingExtensions.swift in Sources */, - EA00E9077C6DE6531621A624E5F06F29 /* EthereumKeystoreV3.swift in Sources */, - D388F346FDAED4747E1B6B6EA3454E1E /* EthereumTransaction.swift in Sources */, - E26863E45813FE82434F8E799E657E79 /* EventFiltering.swift in Sources */, - 4BEB172D697D73A1C8D527DF69E6C0E1 /* IBAN.swift in Sources */, - A117D240FD13CE28AC2FA26F469A6F54 /* KeystoreManager.swift in Sources */, - ABF94A2E95A55BE0A149AC4EF545DBB7 /* KeystoreV3JSONStructure.swift in Sources */, - 515DE4E51F6F90364588BC5BE17D6620 /* LibSecp256k1Extension.swift in Sources */, - CD1B0AFEF589346A7B07BBB9D49474FB /* NativeTypesEncoding+Extensions.swift in Sources */, - 491B4D8050C2CADF85004EAE29D6FD1F /* NSRegularExpressionExtension.swift in Sources */, - BDDB4C5E650FA1A254DF1BEB9A94A51B /* PlainKeystore.swift in Sources */, - CC351AB4BBAAA45F53DA01AB0CD36424 /* Promise+Batching.swift in Sources */, - F4D1AE47BD4D0D0046C6B0327F06C083 /* Promise+HttpProvider.swift in Sources */, - 5F6B5EF99C7854C11C018B8720782E7E /* Promise+Web3+Contract+GetIndexedEvents.swift in Sources */, - 3E54AB1B03F7B8D0E1B252E10F29AE72 /* Promise+Web3+Eth+Call.swift in Sources */, - E9BC0022DBE06EB23A6F89B42CD264FB /* Promise+Web3+Eth+EstimateGas.swift in Sources */, - 8250B2B0F9F545059E35C5F118853E9E /* Promise+Web3+Eth+GetAccounts.swift in Sources */, - DA565C719B51366874D9583EAEFE7727 /* Promise+Web3+Eth+GetBalance.swift in Sources */, - B6FE09875D38267F821DB36454C6C7E9 /* Promise+Web3+Eth+GetBlockByHash.swift in Sources */, - 5CC613A3FE71623DB83992BF29462502 /* Promise+Web3+Eth+GetBlockByNumber.swift in Sources */, - 40F5F0E56A8511B107A73C70523A67AA /* Promise+Web3+Eth+GetBlockNumber.swift in Sources */, - CA70E8DB524EE6AF2F06D3355FEBFA57 /* Promise+Web3+Eth+GetGasPrice.swift in Sources */, - D85CB4E162C0C4CDD82936AA5CD7E6FB /* Promise+Web3+Eth+GetTransactionCount.swift in Sources */, - DA55D47D995EA3351FE83BD39F9C7D1A /* Promise+Web3+Eth+GetTransactionDetails.swift in Sources */, - C90A97796EEF3EE638CCAB054BF5FF47 /* Promise+Web3+Eth+GetTransactionReceipt.swift in Sources */, - 20054B4652B14A0311482FA9DAA6BDF1 /* Promise+Web3+Eth+SendRawTransaction.swift in Sources */, - F22E8A007A030AE1C7B126ECFFCF4BEC /* Promise+Web3+Eth+SendTransaction.swift in Sources */, - C5D82D2CB3CB2EB081E803BBF1882E70 /* Promise+Web3+Intermediate+Send.swift in Sources */, - 87DFE03D8EE7A6BBA129C8D3F38C22B7 /* Promise+Web3+Personal+Sign.swift in Sources */, - 5C94BCB1D334EEF892D49FA29D8B56E1 /* Promise+Web3+Personal+UnlockAccount.swift in Sources */, - 7F11EE540E92B4058F17241F15394560 /* RIPEMD160+StackOveflow.swift in Sources */, - 75E3814AF0A03A2FC5D8DF1635E81A76 /* RLP.swift in Sources */, - B920085A160C6EEEF4C47A69398A5296 /* String+Extension.swift in Sources */, - 9A2CE62C27558A4FD7694CAD362DEB6A /* SynchronizedQueue.swift in Sources */, - 8EC7BACDA6BA3D0F39F1F2D4FD65C882 /* TransactionSigner.swift in Sources */, - 4CF7DB2C19AEE2D6E2508A3E4A45050C /* TypesEncoder.swift in Sources */, - B275D9362D42E2A970BDA9E60DDD5D02 /* Web3+BrowserFunctions.swift in Sources */, - AAE6A2AD9A1B7DAB129022C0A18BCA26 /* Web3+Concurrency.swift in Sources */, - B9320CBCD70D63559686D6C2A95E0A57 /* Web3+Contract.swift in Sources */, - 8042128B9740D457695C8295C4B11EAC /* Web3+ConversionOperations.swift in Sources */, - 00B7583DCBA7AE56C3DF0B1BA183F563 /* Web3+DataFetchOperation.swift in Sources */, - E9852F5F72E4AD4F7511193D4A2A644A /* Web3+Deprecated.swift in Sources */, - 6B7D48E44E569438C37366419629B795 /* Web3+Eth.swift in Sources */, - 762452748779EA296C550D8FC60858F7 /* Web3+EthOperations.swift in Sources */, - 9E1C52D6B31B2E95FC160D882089311D /* Web3+EventOperations.swift in Sources */, - D72AFEA588F8D78ADE95B106CAB8CD8B /* Web3+EventParser.swift in Sources */, - 0B253215215C96D74AE515AD05ADBA20 /* Web3+HttpProvider.swift in Sources */, - D9B1727E2A11CF4295B34E4D25ECFD6E /* Web3+Infura.swift in Sources */, - 09BF93AFA897383361361AF3A3DF1E38 /* Web3+Instance.swift in Sources */, - BFC49B4C0A683570E9718165EA4F9D0E /* Web3+JSONRPC.swift in Sources */, - C7FFC5C8A247923B230EA2ECA777BF0D /* Web3+Methods.swift in Sources */, - F5877F9FE6D9D5416F5CAD3B5704EC41 /* Web3+NativePrimitivesConversionOperations.swift in Sources */, - 011EF7B95D9CEB3A836AC3C450663EA4 /* Web3+Options.swift in Sources */, - 6C1072A45E753CB3D965523B1D65D89D /* Web3+Personal.swift in Sources */, - 0F9EDF9E7EA406E395370600F57A527B /* Web3+PersonalOperations.swift in Sources */, - 175CD22CB242281AF76776D069AA235B /* Web3+Protocols.swift in Sources */, - 6742C25586C38E1678F11A614A58C481 /* Web3+Structures.swift in Sources */, - 19283B793FBCC9EA8BCD27A75DA4906E /* Web3+TransactionAndBlockDetailsOperations.swift in Sources */, - C6D1F467796148690A638DFB49E2AD00 /* Web3+TransactionIntermediate.swift in Sources */, - E627FA2A2BADFE552AB90BFBF12FE740 /* Web3+TransactionOperations.swift in Sources */, - 5CB3BE4653E5239A88B1E895194CB9DE /* Web3+Utils.swift in Sources */, - 1DA62A68EBEAE8B1711D7EA154A72CDA /* Web3+Wallet.swift in Sources */, - AB3AA73B6B1D71684FE710DF80322992 /* Web3.swift in Sources */, - 86E37A5E5B51AE34FF26AE4887986D0D /* web3swift-dummy.m in Sources */, + ADB06AA1B5A4414AD55E5A2D2653DDA6 /* Pods-web3swiftExample-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 20E5ABC20CEA0C1F7AF75F5B35440BD8 /* Sources */ = { + 552DE267AA2D2460F5728C085566B604 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - FDB5FA6E7759820C8D3CACF93CE7118C /* aead_aes256gcm_aesni.c in Sources */, - C905E46BC8F3EFBD0A237B0A323B3F0E /* aead_chacha20poly1305.c in Sources */, - 958F14C746F6268D2874DE8C8B78BC88 /* aead_xchacha20poly1305.c in Sources */, - B4712EF19A727833E5E17BB58FB909D3 /* afternm_aes128ctr.c in Sources */, - 778D841AC0BBBE588A0B887D4D982CDE /* argon2-core.c in Sources */, - 03F2E95C0668F44C5551A16910EB1290 /* argon2-encoding.c in Sources */, - 0F869181FEAB206B13E08EA3D4FAA667 /* argon2-fill-block-ref.c in Sources */, - F389AB22ED2AD7AE979E643ABC61C178 /* argon2-fill-block-ssse3.c in Sources */, - 82F0423870A9E65C07739F3AEED56411 /* argon2.c in Sources */, - B0280889620EFB5353765264D4BD3A27 /* auth_hmacsha256.c in Sources */, - 7AD28DD856A91EE19FB4A75BFDBED472 /* auth_hmacsha512.c in Sources */, - 2152920EE97E8E06275D82DE1A919C1C /* auth_hmacsha512256.c in Sources */, - 8B4CBA71CA4EF41343851BD077BBF29D /* beforenm_aes128ctr.c in Sources */, - E1A499CBBF525DF21BAEBC18A1F57FD4 /* blake2b-compress-avx2.c in Sources */, - 1F92A1C62F35543352331C20FBA80B2F /* blake2b-compress-ref.c in Sources */, - 7EDAB6C925982D14B8429A1DBD26BAC5 /* blake2b-compress-sse41.c in Sources */, - 71CEADAB44DCE7DE293D49FF7C6994D6 /* blake2b-compress-ssse3.c in Sources */, - 1DC5C052915F753E310A9F7797849685 /* blake2b-long.c in Sources */, - EC76BFF69526AD32B7936A31D7C7322C /* blake2b-ref.c in Sources */, - 6C8A5435A4170F58241106AF3D11776B /* box_curve25519xchacha20poly1305.c in Sources */, - 3A367F6417BC97D2BB44A2FB158FDCDC /* box_curve25519xsalsa20poly1305.c in Sources */, - D86D3485B59CF1B38FDB3F707B05BCF6 /* chacha20_dolbeau-avx2.c in Sources */, - 57C8A13B35C7E368DC0E2DDB49FCF01D /* chacha20_dolbeau-ssse3.c in Sources */, - 67A94CEFBDF8EF20EF645DA40078FD7B /* chacha20_ref.c in Sources */, - 42EEA96756182E48D8833B67D7FE007E /* consts_aes128ctr.c in Sources */, - D4DF9B03D078F73D4926371F4772DFEC /* core.c in Sources */, - 9AACFBD62EA28F40DF751C6D44FED6E3 /* core_hchacha20.c in Sources */, - 1E26C129623D0CDCA4C1545E06C1C8F1 /* core_hsalsa20.c in Sources */, - B2B081B15BA6C50157FE794B818BEFD5 /* core_hsalsa20_ref2.c in Sources */, - FC4209DBD1083EF12BEDBAB392DC129C /* core_salsa_ref.c in Sources */, - 4101FE94CCFD0C44ECE2D8E855A53D8F /* crypto_auth.c in Sources */, - D9732CD7F080087B6BCF081382773398 /* crypto_box.c in Sources */, - 81FA580DEB5EC82851F262287D3988AA /* crypto_box_easy.c in Sources */, - E5D875CE32255433C0B5F03354577413 /* crypto_box_seal.c in Sources */, - F646B41C9DE8BBC2A0E01DC539FDC6C9 /* crypto_generichash.c in Sources */, - 73B6A5678EAA4C60BF5B682057E139F7 /* crypto_hash.c in Sources */, - FBF29D5AD31C8CDD521400AF23447F9D /* crypto_kdf.c in Sources */, - 2DD3A4BDA1951A6AB1DE901A77EDC289 /* crypto_kx.c in Sources */, - D5ADDE21865A4FD931F5669A6783F6A7 /* crypto_onetimeauth.c in Sources */, - E00AA5CBC4AFAB9AA4564A9440F082E0 /* crypto_pwhash.c in Sources */, - 0FF98516FF7B2496A8BB5EE0177CF058 /* crypto_scalarmult.c in Sources */, - 15E2F496270A6D07927AEA131F250F6A /* crypto_scrypt-common.c in Sources */, - 8ED3B501746CE03C699C14024F838F59 /* crypto_secretbox.c in Sources */, - C5A5FD9BA833769555F6273DB0F2A7A8 /* crypto_secretbox_easy.c in Sources */, - D969D086A43FDCF0DE7072D1BEC581EB /* crypto_shorthash.c in Sources */, - 6D036A87C81F5ED44FE8FFBC6817EE03 /* crypto_sign.c in Sources */, - 6A8149446D4FBAA94CE982947777FF5D /* crypto_stream.c in Sources */, - 504F1D3FD25831728821DBE20DB189B6 /* curve25519_donna_c64.c in Sources */, - 9626345F54D9E118BF3D905E61CCD688 /* curve25519_ref10.c in Sources */, - D82248113E65220EC2A60F79D8F6C876 /* curve25519_sandy2x.c in Sources */, - 6DCEB33D935F17D6C6B267620B178B0C /* fe51_invert.c in Sources */, - B687043E3ABF93DF2155A621D906E409 /* fe_frombytes_sandy2x.c in Sources */, - B9A8C64551C91E33D5ACFFB094A6078D /* generichash_blake2.c in Sources */, - A135FCABE94A564E66EA515754CF9FEE /* generichash_blake2b.c in Sources */, - 5DCDCE879D9EC11BA5065B73569350BC /* hash_sha256.c in Sources */, - 30169A93DAEF103B2439615D7A3B4C2A /* hash_sha256_cp.c in Sources */, - EBF3ED0825C99374F4BB530B85784858 /* hash_sha512.c in Sources */, - 7E2DA5862E43CA9FFBA70B714CA75624 /* hash_sha512_cp.c in Sources */, - 7966D0014FA2C4C41AE112778A27B0BE /* int128_aes128ctr.c in Sources */, - B4728B9A34099EDCACD3B2A5863DD301 /* kdf_blake2b.c in Sources */, - E97C34BB403820DDBAC8AB33EE82FD08 /* keypair.c in Sources */, - 0E9B1DC6E5AEB6A6F3F7EB1950F783D5 /* libsodium-dummy.m in Sources */, - F920FFBE86C99EA3FAC71492D81FC7CC /* obsolete.c in Sources */, - E48ED973837FAC6533094538039B7826 /* onetimeauth_poly1305.c in Sources */, - 63EC115B2EEED12B22B684C12255F480 /* open.c in Sources */, - 7B87E2F18E66F8AAC2996196D86D0D6F /* pbkdf2-sha256.c in Sources */, - E06BC4319DA36301398D6E5314B578CC /* poly1305_donna.c in Sources */, - 0B88278BB47CFB4AF6AD636A5AE84A80 /* poly1305_sse2.c in Sources */, - 0A3E0AEAAF9548F7F87439B7DC24328D /* pwhash_argon2i.c in Sources */, - 500280EE2D314006437B2F45A1E53717 /* pwhash_scryptsalsa208sha256.c in Sources */, - B4B76F3EB88F0EE6193C22F1B489DEBA /* pwhash_scryptsalsa208sha256_nosse.c in Sources */, - 269E0111230D6554F28E8C54B97915C9 /* pwhash_scryptsalsa208sha256_sse.c in Sources */, - EC58098733A39F9FE6E4A49931C87EAB /* randombytes.c in Sources */, - 38116811BE843665466685B310193AC6 /* randombytes_nativeclient.c in Sources */, - EDEF043A6DB03DC17029FA120B943EB1 /* randombytes_salsa20_random.c in Sources */, - F802C46C1B1EC42264AFBA66A1070CD1 /* randombytes_sysrandom.c in Sources */, - A8A787BF04241C2D911AEA47E9FF3F18 /* runtime.c in Sources */, - 28A7B6F162BFE9D707A12B8433362230 /* salsa20_ref.c in Sources */, - 9952E318C27E22510DE7663D74373FE1 /* salsa20_xmm6.c in Sources */, - 31807A2F9D524B59570A2CFC8A1E378B /* salsa20_xmm6int-avx2.c in Sources */, - B7BFA099352C16B9B0623BF499B24C6A /* salsa20_xmm6int-sse2.c in Sources */, - B6C73B6685383082D62F5DEB43EBD474 /* scalarmult_curve25519.c in Sources */, - 3237D93AFB867440A1B948EB0F02547F /* scrypt_platform.c in Sources */, - 575B777FB21D9529A12A7832C09EC2F8 /* secretbox_xchacha20poly1305.c in Sources */, - 3B6584AEDF0BDD37FBBF297B35CECCC6 /* secretbox_xsalsa20poly1305.c in Sources */, - 2F6D543A2493613E8E13CAA9C2C8B5D9 /* shorthash_siphash24.c in Sources */, - 8D900A84A698ED5F007296273E40B71F /* shorthash_siphash24_ref.c in Sources */, - 0C63C3CD941FC6A3BD337A4BFDC2C003 /* shorthash_siphashx24.c in Sources */, - FDAF87410C660EDBB54184FD2932CAA1 /* shorthash_siphashx24_ref.c in Sources */, - 8F0451EE2AB398D38FB058CC59B474AC /* sign.c in Sources */, - 4969B7DEC8B37F7629D51580C6AE7772 /* sign_ed25519.c in Sources */, - 93DDFE11F6EB91BDD043191743AA8997 /* stream_aes128ctr.c in Sources */, - 908CDE067B4FF97149F93EB8B3A45ECE /* stream_aes128ctr_nacl.c in Sources */, - B4D7987925185501EE3EE0927A67C32C /* stream_chacha20.c in Sources */, - D7580E907C2B2A813DDDCC9BE878748E /* stream_salsa20.c in Sources */, - B1CE3674391682F612A8BB64288954B3 /* stream_salsa2012.c in Sources */, - E6308F95E96E464F63CAF54CA95075AA /* stream_salsa2012_ref.c in Sources */, - 7862D3FB7D5FA96E414493A9C8DCD46C /* stream_salsa208.c in Sources */, - 4D69B723385D819FF4E778AB36037734 /* stream_salsa208_ref.c in Sources */, - D6F5C88FB3892E6169D7EF89AD3F0750 /* stream_xchacha20.c in Sources */, - 4E2E22191AAA94FC707A547EE21E67BA /* stream_xsalsa20.c in Sources */, - 293B0AF5AE0823CB1A44280FB53D5442 /* utils.c in Sources */, - D4B0C11389BBC97907112C533E799445 /* verify.c in Sources */, - 3FE7A7E471C41BB6741C90357ED7A019 /* version.c in Sources */, - C804AEA9243BF5DB34D25C08A331D454 /* x25519_ref10.c in Sources */, - B197040E996C310F090BD89AF6386AC2 /* xor_afternm_aes128ctr.c in Sources */, + B248D148FE951A0655197593FABD5BF7 /* after.m in Sources */, + 061CD8DF38E45A06BCA57538669821F8 /* after.swift in Sources */, + 48455593A60C3CA87A214694EF5D1873 /* afterlife.swift in Sources */, + 1B3A7F77E5D5CE5F8E299A6B6FC3239D /* AnyPromise.m in Sources */, + E414C892B9DD5C86CF589F3C119330C3 /* AnyPromise.swift in Sources */, + 58560D5361D4C0DA182EDE13BD4BF20A /* Box.swift in Sources */, + 4D3407C41F4EEB3975ACE1EED0B49A16 /* Catchable.swift in Sources */, + 9C99049FC31F95572D2E8F8D8A159681 /* Configuration.swift in Sources */, + 4C3CAE4E66950002C334290828030002 /* CustomStringConvertible.swift in Sources */, + 3CB94F4227FD789E4DF19BE266778FA8 /* Deprecations.swift in Sources */, + 337A8793B004627DE63C9C9F3718957B /* dispatch_promise.m in Sources */, + 49DD2B0B8B0B0E37B1823A8AA30CD26D /* Error.swift in Sources */, + CF2D9BDBC33A9414DDEBF3BA43546D67 /* firstly.swift in Sources */, + 403488C6FD6D81EC1837EB3785B143A7 /* Guarantee.swift in Sources */, + F655EFB3487D02AF6B56FD352C326EF5 /* hang.m in Sources */, + A8FFEB53432DC4F2885A8CD8E1E9870E /* hang.swift in Sources */, + 4144EBF3173A41E918C16A79249458E3 /* join.m in Sources */, + 3B670C333D1FA4301955FC92E0ADE64A /* NSNotificationCenter+AnyPromise.m in Sources */, + 916D4FB604792532AFA1C162DECB998D /* NSNotificationCenter+Promise.swift in Sources */, + 1802CDD64DFC896D6C4107DE83FB1BF2 /* NSObject+Promise.swift in Sources */, + 68C3B925415233905445BBC632E33D98 /* NSTask+AnyPromise.m in Sources */, + F6BDDA6489801D31B93897C692036EED /* NSURLSession+AnyPromise.m in Sources */, + 836C8A3CCAD5C5FE68F01D5B3AB57174 /* NSURLSession+Promise.swift in Sources */, + D5E62815F43DB6C9CBF0DEA75BC88E8D /* Process+Promise.swift in Sources */, + FAD004A3C7DC1D0D87FFF0C642A98A86 /* Promise.swift in Sources */, + 21BEF33F6A2B374B486F089628B99B25 /* PromiseKit-dummy.m in Sources */, + 1AA2BEDB70F75FB46C0DDEAF37624686 /* race.m in Sources */, + 6F853D5E1F77B742C8BC832153D2CFB7 /* race.swift in Sources */, + A80D6A613610153FFF343C7385871FE8 /* Resolver.swift in Sources */, + 0F0DCA8CBC42D5EBFAE1401F86393B1A /* Thenable.swift in Sources */, + 7EC88E86E051E823EE620293A70225BB /* UIView+AnyPromise.m in Sources */, + 1A4B5F4283534B7876F0797D79743E7C /* UIView+Promise.swift in Sources */, + EFB65DCDDA87312B24CDDC1F7132FA4B /* UIViewController+AnyPromise.m in Sources */, + FF8CB400714408878D8321DC83943490 /* UIViewPropertyAnimator+Promise.swift in Sources */, + F478A3B08D8979D2B11FC7EC2576FA53 /* when.m in Sources */, + DF0D4847B87A1A34C252A22B47A68A8D /* when.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 29C2450BA8B9958119F829F02C5DCE4D /* Sources */ = { + 75CF15D54090EDCFDF8B670A39424F28 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BC953A74ADA16724BD422F42A89BBE65 /* lax_der_parsing.c in Sources */, - 535588C6C580BB30D7FFA6BA64A00321 /* lax_der_privatekey_parsing.c in Sources */, - 53CA52D045DE437D8C2EFEDFE6096405 /* secp256k1.c in Sources */, - 0C96AA48462500C52B600B68460591BB /* secp256k1_ios-dummy.m in Sources */, + A60E9D71694BFC11E2A9A86B8C1B0095 /* ABIv2.swift in Sources */, + C976B78DB3A9AE8CA86A6C9634D9B476 /* ABIv2Decoding.swift in Sources */, + C00477878E267142569D0C12C78018BC /* ABIv2Elements.swift in Sources */, + 1C161B8EA65B5BDAE68E60F1554853DD /* ABIv2Encoding.swift in Sources */, + 873DE3CC5FB993DC11904D529384C888 /* ABIv2ParameterTypes.swift in Sources */, + F392AA2B2B63A326860A273536FD150D /* ABIv2Parsing.swift in Sources */, + 05DCD2FC5F3843251C1B431881F46A15 /* ABIv2TypeParser.swift in Sources */, + 4E3FDA58133BED7E50509490CD6FD4F4 /* AbstractKeystore.swift in Sources */, + 8517DDE6E73644C042195E2C78A312E6 /* Array+Extension.swift in Sources */, + 8E67099B57DC9596F3EA8ECD4E33CBE4 /* Base58.swift in Sources */, + 52FB513158120D5E9A5D0F389C8B4705 /* BigUInt+ObjC.swift in Sources */, + 00A7C1597DE9265F746EA649878A668C /* BIP32HDNode.swift in Sources */, + 68967D93A7040322F28E032A686ADDB8 /* BIP32Keystore.swift in Sources */, + 37F32E3E1902C1C57EEC4067E506189D /* BIP32KeystoreJSONStructure.swift in Sources */, + 543D935BDB2B65030F4F1CC620E38CC2 /* BIP39+WordLists.swift in Sources */, + 02B1E2D6F7BBED451D46B09035722FA0 /* BIP39.swift in Sources */, + EFE805A3CA08B8838793F8E245B5ECE3 /* BlockExplorer+GetTransactionHistory.swift in Sources */, + 975D0B554704CA112AE1A7071249F89F /* BlockExplorer.swift in Sources */, + 45EE1E43188FD2E7FC8B2D5030BFC973 /* BloomFilter.swift in Sources */, + 4739C9EEFC54F5C097D8D9D86CECEC2D /* ComparisonExtensions.swift in Sources */, + BDB8D41248A445BAFA1149FB0649B411 /* ContractABIv2.swift in Sources */, + 2498514CC27CCDFE8E81FAE89A1A286B /* ContractProtocol.swift in Sources */, + 726BB598C1055EDC9C6423E70C91C90A /* CryptoExtensions.swift in Sources */, + 890D1216015AC23C813DD998F3D0BD6A /* Data+Extension.swift in Sources */, + 37457234666FBA7DF56C16652038067A /* Dictionary+Extension.swift in Sources */, + 9D526303604B00B72758C41A697E5995 /* EIP67Code.swift in Sources */, + 0BC51526B2D3116FE16EBE44DA507D3C /* EIP681.swift in Sources */, + ED758B1BD45542378CBF6391BB8C5488 /* ENS.swift in Sources */, + 58ACD248746150D1523327FBE5B37A1C /* EthereumAddress+ObjC.swift in Sources */, + 970434B3CDFCB829040B04EB0280678E /* EthereumAddress.swift in Sources */, + 30E55EC1173BE1FB08D744675769DBD2 /* EthereumFilterEncodingExtensions.swift in Sources */, + 7D67866AC6C3A9D16FE90065AADC0149 /* EthereumKeystoreV3.swift in Sources */, + 5C54B9B9E5E0B285872796330B999044 /* EthereumTransaction.swift in Sources */, + AD7D2F8C362981D42EA5497CC71F7737 /* EventFiltering.swift in Sources */, + 86F8EB37DA0D0B1894675C2A41A949CE /* IBAN.swift in Sources */, + 045FA7F5C4FA073D115933C8046C954D /* KeystoreManager+ObjC.swift in Sources */, + B6626A2B587568E2256A791C094CDF0E /* KeystoreManager.swift in Sources */, + 5DB7A571F556449AD9706B01CB07EA6A /* KeystoreV3JSONStructure.swift in Sources */, + 8B28B522A60F6F1A0BEC7E64514B0976 /* LibSecp256k1Extension.swift in Sources */, + 5A62E1514221B943B7A3D3946E7C33F7 /* NameHash.swift in Sources */, + 68C039D30A4BD8D39DF56B559B4ADB68 /* NativeTypesEncoding+Extensions.swift in Sources */, + E37A842880FB67BC31021D43DF112704 /* NSRegularExpressionExtension.swift in Sources */, + 9E61496223A21B14280586F3E47065BC /* PlainKeystore+ObjC.swift in Sources */, + 0075468647D0FFC3AAED89F1F23D66CF /* PlainKeystore.swift in Sources */, + 64B367DFA40AC646E11DAB819B0E292E /* Promise+Batching.swift in Sources */, + 31BE361F12FECC822B92E13681857FD0 /* Promise+HttpProvider.swift in Sources */, + 331CE8D8224F71C9D3D70DC1801A1715 /* Promise+Web3+Contract+GetIndexedEvents.swift in Sources */, + 22FD54B4C827131C4D684D2EAA053145 /* Promise+Web3+Eth+Call.swift in Sources */, + DF7F955F953C523ECE12E71C4990F56A /* Promise+Web3+Eth+EstimateGas.swift in Sources */, + BE321B31D7AFC12E0BF53438F00832FB /* Promise+Web3+Eth+GetAccounts.swift in Sources */, + E17468799BD83B1D0859237015708D37 /* Promise+Web3+Eth+GetBalance.swift in Sources */, + 0C76323B6074D43A33E958630E2FA2B8 /* Promise+Web3+Eth+GetBlockByHash.swift in Sources */, + 3B85CE7D9D64282311FA54DBC8286756 /* Promise+Web3+Eth+GetBlockByNumber.swift in Sources */, + AE94E5909CD8A6A29021E7DB20613096 /* Promise+Web3+Eth+GetBlockNumber.swift in Sources */, + 859729A76D2AFAB1080AB8E850982E4B /* Promise+Web3+Eth+GetGasPrice.swift in Sources */, + 56ACBF1330E1BDB853FC94E16E41A0C7 /* Promise+Web3+Eth+GetTransactionCount.swift in Sources */, + 7E314E370D8E63F9D28EB4D83FF125C5 /* Promise+Web3+Eth+GetTransactionDetails.swift in Sources */, + 21C57C5726D2EB337172882289EBA3B6 /* Promise+Web3+Eth+GetTransactionReceipt.swift in Sources */, + 4AACA123F47301AFCECF75FE8D86BBBD /* Promise+Web3+Eth+SendRawTransaction.swift in Sources */, + BEDBDFC232562E554358904415EE39B1 /* Promise+Web3+Eth+SendTransaction.swift in Sources */, + C970C24BFEAF379BB919A0CD4B1FE320 /* Promise+Web3+Intermediate+Send.swift in Sources */, + AF86C21D7723F3C8030AF9530676083E /* Promise+Web3+Personal+Sign.swift in Sources */, + B3FEBCC1E6F68131A464D2D28417BA24 /* Promise+Web3+Personal+UnlockAccount.swift in Sources */, + 91C565DE7355FB1961E40D10EE14CDBE /* RIPEMD160+StackOveflow.swift in Sources */, + C6AA1178DA0B19F731B8C6D0D355262B /* RLP.swift in Sources */, + 6795E9608781C7A1914DBFC1D1B3BBD0 /* String+Extension.swift in Sources */, + 3F1665AFCA874E77038222C32CA21CF4 /* TransactionSigner.swift in Sources */, + 4AB8899CD9B274899C569E8E4F6B8163 /* Web3+BrowserFunctions.swift in Sources */, + 8C4634FA8F9D714321F3973BAC3756CD /* Web3+Contract.swift in Sources */, + A10552DA49C1B421E22D5BBD00043EB5 /* Web3+ERC20.swift in Sources */, + CB2D6447D8F5DE72BEF8DC58E09758C8 /* Web3+Eth+ObjC.swift in Sources */, + 948850F4D9DCBDA7885F96517F7C93B2 /* Web3+Eth.swift in Sources */, + 838FC79B49A0DD9506EDFF36DC730262 /* Web3+EventParser.swift in Sources */, + 08126F596F171C58B2CDD7314A1129D6 /* Web3+HttpProvider+ObjC.swift in Sources */, + 655563EF592B664426E4F924AD94A1EE /* Web3+HttpProvider.swift in Sources */, + 36306880A632F6028A29C9EF3AF21D76 /* Web3+Infura.swift in Sources */, + F3B5788DE236BC5FDC36A19160E3A121 /* Web3+Instance+ObjC.swift in Sources */, + BBC3534E14BA11CE9BCF8FA0848D76D4 /* Web3+Instance.swift in Sources */, + 465596376950D8BA52A52DF91185308A /* Web3+JSONRPC.swift in Sources */, + 202EDC7A61D90D385D5A163E66665BF7 /* Web3+Methods.swift in Sources */, + 1774B3B2CE80448F302A78251D87401A /* Web3+ObjC.swift in Sources */, + 45216D6980BC449A1E84C0C6CC1AA6F9 /* Web3+Options.swift in Sources */, + 78FD627F252ED1A0015EE533DD68C2FF /* Web3+Personal.swift in Sources */, + AEDEB90675798B030C87A90F64EBE68A /* Web3+Protocols.swift in Sources */, + 6B5044E9BC84F66C42F5923359015BF8 /* Web3+Structures.swift in Sources */, + 99F02A84D0D5E2765EE4F4C4AA684A63 /* Web3+TransactionIntermediate.swift in Sources */, + 27FE3E93F1532DBADEF4E265BECD3B77 /* Web3+Utils.swift in Sources */, + 7528DA81FC748DE3FC4BBCD0A2E1400C /* Web3+Wallet.swift in Sources */, + E2262EC80364EF8400960EDAF09318D9 /* Web3.swift in Sources */, + 77178248CD6460B5432AC6DFC3579E23 /* web3swift-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2C805E60BE537B9FC79BAE59D8E710BA /* Sources */ = { + 7845B68B8E520FB143745DE94DEF574C /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 68C2330CEC1FDD0E6365EB4462B8342E /* Result-dummy.m in Sources */, - BBB75F3143EFC9A3EB463780ECAA68D9 /* Result.swift in Sources */, - F2F03C6A31E23F3EC783FC2114101161 /* ResultProtocol.swift in Sources */, + 3CB14077F8EC08C91CC67F7A527B417E /* AEAD.swift in Sources */, + 48388B84776F7C1407A1E118B089CBEA /* AEADChaCha20Poly1305.swift in Sources */, + 595B8A2A0CCEBF78C630FF9978F29AB7 /* AES+Foundation.swift in Sources */, + 13DFC709B5090CE924800551AE5D9808 /* AES.Cryptors.swift in Sources */, + 1AEA4CC9FAFDF49652633E9DBE16D80E /* AES.swift in Sources */, + 778848906301AB76386C72A37543BE52 /* Array+Extension.swift in Sources */, + EEBA55F15AFE35277B68E8ECF0006359 /* Array+Foundation.swift in Sources */, + 36CD9E2F0BD86A31E701E02DAB5AE6F2 /* Authenticator.swift in Sources */, + 46D913BB12854D13B0F897B37C0645A4 /* BatchedCollection.swift in Sources */, + 78589BD06CD8A1E65939A186F9EF2AB5 /* Bit.swift in Sources */, + C0CB7BA8B8378B845E1231E46A00302F /* BlockCipher.swift in Sources */, + 49FEEA70ABC39AF55CD97D81857EF07E /* BlockDecryptor.swift in Sources */, + AB9668A6835AEC7962A3C7768ADAAA56 /* BlockEncryptor.swift in Sources */, + CFA93FAF0D4ECF135C0F0E190C6C170E /* BlockMode.swift in Sources */, + E5E3667FFF55ADA12DD9114649E29031 /* BlockModeOptions.swift in Sources */, + 5A6C4BA33ADE33CC6B382B120B679237 /* Blowfish+Foundation.swift in Sources */, + 3C3E2109D1CACB25EAFAF06D4238567E /* Blowfish.swift in Sources */, + 43FD8DB1CCB725A4FE8894835801F3EB /* CBC.swift in Sources */, + 88ED6F7E091B1D56573DCEFA4F60B010 /* CFB.swift in Sources */, + 9D39EF4996CB92E27C1BAF0651E2C242 /* ChaCha20+Foundation.swift in Sources */, + AB905E3B9A9CB2C8F126AB2F7A985B63 /* ChaCha20.swift in Sources */, + 68AC0F69139647F7B018BBF14976F577 /* Checksum.swift in Sources */, + A2800740B805FE08662A48D9C0CFF49E /* Cipher.swift in Sources */, + 0E285E910A32BEC3C90AE7FCD361AD63 /* CipherModeWorker.swift in Sources */, + C8FD04BAEFFFEF92BF2303ACA42207F6 /* CMAC.swift in Sources */, + 19127EBDCFDCA18FB791457D9636554A /* Collection+Extension.swift in Sources */, + E738C32AC026327A0C48144C7979EC30 /* CompactMap.swift in Sources */, + BAB523E44314747F529F07E9D858D0A9 /* Cryptor.swift in Sources */, + 8008DD7D87F87B9E3D5ECEA3467E1A9C /* Cryptors.swift in Sources */, + 681FBF1DE7F5E28A656C33C24795C69D /* CryptoSwift-dummy.m in Sources */, + 16BD01485AEA764E1D7AE403EDAA7CAC /* CTR.swift in Sources */, + E6B051B4B35607992353F833DE6578C1 /* Data+Extension.swift in Sources */, + 69B43E85EA9FD569A466BE6BA94A5F86 /* Digest.swift in Sources */, + FBF77F35D1FB8C0B49461F323CC64EF7 /* DigestType.swift in Sources */, + 809461B522DAD1CC4DA7B304793057A5 /* ECB.swift in Sources */, + 168BDC656BAAED4F5FC8CF368D073EF2 /* GCM.swift in Sources */, + B6DFE0242C66C8E98A2F6825401A50B1 /* Generics.swift in Sources */, + 8E5BF109ABE01A8C75C78AEB7B902FC3 /* HKDF.swift in Sources */, + 104041B63A33F6C978EBE1042E7F36C6 /* HMAC+Foundation.swift in Sources */, + 4DEA27C788BF3119B52411CCB2922FB2 /* HMAC.swift in Sources */, + 0069D192EEB5FD6E4FE6CE081766BF84 /* Int+Extension.swift in Sources */, + 84BCF4CADBC4D7DDA795387EC0AC07E7 /* MD5.swift in Sources */, + 7CF47931D812B23E671EC0DEA0706DFA /* NoPadding.swift in Sources */, + DE5662D83AD07D877CB46011E963932B /* OFB.swift in Sources */, + 7F77F6FF53784ED6A5A93AC3D548F02A /* Operators.swift in Sources */, + 76470FC323983D6226BCF68B1164E3F5 /* Padding.swift in Sources */, + F29E02078681BBB088849F8B66655247 /* PBKDF1.swift in Sources */, + DCEFC750784BC92CC015B9B973982194 /* PBKDF2.swift in Sources */, + 6951FF81102CC5BFF9688FD32F93DB93 /* PCBC.swift in Sources */, + 872CC7E11DB7B5D9E47440A739E574AB /* PKCS5.swift in Sources */, + DD69B45CCE6E9919A0D08FE9498D2B2E /* PKCS7.swift in Sources */, + 011C7540AA287C97361474C15BEC543C /* PKCS7Padding.swift in Sources */, + F95D72C282B42FFE8FE2F10C0AB327F2 /* Poly1305.swift in Sources */, + 76B563B51D27673895764F16C48D5E24 /* Rabbit+Foundation.swift in Sources */, + FB20391449E34100261FC37107DC6078 /* Rabbit.swift in Sources */, + 1F775B3A5B3F7AD66C937140F5D64981 /* RandomBytesSequence.swift in Sources */, + 090FC12C45ED8F6A69B4E632DFE94915 /* SecureBytes.swift in Sources */, + 57EE2999B5A42AB125DE111FD58382E8 /* SHA1.swift in Sources */, + EC5E4784D34A1D2A17EEDD85A46D465A /* SHA2.swift in Sources */, + D1F5CB987F614989A6C17C93F2DD5EE8 /* SHA3.swift in Sources */, + 36A0040F0878B1983F1EA1303DEA3A8A /* StreamEncryptor.swift in Sources */, + 3A0B9F7D652FAD6B6F41E8ECBC672B2E /* String+Extension.swift in Sources */, + 1819715D4AE9B9E34CC6884404B925A7 /* String+FoundationExtension.swift in Sources */, + 9032FD5A6851FA0796FE178236BE9949 /* UInt128.swift in Sources */, + 4E6B32A3483F0BFABBD797909A9DEF6E /* UInt16+Extension.swift in Sources */, + 5BDE74041F9724B7C2A40FD1FCFA45F0 /* UInt32+Extension.swift in Sources */, + 63DE145E1764A86D1ABB97F789625268 /* UInt64+Extension.swift in Sources */, + 17A85E0EC18A32952F779A75E09AB131 /* UInt8+Extension.swift in Sources */, + 7EFCEF370D1273ECA03178E054495922 /* Updatable.swift in Sources */, + 72C25CF4053DCD62E5447817C0B9221E /* Utils+Foundation.swift in Sources */, + 822D2EB3DC201386CF9DF682794D91F7 /* Utils.swift in Sources */, + 7879C44114E0F4F770B0E68610F5ACFB /* ZeroPadding.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 32AD760B54579FD98DEB66176FB66EFE /* Sources */ = { + C747AFF53DCA864F052E68331F3DFFE3 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 66DAA427DFCF69455F88D50EBDCEC978 /* AFError.swift in Sources */, - 0C966E828109E9D987A3C0828541F7C6 /* Alamofire-dummy.m in Sources */, - BEFECBD83E818B612CCCF26BF42C9A07 /* Alamofire.swift in Sources */, - 3CE316FB1EA8B67619B8F1F69C2D7DEF /* DispatchQueue+Alamofire.swift in Sources */, - 032BCEB41AEBEA0F759440DF02E10453 /* MultipartFormData.swift in Sources */, - 8BB170EF376EB2F719D596A71E651FDF /* NetworkReachabilityManager.swift in Sources */, - E9CFA3B1AD0E1D6C406D21140785BEE4 /* Notifications.swift in Sources */, - 6EB4987366B9F2ACFE6FAFDE37353A39 /* ParameterEncoding.swift in Sources */, - 59A379D2EB8028CB07331F2E18B6FC40 /* Request.swift in Sources */, - B15AE25F2284AC71F87FAC7AAE5EA393 /* Response.swift in Sources */, - B6E153E514E37B85F25975A0E2B34FEC /* ResponseSerialization.swift in Sources */, - EE7A9102DB787F4E64A07A51B99B36DB /* Result.swift in Sources */, - E09041A10CE1271F31325AA84E3C6A33 /* ServerTrustPolicy.swift in Sources */, - E358EB7574B94EF931AF6B8561785CEB /* SessionDelegate.swift in Sources */, - 668DA2358C17E58C237B811862AE4A47 /* SessionManager.swift in Sources */, - 258E71ECF3D900477A267306555F9A8E /* TaskDelegate.swift in Sources */, - CA6BD52AB35379D1EC283FEC9152674D /* Timeline.swift in Sources */, - 5BC1C61CB83F16DFD89AC9A78CDFADC3 /* Validation.swift in Sources */, + EB350E13664115CE53FA7E4C0BC2CDA6 /* BufferStorage.swift in Sources */, + 58A762A4848E6E343D255E9FACC9E795 /* Cimpl.c in Sources */, + 5168590BF93FB99D16DC49712EA80245 /* Salsa.swift in Sources */, + 7D5DA72A49A992A527E02B5A1246FC3C /* scrypt-dummy.m in Sources */, + 8D1AABABA7AE89E3F15F645AC6A3E532 /* Scrypt.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4E9F4AA0129581CBF24249C5152BC697 /* Sources */ = { + D0AC93315DC7E224CAFDF4FDBCD3DB40 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 0F92B704707B32D0AA562C2A530EB0A8 /* Alamofire+Synchronous.swift in Sources */, - 5698E11601DB0B4F6DB2BAA8A81F2AF5 /* Alamofire-Synchronous-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 78BDA06E6FE17EC03E3D2B2B38A33E1E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 85ECA791CFA3FAD4FB4FA4E89DC06366 /* Pods-web3swiftExample-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - AAC459EBCB220BCD476AEF783664BB0A /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 06C13656BA3986F9E79BA275C8CB7FC0 /* after.m in Sources */, - 0764458A695C9A60876E762125E73F03 /* after.swift in Sources */, - 223F012BF13701867F80C0B85C3D2F09 /* afterlife.swift in Sources */, - 79E0C0BE16EDC33FFDD16C96AEAF1FFA /* AnyPromise.m in Sources */, - EA5922A925A9206F53AF759483E9CCC0 /* AnyPromise.swift in Sources */, - CF6D9779D32756239341442008517E14 /* Box.swift in Sources */, - 481D4B04EE8AED7BD7BFB82212958795 /* Catchable.swift in Sources */, - 17B188CFC54CEBF260A47F31AA75CD82 /* Configuration.swift in Sources */, - 156F186795C5DECA06EDFA419F78A406 /* CustomStringConvertible.swift in Sources */, - 635A22E2A57367DC2E64227A7007C5F8 /* Deprecations.swift in Sources */, - CBC7E3DBE6CE7D35B538C5082A731494 /* dispatch_promise.m in Sources */, - C00B69058773718883AA56D4E655C895 /* Error.swift in Sources */, - C15105E263D577932586682E527DED69 /* firstly.swift in Sources */, - 47E8AA402EBEFEEAF1CA5920F654D85A /* Guarantee.swift in Sources */, - 7FAF3A59EE0FBE079E9BB8F0F917EBEA /* hang.m in Sources */, - 7F2C999E1339D26BF9FF0CDEE8E0E8D4 /* hang.swift in Sources */, - 41B0992A40B66A16E3CD6F86FE337B0F /* join.m in Sources */, - 4C5875ACBC91F2B573F41D568DF50B37 /* NSNotificationCenter+AnyPromise.m in Sources */, - C7F81CB87B9A0FB28301B983C639ED07 /* NSNotificationCenter+Promise.swift in Sources */, - 7A2A90F4E7A48C0774CB637A380F2EC2 /* NSObject+Promise.swift in Sources */, - 6536833F521F132286B038E6E9E8C6C6 /* NSTask+AnyPromise.m in Sources */, - 5A9D6F7A3CA3C261D5B32722E6976246 /* NSURLSession+AnyPromise.m in Sources */, - FD4A37E6D147B027F1685D564B0A16AF /* NSURLSession+Promise.swift in Sources */, - 3C00C25544688C8F2E12DD13BE28844B /* Process+Promise.swift in Sources */, - E526ADCE4C7E46F1ED303211CA7274F6 /* Promise.swift in Sources */, - F693A10195CFECB23A6491B6D56E3846 /* PromiseKit-dummy.m in Sources */, - CA2879B07D4368B545C5366E543BB947 /* race.m in Sources */, - E0F177F7A98544DCDAB9BF2DBCF2AF50 /* race.swift in Sources */, - 0763ED23F1F11E41ADD293937EE62CCB /* Resolver.swift in Sources */, - BB7DE6D95CAC86B03A9EF063013DC002 /* Thenable.swift in Sources */, - D799A0F3FDCE0E757E03C8F1DA19E6CD /* UIView+AnyPromise.m in Sources */, - 549D3006AA52C4AA90D8605AB49AB828 /* UIView+Promise.swift in Sources */, - 8F30C69A17658EF40DAFDD2BC04DC038 /* UIViewController+AnyPromise.m in Sources */, - D56D4F5F9F0AE82BAC8449EDD2C1F773 /* UIViewPropertyAnimator+Promise.swift in Sources */, - 6BA608B164BBFA8557852F24B1B6100A /* when.m in Sources */, - 519C2BE0CCDA132276FA6CE28EB47F0D /* when.swift in Sources */, + C8218EC292D51987B5ABF02470D28BF8 /* lax_der_parsing.c in Sources */, + B1E21083CCF70CA10BCFB0D6BDF4DC7B /* lax_der_privatekey_parsing.c in Sources */, + F41F4AAC34AB627DE3BEE8826AA9D736 /* secp256k1.c in Sources */, + 97E9D2C351BA784EAB933580AD206C13 /* secp256k1_ios-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3351,91 +2252,20 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - EC7466BC06A67865BCDD2CBCCD162198 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - EF983C2335FA41B0BA26A6A93CF58705 /* AEAD.swift in Sources */, - 101DADCC37C9AC3C99F02532A76249D0 /* AEADChaCha20Poly1305.swift in Sources */, - CAA3229C77FBA1D4F5AD8F5CAF0CF65C /* AES+Foundation.swift in Sources */, - 068E44323840B57A0FB9AEA513DCE2A7 /* AES.Cryptors.swift in Sources */, - 079CF799EC45CA9C122BD5814AC30667 /* AES.swift in Sources */, - 4CD22B1B2CCBE3DFA3DE24313C9F8C2F /* Array+Extension.swift in Sources */, - 93AE67679D6430B33711FDB749ADAEBB /* Array+Foundation.swift in Sources */, - 17A2AA6FE1D29AEF91A2FF50F05DB7E9 /* Authenticator.swift in Sources */, - DD558EB06D5FDEAF392E8E3DF8CAF289 /* BatchedCollection.swift in Sources */, - EAD68325D8AD2C66B8C7F58EB9388B97 /* Bit.swift in Sources */, - D37A1A97E34FD85C656B26948153D0FD /* BlockCipher.swift in Sources */, - 8328E6DA833E10F0D6D9FF547D86677F /* BlockMode.swift in Sources */, - 16FFE76E509430ED5E4F9D3E2473059F /* BlockModeOptions.swift in Sources */, - DB92E712B53D33FC6B3E49A883144900 /* BlockModeWorker.swift in Sources */, - EE755BDFE57E81D5C443E12D97375192 /* Blowfish+Foundation.swift in Sources */, - 2D43C71A14E25B74828A87A714928CC3 /* Blowfish.swift in Sources */, - 7907CAC80DDAEF62006228700060BF70 /* CBC.swift in Sources */, - F6D367044CD4416328FE6F948A0D8917 /* CFB.swift in Sources */, - A1AE1950008F8019505AFB632706BA3E /* ChaCha20+Foundation.swift in Sources */, - 18359E9E2F9E1382D83D9AC726A71362 /* ChaCha20.swift in Sources */, - CCB4C5EC5DA2E53DE67EA7F6094E783B /* Checksum.swift in Sources */, - 82A3E6AAFD52FCA5B1A6845CA136007E /* Cipher.swift in Sources */, - D2AB204C8373E9AD12F1053B6675C5A7 /* CMAC.swift in Sources */, - 638DD1CB162E73EE8269AA6D84E5F744 /* Collection+Extension.swift in Sources */, - F4FB30DCA458D2DFCA2434FB72AC12BE /* CompactMap.swift in Sources */, - 0A9A292D8019F2956000CE2EF885788A /* Cryptors.swift in Sources */, - 2CB115521430182B7090E167ED1A18FA /* CryptoSwift-dummy.m in Sources */, - A5FE61E9A9E308D2289FB20DCCD93864 /* CTR.swift in Sources */, - 64593DDAFA35CD617A61726868E73907 /* Data+Extension.swift in Sources */, - BF7E5043837C6B692222410C22782465 /* Digest.swift in Sources */, - 4866659E0E149A1D5DA2C255458539C7 /* DigestType.swift in Sources */, - BCAAD2381219044EE4FD3FD09185BE6E /* ECB.swift in Sources */, - 7FB56D552012CBA63673624F67E1488D /* GCM.swift in Sources */, - 7F53E942EF2084336357181C519EC6B5 /* Generics.swift in Sources */, - 71CFAACEBBF81C095452D045A6B5FA58 /* HKDF.swift in Sources */, - EC524CC2EBE337CFD32C0BFAF1242FBD /* HMAC+Foundation.swift in Sources */, - 4F4480104F194E4E1C4C66F170B780A7 /* HMAC.swift in Sources */, - D21ADA59B2F9E799C130CED60E316F94 /* Int+Extension.swift in Sources */, - 849DD908F4E9EC16143DE93848E637AD /* MD5.swift in Sources */, - AA1364B797FF94B8B90EE0E22F7BCCED /* NoPadding.swift in Sources */, - 6CD2BA000DE63785C0A45C28ACCCD7A5 /* OFB.swift in Sources */, - 5B430E112B4CF9AE62ECBF0CC5ECFCFB /* Operators.swift in Sources */, - E3454304E37C697FB2ED3B830DE460E9 /* Padding.swift in Sources */, - 8837242AF7AB8364CD759A64D30B44E9 /* PBKDF1.swift in Sources */, - 9BE82BEA05E7890E8372F449993712E9 /* PBKDF2.swift in Sources */, - B38111A3C1D679054D28375E07F2EF96 /* PCBC.swift in Sources */, - D1FD465D9A5DF0D3C96C2B35239A3B9F /* PKCS5.swift in Sources */, - DE481C1F209A56BA9EAFAF541FE1F9C3 /* PKCS7.swift in Sources */, - 294558F0EB8363D7CC4A79299DAD54DA /* PKCS7Padding.swift in Sources */, - 8F909E346710D9440168BDE61EF99A5D /* Poly1305.swift in Sources */, - 5185C39BAF5AB0D49D5CDE9B97784603 /* Rabbit+Foundation.swift in Sources */, - 5F847ADB22BBE3BE7499DFBBA6C22A62 /* Rabbit.swift in Sources */, - C27987F371739E77E8806AA1DD8FACDE /* RandomAccessBlockModeWorker.swift in Sources */, - 39A2876419589EE4B1FF00A02FF74DF1 /* RandomAccessCryptor.swift in Sources */, - AAAB5DB77854A372E7479D4D34559E17 /* RandomBytesSequence.swift in Sources */, - F4FA8502A013A23425EEB75EC06CC60B /* SecureBytes.swift in Sources */, - 3CE6038192A340441EBA64480A558CC9 /* SHA1.swift in Sources */, - AFCDA6E2117564DA26A2A30B79B35D9C /* SHA2.swift in Sources */, - A865FF191A862BC89D68ECAD612800E1 /* SHA3.swift in Sources */, - 83312029C5BE9E39D418787115ACA6BC /* String+Extension.swift in Sources */, - 6DF7679B6A170D9088E774ECEF454396 /* String+FoundationExtension.swift in Sources */, - 9567AE10F73A40B7B34BBDA5BF530073 /* UInt128.swift in Sources */, - D48AB0204F07C546D5FB5EA4F48CAA9B /* UInt16+Extension.swift in Sources */, - D100D7BFCDD865D8A44DC541F92F6D33 /* UInt32+Extension.swift in Sources */, - 39DA1706C5EDABD12CDD0C3196E6B32D /* UInt64+Extension.swift in Sources */, - 881AA39C8DFB32473472EE4CB9E24466 /* UInt8+Extension.swift in Sources */, - 87B4F4FD7CDD599E25DDC604CB55283B /* Updatable.swift in Sources */, - 8BDD81FC1D0F93340CD33E2747226CC3 /* Utils+Foundation.swift in Sources */, - 244D3D8E9006A3B1C9475B4AF4E9612A /* Utils.swift in Sources */, - 78EC90F6BE2913CA82C63090EC0D438C /* ZeroPadding.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 0F8BD4A0AA8EF07181439E6BD0EA59BD /* PBXTargetDependency */ = { + 0A8C82D239CBDF1B011E11B329EA616A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = BigInt; + target = 23A9C77578E46AEB069BEF36B9B5ADA6 /* BigInt */; + targetProxy = 6BF9B000996DF9D64D4FE4DEECF00413 /* PBXContainerItemProxy */; + }; + 0B6AA6919B8A7CB6BC051AF90DF91D0D /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Result; - target = D64339DB1937336FB773315239524DB8 /* Result */; - targetProxy = FC07C931FC69DD6B9E51D60974180950 /* PBXContainerItemProxy */; + target = C7F768100F7D32B078FA6D19893B5741 /* Result */; + targetProxy = FD3871FA93CC618634A2D7AB7E6A288C /* PBXContainerItemProxy */; }; 2602660D03EAE2BE41324DCD70D6B7C9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; @@ -3443,139 +2273,104 @@ target = EA114BE2D9D1BCDA6E1013C3301492A8 /* SipHash */; targetProxy = 36A8B274F50442AE2C466F7B8C8A2E09 /* PBXContainerItemProxy */; }; - 2CAF260CCACE97978263FE4D65FD0F02 /* PBXTargetDependency */ = { + 3F569904A0954E065753A145676105A7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Alamofire; - target = 08A16B7582F00884501F5E7A9B8E6FB4 /* Alamofire */; - targetProxy = 732EAB40B7BB50D424054FDD39AAD22F /* PBXContainerItemProxy */; - }; - 35036EDF9C80D7812B78B00BDA00E5A7 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = web3swift; - target = 2045E50CFDF71874CA1271906E10BCCB /* web3swift */; - targetProxy = F53386690C7798AD504C5564439F9910 /* PBXContainerItemProxy */; + name = PromiseKit; + target = C36167279A3ACEC5E09E05AC17E973AB /* PromiseKit */; + targetProxy = 0E01B73CC8F027E3BB675B850520B20E /* PBXContainerItemProxy */; }; - 52CAAD4705FD62E330BB4BA4D83A2F82 /* PBXTargetDependency */ = { + 469BA73D7FD92EEC96D218C7F3F3196F /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = secp256k1_ios; - target = 8B89F1F15ADC02878F9F0757C66CCC66 /* secp256k1_ios */; - targetProxy = 5B046644FBD5C42D3B7123D8F8F6A774 /* PBXContainerItemProxy */; + name = CryptoSwift; + target = D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */; + targetProxy = B2520BE59D3D835F91798AA0CB79DEE8 /* PBXContainerItemProxy */; }; - 5A421FFCA98A5D688197AC3F4BDCF6A3 /* PBXTargetDependency */ = { + 4A7B421C839A9B98B687CAA8B6917FF0 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Result; - target = D64339DB1937336FB773315239524DB8 /* Result */; - targetProxy = 77D9DDC76D42422C5FABD1839EFC2700 /* PBXContainerItemProxy */; + target = C7F768100F7D32B078FA6D19893B5741 /* Result */; + targetProxy = DAAF4FFB27B380502C83474E2C10B2C0 /* PBXContainerItemProxy */; }; - 67B7B3CE44B5571A2A689133713E76C4 /* PBXTargetDependency */ = { + 4BC8665C320BCB284F1AB9E0F52EEF22 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = BigInt; - target = 23A9C77578E46AEB069BEF36B9B5ADA6 /* BigInt */; - targetProxy = 7C00C2B084EA9759BF1BB64ABD1085E7 /* PBXContainerItemProxy */; - }; - 6F67BFB232998B50EEABD5BCFFD4E49E /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = SipHash; - target = EA114BE2D9D1BCDA6E1013C3301492A8 /* SipHash */; - targetProxy = 9B29EB8719E7E2BA5E81BEF0A08B62CC /* PBXContainerItemProxy */; - }; - 7122A7EAAFE4F7EBF3BE48B3005FE984 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Alamofire; - target = 08A16B7582F00884501F5E7A9B8E6FB4 /* Alamofire */; - targetProxy = 0B322195C981620EFEAD5B6745FC7DD5 /* PBXContainerItemProxy */; - }; - 72D5BCBBD05FB0E6BBB64C6F64875E59 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = BigInt; - target = 23A9C77578E46AEB069BEF36B9B5ADA6 /* BigInt */; - targetProxy = E96404986BA94DABB1760A52DC988C7F /* PBXContainerItemProxy */; + name = CryptoSwift; + target = D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */; + targetProxy = AC93B93DEA6B153F441ACDD47711CB50 /* PBXContainerItemProxy */; }; - 8B0658498E5E3EBB0C6DB77CCFF3E5A0 /* PBXTargetDependency */ = { + 4F4E9B99540CA6BFAFEF683BB7AFA0D3 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = secp256k1_ios; - target = 8B89F1F15ADC02878F9F0757C66CCC66 /* secp256k1_ios */; - targetProxy = BBA232549F68F1162114325DF2DD1E63 /* PBXContainerItemProxy */; - }; - 8E40017A465D67A6DE01E1C00A3AAC07 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = libsodium; - target = DABF3C53CBFFDDA5B09CD8C2730946F9 /* libsodium */; - targetProxy = A7F583D0D3B9A2F411940D398D08B422 /* PBXContainerItemProxy */; + target = 60BF36463B9896F856D87DA4DE89FBB9 /* secp256k1_ios */; + targetProxy = 1D7E7E679A2F944C7B68599B9949B3D9 /* PBXContainerItemProxy */; }; - 990CFB160AF39AA01EB04686E685ED41 /* PBXTargetDependency */ = { + 64DA449404BAFB38711865F0C1D0C3ED /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = PromiseKit; - target = 25F139B783F51F1B03C1B65120448B73 /* PromiseKit */; - targetProxy = 7543FD1B0090AC9576EFC9A4E7AE4625 /* PBXContainerItemProxy */; + target = C36167279A3ACEC5E09E05AC17E973AB /* PromiseKit */; + targetProxy = 6EA95E18AF08E391FC2DD079C00AC604 /* PBXContainerItemProxy */; }; - A7FE34144E2F8EF2AC97453CBD12376A /* PBXTargetDependency */ = { + 8FD5D15A53AB1364D3C37E633E297FD9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = libsodium; - target = DABF3C53CBFFDDA5B09CD8C2730946F9 /* libsodium */; - targetProxy = 7B4DFEC1C44F04A796A3306F11285246 /* PBXContainerItemProxy */; - }; - ADB91EB6B6F0208B0C8A9557B2338876 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Alamofire-Synchronous"; - target = 1FA7CDA9950A14DCE2AA7B4CB3743467 /* Alamofire-Synchronous */; - targetProxy = FF70C9F17A095CB101C2AAAECD7830F4 /* PBXContainerItemProxy */; + name = SipHash; + target = EA114BE2D9D1BCDA6E1013C3301492A8 /* SipHash */; + targetProxy = BE88B88019CC73C5F4692FCFFE00A16E /* PBXContainerItemProxy */; }; - B1C580DA26FBED793ECB2A1DB27EFDA4 /* PBXTargetDependency */ = { + 9235C791AF1571AD8742EA4B298E89C5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Alamofire-Synchronous"; - target = 1FA7CDA9950A14DCE2AA7B4CB3743467 /* Alamofire-Synchronous */; - targetProxy = 2FF070217E421888A5847B05612293E5 /* PBXContainerItemProxy */; + name = CryptoSwift; + target = D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */; + targetProxy = D6AE6C9B739C8079861FA4830DE57BFF /* PBXContainerItemProxy */; }; - BD5CB068ADE9A9F42432171B0724B615 /* PBXTargetDependency */ = { + A3C90A98231D5DDB2A79AFA9C07695B8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = PromiseKit; - target = 25F139B783F51F1B03C1B65120448B73 /* PromiseKit */; - targetProxy = F905F09B5BC336B82D53256C1EC48273 /* PBXContainerItemProxy */; + name = scrypt; + target = 0E877A906EE881D9A703E2CEB69B27B0 /* scrypt */; + targetProxy = 7BD0D139C37C19537A6DF939C1048252 /* PBXContainerItemProxy */; }; - D0DA13A9CB512C90A3FE9B22EEF92910 /* PBXTargetDependency */ = { + BC80BF207538A95305A7D118B9B7C215 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CryptoSwift; - target = 2C78658F26957429163E36B92D39CCB9 /* CryptoSwift */; - targetProxy = F9C019BD38AE206D3DDAB7C8E869F60B /* PBXContainerItemProxy */; + name = secp256k1_ios; + target = 60BF36463B9896F856D87DA4DE89FBB9 /* secp256k1_ios */; + targetProxy = 51F19D8B3983CC6266B592A32F736A15 /* PBXContainerItemProxy */; }; - D10CA258983F51DE25FB085693AF7B63 /* PBXTargetDependency */ = { + D0835B4CA84CEE3755B21228D6CA6FFC /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Alamofire; - target = 08A16B7582F00884501F5E7A9B8E6FB4 /* Alamofire */; - targetProxy = DAE56B50F319ABBDEDDE62932A035271 /* PBXContainerItemProxy */; + name = scrypt; + target = 0E877A906EE881D9A703E2CEB69B27B0 /* scrypt */; + targetProxy = ABA2DC1B51EB47A1C58FD8EB202B5FAE /* PBXContainerItemProxy */; }; - E754EC7979D3C686F99AA07C2D5944A6 /* PBXTargetDependency */ = { + D5D89B0A0375005F9DC439BA79768218 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CryptoSwift; - target = 2C78658F26957429163E36B92D39CCB9 /* CryptoSwift */; - targetProxy = A0A51DE0921660B613BC57860A56EBF9 /* PBXContainerItemProxy */; + name = web3swift; + target = D93CC8797FA6642C382C93BBA9AE8B0D /* web3swift */; + targetProxy = 111385C619C9ADC78F47666FAA2A22A7 /* PBXContainerItemProxy */; }; - F8B662ACD10CF6F20ECB2ADFC042C03B /* PBXTargetDependency */ = { + E92C0852F7CA81FC3C083C6A05797271 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SipHash; - target = EA114BE2D9D1BCDA6E1013C3301492A8 /* SipHash */; - targetProxy = D24F5F3A1ED853C4DB44A3137CEA65FC /* PBXContainerItemProxy */; + name = BigInt; + target = 23A9C77578E46AEB069BEF36B9B5ADA6 /* BigInt */; + targetProxy = 76DB86015CEE178C79D4F291C64586B2 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 1C2F655F2AB38149CC5EE29B6C39C9C2 /* Release */ = { + 08325AB7BA3DEA33A660C8DA62E9D84C /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 94332960E08B31160F0BC526D5E2CE9C /* Alamofire.xcconfig */; + baseConfigurationReference = 4A9FF65D7436CD05D4829C03224BCEC3 /* PromiseKit.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/Alamofire/Alamofire.modulemap; + MODULEMAP_FILE = Headers/Public/PromiseKit/PromiseKit.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Alamofire; - PRODUCT_NAME = Alamofire; + PRODUCT_MODULE_NAME = PromiseKit; + PRODUCT_NAME = PromiseKit; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -3588,38 +2383,38 @@ }; name = Release; }; - 2697489998DD3103A3409DA2AE368006 /* Release */ = { + 0F2AD7A3E58FD789DAFDAD2D62E8EAE8 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 049F38FE255AB1E71D64C95692DC4FB6 /* Alamofire-Synchronous.xcconfig */; + baseConfigurationReference = 4A9FF65D7436CD05D4829C03224BCEC3 /* PromiseKit.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = "Headers/Public/Alamofire_Synchronous/Alamofire-Synchronous.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = Headers/Public/PromiseKit/PromiseKit.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Alamofire_Synchronous; - PRODUCT_NAME = "Alamofire-Synchronous"; + PRODUCT_MODULE_NAME = PromiseKit; + PRODUCT_NAME = PromiseKit; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; }; - 3096B0C5693FC2AD69A2D5F27A198B11 /* Release */ = { + 129C407B7AA2AA4EFFB5A2F12C7C5C9F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EB7E8D0913A1CB0092BF2886E7099A98 /* CryptoSwift.xcconfig */; + baseConfigurationReference = D914AC0AB63A632AC7633D885778EBCF /* CryptoSwift.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -3636,6 +2431,33 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 1F61E648B46E8059A6BA7643BB43C497 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 76F2D8905A70134EA2CDEFA78C0DBF0B /* scrypt.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/scrypt/scrypt-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MODULEMAP_FILE = Headers/Public/scrypt/scrypt.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = scrypt; + PRODUCT_NAME = scrypt; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 4.1; @@ -3644,113 +2466,122 @@ }; name = Release; }; - 32AEE9D08D150E3BB023EC00629F7CF6 /* Debug */ = { + 1F6504C4E48E957D125D98953B6D92A4 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D8C8670FEEFFA41E1E7E42556AA074EC /* secp256k1_ios.xcconfig */; + baseConfigurationReference = EFC296C2BEC907D60DCA20DD2859E714 /* Result.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios/secp256k1_ios-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/secp256k1_ios/secp256k1_ios.modulemap; + GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = Headers/Public/Result/Result.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = secp256k1_ios; - PRODUCT_NAME = secp256k1_ios; + PRODUCT_MODULE_NAME = Result; + PRODUCT_NAME = Result; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - 371A4E1787B48B8E5EC0EB573FDAC406 /* Debug */ = { + 293DDB39182F265B42217C016494DB99 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 57ED07D0D7DC588EA238683F5E876B23 /* libsodium.xcconfig */; + baseConfigurationReference = 0438DB1DA63797598E1BC06A1A12F711 /* BigInt.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/libsodium/libsodium-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 4.3; - MODULEMAP_FILE = Headers/Public/libsodium/libsodium.modulemap; + GCC_PREFIX_HEADER = "Target Support Files/BigInt/BigInt-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = Headers/Public/BigInt/BigInt.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = libsodium; - PRODUCT_NAME = libsodium; + PRODUCT_MODULE_NAME = BigInt; + PRODUCT_NAME = BigInt; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - 4FFCFDB99265C865CE861DAC63897637 /* Debug */ = { + 29FB8CEE5D10AEC3F56ABDDA0E163E03 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EB7E8D0913A1CB0092BF2886E7099A98 /* CryptoSwift.xcconfig */; + baseConfigurationReference = 643B9FFEAE81870BB1B9C96ED6F53435 /* SipHash.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/SipHash/SipHash-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/CryptoSwift/CryptoSwift.modulemap; + MODULEMAP_FILE = Headers/Public/SipHash/SipHash.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = CryptoSwift; - PRODUCT_NAME = CryptoSwift; + PRODUCT_MODULE_NAME = SipHash; + PRODUCT_NAME = SipHash; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.1; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - 521DDCC48467B054E6B45139F2F2972C /* Debug */ = { + 50ED217796E02020588E19C68D54E32B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DF25AAFA9DFE4076B8614CB853BCAD47 /* Result.xcconfig */; + baseConfigurationReference = 2A3B82C924810D565EACB8DD0250AF2F /* Pods-web3swiftExample.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/Result/Result.modulemap; + IPHONEOS_DEPLOYMENT_TARGET = 11.2; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Result; - PRODUCT_NAME = Result; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - 5A391E12F3297594B68726EF4F844B66 /* Release */ = { + 513C2D1D1841AE354CC0CB3E061004D2 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D8C8670FEEFFA41E1E7E42556AA074EC /* secp256k1_ios.xcconfig */; + baseConfigurationReference = 6AE04FCF5B21A9BA14FEFFCE5C001C9C /* secp256k1_ios.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -3773,31 +2604,86 @@ }; name = Release; }; - 5E25215B165589A3A7BAB54CDC468B5A /* Release */ = { + 6108586F8F8F0257AB3167314622B299 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 138892441A5B43660E6766A7D981C559 /* Pods-web3swiftExample.release.xcconfig */; + baseConfigurationReference = 68A50C595697D190E564425720BC14EB /* web3swift.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/web3swift/web3swift-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MODULEMAP_FILE = Headers/Public/web3swift/web3swift.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = web3swift; + PRODUCT_NAME = web3swift; + PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.1; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; + }; + 6D2EF2542636FDEBC0F444BEFF0D8586 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0438DB1DA63797598E1BC06A1A12F711 /* BigInt.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/BigInt/BigInt-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = Headers/Public/BigInt/BigInt.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = BigInt; + PRODUCT_NAME = BigInt; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 70B146F75766AA3CF946169E1A7ADF8F /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 643B9FFEAE81870BB1B9C96ED6F53435 /* SipHash.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/SipHash/SipHash-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = Headers/Public/SipHash/SipHash.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = SipHash; + PRODUCT_NAME = SipHash; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; }; 7FC7B8135FDED1560A80CA98EC6F7207 /* Release */ = { isa = XCBuildConfiguration; @@ -3858,134 +2744,81 @@ }; name = Release; }; - 839517EF4A22426834F1DEB123D2A9F4 /* Debug */ = { + 993F1D7FAF8EFEFEB26D36763ADF08C8 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 049F38FE255AB1E71D64C95692DC4FB6 /* Alamofire-Synchronous.xcconfig */; + baseConfigurationReference = 76F2D8905A70134EA2CDEFA78C0DBF0B /* scrypt.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/scrypt/scrypt-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = "Headers/Public/Alamofire_Synchronous/Alamofire-Synchronous.modulemap"; + MODULEMAP_FILE = Headers/Public/scrypt/scrypt.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Alamofire_Synchronous; - PRODUCT_NAME = "Alamofire-Synchronous"; + PRODUCT_MODULE_NAME = scrypt; + PRODUCT_NAME = scrypt; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 86F25D976481CDD0C86BA1457298F362 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 02C519FDB5FE4C5643A843724C5FACA2 /* Pods-web3swiftExample.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.1; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - 91D332392001F706AF36378AD2B498A6 /* Debug */ = { + 9E9436ED9C6418E12F7A3F93C5DAB441 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4884902798C6B84DACA5714E91756627 /* PromiseKit.xcconfig */; + baseConfigurationReference = 6AE04FCF5B21A9BA14FEFFCE5C001C9C /* secp256k1_ios.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/PromiseKit/PromiseKit.modulemap; + GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios/secp256k1_ios-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MODULEMAP_FILE = Headers/Public/secp256k1_ios/secp256k1_ios.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = PromiseKit; - PRODUCT_NAME = PromiseKit; + PRODUCT_MODULE_NAME = secp256k1_ios; + PRODUCT_NAME = secp256k1_ios; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - 9F883197FB66DD8FA87CDB0A3D7E8310 /* Release */ = { + B26A8C903BC8D3AE3522950A7BD2263B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DF25AAFA9DFE4076B8614CB853BCAD47 /* Result.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/Result/Result.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Result; - PRODUCT_NAME = Result; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - B0C7078BFFC6A3BDD61CDD025C6D9555 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = A7A4C7122F27CBFA96424826052E6248 /* BigInt.xcconfig */; + baseConfigurationReference = F3DB5983D5328F395EC023B6F7BA9412 /* Pods-web3swiftExample.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/BigInt/BigInt-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/BigInt/BigInt.modulemap; + IPHONEOS_DEPLOYMENT_TARGET = 11.2; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = BigInt; - PRODUCT_NAME = BigInt; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -4055,143 +2888,11 @@ }; name = Debug; }; - BB23FDC1D61A46145AEBA2A464E3B7A2 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = ACE32CE495474530C295F39F8839A8E3 /* SipHash.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/SipHash/SipHash-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/SipHash/SipHash.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = SipHash; - PRODUCT_NAME = SipHash; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - C4EFE561F5F2A8BF5B23BF4499F279DD /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 57ED07D0D7DC588EA238683F5E876B23 /* libsodium.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/libsodium/libsodium-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 4.3; - MODULEMAP_FILE = Headers/Public/libsodium/libsodium.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = libsodium; - PRODUCT_NAME = libsodium; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - D3513381F77D941C44AE56947450FAFA /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 4884902798C6B84DACA5714E91756627 /* PromiseKit.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/PromiseKit/PromiseKit.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = PromiseKit; - PRODUCT_NAME = PromiseKit; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - D7FAC4CED3C3BBDAF2364B022209AAF2 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 94332960E08B31160F0BC526D5E2CE9C /* Alamofire.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/Alamofire/Alamofire.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Alamofire; - PRODUCT_NAME = Alamofire; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - DD82AFA591C75EFAB04096C1A841D267 /* Debug */ = { + B9ED7A6486BCF4D742F2D1B1CFF5570F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A7A4C7122F27CBFA96424826052E6248 /* BigInt.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/BigInt/BigInt-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/BigInt/BigInt.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = BigInt; - PRODUCT_NAME = BigInt; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - EA11B4823294193567AABE7CD21BEA55 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 27A0278487B3A35F4DE88A3A6A0C80F0 /* web3swift.xcconfig */; + baseConfigurationReference = 68A50C595697D190E564425720BC14EB /* web3swift.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -4208,63 +2909,67 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 4.1; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - ED2357F10E7D32C093DF570AA4A6654F /* Release */ = { + C820CCD265BB93D16107A121C2E5EB96 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = ACE32CE495474530C295F39F8839A8E3 /* SipHash.xcconfig */; + baseConfigurationReference = D914AC0AB63A632AC7633D885778EBCF /* CryptoSwift.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/SipHash/SipHash-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/SipHash/SipHash.modulemap; + MODULEMAP_FILE = Headers/Public/CryptoSwift/CryptoSwift.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = SipHash; - PRODUCT_NAME = SipHash; + PRODUCT_MODULE_NAME = CryptoSwift; + PRODUCT_NAME = CryptoSwift; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 4.2; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; name = Release; }; - FE99E432A9130A9DD35E1E6885EEA079 /* Release */ = { + F6A647E0F39295E03ECEE064527336CF /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 27A0278487B3A35F4DE88A3A6A0C80F0 /* web3swift.xcconfig */; + baseConfigurationReference = EFC296C2BEC907D60DCA20DD2859E714 /* Result.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/web3swift/web3swift-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/web3swift/web3swift.modulemap; + GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = Headers/Public/Result/Result.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = web3swift; - PRODUCT_NAME = web3swift; + PRODUCT_MODULE_NAME = Result; + PRODUCT_NAME = Result; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.1; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -4273,15 +2978,6 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 06AF319EFE02622656002B1EB251895B /* Build configuration list for PBXNativeTarget "CryptoSwift" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4FFCFDB99265C865CE861DAC63897637 /* Debug */, - 3096B0C5693FC2AD69A2D5F27A198B11 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -4291,83 +2987,74 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 32E8B3131F6950CEAE8B5251EB4879BA /* Build configuration list for PBXNativeTarget "Result" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 521DDCC48467B054E6B45139F2F2972C /* Debug */, - 9F883197FB66DD8FA87CDB0A3D7E8310 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 3F1C7ECD83488088C04D854E08CEAC9A /* Build configuration list for PBXNativeTarget "secp256k1_ios" */ = { + 4E0232B8BAE447830A17E134BCD5FC4E /* Build configuration list for PBXNativeTarget "scrypt" */ = { isa = XCConfigurationList; buildConfigurations = ( - 32AEE9D08D150E3BB023EC00629F7CF6 /* Debug */, - 5A391E12F3297594B68726EF4F844B66 /* Release */, + 993F1D7FAF8EFEFEB26D36763ADF08C8 /* Debug */, + 1F61E648B46E8059A6BA7643BB43C497 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 7F069918FA75D71DAA1B2EBCE2A82AFE /* Build configuration list for PBXNativeTarget "Alamofire" */ = { + 4E4F824E27325209F56A4EC7858E6091 /* Build configuration list for PBXNativeTarget "Pods-web3swiftExample" */ = { isa = XCConfigurationList; buildConfigurations = ( - D7FAC4CED3C3BBDAF2364B022209AAF2 /* Debug */, - 1C2F655F2AB38149CC5EE29B6C39C9C2 /* Release */, + 50ED217796E02020588E19C68D54E32B /* Debug */, + B26A8C903BC8D3AE3522950A7BD2263B /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 82933FD53C0B3ACB6A2EBE9D6D3C7BC9 /* Build configuration list for PBXNativeTarget "web3swift" */ = { + 5479530AA132063FEE7E1514B16AF961 /* Build configuration list for PBXNativeTarget "web3swift" */ = { isa = XCConfigurationList; buildConfigurations = ( - EA11B4823294193567AABE7CD21BEA55 /* Debug */, - FE99E432A9130A9DD35E1E6885EEA079 /* Release */, + 6108586F8F8F0257AB3167314622B299 /* Debug */, + B9ED7A6486BCF4D742F2D1B1CFF5570F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 8F066A864D6C6FE5A879BB8DE56E0CF8 /* Build configuration list for PBXNativeTarget "Pods-web3swiftExample" */ = { + 57A8C2137268F228E4AE6A14F1B64A8F /* Build configuration list for PBXNativeTarget "PromiseKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - 86F25D976481CDD0C86BA1457298F362 /* Debug */, - 5E25215B165589A3A7BAB54CDC468B5A /* Release */, + 0F2AD7A3E58FD789DAFDAD2D62E8EAE8 /* Debug */, + 08325AB7BA3DEA33A660C8DA62E9D84C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A19B0DA0873FFF35A37784B512A932C4 /* Build configuration list for PBXNativeTarget "PromiseKit" */ = { + 8FBF93FB50500F9A39127B851D0248BE /* Build configuration list for PBXNativeTarget "CryptoSwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - 91D332392001F706AF36378AD2B498A6 /* Debug */, - D3513381F77D941C44AE56947450FAFA /* Release */, + 129C407B7AA2AA4EFFB5A2F12C7C5C9F /* Debug */, + C820CCD265BB93D16107A121C2E5EB96 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - ABEE6A9BA43AC4ABDA223F41D031CEDA /* Build configuration list for PBXNativeTarget "libsodium" */ = { + C2F0F5224D2CB877BA3BE60F8BC9AF96 /* Build configuration list for PBXNativeTarget "BigInt" */ = { isa = XCConfigurationList; buildConfigurations = ( - 371A4E1787B48B8E5EC0EB573FDAC406 /* Debug */, - C4EFE561F5F2A8BF5B23BF4499F279DD /* Release */, + 6D2EF2542636FDEBC0F444BEFF0D8586 /* Debug */, + 293DDB39182F265B42217C016494DB99 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - BFF68AA274747151FAEACAFE079A5F45 /* Build configuration list for PBXNativeTarget "Alamofire-Synchronous" */ = { + DF9E202F8E4A79152D39EF70F774415F /* Build configuration list for PBXNativeTarget "Result" */ = { isa = XCConfigurationList; buildConfigurations = ( - 839517EF4A22426834F1DEB123D2A9F4 /* Debug */, - 2697489998DD3103A3409DA2AE368006 /* Release */, + 1F6504C4E48E957D125D98953B6D92A4 /* Debug */, + F6A647E0F39295E03ECEE064527336CF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - C2F0F5224D2CB877BA3BE60F8BC9AF96 /* Build configuration list for PBXNativeTarget "BigInt" */ = { + F03D2FCD8A4F5A2AA17A4CE1442CBB2E /* Build configuration list for PBXNativeTarget "secp256k1_ios" */ = { isa = XCConfigurationList; buildConfigurations = ( - DD82AFA591C75EFAB04096C1A841D267 /* Debug */, - B0C7078BFFC6A3BDD61CDD025C6D9555 /* Release */, + 9E9436ED9C6418E12F7A3F93C5DAB441 /* Debug */, + 513C2D1D1841AE354CC0CB3E061004D2 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4375,8 +3062,8 @@ F3F633396C389256F8850D996A26B1BB /* Build configuration list for PBXNativeTarget "SipHash" */ = { isa = XCConfigurationList; buildConfigurations = ( - BB23FDC1D61A46145AEBA2A464E3B7A2 /* Debug */, - ED2357F10E7D32C093DF570AA4A6654F /* Release */, + 70B146F75766AA3CF946169E1A7ADF8F /* Debug */, + 29FB8CEE5D10AEC3F56ABDDA0E163E03 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.h b/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.m b/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSNotificationCenter+Promise.swift b/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSNotificationCenter+Promise.swift old mode 100755 new mode 100644 index ad1113e4d..3b7f84345 --- a/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSNotificationCenter+Promise.swift +++ b/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSNotificationCenter+Promise.swift @@ -22,10 +22,10 @@ extension NotificationCenter { /// Observe the named notification once public func observe(once name: Notification.Name, object: Any? = nil) -> Guarantee { let (promise, fulfill) = Guarantee.pending() - #if !os(Linux) - let id = addObserver(forName: name, object: object, queue: nil, using: fulfill) - #else + #if os(Linux) && ((swift(>=4.0) && !swift(>=4.0.1)) || (swift(>=3.0) && !swift(>=3.2.1))) let id = addObserver(forName: name, object: object, queue: nil, usingBlock: fulfill) + #else + let id = addObserver(forName: name, object: object, queue: nil, using: fulfill) #endif promise.done { _ in self.removeObserver(id) } return promise diff --git a/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSObject+Promise.swift b/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSObject+Promise.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSTask+AnyPromise.h b/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSTask+AnyPromise.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSTask+AnyPromise.m b/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSTask+AnyPromise.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSURLSession+AnyPromise.h b/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSURLSession+AnyPromise.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSURLSession+AnyPromise.m b/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSURLSession+AnyPromise.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSURLSession+Promise.swift b/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSURLSession+Promise.swift old mode 100755 new mode 100644 index 6c70ac0fa..926eadf07 --- a/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSURLSession+Promise.swift +++ b/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/NSURLSession+Promise.swift @@ -92,6 +92,7 @@ extension URLSession { } /// - Remark: we force a `to` parameter because Apple deletes the downloaded file immediately after the underyling completion handler returns. + /// - Note: we do not create the destination directory for you, because we move the file with FileManager.moveItem which changes it behavior depending on the directory status of the URL you provide. So create your own directory first! public func downloadTask(_: PMKNamespacer, with convertible: URLRequestConvertible, to saveLocation: URL) -> Promise<(saveLocation: URL, response: URLResponse)> { return Promise { seal in downloadTask(with: convertible.pmkRequest, completionHandler: { tmp, rsp, err in @@ -167,7 +168,7 @@ private func adapter(_ seal: Resolver<(data: T, response: U)>) -> (T?, U?, #if swift(>=3.1) -public enum PMKHTTPError: Error, LocalizedError { +public enum PMKHTTPError: Error, LocalizedError, CustomStringConvertible { case badStatusCode(Int, Data, HTTPURLResponse) public var errorDescription: String? { @@ -182,12 +183,44 @@ public enum PMKHTTPError: Error, LocalizedError { } } + public func decodeResponse(_ t: T.Type, decoder: JSONDecoder = JSONDecoder()) -> T? { + switch self { + case .badStatusCode(_, let data, _): + return try? decoder.decode(t, from: data) + } + } + + //TODO rename responseJSON public var jsonDictionary: Any? { switch self { case .badStatusCode(_, let data, _): return try? JSONSerialization.jsonObject(with: data) } } + + var responseBodyString: String? { + switch self { + case .badStatusCode(_, let data, _): + return String(data: data, encoding: .utf8) + } + } + + public var failureReason: String? { + return responseBodyString + } + + public var description: String { + switch self { + case .badStatusCode(let code, let data, let response): + var dict: [String: Any] = [ + "Status Code": code, + "Body": String(data: data, encoding: .utf8) ?? "\(data.count) bytes" + ] + dict["URL"] = response.url + dict["Headers"] = response.allHeaderFields + return " \(NSDictionary(dictionary: dict))" // as NSDictionary makes the output look like NSHTTPURLResponse looks + } + } } public extension Promise where T == (data: Data, response: URLResponse) { diff --git a/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/PMKFoundation.h b/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/PMKFoundation.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/Process+Promise.swift b/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/Process+Promise.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/afterlife.swift b/Example/web3swiftExample/Pods/PromiseKit/Extensions/Foundation/Sources/afterlife.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/PMKUIKit.h b/Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/PMKUIKit.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIView+AnyPromise.h b/Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIView+AnyPromise.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIView+AnyPromise.m b/Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIView+AnyPromise.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIView+Promise.swift b/Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIView+Promise.swift old mode 100755 new mode 100644 index 60d87af27..1bbb8c649 --- a/Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIView+Promise.swift +++ b/Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIView+Promise.swift @@ -19,6 +19,53 @@ import PromiseKit import PromiseKit */ public extension UIView { +#if swift(>=4.2) +/** + Animate changes to one or more views using the specified duration, delay, + options, and completion handler. + + - Parameter duration: The total duration of the animations, measured in + seconds. If you specify a negative value or 0, the changes are made + without animating them. + + - Parameter delay: The amount of time (measured in seconds) to wait before + beginning the animations. Specify a value of 0 to begin the animations + immediately. + + - Parameter options: A mask of options indicating how you want to perform the + animations. For a list of valid constants, see UIViewAnimationOptions. + + - Parameter animations: A block object containing the changes to commit to the + views. + + - Returns: A promise that fulfills with a boolean NSNumber indicating + whether or not the animations actually finished. + */ + @discardableResult + static func animate(_: PMKNamespacer, duration: TimeInterval, delay: TimeInterval = 0, options: UIView.AnimationOptions = [], animations: @escaping () -> Void) -> Guarantee { + return Guarantee { animate(withDuration: duration, delay: delay, options: options, animations: animations, completion: $0) } + } + + @discardableResult + static func animate(_: PMKNamespacer, duration: TimeInterval, delay: TimeInterval, usingSpringWithDamping damping: CGFloat, initialSpringVelocity: CGFloat, options: UIView.AnimationOptions = [], animations: @escaping () -> Void) -> Guarantee { + return Guarantee { animate(withDuration: duration, delay: delay, usingSpringWithDamping: damping, initialSpringVelocity: initialSpringVelocity, options: options, animations: animations, completion: $0) } + } + + @discardableResult + static func transition(_: PMKNamespacer, with view: UIView, duration: TimeInterval, options: UIView.AnimationOptions = [], animations: (() -> Void)?) -> Guarantee { + return Guarantee { transition(with: view, duration: duration, options: options, animations: animations, completion: $0) } + } + + @discardableResult + static func transition(_: PMKNamespacer, from: UIView, to: UIView, duration: TimeInterval, options: UIView.AnimationOptions = []) -> Guarantee { + return Guarantee { transition(from: from, to: to, duration: duration, options: options, completion: $0) } + } + + @discardableResult + static func perform(_: PMKNamespacer, animation: UIView.SystemAnimation, on views: [UIView], options: UIView.AnimationOptions = [], animations: (() -> Void)?) -> Guarantee { + return Guarantee { perform(animation, on: views, options: options, animations: animations, completion: $0) } + } +#else /** Animate changes to one or more views using the specified duration, delay, options, and completion handler. @@ -64,4 +111,5 @@ public extension UIView { static func perform(_: PMKNamespacer, animation: UISystemAnimation, on views: [UIView], options: UIViewAnimationOptions = [], animations: (() -> Void)?) -> Guarantee { return Guarantee { perform(animation, on: views, options: options, animations: animations, completion: $0) } } +#endif } diff --git a/Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIViewController+AnyPromise.h b/Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIViewController+AnyPromise.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIViewController+AnyPromise.m b/Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIViewController+AnyPromise.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIViewPropertyAnimator+Promise.swift b/Example/web3swiftExample/Pods/PromiseKit/Extensions/UIKit/Sources/UIViewPropertyAnimator+Promise.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/LICENSE b/Example/web3swiftExample/Pods/PromiseKit/LICENSE old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/README.md b/Example/web3swiftExample/Pods/PromiseKit/README.md old mode 100755 new mode 100644 index 9b06cdd5c..5e6128fc7 --- a/Example/web3swiftExample/Pods/PromiseKit/README.md +++ b/Example/web3swiftExample/Pods/PromiseKit/README.md @@ -27,7 +27,7 @@ firstly { ``` PromiseKit is a thoughtful and complete implementation of promises for any -platform with a `swiftc`, it has *excellent* Objective-C bridging and +platform that has a `swiftc`. It has *excellent* Objective-C bridging and *delightful* specializations for iOS, macOS, tvOS and watchOS. It is a top-100 pod used in many of the most popular apps in the world. @@ -50,12 +50,12 @@ end ``` PromiseKit 6, 5 and 4 support Xcode 8.3, 9.x and 10.0; Swift 3.1, -3.2, 3.3, 4.0, 4.1 and 4.2 ; iOS, macOS, tvOS, watchOS, Linux and Android; CocoaPods, +3.2, 3.3, 3.4, 4.0, 4.1 and 4.2; iOS, macOS, tvOS, watchOS, Linux and Android; CocoaPods, Carthage and SwiftPM; ([CI Matrix](https://travis-ci.org/mxcl/PromiseKit)). For Carthage, SwiftPM, etc., or for instructions when using older Swifts or -Xcodes see our [Installation Guide](Documentation/Installation.md). Please note -that we sincerely recommend [Carthage](https://github.com/Carthage/Carthage). +Xcodes, see our [Installation Guide](Documentation/Installation.md). We +recommend [Carthage](https://github.com/Carthage/Carthage). # Documentation @@ -66,17 +66,17 @@ that we sincerely recommend [Carthage](https://github.com/Carthage/Carthage). * Manual * [Installation Guide](Documentation/Installation.md) * [Objective-C Guide](Documentation/ObjectiveC.md) - * [Troubleshooting](Documentation/Troubleshooting.md) (eg. solutions to common compile errors) + * [Troubleshooting](Documentation/Troubleshooting.md) (e.g., solutions to common compile errors) * [Appendix](Documentation/Appendix.md) * [API Reference](https://promisekit.org/reference/) # Extensions -Promises are only as useful as the asynchronous tasks they represent, thus we +Promises are only as useful as the asynchronous tasks they represent. Thus, we have converted (almost) all of Apple’s APIs to promises. The default CocoaPod provides Promises and the extensions for Foundation and UIKit. The other extensions are available by specifying additional subspecs in your `Podfile`, -eg: +e.g.: ```ruby pod "PromiseKit/MapKit" # MKDirections().calculate().then { /*…*/ } @@ -93,65 +93,51 @@ Then don’t have them: pod "PromiseKit/CorePromise", "~> 6.0" ``` -> *Note* Carthage installations come with no extensions by default. +> *Note:* Carthage installations come with no extensions by default. ## Choose Your Networking Library -Promise chains are commonly started with networking, thus we offer [Alamofire]: +Promise chains commonly start with a network operation. Thus, we offer +extensions for `URLSession`: ```swift -// pod 'PromiseKit/Alamofire' # https://github.com/PromiseKit/Alamofire- +// pod 'PromiseKit/Foundation' # https://github.com/PromiseKit/Foundation firstly { - Alamofire - .request("http://example.com", method: .post, parameters: params) - .responseDecodable(Foo.self) + URLSession.shared.dataTask(.promise, with: try makeUrlRequest()).validate() + // ^^ we provide `.validate()` so that eg. 404s get converted to errors +}.map { + try JSONDecoder().decode(Foo.self, with: $0.data) }.done { foo in //… }.catch { error in //… } -``` - -[OMGHTTPURLRQ]: - -```swift -// pod 'PromiseKit/OMGHTTPURLRQ' # https://github.com/PromiseKit/OMGHTTPURLRQ -firstly { - URLSession.shared.POST("http://example.com", JSON: params) -}.map { - try JSONDecoder().decoder(Foo.self, with: $0.data) -}.done { foo in - //… -}.catch { error in - //… +func makeUrlRequest() throws -> URLRequest { + var rq = URLRequest(url: url) + rq.httpMethod = "POST" + rq.addValue("application/json", forHTTPHeaderField: "Content-Type") + rq.addValue("application/json", forHTTPHeaderField: "Accept") + rq.httpBody = try JSONEncoder().encode(obj) + return rq } ``` -And (of course) plain `URLSession`: +And [Alamofire]: ```swift -// pod 'PromiseKit/Foundation' # https://github.com/PromiseKit/Foundation +// pod 'PromiseKit/Alamofire' # https://github.com/PromiseKit/Alamofire- firstly { - URLSession.shared.dataTask(.promise, with: try makeUrlRequest()) -}.map { - try JSONDecoder().decode(Foo.self, with: $0.data) + Alamofire + .request("http://example.com", method: .post, parameters: params) + .responseDecodable(Foo.self) }.done { foo in //… }.catch { error in //… } - -func makeUrlRequest() throws -> URLRequest { - var rq = URLRequest(url: url) - rq.httpMethod = "POST" - rq.addValue("application/json", forHTTPHeaderField: "Content-Type") - rq.addValue("application/json", forHTTPHeaderField: "Accept") - rq.httpBody = try JSONEncoder().encode(obj) - return rq -} ``` Nowadays, considering that: @@ -159,17 +145,16 @@ Nowadays, considering that: * We almost always POST JSON * We now have `JSONDecoder` * PromiseKit now has `map` and other functional primitives +* PromiseKit (like Alamofire, but not raw-URLSession) also defaults to having callbacks go to the main thread -We recommend vanilla `URLSession`; use less black-boxes, stick closer to the +We recommend vanilla `URLSession`. It uses fewer black boxes and sticks closer to the metal. Alamofire was essential until the three bulletpoints above became true, -but nowadays it isn’t really necessary. OMGHTTPURLRQ was developed before JSON -was the modern standard and thus REST requests were hard, but nowadays you -rarely network anything but JSON. +but nowadays it isn’t really necessary. # Support -Please check our [Troubleshooting Guide](Documentation/Troubleshooting.md) and -if after that you still have a question ask at our [Gitter chat channel] or on [our bug tracker]. +Please check our [Troubleshooting Guide](Documentation/Troubleshooting.md), and +if after that you still have a question, ask at our [Gitter chat channel] or on [our bug tracker]. [badge-pod]: https://img.shields.io/cocoapods/v/PromiseKit.svg?label=version diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/AnyPromise+Private.h b/Example/web3swiftExample/Pods/PromiseKit/Sources/AnyPromise+Private.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/AnyPromise.h b/Example/web3swiftExample/Pods/PromiseKit/Sources/AnyPromise.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/AnyPromise.m b/Example/web3swiftExample/Pods/PromiseKit/Sources/AnyPromise.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/AnyPromise.swift b/Example/web3swiftExample/Pods/PromiseKit/Sources/AnyPromise.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/Box.swift b/Example/web3swiftExample/Pods/PromiseKit/Sources/Box.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/Catchable.swift b/Example/web3swiftExample/Pods/PromiseKit/Sources/Catchable.swift old mode 100755 new mode 100644 index 8b0a305d5..41ec7277e --- a/Example/web3swiftExample/Pods/PromiseKit/Sources/Catchable.swift +++ b/Example/web3swiftExample/Pods/PromiseKit/Sources/Catchable.swift @@ -45,8 +45,10 @@ public class PMKFinalizer { let pending = Guarantee.pending() /// `finally` is the same as `ensure`, but it is not chainable - public func finally(_ body: @escaping () -> Void) { - pending.guarantee.done(body) + public func finally(on: DispatchQueue? = conf.Q.return, flags: DispatchWorkItemFlags? = nil, _ body: @escaping () -> Void) { + pending.guarantee.done(on: on, flags: flags) { + body() + } } } @@ -183,8 +185,9 @@ public extension CatchMixin { Consumes the Swift unused-result warning. - Note: You should `catch`, but in situations where you know you don’t need a `catch`, `cauterize` makes your intentions clear. */ - func cauterize() { - self.catch { + @discardableResult + func cauterize() -> PMKFinalizer { + return self.catch { Swift.print("PromiseKit:cauterized-error:", $0) } } diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/Configuration.swift b/Example/web3swiftExample/Pods/PromiseKit/Sources/Configuration.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/CustomStringConvertible.swift b/Example/web3swiftExample/Pods/PromiseKit/Sources/CustomStringConvertible.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/Deprecations.swift b/Example/web3swiftExample/Pods/PromiseKit/Sources/Deprecations.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/Error.swift b/Example/web3swiftExample/Pods/PromiseKit/Sources/Error.swift old mode 100755 new mode 100644 index 820176ee2..3249e3f44 --- a/Example/web3swiftExample/Pods/PromiseKit/Sources/Error.swift +++ b/Example/web3swiftExample/Pods/PromiseKit/Sources/Error.swift @@ -2,7 +2,7 @@ import Foundation public enum PMKError: Error { /** - The completionHandler with form (T?, ErrorType?) was called with (nil, nil) + The completionHandler with form `(T?, Error?)` was called with `(nil, nil)`. This is invalid as per Cocoa/Apple calling conventions. */ case invalidCallingConvention @@ -26,7 +26,11 @@ public enum PMKError: Error { /// `nil` was returned from `compactMap` case compactMap(Any, Any.Type) - /// the lastValue or firstValue of a sequence was requested but the sequence was empty + /** + The lastValue or firstValue of a sequence was requested but the sequence was empty. + + Also used if all values of this collection failed the test passed to `firstValue(where:)`. + */ case emptySequence } diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/Guarantee.swift b/Example/web3swiftExample/Pods/PromiseKit/Sources/Guarantee.swift old mode 100755 new mode 100644 index 1a60d57ac..300759973 --- a/Example/web3swiftExample/Pods/PromiseKit/Sources/Guarantee.swift +++ b/Example/web3swiftExample/Pods/PromiseKit/Sources/Guarantee.swift @@ -76,6 +76,13 @@ public extension Guarantee { } return rg } + + func get(on: DispatchQueue? = conf.Q.return, flags: DispatchWorkItemFlags? = nil, _ body: @escaping (T) -> Void) -> Guarantee { + return map(on: on, flags: flags) { + body($0) + return $0 + } + } func map(on: DispatchQueue? = conf.Q.map, flags: DispatchWorkItemFlags? = nil, _ body: @escaping(T) -> U) -> Guarantee { let rg = Guarantee(.pending) diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/NSMethodSignatureForBlock.m b/Example/web3swiftExample/Pods/PromiseKit/Sources/NSMethodSignatureForBlock.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/PMKCallVariadicBlock.m b/Example/web3swiftExample/Pods/PromiseKit/Sources/PMKCallVariadicBlock.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/Promise.swift b/Example/web3swiftExample/Pods/PromiseKit/Sources/Promise.swift old mode 100755 new mode 100644 index 4dd6f796f..c78ae8532 --- a/Example/web3swiftExample/Pods/PromiseKit/Sources/Promise.swift +++ b/Example/web3swiftExample/Pods/PromiseKit/Sources/Promise.swift @@ -102,16 +102,6 @@ public class Promise: Thenable, CatchMixin { } public extension Promise { - /** - Immutably and asynchronously inspect the current `Result`: - - promise.tap{ print($0) }.then{ /*…*/ } - */ - func tap(_ body: @escaping(Result) -> Void) -> Promise { - pipe(to: body) - return self - } - /** Blocks this thread, so—you know—don’t call this on a serial thread that any part of your chain may use. Like the main thread for example. diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/PromiseKit.h b/Example/web3swiftExample/Pods/PromiseKit/Sources/PromiseKit.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/Resolver.swift b/Example/web3swiftExample/Pods/PromiseKit/Sources/Resolver.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/Thenable.swift b/Example/web3swiftExample/Pods/PromiseKit/Sources/Thenable.swift old mode 100755 new mode 100644 index 7d9d156b4..776237207 --- a/Example/web3swiftExample/Pods/PromiseKit/Sources/Thenable.swift +++ b/Example/web3swiftExample/Pods/PromiseKit/Sources/Thenable.swift @@ -188,6 +188,28 @@ public extension Thenable { } } + /** + The provided closure is executed with promise result. + + This is like `get` but provides the Result of the Promise so you can inspect the value of the chain at this point without causing any side effects. + + - Parameter on: The queue to which the provided closure dispatches. + - Parameter body: The closure that is executed with Result of Promise. + - Returns: A new promise that is resolved with the result that the handler is fed. For example: + + promise.tap{ print($0) }.then{ /*…*/ } + */ + func tap(on: DispatchQueue? = conf.Q.map, flags: DispatchWorkItemFlags? = nil, _ body: @escaping(Result) -> Void) -> Promise { + return Promise { seal in + pipe { result in + on.async(flags: flags) { + body(result) + seal.resolve(result) + } + } + } + } + /// - Returns: a new promise chained off this promise but with its value discarded. func asVoid() -> Promise { return map(on: nil) { _ in } @@ -372,6 +394,15 @@ public extension Thenable where T: Collection { } } + func firstValue(on: DispatchQueue? = conf.Q.map, flags: DispatchWorkItemFlags? = nil, where test: @escaping (T.Iterator.Element) -> Bool) -> Promise { + return map(on: on, flags: flags) { + for x in $0 where test(x) { + return x + } + throw PMKError.emptySequence + } + } + /// - Returns: a promise fulfilled with the last value of this `Collection` or, if empty, a promise rejected with PMKError.emptySequence. var lastValue: Promise { return map(on: nil) { aa in diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/after.m b/Example/web3swiftExample/Pods/PromiseKit/Sources/after.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/after.swift b/Example/web3swiftExample/Pods/PromiseKit/Sources/after.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/dispatch_promise.m b/Example/web3swiftExample/Pods/PromiseKit/Sources/dispatch_promise.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/firstly.swift b/Example/web3swiftExample/Pods/PromiseKit/Sources/firstly.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/fwd.h b/Example/web3swiftExample/Pods/PromiseKit/Sources/fwd.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/hang.m b/Example/web3swiftExample/Pods/PromiseKit/Sources/hang.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/hang.swift b/Example/web3swiftExample/Pods/PromiseKit/Sources/hang.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/join.m b/Example/web3swiftExample/Pods/PromiseKit/Sources/join.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/race.m b/Example/web3swiftExample/Pods/PromiseKit/Sources/race.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/race.swift b/Example/web3swiftExample/Pods/PromiseKit/Sources/race.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/when.m b/Example/web3swiftExample/Pods/PromiseKit/Sources/when.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/PromiseKit/Sources/when.swift b/Example/web3swiftExample/Pods/PromiseKit/Sources/when.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Result/LICENSE b/Example/web3swiftExample/Pods/Result/LICENSE old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Result/README.md b/Example/web3swiftExample/Pods/Result/README.md old mode 100755 new mode 100644 index f566178c3..bf85e78df --- a/Example/web3swiftExample/Pods/Result/README.md +++ b/Example/web3swiftExample/Pods/Result/README.md @@ -7,7 +7,7 @@ This is a Swift µframework providing `Result`. -`Result` values are either successful (wrapping `Value`) or failed (wrapping `Error`). This is similar to Swift’s native `Optional` type: `Success` is like `Some`, and `Failure` is like `None` except with an associated `ErrorType` value. The addition of an associated `ErrorType` allows errors to be passed along for logging or displaying to the user. +`Result` values are either successful (wrapping `Value`) or failed (wrapping `Error`). This is similar to Swift’s native `Optional` type: `success` is like `some`, and `failure` is like `none` except with an associated `Error` value. The addition of an associated `Error` allows errors to be passed along for logging or displaying to the user. Using this µframework instead of rolling your own `Result` type allows you to easily interface with other frameworks that also use `Result`. @@ -16,41 +16,41 @@ Using this µframework instead of rolling your own `Result` type allows you to e Use `Result` whenever an operation has the possibility of failure. Consider the following example of a function that tries to extract a `String` for a given key from a JSON `Dictionary`. ```swift -typealias JSONObject = [String:AnyObject] +typealias JSONObject = [String: Any] -enum JSONError : ErrorType { - case NoSuchKey(String) - case TypeMismatch +enum JSONError: Error { + case noSuchKey(String) + case typeMismatch } func stringForKey(json: JSONObject, key: String) -> Result { guard let value = json[key] else { - return .Failure(.NoSuchKey(key)) + return .failure(.noSuchKey(key)) } if let value = value as? String { - return .Success(value) + return .success(value) } else { - return .Failure(.TypeMismatch) + return .failure(.typeMismatch) } } ``` -This function provides a more robust wrapper around the default subscripting provided by `Dictionary`. Rather than return `AnyObject?`, it returns a `Result` that either contains the `String` value for the given key, or an `ErrorType` detailing what went wrong. +This function provides a more robust wrapper around the default subscripting provided by `Dictionary`. Rather than return `Any?`, it returns a `Result` that either contains the `String` value for the given key, or an `ErrorType` detailing what went wrong. One simple way to handle a `Result` is to deconstruct it using a `switch` statement. ```swift switch stringForKey(json, key: "email") { -case let .Success(email): +case let .success(email): print("The email is \(email)") -case let .Failure(JSONError.NoSuchKey(key)): +case let .failure(.noSuchKey(key)): print("\(key) is not a valid key") -case .Failure(JSONError.TypeMismatch): +case .failure(.typeMismatch): print("Didn't have the right type") } ``` @@ -61,7 +61,7 @@ Other methods available for processing `Result` are detailed in the [API documen ## Result vs. Throws -Swift 2.0 introduces error handling via throwing and catching `ErrorType`. `Result` accomplishes the same goal by encapsulating the result instead of hijacking control flow. The `Result` abstraction enables powerful functionality such as `map` and `flatMap`, making `Result` more composable than `throw`. +Swift 2.0 introduces error handling via throwing and catching `Error`. `Result` accomplishes the same goal by encapsulating the result instead of hijacking control flow. The `Result` abstraction enables powerful functionality such as `map` and `flatMap`, making `Result` more composable than `throw`. Since dealing with APIs that throw is common, you can convert such functions into a `Result` by using the `materialize` method. Conversely, a `Result` can be used to throw an error by calling `dematerialize`. @@ -69,22 +69,45 @@ Since dealing with APIs that throw is common, you can convert such functions int `map` and `flatMap` operate the same as `Optional.map` and `Optional.flatMap` except they apply to `Result`. -`map` transforms a `Result` into a `Result` of a new type. It does this by taking a function that transforms the `Value` type into a new value. This transformation is only applied in the case of a `Success`. In the case of a `Failure`, the associated error is re-wrapped in the new `Result`. +`map` transforms a `Result` into a `Result` of a new type. It does this by taking a function that transforms the `Value` type into a new value. This transformation is only applied in the case of a `success`. In the case of a `failure`, the associated error is re-wrapped in the new `Result`. ```swift // transforms a Result to a Result let idResult = intForKey(json, key:"id").map { id in String(id) } ``` -Here, the final result is either the id as a `String`, or carries over the `.Failure` from the previous result. +Here, the final result is either the id as a `String`, or carries over the `failure` from the previous result. -`flatMap` is similar to `map` in that in transforms the `Result` into another `Result`. However, the function passed into `flatMap` must return a `Result`. +`flatMap` is similar to `map` in that it transforms the `Result` into another `Result`. However, the function passed into `flatMap` must return a `Result`. An in depth discussion of `map` and `flatMap` is beyond the scope of this documentation. If you would like a deeper understanding, read about functors and monads. This article is a good place to [start](http://www.javiersoto.me/post/106875422394). ## Integration +### Carthage + 1. Add this repository as a submodule and/or [add it to your Cartfile](https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#cartfile) if you’re using [carthage](https://github.com/Carthage/Carthage/) to manage your dependencies. 2. Drag `Result.xcodeproj` into your project or workspace. 3. Link your target against `Result.framework`. 4. Application targets should ensure that the framework gets copied into their application bundle. (Framework targets should instead require the application linking them to include Result.) + +### Cocoapods + +```ruby +pod 'Result', '~> 3.0.0' +``` + +### Swift Package Manager + +```swift +import PackageDescription + +let package = Package( + name: "MyProject", + targets: [], + dependencies: [ + .Package(url: "https://github.com/antitypical/Result.git", + majorVersion: 3) + ] +) +``` diff --git a/Example/web3swiftExample/Pods/Result/Result/AnyError.swift b/Example/web3swiftExample/Pods/Result/Result/AnyError.swift new file mode 100644 index 000000000..ee018d277 --- /dev/null +++ b/Example/web3swiftExample/Pods/Result/Result/AnyError.swift @@ -0,0 +1,46 @@ +import Foundation + +/// A type-erased error which wraps an arbitrary error instance. This should be +/// useful for generic contexts. +public struct AnyError: Swift.Error { + /// The underlying error. + public let error: Swift.Error + + public init(_ error: Swift.Error) { + if let anyError = error as? AnyError { + self = anyError + } else { + self.error = error + } + } +} + +extension AnyError: ErrorConvertible { + public static func error(from error: Error) -> AnyError { + return AnyError(error) + } +} + +extension AnyError: CustomStringConvertible { + public var description: String { + return String(describing: error) + } +} + +extension AnyError: LocalizedError { + public var errorDescription: String? { + return error.localizedDescription + } + + public var failureReason: String? { + return (error as? LocalizedError)?.failureReason + } + + public var helpAnchor: String? { + return (error as? LocalizedError)?.helpAnchor + } + + public var recoverySuggestion: String? { + return (error as? LocalizedError)?.recoverySuggestion + } +} diff --git a/Example/web3swiftExample/Pods/Result/Result/NoError.swift b/Example/web3swiftExample/Pods/Result/Result/NoError.swift new file mode 100644 index 000000000..a919f510b --- /dev/null +++ b/Example/web3swiftExample/Pods/Result/Result/NoError.swift @@ -0,0 +1,10 @@ +/// An “error” that is impossible to construct. +/// +/// This can be used to describe `Result`s where failures will never +/// be generated. For example, `Result` describes a result that +/// contains an `Int`eger and is guaranteed never to be a `failure`. +public enum NoError: Swift.Error, Equatable { + public static func ==(lhs: NoError, rhs: NoError) -> Bool { + return true + } +} diff --git a/Example/web3swiftExample/Pods/Result/Result/Result.swift b/Example/web3swiftExample/Pods/Result/Result/Result.swift old mode 100755 new mode 100644 index e8c7adb1d..de0330a4a --- a/Example/web3swiftExample/Pods/Result/Result/Result.swift +++ b/Example/web3swiftExample/Pods/Result/Result/Result.swift @@ -1,14 +1,14 @@ // Copyright (c) 2015 Rob Rix. All rights reserved. /// An enum representing either a failure with an explanatory error, or a success with a result value. -public enum Result: ResultProtocol, CustomStringConvertible, CustomDebugStringConvertible { - case success(T) +public enum Result: ResultProtocol, CustomStringConvertible, CustomDebugStringConvertible { + case success(Value) case failure(Error) // MARK: Constructors /// Constructs a success wrapping a `value`. - public init(value: T) { + public init(value: Value) { self = .success(value) } @@ -17,29 +17,32 @@ public enum Result: ResultProtocol, CustomStringConvertib self = .failure(error) } - /// Constructs a result from an Optional, failing with `Error` if `nil`. - public init(_ value: T?, failWith: @autoclosure () -> Error) { + /// Constructs a result from an `Optional`, failing with `Error` if `nil`. + public init(_ value: Value?, failWith: @autoclosure () -> Error) { self = value.map(Result.success) ?? .failure(failWith()) } /// Constructs a result from a function that uses `throw`, failing with `Error` if throws. - public init(_ f: @autoclosure () throws -> T) { + public init(_ f: @autoclosure () throws -> Value) { self.init(attempt: f) } /// Constructs a result from a function that uses `throw`, failing with `Error` if throws. - public init(attempt f: () throws -> T) { + public init(attempt f: () throws -> Value) { do { self = .success(try f()) - } catch { + } catch var error { + if Error.self == AnyError.self { + error = AnyError(error) + } self = .failure(error as! Error) } } // MARK: Deconstruction - /// Returns the value from `Success` Results or `throw`s the error. - public func dematerialize() throws -> T { + /// Returns the value from `success` Results or `throw`s the error. + public func dematerialize() throws -> Value { switch self { case let .success(value): return value @@ -50,8 +53,8 @@ public enum Result: ResultProtocol, CustomStringConvertib /// Case analysis for Result. /// - /// Returns the value produced by applying `ifFailure` to `Failure` Results, or `ifSuccess` to `Success` Results. - public func analysis(ifSuccess: (T) -> Result, ifFailure: (Error) -> Result) -> Result { + /// Returns the value produced by applying `ifFailure` to `failure` Results, or `ifSuccess` to `success` Results. + public func analysis(ifSuccess: (Value) -> Result, ifFailure: (Error) -> Result) -> Result { switch self { case let .success(value): return ifSuccess(value) @@ -93,9 +96,10 @@ public enum Result: ResultProtocol, CustomStringConvertib // MARK: CustomStringConvertible public var description: String { - return analysis( - ifSuccess: { ".success(\($0))" }, - ifFailure: { ".failure(\($0))" }) + switch self { + case let .success(value): return ".success(\(value))" + case let .failure(error): return ".failure(\(error))" + } } @@ -104,53 +108,44 @@ public enum Result: ResultProtocol, CustomStringConvertib public var debugDescription: String { return description } -} -// MARK: - Derive result from failable closure - -public func materialize(_ f: () throws -> T) -> Result { - return materialize(try f()) + // MARK: ResultProtocol + public var result: Result { + return self + } } -public func materialize(_ f: @autoclosure () throws -> T) -> Result { - do { - return .success(try f()) - } catch let error as NSError { - return .failure(error) +extension Result where Error == AnyError { + /// Constructs a result from an expression that uses `throw`, failing with `AnyError` if throws. + public init(_ f: @autoclosure () throws -> Value) { + self.init(attempt: f) } -} -// MARK: - Cocoa API conveniences + /// Constructs a result from a closure that uses `throw`, failing with `AnyError` if throws. + public init(attempt f: () throws -> Value) { + do { + self = .success(try f()) + } catch { + self = .failure(AnyError(error)) + } + } +} -#if !os(Linux) +// MARK: - Derive result from failable closure -/// Constructs a Result with the result of calling `try` with an error pointer. -/// -/// This is convenient for wrapping Cocoa API which returns an object or `nil` + an error, by reference. e.g.: -/// -/// Result.try { NSData(contentsOfURL: URL, options: .DataReadingMapped, error: $0) } -public func `try`(_ function: String = #function, file: String = #file, line: Int = #line, `try`: (NSErrorPointer) -> T?) -> Result { - var error: NSError? - return `try`(&error).map(Result.success) ?? .failure(error ?? Result.error(function: function, file: file, line: line)) +@available(*, deprecated, renamed: "Result.init(attempt:)") +public func materialize(_ f: () throws -> T) -> Result { + return Result(attempt: f) } -/// Constructs a Result with the result of calling `try` with an error pointer. -/// -/// This is convenient for wrapping Cocoa API which returns a `Bool` + an error, by reference. e.g.: -/// -/// Result.try { NSFileManager.defaultManager().removeItemAtURL(URL, error: $0) } -public func `try`(_ function: String = #function, file: String = #file, line: Int = #line, `try`: (NSErrorPointer) -> Bool) -> Result<(), NSError> { - var error: NSError? - return `try`(&error) ? - .success(()) - : .failure(error ?? Result<(), NSError>.error(function: function, file: file, line: line)) +@available(*, deprecated, renamed: "Result.init(_:)") +public func materialize(_ f: @autoclosure () throws -> T) -> Result { + return Result(f) } -#endif - -// MARK: - ErrorProtocolConvertible conformance +// MARK: - ErrorConvertible conformance -extension NSError: ErrorProtocolConvertible { +extension NSError: ErrorConvertible { public static func error(from error: Swift.Error) -> Self { func cast(_ error: Swift.Error) -> T { return error as! T @@ -160,33 +155,42 @@ extension NSError: ErrorProtocolConvertible { } } -// MARK: - +// MARK: - migration support -/// An “error” that is impossible to construct. -/// -/// This can be used to describe `Result`s where failures will never -/// be generated. For example, `Result` describes a result that -/// contains an `Int`eger and is guaranteed never to be a `Failure`. -public enum NoError: Swift.Error { } +@available(*, unavailable, message: "Use the overload which returns `Result` instead") +public func materialize(_ f: () throws -> T) -> Result { + fatalError() +} -// MARK: - migration support -extension Result { - @available(*, unavailable, renamed: "success") - public static func Success(_: T) -> Result { - fatalError() - } +@available(*, unavailable, message: "Use the overload which returns `Result` instead") +public func materialize(_ f: @autoclosure () throws -> T) -> Result { + fatalError() +} - @available(*, unavailable, renamed: "failure") - public static func Failure(_: Error) -> Result { - fatalError() - } +#if os(macOS) || os(iOS) || os(tvOS) || os(watchOS) + +/// Constructs a `Result` with the result of calling `try` with an error pointer. +/// +/// This is convenient for wrapping Cocoa API which returns an object or `nil` + an error, by reference. e.g.: +/// +/// Result.try { NSData(contentsOfURL: URL, options: .dataReadingMapped, error: $0) } +@available(*, unavailable, message: "This has been removed. Use `Result.init(attempt:)` instead. See https://github.com/antitypical/Result/issues/85 for the details.") +public func `try`(_ function: String = #function, file: String = #file, line: Int = #line, `try`: (NSErrorPointer) -> T?) -> Result { + fatalError() } -extension NSError { - @available(*, unavailable, renamed: "error(from:)") - public static func errorFromErrorType(_ error: Swift.Error) -> Self { - fatalError() - } +/// Constructs a `Result` with the result of calling `try` with an error pointer. +/// +/// This is convenient for wrapping Cocoa API which returns a `Bool` + an error, by reference. e.g.: +/// +/// Result.try { NSFileManager.defaultManager().removeItemAtURL(URL, error: $0) } +@available(*, unavailable, message: "This has been removed. Use `Result.init(attempt:)` instead. See https://github.com/antitypical/Result/issues/85 for the details.") +public func `try`(_ function: String = #function, file: String = #file, line: Int = #line, `try`: (NSErrorPointer) -> Bool) -> Result<(), NSError> { + fatalError() } +#endif + +// MARK: - + import Foundation diff --git a/Example/web3swiftExample/Pods/Result/Result/ResultProtocol.swift b/Example/web3swiftExample/Pods/Result/Result/ResultProtocol.swift old mode 100755 new mode 100644 index 2bfdffb40..703ad89b9 --- a/Example/web3swiftExample/Pods/Result/Result/ResultProtocol.swift +++ b/Example/web3swiftExample/Pods/Result/Result/ResultProtocol.swift @@ -1,42 +1,31 @@ // Copyright (c) 2015 Rob Rix. All rights reserved. -/// A type that can represent either failure with an error or success with a result value. +/// A protocol that can be used to constrain associated types as `Result`. public protocol ResultProtocol { associatedtype Value associatedtype Error: Swift.Error - - /// Constructs a successful result wrapping a `value`. - init(value: Value) - /// Constructs a failed result wrapping an `error`. + init(value: Value) init(error: Error) - /// Case analysis for ResultProtocol. - /// - /// Returns the value produced by appliying `ifFailure` to the error if self represents a failure, or `ifSuccess` to the result value if self represents a success. - func analysis(ifSuccess: (Value) -> U, ifFailure: (Error) -> U) -> U - - /// Returns the value if self represents a success, `nil` otherwise. - /// - /// A default implementation is provided by a protocol extension. Conforming types may specialize it. - var value: Value? { get } - - /// Returns the error if self represents a failure, `nil` otherwise. - /// - /// A default implementation is provided by a protocol extension. Conforming types may specialize it. - var error: Error? { get } + var result: Result { get } } -public extension ResultProtocol { - +public extension Result { /// Returns the value if self represents a success, `nil` otherwise. public var value: Value? { - return analysis(ifSuccess: { $0 }, ifFailure: { _ in nil }) + switch self { + case let .success(value): return value + case .failure: return nil + } } /// Returns the error if self represents a failure, `nil` otherwise. public var error: Error? { - return analysis(ifSuccess: { _ in nil }, ifFailure: { $0 }) + switch self { + case .success: return nil + case let .failure(error): return error + } } /// Returns a new Result by mapping `Success`es’ values using `transform`, or re-wrapping `Failure`s’ errors. @@ -46,9 +35,16 @@ public extension ResultProtocol { /// Returns the result of applying `transform` to `Success`es’ values, or re-wrapping `Failure`’s errors. public func flatMap(_ transform: (Value) -> Result) -> Result { - return analysis( - ifSuccess: transform, - ifFailure: Result.failure) + switch self { + case let .success(value): return transform(value) + case let .failure(error): return .failure(error) + } + } + + /// Returns a Result with a tuple of the receiver and `other` values if both + /// are `Success`es, or re-wrapping the error of the earlier `Failure`. + public func fanout(_ other: @autoclosure () -> Result) -> Result<(Value, U), Error> { + return self.flatMap { left in other().map { right in (left, right) } } } /// Returns a new Result by mapping `Failure`'s values using `transform`, or re-wrapping `Success`es’ values. @@ -58,13 +54,22 @@ public extension ResultProtocol { /// Returns the result of applying `transform` to `Failure`’s errors, or re-wrapping `Success`es’ values. public func flatMapError(_ transform: (Error) -> Result) -> Result { - return analysis( - ifSuccess: Result.success, - ifFailure: transform) + switch self { + case let .success(value): return .success(value) + case let .failure(error): return transform(error) + } + } + + /// Returns a new Result by mapping `Success`es’ values using `success`, and by mapping `Failure`'s values using `failure`. + public func bimap(success: (Value) -> U, failure: (Error) -> Error2) -> Result { + switch self { + case let .success(value): return .success(success(value)) + case let .failure(error): return .failure(failure(error)) + } } } -public extension ResultProtocol { +public extension Result { // MARK: Higher-order functions @@ -74,19 +79,20 @@ public extension ResultProtocol { } /// Returns this result if it is a .Success, or the given result otherwise. Equivalent with `??` - public func recover(with result: @autoclosure () -> Self) -> Self { - return analysis( - ifSuccess: { _ in self }, - ifFailure: { _ in result() }) + public func recover(with result: @autoclosure () -> Result) -> Result { + switch self { + case .success: return self + case .failure: return result() + } } } /// Protocol used to constrain `tryMap` to `Result`s with compatible `Error`s. -public protocol ErrorProtocolConvertible: Swift.Error { +public protocol ErrorConvertible: Swift.Error { static func error(from error: Swift.Error) -> Self } -public extension ResultProtocol where Error: ErrorProtocolConvertible { +public extension Result where Error: ErrorConvertible { /// Returns the result of applying `transform` to `Success`es’ values, or wrapping thrown errors. public func tryMap(_ transform: (Value) throws -> U) -> Result { @@ -105,78 +111,42 @@ public extension ResultProtocol where Error: ErrorProtocolConvertible { // MARK: - Operators -infix operator &&& : LogicalConjunctionPrecedence - -/// Returns a Result with a tuple of `left` and `right` values if both are `Success`es, or re-wrapping the error of the earlier `Failure`. -public func &&& (left: L, right: @autoclosure () -> R) -> Result<(L.Value, R.Value), L.Error> - where L.Error == R.Error -{ - return left.flatMap { left in right().map { right in (left, right) } } -} - -precedencegroup ChainingPrecedence { - associativity: left - higherThan: TernaryPrecedence -} - -infix operator >>- : ChainingPrecedence - -/// Returns the result of applying `transform` to `Success`es’ values, or re-wrapping `Failure`’s errors. -/// -/// This is a synonym for `flatMap`. -public func >>- (result: T, transform: (T.Value) -> Result) -> Result { - return result.flatMap(transform) -} - -/// Returns `true` if `left` and `right` are both `Success`es and their values are equal, or if `left` and `right` are both `Failure`s and their errors are equal. -public func == (left: T, right: T) -> Bool - where T.Value: Equatable, T.Error: Equatable -{ - if let left = left.value, let right = right.value { - return left == right - } else if let left = left.error, let right = right.error { - return left == right +extension Result where Value: Equatable, Error: Equatable { + /// Returns `true` if `left` and `right` are both `Success`es and their values are equal, or if `left` and `right` are both `Failure`s and their errors are equal. + public static func ==(left: Result, right: Result) -> Bool { + if let left = left.value, let right = right.value { + return left == right + } else if let left = left.error, let right = right.error { + return left == right + } + return false } - return false } -/// Returns `true` if `left` and `right` represent different cases, or if they represent the same case but different values. -public func != (left: T, right: T) -> Bool - where T.Value: Equatable, T.Error: Equatable -{ - return !(left == right) -} +#if swift(>=4.1) + extension Result: Equatable where Value: Equatable, Error: Equatable { } +#else + extension Result where Value: Equatable, Error: Equatable { + /// Returns `true` if `left` and `right` represent different cases, or if they represent the same case but different values. + public static func !=(left: Result, right: Result) -> Bool { + return !(left == right) + } + } +#endif -/// Returns the value of `left` if it is a `Success`, or `right` otherwise. Short-circuits. -public func ?? (left: T, right: @autoclosure () -> T.Value) -> T.Value { - return left.recover(right()) -} +extension Result { + /// Returns the value of `left` if it is a `Success`, or `right` otherwise. Short-circuits. + public static func ??(left: Result, right: @autoclosure () -> Value) -> Value { + return left.recover(right()) + } -/// Returns `left` if it is a `Success`es, or `right` otherwise. Short-circuits. -public func ?? (left: T, right: @autoclosure () -> T) -> T { - return left.recover(with: right()) + /// Returns `left` if it is a `Success`es, or `right` otherwise. Short-circuits. + public static func ??(left: Result, right: @autoclosure () -> Result) -> Result { + return left.recover(with: right()) + } } // MARK: - migration support -@available(*, unavailable, renamed: "ResultProtocol") -public typealias ResultType = ResultProtocol - -@available(*, unavailable, renamed: "Error") -public typealias ResultErrorType = Swift.Error - -@available(*, unavailable, renamed: "ErrorProtocolConvertible") -public typealias ErrorTypeConvertible = ErrorProtocolConvertible -extension ResultProtocol { - @available(*, unavailable, renamed: "recover(with:)") - public func recoverWith(_ result: @autoclosure () -> Self) -> Self { - fatalError() - } -} - -extension ErrorProtocolConvertible { - @available(*, unavailable, renamed: "error(from:)") - public static func errorFromErrorType(_ error: Swift.Error) -> Self { - fatalError() - } -} +@available(*, unavailable, renamed: "ErrorConvertible") +public protocol ErrorProtocolConvertible: ErrorConvertible {} diff --git a/Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous-dummy.m b/Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous-dummy.m deleted file mode 100755 index 3a42fb9d0..000000000 --- a/Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Alamofire_Synchronous : NSObject -@end -@implementation PodsDummy_Alamofire_Synchronous -@end diff --git a/Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous-prefix.pch b/Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous-prefix.pch deleted file mode 100755 index beb2a2441..000000000 --- a/Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous-prefix.pch +++ /dev/null @@ -1,12 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - diff --git a/Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous-umbrella.h b/Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous-umbrella.h deleted file mode 100755 index 6d5c83162..000000000 --- a/Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double Alamofire_SynchronousVersionNumber; -FOUNDATION_EXPORT const unsigned char Alamofire_SynchronousVersionString[]; - diff --git a/Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous.modulemap b/Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous.modulemap deleted file mode 100755 index d31b78bc6..000000000 --- a/Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Alamofire_Synchronous { - umbrella header "Alamofire-Synchronous-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous.xcconfig deleted file mode 100755 index bb8fc0bc1..000000000 --- a/Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Alamofire-Synchronous.xcconfig +++ /dev/null @@ -1,12 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Alamofire-Synchronous -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/Alamofire-Synchronous -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" diff --git a/Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Info.plist b/Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Info.plist deleted file mode 100755 index 3424ca661..000000000 --- a/Example/web3swiftExample/Pods/Target Support Files/Alamofire-Synchronous/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 4.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire-dummy.m b/Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire-dummy.m deleted file mode 100755 index a6c459424..000000000 --- a/Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Alamofire : NSObject -@end -@implementation PodsDummy_Alamofire -@end diff --git a/Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire-prefix.pch b/Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire-prefix.pch deleted file mode 100755 index beb2a2441..000000000 --- a/Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire-prefix.pch +++ /dev/null @@ -1,12 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - diff --git a/Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire-umbrella.h b/Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire-umbrella.h deleted file mode 100755 index 00014e3cd..000000000 --- a/Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double AlamofireVersionNumber; -FOUNDATION_EXPORT const unsigned char AlamofireVersionString[]; - diff --git a/Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire.modulemap b/Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire.modulemap deleted file mode 100755 index d1f125fab..000000000 --- a/Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Alamofire { - umbrella header "Alamofire-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire.xcconfig deleted file mode 100755 index 4f6c87e0b..000000000 --- a/Example/web3swiftExample/Pods/Target Support Files/Alamofire/Alamofire.xcconfig +++ /dev/null @@ -1,9 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Alamofire -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/Alamofire -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES diff --git a/Example/web3swiftExample/Pods/Target Support Files/Alamofire/Info.plist b/Example/web3swiftExample/Pods/Target Support Files/Alamofire/Info.plist deleted file mode 100755 index 341253067..000000000 --- a/Example/web3swiftExample/Pods/Target Support Files/Alamofire/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 4.7.2 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.modulemap b/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.modulemap index 48a38d1cb..63586a3d5 100755 --- a/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.modulemap +++ b/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.modulemap @@ -1,4 +1,4 @@ -framework module BigInt { +module BigInt { umbrella header "BigInt-umbrella.h" export * diff --git a/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.xcconfig index 990e77007..aab87fccd 100755 --- a/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.xcconfig @@ -1,8 +1,7 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/BigInt GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.modulemap b/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.modulemap index f090f6a33..7ada19a07 100755 --- a/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.modulemap +++ b/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.modulemap @@ -1,4 +1,4 @@ -framework module CryptoSwift { +module CryptoSwift { umbrella header "CryptoSwift-umbrella.h" export * diff --git a/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.xcconfig index 9fc4d7452..cca9425b6 100755 --- a/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.xcconfig @@ -1,7 +1,7 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_UNROLL_LOOPS = YES -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.markdown b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.markdown index 940175707..538fa1abe 100755 --- a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.markdown +++ b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.markdown @@ -1,55 +1,6 @@ # Acknowledgements This application makes use of the following third party libraries: -## Alamofire - -Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - -## Alamofire-Synchronous - -The MIT License (MIT) - -Copyright (c) 2015 Hran - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - ## BigInt @@ -161,9 +112,22 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -## libsodium +## scrypt + +Copyright 2018 Alex Vlasov + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. -Copyright © 2013\nFrank Denis \n\nPermission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n\n ## secp256k1_ios diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.plist b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.plist index f32c5e47d..7c82be473 100755 --- a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.plist +++ b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.plist @@ -1,481 +1,5 @@ - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - License - MIT - Title - Alamofire - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2015 Hran - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - License - MIT - Title - Alamofire-Synchronous - Type - PSGroupSpecifier - - - FooterText - -Copyright (c) 2016-2017 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - BigInt - Type - PSGroupSpecifier - - - FooterText - Copyright (C) 2014-2017 Marcin Krzyżanowski <marcin.krzyzanowski@gmail.com> -This software is provided 'as-is', without any express or implied warranty. - -In no event will the authors be held liable for any damages arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - -- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. -- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. -- This notice may not be removed or altered from any source or binary distribution. -- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' - License - Attribution - Title - CryptoSwift - Type - PSGroupSpecifier - - - FooterText - Copyright 2016-present, Max Howell; mxcl@me.com - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - License - MIT - Title - PromiseKit - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2014 Rob Rix - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - License - MIT - Title - Result - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2016 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - SipHash - Type - PSGroupSpecifier - - - FooterText - Copyright © 2013\nFrank Denis <j at pureftpd dot org>\n\nPermission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n\n - License - BSD - Title - libsodium - Type - PSGroupSpecifier - - - FooterText - Copyright (c) 2017 shamatar <alex.m.vlasov@gmail.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - License - MIT - Title - secp256k1_ios - Type - PSGroupSpecifier - - - FooterText - Copyright (c) 2018 Aleksandr Vlasov, Stichting Bankex Foundation <av@bankexfoundation.org> - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2018 Stichting Bankex Foundation - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - License - Apache License 2.0 - Title - web3swift - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - + diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.debug.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.debug.xcconfig index adfa9ea81..f06457be5 100755 --- a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.debug.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.debug.xcconfig @@ -1,12 +1,12 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "$(PODS_ROOT)/libsodium/src/libsodium/include/sodium" "$(PODS_ROOT)/libsodium/src/libsodium/include" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/libsodium" "${PODS_ROOT}/Headers/Public/secp256k1_ios" "${PODS_ROOT}/Headers/Public/web3swift" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire-Synchronous" "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/libsodium" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" -OTHER_CFLAGS = $(inherited) -DNATIVE_LITTLE_ENDIAN=1 -DHAVE_MADVISE -DHAVE_MMAP -DHAVE_MPROTECT -DHAVE_POSIX_MEMALIGN -DHAVE_WEAK_SYMBOLS -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire-Synchronous/Alamofire_Synchronous.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/libsodium/libsodium.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/libsodium" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" -isystem "${PODS_ROOT}/Headers/Public/web3swift" -OTHER_LDFLAGS = $(inherited) -ObjC -l"Alamofire" -l"Alamofire-Synchronous" -l"BigInt" -l"CryptoSwift" -l"PromiseKit" -l"Result" -l"SipHash" -l"libsodium" -l"secp256k1_ios" -l"web3swift" -framework "CoreImage" -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire-Synchronous/Alamofire_Synchronous.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/libsodium/libsodium.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" $(inherited) "-D" "COCOAPODS" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" "${PODS_ROOT}/Headers/Public/web3swift" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" -isystem "${PODS_ROOT}/Headers/Public/web3swift" +OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt" -l"CryptoSwift" -l"PromiseKit" -l"Result" -l"SipHash" -l"scrypt" -l"secp256k1_ios" -l"web3swift" -framework "CoreImage" -framework "Foundation" -framework "UIKit" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire-Synchronous" "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" $(PODS_TARGET_SRCROOT)/scrypt diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.release.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.release.xcconfig index adfa9ea81..f06457be5 100755 --- a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.release.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.release.xcconfig @@ -1,12 +1,12 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "$(PODS_ROOT)/libsodium/src/libsodium/include/sodium" "$(PODS_ROOT)/libsodium/src/libsodium/include" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/libsodium" "${PODS_ROOT}/Headers/Public/secp256k1_ios" "${PODS_ROOT}/Headers/Public/web3swift" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire-Synchronous" "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/libsodium" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" -OTHER_CFLAGS = $(inherited) -DNATIVE_LITTLE_ENDIAN=1 -DHAVE_MADVISE -DHAVE_MMAP -DHAVE_MPROTECT -DHAVE_POSIX_MEMALIGN -DHAVE_WEAK_SYMBOLS -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire-Synchronous/Alamofire_Synchronous.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/libsodium/libsodium.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/libsodium" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" -isystem "${PODS_ROOT}/Headers/Public/web3swift" -OTHER_LDFLAGS = $(inherited) -ObjC -l"Alamofire" -l"Alamofire-Synchronous" -l"BigInt" -l"CryptoSwift" -l"PromiseKit" -l"Result" -l"SipHash" -l"libsodium" -l"secp256k1_ios" -l"web3swift" -framework "CoreImage" -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire-Synchronous/Alamofire_Synchronous.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/libsodium/libsodium.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" $(inherited) "-D" "COCOAPODS" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" "${PODS_ROOT}/Headers/Public/web3swift" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" -isystem "${PODS_ROOT}/Headers/Public/web3swift" +OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt" -l"CryptoSwift" -l"PromiseKit" -l"Result" -l"SipHash" -l"scrypt" -l"secp256k1_ios" -l"web3swift" -framework "CoreImage" -framework "Foundation" -framework "UIKit" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire-Synchronous" "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" $(PODS_TARGET_SRCROOT)/scrypt diff --git a/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig index b5a065a40..a385c9355 100755 --- a/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig @@ -1,8 +1,7 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/PromiseKit" "${PODS_ROOT}/Headers/Public" -OTHER_LDFLAGS = -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -DPMKCocoaPods $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" -DPMKCocoaPods PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/Result/Result.modulemap b/Example/web3swiftExample/Pods/Target Support Files/Result/Result.modulemap index c5e6a4a29..b61c747fd 100755 --- a/Example/web3swiftExample/Pods/Target Support Files/Result/Result.modulemap +++ b/Example/web3swiftExample/Pods/Target Support Files/Result/Result.modulemap @@ -1,4 +1,4 @@ -framework module Result { +module Result { umbrella header "Result-umbrella.h" export * diff --git a/Example/web3swiftExample/Pods/Target Support Files/Result/Result.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/Result/Result.xcconfig index 150c2dda0..df4fd1f5f 100755 --- a/Example/web3swiftExample/Pods/Target Support Files/Result/Result.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/Result/Result.xcconfig @@ -1,10 +1,9 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Result GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/Result PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES -SWIFT_VERSION = 3.0 diff --git a/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.modulemap b/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.modulemap index 067ad6b25..6a46dd267 100755 --- a/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.modulemap +++ b/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.modulemap @@ -1,4 +1,4 @@ -framework module SipHash { +module SipHash { umbrella header "SipHash-umbrella.h" export * diff --git a/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.xcconfig index 2767c35ce..ff192e403 100755 --- a/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.xcconfig @@ -1,6 +1,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SipHash GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.modulemap b/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.modulemap index 3e155fb99..606bdc2da 100755 --- a/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.modulemap +++ b/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.modulemap @@ -1,4 +1,4 @@ -framework module secp256k1_ios { +module secp256k1_ios { umbrella header "secp256k1_ios-umbrella.h" export * diff --git a/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.xcconfig index f3ffa2802..2594d1954 100755 --- a/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.xcconfig @@ -1,12 +1,11 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/secp256k1_ios" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/secp256k1_ios/secp256k1_ios" -OTHER_CFLAGS = $(inherited) -DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3 -OTHER_SWIFT_FLAGS = $(inherited) -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_CFLAGS = -DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3 PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/secp256k1_ios PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = $(inherited) ${PODS_ROOT} +SWIFT_INCLUDE_PATHS = ${PODS_ROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift-umbrella.h b/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift-umbrella.h index a5cc5d573..dcf840e46 100755 --- a/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift-umbrella.h +++ b/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift-umbrella.h @@ -10,6 +10,7 @@ #endif #endif +#import "web3swift-Bridging-Header.h" #import "web3swift.h" FOUNDATION_EXPORT double web3swiftVersionNumber; diff --git a/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.modulemap b/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.modulemap index 241e217a4..9e944ea5b 100755 --- a/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.modulemap +++ b/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.modulemap @@ -1,4 +1,4 @@ -framework module web3swift { +module web3swift { umbrella header "web3swift-umbrella.h" export * diff --git a/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.xcconfig index 514b19531..241c0cd2b 100755 --- a/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.xcconfig @@ -2,14 +2,12 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/web3swift DEFINES_MODULE = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/web3swift" "${PODS_ROOT}/Headers/Public" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire-Synchronous" "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/libsodium" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire-Synchronous/Alamofire_Synchronous.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/libsodium/libsodium.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -OTHER_LDFLAGS = -framework "CoreImage" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Alamofire-Synchronous/Alamofire_Synchronous.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/libsodium/libsodium.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/web3swift PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire-Synchronous" "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" diff --git a/Example/web3swiftExample/Pods/libsodium/LICENSE b/Example/web3swiftExample/Pods/libsodium/LICENSE deleted file mode 100755 index 2489a6814..000000000 --- a/Example/web3swiftExample/Pods/libsodium/LICENSE +++ /dev/null @@ -1,18 +0,0 @@ -/* - * ISC License - * - * Copyright (c) 2013-2017 - * Frank Denis - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ diff --git a/Example/web3swiftExample/Pods/libsodium/README.markdown b/Example/web3swiftExample/Pods/libsodium/README.markdown deleted file mode 100755 index a14e81d45..000000000 --- a/Example/web3swiftExample/Pods/libsodium/README.markdown +++ /dev/null @@ -1,46 +0,0 @@ -[![Build Status](https://travis-ci.org/jedisct1/libsodium.svg?branch=master)](https://travis-ci.org/jedisct1/libsodium?branch=master) -[![Windows build status](https://ci.appveyor.com/api/projects/status/fu8s2elx25il98hj?svg=true)](https://ci.appveyor.com/project/jedisct1/libsodium) -[![Coverity Scan Build Status](https://scan.coverity.com/projects/2397/badge.svg)](https://scan.coverity.com/projects/2397) - -![libsodium](https://raw.github.com/jedisct1/libsodium/master/logo.png) -============ - -Sodium is a new, easy-to-use software library for encryption, -decryption, signatures, password hashing and more. - -It is a portable, cross-compilable, installable, packageable -fork of [NaCl](http://nacl.cr.yp.to/), with a compatible API, and an -extended API to improve usability even further. - -Its goal is to provide all of the core operations needed to build -higher-level cryptographic tools. - -Sodium supports a variety of compilers and operating systems, -including Windows (with MingW or Visual Studio, x86 and x64), iOS and Android. - -## Documentation - -The documentation is a work-in-progress, and is being written using -Gitbook: - -* [libsodium documentation](https://download.libsodium.org/doc/) - -online, requires Javascript. -* [offline documentation](https://www.gitbook.com/book/jedisct1/libsodium/details) -in PDF, MOBI and ePUB formats. - -## Integrity Checking - -The integrity checking instructions (including the signing key for libsodium) -are available in the [installation](https://download.libsodium.org/doc/installation/index.html#integrity-checking) -section of the documentation. - -## Community - -A mailing-list is available to discuss libsodium. - -In order to join, just send a random mail to `sodium-subscribe` {at} -`pureftpd` {dot} `org`. - -## License - -[ISC license](https://en.wikipedia.org/wiki/ISC_license). diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c deleted file mode 100755 index d21f31732..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c +++ /dev/null @@ -1,1064 +0,0 @@ - -/* - * AES256-GCM, based on the "Intel Carry-Less Multiplication Instruction and its Usage for Computing - * the GCM Mode" paper and reference code, using the aggregated reduction method. - * Originally adapted by Romain Dolbeau. - */ - -#include -#include -#include -#include - -#include "crypto_aead_aes256gcm.h" -#include "export.h" -#include "private/common.h" -#include "private/sse2_64_32.h" -#include "randombytes.h" -#include "runtime.h" -#include "utils.h" - -#if defined(HAVE_TMMINTRIN_H) && defined(HAVE_WMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("ssse3") -# pragma GCC target("aes") -# pragma GCC target("pclmul") -# endif - -#include -#include - -#ifndef ENOSYS -# define ENOSYS ENXIO -#endif - -#if defined(__INTEL_COMPILER) || defined(_bswap64) -#elif defined(_MSC_VER) -# define _bswap64(a) _byteswap_uint64(a) -#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) -# define _bswap64(a) __builtin_bswap64(a) -#else -static inline uint64_t -_bswap64(const uint64_t x) -{ - return - ((x << 56) & 0xFF00000000000000UL) | ((x << 40) & 0x00FF000000000000UL) | - ((x << 24) & 0x0000FF0000000000UL) | ((x << 8) & 0x000000FF00000000UL) | - ((x >> 8) & 0x00000000FF000000UL) | ((x >> 24) & 0x0000000000FF0000UL) | - ((x >> 40) & 0x000000000000FF00UL) | ((x >> 56) & 0x00000000000000FFUL); -} -#endif - -typedef struct context { - CRYPTO_ALIGN(16) unsigned char H[16]; - __m128i rkeys[16]; -} context; - -static inline void -aesni_key256_expand(const unsigned char *key, __m128i * const rkeys) -{ - __m128i X0, X1, X2, X3; - int i = 0; - - X0 = _mm_loadu_si128((const __m128i *) &key[0]); - rkeys[i++] = X0; - - X2 = _mm_loadu_si128((const __m128i *) &key[16]); - rkeys[i++] = X2; - -#define EXPAND_KEY_1(S) do { \ - X1 = _mm_shuffle_epi32(_mm_aeskeygenassist_si128(X2, (S)), 0xff); \ - X3 = _mm_castps_si128(_mm_shuffle_ps(_mm_castsi128_ps(X3), _mm_castsi128_ps(X0), 0x10)); \ - X0 = _mm_xor_si128(X0, X3); \ - X3 = _mm_castps_si128(_mm_shuffle_ps(_mm_castsi128_ps(X3), _mm_castsi128_ps(X0), 0x8c)); \ - X0 = _mm_xor_si128(_mm_xor_si128(X0, X3), X1); \ - rkeys[i++] = X0; \ -} while (0) - -#define EXPAND_KEY_2(S) do { \ - X1 = _mm_shuffle_epi32(_mm_aeskeygenassist_si128(X0, (S)), 0xaa); \ - X3 = _mm_castps_si128(_mm_shuffle_ps(_mm_castsi128_ps(X3), _mm_castsi128_ps(X2), 0x10)); \ - X2 = _mm_xor_si128(X2, X3); \ - X3 = _mm_castps_si128(_mm_shuffle_ps(_mm_castsi128_ps(X3), _mm_castsi128_ps(X2), 0x8c)); \ - X2 = _mm_xor_si128(_mm_xor_si128(X2, X3), X1); \ - rkeys[i++] = X2; \ -} while (0) - - X3 = _mm_setzero_si128(); - EXPAND_KEY_1(0x01); EXPAND_KEY_2(0x01); - EXPAND_KEY_1(0x02); EXPAND_KEY_2(0x02); - EXPAND_KEY_1(0x04); EXPAND_KEY_2(0x04); - EXPAND_KEY_1(0x08); EXPAND_KEY_2(0x08); - EXPAND_KEY_1(0x10); EXPAND_KEY_2(0x10); - EXPAND_KEY_1(0x20); EXPAND_KEY_2(0x20); - EXPAND_KEY_1(0x40); -} - -/** single, by-the-book AES encryption with AES-NI */ -static inline void -aesni_encrypt1(unsigned char *out, __m128i nv, const __m128i *rkeys) -{ - __m128i temp = _mm_xor_si128(nv, rkeys[0]); - - temp = _mm_aesenc_si128(temp, rkeys[1]); - temp = _mm_aesenc_si128(temp, rkeys[2]); - temp = _mm_aesenc_si128(temp, rkeys[3]); - temp = _mm_aesenc_si128(temp, rkeys[4]); - temp = _mm_aesenc_si128(temp, rkeys[5]); - temp = _mm_aesenc_si128(temp, rkeys[6]); - temp = _mm_aesenc_si128(temp, rkeys[7]); - temp = _mm_aesenc_si128(temp, rkeys[8]); - temp = _mm_aesenc_si128(temp, rkeys[9]); - temp = _mm_aesenc_si128(temp, rkeys[10]); - temp = _mm_aesenc_si128(temp, rkeys[11]); - temp = _mm_aesenc_si128(temp, rkeys[12]); - temp = _mm_aesenc_si128(temp, rkeys[13]); - - temp = _mm_aesenclast_si128(temp, rkeys[14]); - _mm_storeu_si128((__m128i *) out, temp); -} - -/** multiple-blocks-at-once AES encryption with AES-NI ; - on Haswell, aesenc has a latency of 7 and a throughput of 1 - so the sequence of aesenc should be bubble-free if you - have at least 8 blocks. Let's build an arbitratry-sized - function */ -/* Step 1 : loading the nonce */ -/* load & increment the n vector (non-vectorized, unused for now) */ -#define NVDECLx(a) \ - __m128i nv##a - -#define NVx(a) \ - nv##a = _mm_shuffle_epi8(_mm_load_si128((const __m128i *) n), pt); \ - n[3]++ - -/* Step 2 : define value in round one (xor with subkey #0, aka key) */ -#define TEMPDECLx(a) \ - __m128i temp##a - -#define TEMPx(a) \ - temp##a = _mm_xor_si128(nv##a, rkeys[0]) - -/* Step 3: one round of AES */ -#define AESENCx(a) \ - temp##a = _mm_aesenc_si128(temp##a, rkeys[roundctr]) - -/* Step 4: last round of AES */ -#define AESENCLASTx(a) \ - temp##a = _mm_aesenclast_si128(temp##a, rkeys[14]) - -/* Step 5: store result */ -#define STOREx(a) \ - _mm_storeu_si128((__m128i *) (out + (a * 16)), temp##a) - -/* all the MAKE* macros are for automatic explicit unrolling */ -#define MAKE4(X) \ - X(0); \ - X(1); \ - X(2); \ - X(3) - -#define MAKE8(X) \ - X(0); \ - X(1); \ - X(2); \ - X(3); \ - X(4); \ - X(5); \ - X(6); \ - X(7) - -#define COUNTER_INC2(N) (N)[3] += 2 - -/* create a function of unrolling N ; the MAKEN is the unrolling - macro, defined above. The N in MAKEN must match N, obviously. */ -#define FUNC(N, MAKEN) \ - static inline void aesni_encrypt##N(unsigned char *out, uint32_t *n, const __m128i *rkeys) \ - { \ - const __m128i pt = _mm_set_epi8(12, 13, 14, 15, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \ - int roundctr; \ - MAKEN(NVDECLx); \ - MAKEN(TEMPDECLx); \ - \ - MAKEN(NVx); \ - MAKEN(TEMPx); \ - for (roundctr = 1; roundctr < 14; roundctr++) { \ - MAKEN(AESENCx); \ - } \ - MAKEN(AESENCLASTx); \ - MAKEN(STOREx); \ - } - -FUNC(8, MAKE8) - -/* all GF(2^128) fnctions are by the book, meaning this one: - -*/ - -static inline void -addmul(unsigned char *c, const unsigned char *a, unsigned int xlen, const unsigned char *b) -{ - const __m128i rev = _mm_set_epi8(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); - __m128i A, B, C; - __m128i tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9; - __m128i tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18; - __m128i tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27; - __m128i tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36; - - if (xlen >= 16) { - A = _mm_loadu_si128((const __m128i *) a); - } else { - CRYPTO_ALIGN(16) unsigned char padded[16]; - unsigned int i; - - memset(padded, 0, 16); - for (i = 0; i < xlen; i++) { - padded[i] = a[i]; - } - A = _mm_load_si128((const __m128i *) padded); - } - A = _mm_shuffle_epi8(A, rev); - B = _mm_loadu_si128((const __m128i *) b); - C = _mm_loadu_si128((const __m128i *) c); - A = _mm_xor_si128(A, C); - tmp3 = _mm_clmulepi64_si128(A, B, 0x00); - tmp4 = _mm_clmulepi64_si128(A, B, 0x10); - tmp5 = _mm_clmulepi64_si128(A, B, 0x01); - tmp6 = _mm_clmulepi64_si128(A, B, 0x11); - tmp10 = _mm_xor_si128(tmp4, tmp5); - tmp13 = _mm_slli_si128(tmp10, 8); - tmp11 = _mm_srli_si128(tmp10, 8); - tmp15 = _mm_xor_si128(tmp3, tmp13); - tmp17 = _mm_xor_si128(tmp6, tmp11); - tmp7 = _mm_srli_epi32(tmp15, 31); - tmp8 = _mm_srli_epi32(tmp17, 31); - tmp16 = _mm_slli_epi32(tmp15, 1); - tmp18 = _mm_slli_epi32(tmp17, 1); - tmp9 = _mm_srli_si128(tmp7, 12); - tmp22 = _mm_slli_si128(tmp8, 4); - tmp25 = _mm_slli_si128(tmp7, 4); - tmp29 = _mm_or_si128(tmp16, tmp25); - tmp19 = _mm_or_si128(tmp18, tmp22); - tmp20 = _mm_or_si128(tmp19, tmp9); - tmp26 = _mm_slli_epi32(tmp29, 31); - tmp23 = _mm_slli_epi32(tmp29, 30); - tmp32 = _mm_slli_epi32(tmp29, 25); - tmp27 = _mm_xor_si128(tmp26, tmp23); - tmp28 = _mm_xor_si128(tmp27, tmp32); - tmp24 = _mm_srli_si128(tmp28, 4); - tmp33 = _mm_slli_si128(tmp28, 12); - tmp30 = _mm_xor_si128(tmp29, tmp33); - tmp2 = _mm_srli_epi32(tmp30, 1); - tmp12 = _mm_srli_epi32(tmp30, 2); - tmp14 = _mm_srli_epi32(tmp30, 7); - tmp34 = _mm_xor_si128(tmp2, tmp12); - tmp35 = _mm_xor_si128(tmp34, tmp14); - tmp36 = _mm_xor_si128(tmp35, tmp24); - tmp31 = _mm_xor_si128(tmp30, tmp36); - tmp21 = _mm_xor_si128(tmp20, tmp31); - _mm_storeu_si128((__m128i *) c, tmp21); -} - -/* pure multiplication, for pre-computing powers of H */ -static inline __m128i -mulv(__m128i A, __m128i B) -{ - __m128i tmp3 = _mm_clmulepi64_si128(A, B, 0x00); - __m128i tmp4 = _mm_clmulepi64_si128(A, B, 0x10); - __m128i tmp5 = _mm_clmulepi64_si128(A, B, 0x01); - __m128i tmp6 = _mm_clmulepi64_si128(A, B, 0x11); - __m128i tmp10 = _mm_xor_si128(tmp4, tmp5); - __m128i tmp13 = _mm_slli_si128(tmp10, 8); - __m128i tmp11 = _mm_srli_si128(tmp10, 8); - __m128i tmp15 = _mm_xor_si128(tmp3, tmp13); - __m128i tmp17 = _mm_xor_si128(tmp6, tmp11); - __m128i tmp7 = _mm_srli_epi32(tmp15, 31); - __m128i tmp8 = _mm_srli_epi32(tmp17, 31); - __m128i tmp16 = _mm_slli_epi32(tmp15, 1); - __m128i tmp18 = _mm_slli_epi32(tmp17, 1); - __m128i tmp9 = _mm_srli_si128(tmp7, 12); - __m128i tmp22 = _mm_slli_si128(tmp8, 4); - __m128i tmp25 = _mm_slli_si128(tmp7, 4); - __m128i tmp29 = _mm_or_si128(tmp16, tmp25); - __m128i tmp19 = _mm_or_si128(tmp18, tmp22); - __m128i tmp20 = _mm_or_si128(tmp19, tmp9); - __m128i tmp26 = _mm_slli_epi32(tmp29, 31); - __m128i tmp23 = _mm_slli_epi32(tmp29, 30); - __m128i tmp32 = _mm_slli_epi32(tmp29, 25); - __m128i tmp27 = _mm_xor_si128(tmp26, tmp23); - __m128i tmp28 = _mm_xor_si128(tmp27, tmp32); - __m128i tmp24 = _mm_srli_si128(tmp28, 4); - __m128i tmp33 = _mm_slli_si128(tmp28, 12); - __m128i tmp30 = _mm_xor_si128(tmp29, tmp33); - __m128i tmp2 = _mm_srli_epi32(tmp30, 1); - __m128i tmp12 = _mm_srli_epi32(tmp30, 2); - __m128i tmp14 = _mm_srli_epi32(tmp30, 7); - __m128i tmp34 = _mm_xor_si128(tmp2, tmp12); - __m128i tmp35 = _mm_xor_si128(tmp34, tmp14); - __m128i tmp36 = _mm_xor_si128(tmp35, tmp24); - __m128i tmp31 = _mm_xor_si128(tmp30, tmp36); - __m128i C = _mm_xor_si128(tmp20, tmp31); - - return C; -} - -/* 4 multiply-accumulate at once; again - - for the Aggregated Reduction Method & sample code. - Algorithm by Krzysztof Jankowski, Pierre Laurent - Intel */ - -#define RED_DECL(a) __m128i H##a##_X##a##_lo, H##a##_X##a##_hi, tmp##a, tmp##a##B -#define RED_SHUFFLE(a) X##a = _mm_shuffle_epi8(X##a, rev) -#define RED_MUL_LOW(a) H##a##_X##a##_lo = _mm_clmulepi64_si128(H##a, X##a, 0x00) -#define RED_MUL_HIGH(a) H##a##_X##a##_hi = _mm_clmulepi64_si128(H##a, X##a, 0x11) -#define RED_MUL_MID(a) \ - tmp##a = _mm_shuffle_epi32(H##a, 0x4e); \ - tmp##a##B = _mm_shuffle_epi32(X##a, 0x4e); \ - tmp##a = _mm_xor_si128(tmp##a, H##a); \ - tmp##a##B = _mm_xor_si128(tmp##a##B, X##a); \ - tmp##a = _mm_clmulepi64_si128(tmp##a, tmp##a##B, 0x00) - -#define MULREDUCE4(rev, H0_, H1_, H2_, H3_, X0_, X1_, X2_, X3_, accv) \ -do { \ - MAKE4(RED_DECL); \ - __m128i lo, hi; \ - __m128i tmp8, tmp9; \ - __m128i H0 = H0_; \ - __m128i H1 = H1_; \ - __m128i H2 = H2_; \ - __m128i H3 = H3_; \ - __m128i X0 = X0_; \ - __m128i X1 = X1_; \ - __m128i X2 = X2_; \ - __m128i X3 = X3_; \ -\ -/* byte-revert the inputs & xor the first one into the accumulator */ \ -\ - MAKE4(RED_SHUFFLE); \ - X3 = _mm_xor_si128(X3, accv); \ -\ -/* 4 low H*X (x0*h0) */ \ -\ - MAKE4(RED_MUL_LOW); \ - lo = _mm_xor_si128(H0_X0_lo, H1_X1_lo); \ - lo = _mm_xor_si128(lo, H2_X2_lo); \ - lo = _mm_xor_si128(lo, H3_X3_lo); \ -\ -/* 4 high H*X (x1*h1) */ \ -\ - MAKE4(RED_MUL_HIGH); \ - hi = _mm_xor_si128(H0_X0_hi, H1_X1_hi); \ - hi = _mm_xor_si128(hi, H2_X2_hi); \ - hi = _mm_xor_si128(hi, H3_X3_hi); \ -\ -/* 4 middle H*X, using Karatsuba, i.e. \ - x1*h0+x0*h1 =(x1+x0)*(h1+h0)-x1*h1-x0*h0 \ - we already have all x1y1 & x0y0 (accumulated in hi & lo) \ - (0 is low half and 1 is high half) \ - */ \ -/* permute the high and low 64 bits in H1 & X1, \ - so create (h0,h1) from (h1,h0) and (x0,x1) from (x1,x0), \ - then compute (h0+h1,h1+h0) and (x0+x1,x1+x0), \ - and finally multiply \ - */ \ - MAKE4(RED_MUL_MID); \ -\ -/* substracts x1*h1 and x0*h0 */ \ - tmp0 = _mm_xor_si128(tmp0, lo); \ - tmp0 = _mm_xor_si128(tmp0, hi); \ - tmp0 = _mm_xor_si128(tmp1, tmp0); \ - tmp0 = _mm_xor_si128(tmp2, tmp0); \ - tmp0 = _mm_xor_si128(tmp3, tmp0);\ -\ - /* reduction */ \ - tmp0B = _mm_slli_si128(tmp0, 8); \ - tmp0 = _mm_srli_si128(tmp0, 8); \ - lo = _mm_xor_si128(tmp0B, lo); \ - hi = _mm_xor_si128(tmp0, hi); \ - tmp3 = lo; \ - tmp2B = hi; \ - tmp3B = _mm_srli_epi32(tmp3, 31); \ - tmp8 = _mm_srli_epi32(tmp2B, 31); \ - tmp3 = _mm_slli_epi32(tmp3, 1); \ - tmp2B = _mm_slli_epi32(tmp2B, 1); \ - tmp9 = _mm_srli_si128(tmp3B, 12); \ - tmp8 = _mm_slli_si128(tmp8, 4); \ - tmp3B = _mm_slli_si128(tmp3B, 4); \ - tmp3 = _mm_or_si128(tmp3, tmp3B); \ - tmp2B = _mm_or_si128(tmp2B, tmp8); \ - tmp2B = _mm_or_si128(tmp2B, tmp9); \ - tmp3B = _mm_slli_epi32(tmp3, 31); \ - tmp8 = _mm_slli_epi32(tmp3, 30); \ - tmp9 = _mm_slli_epi32(tmp3, 25); \ - tmp3B = _mm_xor_si128(tmp3B, tmp8); \ - tmp3B = _mm_xor_si128(tmp3B, tmp9); \ - tmp8 = _mm_srli_si128(tmp3B, 4); \ - tmp3B = _mm_slli_si128(tmp3B, 12); \ - tmp3 = _mm_xor_si128(tmp3, tmp3B); \ - tmp2 = _mm_srli_epi32(tmp3, 1); \ - tmp0B = _mm_srli_epi32(tmp3, 2); \ - tmp1B = _mm_srli_epi32(tmp3, 7); \ - tmp2 = _mm_xor_si128(tmp2, tmp0B); \ - tmp2 = _mm_xor_si128(tmp2, tmp1B); \ - tmp2 = _mm_xor_si128(tmp2, tmp8); \ - tmp3 = _mm_xor_si128(tmp3, tmp2); \ - tmp2B = _mm_xor_si128(tmp2B, tmp3); \ -\ - accv = tmp2B; \ -} while(0) - -#define XORx(a) \ - temp##a = _mm_xor_si128(temp##a, \ - _mm_loadu_si128((const __m128i *) (in + a * 16))) - -#define LOADx(a) \ - __m128i in##a = _mm_loadu_si128((const __m128i *) (in + a * 16)) - -/* full encrypt & checksum 8 blocks at once */ -#define aesni_encrypt8full(out_, n_, rkeys, in_, accum, hv_, h2v_, h3v_, h4v_, rev) \ -do { \ - unsigned char *out = out_; \ - uint32_t *n = n_; \ - const unsigned char *in = in_; \ - const __m128i hv = hv_; \ - const __m128i h2v = h2v_; \ - const __m128i h3v = h3v_; \ - const __m128i h4v = h4v_; \ - const __m128i pt = _mm_set_epi8(12, 13, 14, 15, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \ - __m128i accv_; \ - int roundctr; \ - \ - MAKE8(NVDECLx); \ - MAKE8(TEMPDECLx); \ - MAKE8(NVx); \ - MAKE8(TEMPx); \ - for (roundctr = 1; roundctr < 14; roundctr++) { \ - MAKE8(AESENCx); \ - } \ - MAKE8(AESENCLASTx); \ - MAKE8(XORx); \ - MAKE8(STOREx); \ - accv_ = _mm_load_si128((const __m128i *) accum); \ - MULREDUCE4(rev, hv, h2v, h3v, h4v, temp3, temp2, temp1, temp0, accv_); \ - MULREDUCE4(rev, hv, h2v, h3v, h4v, temp7, temp6, temp5, temp4, accv_); \ - _mm_store_si128((__m128i *) accum, accv_); \ -} while(0) - -/* checksum 8 blocks at once */ -#define aesni_addmul8full(in_, accum, hv_, h2v_, h3v_, h4v_, rev) \ -do { \ - const unsigned char *in = in_; \ - const __m128i hv = hv_; \ - const __m128i h2v = h2v_; \ - const __m128i h3v = h3v_; \ - const __m128i h4v = h4v_; \ - __m128i accv_; \ - \ - MAKE8(LOADx); \ - accv_ = _mm_load_si128((const __m128i *) accum); \ - MULREDUCE4(rev, hv, h2v, h3v, h4v, in3, in2, in1, in0, accv_); \ - MULREDUCE4(rev, hv, h2v, h3v, h4v, in7, in6, in5, in4, accv_); \ - _mm_store_si128((__m128i *) accum, accv_); \ -} while(0) - -/* decrypt 8 blocks at once */ -#define aesni_decrypt8full(out_, n_, rkeys, in_) \ -do { \ - unsigned char *out = out_; \ - uint32_t *n = n_; \ - const unsigned char *in = in_; \ - const __m128i pt = _mm_set_epi8(12, 13, 14, 15, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \ - int roundctr; \ -\ - MAKE8(NVDECLx); \ - MAKE8(TEMPDECLx); \ - MAKE8(NVx); \ - MAKE8(TEMPx); \ - for (roundctr = 1; roundctr < 14; roundctr++) { \ - MAKE8(AESENCx); \ - } \ - MAKE8(AESENCLASTx); \ - MAKE8(XORx); \ - MAKE8(STOREx); \ -} while(0) - -int -crypto_aead_aes256gcm_beforenm(crypto_aead_aes256gcm_state *ctx_, - const unsigned char *k) -{ - context *ctx = (context *) ctx_; - __m128i *rkeys = ctx->rkeys; - __m128i zero = _mm_setzero_si128(); - unsigned char *H = ctx->H; - - COMPILER_ASSERT((sizeof *ctx_) >= (sizeof *ctx)); - aesni_key256_expand(k, rkeys); - aesni_encrypt1(H, zero, rkeys); - - return 0; -} - -int -crypto_aead_aes256gcm_encrypt_detached_afternm(unsigned char *c, - unsigned char *mac, unsigned long long *maclen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *ad, unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) -{ - const __m128i rev = _mm_set_epi8(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); - const context *ctx = (const context *) ctx_; - const __m128i *rkeys = ctx->rkeys; - __m128i Hv, H2v, H3v, H4v, accv; - unsigned long long i, j; - unsigned long long adlen_rnd64 = adlen & ~63ULL; - unsigned long long mlen_rnd128 = mlen & ~127ULL; - CRYPTO_ALIGN(16) uint32_t n2[4]; - CRYPTO_ALIGN(16) unsigned char H[16]; - CRYPTO_ALIGN(16) unsigned char T[16]; - CRYPTO_ALIGN(16) unsigned char accum[16]; - CRYPTO_ALIGN(16) unsigned char fb[16]; - - (void) nsec; - memcpy(H, ctx->H, sizeof H); - if (mlen > 16ULL * ((1ULL << 32) - 2)) { - abort(); /* LCOV_EXCL_LINE */ - } - memcpy(&n2[0], npub, 3 * 4); - n2[3] = 0x01000000; - aesni_encrypt1(T, _mm_load_si128((const __m128i *) n2), rkeys); - { - uint64_t x; - x = _bswap64((uint64_t) (8 * adlen)); - memcpy(&fb[0], &x, sizeof x); - x = _bswap64((uint64_t) (8 * mlen)); - memcpy(&fb[8], &x, sizeof x); - } - /* we store H (and it's power) byte-reverted once and for all */ - Hv = _mm_shuffle_epi8(_mm_load_si128((const __m128i *) H), rev); - _mm_store_si128((__m128i *) H, Hv); - H2v = mulv(Hv, Hv); - H3v = mulv(H2v, Hv); - H4v = mulv(H3v, Hv); - - accv = _mm_setzero_si128(); - /* unrolled by 4 GCM (by 8 doesn't improve using MULREDUCE4) */ - for (i = 0; i < adlen_rnd64; i += 64) { - __m128i X4_ = _mm_loadu_si128((const __m128i *) (ad + i + 0)); - __m128i X3_ = _mm_loadu_si128((const __m128i *) (ad + i + 16)); - __m128i X2_ = _mm_loadu_si128((const __m128i *) (ad + i + 32)); - __m128i X1_ = _mm_loadu_si128((const __m128i *) (ad + i + 48)); - MULREDUCE4(rev, Hv, H2v, H3v, H4v, X1_, X2_, X3_, X4_, accv); - } - _mm_store_si128((__m128i *) accum, accv); - - /* GCM remainder loop */ - for (i = adlen_rnd64; i < adlen; i += 16) { - unsigned int blocklen = 16; - - if (i + (unsigned long long) blocklen > adlen) { - blocklen = (unsigned int) (adlen - i); - } - addmul(accum, ad + i, blocklen, H); - } - -/* this only does 8 full blocks, so no fancy bounds checking is necessary*/ -#define LOOPRND128 \ - do { \ - const int iter = 8; \ - const int lb = iter * 16; \ - \ - for (i = 0; i < mlen_rnd128; i += lb) { \ - aesni_encrypt8full(c + i, n2, rkeys, m + i, accum, Hv, H2v, H3v, H4v, rev); \ - } \ - } while(0) - -/* remainder loop, with the slower GCM update to accommodate partial blocks */ -#define LOOPRMD128 \ - do { \ - const int iter = 8; \ - const int lb = iter * 16; \ - \ - for (i = mlen_rnd128; i < mlen; i += lb) { \ - CRYPTO_ALIGN(16) unsigned char outni[8 * 16]; \ - unsigned long long mj = lb; \ - \ - aesni_encrypt8(outni, n2, rkeys); \ - if ((i + mj) >= mlen) { \ - mj = mlen - i; \ - } \ - for (j = 0; j < mj; j++) { \ - c[i + j] = m[i + j] ^ outni[j]; \ - } \ - for (j = 0; j < mj; j += 16) { \ - unsigned int bl = 16; \ - \ - if (j + (unsigned long long) bl >= mj) { \ - bl = (unsigned int) (mj - j); \ - } \ - addmul(accum, c + i + j, bl, H); \ - } \ - } \ - } while(0) - - n2[3] &= 0x00ffffff; - COUNTER_INC2(n2); - LOOPRND128; - LOOPRMD128; - - addmul(accum, fb, 16, H); - - for (i = 0; i < 16; ++i) { - mac[i] = T[i] ^ accum[15 - i]; - } - if (maclen_p != NULL) { - *maclen_p = 16; - } - return 0; -} - -int -crypto_aead_aes256gcm_encrypt_afternm(unsigned char *c, unsigned long long *clen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *ad, unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) -{ - int ret = crypto_aead_aes256gcm_encrypt_detached_afternm(c, - c + mlen, NULL, - m, mlen, - ad, adlen, - nsec, npub, ctx_); - if (clen_p != NULL) { - *clen_p = mlen + crypto_aead_aes256gcm_ABYTES; - } - return ret; -} - -int -crypto_aead_aes256gcm_decrypt_detached_afternm(unsigned char *m, unsigned char *nsec, - const unsigned char *c, unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, unsigned long long adlen, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) -{ - const __m128i rev = _mm_set_epi8(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); - const context *ctx = (const context *) ctx_; - const __m128i *rkeys = ctx->rkeys; - __m128i Hv, H2v, H3v, H4v, accv; - unsigned long long i, j; - unsigned long long adlen_rnd64 = adlen & ~63ULL; - unsigned long long mlen; - unsigned long long mlen_rnd128; - CRYPTO_ALIGN(16) uint32_t n2[4]; - CRYPTO_ALIGN(16) unsigned char H[16]; - CRYPTO_ALIGN(16) unsigned char T[16]; - CRYPTO_ALIGN(16) unsigned char accum[16]; - CRYPTO_ALIGN(16) unsigned char fb[16]; - - (void) nsec; - if (clen > 16ULL * (1ULL << 32)) { - abort(); /* LCOV_EXCL_LINE */ - } - mlen = clen; - - memcpy(&n2[0], npub, 3 * 4); - n2[3] = 0x01000000; - aesni_encrypt1(T, _mm_load_si128((const __m128i *) n2), rkeys); - - { - uint64_t x; - x = _bswap64((uint64_t)(8 * adlen)); - memcpy(&fb[0], &x, sizeof x); - x = _bswap64((uint64_t)(8 * mlen)); - memcpy(&fb[8], &x, sizeof x); - } - - memcpy(H, ctx->H, sizeof H); - Hv = _mm_shuffle_epi8(_mm_load_si128((const __m128i *) H), rev); - _mm_store_si128((__m128i *) H, Hv); - H2v = mulv(Hv, Hv); - H3v = mulv(H2v, Hv); - H4v = mulv(H3v, Hv); - - accv = _mm_setzero_si128(); - for (i = 0; i < adlen_rnd64; i += 64) { - __m128i X4_ = _mm_loadu_si128((const __m128i *) (ad + i + 0)); - __m128i X3_ = _mm_loadu_si128((const __m128i *) (ad + i + 16)); - __m128i X2_ = _mm_loadu_si128((const __m128i *) (ad + i + 32)); - __m128i X1_ = _mm_loadu_si128((const __m128i *) (ad + i + 48)); - MULREDUCE4(rev, Hv, H2v, H3v, H4v, X1_, X2_, X3_, X4_, accv); - } - _mm_store_si128((__m128i *) accum, accv); - - for (i = adlen_rnd64; i < adlen; i += 16) { - unsigned int blocklen = 16; - if (i + (unsigned long long) blocklen > adlen) { - blocklen = (unsigned int) (adlen - i); - } - addmul(accum, ad + i, blocklen, H); - } - - mlen_rnd128 = mlen & ~127ULL; - -#define LOOPACCUMDRND128 \ - do { \ - const int iter = 8; \ - const int lb = iter * 16; \ - for (i = 0; i < mlen_rnd128; i += lb) { \ - aesni_addmul8full(c + i, accum, Hv, H2v, H3v, H4v, rev); \ - } \ - } while(0) - -#define LOOPDRND128 \ - do { \ - const int iter = 8; \ - const int lb = iter * 16; \ - \ - for (i = 0; i < mlen_rnd128; i += lb) { \ - aesni_decrypt8full(m + i, n2, rkeys, c + i); \ - } \ - } while(0) - -#define LOOPACCUMDRMD128 \ - do { \ - const int iter = 8; \ - const int lb = iter * 16; \ - \ - for (i = mlen_rnd128; i < mlen; i += lb) { \ - unsigned long long mj = lb; \ - \ - if ((i + mj) >= mlen) { \ - mj = mlen - i; \ - } \ - for (j = 0; j < mj; j += 16) { \ - unsigned int bl = 16; \ - \ - if (j + (unsigned long long) bl >= mj) { \ - bl = (unsigned int) (mj - j); \ - } \ - addmul(accum, c + i + j, bl, H); \ - } \ - } \ - } while(0) - -#define LOOPDRMD128 \ - do { \ - const int iter = 8; \ - const int lb = iter * 16; \ - \ - for (i = mlen_rnd128; i < mlen; i += lb) { \ - CRYPTO_ALIGN(16) unsigned char outni[8 * 16]; \ - unsigned long long mj = lb; \ - \ - if ((i + mj) >= mlen) { \ - mj = mlen - i; \ - } \ - aesni_encrypt8(outni, n2, rkeys); \ - for (j = 0; j < mj; j++) { \ - m[i + j] = c[i + j] ^ outni[j]; \ - } \ - } \ - } while(0) - - n2[3] &= 0x00ffffff; - - COUNTER_INC2(n2); - LOOPACCUMDRND128; - LOOPACCUMDRMD128; - addmul(accum, fb, 16, H); - { - unsigned char d = 0; - - for (i = 0; i < 16; i++) { - d |= (mac[i] ^ (T[i] ^ accum[15 - i])); - } - if (d != 0) { - if (m != NULL) { - memset(m, 0, mlen); - } - return -1; - } - if (m == NULL) { - return 0; - } - } - n2[3] = 0U; - COUNTER_INC2(n2); - LOOPDRND128; - LOOPDRMD128; - - return 0; -} - -int -crypto_aead_aes256gcm_decrypt_afternm(unsigned char *m, unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, unsigned long long clen, - const unsigned char *ad, unsigned long long adlen, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) -{ - unsigned long long mlen = 0ULL; - int ret = -1; - - if (clen >= crypto_aead_aes256gcm_ABYTES) { - ret = crypto_aead_aes256gcm_decrypt_detached_afternm - (m, nsec, c, clen - crypto_aead_aes256gcm_ABYTES, - c + clen - crypto_aead_aes256gcm_ABYTES, - ad, adlen, npub, ctx_); - } - if (mlen_p != NULL) { - if (ret == 0) { - mlen = clen - crypto_aead_aes256gcm_ABYTES; - } - *mlen_p = mlen; - } - return ret; -} - -int -crypto_aead_aes256gcm_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - CRYPTO_ALIGN(16) crypto_aead_aes256gcm_state ctx; - - crypto_aead_aes256gcm_beforenm(&ctx, k); - - return crypto_aead_aes256gcm_encrypt_detached_afternm - (c, mac, maclen_p, m, mlen, ad, adlen, nsec, npub, - (const crypto_aead_aes256gcm_state *) &ctx); -} - -int -crypto_aead_aes256gcm_encrypt(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - CRYPTO_ALIGN(16) crypto_aead_aes256gcm_state ctx; - - crypto_aead_aes256gcm_beforenm(&ctx, k); - - return crypto_aead_aes256gcm_encrypt_afternm - (c, clen_p, m, mlen, ad, adlen, nsec, npub, - (const crypto_aead_aes256gcm_state *) &ctx); -} - -int -crypto_aead_aes256gcm_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - CRYPTO_ALIGN(16) crypto_aead_aes256gcm_state ctx; - - crypto_aead_aes256gcm_beforenm(&ctx, k); - - return crypto_aead_aes256gcm_decrypt_detached_afternm - (m, nsec, c, clen, mac, ad, adlen, npub, - (const crypto_aead_aes256gcm_state *) &ctx); -} - -int -crypto_aead_aes256gcm_decrypt(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - CRYPTO_ALIGN(16) crypto_aead_aes256gcm_state ctx; - - crypto_aead_aes256gcm_beforenm(&ctx, k); - - return crypto_aead_aes256gcm_decrypt_afternm - (m, mlen_p, nsec, c, clen, ad, adlen, npub, - (const crypto_aead_aes256gcm_state *) &ctx); -} - -int -crypto_aead_aes256gcm_is_available(void) -{ - return sodium_runtime_has_pclmul() & sodium_runtime_has_aesni(); -} - -#else - -int -crypto_aead_aes256gcm_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - errno = ENOSYS; - return -1; -} - -int -crypto_aead_aes256gcm_encrypt(unsigned char *c, unsigned long long *clen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *ad, unsigned long long adlen, - const unsigned char *nsec, const unsigned char *npub, - const unsigned char *k) -{ - errno = ENOSYS; - return -1; -} - -int -crypto_aead_aes256gcm_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - errno = ENOSYS; - return -1; -} - -int -crypto_aead_aes256gcm_decrypt(unsigned char *m, unsigned long long *mlen_p, - unsigned char *nsec, const unsigned char *c, - unsigned long long clen, const unsigned char *ad, - unsigned long long adlen, const unsigned char *npub, - const unsigned char *k) -{ - errno = ENOSYS; - return -1; -} - -int -crypto_aead_aes256gcm_beforenm(crypto_aead_aes256gcm_state *ctx_, - const unsigned char *k) -{ - errno = ENOSYS; - return -1; -} - -int -crypto_aead_aes256gcm_encrypt_detached_afternm(unsigned char *c, - unsigned char *mac, unsigned long long *maclen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *ad, unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) -{ - errno = ENOSYS; - return -1; -} - -int -crypto_aead_aes256gcm_encrypt_afternm(unsigned char *c, unsigned long long *clen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *ad, unsigned long long adlen, - const unsigned char *nsec, const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) -{ - errno = ENOSYS; - return -1; -} - -int -crypto_aead_aes256gcm_decrypt_detached_afternm(unsigned char *m, unsigned char *nsec, - const unsigned char *c, unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, unsigned long long adlen, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) -{ - errno = ENOSYS; - return -1; -} - -int -crypto_aead_aes256gcm_decrypt_afternm(unsigned char *m, unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, unsigned long long clen, - const unsigned char *ad, unsigned long long adlen, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) -{ - errno = ENOSYS; - return -1; -} - -int -crypto_aead_aes256gcm_is_available(void) -{ - return 0; -} - -#endif - -size_t -crypto_aead_aes256gcm_keybytes(void) -{ - return crypto_aead_aes256gcm_KEYBYTES; -} - -size_t -crypto_aead_aes256gcm_nsecbytes(void) -{ - return crypto_aead_aes256gcm_NSECBYTES; -} - -size_t -crypto_aead_aes256gcm_npubbytes(void) -{ - return crypto_aead_aes256gcm_NPUBBYTES; -} - -size_t -crypto_aead_aes256gcm_abytes(void) -{ - return crypto_aead_aes256gcm_ABYTES; -} - -size_t -crypto_aead_aes256gcm_statebytes(void) -{ - return (sizeof(crypto_aead_aes256gcm_state) + (size_t) 15U) & ~(size_t) 15U; -} - -void -crypto_aead_aes256gcm_keygen(unsigned char k[crypto_aead_aes256gcm_KEYBYTES]) -{ - randombytes_buf(k, crypto_aead_aes256gcm_KEYBYTES); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c deleted file mode 100755 index 406dcf254..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c +++ /dev/null @@ -1,386 +0,0 @@ - -#include -#include -#include -#include - -#include "crypto_aead_chacha20poly1305.h" -#include "crypto_onetimeauth_poly1305.h" -#include "crypto_stream_chacha20.h" -#include "crypto_verify_16.h" -#include "randombytes.h" -#include "utils.h" - -#include "private/common.h" - -static const unsigned char _pad0[16] = { 0 }; - -int -crypto_aead_chacha20poly1305_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - crypto_onetimeauth_poly1305_state state; - unsigned char block0[64U]; - unsigned char slen[8U]; - - (void) nsec; - crypto_stream_chacha20(block0, sizeof block0, npub, k); - crypto_onetimeauth_poly1305_init(&state, block0); - sodium_memzero(block0, sizeof block0); - - crypto_onetimeauth_poly1305_update(&state, ad, adlen); - STORE64_LE(slen, (uint64_t) adlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - crypto_stream_chacha20_xor_ic(c, m, mlen, npub, 1U, k); - - crypto_onetimeauth_poly1305_update(&state, c, mlen); - STORE64_LE(slen, (uint64_t) mlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - crypto_onetimeauth_poly1305_final(&state, mac); - sodium_memzero(&state, sizeof state); - - if (maclen_p != NULL) { - *maclen_p = crypto_aead_chacha20poly1305_ABYTES; - } - return 0; -} - -int -crypto_aead_chacha20poly1305_encrypt(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned long long clen = 0ULL; - int ret; - - if (mlen > UINT64_MAX - crypto_aead_chacha20poly1305_ABYTES) { - abort(); /* LCOV_EXCL_LINE */ - } - ret = crypto_aead_chacha20poly1305_encrypt_detached(c, - c + mlen, NULL, - m, mlen, - ad, adlen, - nsec, npub, k); - if (clen_p != NULL) { - if (ret == 0) { - clen = mlen + crypto_aead_chacha20poly1305_ABYTES; - } - *clen_p = clen; - } - return ret; -} - -int -crypto_aead_chacha20poly1305_ietf_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - crypto_onetimeauth_poly1305_state state; - unsigned char block0[64U]; - unsigned char slen[8U]; - - (void) nsec; - crypto_stream_chacha20_ietf(block0, sizeof block0, npub, k); - crypto_onetimeauth_poly1305_init(&state, block0); - sodium_memzero(block0, sizeof block0); - - crypto_onetimeauth_poly1305_update(&state, ad, adlen); - crypto_onetimeauth_poly1305_update(&state, _pad0, (0x10 - adlen) & 0xf); - - crypto_stream_chacha20_ietf_xor_ic(c, m, mlen, npub, 1U, k); - - crypto_onetimeauth_poly1305_update(&state, c, mlen); - crypto_onetimeauth_poly1305_update(&state, _pad0, (0x10 - mlen) & 0xf); - - STORE64_LE(slen, (uint64_t) adlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - STORE64_LE(slen, (uint64_t) mlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - crypto_onetimeauth_poly1305_final(&state, mac); - sodium_memzero(&state, sizeof state); - - if (maclen_p != NULL) { - *maclen_p = crypto_aead_chacha20poly1305_ietf_ABYTES; - } - return 0; -} - -int -crypto_aead_chacha20poly1305_ietf_encrypt(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned long long clen = 0ULL; - int ret; - - if (mlen > UINT64_MAX - crypto_aead_chacha20poly1305_ietf_ABYTES) { - abort(); /* LCOV_EXCL_LINE */ - } - ret = crypto_aead_chacha20poly1305_ietf_encrypt_detached(c, - c + mlen, NULL, - m, mlen, - ad, adlen, - nsec, npub, k); - if (clen_p != NULL) { - if (ret == 0) { - clen = mlen + crypto_aead_chacha20poly1305_ietf_ABYTES; - } - *clen_p = clen; - } - return ret; -} - -int -crypto_aead_chacha20poly1305_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - crypto_onetimeauth_poly1305_state state; - unsigned char block0[64U]; - unsigned char slen[8U]; - unsigned char computed_mac[crypto_aead_chacha20poly1305_ABYTES]; - unsigned long long mlen; - int ret; - - (void) nsec; - crypto_stream_chacha20(block0, sizeof block0, npub, k); - crypto_onetimeauth_poly1305_init(&state, block0); - sodium_memzero(block0, sizeof block0); - - crypto_onetimeauth_poly1305_update(&state, ad, adlen); - STORE64_LE(slen, (uint64_t) adlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - mlen = clen; - crypto_onetimeauth_poly1305_update(&state, c, mlen); - STORE64_LE(slen, (uint64_t) mlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - crypto_onetimeauth_poly1305_final(&state, computed_mac); - sodium_memzero(&state, sizeof state); - - COMPILER_ASSERT(sizeof computed_mac == 16U); - ret = crypto_verify_16(computed_mac, mac); - sodium_memzero(computed_mac, sizeof computed_mac); - if (m == NULL) { - return ret; - } - if (ret != 0) { - memset(m, 0, mlen); - return -1; - } - crypto_stream_chacha20_xor_ic(m, c, mlen, npub, 1U, k); - - return 0; -} - -int -crypto_aead_chacha20poly1305_decrypt(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned long long mlen = 0ULL; - int ret = -1; - - if (clen >= crypto_aead_chacha20poly1305_ABYTES) { - ret = crypto_aead_chacha20poly1305_decrypt_detached - (m, nsec, - c, clen - crypto_aead_chacha20poly1305_ABYTES, - c + clen - crypto_aead_chacha20poly1305_ABYTES, - ad, adlen, npub, k); - } - if (mlen_p != NULL) { - if (ret == 0) { - mlen = clen - crypto_aead_chacha20poly1305_ABYTES; - } - *mlen_p = mlen; - } - return ret; -} - -int -crypto_aead_chacha20poly1305_ietf_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - crypto_onetimeauth_poly1305_state state; - unsigned char block0[64U]; - unsigned char slen[8U]; - unsigned char computed_mac[crypto_aead_chacha20poly1305_ietf_ABYTES]; - unsigned long long mlen; - int ret; - - (void) nsec; - crypto_stream_chacha20_ietf(block0, sizeof block0, npub, k); - crypto_onetimeauth_poly1305_init(&state, block0); - sodium_memzero(block0, sizeof block0); - - crypto_onetimeauth_poly1305_update(&state, ad, adlen); - crypto_onetimeauth_poly1305_update(&state, _pad0, (0x10 - adlen) & 0xf); - - mlen = clen; - crypto_onetimeauth_poly1305_update(&state, c, mlen); - crypto_onetimeauth_poly1305_update(&state, _pad0, (0x10 - mlen) & 0xf); - - STORE64_LE(slen, (uint64_t) adlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - STORE64_LE(slen, (uint64_t) mlen); - crypto_onetimeauth_poly1305_update(&state, slen, sizeof slen); - - crypto_onetimeauth_poly1305_final(&state, computed_mac); - sodium_memzero(&state, sizeof state); - - COMPILER_ASSERT(sizeof computed_mac == 16U); - ret = crypto_verify_16(computed_mac, mac); - sodium_memzero(computed_mac, sizeof computed_mac); - if (m == NULL) { - return ret; - } - if (ret != 0) { - memset(m, 0, mlen); - return -1; - } - crypto_stream_chacha20_ietf_xor_ic(m, c, mlen, npub, 1U, k); - - return 0; -} - -int -crypto_aead_chacha20poly1305_ietf_decrypt(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned long long mlen = 0ULL; - int ret = -1; - - if (clen >= crypto_aead_chacha20poly1305_ietf_ABYTES) { - ret = crypto_aead_chacha20poly1305_ietf_decrypt_detached - (m, nsec, - c, clen - crypto_aead_chacha20poly1305_ietf_ABYTES, - c + clen - crypto_aead_chacha20poly1305_ietf_ABYTES, - ad, adlen, npub, k); - } - if (mlen_p != NULL) { - if (ret == 0) { - mlen = clen - crypto_aead_chacha20poly1305_ietf_ABYTES; - } - *mlen_p = mlen; - } - return ret; -} - -size_t -crypto_aead_chacha20poly1305_ietf_keybytes(void) -{ - return crypto_aead_chacha20poly1305_ietf_KEYBYTES; -} - -size_t -crypto_aead_chacha20poly1305_ietf_npubbytes(void) -{ - return crypto_aead_chacha20poly1305_ietf_NPUBBYTES; -} - -size_t -crypto_aead_chacha20poly1305_ietf_nsecbytes(void) -{ - return crypto_aead_chacha20poly1305_ietf_NSECBYTES; -} - -size_t -crypto_aead_chacha20poly1305_ietf_abytes(void) -{ - return crypto_aead_chacha20poly1305_ietf_ABYTES; -} - -void -crypto_aead_chacha20poly1305_ietf_keygen(unsigned char k[crypto_aead_chacha20poly1305_ietf_KEYBYTES]) -{ - randombytes_buf(k, crypto_aead_chacha20poly1305_ietf_KEYBYTES); -} - -size_t -crypto_aead_chacha20poly1305_keybytes(void) -{ - return crypto_aead_chacha20poly1305_KEYBYTES; -} - -size_t -crypto_aead_chacha20poly1305_npubbytes(void) -{ - return crypto_aead_chacha20poly1305_NPUBBYTES; -} - -size_t -crypto_aead_chacha20poly1305_nsecbytes(void) -{ - return crypto_aead_chacha20poly1305_NSECBYTES; -} - -size_t -crypto_aead_chacha20poly1305_abytes(void) -{ - return crypto_aead_chacha20poly1305_ABYTES; -} - -void -crypto_aead_chacha20poly1305_keygen(unsigned char k[crypto_aead_chacha20poly1305_KEYBYTES]) -{ - randombytes_buf(k, crypto_aead_chacha20poly1305_KEYBYTES); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c deleted file mode 100755 index 38385c84e..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c +++ /dev/null @@ -1,153 +0,0 @@ - -#include -#include -#include -#include - -#include "crypto_aead_xchacha20poly1305.h" -#include "crypto_aead_chacha20poly1305.h" -#include "crypto_core_hchacha20.h" -#include "randombytes.h" -#include "utils.h" - -#include "private/common.h" - -int -crypto_aead_xchacha20poly1305_ietf_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned char k2[crypto_core_hchacha20_OUTPUTBYTES]; - unsigned char npub2[crypto_aead_chacha20poly1305_ietf_NPUBBYTES] = { 0 }; - int ret; - - crypto_core_hchacha20(k2, npub, k, NULL); - memcpy(npub2 + 4, npub + crypto_core_hchacha20_INPUTBYTES, - crypto_aead_chacha20poly1305_ietf_NPUBBYTES - 4); - ret = crypto_aead_chacha20poly1305_ietf_encrypt_detached - (c, mac, maclen_p, m, mlen, ad, adlen, nsec, npub2, k2); - sodium_memzero(k2, crypto_core_hchacha20_OUTPUTBYTES); - - return ret; -} - -int -crypto_aead_xchacha20poly1305_ietf_encrypt(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned long long clen = 0ULL; - int ret; - - if (mlen > UINT64_MAX - crypto_aead_xchacha20poly1305_ietf_ABYTES) { - abort(); /* LCOV_EXCL_LINE */ - } - ret = crypto_aead_xchacha20poly1305_ietf_encrypt_detached - (c, c + mlen, NULL, m, mlen, ad, adlen, nsec, npub, k); - if (clen_p != NULL) { - if (ret == 0) { - clen = mlen + crypto_aead_xchacha20poly1305_ietf_ABYTES; - } - *clen_p = clen; - } - return ret; -} - -int -crypto_aead_xchacha20poly1305_ietf_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned char k2[crypto_core_hchacha20_OUTPUTBYTES]; - unsigned char npub2[crypto_aead_chacha20poly1305_ietf_NPUBBYTES] = { 0 }; - int ret; - - crypto_core_hchacha20(k2, npub, k, NULL); - memcpy(npub2 + 4, npub + crypto_core_hchacha20_INPUTBYTES, - crypto_aead_chacha20poly1305_ietf_NPUBBYTES - 4); - ret = crypto_aead_chacha20poly1305_ietf_decrypt_detached - (m, nsec, c, clen, mac, ad, adlen, npub2, k2); - sodium_memzero(k2, crypto_core_hchacha20_OUTPUTBYTES); - - return ret; - -} - -int -crypto_aead_xchacha20poly1305_ietf_decrypt(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned long long mlen = 0ULL; - int ret = -1; - - if (clen >= crypto_aead_xchacha20poly1305_ietf_ABYTES) { - ret = crypto_aead_xchacha20poly1305_ietf_decrypt_detached - (m, nsec, - c, clen - crypto_aead_xchacha20poly1305_ietf_ABYTES, - c + clen - crypto_aead_xchacha20poly1305_ietf_ABYTES, - ad, adlen, npub, k); - } - if (mlen_p != NULL) { - if (ret == 0) { - mlen = clen - crypto_aead_xchacha20poly1305_ietf_ABYTES; - } - *mlen_p = mlen; - } - return ret; -} - -size_t -crypto_aead_xchacha20poly1305_ietf_keybytes(void) -{ - return crypto_aead_xchacha20poly1305_ietf_KEYBYTES; -} - -size_t -crypto_aead_xchacha20poly1305_ietf_npubbytes(void) -{ - return crypto_aead_xchacha20poly1305_ietf_NPUBBYTES; -} - -size_t -crypto_aead_xchacha20poly1305_ietf_nsecbytes(void) -{ - return crypto_aead_xchacha20poly1305_ietf_NSECBYTES; -} - -size_t -crypto_aead_xchacha20poly1305_ietf_abytes(void) -{ - return crypto_aead_xchacha20poly1305_ietf_ABYTES; -} - -void -crypto_aead_xchacha20poly1305_ietf_keygen(unsigned char k[crypto_aead_xchacha20poly1305_ietf_KEYBYTES]) -{ - randombytes_buf(k, crypto_aead_xchacha20poly1305_ietf_KEYBYTES); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_auth/crypto_auth.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_auth/crypto_auth.c deleted file mode 100755 index d061c8c1c..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_auth/crypto_auth.c +++ /dev/null @@ -1,41 +0,0 @@ - -#include "crypto_auth.h" -#include "randombytes.h" - -size_t -crypto_auth_bytes(void) -{ - return crypto_auth_BYTES; -} - -size_t -crypto_auth_keybytes(void) -{ - return crypto_auth_KEYBYTES; -} - -const char * -crypto_auth_primitive(void) -{ - return crypto_auth_PRIMITIVE; -} - -int -crypto_auth(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - return crypto_auth_hmacsha512256(out, in, inlen, k); -} - -int -crypto_auth_verify(const unsigned char *h, const unsigned char *in, - unsigned long long inlen,const unsigned char *k) -{ - return crypto_auth_hmacsha512256_verify(h, in, inlen, k); -} - -void -crypto_auth_keygen(unsigned char k[crypto_auth_KEYBYTES]) -{ - randombytes_buf(k, crypto_auth_KEYBYTES); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c deleted file mode 100755 index 625ea4014..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_auth/hmacsha256/auth_hmacsha256.c +++ /dev/null @@ -1,118 +0,0 @@ - -#include -#include -#include - -#include "crypto_auth_hmacsha256.h" -#include "crypto_hash_sha256.h" -#include "crypto_verify_32.h" -#include "randombytes.h" -#include "utils.h" - -size_t -crypto_auth_hmacsha256_bytes(void) -{ - return crypto_auth_hmacsha256_BYTES; -} - -size_t -crypto_auth_hmacsha256_keybytes(void) -{ - return crypto_auth_hmacsha256_KEYBYTES; -} - -size_t -crypto_auth_hmacsha256_statebytes(void) -{ - return sizeof(crypto_auth_hmacsha256_state); -} - -void -crypto_auth_hmacsha256_keygen(unsigned char k[crypto_auth_hmacsha256_KEYBYTES]) -{ - randombytes_buf(k, crypto_auth_hmacsha256_KEYBYTES); -} - -int -crypto_auth_hmacsha256_init(crypto_auth_hmacsha256_state *state, - const unsigned char *key, size_t keylen) -{ - unsigned char pad[64]; - unsigned char khash[32]; - size_t i; - - if (keylen > 64) { - crypto_hash_sha256_init(&state->ictx); - crypto_hash_sha256_update(&state->ictx, key, keylen); - crypto_hash_sha256_final(&state->ictx, khash); - key = khash; - keylen = 32; - } - crypto_hash_sha256_init(&state->ictx); - memset(pad, 0x36, 64); - for (i = 0; i < keylen; i++) { - pad[i] ^= key[i]; - } - crypto_hash_sha256_update(&state->ictx, pad, 64); - - crypto_hash_sha256_init(&state->octx); - memset(pad, 0x5c, 64); - for (i = 0; i < keylen; i++) { - pad[i] ^= key[i]; - } - crypto_hash_sha256_update(&state->octx, pad, 64); - - sodium_memzero((void *) pad, sizeof pad); - sodium_memzero((void *) khash, sizeof khash); - - return 0; -} - -int -crypto_auth_hmacsha256_update(crypto_auth_hmacsha256_state *state, - const unsigned char *in, unsigned long long inlen) -{ - crypto_hash_sha256_update(&state->ictx, in, inlen); - - return 0; -} - -int -crypto_auth_hmacsha256_final(crypto_auth_hmacsha256_state *state, - unsigned char * out) -{ - unsigned char ihash[32]; - - crypto_hash_sha256_final(&state->ictx, ihash); - crypto_hash_sha256_update(&state->octx, ihash, 32); - crypto_hash_sha256_final(&state->octx, out); - - sodium_memzero((void *) ihash, sizeof ihash); - - return 0; -} - -int -crypto_auth_hmacsha256(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - crypto_auth_hmacsha256_state state; - - crypto_auth_hmacsha256_init(&state, k, crypto_auth_hmacsha256_KEYBYTES); - crypto_auth_hmacsha256_update(&state, in, inlen); - crypto_auth_hmacsha256_final(&state, out); - - return 0; -} - -int -crypto_auth_hmacsha256_verify(const unsigned char *h, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - unsigned char correct[32]; - - crypto_auth_hmacsha256(correct, in, inlen, k); - - return crypto_verify_32(h, correct) | (-(h == correct)) | - sodium_memcmp(correct, h, 32); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c deleted file mode 100755 index 015458394..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c +++ /dev/null @@ -1,118 +0,0 @@ - -#include -#include -#include - -#include "crypto_auth_hmacsha512.h" -#include "crypto_hash_sha512.h" -#include "crypto_verify_64.h" -#include "randombytes.h" -#include "utils.h" - -size_t -crypto_auth_hmacsha512_bytes(void) -{ - return crypto_auth_hmacsha512_BYTES; -} - -size_t -crypto_auth_hmacsha512_keybytes(void) -{ - return crypto_auth_hmacsha512_KEYBYTES; -} - -size_t -crypto_auth_hmacsha512_statebytes(void) -{ - return sizeof(crypto_auth_hmacsha512_state); -} - -void -crypto_auth_hmacsha512_keygen(unsigned char k[crypto_auth_hmacsha512_KEYBYTES]) -{ - randombytes_buf(k, crypto_auth_hmacsha512_KEYBYTES); -} - -int -crypto_auth_hmacsha512_init(crypto_auth_hmacsha512_state *state, - const unsigned char *key, size_t keylen) -{ - unsigned char pad[128]; - unsigned char khash[64]; - size_t i; - - if (keylen > 128) { - crypto_hash_sha512_init(&state->ictx); - crypto_hash_sha512_update(&state->ictx, key, keylen); - crypto_hash_sha512_final(&state->ictx, khash); - key = khash; - keylen = 64; - } - crypto_hash_sha512_init(&state->ictx); - memset(pad, 0x36, 128); - for (i = 0; i < keylen; i++) { - pad[i] ^= key[i]; - } - crypto_hash_sha512_update(&state->ictx, pad, 128); - - crypto_hash_sha512_init(&state->octx); - memset(pad, 0x5c, 128); - for (i = 0; i < keylen; i++) { - pad[i] ^= key[i]; - } - crypto_hash_sha512_update(&state->octx, pad, 128); - - sodium_memzero((void *) pad, sizeof pad); - sodium_memzero((void *) khash, sizeof khash); - - return 0; -} - -int -crypto_auth_hmacsha512_update(crypto_auth_hmacsha512_state *state, - const unsigned char *in, unsigned long long inlen) -{ - crypto_hash_sha512_update(&state->ictx, in, inlen); - - return 0; -} - -int -crypto_auth_hmacsha512_final(crypto_auth_hmacsha512_state *state, - unsigned char * out) -{ - unsigned char ihash[64]; - - crypto_hash_sha512_final(&state->ictx, ihash); - crypto_hash_sha512_update(&state->octx, ihash, 64); - crypto_hash_sha512_final(&state->octx, out); - - sodium_memzero((void *) ihash, sizeof ihash); - - return 0; -} - -int -crypto_auth_hmacsha512(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - crypto_auth_hmacsha512_state state; - - crypto_auth_hmacsha512_init(&state, k, crypto_auth_hmacsha512_KEYBYTES); - crypto_auth_hmacsha512_update(&state, in, inlen); - crypto_auth_hmacsha512_final(&state, out); - - return 0; -} - -int -crypto_auth_hmacsha512_verify(const unsigned char *h, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - unsigned char correct[64]; - - crypto_auth_hmacsha512(correct, in, inlen, k); - - return crypto_verify_64(h, correct) | (-(h == correct)) | - sodium_memcmp(correct, h, 64); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c deleted file mode 100755 index 4c5c1ff2a..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c +++ /dev/null @@ -1,93 +0,0 @@ - -#include -#include -#include - -#include "crypto_auth_hmacsha512.h" -#include "crypto_auth_hmacsha512256.h" -#include "crypto_hash_sha512.h" -#include "crypto_verify_32.h" -#include "randombytes.h" -#include "utils.h" - -size_t -crypto_auth_hmacsha512256_bytes(void) -{ - return crypto_auth_hmacsha512256_BYTES; -} - -size_t -crypto_auth_hmacsha512256_keybytes(void) -{ - return crypto_auth_hmacsha512256_KEYBYTES; -} - -size_t -crypto_auth_hmacsha512256_statebytes(void) -{ - return sizeof(crypto_auth_hmacsha512256_state); -} - -void -crypto_auth_hmacsha512256_keygen( - unsigned char k[crypto_auth_hmacsha512256_KEYBYTES]) -{ - randombytes_buf(k, crypto_auth_hmacsha512256_KEYBYTES); -} - -int -crypto_auth_hmacsha512256_init(crypto_auth_hmacsha512256_state *state, - const unsigned char *key, size_t keylen) -{ - return crypto_auth_hmacsha512_init((crypto_auth_hmacsha512_state *) state, - key, keylen); -} - -int -crypto_auth_hmacsha512256_update(crypto_auth_hmacsha512256_state *state, - const unsigned char * in, - unsigned long long inlen) -{ - return crypto_auth_hmacsha512_update((crypto_auth_hmacsha512_state *) state, - in, inlen); -} - -int -crypto_auth_hmacsha512256_final(crypto_auth_hmacsha512256_state *state, - unsigned char * out) -{ - unsigned char out0[64]; - - crypto_auth_hmacsha512_final((crypto_auth_hmacsha512_state *) state, out0); - memcpy(out, out0, 32); - - return 0; -} - -int -crypto_auth_hmacsha512256(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - crypto_auth_hmacsha512256_state state; - - crypto_auth_hmacsha512256_init(&state, k, - crypto_auth_hmacsha512256_KEYBYTES); - crypto_auth_hmacsha512256_update(&state, in, inlen); - crypto_auth_hmacsha512256_final(&state, out); - - return 0; -} - -int -crypto_auth_hmacsha512256_verify(const unsigned char *h, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) -{ - unsigned char correct[32]; - - crypto_auth_hmacsha512256(correct, in, inlen, k); - - return crypto_verify_32(h, correct) | (-(h == correct)) | - sodium_memcmp(correct, h, 32); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/crypto_box.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/crypto_box.c deleted file mode 100755 index 7ae4297cf..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/crypto_box.c +++ /dev/null @@ -1,108 +0,0 @@ - -#include "crypto_box.h" - -size_t -crypto_box_seedbytes(void) -{ - return crypto_box_SEEDBYTES; -} - -size_t -crypto_box_publickeybytes(void) -{ - return crypto_box_PUBLICKEYBYTES; -} - -size_t -crypto_box_secretkeybytes(void) -{ - return crypto_box_SECRETKEYBYTES; -} - -size_t -crypto_box_beforenmbytes(void) -{ - return crypto_box_BEFORENMBYTES; -} - -size_t -crypto_box_noncebytes(void) -{ - return crypto_box_NONCEBYTES; -} - -size_t -crypto_box_zerobytes(void) -{ - return crypto_box_ZEROBYTES; -} - -size_t -crypto_box_boxzerobytes(void) -{ - return crypto_box_BOXZEROBYTES; -} - -size_t -crypto_box_macbytes(void) -{ - return crypto_box_MACBYTES; -} - -const char * -crypto_box_primitive(void) -{ - return crypto_box_PRIMITIVE; -} - -int -crypto_box_seed_keypair(unsigned char *pk, unsigned char *sk, - const unsigned char *seed) -{ - return crypto_box_curve25519xsalsa20poly1305_seed_keypair(pk, sk, seed); -} - -int -crypto_box_keypair(unsigned char *pk, unsigned char *sk) -{ - return crypto_box_curve25519xsalsa20poly1305_keypair(pk, sk); -} - -int -crypto_box_beforenm(unsigned char *k, const unsigned char *pk, - const unsigned char *sk) -{ - return crypto_box_curve25519xsalsa20poly1305_beforenm(k, pk, sk); -} - -int -crypto_box_afternm(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - return crypto_box_curve25519xsalsa20poly1305_afternm(c, m, mlen, n, k); -} - -int -crypto_box_open_afternm(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - return crypto_box_curve25519xsalsa20poly1305_open_afternm(m, c, clen, n, k); -} - -int -crypto_box(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *pk, const unsigned char *sk) -{ - return crypto_box_curve25519xsalsa20poly1305(c, m, mlen, n, pk, sk); -} - -int -crypto_box_open(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *pk, const unsigned char *sk) -{ - return crypto_box_curve25519xsalsa20poly1305_open(m, c, clen, n, pk, sk); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/crypto_box_easy.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/crypto_box_easy.c deleted file mode 100755 index 364a359c5..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/crypto_box_easy.c +++ /dev/null @@ -1,114 +0,0 @@ - -#include -#include -#include - -#include "crypto_box.h" -#include "crypto_secretbox.h" -#include "private/common.h" -#include "utils.h" - -int -crypto_box_detached_afternm(unsigned char *c, unsigned char *mac, - const unsigned char *m, unsigned long long mlen, - const unsigned char *n, const unsigned char *k) -{ - return crypto_secretbox_detached(c, mac, m, mlen, n, k); -} - -int -crypto_box_detached(unsigned char *c, unsigned char *mac, - const unsigned char *m, unsigned long long mlen, - const unsigned char *n, const unsigned char *pk, - const unsigned char *sk) -{ - unsigned char k[crypto_box_BEFORENMBYTES]; - int ret; - - COMPILER_ASSERT(crypto_box_BEFORENMBYTES >= crypto_secretbox_KEYBYTES); - if (crypto_box_beforenm(k, pk, sk) != 0) { - return -1; - } - ret = crypto_box_detached_afternm(c, mac, m, mlen, n, k); - sodium_memzero(k, sizeof k); - - return ret; -} - -int -crypto_box_easy_afternm(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - if (mlen > SIZE_MAX - crypto_box_MACBYTES) { - return -1; - } - return crypto_box_detached_afternm(c + crypto_box_MACBYTES, c, m, mlen, n, - k); -} - -int -crypto_box_easy(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *pk, const unsigned char *sk) -{ - if (mlen > SIZE_MAX - crypto_box_MACBYTES) { - return -1; - } - return crypto_box_detached(c + crypto_box_MACBYTES, c, m, mlen, n, - pk, sk); -} - -int -crypto_box_open_detached_afternm(unsigned char *m, const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) -{ - return crypto_secretbox_open_detached(m, c, mac, clen, n, k); -} - -int -crypto_box_open_detached(unsigned char *m, const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, const unsigned char *n, - const unsigned char *pk, const unsigned char *sk) -{ - unsigned char k[crypto_box_BEFORENMBYTES]; - int ret; - - if (crypto_box_beforenm(k, pk, sk) != 0) { - return -1; - } - ret = crypto_box_open_detached_afternm(m, c, mac, clen, n, k); - sodium_memzero(k, sizeof k); - - return ret; -} - -int -crypto_box_open_easy_afternm(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - if (clen < crypto_box_MACBYTES) { - return -1; - } - return crypto_box_open_detached_afternm(m, c + crypto_box_MACBYTES, c, - clen - crypto_box_MACBYTES, - n, k); -} - -int -crypto_box_open_easy(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *pk, const unsigned char *sk) -{ - if (clen < crypto_box_MACBYTES) { - return -1; - } - return crypto_box_open_detached(m, c + crypto_box_MACBYTES, c, - clen - crypto_box_MACBYTES, - n, pk, sk); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/crypto_box_seal.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/crypto_box_seal.c deleted file mode 100755 index 718133457..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/crypto_box_seal.c +++ /dev/null @@ -1,68 +0,0 @@ - -#include - -#include "crypto_box.h" -#include "crypto_generichash.h" -#include "private/common.h" -#include "utils.h" - -static int -_crypto_box_seal_nonce(unsigned char *nonce, - const unsigned char *pk1, const unsigned char *pk2) -{ - crypto_generichash_state st; - - crypto_generichash_init(&st, NULL, 0U, crypto_box_NONCEBYTES); - crypto_generichash_update(&st, pk1, crypto_box_PUBLICKEYBYTES); - crypto_generichash_update(&st, pk2, crypto_box_PUBLICKEYBYTES); - crypto_generichash_final(&st, nonce, crypto_box_NONCEBYTES); - - return 0; -} - -int -crypto_box_seal(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *pk) -{ - unsigned char nonce[crypto_box_NONCEBYTES]; - unsigned char epk[crypto_box_PUBLICKEYBYTES]; - unsigned char esk[crypto_box_SECRETKEYBYTES]; - int ret; - - if (crypto_box_keypair(epk, esk) != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - memcpy(c, epk, crypto_box_PUBLICKEYBYTES); - _crypto_box_seal_nonce(nonce, epk, pk); - ret = crypto_box_easy(c + crypto_box_PUBLICKEYBYTES, m, mlen, - nonce, pk, esk); - sodium_memzero(esk, sizeof esk); - sodium_memzero(epk, sizeof epk); - sodium_memzero(nonce, sizeof nonce); - - return ret; -} - -int -crypto_box_seal_open(unsigned char *m, const unsigned char *c, - unsigned long long clen, - const unsigned char *pk, const unsigned char *sk) -{ - unsigned char nonce[crypto_box_NONCEBYTES]; - - if (clen < crypto_box_SEALBYTES) { - return -1; - } - _crypto_box_seal_nonce(nonce, c, pk); - - COMPILER_ASSERT(crypto_box_PUBLICKEYBYTES < crypto_box_SEALBYTES); - return crypto_box_open_easy(m, c + crypto_box_PUBLICKEYBYTES, - clen - crypto_box_PUBLICKEYBYTES, - nonce, c, sk); -} - -size_t -crypto_box_sealbytes(void) -{ - return crypto_box_SEALBYTES; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c deleted file mode 100755 index 1ccf8076c..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/curve25519xchacha20poly1305/box_curve25519xchacha20poly1305.c +++ /dev/null @@ -1,197 +0,0 @@ - -#include -#include -#include -#include - -#include "crypto_box_curve25519xchacha20poly1305.h" -#include "crypto_core_hchacha20.h" -#include "crypto_hash_sha512.h" -#include "crypto_scalarmult_curve25519.h" -#include "crypto_secretbox_xchacha20poly1305.h" -#include "private/common.h" -#include "randombytes.h" -#include "utils.h" - -int -crypto_box_curve25519xchacha20poly1305_seed_keypair(unsigned char * pk, - unsigned char * sk, - const unsigned char *seed) -{ - unsigned char hash[64]; - - crypto_hash_sha512(hash, seed, 32); - memcpy(sk, hash, 32); - sodium_memzero(hash, sizeof hash); - - return crypto_scalarmult_curve25519_base(pk, sk); -} - -int -crypto_box_curve25519xchacha20poly1305_keypair(unsigned char *pk, - unsigned char *sk) -{ - randombytes_buf(sk, 32); - - return crypto_scalarmult_curve25519_base(pk, sk); -} - -int -crypto_box_curve25519xchacha20poly1305_beforenm(unsigned char * k, - const unsigned char *pk, - const unsigned char *sk) -{ - static const unsigned char zero[16] = { 0 }; - unsigned char s[32]; - - if (crypto_scalarmult_curve25519(s, sk, pk) != 0) { - return -1; - } - return crypto_core_hchacha20(k, zero, s, NULL); -} - -int -crypto_box_curve25519xchacha20poly1305_detached_afternm( - unsigned char *c, unsigned char *mac, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, const unsigned char *k) -{ - return crypto_secretbox_xchacha20poly1305_detached(c, mac, m, mlen, n, k); -} - -int -crypto_box_curve25519xchacha20poly1305_detached( - unsigned char *c, unsigned char *mac, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, const unsigned char *pk, - const unsigned char *sk) -{ - unsigned char k[crypto_box_curve25519xchacha20poly1305_BEFORENMBYTES]; - int ret; - - COMPILER_ASSERT(crypto_box_curve25519xchacha20poly1305_BEFORENMBYTES >= - crypto_secretbox_xchacha20poly1305_KEYBYTES); - if (crypto_box_curve25519xchacha20poly1305_beforenm(k, pk, sk) != 0) { - return -1; - } - ret = crypto_box_curve25519xchacha20poly1305_detached_afternm(c, mac, m, - mlen, n, k); - sodium_memzero(k, sizeof k); - - return ret; -} - -int -crypto_box_curve25519xchacha20poly1305_easy_afternm(unsigned char * c, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k) -{ - if (mlen > SIZE_MAX - crypto_box_curve25519xchacha20poly1305_MACBYTES) { - return -1; - } - return crypto_box_curve25519xchacha20poly1305_detached_afternm( - c + crypto_box_curve25519xchacha20poly1305_MACBYTES, c, m, mlen, n, k); -} - -int -crypto_box_curve25519xchacha20poly1305_easy( - unsigned char *c, const unsigned char *m, unsigned long long mlen, - const unsigned char *n, const unsigned char *pk, const unsigned char *sk) -{ - if (mlen > SIZE_MAX - crypto_box_curve25519xchacha20poly1305_MACBYTES) { - return -1; - } - return crypto_box_curve25519xchacha20poly1305_detached( - c + crypto_box_curve25519xchacha20poly1305_MACBYTES, c, m, mlen, n, pk, - sk); -} - -int -crypto_box_curve25519xchacha20poly1305_open_detached_afternm( - unsigned char *m, const unsigned char *c, const unsigned char *mac, - unsigned long long clen, const unsigned char *n, const unsigned char *k) -{ - return crypto_secretbox_xchacha20poly1305_open_detached(m, c, mac, clen, n, - k); -} - -int -crypto_box_curve25519xchacha20poly1305_open_detached( - unsigned char *m, const unsigned char *c, const unsigned char *mac, - unsigned long long clen, const unsigned char *n, const unsigned char *pk, - const unsigned char *sk) -{ - unsigned char k[crypto_box_curve25519xchacha20poly1305_BEFORENMBYTES]; - int ret; - - if (crypto_box_curve25519xchacha20poly1305_beforenm(k, pk, sk) != 0) { - return -1; - } - ret = crypto_box_curve25519xchacha20poly1305_open_detached_afternm( - m, c, mac, clen, n, k); - sodium_memzero(k, sizeof k); - - return ret; -} - -int -crypto_box_curve25519xchacha20poly1305_open_easy_afternm( - unsigned char *m, const unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - if (clen < crypto_box_curve25519xchacha20poly1305_MACBYTES) { - return -1; - } - return crypto_box_curve25519xchacha20poly1305_open_detached_afternm( - m, c + crypto_box_curve25519xchacha20poly1305_MACBYTES, c, - clen - crypto_box_curve25519xchacha20poly1305_MACBYTES, n, k); -} - -int -crypto_box_curve25519xchacha20poly1305_open_easy( - unsigned char *m, const unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *pk, const unsigned char *sk) -{ - if (clen < crypto_box_curve25519xchacha20poly1305_MACBYTES) { - return -1; - } - return crypto_box_curve25519xchacha20poly1305_open_detached( - m, c + crypto_box_curve25519xchacha20poly1305_MACBYTES, c, - clen - crypto_box_curve25519xchacha20poly1305_MACBYTES, n, pk, sk); -} - -size_t -crypto_box_curve25519xchacha20poly1305_seedbytes(void) -{ - return crypto_box_curve25519xchacha20poly1305_SEEDBYTES; -} - -size_t -crypto_box_curve25519xchacha20poly1305_publickeybytes(void) -{ - return crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES; -} - -size_t -crypto_box_curve25519xchacha20poly1305_secretkeybytes(void) -{ - return crypto_box_curve25519xchacha20poly1305_SECRETKEYBYTES; -} - -size_t -crypto_box_curve25519xchacha20poly1305_beforenmbytes(void) -{ - return crypto_box_curve25519xchacha20poly1305_BEFORENMBYTES; -} - -size_t -crypto_box_curve25519xchacha20poly1305_noncebytes(void) -{ - return crypto_box_curve25519xchacha20poly1305_NONCEBYTES; -} - -size_t -crypto_box_curve25519xchacha20poly1305_macbytes(void) -{ - return crypto_box_curve25519xchacha20poly1305_MACBYTES; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c deleted file mode 100755 index eac9dce09..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c +++ /dev/null @@ -1,150 +0,0 @@ -#include - -#include "crypto_box_curve25519xsalsa20poly1305.h" -#include "crypto_core_hsalsa20.h" -#include "crypto_hash_sha512.h" -#include "crypto_scalarmult_curve25519.h" -#include "crypto_secretbox_xsalsa20poly1305.h" -#include "randombytes.h" -#include "utils.h" - -int -crypto_box_curve25519xsalsa20poly1305_seed_keypair(unsigned char * pk, - unsigned char * sk, - const unsigned char *seed) -{ - unsigned char hash[64]; - - crypto_hash_sha512(hash, seed, 32); - memcpy(sk, hash, 32); - sodium_memzero(hash, sizeof hash); - - return crypto_scalarmult_curve25519_base(pk, sk); -} - -int -crypto_box_curve25519xsalsa20poly1305_keypair(unsigned char *pk, - unsigned char *sk) -{ - randombytes_buf(sk, 32); - - return crypto_scalarmult_curve25519_base(pk, sk); -} - -int -crypto_box_curve25519xsalsa20poly1305_beforenm(unsigned char * k, - const unsigned char *pk, - const unsigned char *sk) -{ - static const unsigned char zero[16] = { 0 }; - unsigned char s[32]; - - if (crypto_scalarmult_curve25519(s, sk, pk) != 0) { - return -1; - } - return crypto_core_hsalsa20(k, zero, s, NULL); -} - -int -crypto_box_curve25519xsalsa20poly1305_afternm(unsigned char * c, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k) -{ - return crypto_secretbox_xsalsa20poly1305(c, m, mlen, n, k); -} - -int -crypto_box_curve25519xsalsa20poly1305_open_afternm(unsigned char * m, - const unsigned char *c, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) -{ - return crypto_secretbox_xsalsa20poly1305_open(m, c, clen, n, k); -} - -int -crypto_box_curve25519xsalsa20poly1305(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *pk, - const unsigned char *sk) -{ - unsigned char k[crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES]; - int ret; - - if (crypto_box_curve25519xsalsa20poly1305_beforenm(k, pk, sk) != 0) { - return -1; - } - ret = crypto_box_curve25519xsalsa20poly1305_afternm(c, m, mlen, n, k); - sodium_memzero(k, sizeof k); - - return ret; -} - -int -crypto_box_curve25519xsalsa20poly1305_open( - unsigned char *m, const unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *pk, const unsigned char *sk) -{ - unsigned char k[crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES]; - int ret; - - if (crypto_box_curve25519xsalsa20poly1305_beforenm(k, pk, sk) != 0) { - return -1; - } - ret = crypto_box_curve25519xsalsa20poly1305_open_afternm(m, c, clen, n, k); - sodium_memzero(k, sizeof k); - - return ret; -} - -size_t -crypto_box_curve25519xsalsa20poly1305_seedbytes(void) -{ - return crypto_box_curve25519xsalsa20poly1305_SEEDBYTES; -} - -size_t -crypto_box_curve25519xsalsa20poly1305_publickeybytes(void) -{ - return crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES; -} - -size_t -crypto_box_curve25519xsalsa20poly1305_secretkeybytes(void) -{ - return crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES; -} - -size_t -crypto_box_curve25519xsalsa20poly1305_beforenmbytes(void) -{ - return crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES; -} - -size_t -crypto_box_curve25519xsalsa20poly1305_noncebytes(void) -{ - return crypto_box_curve25519xsalsa20poly1305_NONCEBYTES; -} - -size_t -crypto_box_curve25519xsalsa20poly1305_zerobytes(void) -{ - return crypto_box_curve25519xsalsa20poly1305_ZEROBYTES; -} - -size_t -crypto_box_curve25519xsalsa20poly1305_boxzerobytes(void) -{ - return crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES; -} - -size_t -crypto_box_curve25519xsalsa20poly1305_macbytes(void) -{ - return crypto_box_curve25519xsalsa20poly1305_MACBYTES; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/curve25519/ref10/base.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/curve25519/ref10/base.h deleted file mode 100755 index 573bd8a05..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/curve25519/ref10/base.h +++ /dev/null @@ -1,1344 +0,0 @@ -{ - { - { 25967493,-14356035,29566456,3660896,-12694345,4014787,27544626,-11754271,-6079156,2047605 }, - { -12545711,934262,-2722910,3049990,-727428,9406986,12720692,5043384,19500929,-15469378 }, - { -8738181,4489570,9688441,-14785194,10184609,-12363380,29287919,11864899,-24514362,-4438546 }, - }, - { - { -12815894,-12976347,-21581243,11784320,-25355658,-2750717,-11717903,-3814571,-358445,-10211303 }, - { -21703237,6903825,27185491,6451973,-29577724,-9554005,-15616551,11189268,-26829678,-5319081 }, - { 26966642,11152617,32442495,15396054,14353839,-12752335,-3128826,-9541118,-15472047,-4166697 }, - }, - { - { 15636291,-9688557,24204773,-7912398,616977,-16685262,27787600,-14772189,28944400,-1550024 }, - { 16568933,4717097,-11556148,-1102322,15682896,-11807043,16354577,-11775962,7689662,11199574 }, - { 30464156,-5976125,-11779434,-15670865,23220365,15915852,7512774,10017326,-17749093,-9920357 }, - }, - { - { -17036878,13921892,10945806,-6033431,27105052,-16084379,-28926210,15006023,3284568,-6276540 }, - { 23599295,-8306047,-11193664,-7687416,13236774,10506355,7464579,9656445,13059162,10374397 }, - { 7798556,16710257,3033922,2874086,28997861,2835604,32406664,-3839045,-641708,-101325 }, - }, - { - { 10861363,11473154,27284546,1981175,-30064349,12577861,32867885,14515107,-15438304,10819380 }, - { 4708026,6336745,20377586,9066809,-11272109,6594696,-25653668,12483688,-12668491,5581306 }, - { 19563160,16186464,-29386857,4097519,10237984,-4348115,28542350,13850243,-23678021,-15815942 }, - }, - { - { -15371964,-12862754,32573250,4720197,-26436522,5875511,-19188627,-15224819,-9818940,-12085777 }, - { -8549212,109983,15149363,2178705,22900618,4543417,3044240,-15689887,1762328,14866737 }, - { -18199695,-15951423,-10473290,1707278,-17185920,3916101,-28236412,3959421,27914454,4383652 }, - }, - { - { 5153746,9909285,1723747,-2777874,30523605,5516873,19480852,5230134,-23952439,-15175766 }, - { -30269007,-3463509,7665486,10083793,28475525,1649722,20654025,16520125,30598449,7715701 }, - { 28881845,14381568,9657904,3680757,-20181635,7843316,-31400660,1370708,29794553,-1409300 }, - }, - { - { 14499471,-2729599,-33191113,-4254652,28494862,14271267,30290735,10876454,-33154098,2381726 }, - { -7195431,-2655363,-14730155,462251,-27724326,3941372,-6236617,3696005,-32300832,15351955 }, - { 27431194,8222322,16448760,-3907995,-18707002,11938355,-32961401,-2970515,29551813,10109425 }, - }, -}, -{ - { - { -13657040,-13155431,-31283750,11777098,21447386,6519384,-2378284,-1627556,10092783,-4764171 }, - { 27939166,14210322,4677035,16277044,-22964462,-12398139,-32508754,12005538,-17810127,12803510 }, - { 17228999,-15661624,-1233527,300140,-1224870,-11714777,30364213,-9038194,18016357,4397660 }, - }, - { - { -10958843,-7690207,4776341,-14954238,27850028,-15602212,-26619106,14544525,-17477504,982639 }, - { 29253598,15796703,-2863982,-9908884,10057023,3163536,7332899,-4120128,-21047696,9934963 }, - { 5793303,16271923,-24131614,-10116404,29188560,1206517,-14747930,4559895,-30123922,-10897950 }, - }, - { - { -27643952,-11493006,16282657,-11036493,28414021,-15012264,24191034,4541697,-13338309,5500568 }, - { 12650548,-1497113,9052871,11355358,-17680037,-8400164,-17430592,12264343,10874051,13524335 }, - { 25556948,-3045990,714651,2510400,23394682,-10415330,33119038,5080568,-22528059,5376628 }, - }, - { - { -26088264,-4011052,-17013699,-3537628,-6726793,1920897,-22321305,-9447443,4535768,1569007 }, - { -2255422,14606630,-21692440,-8039818,28430649,8775819,-30494562,3044290,31848280,12543772 }, - { -22028579,2943893,-31857513,6777306,13784462,-4292203,-27377195,-2062731,7718482,14474653 }, - }, - { - { 2385315,2454213,-22631320,46603,-4437935,-15680415,656965,-7236665,24316168,-5253567 }, - { 13741529,10911568,-33233417,-8603737,-20177830,-1033297,33040651,-13424532,-20729456,8321686 }, - { 21060490,-2212744,15712757,-4336099,1639040,10656336,23845965,-11874838,-9984458,608372 }, - }, - { - { -13672732,-15087586,-10889693,-7557059,-6036909,11305547,1123968,-6780577,27229399,23887 }, - { -23244140,-294205,-11744728,14712571,-29465699,-2029617,12797024,-6440308,-1633405,16678954 }, - { -29500620,4770662,-16054387,14001338,7830047,9564805,-1508144,-4795045,-17169265,4904953 }, - }, - { - { 24059557,14617003,19037157,-15039908,19766093,-14906429,5169211,16191880,2128236,-4326833 }, - { -16981152,4124966,-8540610,-10653797,30336522,-14105247,-29806336,916033,-6882542,-2986532 }, - { -22630907,12419372,-7134229,-7473371,-16478904,16739175,285431,2763829,15736322,4143876 }, - }, - { - { 2379352,11839345,-4110402,-5988665,11274298,794957,212801,-14594663,23527084,-16458268 }, - { 33431127,-11130478,-17838966,-15626900,8909499,8376530,-32625340,4087881,-15188911,-14416214 }, - { 1767683,7197987,-13205226,-2022635,-13091350,448826,5799055,4357868,-4774191,-16323038 }, - }, -}, -{ - { - { 6721966,13833823,-23523388,-1551314,26354293,-11863321,23365147,-3949732,7390890,2759800 }, - { 4409041,2052381,23373853,10530217,7676779,-12885954,21302353,-4264057,1244380,-12919645 }, - { -4421239,7169619,4982368,-2957590,30256825,-2777540,14086413,9208236,15886429,16489664 }, - }, - { - { 1996075,10375649,14346367,13311202,-6874135,-16438411,-13693198,398369,-30606455,-712933 }, - { -25307465,9795880,-2777414,14878809,-33531835,14780363,13348553,12076947,-30836462,5113182 }, - { -17770784,11797796,31950843,13929123,-25888302,12288344,-30341101,-7336386,13847711,5387222 }, - }, - { - { -18582163,-3416217,17824843,-2340966,22744343,-10442611,8763061,3617786,-19600662,10370991 }, - { 20246567,-14369378,22358229,-543712,18507283,-10413996,14554437,-8746092,32232924,16763880 }, - { 9648505,10094563,26416693,14745928,-30374318,-6472621,11094161,15689506,3140038,-16510092 }, - }, - { - { -16160072,5472695,31895588,4744994,8823515,10365685,-27224800,9448613,-28774454,366295 }, - { 19153450,11523972,-11096490,-6503142,-24647631,5420647,28344573,8041113,719605,11671788 }, - { 8678025,2694440,-6808014,2517372,4964326,11152271,-15432916,-15266516,27000813,-10195553 }, - }, - { - { -15157904,7134312,8639287,-2814877,-7235688,10421742,564065,5336097,6750977,-14521026 }, - { 11836410,-3979488,26297894,16080799,23455045,15735944,1695823,-8819122,8169720,16220347 }, - { -18115838,8653647,17578566,-6092619,-8025777,-16012763,-11144307,-2627664,-5990708,-14166033 }, - }, - { - { -23308498,-10968312,15213228,-10081214,-30853605,-11050004,27884329,2847284,2655861,1738395 }, - { -27537433,-14253021,-25336301,-8002780,-9370762,8129821,21651608,-3239336,-19087449,-11005278 }, - { 1533110,3437855,23735889,459276,29970501,11335377,26030092,5821408,10478196,8544890 }, - }, - { - { 32173121,-16129311,24896207,3921497,22579056,-3410854,19270449,12217473,17789017,-3395995 }, - { -30552961,-2228401,-15578829,-10147201,13243889,517024,15479401,-3853233,30460520,1052596 }, - { -11614875,13323618,32618793,8175907,-15230173,12596687,27491595,-4612359,3179268,-9478891 }, - }, - { - { 31947069,-14366651,-4640583,-15339921,-15125977,-6039709,-14756777,-16411740,19072640,-9511060 }, - { 11685058,11822410,3158003,-13952594,33402194,-4165066,5977896,-5215017,473099,5040608 }, - { -20290863,8198642,-27410132,11602123,1290375,-2799760,28326862,1721092,-19558642,-3131606 }, - }, -}, -{ - { - { 7881532,10687937,7578723,7738378,-18951012,-2553952,21820786,8076149,-27868496,11538389 }, - { -19935666,3899861,18283497,-6801568,-15728660,-11249211,8754525,7446702,-5676054,5797016 }, - { -11295600,-3793569,-15782110,-7964573,12708869,-8456199,2014099,-9050574,-2369172,-5877341 }, - }, - { - { -22472376,-11568741,-27682020,1146375,18956691,16640559,1192730,-3714199,15123619,10811505 }, - { 14352098,-3419715,-18942044,10822655,32750596,4699007,-70363,15776356,-28886779,-11974553 }, - { -28241164,-8072475,-4978962,-5315317,29416931,1847569,-20654173,-16484855,4714547,-9600655 }, - }, - { - { 15200332,8368572,19679101,15970074,-31872674,1959451,24611599,-4543832,-11745876,12340220 }, - { 12876937,-10480056,33134381,6590940,-6307776,14872440,9613953,8241152,15370987,9608631 }, - { -4143277,-12014408,8446281,-391603,4407738,13629032,-7724868,15866074,-28210621,-8814099 }, - }, - { - { 26660628,-15677655,8393734,358047,-7401291,992988,-23904233,858697,20571223,8420556 }, - { 14620715,13067227,-15447274,8264467,14106269,15080814,33531827,12516406,-21574435,-12476749 }, - { 236881,10476226,57258,-14677024,6472998,2466984,17258519,7256740,8791136,15069930 }, - }, - { - { 1276410,-9371918,22949635,-16322807,-23493039,-5702186,14711875,4874229,-30663140,-2331391 }, - { 5855666,4990204,-13711848,7294284,-7804282,1924647,-1423175,-7912378,-33069337,9234253 }, - { 20590503,-9018988,31529744,-7352666,-2706834,10650548,31559055,-11609587,18979186,13396066 }, - }, - { - { 24474287,4968103,22267082,4407354,24063882,-8325180,-18816887,13594782,33514650,7021958 }, - { -11566906,-6565505,-21365085,15928892,-26158305,4315421,-25948728,-3916677,-21480480,12868082 }, - { -28635013,13504661,19988037,-2132761,21078225,6443208,-21446107,2244500,-12455797,-8089383 }, - }, - { - { -30595528,13793479,-5852820,319136,-25723172,-6263899,33086546,8957937,-15233648,5540521 }, - { -11630176,-11503902,-8119500,-7643073,2620056,1022908,-23710744,-1568984,-16128528,-14962807 }, - { 23152971,775386,27395463,14006635,-9701118,4649512,1689819,892185,-11513277,-15205948 }, - }, - { - { 9770129,9586738,26496094,4324120,1556511,-3550024,27453819,4763127,-19179614,5867134 }, - { -32765025,1927590,31726409,-4753295,23962434,-16019500,27846559,5931263,-29749703,-16108455 }, - { 27461885,-2977536,22380810,1815854,-23033753,-3031938,7283490,-15148073,-19526700,7734629 }, - }, -}, -{ - { - { -8010264,-9590817,-11120403,6196038,29344158,-13430885,7585295,-3176626,18549497,15302069 }, - { -32658337,-6171222,-7672793,-11051681,6258878,13504381,10458790,-6418461,-8872242,8424746 }, - { 24687205,8613276,-30667046,-3233545,1863892,-1830544,19206234,7134917,-11284482,-828919 }, - }, - { - { 11334899,-9218022,8025293,12707519,17523892,-10476071,10243738,-14685461,-5066034,16498837 }, - { 8911542,6887158,-9584260,-6958590,11145641,-9543680,17303925,-14124238,6536641,10543906 }, - { -28946384,15479763,-17466835,568876,-1497683,11223454,-2669190,-16625574,-27235709,8876771 }, - }, - { - { -25742899,-12566864,-15649966,-846607,-33026686,-796288,-33481822,15824474,-604426,-9039817 }, - { 10330056,70051,7957388,-9002667,9764902,15609756,27698697,-4890037,1657394,3084098 }, - { 10477963,-7470260,12119566,-13250805,29016247,-5365589,31280319,14396151,-30233575,15272409 }, - }, - { - { -12288309,3169463,28813183,16658753,25116432,-5630466,-25173957,-12636138,-25014757,1950504 }, - { -26180358,9489187,11053416,-14746161,-31053720,5825630,-8384306,-8767532,15341279,8373727 }, - { 28685821,7759505,-14378516,-12002860,-31971820,4079242,298136,-10232602,-2878207,15190420 }, - }, - { - { -32932876,13806336,-14337485,-15794431,-24004620,10940928,8669718,2742393,-26033313,-6875003 }, - { -1580388,-11729417,-25979658,-11445023,-17411874,-10912854,9291594,-16247779,-12154742,6048605 }, - { -30305315,14843444,1539301,11864366,20201677,1900163,13934231,5128323,11213262,9168384 }, - }, - { - { -26280513,11007847,19408960,-940758,-18592965,-4328580,-5088060,-11105150,20470157,-16398701 }, - { -23136053,9282192,14855179,-15390078,-7362815,-14408560,-22783952,14461608,14042978,5230683 }, - { 29969567,-2741594,-16711867,-8552442,9175486,-2468974,21556951,3506042,-5933891,-12449708 }, - }, - { - { -3144746,8744661,19704003,4581278,-20430686,6830683,-21284170,8971513,-28539189,15326563 }, - { -19464629,10110288,-17262528,-3503892,-23500387,1355669,-15523050,15300988,-20514118,9168260 }, - { -5353335,4488613,-23803248,16314347,7780487,-15638939,-28948358,9601605,33087103,-9011387 }, - }, - { - { -19443170,-15512900,-20797467,-12445323,-29824447,10229461,-27444329,-15000531,-5996870,15664672 }, - { 23294591,-16632613,-22650781,-8470978,27844204,11461195,13099750,-2460356,18151676,13417686 }, - { -24722913,-4176517,-31150679,5988919,-26858785,6685065,1661597,-12551441,15271676,-15452665 }, - }, -}, -{ - { - { 11433042,-13228665,8239631,-5279517,-1985436,-725718,-18698764,2167544,-6921301,-13440182 }, - { -31436171,15575146,30436815,12192228,-22463353,9395379,-9917708,-8638997,12215110,12028277 }, - { 14098400,6555944,23007258,5757252,-15427832,-12950502,30123440,4617780,-16900089,-655628 }, - }, - { - { -4026201,-15240835,11893168,13718664,-14809462,1847385,-15819999,10154009,23973261,-12684474 }, - { -26531820,-3695990,-1908898,2534301,-31870557,-16550355,18341390,-11419951,32013174,-10103539 }, - { -25479301,10876443,-11771086,-14625140,-12369567,1838104,21911214,6354752,4425632,-837822 }, - }, - { - { -10433389,-14612966,22229858,-3091047,-13191166,776729,-17415375,-12020462,4725005,14044970 }, - { 19268650,-7304421,1555349,8692754,-21474059,-9910664,6347390,-1411784,-19522291,-16109756 }, - { -24864089,12986008,-10898878,-5558584,-11312371,-148526,19541418,8180106,9282262,10282508 }, - }, - { - { -26205082,4428547,-8661196,-13194263,4098402,-14165257,15522535,8372215,5542595,-10702683 }, - { -10562541,14895633,26814552,-16673850,-17480754,-2489360,-2781891,6993761,-18093885,10114655 }, - { -20107055,-929418,31422704,10427861,-7110749,6150669,-29091755,-11529146,25953725,-106158 }, - }, - { - { -4234397,-8039292,-9119125,3046000,2101609,-12607294,19390020,6094296,-3315279,12831125 }, - { -15998678,7578152,5310217,14408357,-33548620,-224739,31575954,6326196,7381791,-2421839 }, - { -20902779,3296811,24736065,-16328389,18374254,7318640,6295303,8082724,-15362489,12339664 }, - }, - { - { 27724736,2291157,6088201,-14184798,1792727,5857634,13848414,15768922,25091167,14856294 }, - { -18866652,8331043,24373479,8541013,-701998,-9269457,12927300,-12695493,-22182473,-9012899 }, - { -11423429,-5421590,11632845,3405020,30536730,-11674039,-27260765,13866390,30146206,9142070 }, - }, - { - { 3924129,-15307516,-13817122,-10054960,12291820,-668366,-27702774,9326384,-8237858,4171294 }, - { -15921940,16037937,6713787,16606682,-21612135,2790944,26396185,3731949,345228,-5462949 }, - { -21327538,13448259,25284571,1143661,20614966,-8849387,2031539,-12391231,-16253183,-13582083 }, - }, - { - { 31016211,-16722429,26371392,-14451233,-5027349,14854137,17477601,3842657,28012650,-16405420 }, - { -5075835,9368966,-8562079,-4600902,-15249953,6970560,-9189873,16292057,-8867157,3507940 }, - { 29439664,3537914,23333589,6997794,-17555561,-11018068,-15209202,-15051267,-9164929,6580396 }, - }, -}, -{ - { - { -12185861,-7679788,16438269,10826160,-8696817,-6235611,17860444,-9273846,-2095802,9304567 }, - { 20714564,-4336911,29088195,7406487,11426967,-5095705,14792667,-14608617,5289421,-477127 }, - { -16665533,-10650790,-6160345,-13305760,9192020,-1802462,17271490,12349094,26939669,-3752294 }, - }, - { - { -12889898,9373458,31595848,16374215,21471720,13221525,-27283495,-12348559,-3698806,117887 }, - { 22263325,-6560050,3984570,-11174646,-15114008,-566785,28311253,5358056,-23319780,541964 }, - { 16259219,3261970,2309254,-15534474,-16885711,-4581916,24134070,-16705829,-13337066,-13552195 }, - }, - { - { 9378160,-13140186,-22845982,-12745264,28198281,-7244098,-2399684,-717351,690426,14876244 }, - { 24977353,-314384,-8223969,-13465086,28432343,-1176353,-13068804,-12297348,-22380984,6618999 }, - { -1538174,11685646,12944378,13682314,-24389511,-14413193,8044829,-13817328,32239829,-5652762 }, - }, - { - { -18603066,4762990,-926250,8885304,-28412480,-3187315,9781647,-10350059,32779359,5095274 }, - { -33008130,-5214506,-32264887,-3685216,9460461,-9327423,-24601656,14506724,21639561,-2630236 }, - { -16400943,-13112215,25239338,15531969,3987758,-4499318,-1289502,-6863535,17874574,558605 }, - }, - { - { -13600129,10240081,9171883,16131053,-20869254,9599700,33499487,5080151,2085892,5119761 }, - { -22205145,-2519528,-16381601,414691,-25019550,2170430,30634760,-8363614,-31999993,-5759884 }, - { -6845704,15791202,8550074,-1312654,29928809,-12092256,27534430,-7192145,-22351378,12961482 }, - }, - { - { -24492060,-9570771,10368194,11582341,-23397293,-2245287,16533930,8206996,-30194652,-5159638 }, - { -11121496,-3382234,2307366,6362031,-135455,8868177,-16835630,7031275,7589640,8945490 }, - { -32152748,8917967,6661220,-11677616,-1192060,-15793393,7251489,-11182180,24099109,-14456170 }, - }, - { - { 5019558,-7907470,4244127,-14714356,-26933272,6453165,-19118182,-13289025,-6231896,-10280736 }, - { 10853594,10721687,26480089,5861829,-22995819,1972175,-1866647,-10557898,-3363451,-6441124 }, - { -17002408,5906790,221599,-6563147,7828208,-13248918,24362661,-2008168,-13866408,7421392 }, - }, - { - { 8139927,-6546497,32257646,-5890546,30375719,1886181,-21175108,15441252,28826358,-4123029 }, - { 6267086,9695052,7709135,-16603597,-32869068,-1886135,14795160,-7840124,13746021,-1742048 }, - { 28584902,7787108,-6732942,-15050729,22846041,-7571236,-3181936,-363524,4771362,-8419958 }, - }, -}, -{ - { - { 24949256,6376279,-27466481,-8174608,-18646154,-9930606,33543569,-12141695,3569627,11342593 }, - { 26514989,4740088,27912651,3697550,19331575,-11472339,6809886,4608608,7325975,-14801071 }, - { -11618399,-14554430,-24321212,7655128,-1369274,5214312,-27400540,10258390,-17646694,-8186692 }, - }, - { - { 11431204,15823007,26570245,14329124,18029990,4796082,-31446179,15580664,9280358,-3973687 }, - { -160783,-10326257,-22855316,-4304997,-20861367,-13621002,-32810901,-11181622,-15545091,4387441 }, - { -20799378,12194512,3937617,-5805892,-27154820,9340370,-24513992,8548137,20617071,-7482001 }, - }, - { - { -938825,-3930586,-8714311,16124718,24603125,-6225393,-13775352,-11875822,24345683,10325460 }, - { -19855277,-1568885,-22202708,8714034,14007766,6928528,16318175,-1010689,4766743,3552007 }, - { -21751364,-16730916,1351763,-803421,-4009670,3950935,3217514,14481909,10988822,-3994762 }, - }, - { - { 15564307,-14311570,3101243,5684148,30446780,-8051356,12677127,-6505343,-8295852,13296005 }, - { -9442290,6624296,-30298964,-11913677,-4670981,-2057379,31521204,9614054,-30000824,12074674 }, - { 4771191,-135239,14290749,-13089852,27992298,14998318,-1413936,-1556716,29832613,-16391035 }, - }, - { - { 7064884,-7541174,-19161962,-5067537,-18891269,-2912736,25825242,5293297,-27122660,13101590 }, - { -2298563,2439670,-7466610,1719965,-27267541,-16328445,32512469,-5317593,-30356070,-4190957 }, - { -30006540,10162316,-33180176,3981723,-16482138,-13070044,14413974,9515896,19568978,9628812 }, - }, - { - { 33053803,199357,15894591,1583059,27380243,-4580435,-17838894,-6106839,-6291786,3437740 }, - { -18978877,3884493,19469877,12726490,15913552,13614290,-22961733,70104,7463304,4176122 }, - { -27124001,10659917,11482427,-16070381,12771467,-6635117,-32719404,-5322751,24216882,5944158 }, - }, - { - { 8894125,7450974,-2664149,-9765752,-28080517,-12389115,19345746,14680796,11632993,5847885 }, - { 26942781,-2315317,9129564,-4906607,26024105,11769399,-11518837,6367194,-9727230,4782140 }, - { 19916461,-4828410,-22910704,-11414391,25606324,-5972441,33253853,8220911,6358847,-1873857 }, - }, - { - { 801428,-2081702,16569428,11065167,29875704,96627,7908388,-4480480,-13538503,1387155 }, - { 19646058,5720633,-11416706,12814209,11607948,12749789,14147075,15156355,-21866831,11835260 }, - { 19299512,1155910,28703737,14890794,2925026,7269399,26121523,15467869,-26560550,5052483 }, - }, -}, -{ - { - { -3017432,10058206,1980837,3964243,22160966,12322533,-6431123,-12618185,12228557,-7003677 }, - { 32944382,14922211,-22844894,5188528,21913450,-8719943,4001465,13238564,-6114803,8653815 }, - { 22865569,-4652735,27603668,-12545395,14348958,8234005,24808405,5719875,28483275,2841751 }, - }, - { - { -16420968,-1113305,-327719,-12107856,21886282,-15552774,-1887966,-315658,19932058,-12739203 }, - { -11656086,10087521,-8864888,-5536143,-19278573,-3055912,3999228,13239134,-4777469,-13910208 }, - { 1382174,-11694719,17266790,9194690,-13324356,9720081,20403944,11284705,-14013818,3093230 }, - }, - { - { 16650921,-11037932,-1064178,1570629,-8329746,7352753,-302424,16271225,-24049421,-6691850 }, - { -21911077,-5927941,-4611316,-5560156,-31744103,-10785293,24123614,15193618,-21652117,-16739389 }, - { -9935934,-4289447,-25279823,4372842,2087473,10399484,31870908,14690798,17361620,11864968 }, - }, - { - { -11307610,6210372,13206574,5806320,-29017692,-13967200,-12331205,-7486601,-25578460,-16240689 }, - { 14668462,-12270235,26039039,15305210,25515617,4542480,10453892,6577524,9145645,-6443880 }, - { 5974874,3053895,-9433049,-10385191,-31865124,3225009,-7972642,3936128,-5652273,-3050304 }, - }, - { - { 30625386,-4729400,-25555961,-12792866,-20484575,7695099,17097188,-16303496,-27999779,1803632 }, - { -3553091,9865099,-5228566,4272701,-5673832,-16689700,14911344,12196514,-21405489,7047412 }, - { 20093277,9920966,-11138194,-5343857,13161587,12044805,-32856851,4124601,-32343828,-10257566 }, - }, - { - { -20788824,14084654,-13531713,7842147,19119038,-13822605,4752377,-8714640,-21679658,2288038 }, - { -26819236,-3283715,29965059,3039786,-14473765,2540457,29457502,14625692,-24819617,12570232 }, - { -1063558,-11551823,16920318,12494842,1278292,-5869109,-21159943,-3498680,-11974704,4724943 }, - }, - { - { 17960970,-11775534,-4140968,-9702530,-8876562,-1410617,-12907383,-8659932,-29576300,1903856 }, - { 23134274,-14279132,-10681997,-1611936,20684485,15770816,-12989750,3190296,26955097,14109738 }, - { 15308788,5320727,-30113809,-14318877,22902008,7767164,29425325,-11277562,31960942,11934971 }, - }, - { - { -27395711,8435796,4109644,12222639,-24627868,14818669,20638173,4875028,10491392,1379718 }, - { -13159415,9197841,3875503,-8936108,-1383712,-5879801,33518459,16176658,21432314,12180697 }, - { -11787308,11500838,13787581,-13832590,-22430679,10140205,1465425,12689540,-10301319,-13872883 }, - }, -}, -{ - { - { 5414091,-15386041,-21007664,9643570,12834970,1186149,-2622916,-1342231,26128231,6032912 }, - { -26337395,-13766162,32496025,-13653919,17847801,-12669156,3604025,8316894,-25875034,-10437358 }, - { 3296484,6223048,24680646,-12246460,-23052020,5903205,-8862297,-4639164,12376617,3188849 }, - }, - { - { 29190488,-14659046,27549113,-1183516,3520066,-10697301,32049515,-7309113,-16109234,-9852307 }, - { -14744486,-9309156,735818,-598978,-20407687,-5057904,25246078,-15795669,18640741,-960977 }, - { -6928835,-16430795,10361374,5642961,4910474,12345252,-31638386,-494430,10530747,1053335 }, - }, - { - { -29265967,-14186805,-13538216,-12117373,-19457059,-10655384,-31462369,-2948985,24018831,15026644 }, - { -22592535,-3145277,-2289276,5953843,-13440189,9425631,25310643,13003497,-2314791,-15145616 }, - { -27419985,-603321,-8043984,-1669117,-26092265,13987819,-27297622,187899,-23166419,-2531735 }, - }, - { - { -21744398,-13810475,1844840,5021428,-10434399,-15911473,9716667,16266922,-5070217,726099 }, - { 29370922,-6053998,7334071,-15342259,9385287,2247707,-13661962,-4839461,30007388,-15823341 }, - { -936379,16086691,23751945,-543318,-1167538,-5189036,9137109,730663,9835848,4555336 }, - }, - { - { -23376435,1410446,-22253753,-12899614,30867635,15826977,17693930,544696,-11985298,12422646 }, - { 31117226,-12215734,-13502838,6561947,-9876867,-12757670,-5118685,-4096706,29120153,13924425 }, - { -17400879,-14233209,19675799,-2734756,-11006962,-5858820,-9383939,-11317700,7240931,-237388 }, - }, - { - { -31361739,-11346780,-15007447,-5856218,-22453340,-12152771,1222336,4389483,3293637,-15551743 }, - { -16684801,-14444245,11038544,11054958,-13801175,-3338533,-24319580,7733547,12796905,-6335822 }, - { -8759414,-10817836,-25418864,10783769,-30615557,-9746811,-28253339,3647836,3222231,-11160462 }, - }, - { - { 18606113,1693100,-25448386,-15170272,4112353,10045021,23603893,-2048234,-7550776,2484985 }, - { 9255317,-3131197,-12156162,-1004256,13098013,-9214866,16377220,-2102812,-19802075,-3034702 }, - { -22729289,7496160,-5742199,11329249,19991973,-3347502,-31718148,9936966,-30097688,-10618797 }, - }, - { - { 21878590,-5001297,4338336,13643897,-3036865,13160960,19708896,5415497,-7360503,-4109293 }, - { 27736861,10103576,12500508,8502413,-3413016,-9633558,10436918,-1550276,-23659143,-8132100 }, - { 19492550,-12104365,-29681976,-852630,-3208171,12403437,30066266,8367329,13243957,8709688 }, - }, -}, -{ - { - { 12015105,2801261,28198131,10151021,24818120,-4743133,-11194191,-5645734,5150968,7274186 }, - { 2831366,-12492146,1478975,6122054,23825128,-12733586,31097299,6083058,31021603,-9793610 }, - { -2529932,-2229646,445613,10720828,-13849527,-11505937,-23507731,16354465,15067285,-14147707 }, - }, - { - { 7840942,14037873,-33364863,15934016,-728213,-3642706,21403988,1057586,-19379462,-12403220 }, - { 915865,-16469274,15608285,-8789130,-24357026,6060030,-17371319,8410997,-7220461,16527025 }, - { 32922597,-556987,20336074,-16184568,10903705,-5384487,16957574,52992,23834301,6588044 }, - }, - { - { 32752030,11232950,3381995,-8714866,22652988,-10744103,17159699,16689107,-20314580,-1305992 }, - { -4689649,9166776,-25710296,-10847306,11576752,12733943,7924251,-2752281,1976123,-7249027 }, - { 21251222,16309901,-2983015,-6783122,30810597,12967303,156041,-3371252,12331345,-8237197 }, - }, - { - { 8651614,-4477032,-16085636,-4996994,13002507,2950805,29054427,-5106970,10008136,-4667901 }, - { 31486080,15114593,-14261250,12951354,14369431,-7387845,16347321,-13662089,8684155,-10532952 }, - { 19443825,11385320,24468943,-9659068,-23919258,2187569,-26263207,-6086921,31316348,14219878 }, - }, - { - { -28594490,1193785,32245219,11392485,31092169,15722801,27146014,6992409,29126555,9207390 }, - { 32382935,1110093,18477781,11028262,-27411763,-7548111,-4980517,10843782,-7957600,-14435730 }, - { 2814918,7836403,27519878,-7868156,-20894015,-11553689,-21494559,8550130,28346258,1994730 }, - }, - { - { -19578299,8085545,-14000519,-3948622,2785838,-16231307,-19516951,7174894,22628102,8115180 }, - { -30405132,955511,-11133838,-15078069,-32447087,-13278079,-25651578,3317160,-9943017,930272 }, - { -15303681,-6833769,28856490,1357446,23421993,1057177,24091212,-1388970,-22765376,-10650715 }, - }, - { - { -22751231,-5303997,-12907607,-12768866,-15811511,-7797053,-14839018,-16554220,-1867018,8398970 }, - { -31969310,2106403,-4736360,1362501,12813763,16200670,22981545,-6291273,18009408,-15772772 }, - { -17220923,-9545221,-27784654,14166835,29815394,7444469,29551787,-3727419,19288549,1325865 }, - }, - { - { 15100157,-15835752,-23923978,-1005098,-26450192,15509408,12376730,-3479146,33166107,-8042750 }, - { 20909231,13023121,-9209752,16251778,-5778415,-8094914,12412151,10018715,2213263,-13878373 }, - { 32529814,-11074689,30361439,-16689753,-9135940,1513226,22922121,6382134,-5766928,8371348 }, - }, -}, -{ - { - { 9923462,11271500,12616794,3544722,-29998368,-1721626,12891687,-8193132,-26442943,10486144 }, - { -22597207,-7012665,8587003,-8257861,4084309,-12970062,361726,2610596,-23921530,-11455195 }, - { 5408411,-1136691,-4969122,10561668,24145918,14240566,31319731,-4235541,19985175,-3436086 }, - }, - { - { -13994457,16616821,14549246,3341099,32155958,13648976,-17577068,8849297,65030,8370684 }, - { -8320926,-12049626,31204563,5839400,-20627288,-1057277,-19442942,6922164,12743482,-9800518 }, - { -2361371,12678785,28815050,4759974,-23893047,4884717,23783145,11038569,18800704,255233 }, - }, - { - { -5269658,-1773886,13957886,7990715,23132995,728773,13393847,9066957,19258688,-14753793 }, - { -2936654,-10827535,-10432089,14516793,-3640786,4372541,-31934921,2209390,-1524053,2055794 }, - { 580882,16705327,5468415,-2683018,-30926419,-14696000,-7203346,-8994389,-30021019,7394435 }, - }, - { - { 23838809,1822728,-15738443,15242727,8318092,-3733104,-21672180,-3492205,-4821741,14799921 }, - { 13345610,9759151,3371034,-16137791,16353039,8577942,31129804,13496856,-9056018,7402518 }, - { 2286874,-4435931,-20042458,-2008336,-13696227,5038122,11006906,-15760352,8205061,1607563 }, - }, - { - { 14414086,-8002132,3331830,-3208217,22249151,-5594188,18364661,-2906958,30019587,-9029278 }, - { -27688051,1585953,-10775053,931069,-29120221,-11002319,-14410829,12029093,9944378,8024 }, - { 4368715,-3709630,29874200,-15022983,-20230386,-11410704,-16114594,-999085,-8142388,5640030 }, - }, - { - { 10299610,13746483,11661824,16234854,7630238,5998374,9809887,-16694564,15219798,-14327783 }, - { 27425505,-5719081,3055006,10660664,23458024,595578,-15398605,-1173195,-18342183,9742717 }, - { 6744077,2427284,26042789,2720740,-847906,1118974,32324614,7406442,12420155,1994844 }, - }, - { - { 14012521,-5024720,-18384453,-9578469,-26485342,-3936439,-13033478,-10909803,24319929,-6446333 }, - { 16412690,-4507367,10772641,15929391,-17068788,-4658621,10555945,-10484049,-30102368,-4739048 }, - { 22397382,-7767684,-9293161,-12792868,17166287,-9755136,-27333065,6199366,21880021,-12250760 }, - }, - { - { -4283307,5368523,-31117018,8163389,-30323063,3209128,16557151,8890729,8840445,4957760 }, - { -15447727,709327,-6919446,-10870178,-29777922,6522332,-21720181,12130072,-14796503,5005757 }, - { -2114751,-14308128,23019042,15765735,-25269683,6002752,10183197,-13239326,-16395286,-2176112 }, - }, -}, -{ - { - { -19025756,1632005,13466291,-7995100,-23640451,16573537,-32013908,-3057104,22208662,2000468 }, - { 3065073,-1412761,-25598674,-361432,-17683065,-5703415,-8164212,11248527,-3691214,-7414184 }, - { 10379208,-6045554,8877319,1473647,-29291284,-12507580,16690915,2553332,-3132688,16400289 }, - }, - { - { 15716668,1254266,-18472690,7446274,-8448918,6344164,-22097271,-7285580,26894937,9132066 }, - { 24158887,12938817,11085297,-8177598,-28063478,-4457083,-30576463,64452,-6817084,-2692882 }, - { 13488534,7794716,22236231,5989356,25426474,-12578208,2350710,-3418511,-4688006,2364226 }, - }, - { - { 16335052,9132434,25640582,6678888,1725628,8517937,-11807024,-11697457,15445875,-7798101 }, - { 29004207,-7867081,28661402,-640412,-12794003,-7943086,31863255,-4135540,-278050,-15759279 }, - { -6122061,-14866665,-28614905,14569919,-10857999,-3591829,10343412,-6976290,-29828287,-10815811 }, - }, - { - { 27081650,3463984,14099042,-4517604,1616303,-6205604,29542636,15372179,17293797,960709 }, - { 20263915,11434237,-5765435,11236810,13505955,-10857102,-16111345,6493122,-19384511,7639714 }, - { -2830798,-14839232,25403038,-8215196,-8317012,-16173699,18006287,-16043750,29994677,-15808121 }, - }, - { - { 9769828,5202651,-24157398,-13631392,-28051003,-11561624,-24613141,-13860782,-31184575,709464 }, - { 12286395,13076066,-21775189,-1176622,-25003198,4057652,-32018128,-8890874,16102007,13205847 }, - { 13733362,5599946,10557076,3195751,-5557991,8536970,-25540170,8525972,10151379,10394400 }, - }, - { - { 4024660,-16137551,22436262,12276534,-9099015,-2686099,19698229,11743039,-33302334,8934414 }, - { -15879800,-4525240,-8580747,-2934061,14634845,-698278,-9449077,3137094,-11536886,11721158 }, - { 17555939,-5013938,8268606,2331751,-22738815,9761013,9319229,8835153,-9205489,-1280045 }, - }, - { - { -461409,-7830014,20614118,16688288,-7514766,-4807119,22300304,505429,6108462,-6183415 }, - { -5070281,12367917,-30663534,3234473,32617080,-8422642,29880583,-13483331,-26898490,-7867459 }, - { -31975283,5726539,26934134,10237677,-3173717,-605053,24199304,3795095,7592688,-14992079 }, - }, - { - { 21594432,-14964228,17466408,-4077222,32537084,2739898,6407723,12018833,-28256052,4298412 }, - { -20650503,-11961496,-27236275,570498,3767144,-1717540,13891942,-1569194,13717174,10805743 }, - { -14676630,-15644296,15287174,11927123,24177847,-8175568,-796431,14860609,-26938930,-5863836 }, - }, -}, -{ - { - { 12962541,5311799,-10060768,11658280,18855286,-7954201,13286263,-12808704,-4381056,9882022 }, - { 18512079,11319350,-20123124,15090309,18818594,5271736,-22727904,3666879,-23967430,-3299429 }, - { -6789020,-3146043,16192429,13241070,15898607,-14206114,-10084880,-6661110,-2403099,5276065 }, - }, - { - { 30169808,-5317648,26306206,-11750859,27814964,7069267,7152851,3684982,1449224,13082861 }, - { 10342826,3098505,2119311,193222,25702612,12233820,23697382,15056736,-21016438,-8202000 }, - { -33150110,3261608,22745853,7948688,19370557,-15177665,-26171976,6482814,-10300080,-11060101 }, - }, - { - { 32869458,-5408545,25609743,15678670,-10687769,-15471071,26112421,2521008,-22664288,6904815 }, - { 29506923,4457497,3377935,-9796444,-30510046,12935080,1561737,3841096,-29003639,-6657642 }, - { 10340844,-6630377,-18656632,-2278430,12621151,-13339055,30878497,-11824370,-25584551,5181966 }, - }, - { - { 25940115,-12658025,17324188,-10307374,-8671468,15029094,24396252,-16450922,-2322852,-12388574 }, - { -21765684,9916823,-1300409,4079498,-1028346,11909559,1782390,12641087,20603771,-6561742 }, - { -18882287,-11673380,24849422,11501709,13161720,-4768874,1925523,11914390,4662781,7820689 }, - }, - { - { 12241050,-425982,8132691,9393934,32846760,-1599620,29749456,12172924,16136752,15264020 }, - { -10349955,-14680563,-8211979,2330220,-17662549,-14545780,10658213,6671822,19012087,3772772 }, - { 3753511,-3421066,10617074,2028709,14841030,-6721664,28718732,-15762884,20527771,12988982 }, - }, - { - { -14822485,-5797269,-3707987,12689773,-898983,-10914866,-24183046,-10564943,3299665,-12424953 }, - { -16777703,-15253301,-9642417,4978983,3308785,8755439,6943197,6461331,-25583147,8991218 }, - { -17226263,1816362,-1673288,-6086439,31783888,-8175991,-32948145,7417950,-30242287,1507265 }, - }, - { - { 29692663,6829891,-10498800,4334896,20945975,-11906496,-28887608,8209391,14606362,-10647073 }, - { -3481570,8707081,32188102,5672294,22096700,1711240,-33020695,9761487,4170404,-2085325 }, - { -11587470,14855945,-4127778,-1531857,-26649089,15084046,22186522,16002000,-14276837,-8400798 }, - }, - { - { -4811456,13761029,-31703877,-2483919,-3312471,7869047,-7113572,-9620092,13240845,10965870 }, - { -7742563,-8256762,-14768334,-13656260,-23232383,12387166,4498947,14147411,29514390,4302863 }, - { -13413405,-12407859,20757302,-13801832,14785143,8976368,-5061276,-2144373,17846988,-13971927 }, - }, -}, -{ - { - { -2244452,-754728,-4597030,-1066309,-6247172,1455299,-21647728,-9214789,-5222701,12650267 }, - { -9906797,-16070310,21134160,12198166,-27064575,708126,387813,13770293,-19134326,10958663 }, - { 22470984,12369526,23446014,-5441109,-21520802,-9698723,-11772496,-11574455,-25083830,4271862 }, - }, - { - { -25169565,-10053642,-19909332,15361595,-5984358,2159192,75375,-4278529,-32526221,8469673 }, - { 15854970,4148314,-8893890,7259002,11666551,13824734,-30531198,2697372,24154791,-9460943 }, - { 15446137,-15806644,29759747,14019369,30811221,-9610191,-31582008,12840104,24913809,9815020 }, - }, - { - { -4709286,-5614269,-31841498,-12288893,-14443537,10799414,-9103676,13438769,18735128,9466238 }, - { 11933045,9281483,5081055,-5183824,-2628162,-4905629,-7727821,-10896103,-22728655,16199064 }, - { 14576810,379472,-26786533,-8317236,-29426508,-10812974,-102766,1876699,30801119,2164795 }, - }, - { - { 15995086,3199873,13672555,13712240,-19378835,-4647646,-13081610,-15496269,-13492807,1268052 }, - { -10290614,-3659039,-3286592,10948818,23037027,3794475,-3470338,-12600221,-17055369,3565904 }, - { 29210088,-9419337,-5919792,-4952785,10834811,-13327726,-16512102,-10820713,-27162222,-14030531 }, - }, - { - { -13161890,15508588,16663704,-8156150,-28349942,9019123,-29183421,-3769423,2244111,-14001979 }, - { -5152875,-3800936,-9306475,-6071583,16243069,14684434,-25673088,-16180800,13491506,4641841 }, - { 10813417,643330,-19188515,-728916,30292062,-16600078,27548447,-7721242,14476989,-12767431 }, - }, - { - { 10292079,9984945,6481436,8279905,-7251514,7032743,27282937,-1644259,-27912810,12651324 }, - { -31185513,-813383,22271204,11835308,10201545,15351028,17099662,3988035,21721536,-3148940 }, - { 10202177,-6545839,-31373232,-9574638,-32150642,-8119683,-12906320,3852694,13216206,14842320 }, - }, - { - { -15815640,-10601066,-6538952,-7258995,-6984659,-6581778,-31500847,13765824,-27434397,9900184 }, - { 14465505,-13833331,-32133984,-14738873,-27443187,12990492,33046193,15796406,-7051866,-8040114 }, - { 30924417,-8279620,6359016,-12816335,16508377,9071735,-25488601,15413635,9524356,-7018878 }, - }, - { - { 12274201,-13175547,32627641,-1785326,6736625,13267305,5237659,-5109483,15663516,4035784 }, - { -2951309,8903985,17349946,601635,-16432815,-4612556,-13732739,-15889334,-22258478,4659091 }, - { -16916263,-4952973,-30393711,-15158821,20774812,15897498,5736189,15026997,-2178256,-13455585 }, - }, -}, -{ - { - { -8858980,-2219056,28571666,-10155518,-474467,-10105698,-3801496,278095,23440562,-290208 }, - { 10226241,-5928702,15139956,120818,-14867693,5218603,32937275,11551483,-16571960,-7442864 }, - { 17932739,-12437276,-24039557,10749060,11316803,7535897,22503767,5561594,-3646624,3898661 }, - }, - { - { 7749907,-969567,-16339731,-16464,-25018111,15122143,-1573531,7152530,21831162,1245233 }, - { 26958459,-14658026,4314586,8346991,-5677764,11960072,-32589295,-620035,-30402091,-16716212 }, - { -12165896,9166947,33491384,13673479,29787085,13096535,6280834,14587357,-22338025,13987525 }, - }, - { - { -24349909,7778775,21116000,15572597,-4833266,-5357778,-4300898,-5124639,-7469781,-2858068 }, - { 9681908,-6737123,-31951644,13591838,-6883821,386950,31622781,6439245,-14581012,4091397 }, - { -8426427,1470727,-28109679,-1596990,3978627,-5123623,-19622683,12092163,29077877,-14741988 }, - }, - { - { 5269168,-6859726,-13230211,-8020715,25932563,1763552,-5606110,-5505881,-20017847,2357889 }, - { 32264008,-15407652,-5387735,-1160093,-2091322,-3946900,23104804,-12869908,5727338,189038 }, - { 14609123,-8954470,-6000566,-16622781,-14577387,-7743898,-26745169,10942115,-25888931,-14884697 }, - }, - { - { 20513500,5557931,-15604613,7829531,26413943,-2019404,-21378968,7471781,13913677,-5137875 }, - { -25574376,11967826,29233242,12948236,-6754465,4713227,-8940970,14059180,12878652,8511905 }, - { -25656801,3393631,-2955415,-7075526,-2250709,9366908,-30223418,6812974,5568676,-3127656 }, - }, - { - { 11630004,12144454,2116339,13606037,27378885,15676917,-17408753,-13504373,-14395196,8070818 }, - { 27117696,-10007378,-31282771,-5570088,1127282,12772488,-29845906,10483306,-11552749,-1028714 }, - { 10637467,-5688064,5674781,1072708,-26343588,-6982302,-1683975,9177853,-27493162,15431203 }, - }, - { - { 20525145,10892566,-12742472,12779443,-29493034,16150075,-28240519,14943142,-15056790,-7935931 }, - { -30024462,5626926,-551567,-9981087,753598,11981191,25244767,-3239766,-3356550,9594024 }, - { -23752644,2636870,-5163910,-10103818,585134,7877383,11345683,-6492290,13352335,-10977084 }, - }, - { - { -1931799,-5407458,3304649,-12884869,17015806,-4877091,-29783850,-7752482,-13215537,-319204 }, - { 20239939,6607058,6203985,3483793,-18386976,-779229,-20723742,15077870,-22750759,14523817 }, - { 27406042,-6041657,27423596,-4497394,4996214,10002360,-28842031,-4545494,-30172742,-4805667 }, - }, -}, -{ - { - { 11374242,12660715,17861383,-12540833,10935568,1099227,-13886076,-9091740,-27727044,11358504 }, - { -12730809,10311867,1510375,10778093,-2119455,-9145702,32676003,11149336,-26123651,4985768 }, - { -19096303,341147,-6197485,-239033,15756973,-8796662,-983043,13794114,-19414307,-15621255 }, - }, - { - { 6490081,11940286,25495923,-7726360,8668373,-8751316,3367603,6970005,-1691065,-9004790 }, - { 1656497,13457317,15370807,6364910,13605745,8362338,-19174622,-5475723,-16796596,-5031438 }, - { -22273315,-13524424,-64685,-4334223,-18605636,-10921968,-20571065,-7007978,-99853,-10237333 }, - }, - { - { 17747465,10039260,19368299,-4050591,-20630635,-16041286,31992683,-15857976,-29260363,-5511971 }, - { 31932027,-4986141,-19612382,16366580,22023614,88450,11371999,-3744247,4882242,-10626905 }, - { 29796507,37186,19818052,10115756,-11829032,3352736,18551198,3272828,-5190932,-4162409 }, - }, - { - { 12501286,4044383,-8612957,-13392385,-32430052,5136599,-19230378,-3529697,330070,-3659409 }, - { 6384877,2899513,17807477,7663917,-2358888,12363165,25366522,-8573892,-271295,12071499 }, - { -8365515,-4042521,25133448,-4517355,-6211027,2265927,-32769618,1936675,-5159697,3829363 }, - }, - { - { 28425966,-5835433,-577090,-4697198,-14217555,6870930,7921550,-6567787,26333140,14267664 }, - { -11067219,11871231,27385719,-10559544,-4585914,-11189312,10004786,-8709488,-21761224,8930324 }, - { -21197785,-16396035,25654216,-1725397,12282012,11008919,1541940,4757911,-26491501,-16408940 }, - }, - { - { 13537262,-7759490,-20604840,10961927,-5922820,-13218065,-13156584,6217254,-15943699,13814990 }, - { -17422573,15157790,18705543,29619,24409717,-260476,27361681,9257833,-1956526,-1776914 }, - { -25045300,-10191966,15366585,15166509,-13105086,8423556,-29171540,12361135,-18685978,4578290 }, - }, - { - { 24579768,3711570,1342322,-11180126,-27005135,14124956,-22544529,14074919,21964432,8235257 }, - { -6528613,-2411497,9442966,-5925588,12025640,-1487420,-2981514,-1669206,13006806,2355433 }, - { -16304899,-13605259,-6632427,-5142349,16974359,-10911083,27202044,1719366,1141648,-12796236 }, - }, - { - { -12863944,-13219986,-8318266,-11018091,-6810145,-4843894,13475066,-3133972,32674895,13715045 }, - { 11423335,-5468059,32344216,8962751,24989809,9241752,-13265253,16086212,-28740881,-15642093 }, - { -1409668,12530728,-6368726,10847387,19531186,-14132160,-11709148,7791794,-27245943,4383347 }, - }, -}, -{ - { - { -28970898,5271447,-1266009,-9736989,-12455236,16732599,-4862407,-4906449,27193557,6245191 }, - { -15193956,5362278,-1783893,2695834,4960227,12840725,23061898,3260492,22510453,8577507 }, - { -12632451,11257346,-32692994,13548177,-721004,10879011,31168030,13952092,-29571492,-3635906 }, - }, - { - { 3877321,-9572739,32416692,5405324,-11004407,-13656635,3759769,11935320,5611860,8164018 }, - { -16275802,14667797,15906460,12155291,-22111149,-9039718,32003002,-8832289,5773085,-8422109 }, - { -23788118,-8254300,1950875,8937633,18686727,16459170,-905725,12376320,31632953,190926 }, - }, - { - { -24593607,-16138885,-8423991,13378746,14162407,6901328,-8288749,4508564,-25341555,-3627528 }, - { 8884438,-5884009,6023974,10104341,-6881569,-4941533,18722941,-14786005,-1672488,827625 }, - { -32720583,-16289296,-32503547,7101210,13354605,2659080,-1800575,-14108036,-24878478,1541286 }, - }, - { - { 2901347,-1117687,3880376,-10059388,-17620940,-3612781,-21802117,-3567481,20456845,-1885033 }, - { 27019610,12299467,-13658288,-1603234,-12861660,-4861471,-19540150,-5016058,29439641,15138866 }, - { 21536104,-6626420,-32447818,-10690208,-22408077,5175814,-5420040,-16361163,7779328,109896 }, - }, - { - { 30279744,14648750,-8044871,6425558,13639621,-743509,28698390,12180118,23177719,-554075 }, - { 26572847,3405927,-31701700,12890905,-19265668,5335866,-6493768,2378492,4439158,-13279347 }, - { -22716706,3489070,-9225266,-332753,18875722,-1140095,14819434,-12731527,-17717757,-5461437 }, - }, - { - { -5056483,16566551,15953661,3767752,-10436499,15627060,-820954,2177225,8550082,-15114165 }, - { -18473302,16596775,-381660,15663611,22860960,15585581,-27844109,-3582739,-23260460,-8428588 }, - { -32480551,15707275,-8205912,-5652081,29464558,2713815,-22725137,15860482,-21902570,1494193 }, - }, - { - { -19562091,-14087393,-25583872,-9299552,13127842,759709,21923482,16529112,8742704,12967017 }, - { -28464899,1553205,32536856,-10473729,-24691605,-406174,-8914625,-2933896,-29903758,15553883 }, - { 21877909,3230008,9881174,10539357,-4797115,2841332,11543572,14513274,19375923,-12647961 }, - }, - { - { 8832269,-14495485,13253511,5137575,5037871,4078777,24880818,-6222716,2862653,9455043 }, - { 29306751,5123106,20245049,-14149889,9592566,8447059,-2077124,-2990080,15511449,4789663 }, - { -20679756,7004547,8824831,-9434977,-4045704,-3750736,-5754762,108893,23513200,16652362 }, - }, -}, -{ - { - { -33256173,4144782,-4476029,-6579123,10770039,-7155542,-6650416,-12936300,-18319198,10212860 }, - { 2756081,8598110,7383731,-6859892,22312759,-1105012,21179801,2600940,-9988298,-12506466 }, - { -24645692,13317462,-30449259,-15653928,21365574,-10869657,11344424,864440,-2499677,-16710063 }, - }, - { - { -26432803,6148329,-17184412,-14474154,18782929,-275997,-22561534,211300,2719757,4940997 }, - { -1323882,3911313,-6948744,14759765,-30027150,7851207,21690126,8518463,26699843,5276295 }, - { -13149873,-6429067,9396249,365013,24703301,-10488939,1321586,149635,-15452774,7159369 }, - }, - { - { 9987780,-3404759,17507962,9505530,9731535,-2165514,22356009,8312176,22477218,-8403385 }, - { 18155857,-16504990,19744716,9006923,15154154,-10538976,24256460,-4864995,-22548173,9334109 }, - { 2986088,-4911893,10776628,-3473844,10620590,-7083203,-21413845,14253545,-22587149,536906 }, - }, - { - { 4377756,8115836,24567078,15495314,11625074,13064599,7390551,10589625,10838060,-15420424 }, - { -19342404,867880,9277171,-3218459,-14431572,-1986443,19295826,-15796950,6378260,699185 }, - { 7895026,4057113,-7081772,-13077756,-17886831,-323126,-716039,15693155,-5045064,-13373962 }, - }, - { - { -7737563,-5869402,-14566319,-7406919,11385654,13201616,31730678,-10962840,-3918636,-9669325 }, - { 10188286,-15770834,-7336361,13427543,22223443,14896287,30743455,7116568,-21786507,5427593 }, - { 696102,13206899,27047647,-10632082,15285305,-9853179,10798490,-4578720,19236243,12477404 }, - }, - { - { -11229439,11243796,-17054270,-8040865,-788228,-8167967,-3897669,11180504,-23169516,7733644 }, - { 17800790,-14036179,-27000429,-11766671,23887827,3149671,23466177,-10538171,10322027,15313801 }, - { 26246234,11968874,32263343,-5468728,6830755,-13323031,-15794704,-101982,-24449242,10890804 }, - }, - { - { -31365647,10271363,-12660625,-6267268,16690207,-13062544,-14982212,16484931,25180797,-5334884 }, - { -586574,10376444,-32586414,-11286356,19801893,10997610,2276632,9482883,316878,13820577 }, - { -9882808,-4510367,-2115506,16457136,-11100081,11674996,30756178,-7515054,30696930,-3712849 }, - }, - { - { 32988917,-9603412,12499366,7910787,-10617257,-11931514,-7342816,-9985397,-32349517,7392473 }, - { -8855661,15927861,9866406,-3649411,-2396914,-16655781,-30409476,-9134995,25112947,-2926644 }, - { -2504044,-436966,25621774,-5678772,15085042,-5479877,-24884878,-13526194,5537438,-13914319 }, - }, -}, -{ - { - { -11225584,2320285,-9584280,10149187,-33444663,5808648,-14876251,-1729667,31234590,6090599 }, - { -9633316,116426,26083934,2897444,-6364437,-2688086,609721,15878753,-6970405,-9034768 }, - { -27757857,247744,-15194774,-9002551,23288161,-10011936,-23869595,6503646,20650474,1804084 }, - }, - { - { -27589786,15456424,8972517,8469608,15640622,4439847,3121995,-10329713,27842616,-202328 }, - { -15306973,2839644,22530074,10026331,4602058,5048462,28248656,5031932,-11375082,12714369 }, - { 20807691,-7270825,29286141,11421711,-27876523,-13868230,-21227475,1035546,-19733229,12796920 }, - }, - { - { 12076899,-14301286,-8785001,-11848922,-25012791,16400684,-17591495,-12899438,3480665,-15182815 }, - { -32361549,5457597,28548107,7833186,7303070,-11953545,-24363064,-15921875,-33374054,2771025 }, - { -21389266,421932,26597266,6860826,22486084,-6737172,-17137485,-4210226,-24552282,15673397 }, - }, - { - { -20184622,2338216,19788685,-9620956,-4001265,-8740893,-20271184,4733254,3727144,-12934448 }, - { 6120119,814863,-11794402,-622716,6812205,-15747771,2019594,7975683,31123697,-10958981 }, - { 30069250,-11435332,30434654,2958439,18399564,-976289,12296869,9204260,-16432438,9648165 }, - }, - { - { 32705432,-1550977,30705658,7451065,-11805606,9631813,3305266,5248604,-26008332,-11377501 }, - { 17219865,2375039,-31570947,-5575615,-19459679,9219903,294711,15298639,2662509,-16297073 }, - { -1172927,-7558695,-4366770,-4287744,-21346413,-8434326,32087529,-1222777,32247248,-14389861 }, - }, - { - { 14312628,1221556,17395390,-8700143,-4945741,-8684635,-28197744,-9637817,-16027623,-13378845 }, - { -1428825,-9678990,-9235681,6549687,-7383069,-468664,23046502,9803137,17597934,2346211 }, - { 18510800,15337574,26171504,981392,-22241552,7827556,-23491134,-11323352,3059833,-11782870 }, - }, - { - { 10141598,6082907,17829293,-1947643,9830092,13613136,-25556636,-5544586,-33502212,3592096 }, - { 33114168,-15889352,-26525686,-13343397,33076705,8716171,1151462,1521897,-982665,-6837803 }, - { -32939165,-4255815,23947181,-324178,-33072974,-12305637,-16637686,3891704,26353178,693168 }, - }, - { - { 30374239,1595580,-16884039,13186931,4600344,406904,9585294,-400668,31375464,14369965 }, - { -14370654,-7772529,1510301,6434173,-18784789,-6262728,32732230,-13108839,17901441,16011505 }, - { 18171223,-11934626,-12500402,15197122,-11038147,-15230035,-19172240,-16046376,8764035,12309598 }, - }, -}, -{ - { - { 5975908,-5243188,-19459362,-9681747,-11541277,14015782,-23665757,1228319,17544096,-10593782 }, - { 5811932,-1715293,3442887,-2269310,-18367348,-8359541,-18044043,-15410127,-5565381,12348900 }, - { -31399660,11407555,25755363,6891399,-3256938,14872274,-24849353,8141295,-10632534,-585479 }, - }, - { - { -12675304,694026,-5076145,13300344,14015258,-14451394,-9698672,-11329050,30944593,1130208 }, - { 8247766,-6710942,-26562381,-7709309,-14401939,-14648910,4652152,2488540,23550156,-271232 }, - { 17294316,-3788438,7026748,15626851,22990044,113481,2267737,-5908146,-408818,-137719 }, - }, - { - { 16091085,-16253926,18599252,7340678,2137637,-1221657,-3364161,14550936,3260525,-7166271 }, - { -4910104,-13332887,18550887,10864893,-16459325,-7291596,-23028869,-13204905,-12748722,2701326 }, - { -8574695,16099415,4629974,-16340524,-20786213,-6005432,-10018363,9276971,11329923,1862132 }, - }, - { - { 14763076,-15903608,-30918270,3689867,3511892,10313526,-21951088,12219231,-9037963,-940300 }, - { 8894987,-3446094,6150753,3013931,301220,15693451,-31981216,-2909717,-15438168,11595570 }, - { 15214962,3537601,-26238722,-14058872,4418657,-15230761,13947276,10730794,-13489462,-4363670 }, - }, - { - { -2538306,7682793,32759013,263109,-29984731,-7955452,-22332124,-10188635,977108,699994 }, - { -12466472,4195084,-9211532,550904,-15565337,12917920,19118110,-439841,-30534533,-14337913 }, - { 31788461,-14507657,4799989,7372237,8808585,-14747943,9408237,-10051775,12493932,-5409317 }, - }, - { - { -25680606,5260744,-19235809,-6284470,-3695942,16566087,27218280,2607121,29375955,6024730 }, - { 842132,-2794693,-4763381,-8722815,26332018,-12405641,11831880,6985184,-9940361,2854096 }, - { -4847262,-7969331,2516242,-5847713,9695691,-7221186,16512645,960770,12121869,16648078 }, - }, - { - { -15218652,14667096,-13336229,2013717,30598287,-464137,-31504922,-7882064,20237806,2838411 }, - { -19288047,4453152,15298546,-16178388,22115043,-15972604,12544294,-13470457,1068881,-12499905 }, - { -9558883,-16518835,33238498,13506958,30505848,-1114596,-8486907,-2630053,12521378,4845654 }, - }, - { - { -28198521,10744108,-2958380,10199664,7759311,-13088600,3409348,-873400,-6482306,-12885870 }, - { -23561822,6230156,-20382013,10655314,-24040585,-11621172,10477734,-1240216,-3113227,13974498 }, - { 12966261,15550616,-32038948,-1615346,21025980,-629444,5642325,7188737,18895762,12629579 }, - }, -}, -{ - { - { 14741879,-14946887,22177208,-11721237,1279741,8058600,11758140,789443,32195181,3895677 }, - { 10758205,15755439,-4509950,9243698,-4879422,6879879,-2204575,-3566119,-8982069,4429647 }, - { -2453894,15725973,-20436342,-10410672,-5803908,-11040220,-7135870,-11642895,18047436,-15281743 }, - }, - { - { -25173001,-11307165,29759956,11776784,-22262383,-15820455,10993114,-12850837,-17620701,-9408468 }, - { 21987233,700364,-24505048,14972008,-7774265,-5718395,32155026,2581431,-29958985,8773375 }, - { -25568350,454463,-13211935,16126715,25240068,8594567,20656846,12017935,-7874389,-13920155 }, - }, - { - { 6028182,6263078,-31011806,-11301710,-818919,2461772,-31841174,-5468042,-1721788,-2776725 }, - { -12278994,16624277,987579,-5922598,32908203,1248608,7719845,-4166698,28408820,6816612 }, - { -10358094,-8237829,19549651,-12169222,22082623,16147817,20613181,13982702,-10339570,5067943 }, - }, - { - { -30505967,-3821767,12074681,13582412,-19877972,2443951,-19719286,12746132,5331210,-10105944 }, - { 30528811,3601899,-1957090,4619785,-27361822,-15436388,24180793,-12570394,27679908,-1648928 }, - { 9402404,-13957065,32834043,10838634,-26580150,-13237195,26653274,-8685565,22611444,-12715406 }, - }, - { - { 22190590,1118029,22736441,15130463,-30460692,-5991321,19189625,-4648942,4854859,6622139 }, - { -8310738,-2953450,-8262579,-3388049,-10401731,-271929,13424426,-3567227,26404409,13001963 }, - { -31241838,-15415700,-2994250,8939346,11562230,-12840670,-26064365,-11621720,-15405155,11020693 }, - }, - { - { 1866042,-7949489,-7898649,-10301010,12483315,13477547,3175636,-12424163,28761762,1406734 }, - { -448555,-1777666,13018551,3194501,-9580420,-11161737,24760585,-4347088,25577411,-13378680 }, - { -24290378,4759345,-690653,-1852816,2066747,10693769,-29595790,9884936,-9368926,4745410 }, - }, - { - { -9141284,6049714,-19531061,-4341411,-31260798,9944276,-15462008,-11311852,10931924,-11931931 }, - { -16561513,14112680,-8012645,4817318,-8040464,-11414606,-22853429,10856641,-20470770,13434654 }, - { 22759489,-10073434,-16766264,-1871422,13637442,-10168091,1765144,-12654326,28445307,-5364710 }, - }, - { - { 29875063,12493613,2795536,-3786330,1710620,15181182,-10195717,-8788675,9074234,1167180 }, - { -26205683,11014233,-9842651,-2635485,-26908120,7532294,-18716888,-9535498,3843903,9367684 }, - { -10969595,-6403711,9591134,9582310,11349256,108879,16235123,8601684,-139197,4242895 }, - }, -}, -{ - { - { 22092954,-13191123,-2042793,-11968512,32186753,-11517388,-6574341,2470660,-27417366,16625501 }, - { -11057722,3042016,13770083,-9257922,584236,-544855,-7770857,2602725,-27351616,14247413 }, - { 6314175,-10264892,-32772502,15957557,-10157730,168750,-8618807,14290061,27108877,-1180880 }, - }, - { - { -8586597,-7170966,13241782,10960156,-32991015,-13794596,33547976,-11058889,-27148451,981874 }, - { 22833440,9293594,-32649448,-13618667,-9136966,14756819,-22928859,-13970780,-10479804,-16197962 }, - { -7768587,3326786,-28111797,10783824,19178761,14905060,22680049,13906969,-15933690,3797899 }, - }, - { - { 21721356,-4212746,-12206123,9310182,-3882239,-13653110,23740224,-2709232,20491983,-8042152 }, - { 9209270,-15135055,-13256557,-6167798,-731016,15289673,25947805,15286587,30997318,-6703063 }, - { 7392032,16618386,23946583,-8039892,-13265164,-1533858,-14197445,-2321576,17649998,-250080 }, - }, - { - { -9301088,-14193827,30609526,-3049543,-25175069,-1283752,-15241566,-9525724,-2233253,7662146 }, - { -17558673,1763594,-33114336,15908610,-30040870,-12174295,7335080,-8472199,-3174674,3440183 }, - { -19889700,-5977008,-24111293,-9688870,10799743,-16571957,40450,-4431835,4862400,1133 }, - }, - { - { -32856209,-7873957,-5422389,14860950,-16319031,7956142,7258061,311861,-30594991,-7379421 }, - { -3773428,-1565936,28985340,7499440,24445838,9325937,29727763,16527196,18278453,15405622 }, - { -4381906,8508652,-19898366,-3674424,-5984453,15149970,-13313598,843523,-21875062,13626197 }, - }, - { - { 2281448,-13487055,-10915418,-2609910,1879358,16164207,-10783882,3953792,13340839,15928663 }, - { 31727126,-7179855,-18437503,-8283652,2875793,-16390330,-25269894,-7014826,-23452306,5964753 }, - { 4100420,-5959452,-17179337,6017714,-18705837,12227141,-26684835,11344144,2538215,-7570755 }, - }, - { - { -9433605,6123113,11159803,-2156608,30016280,14966241,-20474983,1485421,-629256,-15958862 }, - { -26804558,4260919,11851389,9658551,-32017107,16367492,-20205425,-13191288,11659922,-11115118 }, - { 26180396,10015009,-30844224,-8581293,5418197,9480663,2231568,-10170080,33100372,-1306171 }, - }, - { - { 15121113,-5201871,-10389905,15427821,-27509937,-15992507,21670947,4486675,-5931810,-14466380 }, - { 16166486,-9483733,-11104130,6023908,-31926798,-1364923,2340060,-16254968,-10735770,-10039824 }, - { 28042865,-3557089,-12126526,12259706,-3717498,-6945899,6766453,-8689599,18036436,5803270 }, - }, -}, -{ - { - { -817581,6763912,11803561,1585585,10958447,-2671165,23855391,4598332,-6159431,-14117438 }, - { -31031306,-14256194,17332029,-2383520,31312682,-5967183,696309,50292,-20095739,11763584 }, - { -594563,-2514283,-32234153,12643980,12650761,14811489,665117,-12613632,-19773211,-10713562 }, - }, - { - { 30464590,-11262872,-4127476,-12734478,19835327,-7105613,-24396175,2075773,-17020157,992471 }, - { 18357185,-6994433,7766382,16342475,-29324918,411174,14578841,8080033,-11574335,-10601610 }, - { 19598397,10334610,12555054,2555664,18821899,-10339780,21873263,16014234,26224780,16452269 }, - }, - { - { -30223925,5145196,5944548,16385966,3976735,2009897,-11377804,-7618186,-20533829,3698650 }, - { 14187449,3448569,-10636236,-10810935,-22663880,-3433596,7268410,-10890444,27394301,12015369 }, - { 19695761,16087646,28032085,12999827,6817792,11427614,20244189,-1312777,-13259127,-3402461 }, - }, - { - { 30860103,12735208,-1888245,-4699734,-16974906,2256940,-8166013,12298312,-8550524,-10393462 }, - { -5719826,-11245325,-1910649,15569035,26642876,-7587760,-5789354,-15118654,-4976164,12651793 }, - { -2848395,9953421,11531313,-5282879,26895123,-12697089,-13118820,-16517902,9768698,-2533218 }, - }, - { - { -24719459,1894651,-287698,-4704085,15348719,-8156530,32767513,12765450,4940095,10678226 }, - { 18860224,15980149,-18987240,-1562570,-26233012,-11071856,-7843882,13944024,-24372348,16582019 }, - { -15504260,4970268,-29893044,4175593,-20993212,-2199756,-11704054,15444560,-11003761,7989037 }, - }, - { - { 31490452,5568061,-2412803,2182383,-32336847,4531686,-32078269,6200206,-19686113,-14800171 }, - { -17308668,-15879940,-31522777,-2831,-32887382,16375549,8680158,-16371713,28550068,-6857132 }, - { -28126887,-5688091,16837845,-1820458,-6850681,12700016,-30039981,4364038,1155602,5988841 }, - }, - { - { 21890435,-13272907,-12624011,12154349,-7831873,15300496,23148983,-4470481,24618407,8283181 }, - { -33136107,-10512751,9975416,6841041,-31559793,16356536,3070187,-7025928,1466169,10740210 }, - { -1509399,-15488185,-13503385,-10655916,32799044,909394,-13938903,-5779719,-32164649,-15327040 }, - }, - { - { 3960823,-14267803,-28026090,-15918051,-19404858,13146868,15567327,951507,-3260321,-573935 }, - { 24740841,5052253,-30094131,8961361,25877428,6165135,-24368180,14397372,-7380369,-6144105 }, - { -28888365,3510803,-28103278,-1158478,-11238128,-10631454,-15441463,-14453128,-1625486,-6494814 }, - }, -}, -{ - { - { 793299,-9230478,8836302,-6235707,-27360908,-2369593,33152843,-4885251,-9906200,-621852 }, - { 5666233,525582,20782575,-8038419,-24538499,14657740,16099374,1468826,-6171428,-15186581 }, - { -4859255,-3779343,-2917758,-6748019,7778750,11688288,-30404353,-9871238,-1558923,-9863646 }, - }, - { - { 10896332,-7719704,824275,472601,-19460308,3009587,25248958,14783338,-30581476,-15757844 }, - { 10566929,12612572,-31944212,11118703,-12633376,12362879,21752402,8822496,24003793,14264025 }, - { 27713862,-7355973,-11008240,9227530,27050101,2504721,23886875,-13117525,13958495,-5732453 }, - }, - { - { -23481610,4867226,-27247128,3900521,29838369,-8212291,-31889399,-10041781,7340521,-15410068 }, - { 4646514,-8011124,-22766023,-11532654,23184553,8566613,31366726,-1381061,-15066784,-10375192 }, - { -17270517,12723032,-16993061,14878794,21619651,-6197576,27584817,3093888,-8843694,3849921 }, - }, - { - { -9064912,2103172,25561640,-15125738,-5239824,9582958,32477045,-9017955,5002294,-15550259 }, - { -12057553,-11177906,21115585,-13365155,8808712,-12030708,16489530,13378448,-25845716,12741426 }, - { -5946367,10645103,-30911586,15390284,-3286982,-7118677,24306472,15852464,28834118,-7646072 }, - }, - { - { -17335748,-9107057,-24531279,9434953,-8472084,-583362,-13090771,455841,20461858,5491305 }, - { 13669248,-16095482,-12481974,-10203039,-14569770,-11893198,-24995986,11293807,-28588204,-9421832 }, - { 28497928,6272777,-33022994,14470570,8906179,-1225630,18504674,-14165166,29867745,-8795943 }, - }, - { - { -16207023,13517196,-27799630,-13697798,24009064,-6373891,-6367600,-13175392,22853429,-4012011 }, - { 24191378,16712145,-13931797,15217831,14542237,1646131,18603514,-11037887,12876623,-2112447 }, - { 17902668,4518229,-411702,-2829247,26878217,5258055,-12860753,608397,16031844,3723494 }, - }, - { - { -28632773,12763728,-20446446,7577504,33001348,-13017745,17558842,-7872890,23896954,-4314245 }, - { -20005381,-12011952,31520464,605201,2543521,5991821,-2945064,7229064,-9919646,-8826859 }, - { 28816045,298879,-28165016,-15920938,19000928,-1665890,-12680833,-2949325,-18051778,-2082915 }, - }, - { - { 16000882,-344896,3493092,-11447198,-29504595,-13159789,12577740,16041268,-19715240,7847707 }, - { 10151868,10572098,27312476,7922682,14825339,4723128,-32855931,-6519018,-10020567,3852848 }, - { -11430470,15697596,-21121557,-4420647,5386314,15063598,16514493,-15932110,29330899,-15076224 }, - }, -}, -{ - { - { -25499735,-4378794,-15222908,-6901211,16615731,2051784,3303702,15490,-27548796,12314391 }, - { 15683520,-6003043,18109120,-9980648,15337968,-5997823,-16717435,15921866,16103996,-3731215 }, - { -23169824,-10781249,13588192,-1628807,-3798557,-1074929,-19273607,5402699,-29815713,-9841101 }, - }, - { - { 23190676,2384583,-32714340,3462154,-29903655,-1529132,-11266856,8911517,-25205859,2739713 }, - { 21374101,-3554250,-33524649,9874411,15377179,11831242,-33529904,6134907,4931255,11987849 }, - { -7732,-2978858,-16223486,7277597,105524,-322051,-31480539,13861388,-30076310,10117930 }, - }, - { - { -29501170,-10744872,-26163768,13051539,-25625564,5089643,-6325503,6704079,12890019,15728940 }, - { -21972360,-11771379,-951059,-4418840,14704840,2695116,903376,-10428139,12885167,8311031 }, - { -17516482,5352194,10384213,-13811658,7506451,13453191,26423267,4384730,1888765,-5435404 }, - }, - { - { -25817338,-3107312,-13494599,-3182506,30896459,-13921729,-32251644,-12707869,-19464434,-3340243 }, - { -23607977,-2665774,-526091,4651136,5765089,4618330,6092245,14845197,17151279,-9854116 }, - { -24830458,-12733720,-15165978,10367250,-29530908,-265356,22825805,-7087279,-16866484,16176525 }, - }, - { - { -23583256,6564961,20063689,3798228,-4740178,7359225,2006182,-10363426,-28746253,-10197509 }, - { -10626600,-4486402,-13320562,-5125317,3432136,-6393229,23632037,-1940610,32808310,1099883 }, - { 15030977,5768825,-27451236,-2887299,-6427378,-15361371,-15277896,-6809350,2051441,-15225865 }, - }, - { - { -3362323,-7239372,7517890,9824992,23555850,295369,5148398,-14154188,-22686354,16633660 }, - { 4577086,-16752288,13249841,-15304328,19958763,-14537274,18559670,-10759549,8402478,-9864273 }, - { -28406330,-1051581,-26790155,-907698,-17212414,-11030789,9453451,-14980072,17983010,9967138 }, - }, - { - { -25762494,6524722,26585488,9969270,24709298,1220360,-1677990,7806337,17507396,3651560 }, - { -10420457,-4118111,14584639,15971087,-15768321,8861010,26556809,-5574557,-18553322,-11357135 }, - { 2839101,14284142,4029895,3472686,14402957,12689363,-26642121,8459447,-5605463,-7621941 }, - }, - { - { -4839289,-3535444,9744961,2871048,25113978,3187018,-25110813,-849066,17258084,-7977739 }, - { 18164541,-10595176,-17154882,-1542417,19237078,-9745295,23357533,-15217008,26908270,12150756 }, - { -30264870,-7647865,5112249,-7036672,-1499807,-6974257,43168,-5537701,-32302074,16215819 }, - }, -}, -{ - { - { -6898905,9824394,-12304779,-4401089,-31397141,-6276835,32574489,12532905,-7503072,-8675347 }, - { -27343522,-16515468,-27151524,-10722951,946346,16291093,254968,7168080,21676107,-1943028 }, - { 21260961,-8424752,-16831886,-11920822,-23677961,3968121,-3651949,-6215466,-3556191,-7913075 }, - }, - { - { 16544754,13250366,-16804428,15546242,-4583003,12757258,-2462308,-8680336,-18907032,-9662799 }, - { -2415239,-15577728,18312303,4964443,-15272530,-12653564,26820651,16690659,25459437,-4564609 }, - { -25144690,11425020,28423002,-11020557,-6144921,-15826224,9142795,-2391602,-6432418,-1644817 }, - }, - { - { -23104652,6253476,16964147,-3768872,-25113972,-12296437,-27457225,-16344658,6335692,7249989 }, - { -30333227,13979675,7503222,-12368314,-11956721,-4621693,-30272269,2682242,25993170,-12478523 }, - { 4364628,5930691,32304656,-10044554,-8054781,15091131,22857016,-10598955,31820368,15075278 }, - }, - { - { 31879134,-8918693,17258761,90626,-8041836,-4917709,24162788,-9650886,-17970238,12833045 }, - { 19073683,14851414,-24403169,-11860168,7625278,11091125,-19619190,2074449,-9413939,14905377 }, - { 24483667,-11935567,-2518866,-11547418,-1553130,15355506,-25282080,9253129,27628530,-7555480 }, - }, - { - { 17597607,8340603,19355617,552187,26198470,-3176583,4593324,-9157582,-14110875,15297016 }, - { 510886,14337390,-31785257,16638632,6328095,2713355,-20217417,-11864220,8683221,2921426 }, - { 18606791,11874196,27155355,-5281482,-24031742,6265446,-25178240,-1278924,4674690,13890525 }, - }, - { - { 13609624,13069022,-27372361,-13055908,24360586,9592974,14977157,9835105,4389687,288396 }, - { 9922506,-519394,13613107,5883594,-18758345,-434263,-12304062,8317628,23388070,16052080 }, - { 12720016,11937594,-31970060,-5028689,26900120,8561328,-20155687,-11632979,-14754271,-10812892 }, - }, - { - { 15961858,14150409,26716931,-665832,-22794328,13603569,11829573,7467844,-28822128,929275 }, - { 11038231,-11582396,-27310482,-7316562,-10498527,-16307831,-23479533,-9371869,-21393143,2465074 }, - { 20017163,-4323226,27915242,1529148,12396362,15675764,13817261,-9658066,2463391,-4622140 }, - }, - { - { -16358878,-12663911,-12065183,4996454,-1256422,1073572,9583558,12851107,4003896,12673717 }, - { -1731589,-15155870,-3262930,16143082,19294135,13385325,14741514,-9103726,7903886,2348101 }, - { 24536016,-16515207,12715592,-3862155,1511293,10047386,-3842346,-7129159,-28377538,10048127 }, - }, -}, -{ - { - { -12622226,-6204820,30718825,2591312,-10617028,12192840,18873298,-7297090,-32297756,15221632 }, - { -26478122,-11103864,11546244,-1852483,9180880,7656409,-21343950,2095755,29769758,6593415 }, - { -31994208,-2907461,4176912,3264766,12538965,-868111,26312345,-6118678,30958054,8292160 }, - }, - { - { 31429822,-13959116,29173532,15632448,12174511,-2760094,32808831,3977186,26143136,-3148876 }, - { 22648901,1402143,-22799984,13746059,7936347,365344,-8668633,-1674433,-3758243,-2304625 }, - { -15491917,8012313,-2514730,-12702462,-23965846,-10254029,-1612713,-1535569,-16664475,8194478 }, - }, - { - { 27338066,-7507420,-7414224,10140405,-19026427,-6589889,27277191,8855376,28572286,3005164 }, - { 26287124,4821776,25476601,-4145903,-3764513,-15788984,-18008582,1182479,-26094821,-13079595 }, - { -7171154,3178080,23970071,6201893,-17195577,-4489192,-21876275,-13982627,32208683,-1198248 }, - }, - { - { -16657702,2817643,-10286362,14811298,6024667,13349505,-27315504,-10497842,-27672585,-11539858 }, - { 15941029,-9405932,-21367050,8062055,31876073,-238629,-15278393,-1444429,15397331,-4130193 }, - { 8934485,-13485467,-23286397,-13423241,-32446090,14047986,31170398,-1441021,-27505566,15087184 }, - }, - { - { -18357243,-2156491,24524913,-16677868,15520427,-6360776,-15502406,11461896,16788528,-5868942 }, - { -1947386,16013773,21750665,3714552,-17401782,-16055433,-3770287,-10323320,31322514,-11615635 }, - { 21426655,-5650218,-13648287,-5347537,-28812189,-4920970,-18275391,-14621414,13040862,-12112948 }, - }, - { - { 11293895,12478086,-27136401,15083750,-29307421,14748872,14555558,-13417103,1613711,4896935 }, - { -25894883,15323294,-8489791,-8057900,25967126,-13425460,2825960,-4897045,-23971776,-11267415 }, - { -15924766,-5229880,-17443532,6410664,3622847,10243618,20615400,12405433,-23753030,-8436416 }, - }, - { - { -7091295,12556208,-20191352,9025187,-17072479,4333801,4378436,2432030,23097949,-566018 }, - { 4565804,-16025654,20084412,-7842817,1724999,189254,24767264,10103221,-18512313,2424778 }, - { 366633,-11976806,8173090,-6890119,30788634,5745705,-7168678,1344109,-3642553,12412659 }, - }, - { - { -24001791,7690286,14929416,-168257,-32210835,-13412986,24162697,-15326504,-3141501,11179385 }, - { 18289522,-14724954,8056945,16430056,-21729724,7842514,-6001441,-1486897,-18684645,-11443503 }, - { 476239,6601091,-6152790,-9723375,17503545,-4863900,27672959,13403813,11052904,5219329 }, - }, -}, -{ - { - { 20678546,-8375738,-32671898,8849123,-5009758,14574752,31186971,-3973730,9014762,-8579056 }, - { -13644050,-10350239,-15962508,5075808,-1514661,-11534600,-33102500,9160280,8473550,-3256838 }, - { 24900749,14435722,17209120,-15292541,-22592275,9878983,-7689309,-16335821,-24568481,11788948 }, - }, - { - { -3118155,-11395194,-13802089,14797441,9652448,-6845904,-20037437,10410733,-24568470,-1458691 }, - { -15659161,16736706,-22467150,10215878,-9097177,7563911,11871841,-12505194,-18513325,8464118 }, - { -23400612,8348507,-14585951,-861714,-3950205,-6373419,14325289,8628612,33313881,-8370517 }, - }, - { - { -20186973,-4967935,22367356,5271547,-1097117,-4788838,-24805667,-10236854,-8940735,-5818269 }, - { -6948785,-1795212,-32625683,-16021179,32635414,-7374245,15989197,-12838188,28358192,-4253904 }, - { -23561781,-2799059,-32351682,-1661963,-9147719,10429267,-16637684,4072016,-5351664,5596589 }, - }, - { - { -28236598,-3390048,12312896,6213178,3117142,16078565,29266239,2557221,1768301,15373193 }, - { -7243358,-3246960,-4593467,-7553353,-127927,-912245,-1090902,-4504991,-24660491,3442910 }, - { -30210571,5124043,14181784,8197961,18964734,-11939093,22597931,7176455,-18585478,13365930 }, - }, - { - { -7877390,-1499958,8324673,4690079,6261860,890446,24538107,-8570186,-9689599,-3031667 }, - { 25008904,-10771599,-4305031,-9638010,16265036,15721635,683793,-11823784,15723479,-15163481 }, - { -9660625,12374379,-27006999,-7026148,-7724114,-12314514,11879682,5400171,519526,-1235876 }, - }, - { - { 22258397,-16332233,-7869817,14613016,-22520255,-2950923,-20353881,7315967,16648397,7605640 }, - { -8081308,-8464597,-8223311,9719710,19259459,-15348212,23994942,-5281555,-9468848,4763278 }, - { -21699244,9220969,-15730624,1084137,-25476107,-2852390,31088447,-7764523,-11356529,728112 }, - }, - { - { 26047220,-11751471,-6900323,-16521798,24092068,9158119,-4273545,-12555558,-29365436,-5498272 }, - { 17510331,-322857,5854289,8403524,17133918,-3112612,-28111007,12327945,10750447,10014012 }, - { -10312768,3936952,9156313,-8897683,16498692,-994647,-27481051,-666732,3424691,7540221 }, - }, - { - { 30322361,-6964110,11361005,-4143317,7433304,4989748,-7071422,-16317219,-9244265,15258046 }, - { 13054562,-2779497,19155474,469045,-12482797,4566042,5631406,2711395,1062915,-5136345 }, - { -19240248,-11254599,-29509029,-7499965,-5835763,13005411,-6066489,12194497,32960380,1459310 }, - }, -}, -{ - { - { 19852034,7027924,23669353,10020366,8586503,-6657907,394197,-6101885,18638003,-11174937 }, - { 31395534,15098109,26581030,8030562,-16527914,-5007134,9012486,-7584354,-6643087,-5442636 }, - { -9192165,-2347377,-1997099,4529534,25766844,607986,-13222,9677543,-32294889,-6456008 }, - }, - { - { -2444496,-149937,29348902,8186665,1873760,12489863,-30934579,-7839692,-7852844,-8138429 }, - { -15236356,-15433509,7766470,746860,26346930,-10221762,-27333451,10754588,-9431476,5203576 }, - { 31834314,14135496,-770007,5159118,20917671,-16768096,-7467973,-7337524,31809243,7347066 }, - }, - { - { -9606723,-11874240,20414459,13033986,13716524,-11691881,19797970,-12211255,15192876,-2087490 }, - { -12663563,-2181719,1168162,-3804809,26747877,-14138091,10609330,12694420,33473243,-13382104 }, - { 33184999,11180355,15832085,-11385430,-1633671,225884,15089336,-11023903,-6135662,14480053 }, - }, - { - { 31308717,-5619998,31030840,-1897099,15674547,-6582883,5496208,13685227,27595050,8737275 }, - { -20318852,-15150239,10933843,-16178022,8335352,-7546022,-31008351,-12610604,26498114,66511 }, - { 22644454,-8761729,-16671776,4884562,-3105614,-13559366,30540766,-4286747,-13327787,-7515095 }, - }, - { - { -28017847,9834845,18617207,-2681312,-3401956,-13307506,8205540,13585437,-17127465,15115439 }, - { 23711543,-672915,31206561,-8362711,6164647,-9709987,-33535882,-1426096,8236921,16492939 }, - { -23910559,-13515526,-26299483,-4503841,25005590,-7687270,19574902,10071562,6708380,-6222424 }, - }, - { - { 2101391,-4930054,19702731,2367575,-15427167,1047675,5301017,9328700,29955601,-11678310 }, - { 3096359,9271816,-21620864,-15521844,-14847996,-7592937,-25892142,-12635595,-9917575,6216608 }, - { -32615849,338663,-25195611,2510422,-29213566,-13820213,24822830,-6146567,-26767480,7525079 }, - }, - { - { -23066649,-13985623,16133487,-7896178,-3389565,778788,-910336,-2782495,-19386633,11994101 }, - { 21691500,-13624626,-641331,-14367021,3285881,-3483596,-25064666,9718258,-7477437,13381418 }, - { 18445390,-4202236,14979846,11622458,-1727110,-3582980,23111648,-6375247,28535282,15779576 }, - }, - { - { 30098053,3089662,-9234387,16662135,-21306940,11308411,-14068454,12021730,9955285,-16303356 }, - { 9734894,-14576830,-7473633,-9138735,2060392,11313496,-18426029,9924399,20194861,13380996 }, - { -26378102,-7965207,-22167821,15789297,-18055342,-6168792,-1984914,15707771,26342023,10146099 }, - }, -}, -{ - { - { -26016874,-219943,21339191,-41388,19745256,-2878700,-29637280,2227040,21612326,-545728 }, - { -13077387,1184228,23562814,-5970442,-20351244,-6348714,25764461,12243797,-20856566,11649658 }, - { -10031494,11262626,27384172,2271902,26947504,-15997771,39944,6114064,33514190,2333242 }, - }, - { - { -21433588,-12421821,8119782,7219913,-21830522,-9016134,-6679750,-12670638,24350578,-13450001 }, - { -4116307,-11271533,-23886186,4843615,-30088339,690623,-31536088,-10406836,8317860,12352766 }, - { 18200138,-14475911,-33087759,-2696619,-23702521,-9102511,-23552096,-2287550,20712163,6719373 }, - }, - { - { 26656208,6075253,-7858556,1886072,-28344043,4262326,11117530,-3763210,26224235,-3297458 }, - { -17168938,-14854097,-3395676,-16369877,-19954045,14050420,21728352,9493610,18620611,-16428628 }, - { -13323321,13325349,11432106,5964811,18609221,6062965,-5269471,-9725556,-30701573,-16479657 }, - }, - { - { -23860538,-11233159,26961357,1640861,-32413112,-16737940,12248509,-5240639,13735342,1934062 }, - { 25089769,6742589,17081145,-13406266,21909293,-16067981,-15136294,-3765346,-21277997,5473616 }, - { 31883677,-7961101,1083432,-11572403,22828471,13290673,-7125085,12469656,29111212,-5451014 }, - }, - { - { 24244947,-15050407,-26262976,2791540,-14997599,16666678,24367466,6388839,-10295587,452383 }, - { -25640782,-3417841,5217916,16224624,19987036,-4082269,-24236251,-5915248,15766062,8407814 }, - { -20406999,13990231,15495425,16395525,5377168,15166495,-8917023,-4388953,-8067909,2276718 }, - }, - { - { 30157918,12924066,-17712050,9245753,19895028,3368142,-23827587,5096219,22740376,-7303417 }, - { 2041139,-14256350,7783687,13876377,-25946985,-13352459,24051124,13742383,-15637599,13295222 }, - { 33338237,-8505733,12532113,7977527,9106186,-1715251,-17720195,-4612972,-4451357,-14669444 }, - }, - { - { -20045281,5454097,-14346548,6447146,28862071,1883651,-2469266,-4141880,7770569,9620597 }, - { 23208068,7979712,33071466,8149229,1758231,-10834995,30945528,-1694323,-33502340,-14767970 }, - { 1439958,-16270480,-1079989,-793782,4625402,10647766,-5043801,1220118,30494170,-11440799 }, - }, - { - { -5037580,-13028295,-2970559,-3061767,15640974,-6701666,-26739026,926050,-1684339,-13333647 }, - { 13908495,-3549272,30919928,-6273825,-21521863,7989039,9021034,9078865,3353509,4033511 }, - { -29663431,-15113610,32259991,-344482,24295849,-12912123,23161163,8839127,27485041,7356032 }, - }, -}, -{ - { - { 9661027,705443,11980065,-5370154,-1628543,14661173,-6346142,2625015,28431036,-16771834 }, - { -23839233,-8311415,-25945511,7480958,-17681669,-8354183,-22545972,14150565,15970762,4099461 }, - { 29262576,16756590,26350592,-8793563,8529671,-11208050,13617293,-9937143,11465739,8317062 }, - }, - { - { -25493081,-6962928,32500200,-9419051,-23038724,-2302222,14898637,3848455,20969334,-5157516 }, - { -20384450,-14347713,-18336405,13884722,-33039454,2842114,-21610826,-3649888,11177095,14989547 }, - { -24496721,-11716016,16959896,2278463,12066309,10137771,13515641,2581286,-28487508,9930240 }, - }, - { - { -17751622,-2097826,16544300,-13009300,-15914807,-14949081,18345767,-13403753,16291481,-5314038 }, - { -33229194,2553288,32678213,9875984,8534129,6889387,-9676774,6957617,4368891,9788741 }, - { 16660756,7281060,-10830758,12911820,20108584,-8101676,-21722536,-8613148,16250552,-11111103 }, - }, - { - { -19765507,2390526,-16551031,14161980,1905286,6414907,4689584,10604807,-30190403,4782747 }, - { -1354539,14736941,-7367442,-13292886,7710542,-14155590,-9981571,4383045,22546403,437323 }, - { 31665577,-12180464,-16186830,1491339,-18368625,3294682,27343084,2786261,-30633590,-14097016 }, - }, - { - { -14467279,-683715,-33374107,7448552,19294360,14334329,-19690631,2355319,-19284671,-6114373 }, - { 15121312,-15796162,6377020,-6031361,-10798111,-12957845,18952177,15496498,-29380133,11754228 }, - { -2637277,-13483075,8488727,-14303896,12728761,-1622493,7141596,11724556,22761615,-10134141 }, - }, - { - { 16918416,11729663,-18083579,3022987,-31015732,-13339659,-28741185,-12227393,32851222,11717399 }, - { 11166634,7338049,-6722523,4531520,-29468672,-7302055,31474879,3483633,-1193175,-4030831 }, - { -185635,9921305,31456609,-13536438,-12013818,13348923,33142652,6546660,-19985279,-3948376 }, - }, - { - { -32460596,11266712,-11197107,-7899103,31703694,3855903,-8537131,-12833048,-30772034,-15486313 }, - { -18006477,12709068,3991746,-6479188,-21491523,-10550425,-31135347,-16049879,10928917,3011958 }, - { -6957757,-15594337,31696059,334240,29576716,14796075,-30831056,-12805180,18008031,10258577 }, - }, - { - { -22448644,15655569,7018479,-4410003,-30314266,-1201591,-1853465,1367120,25127874,6671743 }, - { 29701166,-14373934,-10878120,9279288,-17568,13127210,21382910,11042292,25838796,4642684 }, - { -20430234,14955537,-24126347,8124619,-5369288,-5990470,30468147,-13900640,18423289,4177476 }, - }, -}, diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/curve25519/ref10/base2.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/curve25519/ref10/base2.h deleted file mode 100755 index 8c538440f..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/curve25519/ref10/base2.h +++ /dev/null @@ -1,40 +0,0 @@ - { - { 25967493,-14356035,29566456,3660896,-12694345,4014787,27544626,-11754271,-6079156,2047605 }, - { -12545711,934262,-2722910,3049990,-727428,9406986,12720692,5043384,19500929,-15469378 }, - { -8738181,4489570,9688441,-14785194,10184609,-12363380,29287919,11864899,-24514362,-4438546 }, - }, - { - { 15636291,-9688557,24204773,-7912398,616977,-16685262,27787600,-14772189,28944400,-1550024 }, - { 16568933,4717097,-11556148,-1102322,15682896,-11807043,16354577,-11775962,7689662,11199574 }, - { 30464156,-5976125,-11779434,-15670865,23220365,15915852,7512774,10017326,-17749093,-9920357 }, - }, - { - { 10861363,11473154,27284546,1981175,-30064349,12577861,32867885,14515107,-15438304,10819380 }, - { 4708026,6336745,20377586,9066809,-11272109,6594696,-25653668,12483688,-12668491,5581306 }, - { 19563160,16186464,-29386857,4097519,10237984,-4348115,28542350,13850243,-23678021,-15815942 }, - }, - { - { 5153746,9909285,1723747,-2777874,30523605,5516873,19480852,5230134,-23952439,-15175766 }, - { -30269007,-3463509,7665486,10083793,28475525,1649722,20654025,16520125,30598449,7715701 }, - { 28881845,14381568,9657904,3680757,-20181635,7843316,-31400660,1370708,29794553,-1409300 }, - }, - { - { -22518993,-6692182,14201702,-8745502,-23510406,8844726,18474211,-1361450,-13062696,13821877 }, - { -6455177,-7839871,3374702,-4740862,-27098617,-10571707,31655028,-7212327,18853322,-14220951 }, - { 4566830,-12963868,-28974889,-12240689,-7602672,-2830569,-8514358,-10431137,2207753,-3209784 }, - }, - { - { -25154831,-4185821,29681144,7868801,-6854661,-9423865,-12437364,-663000,-31111463,-16132436 }, - { 25576264,-2703214,7349804,-11814844,16472782,9300885,3844789,15725684,171356,6466918 }, - { 23103977,13316479,9739013,-16149481,817875,-15038942,8965339,-14088058,-30714912,16193877 }, - }, - { - { -33521811,3180713,-2394130,14003687,-16903474,-16270840,17238398,4729455,-18074513,9256800 }, - { -25182317,-4174131,32336398,5036987,-21236817,11360617,22616405,9761698,-19827198,630305 }, - { -13720693,2639453,-24237460,-7406481,9494427,-5774029,-6554551,-15960994,-2449256,-14291300 }, - }, - { - { -3151181,-5046075,9282714,6866145,-31907062,-863023,-18940575,15033784,25105118,-7894876 }, - { -24326370,15950226,-31801215,-14592823,-11662737,-5090925,1573892,-2625887,2198790,-15804619 }, - { -3099351,10324967,-2241613,7453183,-5446979,-2735503,-13812022,-16236442,-32461234,-12290683 }, - }, diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/curve25519/ref10/curve25519_ref10.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/curve25519/ref10/curve25519_ref10.c deleted file mode 100755 index a2719a581..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/curve25519/ref10/curve25519_ref10.c +++ /dev/null @@ -1,2242 +0,0 @@ -#include -#include -#include -#include "crypto_verify_32.h" -#include "private/curve25519_ref10.h" - -static inline uint64_t load_3(const unsigned char *in) -{ - uint64_t result; - result = (uint64_t) in[0]; - result |= ((uint64_t) in[1]) << 8; - result |= ((uint64_t) in[2]) << 16; - - return result; -} - -static inline uint64_t load_4(const unsigned char *in) -{ - uint64_t result; - result = (uint64_t) in[0]; - result |= ((uint64_t) in[1]) << 8; - result |= ((uint64_t) in[2]) << 16; - result |= ((uint64_t) in[3]) << 24; - - return result; -} - -/* - h = 0 - */ - -void fe_0(fe h) -{ - memset(&h[0], 0, 10 * sizeof h[0]); -} - -/* - h = 1 - */ - -void fe_1(fe h) -{ - h[0] = 1; - h[1] = 0; - memset(&h[2], 0, 8 * sizeof h[0]); -} - -/* - h = f + g - Can overlap h with f or g. - * - Preconditions: - |f| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. - |g| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. - * - Postconditions: - |h| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. - */ - -void fe_add(fe h,const fe f,const fe g) -{ - int32_t f0 = f[0]; - int32_t f1 = f[1]; - int32_t f2 = f[2]; - int32_t f3 = f[3]; - int32_t f4 = f[4]; - int32_t f5 = f[5]; - int32_t f6 = f[6]; - int32_t f7 = f[7]; - int32_t f8 = f[8]; - int32_t f9 = f[9]; - int32_t g0 = g[0]; - int32_t g1 = g[1]; - int32_t g2 = g[2]; - int32_t g3 = g[3]; - int32_t g4 = g[4]; - int32_t g5 = g[5]; - int32_t g6 = g[6]; - int32_t g7 = g[7]; - int32_t g8 = g[8]; - int32_t g9 = g[9]; - int32_t h0 = f0 + g0; - int32_t h1 = f1 + g1; - int32_t h2 = f2 + g2; - int32_t h3 = f3 + g3; - int32_t h4 = f4 + g4; - int32_t h5 = f5 + g5; - int32_t h6 = f6 + g6; - int32_t h7 = f7 + g7; - int32_t h8 = f8 + g8; - int32_t h9 = f9 + g9; - h[0] = h0; - h[1] = h1; - h[2] = h2; - h[3] = h3; - h[4] = h4; - h[5] = h5; - h[6] = h6; - h[7] = h7; - h[8] = h8; - h[9] = h9; -} - -/* - Replace (f,g) with (g,g) if b == 1; - replace (f,g) with (f,g) if b == 0. - * - Preconditions: b in {0,1}. - */ - -void fe_cmov(fe f,const fe g,unsigned int b) -{ - int32_t f0 = f[0]; - int32_t f1 = f[1]; - int32_t f2 = f[2]; - int32_t f3 = f[3]; - int32_t f4 = f[4]; - int32_t f5 = f[5]; - int32_t f6 = f[6]; - int32_t f7 = f[7]; - int32_t f8 = f[8]; - int32_t f9 = f[9]; - int32_t g0 = g[0]; - int32_t g1 = g[1]; - int32_t g2 = g[2]; - int32_t g3 = g[3]; - int32_t g4 = g[4]; - int32_t g5 = g[5]; - int32_t g6 = g[6]; - int32_t g7 = g[7]; - int32_t g8 = g[8]; - int32_t g9 = g[9]; - int32_t x0 = f0 ^ g0; - int32_t x1 = f1 ^ g1; - int32_t x2 = f2 ^ g2; - int32_t x3 = f3 ^ g3; - int32_t x4 = f4 ^ g4; - int32_t x5 = f5 ^ g5; - int32_t x6 = f6 ^ g6; - int32_t x7 = f7 ^ g7; - int32_t x8 = f8 ^ g8; - int32_t x9 = f9 ^ g9; - b = (unsigned int) (- (int) b); - x0 &= b; - x1 &= b; - x2 &= b; - x3 &= b; - x4 &= b; - x5 &= b; - x6 &= b; - x7 &= b; - x8 &= b; - x9 &= b; - f[0] = f0 ^ x0; - f[1] = f1 ^ x1; - f[2] = f2 ^ x2; - f[3] = f3 ^ x3; - f[4] = f4 ^ x4; - f[5] = f5 ^ x5; - f[6] = f6 ^ x6; - f[7] = f7 ^ x7; - f[8] = f8 ^ x8; - f[9] = f9 ^ x9; -} - -/* - h = f - */ - -void fe_copy(fe h,const fe f) -{ - int32_t f0 = f[0]; - int32_t f1 = f[1]; - int32_t f2 = f[2]; - int32_t f3 = f[3]; - int32_t f4 = f[4]; - int32_t f5 = f[5]; - int32_t f6 = f[6]; - int32_t f7 = f[7]; - int32_t f8 = f[8]; - int32_t f9 = f[9]; - h[0] = f0; - h[1] = f1; - h[2] = f2; - h[3] = f3; - h[4] = f4; - h[5] = f5; - h[6] = f6; - h[7] = f7; - h[8] = f8; - h[9] = f9; -} - -/* - Ignores top bit of h. - */ - -void fe_frombytes(fe h,const unsigned char *s) -{ - int64_t h0 = load_4(s); - int64_t h1 = load_3(s + 4) << 6; - int64_t h2 = load_3(s + 7) << 5; - int64_t h3 = load_3(s + 10) << 3; - int64_t h4 = load_3(s + 13) << 2; - int64_t h5 = load_4(s + 16); - int64_t h6 = load_3(s + 20) << 7; - int64_t h7 = load_3(s + 23) << 5; - int64_t h8 = load_3(s + 26) << 4; - int64_t h9 = (load_3(s + 29) & 8388607) << 2; - int64_t carry0; - int64_t carry1; - int64_t carry2; - int64_t carry3; - int64_t carry4; - int64_t carry5; - int64_t carry6; - int64_t carry7; - int64_t carry8; - int64_t carry9; - - carry9 = (h9 + (int64_t) (1L << 24)) >> 25; h0 += carry9 * 19; h9 -= carry9 * ((uint64_t) 1L << 25); - carry1 = (h1 + (int64_t) (1L << 24)) >> 25; h2 += carry1; h1 -= carry1 * ((uint64_t) 1L << 25); - carry3 = (h3 + (int64_t) (1L << 24)) >> 25; h4 += carry3; h3 -= carry3 * ((uint64_t) 1L << 25); - carry5 = (h5 + (int64_t) (1L << 24)) >> 25; h6 += carry5; h5 -= carry5 * ((uint64_t) 1L << 25); - carry7 = (h7 + (int64_t) (1L << 24)) >> 25; h8 += carry7; h7 -= carry7 * ((uint64_t) 1L << 25); - - carry0 = (h0 + (int64_t) (1L << 25)) >> 26; h1 += carry0; h0 -= carry0 * ((uint64_t) 1L << 26); - carry2 = (h2 + (int64_t) (1L << 25)) >> 26; h3 += carry2; h2 -= carry2 * ((uint64_t) 1L << 26); - carry4 = (h4 + (int64_t) (1L << 25)) >> 26; h5 += carry4; h4 -= carry4 * ((uint64_t) 1L << 26); - carry6 = (h6 + (int64_t) (1L << 25)) >> 26; h7 += carry6; h6 -= carry6 * ((uint64_t) 1L << 26); - carry8 = (h8 + (int64_t) (1L << 25)) >> 26; h9 += carry8; h8 -= carry8 * ((uint64_t) 1L << 26); - - h[0] = (int32_t) h0; - h[1] = (int32_t) h1; - h[2] = (int32_t) h2; - h[3] = (int32_t) h3; - h[4] = (int32_t) h4; - h[5] = (int32_t) h5; - h[6] = (int32_t) h6; - h[7] = (int32_t) h7; - h[8] = (int32_t) h8; - h[9] = (int32_t) h9; -} - -/* - Preconditions: - |h| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. - * - Write p=2^255-19; q=floor(h/p). - Basic claim: q = floor(2^(-255)(h + 19 2^(-25)h9 + 2^(-1))). - * - Proof: - Have |h|<=p so |q|<=1 so |19^2 2^(-255) q|<1/4. - Also have |h-2^230 h9|<2^231 so |19 2^(-255)(h-2^230 h9)|<1/4. - * - Write y=2^(-1)-19^2 2^(-255)q-19 2^(-255)(h-2^230 h9). - Then 0> 25; - q = (h0 + q) >> 26; - q = (h1 + q) >> 25; - q = (h2 + q) >> 26; - q = (h3 + q) >> 25; - q = (h4 + q) >> 26; - q = (h5 + q) >> 25; - q = (h6 + q) >> 26; - q = (h7 + q) >> 25; - q = (h8 + q) >> 26; - q = (h9 + q) >> 25; - - /* Goal: Output h-(2^255-19)q, which is between 0 and 2^255-20. */ - h0 += 19 * q; - /* Goal: Output h-2^255 q, which is between 0 and 2^255-20. */ - - carry0 = h0 >> 26; h1 += carry0; h0 -= carry0 * ((uint32_t) 1L << 26); - carry1 = h1 >> 25; h2 += carry1; h1 -= carry1 * ((uint32_t) 1L << 25); - carry2 = h2 >> 26; h3 += carry2; h2 -= carry2 * ((uint32_t) 1L << 26); - carry3 = h3 >> 25; h4 += carry3; h3 -= carry3 * ((uint32_t) 1L << 25); - carry4 = h4 >> 26; h5 += carry4; h4 -= carry4 * ((uint32_t) 1L << 26); - carry5 = h5 >> 25; h6 += carry5; h5 -= carry5 * ((uint32_t) 1L << 25); - carry6 = h6 >> 26; h7 += carry6; h6 -= carry6 * ((uint32_t) 1L << 26); - carry7 = h7 >> 25; h8 += carry7; h7 -= carry7 * ((uint32_t) 1L << 25); - carry8 = h8 >> 26; h9 += carry8; h8 -= carry8 * ((uint32_t) 1L << 26); - carry9 = h9 >> 25; h9 -= carry9 * ((uint32_t) 1L << 25); - /* h10 = carry9 */ - - /* - Goal: Output h0+...+2^255 h10-2^255 q, which is between 0 and 2^255-20. - Have h0+...+2^230 h9 between 0 and 2^255-1; - evidently 2^255 h10-2^255 q = 0. - Goal: Output h0+...+2^230 h9. - */ - - s[0] = h0 >> 0; - s[1] = h0 >> 8; - s[2] = h0 >> 16; - s[3] = (h0 >> 24) | (h1 * ((uint32_t) 1 << 2)); - s[4] = h1 >> 6; - s[5] = h1 >> 14; - s[6] = (h1 >> 22) | (h2 * ((uint32_t) 1 << 3)); - s[7] = h2 >> 5; - s[8] = h2 >> 13; - s[9] = (h2 >> 21) | (h3 * ((uint32_t) 1 << 5)); - s[10] = h3 >> 3; - s[11] = h3 >> 11; - s[12] = (h3 >> 19) | (h4 * ((uint32_t) 1 << 6)); - s[13] = h4 >> 2; - s[14] = h4 >> 10; - s[15] = h4 >> 18; - s[16] = h5 >> 0; - s[17] = h5 >> 8; - s[18] = h5 >> 16; - s[19] = (h5 >> 24) | (h6 * ((uint32_t) 1 << 1)); - s[20] = h6 >> 7; - s[21] = h6 >> 15; - s[22] = (h6 >> 23) | (h7 * ((uint32_t) 1 << 3)); - s[23] = h7 >> 5; - s[24] = h7 >> 13; - s[25] = (h7 >> 21) | (h8 * ((uint32_t) 1 << 4)); - s[26] = h8 >> 4; - s[27] = h8 >> 12; - s[28] = (h8 >> 20) | (h9 * ((uint32_t) 1 << 6)); - s[29] = h9 >> 2; - s[30] = h9 >> 10; - s[31] = h9 >> 18; -} - -/* - return 1 if f is in {1,3,5,...,q-2} - return 0 if f is in {0,2,4,...,q-1} - * - Preconditions: - |f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. - */ - -int fe_isnegative(const fe f) -{ - unsigned char s[32]; - fe_tobytes(s,f); - - return s[0] & 1; -} - -/* - return 1 if f == 0 - return 0 if f != 0 - * - Preconditions: - |f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. - */ - -static unsigned char zero[32]; - -int fe_isnonzero(const fe f) -{ - unsigned char s[32]; - fe_tobytes(s,f); - - return crypto_verify_32(s,zero); -} - -/* - h = f * g - Can overlap h with f or g. - * - Preconditions: - |f| bounded by 1.65*2^26,1.65*2^25,1.65*2^26,1.65*2^25,etc. - |g| bounded by 1.65*2^26,1.65*2^25,1.65*2^26,1.65*2^25,etc. - * - Postconditions: - |h| bounded by 1.01*2^25,1.01*2^24,1.01*2^25,1.01*2^24,etc. - */ - -/* - Notes on implementation strategy: - * - Using schoolbook multiplication. - Karatsuba would save a little in some cost models. - * - Most multiplications by 2 and 19 are 32-bit precomputations; - cheaper than 64-bit postcomputations. - * - There is one remaining multiplication by 19 in the carry chain; - one *19 precomputation can be merged into this, - but the resulting data flow is considerably less clean. - * - There are 12 carries below. - 10 of them are 2-way parallelizable and vectorizable. - Can get away with 11 carries, but then data flow is much deeper. - * - With tighter constraints on inputs can squeeze carries into int32. - */ - -void fe_mul(fe h,const fe f,const fe g) -{ - int32_t f0 = f[0]; - int32_t f1 = f[1]; - int32_t f2 = f[2]; - int32_t f3 = f[3]; - int32_t f4 = f[4]; - int32_t f5 = f[5]; - int32_t f6 = f[6]; - int32_t f7 = f[7]; - int32_t f8 = f[8]; - int32_t f9 = f[9]; - int32_t g0 = g[0]; - int32_t g1 = g[1]; - int32_t g2 = g[2]; - int32_t g3 = g[3]; - int32_t g4 = g[4]; - int32_t g5 = g[5]; - int32_t g6 = g[6]; - int32_t g7 = g[7]; - int32_t g8 = g[8]; - int32_t g9 = g[9]; - int32_t g1_19 = 19 * g1; /* 1.959375*2^29 */ - int32_t g2_19 = 19 * g2; /* 1.959375*2^30; still ok */ - int32_t g3_19 = 19 * g3; - int32_t g4_19 = 19 * g4; - int32_t g5_19 = 19 * g5; - int32_t g6_19 = 19 * g6; - int32_t g7_19 = 19 * g7; - int32_t g8_19 = 19 * g8; - int32_t g9_19 = 19 * g9; - int32_t f1_2 = 2 * f1; - int32_t f3_2 = 2 * f3; - int32_t f5_2 = 2 * f5; - int32_t f7_2 = 2 * f7; - int32_t f9_2 = 2 * f9; - int64_t f0g0 = f0 * (int64_t) g0; - int64_t f0g1 = f0 * (int64_t) g1; - int64_t f0g2 = f0 * (int64_t) g2; - int64_t f0g3 = f0 * (int64_t) g3; - int64_t f0g4 = f0 * (int64_t) g4; - int64_t f0g5 = f0 * (int64_t) g5; - int64_t f0g6 = f0 * (int64_t) g6; - int64_t f0g7 = f0 * (int64_t) g7; - int64_t f0g8 = f0 * (int64_t) g8; - int64_t f0g9 = f0 * (int64_t) g9; - int64_t f1g0 = f1 * (int64_t) g0; - int64_t f1g1_2 = f1_2 * (int64_t) g1; - int64_t f1g2 = f1 * (int64_t) g2; - int64_t f1g3_2 = f1_2 * (int64_t) g3; - int64_t f1g4 = f1 * (int64_t) g4; - int64_t f1g5_2 = f1_2 * (int64_t) g5; - int64_t f1g6 = f1 * (int64_t) g6; - int64_t f1g7_2 = f1_2 * (int64_t) g7; - int64_t f1g8 = f1 * (int64_t) g8; - int64_t f1g9_38 = f1_2 * (int64_t) g9_19; - int64_t f2g0 = f2 * (int64_t) g0; - int64_t f2g1 = f2 * (int64_t) g1; - int64_t f2g2 = f2 * (int64_t) g2; - int64_t f2g3 = f2 * (int64_t) g3; - int64_t f2g4 = f2 * (int64_t) g4; - int64_t f2g5 = f2 * (int64_t) g5; - int64_t f2g6 = f2 * (int64_t) g6; - int64_t f2g7 = f2 * (int64_t) g7; - int64_t f2g8_19 = f2 * (int64_t) g8_19; - int64_t f2g9_19 = f2 * (int64_t) g9_19; - int64_t f3g0 = f3 * (int64_t) g0; - int64_t f3g1_2 = f3_2 * (int64_t) g1; - int64_t f3g2 = f3 * (int64_t) g2; - int64_t f3g3_2 = f3_2 * (int64_t) g3; - int64_t f3g4 = f3 * (int64_t) g4; - int64_t f3g5_2 = f3_2 * (int64_t) g5; - int64_t f3g6 = f3 * (int64_t) g6; - int64_t f3g7_38 = f3_2 * (int64_t) g7_19; - int64_t f3g8_19 = f3 * (int64_t) g8_19; - int64_t f3g9_38 = f3_2 * (int64_t) g9_19; - int64_t f4g0 = f4 * (int64_t) g0; - int64_t f4g1 = f4 * (int64_t) g1; - int64_t f4g2 = f4 * (int64_t) g2; - int64_t f4g3 = f4 * (int64_t) g3; - int64_t f4g4 = f4 * (int64_t) g4; - int64_t f4g5 = f4 * (int64_t) g5; - int64_t f4g6_19 = f4 * (int64_t) g6_19; - int64_t f4g7_19 = f4 * (int64_t) g7_19; - int64_t f4g8_19 = f4 * (int64_t) g8_19; - int64_t f4g9_19 = f4 * (int64_t) g9_19; - int64_t f5g0 = f5 * (int64_t) g0; - int64_t f5g1_2 = f5_2 * (int64_t) g1; - int64_t f5g2 = f5 * (int64_t) g2; - int64_t f5g3_2 = f5_2 * (int64_t) g3; - int64_t f5g4 = f5 * (int64_t) g4; - int64_t f5g5_38 = f5_2 * (int64_t) g5_19; - int64_t f5g6_19 = f5 * (int64_t) g6_19; - int64_t f5g7_38 = f5_2 * (int64_t) g7_19; - int64_t f5g8_19 = f5 * (int64_t) g8_19; - int64_t f5g9_38 = f5_2 * (int64_t) g9_19; - int64_t f6g0 = f6 * (int64_t) g0; - int64_t f6g1 = f6 * (int64_t) g1; - int64_t f6g2 = f6 * (int64_t) g2; - int64_t f6g3 = f6 * (int64_t) g3; - int64_t f6g4_19 = f6 * (int64_t) g4_19; - int64_t f6g5_19 = f6 * (int64_t) g5_19; - int64_t f6g6_19 = f6 * (int64_t) g6_19; - int64_t f6g7_19 = f6 * (int64_t) g7_19; - int64_t f6g8_19 = f6 * (int64_t) g8_19; - int64_t f6g9_19 = f6 * (int64_t) g9_19; - int64_t f7g0 = f7 * (int64_t) g0; - int64_t f7g1_2 = f7_2 * (int64_t) g1; - int64_t f7g2 = f7 * (int64_t) g2; - int64_t f7g3_38 = f7_2 * (int64_t) g3_19; - int64_t f7g4_19 = f7 * (int64_t) g4_19; - int64_t f7g5_38 = f7_2 * (int64_t) g5_19; - int64_t f7g6_19 = f7 * (int64_t) g6_19; - int64_t f7g7_38 = f7_2 * (int64_t) g7_19; - int64_t f7g8_19 = f7 * (int64_t) g8_19; - int64_t f7g9_38 = f7_2 * (int64_t) g9_19; - int64_t f8g0 = f8 * (int64_t) g0; - int64_t f8g1 = f8 * (int64_t) g1; - int64_t f8g2_19 = f8 * (int64_t) g2_19; - int64_t f8g3_19 = f8 * (int64_t) g3_19; - int64_t f8g4_19 = f8 * (int64_t) g4_19; - int64_t f8g5_19 = f8 * (int64_t) g5_19; - int64_t f8g6_19 = f8 * (int64_t) g6_19; - int64_t f8g7_19 = f8 * (int64_t) g7_19; - int64_t f8g8_19 = f8 * (int64_t) g8_19; - int64_t f8g9_19 = f8 * (int64_t) g9_19; - int64_t f9g0 = f9 * (int64_t) g0; - int64_t f9g1_38 = f9_2 * (int64_t) g1_19; - int64_t f9g2_19 = f9 * (int64_t) g2_19; - int64_t f9g3_38 = f9_2 * (int64_t) g3_19; - int64_t f9g4_19 = f9 * (int64_t) g4_19; - int64_t f9g5_38 = f9_2 * (int64_t) g5_19; - int64_t f9g6_19 = f9 * (int64_t) g6_19; - int64_t f9g7_38 = f9_2 * (int64_t) g7_19; - int64_t f9g8_19 = f9 * (int64_t) g8_19; - int64_t f9g9_38 = f9_2 * (int64_t) g9_19; - int64_t h0 = f0g0+f1g9_38+f2g8_19+f3g7_38+f4g6_19+f5g5_38+f6g4_19+f7g3_38+f8g2_19+f9g1_38; - int64_t h1 = f0g1+f1g0 +f2g9_19+f3g8_19+f4g7_19+f5g6_19+f6g5_19+f7g4_19+f8g3_19+f9g2_19; - int64_t h2 = f0g2+f1g1_2 +f2g0 +f3g9_38+f4g8_19+f5g7_38+f6g6_19+f7g5_38+f8g4_19+f9g3_38; - int64_t h3 = f0g3+f1g2 +f2g1 +f3g0 +f4g9_19+f5g8_19+f6g7_19+f7g6_19+f8g5_19+f9g4_19; - int64_t h4 = f0g4+f1g3_2 +f2g2 +f3g1_2 +f4g0 +f5g9_38+f6g8_19+f7g7_38+f8g6_19+f9g5_38; - int64_t h5 = f0g5+f1g4 +f2g3 +f3g2 +f4g1 +f5g0 +f6g9_19+f7g8_19+f8g7_19+f9g6_19; - int64_t h6 = f0g6+f1g5_2 +f2g4 +f3g3_2 +f4g2 +f5g1_2 +f6g0 +f7g9_38+f8g8_19+f9g7_38; - int64_t h7 = f0g7+f1g6 +f2g5 +f3g4 +f4g3 +f5g2 +f6g1 +f7g0 +f8g9_19+f9g8_19; - int64_t h8 = f0g8+f1g7_2 +f2g6 +f3g5_2 +f4g4 +f5g3_2 +f6g2 +f7g1_2 +f8g0 +f9g9_38; - int64_t h9 = f0g9+f1g8 +f2g7 +f3g6 +f4g5 +f5g4 +f6g3 +f7g2 +f8g1 +f9g0 ; - int64_t carry0; - int64_t carry1; - int64_t carry2; - int64_t carry3; - int64_t carry4; - int64_t carry5; - int64_t carry6; - int64_t carry7; - int64_t carry8; - int64_t carry9; - - /* - |h0| <= (1.65*1.65*2^52*(1+19+19+19+19)+1.65*1.65*2^50*(38+38+38+38+38)) - i.e. |h0| <= 1.4*2^60; narrower ranges for h2, h4, h6, h8 - |h1| <= (1.65*1.65*2^51*(1+1+19+19+19+19+19+19+19+19)) - i.e. |h1| <= 1.7*2^59; narrower ranges for h3, h5, h7, h9 - */ - - carry0 = (h0 + (int64_t) (1L << 25)) >> 26; h1 += carry0; h0 -= carry0 * ((uint64_t) 1L << 26); - carry4 = (h4 + (int64_t) (1L << 25)) >> 26; h5 += carry4; h4 -= carry4 * ((uint64_t) 1L << 26); - /* |h0| <= 2^25 */ - /* |h4| <= 2^25 */ - /* |h1| <= 1.71*2^59 */ - /* |h5| <= 1.71*2^59 */ - - carry1 = (h1 + (int64_t) (1L << 24)) >> 25; h2 += carry1; h1 -= carry1 * ((uint64_t) 1L << 25); - carry5 = (h5 + (int64_t) (1L << 24)) >> 25; h6 += carry5; h5 -= carry5 * ((uint64_t) 1L << 25); - /* |h1| <= 2^24; from now on fits into int32 */ - /* |h5| <= 2^24; from now on fits into int32 */ - /* |h2| <= 1.41*2^60 */ - /* |h6| <= 1.41*2^60 */ - - carry2 = (h2 + (int64_t) (1L << 25)) >> 26; h3 += carry2; h2 -= carry2 * ((uint64_t) 1L << 26); - carry6 = (h6 + (int64_t) (1L << 25)) >> 26; h7 += carry6; h6 -= carry6 * ((uint64_t) 1L << 26); - /* |h2| <= 2^25; from now on fits into int32 unchanged */ - /* |h6| <= 2^25; from now on fits into int32 unchanged */ - /* |h3| <= 1.71*2^59 */ - /* |h7| <= 1.71*2^59 */ - - carry3 = (h3 + (int64_t) (1L << 24)) >> 25; h4 += carry3; h3 -= carry3 * ((uint64_t) 1L << 25); - carry7 = (h7 + (int64_t) (1L << 24)) >> 25; h8 += carry7; h7 -= carry7 * ((uint64_t) 1L << 25); - /* |h3| <= 2^24; from now on fits into int32 unchanged */ - /* |h7| <= 2^24; from now on fits into int32 unchanged */ - /* |h4| <= 1.72*2^34 */ - /* |h8| <= 1.41*2^60 */ - - carry4 = (h4 + (int64_t) (1L << 25)) >> 26; h5 += carry4; h4 -= carry4 * ((uint64_t) 1L << 26); - carry8 = (h8 + (int64_t) (1L << 25)) >> 26; h9 += carry8; h8 -= carry8 * ((uint64_t) 1L << 26); - /* |h4| <= 2^25; from now on fits into int32 unchanged */ - /* |h8| <= 2^25; from now on fits into int32 unchanged */ - /* |h5| <= 1.01*2^24 */ - /* |h9| <= 1.71*2^59 */ - - carry9 = (h9 + (int64_t) (1L << 24)) >> 25; h0 += carry9 * 19; h9 -= carry9 * ((uint64_t) 1L << 25); - /* |h9| <= 2^24; from now on fits into int32 unchanged */ - /* |h0| <= 1.1*2^39 */ - - carry0 = (h0 + (int64_t) (1L << 25)) >> 26; h1 += carry0; h0 -= carry0 * ((uint64_t) 1L << 26); - /* |h0| <= 2^25; from now on fits into int32 unchanged */ - /* |h1| <= 1.01*2^24 */ - - h[0] = (int32_t) h0; - h[1] = (int32_t) h1; - h[2] = (int32_t) h2; - h[3] = (int32_t) h3; - h[4] = (int32_t) h4; - h[5] = (int32_t) h5; - h[6] = (int32_t) h6; - h[7] = (int32_t) h7; - h[8] = (int32_t) h8; - h[9] = (int32_t) h9; -} - -/* - h = -f - * - Preconditions: - |f| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. - * - Postconditions: - |h| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. - */ - -void fe_neg(fe h,const fe f) -{ - int32_t f0 = f[0]; - int32_t f1 = f[1]; - int32_t f2 = f[2]; - int32_t f3 = f[3]; - int32_t f4 = f[4]; - int32_t f5 = f[5]; - int32_t f6 = f[6]; - int32_t f7 = f[7]; - int32_t f8 = f[8]; - int32_t f9 = f[9]; - int32_t h0 = -f0; - int32_t h1 = -f1; - int32_t h2 = -f2; - int32_t h3 = -f3; - int32_t h4 = -f4; - int32_t h5 = -f5; - int32_t h6 = -f6; - int32_t h7 = -f7; - int32_t h8 = -f8; - int32_t h9 = -f9; - h[0] = h0; - h[1] = h1; - h[2] = h2; - h[3] = h3; - h[4] = h4; - h[5] = h5; - h[6] = h6; - h[7] = h7; - h[8] = h8; - h[9] = h9; -} - -/* - h = f * f - Can overlap h with f. - * - Preconditions: - |f| bounded by 1.65*2^26,1.65*2^25,1.65*2^26,1.65*2^25,etc. - * - Postconditions: - |h| bounded by 1.01*2^25,1.01*2^24,1.01*2^25,1.01*2^24,etc. - */ - -/* - See fe_mul.c for discussion of implementation strategy. - */ - -void fe_sq(fe h,const fe f) -{ - int32_t f0 = f[0]; - int32_t f1 = f[1]; - int32_t f2 = f[2]; - int32_t f3 = f[3]; - int32_t f4 = f[4]; - int32_t f5 = f[5]; - int32_t f6 = f[6]; - int32_t f7 = f[7]; - int32_t f8 = f[8]; - int32_t f9 = f[9]; - int32_t f0_2 = 2 * f0; - int32_t f1_2 = 2 * f1; - int32_t f2_2 = 2 * f2; - int32_t f3_2 = 2 * f3; - int32_t f4_2 = 2 * f4; - int32_t f5_2 = 2 * f5; - int32_t f6_2 = 2 * f6; - int32_t f7_2 = 2 * f7; - int32_t f5_38 = 38 * f5; /* 1.959375*2^30 */ - int32_t f6_19 = 19 * f6; /* 1.959375*2^30 */ - int32_t f7_38 = 38 * f7; /* 1.959375*2^30 */ - int32_t f8_19 = 19 * f8; /* 1.959375*2^30 */ - int32_t f9_38 = 38 * f9; /* 1.959375*2^30 */ - int64_t f0f0 = f0 * (int64_t) f0; - int64_t f0f1_2 = f0_2 * (int64_t) f1; - int64_t f0f2_2 = f0_2 * (int64_t) f2; - int64_t f0f3_2 = f0_2 * (int64_t) f3; - int64_t f0f4_2 = f0_2 * (int64_t) f4; - int64_t f0f5_2 = f0_2 * (int64_t) f5; - int64_t f0f6_2 = f0_2 * (int64_t) f6; - int64_t f0f7_2 = f0_2 * (int64_t) f7; - int64_t f0f8_2 = f0_2 * (int64_t) f8; - int64_t f0f9_2 = f0_2 * (int64_t) f9; - int64_t f1f1_2 = f1_2 * (int64_t) f1; - int64_t f1f2_2 = f1_2 * (int64_t) f2; - int64_t f1f3_4 = f1_2 * (int64_t) f3_2; - int64_t f1f4_2 = f1_2 * (int64_t) f4; - int64_t f1f5_4 = f1_2 * (int64_t) f5_2; - int64_t f1f6_2 = f1_2 * (int64_t) f6; - int64_t f1f7_4 = f1_2 * (int64_t) f7_2; - int64_t f1f8_2 = f1_2 * (int64_t) f8; - int64_t f1f9_76 = f1_2 * (int64_t) f9_38; - int64_t f2f2 = f2 * (int64_t) f2; - int64_t f2f3_2 = f2_2 * (int64_t) f3; - int64_t f2f4_2 = f2_2 * (int64_t) f4; - int64_t f2f5_2 = f2_2 * (int64_t) f5; - int64_t f2f6_2 = f2_2 * (int64_t) f6; - int64_t f2f7_2 = f2_2 * (int64_t) f7; - int64_t f2f8_38 = f2_2 * (int64_t) f8_19; - int64_t f2f9_38 = f2 * (int64_t) f9_38; - int64_t f3f3_2 = f3_2 * (int64_t) f3; - int64_t f3f4_2 = f3_2 * (int64_t) f4; - int64_t f3f5_4 = f3_2 * (int64_t) f5_2; - int64_t f3f6_2 = f3_2 * (int64_t) f6; - int64_t f3f7_76 = f3_2 * (int64_t) f7_38; - int64_t f3f8_38 = f3_2 * (int64_t) f8_19; - int64_t f3f9_76 = f3_2 * (int64_t) f9_38; - int64_t f4f4 = f4 * (int64_t) f4; - int64_t f4f5_2 = f4_2 * (int64_t) f5; - int64_t f4f6_38 = f4_2 * (int64_t) f6_19; - int64_t f4f7_38 = f4 * (int64_t) f7_38; - int64_t f4f8_38 = f4_2 * (int64_t) f8_19; - int64_t f4f9_38 = f4 * (int64_t) f9_38; - int64_t f5f5_38 = f5 * (int64_t) f5_38; - int64_t f5f6_38 = f5_2 * (int64_t) f6_19; - int64_t f5f7_76 = f5_2 * (int64_t) f7_38; - int64_t f5f8_38 = f5_2 * (int64_t) f8_19; - int64_t f5f9_76 = f5_2 * (int64_t) f9_38; - int64_t f6f6_19 = f6 * (int64_t) f6_19; - int64_t f6f7_38 = f6 * (int64_t) f7_38; - int64_t f6f8_38 = f6_2 * (int64_t) f8_19; - int64_t f6f9_38 = f6 * (int64_t) f9_38; - int64_t f7f7_38 = f7 * (int64_t) f7_38; - int64_t f7f8_38 = f7_2 * (int64_t) f8_19; - int64_t f7f9_76 = f7_2 * (int64_t) f9_38; - int64_t f8f8_19 = f8 * (int64_t) f8_19; - int64_t f8f9_38 = f8 * (int64_t) f9_38; - int64_t f9f9_38 = f9 * (int64_t) f9_38; - int64_t h0 = f0f0 +f1f9_76+f2f8_38+f3f7_76+f4f6_38+f5f5_38; - int64_t h1 = f0f1_2+f2f9_38+f3f8_38+f4f7_38+f5f6_38; - int64_t h2 = f0f2_2+f1f1_2 +f3f9_76+f4f8_38+f5f7_76+f6f6_19; - int64_t h3 = f0f3_2+f1f2_2 +f4f9_38+f5f8_38+f6f7_38; - int64_t h4 = f0f4_2+f1f3_4 +f2f2 +f5f9_76+f6f8_38+f7f7_38; - int64_t h5 = f0f5_2+f1f4_2 +f2f3_2 +f6f9_38+f7f8_38; - int64_t h6 = f0f6_2+f1f5_4 +f2f4_2 +f3f3_2 +f7f9_76+f8f8_19; - int64_t h7 = f0f7_2+f1f6_2 +f2f5_2 +f3f4_2 +f8f9_38; - int64_t h8 = f0f8_2+f1f7_4 +f2f6_2 +f3f5_4 +f4f4 +f9f9_38; - int64_t h9 = f0f9_2+f1f8_2 +f2f7_2 +f3f6_2 +f4f5_2; - int64_t carry0; - int64_t carry1; - int64_t carry2; - int64_t carry3; - int64_t carry4; - int64_t carry5; - int64_t carry6; - int64_t carry7; - int64_t carry8; - int64_t carry9; - - carry0 = (h0 + (int64_t) (1L << 25)) >> 26; h1 += carry0; h0 -= carry0 * ((uint64_t) 1L << 26); - carry4 = (h4 + (int64_t) (1L << 25)) >> 26; h5 += carry4; h4 -= carry4 * ((uint64_t) 1L << 26); - - carry1 = (h1 + (int64_t) (1L << 24)) >> 25; h2 += carry1; h1 -= carry1 * ((uint64_t) 1L << 25); - carry5 = (h5 + (int64_t) (1L << 24)) >> 25; h6 += carry5; h5 -= carry5 * ((uint64_t) 1L << 25); - - carry2 = (h2 + (int64_t) (1L << 25)) >> 26; h3 += carry2; h2 -= carry2 * ((uint64_t) 1L << 26); - carry6 = (h6 + (int64_t) (1L << 25)) >> 26; h7 += carry6; h6 -= carry6 * ((uint64_t) 1L << 26); - - carry3 = (h3 + (int64_t) (1L << 24)) >> 25; h4 += carry3; h3 -= carry3 * ((uint64_t) 1L << 25); - carry7 = (h7 + (int64_t) (1L << 24)) >> 25; h8 += carry7; h7 -= carry7 * ((uint64_t) 1L << 25); - - carry4 = (h4 + (int64_t) (1L << 25)) >> 26; h5 += carry4; h4 -= carry4 * ((uint64_t) 1L << 26); - carry8 = (h8 + (int64_t) (1L << 25)) >> 26; h9 += carry8; h8 -= carry8 * ((uint64_t) 1L << 26); - - carry9 = (h9 + (int64_t) (1L << 24)) >> 25; h0 += carry9 * 19; h9 -= carry9 * ((uint64_t) 1L << 25); - - carry0 = (h0 + (int64_t) (1L << 25)) >> 26; h1 += carry0; h0 -= carry0 * ((uint64_t) 1L << 26); - - h[0] = (int32_t) h0; - h[1] = (int32_t) h1; - h[2] = (int32_t) h2; - h[3] = (int32_t) h3; - h[4] = (int32_t) h4; - h[5] = (int32_t) h5; - h[6] = (int32_t) h6; - h[7] = (int32_t) h7; - h[8] = (int32_t) h8; - h[9] = (int32_t) h9; -} - -/* - h = 2 * f * f - Can overlap h with f. - * - Preconditions: - |f| bounded by 1.65*2^26,1.65*2^25,1.65*2^26,1.65*2^25,etc. - * - Postconditions: - |h| bounded by 1.01*2^25,1.01*2^24,1.01*2^25,1.01*2^24,etc. - */ - -/* - See fe_mul.c for discussion of implementation strategy. - */ - -void fe_sq2(fe h,const fe f) -{ - int32_t f0 = f[0]; - int32_t f1 = f[1]; - int32_t f2 = f[2]; - int32_t f3 = f[3]; - int32_t f4 = f[4]; - int32_t f5 = f[5]; - int32_t f6 = f[6]; - int32_t f7 = f[7]; - int32_t f8 = f[8]; - int32_t f9 = f[9]; - int32_t f0_2 = 2 * f0; - int32_t f1_2 = 2 * f1; - int32_t f2_2 = 2 * f2; - int32_t f3_2 = 2 * f3; - int32_t f4_2 = 2 * f4; - int32_t f5_2 = 2 * f5; - int32_t f6_2 = 2 * f6; - int32_t f7_2 = 2 * f7; - int32_t f5_38 = 38 * f5; /* 1.959375*2^30 */ - int32_t f6_19 = 19 * f6; /* 1.959375*2^30 */ - int32_t f7_38 = 38 * f7; /* 1.959375*2^30 */ - int32_t f8_19 = 19 * f8; /* 1.959375*2^30 */ - int32_t f9_38 = 38 * f9; /* 1.959375*2^30 */ - int64_t f0f0 = f0 * (int64_t) f0; - int64_t f0f1_2 = f0_2 * (int64_t) f1; - int64_t f0f2_2 = f0_2 * (int64_t) f2; - int64_t f0f3_2 = f0_2 * (int64_t) f3; - int64_t f0f4_2 = f0_2 * (int64_t) f4; - int64_t f0f5_2 = f0_2 * (int64_t) f5; - int64_t f0f6_2 = f0_2 * (int64_t) f6; - int64_t f0f7_2 = f0_2 * (int64_t) f7; - int64_t f0f8_2 = f0_2 * (int64_t) f8; - int64_t f0f9_2 = f0_2 * (int64_t) f9; - int64_t f1f1_2 = f1_2 * (int64_t) f1; - int64_t f1f2_2 = f1_2 * (int64_t) f2; - int64_t f1f3_4 = f1_2 * (int64_t) f3_2; - int64_t f1f4_2 = f1_2 * (int64_t) f4; - int64_t f1f5_4 = f1_2 * (int64_t) f5_2; - int64_t f1f6_2 = f1_2 * (int64_t) f6; - int64_t f1f7_4 = f1_2 * (int64_t) f7_2; - int64_t f1f8_2 = f1_2 * (int64_t) f8; - int64_t f1f9_76 = f1_2 * (int64_t) f9_38; - int64_t f2f2 = f2 * (int64_t) f2; - int64_t f2f3_2 = f2_2 * (int64_t) f3; - int64_t f2f4_2 = f2_2 * (int64_t) f4; - int64_t f2f5_2 = f2_2 * (int64_t) f5; - int64_t f2f6_2 = f2_2 * (int64_t) f6; - int64_t f2f7_2 = f2_2 * (int64_t) f7; - int64_t f2f8_38 = f2_2 * (int64_t) f8_19; - int64_t f2f9_38 = f2 * (int64_t) f9_38; - int64_t f3f3_2 = f3_2 * (int64_t) f3; - int64_t f3f4_2 = f3_2 * (int64_t) f4; - int64_t f3f5_4 = f3_2 * (int64_t) f5_2; - int64_t f3f6_2 = f3_2 * (int64_t) f6; - int64_t f3f7_76 = f3_2 * (int64_t) f7_38; - int64_t f3f8_38 = f3_2 * (int64_t) f8_19; - int64_t f3f9_76 = f3_2 * (int64_t) f9_38; - int64_t f4f4 = f4 * (int64_t) f4; - int64_t f4f5_2 = f4_2 * (int64_t) f5; - int64_t f4f6_38 = f4_2 * (int64_t) f6_19; - int64_t f4f7_38 = f4 * (int64_t) f7_38; - int64_t f4f8_38 = f4_2 * (int64_t) f8_19; - int64_t f4f9_38 = f4 * (int64_t) f9_38; - int64_t f5f5_38 = f5 * (int64_t) f5_38; - int64_t f5f6_38 = f5_2 * (int64_t) f6_19; - int64_t f5f7_76 = f5_2 * (int64_t) f7_38; - int64_t f5f8_38 = f5_2 * (int64_t) f8_19; - int64_t f5f9_76 = f5_2 * (int64_t) f9_38; - int64_t f6f6_19 = f6 * (int64_t) f6_19; - int64_t f6f7_38 = f6 * (int64_t) f7_38; - int64_t f6f8_38 = f6_2 * (int64_t) f8_19; - int64_t f6f9_38 = f6 * (int64_t) f9_38; - int64_t f7f7_38 = f7 * (int64_t) f7_38; - int64_t f7f8_38 = f7_2 * (int64_t) f8_19; - int64_t f7f9_76 = f7_2 * (int64_t) f9_38; - int64_t f8f8_19 = f8 * (int64_t) f8_19; - int64_t f8f9_38 = f8 * (int64_t) f9_38; - int64_t f9f9_38 = f9 * (int64_t) f9_38; - int64_t h0 = f0f0 +f1f9_76+f2f8_38+f3f7_76+f4f6_38+f5f5_38; - int64_t h1 = f0f1_2+f2f9_38+f3f8_38+f4f7_38+f5f6_38; - int64_t h2 = f0f2_2+f1f1_2 +f3f9_76+f4f8_38+f5f7_76+f6f6_19; - int64_t h3 = f0f3_2+f1f2_2 +f4f9_38+f5f8_38+f6f7_38; - int64_t h4 = f0f4_2+f1f3_4 +f2f2 +f5f9_76+f6f8_38+f7f7_38; - int64_t h5 = f0f5_2+f1f4_2 +f2f3_2 +f6f9_38+f7f8_38; - int64_t h6 = f0f6_2+f1f5_4 +f2f4_2 +f3f3_2 +f7f9_76+f8f8_19; - int64_t h7 = f0f7_2+f1f6_2 +f2f5_2 +f3f4_2 +f8f9_38; - int64_t h8 = f0f8_2+f1f7_4 +f2f6_2 +f3f5_4 +f4f4 +f9f9_38; - int64_t h9 = f0f9_2+f1f8_2 +f2f7_2 +f3f6_2 +f4f5_2; - int64_t carry0; - int64_t carry1; - int64_t carry2; - int64_t carry3; - int64_t carry4; - int64_t carry5; - int64_t carry6; - int64_t carry7; - int64_t carry8; - int64_t carry9; - - h0 += h0; - h1 += h1; - h2 += h2; - h3 += h3; - h4 += h4; - h5 += h5; - h6 += h6; - h7 += h7; - h8 += h8; - h9 += h9; - - carry0 = (h0 + (int64_t) (1L << 25)) >> 26; h1 += carry0; h0 -= carry0 * ((uint64_t) 1L << 26); - carry4 = (h4 + (int64_t) (1L << 25)) >> 26; h5 += carry4; h4 -= carry4 * ((uint64_t) 1L << 26); - - carry1 = (h1 + (int64_t) (1L << 24)) >> 25; h2 += carry1; h1 -= carry1 * ((uint64_t) 1L << 25); - carry5 = (h5 + (int64_t) (1L << 24)) >> 25; h6 += carry5; h5 -= carry5 * ((uint64_t) 1L << 25); - - carry2 = (h2 + (int64_t) (1L << 25)) >> 26; h3 += carry2; h2 -= carry2 * ((uint64_t) 1L << 26); - carry6 = (h6 + (int64_t) (1L << 25)) >> 26; h7 += carry6; h6 -= carry6 * ((uint64_t) 1L << 26); - - carry3 = (h3 + (int64_t) (1L << 24)) >> 25; h4 += carry3; h3 -= carry3 * ((uint64_t) 1L << 25); - carry7 = (h7 + (int64_t) (1L << 24)) >> 25; h8 += carry7; h7 -= carry7 * ((uint64_t) 1L << 25); - - carry4 = (h4 + (int64_t) (1L << 25)) >> 26; h5 += carry4; h4 -= carry4 * ((uint64_t) 1L << 26); - carry8 = (h8 + (int64_t) (1L << 25)) >> 26; h9 += carry8; h8 -= carry8 * ((uint64_t) 1L << 26); - - carry9 = (h9 + (int64_t) (1L << 24)) >> 25; h0 += carry9 * 19; h9 -= carry9 * ((uint64_t) 1L << 25); - - carry0 = (h0 + (int64_t) (1L << 25)) >> 26; h1 += carry0; h0 -= carry0 * ((uint64_t) 1L << 26); - - h[0] = (int32_t) h0; - h[1] = (int32_t) h1; - h[2] = (int32_t) h2; - h[3] = (int32_t) h3; - h[4] = (int32_t) h4; - h[5] = (int32_t) h5; - h[6] = (int32_t) h6; - h[7] = (int32_t) h7; - h[8] = (int32_t) h8; - h[9] = (int32_t) h9; -} - -void fe_invert(fe out,const fe z) -{ - fe t0; - fe t1; - fe t2; - fe t3; - int i; - - fe_sq(t0, z); - fe_sq(t1, t0); - fe_sq(t1, t1); - fe_mul(t1, z, t1); - fe_mul(t0, t0, t1); - fe_sq(t2, t0); - fe_mul(t1, t1, t2); - fe_sq(t2, t1); - for (i = 1; i < 5; ++i) { - fe_sq(t2, t2); - } - fe_mul(t1, t2, t1); - fe_sq(t2, t1); - for (i = 1; i < 10; ++i) { - fe_sq(t2, t2); - } - fe_mul(t2, t2, t1); - fe_sq(t3, t2); - for (i = 1; i < 20; ++i) { - fe_sq(t3, t3); - } - fe_mul(t2, t3, t2); - fe_sq(t2, t2); - for (i = 1; i < 10; ++i) { - fe_sq(t2, t2); - } - fe_mul(t1, t2, t1); - fe_sq(t2, t1); - for (i = 1; i < 50; ++i) { - fe_sq(t2, t2); - } - fe_mul(t2, t2, t1); - fe_sq(t3, t2); - for (i = 1; i < 100; ++i) { - fe_sq(t3, t3); - } - fe_mul(t2, t3, t2); - fe_sq(t2, t2); - for (i = 1; i < 50; ++i) { - fe_sq(t2, t2); - } - fe_mul(t1, t2, t1); - fe_sq(t1, t1); - for (i = 1; i < 5; ++i) { - fe_sq(t1, t1); - } - fe_mul(out, t1, t0); -} - -void fe_pow22523(fe out,const fe z) -{ - fe t0; - fe t1; - fe t2; - int i; - - fe_sq(t0, z); - fe_sq(t1, t0); - fe_sq(t1, t1); - fe_mul(t1, z, t1); - fe_mul(t0, t0, t1); - fe_sq(t0, t0); - fe_mul(t0, t1, t0); - fe_sq(t1, t0); - for (i = 1; i < 5; ++i) { - fe_sq(t1, t1); - } - fe_mul(t0, t1, t0); - fe_sq(t1, t0); - for (i = 1; i < 10; ++i) { - fe_sq(t1, t1); - } - fe_mul(t1, t1, t0); - fe_sq(t2, t1); - for (i = 1; i < 20; ++i) { - fe_sq(t2, t2); - } - fe_mul(t1, t2, t1); - fe_sq(t1, t1); - for (i = 1; i < 10; ++i) { - fe_sq(t1, t1); - } - fe_mul(t0, t1, t0); - fe_sq(t1, t0); - for (i = 1; i < 50; ++i) { - fe_sq(t1, t1); - } - fe_mul(t1, t1, t0); - fe_sq(t2, t1); - for (i = 1; i < 100; ++i) { - fe_sq(t2, t2); - } - fe_mul(t1, t2, t1); - fe_sq(t1, t1); - for (i = 1; i < 50; ++i) { - fe_sq(t1, t1); - } - fe_mul(t0, t1, t0); - fe_sq(t0, t0); - fe_sq(t0, t0); - fe_mul(out, t0, z); -} - -/* - h = f - g - Can overlap h with f or g. - * - Preconditions: - |f| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. - |g| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. - * - Postconditions: - |h| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. - */ - -void fe_sub(fe h,const fe f,const fe g) -{ - int32_t f0 = f[0]; - int32_t f1 = f[1]; - int32_t f2 = f[2]; - int32_t f3 = f[3]; - int32_t f4 = f[4]; - int32_t f5 = f[5]; - int32_t f6 = f[6]; - int32_t f7 = f[7]; - int32_t f8 = f[8]; - int32_t f9 = f[9]; - int32_t g0 = g[0]; - int32_t g1 = g[1]; - int32_t g2 = g[2]; - int32_t g3 = g[3]; - int32_t g4 = g[4]; - int32_t g5 = g[5]; - int32_t g6 = g[6]; - int32_t g7 = g[7]; - int32_t g8 = g[8]; - int32_t g9 = g[9]; - int32_t h0 = f0 - g0; - int32_t h1 = f1 - g1; - int32_t h2 = f2 - g2; - int32_t h3 = f3 - g3; - int32_t h4 = f4 - g4; - int32_t h5 = f5 - g5; - int32_t h6 = f6 - g6; - int32_t h7 = f7 - g7; - int32_t h8 = f8 - g8; - int32_t h9 = f9 - g9; - h[0] = h0; - h[1] = h1; - h[2] = h2; - h[3] = h3; - h[4] = h4; - h[5] = h5; - h[6] = h6; - h[7] = h7; - h[8] = h8; - h[9] = h9; -} - -/* - r = p + q - */ - -void ge_add(ge_p1p1 *r,const ge_p3 *p,const ge_cached *q) -{ - fe t0; - - fe_add(r->X, p->Y, p->X); - fe_sub(r->Y, p->Y, p->X); - fe_mul(r->Z, r->X, q->YplusX); - fe_mul(r->Y, r->Y, q->YminusX); - fe_mul(r->T, q->T2d, p->T); - fe_mul(r->X, p->Z, q->Z); - fe_add(t0, r->X, r->X); - fe_sub(r->X, r->Z, r->Y); - fe_add(r->Y, r->Z, r->Y); - fe_add(r->Z, t0, r->T); - fe_sub(r->T, t0, r->T); -} - -static void slide(signed char *r,const unsigned char *a) -{ - int i; - int b; - int k; - - for (i = 0;i < 256;++i) - r[i] = 1 & (a[i >> 3] >> (i & 7)); - - for (i = 0;i < 256;++i) - if (r[i]) { - for (b = 1;b <= 6 && i + b < 256;++b) { - if (r[i + b]) { - if (r[i] + (r[i + b] << b) <= 15) { - r[i] += r[i + b] << b; r[i + b] = 0; - } else if (r[i] - (r[i + b] << b) >= -15) { - r[i] -= r[i + b] << b; - for (k = i + b;k < 256;++k) { - if (!r[k]) { - r[k] = 1; - break; - } - r[k] = 0; - } - } else - break; - } - } - } - -} - -static const ge_precomp Bi[8] = { -#include "base2.h" -}; - -/* 37095705934669439343138083508754565189542113879843219016388785533085940283555 */ -static const fe d = { - -10913610,13857413,-15372611,6949391,114729,-8787816,-6275908,-3247719,-18696448,-12055116 -}; - -/* sqrt(-1) */ -static const fe sqrtm1 = { - -32595792,-7943725,9377950,3500415,12389472,-272473,-25146209,-2005654,326686,11406482 -}; - -int ge_frombytes_negate_vartime(ge_p3 *h,const unsigned char *s) -{ - fe u; - fe v; - fe v3; - fe vxx; - fe check; - - fe_frombytes(h->Y,s); - fe_1(h->Z); - fe_sq(u,h->Y); - fe_mul(v,u,d); - fe_sub(u,u,h->Z); /* u = y^2-1 */ - fe_add(v,v,h->Z); /* v = dy^2+1 */ - - fe_sq(v3,v); - fe_mul(v3,v3,v); /* v3 = v^3 */ - fe_sq(h->X,v3); - fe_mul(h->X,h->X,v); - fe_mul(h->X,h->X,u); /* x = uv^7 */ - - fe_pow22523(h->X,h->X); /* x = (uv^7)^((q-5)/8) */ - fe_mul(h->X,h->X,v3); - fe_mul(h->X,h->X,u); /* x = uv^3(uv^7)^((q-5)/8) */ - - fe_sq(vxx,h->X); - fe_mul(vxx,vxx,v); - fe_sub(check,vxx,u); /* vx^2-u */ - if (fe_isnonzero(check)) { - fe_add(check,vxx,u); /* vx^2+u */ - if (fe_isnonzero(check)) { - return -1; - } - fe_mul(h->X,h->X,sqrtm1); - } - - if (fe_isnegative(h->X) == (s[31] >> 7)) { - fe_neg(h->X,h->X); - } - fe_mul(h->T,h->X,h->Y); - - return 0; -} - -/* - r = p + q - */ - -void ge_madd(ge_p1p1 *r,const ge_p3 *p,const ge_precomp *q) -{ - fe t0; - - fe_add(r->X, p->Y, p->X); - fe_sub(r->Y, p->Y, p->X); - fe_mul(r->Z, r->X, q->yplusx); - fe_mul(r->Y, r->Y, q->yminusx); - fe_mul(r->T, q->xy2d, p->T); - fe_add(t0, p->Z, p->Z); - fe_sub(r->X, r->Z, r->Y); - fe_add(r->Y, r->Z, r->Y); - fe_add(r->Z, t0, r->T); - fe_sub(r->T, t0, r->T); -} - -/* - r = p - q - */ - -void ge_msub(ge_p1p1 *r,const ge_p3 *p,const ge_precomp *q) -{ - fe t0; - - fe_add(r->X, p->Y, p->X); - fe_sub(r->Y, p->Y, p->X); - fe_mul(r->Z, r->X, q->yminusx); - fe_mul(r->Y, r->Y, q->yplusx); - fe_mul(r->T, q->xy2d, p->T); - fe_add(t0, p->Z, p->Z); - fe_sub(r->X, r->Z, r->Y); - fe_add(r->Y, r->Z, r->Y); - fe_sub(r->Z, t0, r->T); - fe_add(r->T, t0, r->T); -} - -/* - r = p - */ - -extern void ge_p1p1_to_p2(ge_p2 *r,const ge_p1p1 *p) -{ - fe_mul(r->X,p->X,p->T); - fe_mul(r->Y,p->Y,p->Z); - fe_mul(r->Z,p->Z,p->T); -} - -/* - r = p - */ - -extern void ge_p1p1_to_p3(ge_p3 *r,const ge_p1p1 *p) -{ - fe_mul(r->X,p->X,p->T); - fe_mul(r->Y,p->Y,p->Z); - fe_mul(r->Z,p->Z,p->T); - fe_mul(r->T,p->X,p->Y); -} - -void ge_p2_0(ge_p2 *h) -{ - fe_0(h->X); - fe_1(h->Y); - fe_1(h->Z); -} - -/* - r = 2 * p - */ - -void ge_p2_dbl(ge_p1p1 *r,const ge_p2 *p) -{ - fe t0; - - fe_sq(r->X, p->X); - fe_sq(r->Z, p->Y); - fe_sq2(r->T, p->Z); - fe_add(r->Y, p->X, p->Y); - fe_sq(t0, r->Y); - fe_add(r->Y, r->Z, r->X); - fe_sub(r->Z, r->Z, r->X); - fe_sub(r->X, t0, r->Y); - fe_sub(r->T, r->T, r->Z); -} - -void ge_p3_0(ge_p3 *h) -{ - fe_0(h->X); - fe_1(h->Y); - fe_1(h->Z); - fe_0(h->T); -} - -/* - r = p - */ - -/* 2 * d = 16295367250680780974490674513165176452449235426866156013048779062215315747161 */ -static const fe d2 = { - -21827239,-5839606,-30745221,13898782,229458,15978800,-12551817,-6495438,29715968,9444199 -}; - -extern void ge_p3_to_cached(ge_cached *r,const ge_p3 *p) -{ - fe_add(r->YplusX,p->Y,p->X); - fe_sub(r->YminusX,p->Y,p->X); - fe_copy(r->Z,p->Z); - fe_mul(r->T2d,p->T,d2); -} - -/* - r = p - */ - -extern void ge_p3_to_p2(ge_p2 *r,const ge_p3 *p) -{ - fe_copy(r->X,p->X); - fe_copy(r->Y,p->Y); - fe_copy(r->Z,p->Z); -} - -void ge_p3_tobytes(unsigned char *s,const ge_p3 *h) -{ - fe recip; - fe x; - fe y; - - fe_invert(recip,h->Z); - fe_mul(x,h->X,recip); - fe_mul(y,h->Y,recip); - fe_tobytes(s,y); - s[31] ^= fe_isnegative(x) << 7; -} - -/* - r = 2 * p - */ - -void ge_p3_dbl(ge_p1p1 *r,const ge_p3 *p) -{ - ge_p2 q; - ge_p3_to_p2(&q,p); - ge_p2_dbl(r,&q); -} - -void ge_precomp_0(ge_precomp *h) -{ - fe_1(h->yplusx); - fe_1(h->yminusx); - fe_0(h->xy2d); -} - -static unsigned char equal(signed char b,signed char c) -{ - unsigned char ub = b; - unsigned char uc = c; - unsigned char x = ub ^ uc; /* 0: yes; 1..255: no */ - uint32_t y = x; /* 0: yes; 1..255: no */ - y -= 1; /* 4294967295: yes; 0..254: no */ - y >>= 31; /* 1: yes; 0: no */ - - return y; -} - -static unsigned char negative(signed char b) -{ - uint64_t x = b; /* 18446744073709551361..18446744073709551615: yes; 0..255: no */ - x >>= 63; /* 1: yes; 0: no */ - - return x; -} - -static void cmov(ge_precomp *t,const ge_precomp *u,unsigned char b) -{ - fe_cmov(t->yplusx,u->yplusx,b); - fe_cmov(t->yminusx,u->yminusx,b); - fe_cmov(t->xy2d,u->xy2d,b); -} - -/* base[i][j] = (j+1)*256^i*B */ -static const ge_precomp base[32][8] = { -#include "base.h" -}; - -static void ge_select(ge_precomp *t,int pos,signed char b) -{ - ge_precomp minust; - unsigned char bnegative = negative(b); - unsigned char babs = b - (((-bnegative) & b) * ((signed char) 1 << 1)); - - ge_precomp_0(t); - cmov(t,&base[pos][0],equal(babs,1)); - cmov(t,&base[pos][1],equal(babs,2)); - cmov(t,&base[pos][2],equal(babs,3)); - cmov(t,&base[pos][3],equal(babs,4)); - cmov(t,&base[pos][4],equal(babs,5)); - cmov(t,&base[pos][5],equal(babs,6)); - cmov(t,&base[pos][6],equal(babs,7)); - cmov(t,&base[pos][7],equal(babs,8)); - fe_copy(minust.yplusx,t->yminusx); - fe_copy(minust.yminusx,t->yplusx); - fe_neg(minust.xy2d,t->xy2d); - cmov(t,&minust,bnegative); -} - -/* - r = p - q - */ - -void ge_sub(ge_p1p1 *r,const ge_p3 *p,const ge_cached *q) -{ - fe t0; - - fe_add(r->X, p->Y, p->X); - fe_sub(r->Y, p->Y, p->X); - fe_mul(r->Z, r->X, q->YminusX); - fe_mul(r->Y, r->Y, q->YplusX); - fe_mul(r->T, q->T2d, p->T); - fe_mul(r->X, p->Z, q->Z); - fe_add(t0, r->X, r->X); - fe_sub(r->X, r->Z, r->Y); - fe_add(r->Y, r->Z, r->Y); - fe_sub(r->Z, t0, r->T); - fe_add(r->T, t0, r->T); -} - -void ge_tobytes(unsigned char *s,const ge_p2 *h) -{ - fe recip; - fe x; - fe y; - - fe_invert(recip,h->Z); - fe_mul(x,h->X,recip); - fe_mul(y,h->Y,recip); - fe_tobytes(s,y); - s[31] ^= fe_isnegative(x) << 7; -} - -/* - h = a * B - where a = a[0]+256*a[1]+...+256^31 a[31] - B is the Ed25519 base point (x,4/5) with x positive. - * - Preconditions: - a[31] <= 127 - */ - -/* - r = a * A + b * B - where a = a[0]+256*a[1]+...+256^31 a[31]. - and b = b[0]+256*b[1]+...+256^31 b[31]. - B is the Ed25519 base point (x,4/5) with x positive. - */ - -void ge_double_scalarmult_vartime(ge_p2 *r,const unsigned char *a,const ge_p3 *A,const unsigned char *b) -{ - signed char aslide[256]; - signed char bslide[256]; - ge_cached Ai[8]; /* A,3A,5A,7A,9A,11A,13A,15A */ - ge_p1p1 t; - ge_p3 u; - ge_p3 A2; - int i; - - slide(aslide,a); - slide(bslide,b); - - ge_p3_to_cached(&Ai[0],A); - ge_p3_dbl(&t,A); ge_p1p1_to_p3(&A2,&t); - ge_add(&t,&A2,&Ai[0]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[1],&u); - ge_add(&t,&A2,&Ai[1]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[2],&u); - ge_add(&t,&A2,&Ai[2]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[3],&u); - ge_add(&t,&A2,&Ai[3]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[4],&u); - ge_add(&t,&A2,&Ai[4]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[5],&u); - ge_add(&t,&A2,&Ai[5]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[6],&u); - ge_add(&t,&A2,&Ai[6]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[7],&u); - - ge_p2_0(r); - - for (i = 255;i >= 0;--i) { - if (aslide[i] || bslide[i]) break; - } - - for (;i >= 0;--i) { - ge_p2_dbl(&t,r); - - if (aslide[i] > 0) { - ge_p1p1_to_p3(&u,&t); - ge_add(&t,&u,&Ai[aslide[i]/2]); - } else if (aslide[i] < 0) { - ge_p1p1_to_p3(&u,&t); - ge_sub(&t,&u,&Ai[(-aslide[i])/2]); - } - - if (bslide[i] > 0) { - ge_p1p1_to_p3(&u,&t); - ge_madd(&t,&u,&Bi[bslide[i]/2]); - } else if (bslide[i] < 0) { - ge_p1p1_to_p3(&u,&t); - ge_msub(&t,&u,&Bi[(-bslide[i])/2]); - } - - ge_p1p1_to_p2(r,&t); - } -} - -void ge_scalarmult_vartime(ge_p3 *r,const unsigned char *a,const ge_p3 *A) -{ - signed char aslide[256]; - ge_cached Ai[8]; - ge_p1p1 t; - ge_p3 u; - ge_p3 A2; - int i; - - slide(aslide,a); - - ge_p3_to_cached(&Ai[0],A); - ge_p3_dbl(&t,A); ge_p1p1_to_p3(&A2,&t); - ge_add(&t,&A2,&Ai[0]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[1],&u); - ge_add(&t,&A2,&Ai[1]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[2],&u); - ge_add(&t,&A2,&Ai[2]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[3],&u); - ge_add(&t,&A2,&Ai[3]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[4],&u); - ge_add(&t,&A2,&Ai[4]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[5],&u); - ge_add(&t,&A2,&Ai[5]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[6],&u); - ge_add(&t,&A2,&Ai[6]); ge_p1p1_to_p3(&u,&t); ge_p3_to_cached(&Ai[7],&u); - - ge_p3_0(r); - - for (i = 255;i >= 0;--i) { - if (aslide[i]) break; - } - - for (;i >= 0;--i) { - ge_p3_dbl(&t,r); - - if (aslide[i] > 0) { - ge_p1p1_to_p3(&u,&t); - ge_add(&t,&u,&Ai[aslide[i]/2]); - } else if (aslide[i] < 0) { - ge_p1p1_to_p3(&u,&t); - ge_sub(&t,&u,&Ai[(-aslide[i])/2]); - } - - ge_p1p1_to_p3(r,&t); - } -} - -void ge_scalarmult_base(ge_p3 *h,const unsigned char *a) -{ - signed char e[64]; - signed char carry; - ge_p1p1 r; - ge_p2 s; - ge_precomp t; - int i; - - for (i = 0;i < 32;++i) { - e[2 * i + 0] = (a[i] >> 0) & 15; - e[2 * i + 1] = (a[i] >> 4) & 15; - } - /* each e[i] is between 0 and 15 */ - /* e[63] is between 0 and 7 */ - - carry = 0; - for (i = 0;i < 63;++i) { - e[i] += carry; - carry = e[i] + 8; - carry >>= 4; - e[i] -= carry * ((signed char) 1 << 4); - } - e[63] += carry; - /* each e[i] is between -8 and 8 */ - - ge_p3_0(h); - for (i = 1;i < 64;i += 2) { - ge_select(&t,i / 2,e[i]); - ge_madd(&r,h,&t); ge_p1p1_to_p3(h,&r); - } - - ge_p3_dbl(&r,h); ge_p1p1_to_p2(&s,&r); - ge_p2_dbl(&r,&s); ge_p1p1_to_p2(&s,&r); - ge_p2_dbl(&r,&s); ge_p1p1_to_p2(&s,&r); - ge_p2_dbl(&r,&s); ge_p1p1_to_p3(h,&r); - - for (i = 0;i < 64;i += 2) { - ge_select(&t,i / 2,e[i]); - ge_madd(&r,h,&t); ge_p1p1_to_p3(h,&r); - } -} - -/* - Input: - a[0]+256*a[1]+...+256^31*a[31] = a - b[0]+256*b[1]+...+256^31*b[31] = b - c[0]+256*c[1]+...+256^31*c[31] = c - * - Output: - s[0]+256*s[1]+...+256^31*s[31] = (ab+c) mod l - where l = 2^252 + 27742317777372353535851937790883648493. - */ - -void sc_muladd(unsigned char *s,const unsigned char *a,const unsigned char *b,const unsigned char *c) -{ - int64_t a0 = 2097151 & load_3(a); - int64_t a1 = 2097151 & (load_4(a + 2) >> 5); - int64_t a2 = 2097151 & (load_3(a + 5) >> 2); - int64_t a3 = 2097151 & (load_4(a + 7) >> 7); - int64_t a4 = 2097151 & (load_4(a + 10) >> 4); - int64_t a5 = 2097151 & (load_3(a + 13) >> 1); - int64_t a6 = 2097151 & (load_4(a + 15) >> 6); - int64_t a7 = 2097151 & (load_3(a + 18) >> 3); - int64_t a8 = 2097151 & load_3(a + 21); - int64_t a9 = 2097151 & (load_4(a + 23) >> 5); - int64_t a10 = 2097151 & (load_3(a + 26) >> 2); - int64_t a11 = (load_4(a + 28) >> 7); - int64_t b0 = 2097151 & load_3(b); - int64_t b1 = 2097151 & (load_4(b + 2) >> 5); - int64_t b2 = 2097151 & (load_3(b + 5) >> 2); - int64_t b3 = 2097151 & (load_4(b + 7) >> 7); - int64_t b4 = 2097151 & (load_4(b + 10) >> 4); - int64_t b5 = 2097151 & (load_3(b + 13) >> 1); - int64_t b6 = 2097151 & (load_4(b + 15) >> 6); - int64_t b7 = 2097151 & (load_3(b + 18) >> 3); - int64_t b8 = 2097151 & load_3(b + 21); - int64_t b9 = 2097151 & (load_4(b + 23) >> 5); - int64_t b10 = 2097151 & (load_3(b + 26) >> 2); - int64_t b11 = (load_4(b + 28) >> 7); - int64_t c0 = 2097151 & load_3(c); - int64_t c1 = 2097151 & (load_4(c + 2) >> 5); - int64_t c2 = 2097151 & (load_3(c + 5) >> 2); - int64_t c3 = 2097151 & (load_4(c + 7) >> 7); - int64_t c4 = 2097151 & (load_4(c + 10) >> 4); - int64_t c5 = 2097151 & (load_3(c + 13) >> 1); - int64_t c6 = 2097151 & (load_4(c + 15) >> 6); - int64_t c7 = 2097151 & (load_3(c + 18) >> 3); - int64_t c8 = 2097151 & load_3(c + 21); - int64_t c9 = 2097151 & (load_4(c + 23) >> 5); - int64_t c10 = 2097151 & (load_3(c + 26) >> 2); - int64_t c11 = (load_4(c + 28) >> 7); - int64_t s0; - int64_t s1; - int64_t s2; - int64_t s3; - int64_t s4; - int64_t s5; - int64_t s6; - int64_t s7; - int64_t s8; - int64_t s9; - int64_t s10; - int64_t s11; - int64_t s12; - int64_t s13; - int64_t s14; - int64_t s15; - int64_t s16; - int64_t s17; - int64_t s18; - int64_t s19; - int64_t s20; - int64_t s21; - int64_t s22; - int64_t s23; - int64_t carry0; - int64_t carry1; - int64_t carry2; - int64_t carry3; - int64_t carry4; - int64_t carry5; - int64_t carry6; - int64_t carry7; - int64_t carry8; - int64_t carry9; - int64_t carry10; - int64_t carry11; - int64_t carry12; - int64_t carry13; - int64_t carry14; - int64_t carry15; - int64_t carry16; - int64_t carry17; - int64_t carry18; - int64_t carry19; - int64_t carry20; - int64_t carry21; - int64_t carry22; - - s0 = c0 + a0*b0; - s1 = c1 + a0*b1 + a1*b0; - s2 = c2 + a0*b2 + a1*b1 + a2*b0; - s3 = c3 + a0*b3 + a1*b2 + a2*b1 + a3*b0; - s4 = c4 + a0*b4 + a1*b3 + a2*b2 + a3*b1 + a4*b0; - s5 = c5 + a0*b5 + a1*b4 + a2*b3 + a3*b2 + a4*b1 + a5*b0; - s6 = c6 + a0*b6 + a1*b5 + a2*b4 + a3*b3 + a4*b2 + a5*b1 + a6*b0; - s7 = c7 + a0*b7 + a1*b6 + a2*b5 + a3*b4 + a4*b3 + a5*b2 + a6*b1 + a7*b0; - s8 = c8 + a0*b8 + a1*b7 + a2*b6 + a3*b5 + a4*b4 + a5*b3 + a6*b2 + a7*b1 + a8*b0; - s9 = c9 + a0*b9 + a1*b8 + a2*b7 + a3*b6 + a4*b5 + a5*b4 + a6*b3 + a7*b2 + a8*b1 + a9*b0; - s10 = c10 + a0*b10 + a1*b9 + a2*b8 + a3*b7 + a4*b6 + a5*b5 + a6*b4 + a7*b3 + a8*b2 + a9*b1 + a10*b0; - s11 = c11 + a0*b11 + a1*b10 + a2*b9 + a3*b8 + a4*b7 + a5*b6 + a6*b5 + a7*b4 + a8*b3 + a9*b2 + a10*b1 + a11*b0; - s12 = a1*b11 + a2*b10 + a3*b9 + a4*b8 + a5*b7 + a6*b6 + a7*b5 + a8*b4 + a9*b3 + a10*b2 + a11*b1; - s13 = a2*b11 + a3*b10 + a4*b9 + a5*b8 + a6*b7 + a7*b6 + a8*b5 + a9*b4 + a10*b3 + a11*b2; - s14 = a3*b11 + a4*b10 + a5*b9 + a6*b8 + a7*b7 + a8*b6 + a9*b5 + a10*b4 + a11*b3; - s15 = a4*b11 + a5*b10 + a6*b9 + a7*b8 + a8*b7 + a9*b6 + a10*b5 + a11*b4; - s16 = a5*b11 + a6*b10 + a7*b9 + a8*b8 + a9*b7 + a10*b6 + a11*b5; - s17 = a6*b11 + a7*b10 + a8*b9 + a9*b8 + a10*b7 + a11*b6; - s18 = a7*b11 + a8*b10 + a9*b9 + a10*b8 + a11*b7; - s19 = a8*b11 + a9*b10 + a10*b9 + a11*b8; - s20 = a9*b11 + a10*b10 + a11*b9; - s21 = a10*b11 + a11*b10; - s22 = a11*b11; - s23 = 0; - - carry0 = (s0 + (int64_t) (1L << 20)) >> 21; s1 += carry0; s0 -= carry0 * ((uint64_t) 1L << 21); - carry2 = (s2 + (int64_t) (1L << 20)) >> 21; s3 += carry2; s2 -= carry2 * ((uint64_t) 1L << 21); - carry4 = (s4 + (int64_t) (1L << 20)) >> 21; s5 += carry4; s4 -= carry4 * ((uint64_t) 1L << 21); - carry6 = (s6 + (int64_t) (1L << 20)) >> 21; s7 += carry6; s6 -= carry6 * ((uint64_t) 1L << 21); - carry8 = (s8 + (int64_t) (1L << 20)) >> 21; s9 += carry8; s8 -= carry8 * ((uint64_t) 1L << 21); - carry10 = (s10 + (int64_t) (1L << 20)) >> 21; s11 += carry10; s10 -= carry10 * ((uint64_t) 1L << 21); - carry12 = (s12 + (int64_t) (1L << 20)) >> 21; s13 += carry12; s12 -= carry12 * ((uint64_t) 1L << 21); - carry14 = (s14 + (int64_t) (1L << 20)) >> 21; s15 += carry14; s14 -= carry14 * ((uint64_t) 1L << 21); - carry16 = (s16 + (int64_t) (1L << 20)) >> 21; s17 += carry16; s16 -= carry16 * ((uint64_t) 1L << 21); - carry18 = (s18 + (int64_t) (1L << 20)) >> 21; s19 += carry18; s18 -= carry18 * ((uint64_t) 1L << 21); - carry20 = (s20 + (int64_t) (1L << 20)) >> 21; s21 += carry20; s20 -= carry20 * ((uint64_t) 1L << 21); - carry22 = (s22 + (int64_t) (1L << 20)) >> 21; s23 += carry22; s22 -= carry22 * ((uint64_t) 1L << 21); - - carry1 = (s1 + (int64_t) (1L << 20)) >> 21; s2 += carry1; s1 -= carry1 * ((uint64_t) 1L << 21); - carry3 = (s3 + (int64_t) (1L << 20)) >> 21; s4 += carry3; s3 -= carry3 * ((uint64_t) 1L << 21); - carry5 = (s5 + (int64_t) (1L << 20)) >> 21; s6 += carry5; s5 -= carry5 * ((uint64_t) 1L << 21); - carry7 = (s7 + (int64_t) (1L << 20)) >> 21; s8 += carry7; s7 -= carry7 * ((uint64_t) 1L << 21); - carry9 = (s9 + (int64_t) (1L << 20)) >> 21; s10 += carry9; s9 -= carry9 * ((uint64_t) 1L << 21); - carry11 = (s11 + (int64_t) (1L << 20)) >> 21; s12 += carry11; s11 -= carry11 * ((uint64_t) 1L << 21); - carry13 = (s13 + (int64_t) (1L << 20)) >> 21; s14 += carry13; s13 -= carry13 * ((uint64_t) 1L << 21); - carry15 = (s15 + (int64_t) (1L << 20)) >> 21; s16 += carry15; s15 -= carry15 * ((uint64_t) 1L << 21); - carry17 = (s17 + (int64_t) (1L << 20)) >> 21; s18 += carry17; s17 -= carry17 * ((uint64_t) 1L << 21); - carry19 = (s19 + (int64_t) (1L << 20)) >> 21; s20 += carry19; s19 -= carry19 * ((uint64_t) 1L << 21); - carry21 = (s21 + (int64_t) (1L << 20)) >> 21; s22 += carry21; s21 -= carry21 * ((uint64_t) 1L << 21); - - s11 += s23 * 666643; - s12 += s23 * 470296; - s13 += s23 * 654183; - s14 -= s23 * 997805; - s15 += s23 * 136657; - s16 -= s23 * 683901; - - s10 += s22 * 666643; - s11 += s22 * 470296; - s12 += s22 * 654183; - s13 -= s22 * 997805; - s14 += s22 * 136657; - s15 -= s22 * 683901; - - s9 += s21 * 666643; - s10 += s21 * 470296; - s11 += s21 * 654183; - s12 -= s21 * 997805; - s13 += s21 * 136657; - s14 -= s21 * 683901; - - s8 += s20 * 666643; - s9 += s20 * 470296; - s10 += s20 * 654183; - s11 -= s20 * 997805; - s12 += s20 * 136657; - s13 -= s20 * 683901; - - s7 += s19 * 666643; - s8 += s19 * 470296; - s9 += s19 * 654183; - s10 -= s19 * 997805; - s11 += s19 * 136657; - s12 -= s19 * 683901; - - s6 += s18 * 666643; - s7 += s18 * 470296; - s8 += s18 * 654183; - s9 -= s18 * 997805; - s10 += s18 * 136657; - s11 -= s18 * 683901; - - carry6 = (s6 + (int64_t) (1L << 20)) >> 21; s7 += carry6; s6 -= carry6 * ((uint64_t) 1L << 21); - carry8 = (s8 + (int64_t) (1L << 20)) >> 21; s9 += carry8; s8 -= carry8 * ((uint64_t) 1L << 21); - carry10 = (s10 + (int64_t) (1L << 20)) >> 21; s11 += carry10; s10 -= carry10 * ((uint64_t) 1L << 21); - carry12 = (s12 + (int64_t) (1L << 20)) >> 21; s13 += carry12; s12 -= carry12 * ((uint64_t) 1L << 21); - carry14 = (s14 + (int64_t) (1L << 20)) >> 21; s15 += carry14; s14 -= carry14 * ((uint64_t) 1L << 21); - carry16 = (s16 + (int64_t) (1L << 20)) >> 21; s17 += carry16; s16 -= carry16 * ((uint64_t) 1L << 21); - - carry7 = (s7 + (int64_t) (1L << 20)) >> 21; s8 += carry7; s7 -= carry7 * ((uint64_t) 1L << 21); - carry9 = (s9 + (int64_t) (1L << 20)) >> 21; s10 += carry9; s9 -= carry9 * ((uint64_t) 1L << 21); - carry11 = (s11 + (int64_t) (1L << 20)) >> 21; s12 += carry11; s11 -= carry11 * ((uint64_t) 1L << 21); - carry13 = (s13 + (int64_t) (1L << 20)) >> 21; s14 += carry13; s13 -= carry13 * ((uint64_t) 1L << 21); - carry15 = (s15 + (int64_t) (1L << 20)) >> 21; s16 += carry15; s15 -= carry15 * ((uint64_t) 1L << 21); - - s5 += s17 * 666643; - s6 += s17 * 470296; - s7 += s17 * 654183; - s8 -= s17 * 997805; - s9 += s17 * 136657; - s10 -= s17 * 683901; - - s4 += s16 * 666643; - s5 += s16 * 470296; - s6 += s16 * 654183; - s7 -= s16 * 997805; - s8 += s16 * 136657; - s9 -= s16 * 683901; - - s3 += s15 * 666643; - s4 += s15 * 470296; - s5 += s15 * 654183; - s6 -= s15 * 997805; - s7 += s15 * 136657; - s8 -= s15 * 683901; - - s2 += s14 * 666643; - s3 += s14 * 470296; - s4 += s14 * 654183; - s5 -= s14 * 997805; - s6 += s14 * 136657; - s7 -= s14 * 683901; - - s1 += s13 * 666643; - s2 += s13 * 470296; - s3 += s13 * 654183; - s4 -= s13 * 997805; - s5 += s13 * 136657; - s6 -= s13 * 683901; - - s0 += s12 * 666643; - s1 += s12 * 470296; - s2 += s12 * 654183; - s3 -= s12 * 997805; - s4 += s12 * 136657; - s5 -= s12 * 683901; - s12 = 0; - - carry0 = (s0 + (int64_t) (1L << 20)) >> 21; s1 += carry0; s0 -= carry0 * ((uint64_t) 1L << 21); - carry2 = (s2 + (int64_t) (1L << 20)) >> 21; s3 += carry2; s2 -= carry2 * ((uint64_t) 1L << 21); - carry4 = (s4 + (int64_t) (1L << 20)) >> 21; s5 += carry4; s4 -= carry4 * ((uint64_t) 1L << 21); - carry6 = (s6 + (int64_t) (1L << 20)) >> 21; s7 += carry6; s6 -= carry6 * ((uint64_t) 1L << 21); - carry8 = (s8 + (int64_t) (1L << 20)) >> 21; s9 += carry8; s8 -= carry8 * ((uint64_t) 1L << 21); - carry10 = (s10 + (int64_t) (1L << 20)) >> 21; s11 += carry10; s10 -= carry10 * ((uint64_t) 1L << 21); - - carry1 = (s1 + (int64_t) (1L << 20)) >> 21; s2 += carry1; s1 -= carry1 * ((uint64_t) 1L << 21); - carry3 = (s3 + (int64_t) (1L << 20)) >> 21; s4 += carry3; s3 -= carry3 * ((uint64_t) 1L << 21); - carry5 = (s5 + (int64_t) (1L << 20)) >> 21; s6 += carry5; s5 -= carry5 * ((uint64_t) 1L << 21); - carry7 = (s7 + (int64_t) (1L << 20)) >> 21; s8 += carry7; s7 -= carry7 * ((uint64_t) 1L << 21); - carry9 = (s9 + (int64_t) (1L << 20)) >> 21; s10 += carry9; s9 -= carry9 * ((uint64_t) 1L << 21); - carry11 = (s11 + (int64_t) (1L << 20)) >> 21; s12 += carry11; s11 -= carry11 * ((uint64_t) 1L << 21); - - s0 += s12 * 666643; - s1 += s12 * 470296; - s2 += s12 * 654183; - s3 -= s12 * 997805; - s4 += s12 * 136657; - s5 -= s12 * 683901; - s12 = 0; - - carry0 = s0 >> 21; s1 += carry0; s0 -= carry0 * ((uint64_t) 1L << 21); - carry1 = s1 >> 21; s2 += carry1; s1 -= carry1 * ((uint64_t) 1L << 21); - carry2 = s2 >> 21; s3 += carry2; s2 -= carry2 * ((uint64_t) 1L << 21); - carry3 = s3 >> 21; s4 += carry3; s3 -= carry3 * ((uint64_t) 1L << 21); - carry4 = s4 >> 21; s5 += carry4; s4 -= carry4 * ((uint64_t) 1L << 21); - carry5 = s5 >> 21; s6 += carry5; s5 -= carry5 * ((uint64_t) 1L << 21); - carry6 = s6 >> 21; s7 += carry6; s6 -= carry6 * ((uint64_t) 1L << 21); - carry7 = s7 >> 21; s8 += carry7; s7 -= carry7 * ((uint64_t) 1L << 21); - carry8 = s8 >> 21; s9 += carry8; s8 -= carry8 * ((uint64_t) 1L << 21); - carry9 = s9 >> 21; s10 += carry9; s9 -= carry9 * ((uint64_t) 1L << 21); - carry10 = s10 >> 21; s11 += carry10; s10 -= carry10 * ((uint64_t) 1L << 21); - carry11 = s11 >> 21; s12 += carry11; s11 -= carry11 * ((uint64_t) 1L << 21); - - s0 += s12 * 666643; - s1 += s12 * 470296; - s2 += s12 * 654183; - s3 -= s12 * 997805; - s4 += s12 * 136657; - s5 -= s12 * 683901; - - carry0 = s0 >> 21; s1 += carry0; s0 -= carry0 * ((uint64_t) 1L << 21); - carry1 = s1 >> 21; s2 += carry1; s1 -= carry1 * ((uint64_t) 1L << 21); - carry2 = s2 >> 21; s3 += carry2; s2 -= carry2 * ((uint64_t) 1L << 21); - carry3 = s3 >> 21; s4 += carry3; s3 -= carry3 * ((uint64_t) 1L << 21); - carry4 = s4 >> 21; s5 += carry4; s4 -= carry4 * ((uint64_t) 1L << 21); - carry5 = s5 >> 21; s6 += carry5; s5 -= carry5 * ((uint64_t) 1L << 21); - carry6 = s6 >> 21; s7 += carry6; s6 -= carry6 * ((uint64_t) 1L << 21); - carry7 = s7 >> 21; s8 += carry7; s7 -= carry7 * ((uint64_t) 1L << 21); - carry8 = s8 >> 21; s9 += carry8; s8 -= carry8 * ((uint64_t) 1L << 21); - carry9 = s9 >> 21; s10 += carry9; s9 -= carry9 * ((uint64_t) 1L << 21); - carry10 = s10 >> 21; s11 += carry10; s10 -= carry10 * ((uint64_t) 1L << 21); - - s[0] = s0 >> 0; - s[1] = s0 >> 8; - s[2] = (s0 >> 16) | (s1 * ((uint64_t) 1 << 5)); - s[3] = s1 >> 3; - s[4] = s1 >> 11; - s[5] = (s1 >> 19) | (s2 * ((uint64_t) 1 << 2)); - s[6] = s2 >> 6; - s[7] = (s2 >> 14) | (s3 * ((uint64_t) 1 << 7)); - s[8] = s3 >> 1; - s[9] = s3 >> 9; - s[10] = (s3 >> 17) | (s4 * ((uint64_t) 1 << 4)); - s[11] = s4 >> 4; - s[12] = s4 >> 12; - s[13] = (s4 >> 20) | (s5 * ((uint64_t) 1 << 1)); - s[14] = s5 >> 7; - s[15] = (s5 >> 15) | (s6 * ((uint64_t) 1 << 6)); - s[16] = s6 >> 2; - s[17] = s6 >> 10; - s[18] = (s6 >> 18) | (s7 * ((uint64_t) 1 << 3)); - s[19] = s7 >> 5; - s[20] = s7 >> 13; - s[21] = s8 >> 0; - s[22] = s8 >> 8; - s[23] = (s8 >> 16) | (s9 * ((uint64_t) 1 << 5)); - s[24] = s9 >> 3; - s[25] = s9 >> 11; - s[26] = (s9 >> 19) | (s10 * ((uint64_t) 1 << 2)); - s[27] = s10 >> 6; - s[28] = (s10 >> 14) | (s11 * ((uint64_t) 1 << 7)); - s[29] = s11 >> 1; - s[30] = s11 >> 9; - s[31] = s11 >> 17; -} - -/* - Input: - s[0]+256*s[1]+...+256^63*s[63] = s - * - Output: - s[0]+256*s[1]+...+256^31*s[31] = s mod l - where l = 2^252 + 27742317777372353535851937790883648493. - Overwrites s in place. - */ - -void sc_reduce(unsigned char *s) -{ - int64_t s0 = 2097151 & load_3(s); - int64_t s1 = 2097151 & (load_4(s + 2) >> 5); - int64_t s2 = 2097151 & (load_3(s + 5) >> 2); - int64_t s3 = 2097151 & (load_4(s + 7) >> 7); - int64_t s4 = 2097151 & (load_4(s + 10) >> 4); - int64_t s5 = 2097151 & (load_3(s + 13) >> 1); - int64_t s6 = 2097151 & (load_4(s + 15) >> 6); - int64_t s7 = 2097151 & (load_3(s + 18) >> 3); - int64_t s8 = 2097151 & load_3(s + 21); - int64_t s9 = 2097151 & (load_4(s + 23) >> 5); - int64_t s10 = 2097151 & (load_3(s + 26) >> 2); - int64_t s11 = 2097151 & (load_4(s + 28) >> 7); - int64_t s12 = 2097151 & (load_4(s + 31) >> 4); - int64_t s13 = 2097151 & (load_3(s + 34) >> 1); - int64_t s14 = 2097151 & (load_4(s + 36) >> 6); - int64_t s15 = 2097151 & (load_3(s + 39) >> 3); - int64_t s16 = 2097151 & load_3(s + 42); - int64_t s17 = 2097151 & (load_4(s + 44) >> 5); - int64_t s18 = 2097151 & (load_3(s + 47) >> 2); - int64_t s19 = 2097151 & (load_4(s + 49) >> 7); - int64_t s20 = 2097151 & (load_4(s + 52) >> 4); - int64_t s21 = 2097151 & (load_3(s + 55) >> 1); - int64_t s22 = 2097151 & (load_4(s + 57) >> 6); - int64_t s23 = (load_4(s + 60) >> 3); - int64_t carry0; - int64_t carry1; - int64_t carry2; - int64_t carry3; - int64_t carry4; - int64_t carry5; - int64_t carry6; - int64_t carry7; - int64_t carry8; - int64_t carry9; - int64_t carry10; - int64_t carry11; - int64_t carry12; - int64_t carry13; - int64_t carry14; - int64_t carry15; - int64_t carry16; - - s11 += s23 * 666643; - s12 += s23 * 470296; - s13 += s23 * 654183; - s14 -= s23 * 997805; - s15 += s23 * 136657; - s16 -= s23 * 683901; - - s10 += s22 * 666643; - s11 += s22 * 470296; - s12 += s22 * 654183; - s13 -= s22 * 997805; - s14 += s22 * 136657; - s15 -= s22 * 683901; - - s9 += s21 * 666643; - s10 += s21 * 470296; - s11 += s21 * 654183; - s12 -= s21 * 997805; - s13 += s21 * 136657; - s14 -= s21 * 683901; - - s8 += s20 * 666643; - s9 += s20 * 470296; - s10 += s20 * 654183; - s11 -= s20 * 997805; - s12 += s20 * 136657; - s13 -= s20 * 683901; - - s7 += s19 * 666643; - s8 += s19 * 470296; - s9 += s19 * 654183; - s10 -= s19 * 997805; - s11 += s19 * 136657; - s12 -= s19 * 683901; - - s6 += s18 * 666643; - s7 += s18 * 470296; - s8 += s18 * 654183; - s9 -= s18 * 997805; - s10 += s18 * 136657; - s11 -= s18 * 683901; - - carry6 = (s6 + (int64_t) (1L << 20)) >> 21; s7 += carry6; s6 -= carry6 * ((uint64_t) 1L << 21); - carry8 = (s8 + (int64_t) (1L << 20)) >> 21; s9 += carry8; s8 -= carry8 * ((uint64_t) 1L << 21); - carry10 = (s10 + (int64_t) (1L << 20)) >> 21; s11 += carry10; s10 -= carry10 * ((uint64_t) 1L << 21); - carry12 = (s12 + (int64_t) (1L << 20)) >> 21; s13 += carry12; s12 -= carry12 * ((uint64_t) 1L << 21); - carry14 = (s14 + (int64_t) (1L << 20)) >> 21; s15 += carry14; s14 -= carry14 * ((uint64_t) 1L << 21); - carry16 = (s16 + (int64_t) (1L << 20)) >> 21; s17 += carry16; s16 -= carry16 * ((uint64_t) 1L << 21); - - carry7 = (s7 + (int64_t) (1L << 20)) >> 21; s8 += carry7; s7 -= carry7 * ((uint64_t) 1L << 21); - carry9 = (s9 + (int64_t) (1L << 20)) >> 21; s10 += carry9; s9 -= carry9 * ((uint64_t) 1L << 21); - carry11 = (s11 + (int64_t) (1L << 20)) >> 21; s12 += carry11; s11 -= carry11 * ((uint64_t) 1L << 21); - carry13 = (s13 + (int64_t) (1L << 20)) >> 21; s14 += carry13; s13 -= carry13 * ((uint64_t) 1L << 21); - carry15 = (s15 + (int64_t) (1L << 20)) >> 21; s16 += carry15; s15 -= carry15 * ((uint64_t) 1L << 21); - - s5 += s17 * 666643; - s6 += s17 * 470296; - s7 += s17 * 654183; - s8 -= s17 * 997805; - s9 += s17 * 136657; - s10 -= s17 * 683901; - - s4 += s16 * 666643; - s5 += s16 * 470296; - s6 += s16 * 654183; - s7 -= s16 * 997805; - s8 += s16 * 136657; - s9 -= s16 * 683901; - - s3 += s15 * 666643; - s4 += s15 * 470296; - s5 += s15 * 654183; - s6 -= s15 * 997805; - s7 += s15 * 136657; - s8 -= s15 * 683901; - - s2 += s14 * 666643; - s3 += s14 * 470296; - s4 += s14 * 654183; - s5 -= s14 * 997805; - s6 += s14 * 136657; - s7 -= s14 * 683901; - - s1 += s13 * 666643; - s2 += s13 * 470296; - s3 += s13 * 654183; - s4 -= s13 * 997805; - s5 += s13 * 136657; - s6 -= s13 * 683901; - - s0 += s12 * 666643; - s1 += s12 * 470296; - s2 += s12 * 654183; - s3 -= s12 * 997805; - s4 += s12 * 136657; - s5 -= s12 * 683901; - s12 = 0; - - carry0 = (s0 + (int64_t) (1L << 20)) >> 21; s1 += carry0; s0 -= carry0 * ((uint64_t) 1L << 21); - carry2 = (s2 + (int64_t) (1L << 20)) >> 21; s3 += carry2; s2 -= carry2 * ((uint64_t) 1L << 21); - carry4 = (s4 + (int64_t) (1L << 20)) >> 21; s5 += carry4; s4 -= carry4 * ((uint64_t) 1L << 21); - carry6 = (s6 + (int64_t) (1L << 20)) >> 21; s7 += carry6; s6 -= carry6 * ((uint64_t) 1L << 21); - carry8 = (s8 + (int64_t) (1L << 20)) >> 21; s9 += carry8; s8 -= carry8 * ((uint64_t) 1L << 21); - carry10 = (s10 + (int64_t) (1L << 20)) >> 21; s11 += carry10; s10 -= carry10 * ((uint64_t) 1L << 21); - - carry1 = (s1 + (int64_t) (1L << 20)) >> 21; s2 += carry1; s1 -= carry1 * ((uint64_t) 1L << 21); - carry3 = (s3 + (int64_t) (1L << 20)) >> 21; s4 += carry3; s3 -= carry3 * ((uint64_t) 1L << 21); - carry5 = (s5 + (int64_t) (1L << 20)) >> 21; s6 += carry5; s5 -= carry5 * ((uint64_t) 1L << 21); - carry7 = (s7 + (int64_t) (1L << 20)) >> 21; s8 += carry7; s7 -= carry7 * ((uint64_t) 1L << 21); - carry9 = (s9 + (int64_t) (1L << 20)) >> 21; s10 += carry9; s9 -= carry9 * ((uint64_t) 1L << 21); - carry11 = (s11 + (int64_t) (1L << 20)) >> 21; s12 += carry11; s11 -= carry11 * ((uint64_t) 1L << 21); - - s0 += s12 * 666643; - s1 += s12 * 470296; - s2 += s12 * 654183; - s3 -= s12 * 997805; - s4 += s12 * 136657; - s5 -= s12 * 683901; - s12 = 0; - - carry0 = s0 >> 21; s1 += carry0; s0 -= carry0 * ((uint64_t) 1L << 21); - carry1 = s1 >> 21; s2 += carry1; s1 -= carry1 * ((uint64_t) 1L << 21); - carry2 = s2 >> 21; s3 += carry2; s2 -= carry2 * ((uint64_t) 1L << 21); - carry3 = s3 >> 21; s4 += carry3; s3 -= carry3 * ((uint64_t) 1L << 21); - carry4 = s4 >> 21; s5 += carry4; s4 -= carry4 * ((uint64_t) 1L << 21); - carry5 = s5 >> 21; s6 += carry5; s5 -= carry5 * ((uint64_t) 1L << 21); - carry6 = s6 >> 21; s7 += carry6; s6 -= carry6 * ((uint64_t) 1L << 21); - carry7 = s7 >> 21; s8 += carry7; s7 -= carry7 * ((uint64_t) 1L << 21); - carry8 = s8 >> 21; s9 += carry8; s8 -= carry8 * ((uint64_t) 1L << 21); - carry9 = s9 >> 21; s10 += carry9; s9 -= carry9 * ((uint64_t) 1L << 21); - carry10 = s10 >> 21; s11 += carry10; s10 -= carry10 * ((uint64_t) 1L << 21); - carry11 = s11 >> 21; s12 += carry11; s11 -= carry11 * ((uint64_t) 1L << 21); - - s0 += s12 * 666643; - s1 += s12 * 470296; - s2 += s12 * 654183; - s3 -= s12 * 997805; - s4 += s12 * 136657; - s5 -= s12 * 683901; - - carry0 = s0 >> 21; s1 += carry0; s0 -= carry0 * ((uint64_t) 1L << 21); - carry1 = s1 >> 21; s2 += carry1; s1 -= carry1 * ((uint64_t) 1L << 21); - carry2 = s2 >> 21; s3 += carry2; s2 -= carry2 * ((uint64_t) 1L << 21); - carry3 = s3 >> 21; s4 += carry3; s3 -= carry3 * ((uint64_t) 1L << 21); - carry4 = s4 >> 21; s5 += carry4; s4 -= carry4 * ((uint64_t) 1L << 21); - carry5 = s5 >> 21; s6 += carry5; s5 -= carry5 * ((uint64_t) 1L << 21); - carry6 = s6 >> 21; s7 += carry6; s6 -= carry6 * ((uint64_t) 1L << 21); - carry7 = s7 >> 21; s8 += carry7; s7 -= carry7 * ((uint64_t) 1L << 21); - carry8 = s8 >> 21; s9 += carry8; s8 -= carry8 * ((uint64_t) 1L << 21); - carry9 = s9 >> 21; s10 += carry9; s9 -= carry9 * ((uint64_t) 1L << 21); - carry10 = s10 >> 21; s11 += carry10; s10 -= carry10 * ((uint64_t) 1L << 21); - - s[0] = s0 >> 0; - s[1] = s0 >> 8; - s[2] = (s0 >> 16) | (s1 * ((uint64_t) 1 << 5)); - s[3] = s1 >> 3; - s[4] = s1 >> 11; - s[5] = (s1 >> 19) | (s2 * ((uint64_t) 1 << 2)); - s[6] = s2 >> 6; - s[7] = (s2 >> 14) | (s3 * ((uint64_t) 1 << 7)); - s[8] = s3 >> 1; - s[9] = s3 >> 9; - s[10] = (s3 >> 17) | (s4 * ((uint64_t) 1 << 4)); - s[11] = s4 >> 4; - s[12] = s4 >> 12; - s[13] = (s4 >> 20) | (s5 * ((uint64_t) 1 << 1)); - s[14] = s5 >> 7; - s[15] = (s5 >> 15) | (s6 * ((uint64_t) 1 << 6)); - s[16] = s6 >> 2; - s[17] = s6 >> 10; - s[18] = (s6 >> 18) | (s7 * ((uint64_t) 1 << 3)); - s[19] = s7 >> 5; - s[20] = s7 >> 13; - s[21] = s8 >> 0; - s[22] = s8 >> 8; - s[23] = (s8 >> 16) | (s9 * ((uint64_t) 1 << 5)); - s[24] = s9 >> 3; - s[25] = s9 >> 11; - s[26] = (s9 >> 19) | (s10 * ((uint64_t) 1 << 2)); - s[27] = s10 >> 6; - s[28] = (s10 >> 14) | (s11 * ((uint64_t) 1 << 7)); - s[29] = s11 >> 1; - s[30] = s11 >> 9; - s[31] = s11 >> 17; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/hchacha20/core_hchacha20.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/hchacha20/core_hchacha20.c deleted file mode 100755 index 39ab26a6d..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/hchacha20/core_hchacha20.c +++ /dev/null @@ -1,93 +0,0 @@ - -#include -#include - -#include "crypto_core_hchacha20.h" -#include "private/common.h" - -#define QUARTERROUND(A, B, C, D) \ - do { \ - A += B; D = ROTL32(D ^ A, 16); \ - C += D; B = ROTL32(B ^ C, 12); \ - A += B; D = ROTL32(D ^ A, 8); \ - C += D; B = ROTL32(B ^ C, 7); \ - } while(0) - -int -crypto_core_hchacha20(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c) -{ - int i; - uint32_t x0, x1, x2, x3, x4, x5, x6, x7; - uint32_t x8, x9, x10, x11, x12, x13, x14, x15; - - if (c == NULL) { - x0 = 0x61707865; - x1 = 0x3320646e; - x2 = 0x79622d32; - x3 = 0x6b206574; - } else { - x0 = LOAD32_LE(c + 0); - x1 = LOAD32_LE(c + 4); - x2 = LOAD32_LE(c + 8); - x3 = LOAD32_LE(c + 12); - } - x4 = LOAD32_LE(k + 0); - x5 = LOAD32_LE(k + 4); - x6 = LOAD32_LE(k + 8); - x7 = LOAD32_LE(k + 12); - x8 = LOAD32_LE(k + 16); - x9 = LOAD32_LE(k + 20); - x10 = LOAD32_LE(k + 24); - x11 = LOAD32_LE(k + 28); - x12 = LOAD32_LE(in + 0); - x13 = LOAD32_LE(in + 4); - x14 = LOAD32_LE(in + 8); - x15 = LOAD32_LE(in + 12); - - for (i = 0; i < 10; i++) { - QUARTERROUND(x0, x4, x8, x12); - QUARTERROUND(x1, x5, x9, x13); - QUARTERROUND(x2, x6, x10, x14); - QUARTERROUND(x3, x7, x11, x15); - QUARTERROUND(x0, x5, x10, x15); - QUARTERROUND(x1, x6, x11, x12); - QUARTERROUND(x2, x7, x8, x13); - QUARTERROUND(x3, x4, x9, x14); - } - - STORE32_LE(out + 0, x0); - STORE32_LE(out + 4, x1); - STORE32_LE(out + 8, x2); - STORE32_LE(out + 12, x3); - STORE32_LE(out + 16, x12); - STORE32_LE(out + 20, x13); - STORE32_LE(out + 24, x14); - STORE32_LE(out + 28, x15); - - return 0; -} - -size_t -crypto_core_hchacha20_outputbytes(void) -{ - return crypto_core_hchacha20_OUTPUTBYTES; -} - -size_t -crypto_core_hchacha20_inputbytes(void) -{ - return crypto_core_hchacha20_INPUTBYTES; -} - -size_t -crypto_core_hchacha20_keybytes(void) -{ - return crypto_core_hchacha20_KEYBYTES; -} - -size_t -crypto_core_hchacha20_constbytes(void) -{ - return crypto_core_hchacha20_CONSTBYTES; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/hsalsa20/core_hsalsa20.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/hsalsa20/core_hsalsa20.c deleted file mode 100755 index 37c4923af..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/hsalsa20/core_hsalsa20.c +++ /dev/null @@ -1,21 +0,0 @@ -#include "crypto_core_hsalsa20.h" - -size_t -crypto_core_hsalsa20_outputbytes(void) { - return crypto_core_hsalsa20_OUTPUTBYTES; -} - -size_t -crypto_core_hsalsa20_inputbytes(void) { - return crypto_core_hsalsa20_INPUTBYTES; -} - -size_t -crypto_core_hsalsa20_keybytes(void) { - return crypto_core_hsalsa20_KEYBYTES; -} - -size_t -crypto_core_hsalsa20_constbytes(void) { - return crypto_core_hsalsa20_CONSTBYTES; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c deleted file mode 100755 index 1d1220fee..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c +++ /dev/null @@ -1,95 +0,0 @@ -/* -version 20080912 -D. J. Bernstein -Public domain. -*/ - -#include -#include - -#include "crypto_core_hsalsa20.h" -#include "private/common.h" - -#define ROUNDS 20 -#define U32C(v) (v##U) - -int -crypto_core_hsalsa20(unsigned char *out, - const unsigned char *in, - const unsigned char *k, - const unsigned char *c) -{ - uint32_t x0, x1, x2, x3, x4, x5, x6, x7, x8, - x9, x10, x11, x12, x13, x14, x15; - int i; - - if (c == NULL) { - x0 = U32C(0x61707865); - x5 = U32C(0x3320646e); - x10 = U32C(0x79622d32); - x15 = U32C(0x6b206574); - } else { - x0 = LOAD32_LE(c + 0); - x5 = LOAD32_LE(c + 4); - x10 = LOAD32_LE(c + 8); - x15 = LOAD32_LE(c + 12); - } - x1 = LOAD32_LE(k + 0); - x2 = LOAD32_LE(k + 4); - x3 = LOAD32_LE(k + 8); - x4 = LOAD32_LE(k + 12); - x11 = LOAD32_LE(k + 16); - x12 = LOAD32_LE(k + 20); - x13 = LOAD32_LE(k + 24); - x14 = LOAD32_LE(k + 28); - x6 = LOAD32_LE(in + 0); - x7 = LOAD32_LE(in + 4); - x8 = LOAD32_LE(in + 8); - x9 = LOAD32_LE(in + 12); - - for (i = ROUNDS; i > 0; i -= 2) { - x4 ^= ROTL32(x0 + x12, 7); - x8 ^= ROTL32(x4 + x0, 9); - x12 ^= ROTL32(x8 + x4, 13); - x0 ^= ROTL32(x12 + x8, 18); - x9 ^= ROTL32(x5 + x1, 7); - x13 ^= ROTL32(x9 + x5, 9); - x1 ^= ROTL32(x13 + x9, 13); - x5 ^= ROTL32(x1 + x13, 18); - x14 ^= ROTL32(x10 + x6, 7); - x2 ^= ROTL32(x14 + x10, 9); - x6 ^= ROTL32(x2 + x14, 13); - x10 ^= ROTL32(x6 + x2, 18); - x3 ^= ROTL32(x15 + x11, 7); - x7 ^= ROTL32(x3 + x15, 9); - x11 ^= ROTL32(x7 + x3, 13); - x15 ^= ROTL32(x11 + x7, 18); - x1 ^= ROTL32(x0 + x3, 7); - x2 ^= ROTL32(x1 + x0, 9); - x3 ^= ROTL32(x2 + x1, 13); - x0 ^= ROTL32(x3 + x2, 18); - x6 ^= ROTL32(x5 + x4, 7); - x7 ^= ROTL32(x6 + x5, 9); - x4 ^= ROTL32(x7 + x6, 13); - x5 ^= ROTL32(x4 + x7, 18); - x11 ^= ROTL32(x10 + x9, 7); - x8 ^= ROTL32(x11 + x10, 9); - x9 ^= ROTL32(x8 + x11, 13); - x10 ^= ROTL32(x9 + x8, 18); - x12 ^= ROTL32(x15 + x14, 7); - x13 ^= ROTL32(x12 + x15, 9); - x14 ^= ROTL32(x13 + x12, 13); - x15 ^= ROTL32(x14 + x13, 18); - } - - STORE32_LE(out + 0, x0); - STORE32_LE(out + 4, x5); - STORE32_LE(out + 8, x10); - STORE32_LE(out + 12, x15); - STORE32_LE(out + 16, x6); - STORE32_LE(out + 20, x7); - STORE32_LE(out + 24, x8); - STORE32_LE(out + 28, x9); - - return 0; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/salsa/ref/core_salsa_ref.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/salsa/ref/core_salsa_ref.c deleted file mode 100755 index a077d7f4d..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_core/salsa/ref/core_salsa_ref.c +++ /dev/null @@ -1,195 +0,0 @@ - -#include -#include - -#include "crypto_core_salsa20.h" -#include "crypto_core_salsa2012.h" -#include "crypto_core_salsa208.h" -#include "private/common.h" - -static void -crypto_core_salsa(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c, - const int rounds) -{ - uint32_t x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, - x15; - uint32_t j0, j1, j2, j3, j4, j5, j6, j7, j8, j9, j10, j11, j12, j13, j14, - j15; - int i; - - j0 = x0 = 0x61707865; - j5 = x5 = 0x3320646e; - j10 = x10 = 0x79622d32; - j15 = x15 = 0x6b206574; - if (c != NULL) { - j0 = x0 = LOAD32_LE(c + 0); - j5 = x5 = LOAD32_LE(c + 4); - j10 = x10 = LOAD32_LE(c + 8); - j15 = x15 = LOAD32_LE(c + 12); - } - j1 = x1 = LOAD32_LE(k + 0); - j2 = x2 = LOAD32_LE(k + 4); - j3 = x3 = LOAD32_LE(k + 8); - j4 = x4 = LOAD32_LE(k + 12); - j11 = x11 = LOAD32_LE(k + 16); - j12 = x12 = LOAD32_LE(k + 20); - j13 = x13 = LOAD32_LE(k + 24); - j14 = x14 = LOAD32_LE(k + 28); - - j6 = x6 = LOAD32_LE(in + 0); - j7 = x7 = LOAD32_LE(in + 4); - j8 = x8 = LOAD32_LE(in + 8); - j9 = x9 = LOAD32_LE(in + 12); - - for (i = 0; i < rounds; i += 2) { - x4 ^= ROTL32(x0 + x12, 7); - x8 ^= ROTL32(x4 + x0, 9); - x12 ^= ROTL32(x8 + x4, 13); - x0 ^= ROTL32(x12 + x8, 18); - x9 ^= ROTL32(x5 + x1, 7); - x13 ^= ROTL32(x9 + x5, 9); - x1 ^= ROTL32(x13 + x9, 13); - x5 ^= ROTL32(x1 + x13, 18); - x14 ^= ROTL32(x10 + x6, 7); - x2 ^= ROTL32(x14 + x10, 9); - x6 ^= ROTL32(x2 + x14, 13); - x10 ^= ROTL32(x6 + x2, 18); - x3 ^= ROTL32(x15 + x11, 7); - x7 ^= ROTL32(x3 + x15, 9); - x11 ^= ROTL32(x7 + x3, 13); - x15 ^= ROTL32(x11 + x7, 18); - x1 ^= ROTL32(x0 + x3, 7); - x2 ^= ROTL32(x1 + x0, 9); - x3 ^= ROTL32(x2 + x1, 13); - x0 ^= ROTL32(x3 + x2, 18); - x6 ^= ROTL32(x5 + x4, 7); - x7 ^= ROTL32(x6 + x5, 9); - x4 ^= ROTL32(x7 + x6, 13); - x5 ^= ROTL32(x4 + x7, 18); - x11 ^= ROTL32(x10 + x9, 7); - x8 ^= ROTL32(x11 + x10, 9); - x9 ^= ROTL32(x8 + x11, 13); - x10 ^= ROTL32(x9 + x8, 18); - x12 ^= ROTL32(x15 + x14, 7); - x13 ^= ROTL32(x12 + x15, 9); - x14 ^= ROTL32(x13 + x12, 13); - x15 ^= ROTL32(x14 + x13, 18); - } - STORE32_LE(out + 0, x0 + j0); - STORE32_LE(out + 4, x1 + j1); - STORE32_LE(out + 8, x2 + j2); - STORE32_LE(out + 12, x3 + j3); - STORE32_LE(out + 16, x4 + j4); - STORE32_LE(out + 20, x5 + j5); - STORE32_LE(out + 24, x6 + j6); - STORE32_LE(out + 28, x7 + j7); - STORE32_LE(out + 32, x8 + j8); - STORE32_LE(out + 36, x9 + j9); - STORE32_LE(out + 40, x10 + j10); - STORE32_LE(out + 44, x11 + j11); - STORE32_LE(out + 48, x12 + j12); - STORE32_LE(out + 52, x13 + j13); - STORE32_LE(out + 56, x14 + j14); - STORE32_LE(out + 60, x15 + j15); -} - -int -crypto_core_salsa20(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c) -{ - crypto_core_salsa(out, in, k, c, 20); - return 0; -} - -size_t -crypto_core_salsa20_outputbytes(void) -{ - return crypto_core_salsa20_OUTPUTBYTES; -} - -size_t -crypto_core_salsa20_inputbytes(void) -{ - return crypto_core_salsa20_INPUTBYTES; -} - -size_t -crypto_core_salsa20_keybytes(void) -{ - return crypto_core_salsa20_KEYBYTES; -} - -size_t -crypto_core_salsa20_constbytes(void) -{ - return crypto_core_salsa20_CONSTBYTES; -} - -#ifndef MINIMAL - -int -crypto_core_salsa2012(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c) -{ - crypto_core_salsa(out, in, k, c, 12); - return 0; -} - -size_t -crypto_core_salsa2012_outputbytes(void) -{ - return crypto_core_salsa2012_OUTPUTBYTES; -} - -size_t -crypto_core_salsa2012_inputbytes(void) -{ - return crypto_core_salsa2012_INPUTBYTES; -} - -size_t -crypto_core_salsa2012_keybytes(void) -{ - return crypto_core_salsa2012_KEYBYTES; -} - -size_t -crypto_core_salsa2012_constbytes(void) -{ - return crypto_core_salsa2012_CONSTBYTES; -} - -int -crypto_core_salsa208(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c) -{ - crypto_core_salsa(out, in, k, c, 8); - return 0; -} - -size_t -crypto_core_salsa208_outputbytes(void) -{ - return crypto_core_salsa208_OUTPUTBYTES; -} - -size_t -crypto_core_salsa208_inputbytes(void) -{ - return crypto_core_salsa208_INPUTBYTES; -} - -size_t -crypto_core_salsa208_keybytes(void) -{ - return crypto_core_salsa208_KEYBYTES; -} - -size_t -crypto_core_salsa208_constbytes(void) -{ - return crypto_core_salsa208_CONSTBYTES; -} - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/generichash_blake2.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/generichash_blake2.c deleted file mode 100755 index 781d4c584..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/generichash_blake2.c +++ /dev/null @@ -1,55 +0,0 @@ -#include "crypto_generichash_blake2b.h" -#include "randombytes.h" - -size_t -crypto_generichash_blake2b_bytes_min(void) { - return crypto_generichash_blake2b_BYTES_MIN; -} - -size_t -crypto_generichash_blake2b_bytes_max(void) { - return crypto_generichash_blake2b_BYTES_MAX; -} - -size_t -crypto_generichash_blake2b_bytes(void) { - return crypto_generichash_blake2b_BYTES; -} - -size_t -crypto_generichash_blake2b_keybytes_min(void) { - return crypto_generichash_blake2b_KEYBYTES_MIN; -} - -size_t -crypto_generichash_blake2b_keybytes_max(void) { - return crypto_generichash_blake2b_KEYBYTES_MAX; -} - -size_t -crypto_generichash_blake2b_keybytes(void) { - return crypto_generichash_blake2b_KEYBYTES; -} - -size_t -crypto_generichash_blake2b_saltbytes(void) { - return crypto_generichash_blake2b_SALTBYTES; -} - -size_t -crypto_generichash_blake2b_personalbytes(void) { - return crypto_generichash_blake2b_PERSONALBYTES; -} - -size_t -crypto_generichash_blake2b_statebytes(void) -{ - return (sizeof(crypto_generichash_blake2b_state) + (size_t) 63U) - & ~(size_t) 63U; -} - -void -crypto_generichash_blake2b_keygen(unsigned char k[crypto_generichash_blake2b_KEYBYTES]) -{ - randombytes_buf(k, crypto_generichash_blake2b_KEYBYTES); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2.h deleted file mode 100755 index 64162eee0..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2.h +++ /dev/null @@ -1,109 +0,0 @@ -/* - BLAKE2 reference source code package - reference C implementations - - Written in 2012 by Samuel Neves - - To the extent possible under law, the author(s) have dedicated all copyright - and related and neighboring rights to this software to the public domain - worldwide. This software is distributed without any warranty. - - All code is triple-licensed under the - [CC0](http://creativecommons.org/publicdomain/zero/1.0), the - [OpenSSL Licence](https://www.openssl.org/source/license.html), or - the [Apache Public License 2.0](http://www.apache.org/licenses/LICENSE-2.0), - at your choosing. - */ - -#ifndef blake2_H -#define blake2_H - -#include -#include - -#include "crypto_generichash_blake2b.h" -#include "export.h" - -#define blake2b_init_param crypto_generichash_blake2b__init_param -#define blake2b_init crypto_generichash_blake2b__init -#define blake2b_init_salt_personal \ - crypto_generichash_blake2b__init_salt_personal -#define blake2b_init_key crypto_generichash_blake2b__init_key -#define blake2b_init_key_salt_personal \ - crypto_generichash_blake2b__init_key_salt_personal -#define blake2b_update crypto_generichash_blake2b__update -#define blake2b_final crypto_generichash_blake2b__final -#define blake2b crypto_generichash_blake2b__blake2b -#define blake2b_salt_personal crypto_generichash_blake2b__blake2b_salt_personal -#define blake2b_pick_best_implementation \ - crypto_generichash_blake2b__pick_best_implementation - -enum blake2b_constant { - BLAKE2B_BLOCKBYTES = 128, - BLAKE2B_OUTBYTES = 64, - BLAKE2B_KEYBYTES = 64, - BLAKE2B_SALTBYTES = 16, - BLAKE2B_PERSONALBYTES = 16 -}; - -#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) -#pragma pack(1) -#else -#pragma pack(push, 1) -#endif - -typedef struct blake2b_param_ { - uint8_t digest_length; /* 1 */ - uint8_t key_length; /* 2 */ - uint8_t fanout; /* 3 */ - uint8_t depth; /* 4 */ - uint8_t leaf_length[4]; /* 8 */ - uint8_t node_offset[8]; /* 16 */ - uint8_t node_depth; /* 17 */ - uint8_t inner_length; /* 18 */ - uint8_t reserved[14]; /* 32 */ - uint8_t salt[BLAKE2B_SALTBYTES]; /* 48 */ - uint8_t personal[BLAKE2B_PERSONALBYTES]; /* 64 */ -} blake2b_param; - -typedef crypto_generichash_blake2b_state blake2b_state; - -#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) -#pragma pack() -#else -#pragma pack(pop) -#endif - -/* Streaming API */ -int blake2b_init(blake2b_state *S, const uint8_t outlen); -int blake2b_init_salt_personal(blake2b_state *S, const uint8_t outlen, - const void *personal, const void *salt); -int blake2b_init_key(blake2b_state *S, const uint8_t outlen, const void *key, - const uint8_t keylen); -int blake2b_init_key_salt_personal(blake2b_state *S, const uint8_t outlen, - const void *key, const uint8_t keylen, - const void *salt, const void *personal); -int blake2b_init_param(blake2b_state *S, const blake2b_param *P); -int blake2b_update(blake2b_state *S, const uint8_t *in, uint64_t inlen); -int blake2b_final(blake2b_state *S, uint8_t *out, uint8_t outlen); - -/* Simple API */ -int blake2b(uint8_t *out, const void *in, const void *key, const uint8_t outlen, - const uint64_t inlen, uint8_t keylen); -int blake2b_salt_personal(uint8_t *out, const void *in, const void *key, - const uint8_t outlen, const uint64_t inlen, - uint8_t keylen, const void *salt, - const void *personal); - -typedef int (*blake2b_compress_fn)(blake2b_state *S, - const uint8_t block[BLAKE2B_BLOCKBYTES]); -int blake2b_pick_best_implementation(void); -int blake2b_compress_ref(blake2b_state *S, - const uint8_t block[BLAKE2B_BLOCKBYTES]); -int blake2b_compress_ssse3(blake2b_state *S, - const uint8_t block[BLAKE2B_BLOCKBYTES]); -int blake2b_compress_sse41(blake2b_state *S, - const uint8_t block[BLAKE2B_BLOCKBYTES]); -int blake2b_compress_avx2(blake2b_state *S, - const uint8_t block[BLAKE2B_BLOCKBYTES]); - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.c deleted file mode 100755 index 50a21a81e..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.c +++ /dev/null @@ -1,49 +0,0 @@ - -#define BLAKE2_USE_SSSE3 -#define BLAKE2_USE_SSE41 -#define BLAKE2_USE_AVX2 - -#include -#include - -#include "blake2.h" -#include "private/common.h" -#include "private/sse2_64_32.h" - -#if defined(HAVE_AVX2INTRIN_H) && defined(HAVE_EMMINTRIN_H) && \ - defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# pragma GCC target("ssse3") -# pragma GCC target("sse4.1") -# pragma GCC target("avx2") -# endif - -#include -#include -#include -#include - -#include "blake2b-compress-avx2.h" - -CRYPTO_ALIGN(64) -static const uint64_t blake2b_IV[8] = { - 0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, 0x3c6ef372fe94f82bULL, - 0xa54ff53a5f1d36f1ULL, 0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL, - 0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL -}; - -int -blake2b_compress_avx2(blake2b_state *S, const uint8_t block[BLAKE2B_BLOCKBYTES]) -{ - __m256i a = LOADU(&S->h[0]); - __m256i b = LOADU(&S->h[4]); - BLAKE2B_COMPRESS_V1(a, b, block, S->t[0], S->t[1], S->f[0], S->f[1]); - STOREU(&S->h[0], a); - STOREU(&S->h[4], b); - - return 0; -} - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.h deleted file mode 100755 index 21acb2fa0..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.h +++ /dev/null @@ -1,140 +0,0 @@ - -#ifndef blake2b_compress_avx2_H -#define blake2b_compress_avx2_H - -#define LOAD128(p) _mm_load_si128((__m128i *) (p)) -#define STORE128(p, r) _mm_store_si128((__m128i *) (p), r) - -#define LOADU128(p) _mm_loadu_si128((__m128i *) (p)) -#define STOREU128(p, r) _mm_storeu_si128((__m128i *) (p), r) - -#define LOAD(p) _mm256_load_si256((__m256i *) (p)) -#define STORE(p, r) _mm256_store_si256((__m256i *) (p), r) - -#define LOADU(p) _mm256_loadu_si256((__m256i *) (p)) -#define STOREU(p, r) _mm256_storeu_si256((__m256i *) (p), r) - -static inline uint64_t -LOADU64(const void *p) -{ - uint64_t v; - memcpy(&v, p, sizeof v); - return v; -} - -#define ROTATE16 \ - _mm256_setr_epi8(2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9, 2, \ - 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9) - -#define ROTATE24 \ - _mm256_setr_epi8(3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10, 3, \ - 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10) - -#define ADD(a, b) _mm256_add_epi64(a, b) -#define SUB(a, b) _mm256_sub_epi64(a, b) - -#define XOR(a, b) _mm256_xor_si256(a, b) -#define AND(a, b) _mm256_and_si256(a, b) -#define OR(a, b) _mm256_or_si256(a, b) - -#define ROT32(x) _mm256_shuffle_epi32((x), _MM_SHUFFLE(2, 3, 0, 1)) -#define ROT24(x) _mm256_shuffle_epi8((x), ROTATE24) -#define ROT16(x) _mm256_shuffle_epi8((x), ROTATE16) -#define ROT63(x) _mm256_or_si256(_mm256_srli_epi64((x), 63), ADD((x), (x))) - -#define BLAKE2B_G1_V1(a, b, c, d, m) \ - do { \ - a = ADD(a, m); \ - a = ADD(a, b); \ - d = XOR(d, a); \ - d = ROT32(d); \ - c = ADD(c, d); \ - b = XOR(b, c); \ - b = ROT24(b); \ - } while (0) - -#define BLAKE2B_G2_V1(a, b, c, d, m) \ - do { \ - a = ADD(a, m); \ - a = ADD(a, b); \ - d = XOR(d, a); \ - d = ROT16(d); \ - c = ADD(c, d); \ - b = XOR(b, c); \ - b = ROT63(b); \ - } while (0) - -#define BLAKE2B_DIAG_V1(a, b, c, d) \ - do { \ - d = _mm256_permute4x64_epi64(d, _MM_SHUFFLE(2, 1, 0, 3)); \ - c = _mm256_permute4x64_epi64(c, _MM_SHUFFLE(1, 0, 3, 2)); \ - b = _mm256_permute4x64_epi64(b, _MM_SHUFFLE(0, 3, 2, 1)); \ - } while (0) - -#define BLAKE2B_UNDIAG_V1(a, b, c, d) \ - do { \ - d = _mm256_permute4x64_epi64(d, _MM_SHUFFLE(0, 3, 2, 1)); \ - c = _mm256_permute4x64_epi64(c, _MM_SHUFFLE(1, 0, 3, 2)); \ - b = _mm256_permute4x64_epi64(b, _MM_SHUFFLE(2, 1, 0, 3)); \ - } while (0) - -#include "blake2b-load-avx2.h" - -#define BLAKE2B_ROUND_V1(a, b, c, d, r, m) \ - do { \ - __m256i b0; \ - BLAKE2B_LOAD_MSG_##r##_1(b0); \ - BLAKE2B_G1_V1(a, b, c, d, b0); \ - BLAKE2B_LOAD_MSG_##r##_2(b0); \ - BLAKE2B_G2_V1(a, b, c, d, b0); \ - BLAKE2B_DIAG_V1(a, b, c, d); \ - BLAKE2B_LOAD_MSG_##r##_3(b0); \ - BLAKE2B_G1_V1(a, b, c, d, b0); \ - BLAKE2B_LOAD_MSG_##r##_4(b0); \ - BLAKE2B_G2_V1(a, b, c, d, b0); \ - BLAKE2B_UNDIAG_V1(a, b, c, d); \ - } while (0) - -#define BLAKE2B_ROUNDS_V1(a, b, c, d, m) \ - do { \ - BLAKE2B_ROUND_V1(a, b, c, d, 0, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 1, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 2, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 3, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 4, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 5, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 6, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 7, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 8, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 9, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 10, (m)); \ - BLAKE2B_ROUND_V1(a, b, c, d, 11, (m)); \ - } while (0) - -#define DECLARE_MESSAGE_WORDS(m) \ - const __m256i m0 = _mm256_broadcastsi128_si256(LOADU128((m) + 0)); \ - const __m256i m1 = _mm256_broadcastsi128_si256(LOADU128((m) + 16)); \ - const __m256i m2 = _mm256_broadcastsi128_si256(LOADU128((m) + 32)); \ - const __m256i m3 = _mm256_broadcastsi128_si256(LOADU128((m) + 48)); \ - const __m256i m4 = _mm256_broadcastsi128_si256(LOADU128((m) + 64)); \ - const __m256i m5 = _mm256_broadcastsi128_si256(LOADU128((m) + 80)); \ - const __m256i m6 = _mm256_broadcastsi128_si256(LOADU128((m) + 96)); \ - const __m256i m7 = _mm256_broadcastsi128_si256(LOADU128((m) + 112)); \ - __m256i t0, t1; - -#define BLAKE2B_COMPRESS_V1(a, b, m, t0, t1, f0, f1) \ - do { \ - DECLARE_MESSAGE_WORDS(m) \ - const __m256i iv0 = a; \ - const __m256i iv1 = b; \ - __m256i c = LOAD(&blake2b_IV[0]); \ - __m256i d = \ - XOR(LOAD(&blake2b_IV[4]), _mm256_set_epi64x(f1, f0, t1, t0)); \ - BLAKE2B_ROUNDS_V1(a, b, c, d, m); \ - a = XOR(a, c); \ - b = XOR(b, d); \ - a = XOR(a, iv0); \ - b = XOR(b, iv1); \ - } while (0) - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c deleted file mode 100755 index 63438e613..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c +++ /dev/null @@ -1,92 +0,0 @@ - -#include -#include - -#include "blake2.h" -#include "private/common.h" - -CRYPTO_ALIGN(64) -static const uint64_t blake2b_IV[8] = { - 0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, 0x3c6ef372fe94f82bULL, - 0xa54ff53a5f1d36f1ULL, 0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL, - 0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL -}; - -static const uint8_t blake2b_sigma[12][16] = { - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }, - { 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3 }, - { 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4 }, - { 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8 }, - { 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13 }, - { 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9 }, - { 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11 }, - { 13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10 }, - { 6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5 }, - { 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0 }, - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }, - { 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3 } -}; - -int -blake2b_compress_ref(blake2b_state *S, const uint8_t block[BLAKE2B_BLOCKBYTES]) -{ - uint64_t m[16]; - uint64_t v[16]; - int i; - - for (i = 0; i < 16; ++i) - m[i] = LOAD64_LE(block + i * sizeof(m[i])); - - for (i = 0; i < 8; ++i) - v[i] = S->h[i]; - - v[8] = blake2b_IV[0]; - v[9] = blake2b_IV[1]; - v[10] = blake2b_IV[2]; - v[11] = blake2b_IV[3]; - v[12] = S->t[0] ^ blake2b_IV[4]; - v[13] = S->t[1] ^ blake2b_IV[5]; - v[14] = S->f[0] ^ blake2b_IV[6]; - v[15] = S->f[1] ^ blake2b_IV[7]; -#define G(r, i, a, b, c, d) \ - do { \ - a = a + b + m[blake2b_sigma[r][2 * i + 0]]; \ - d = ROTR64(d ^ a, 32); \ - c = c + d; \ - b = ROTR64(b ^ c, 24); \ - a = a + b + m[blake2b_sigma[r][2 * i + 1]]; \ - d = ROTR64(d ^ a, 16); \ - c = c + d; \ - b = ROTR64(b ^ c, 63); \ - } while (0) -#define ROUND(r) \ - do { \ - G(r, 0, v[0], v[4], v[8], v[12]); \ - G(r, 1, v[1], v[5], v[9], v[13]); \ - G(r, 2, v[2], v[6], v[10], v[14]); \ - G(r, 3, v[3], v[7], v[11], v[15]); \ - G(r, 4, v[0], v[5], v[10], v[15]); \ - G(r, 5, v[1], v[6], v[11], v[12]); \ - G(r, 6, v[2], v[7], v[8], v[13]); \ - G(r, 7, v[3], v[4], v[9], v[14]); \ - } while (0) - ROUND(0); - ROUND(1); - ROUND(2); - ROUND(3); - ROUND(4); - ROUND(5); - ROUND(6); - ROUND(7); - ROUND(8); - ROUND(9); - ROUND(10); - ROUND(11); - - for (i = 0; i < 8; ++i) - S->h[i] = S->h[i] ^ v[i] ^ v[i + 8]; - -#undef G -#undef ROUND - return 0; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.c deleted file mode 100755 index 8daf06ee7..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.c +++ /dev/null @@ -1,87 +0,0 @@ - -#define BLAKE2_USE_SSSE3 -#define BLAKE2_USE_SSE41 - -#include -#include - -#include "blake2.h" -#include "private/common.h" -#include "private/sse2_64_32.h" - -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) && \ - defined(HAVE_SMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# pragma GCC target("ssse3") -# pragma GCC target("sse4.1") -# endif - -#include -#include -#include - -#include "blake2b-compress-sse41.h" - -CRYPTO_ALIGN(64) -static const uint64_t blake2b_IV[8] = { - 0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, 0x3c6ef372fe94f82bULL, - 0xa54ff53a5f1d36f1ULL, 0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL, - 0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL -}; - -int -blake2b_compress_sse41(blake2b_state *S, - const uint8_t block[BLAKE2B_BLOCKBYTES]) -{ - __m128i row1l, row1h; - __m128i row2l, row2h; - __m128i row3l, row3h; - __m128i row4l, row4h; - __m128i b0, b1; - __m128i t0, t1; - const __m128i r16 = - _mm_setr_epi8(2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9); - const __m128i r24 = - _mm_setr_epi8(3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10); - const __m128i m0 = LOADU(block + 00); - const __m128i m1 = LOADU(block + 16); - const __m128i m2 = LOADU(block + 32); - const __m128i m3 = LOADU(block + 48); - const __m128i m4 = LOADU(block + 64); - const __m128i m5 = LOADU(block + 80); - const __m128i m6 = LOADU(block + 96); - const __m128i m7 = LOADU(block + 112); - row1l = LOADU(&S->h[0]); - row1h = LOADU(&S->h[2]); - row2l = LOADU(&S->h[4]); - row2h = LOADU(&S->h[6]); - row3l = LOADU(&blake2b_IV[0]); - row3h = LOADU(&blake2b_IV[2]); - row4l = _mm_xor_si128(LOADU(&blake2b_IV[4]), LOADU(&S->t[0])); - row4h = _mm_xor_si128(LOADU(&blake2b_IV[6]), LOADU(&S->f[0])); - ROUND(0); - ROUND(1); - ROUND(2); - ROUND(3); - ROUND(4); - ROUND(5); - ROUND(6); - ROUND(7); - ROUND(8); - ROUND(9); - ROUND(10); - ROUND(11); - row1l = _mm_xor_si128(row3l, row1l); - row1h = _mm_xor_si128(row3h, row1h); - STOREU(&S->h[0], _mm_xor_si128(LOADU(&S->h[0]), row1l)); - STOREU(&S->h[2], _mm_xor_si128(LOADU(&S->h[2]), row1h)); - row2l = _mm_xor_si128(row4l, row2l); - row2h = _mm_xor_si128(row4h, row2h); - STOREU(&S->h[4], _mm_xor_si128(LOADU(&S->h[4]), row2l)); - STOREU(&S->h[6], _mm_xor_si128(LOADU(&S->h[6]), row2h)); - return 0; -} - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.h deleted file mode 100755 index ac78e5bb1..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.h +++ /dev/null @@ -1,103 +0,0 @@ - -#ifndef blake2b_compress_sse41_H -#define blake2b_compress_sse41_H - -#define LOADU(p) _mm_loadu_si128((const __m128i *) (const void *) (p)) -#define STOREU(p, r) _mm_storeu_si128((__m128i *) (void *) (p), r) - -#define _mm_roti_epi64(x, c) \ - (-(c) == 32) \ - ? _mm_shuffle_epi32((x), _MM_SHUFFLE(2, 3, 0, 1)) \ - : (-(c) == 24) \ - ? _mm_shuffle_epi8((x), r24) \ - : (-(c) == 16) \ - ? _mm_shuffle_epi8((x), r16) \ - : (-(c) == 63) \ - ? _mm_xor_si128(_mm_srli_epi64((x), -(c)), \ - _mm_add_epi64((x), (x))) \ - : _mm_xor_si128(_mm_srli_epi64((x), -(c)), \ - _mm_slli_epi64((x), 64 - (-(c)))) - -#define G1(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1) \ - row1l = _mm_add_epi64(_mm_add_epi64(row1l, b0), row2l); \ - row1h = _mm_add_epi64(_mm_add_epi64(row1h, b1), row2h); \ - \ - row4l = _mm_xor_si128(row4l, row1l); \ - row4h = _mm_xor_si128(row4h, row1h); \ - \ - row4l = _mm_roti_epi64(row4l, -32); \ - row4h = _mm_roti_epi64(row4h, -32); \ - \ - row3l = _mm_add_epi64(row3l, row4l); \ - row3h = _mm_add_epi64(row3h, row4h); \ - \ - row2l = _mm_xor_si128(row2l, row3l); \ - row2h = _mm_xor_si128(row2h, row3h); \ - \ - row2l = _mm_roti_epi64(row2l, -24); \ - row2h = _mm_roti_epi64(row2h, -24); - -#define G2(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1) \ - row1l = _mm_add_epi64(_mm_add_epi64(row1l, b0), row2l); \ - row1h = _mm_add_epi64(_mm_add_epi64(row1h, b1), row2h); \ - \ - row4l = _mm_xor_si128(row4l, row1l); \ - row4h = _mm_xor_si128(row4h, row1h); \ - \ - row4l = _mm_roti_epi64(row4l, -16); \ - row4h = _mm_roti_epi64(row4h, -16); \ - \ - row3l = _mm_add_epi64(row3l, row4l); \ - row3h = _mm_add_epi64(row3h, row4h); \ - \ - row2l = _mm_xor_si128(row2l, row3l); \ - row2h = _mm_xor_si128(row2h, row3h); \ - \ - row2l = _mm_roti_epi64(row2l, -63); \ - row2h = _mm_roti_epi64(row2h, -63); - -#define DIAGONALIZE(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h) \ - t0 = _mm_alignr_epi8(row2h, row2l, 8); \ - t1 = _mm_alignr_epi8(row2l, row2h, 8); \ - row2l = t0; \ - row2h = t1; \ - \ - t0 = row3l; \ - row3l = row3h; \ - row3h = t0; \ - \ - t0 = _mm_alignr_epi8(row4h, row4l, 8); \ - t1 = _mm_alignr_epi8(row4l, row4h, 8); \ - row4l = t1; \ - row4h = t0; - -#define UNDIAGONALIZE(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h) \ - t0 = _mm_alignr_epi8(row2l, row2h, 8); \ - t1 = _mm_alignr_epi8(row2h, row2l, 8); \ - row2l = t0; \ - row2h = t1; \ - \ - t0 = row3l; \ - row3l = row3h; \ - row3h = t0; \ - \ - t0 = _mm_alignr_epi8(row4l, row4h, 8); \ - t1 = _mm_alignr_epi8(row4h, row4l, 8); \ - row4l = t1; \ - row4h = t0; - -#include "blake2b-load-sse41.h" - -#define ROUND(r) \ - LOAD_MSG_##r##_1(b0, b1); \ - G1(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1); \ - LOAD_MSG_##r##_2(b0, b1); \ - G2(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1); \ - DIAGONALIZE(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h); \ - LOAD_MSG_##r##_3(b0, b1); \ - G1(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1); \ - LOAD_MSG_##r##_4(b0, b1); \ - G2(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1); \ - UNDIAGONALIZE(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h); - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c deleted file mode 100755 index 1dd2f4c2c..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c +++ /dev/null @@ -1,90 +0,0 @@ - -#include -#include - -#include "blake2.h" -#include "private/common.h" -#include "private/sse2_64_32.h" - -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# pragma GCC target("ssse3") -# endif - -#include -#include - -#include "blake2b-compress-ssse3.h" - -CRYPTO_ALIGN(64) -static const uint64_t blake2b_IV[8] = { - 0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, 0x3c6ef372fe94f82bULL, - 0xa54ff53a5f1d36f1ULL, 0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL, - 0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL -}; - -int -blake2b_compress_ssse3(blake2b_state *S, - const uint8_t block[BLAKE2B_BLOCKBYTES]) -{ - __m128i row1l, row1h; - __m128i row2l, row2h; - __m128i row3l, row3h; - __m128i row4l, row4h; - __m128i b0, b1; - __m128i t0, t1; - const __m128i r16 = - _mm_setr_epi8(2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9); - const __m128i r24 = - _mm_setr_epi8(3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10); - const uint64_t m0 = ((uint64_t *) block)[0]; - const uint64_t m1 = ((uint64_t *) block)[1]; - const uint64_t m2 = ((uint64_t *) block)[2]; - const uint64_t m3 = ((uint64_t *) block)[3]; - const uint64_t m4 = ((uint64_t *) block)[4]; - const uint64_t m5 = ((uint64_t *) block)[5]; - const uint64_t m6 = ((uint64_t *) block)[6]; - const uint64_t m7 = ((uint64_t *) block)[7]; - const uint64_t m8 = ((uint64_t *) block)[8]; - const uint64_t m9 = ((uint64_t *) block)[9]; - const uint64_t m10 = ((uint64_t *) block)[10]; - const uint64_t m11 = ((uint64_t *) block)[11]; - const uint64_t m12 = ((uint64_t *) block)[12]; - const uint64_t m13 = ((uint64_t *) block)[13]; - const uint64_t m14 = ((uint64_t *) block)[14]; - const uint64_t m15 = ((uint64_t *) block)[15]; - - row1l = LOADU(&S->h[0]); - row1h = LOADU(&S->h[2]); - row2l = LOADU(&S->h[4]); - row2h = LOADU(&S->h[6]); - row3l = LOADU(&blake2b_IV[0]); - row3h = LOADU(&blake2b_IV[2]); - row4l = _mm_xor_si128(LOADU(&blake2b_IV[4]), LOADU(&S->t[0])); - row4h = _mm_xor_si128(LOADU(&blake2b_IV[6]), LOADU(&S->f[0])); - ROUND(0); - ROUND(1); - ROUND(2); - ROUND(3); - ROUND(4); - ROUND(5); - ROUND(6); - ROUND(7); - ROUND(8); - ROUND(9); - ROUND(10); - ROUND(11); - row1l = _mm_xor_si128(row3l, row1l); - row1h = _mm_xor_si128(row3h, row1h); - STOREU(&S->h[0], _mm_xor_si128(LOADU(&S->h[0]), row1l)); - STOREU(&S->h[2], _mm_xor_si128(LOADU(&S->h[2]), row1h)); - row2l = _mm_xor_si128(row4l, row2l); - row2h = _mm_xor_si128(row4h, row2h); - STOREU(&S->h[4], _mm_xor_si128(LOADU(&S->h[4]), row2l)); - STOREU(&S->h[6], _mm_xor_si128(LOADU(&S->h[6]), row2h)); - return 0; -} - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.h deleted file mode 100755 index 9a7164fe2..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.h +++ /dev/null @@ -1,103 +0,0 @@ - -#ifndef blake2b_compress_ssse3_H -#define blake2b_compress_ssse3_H - -#define LOADU(p) _mm_loadu_si128((const __m128i *) (const void *) (p)) -#define STOREU(p, r) _mm_storeu_si128((__m128i *) (void *) (p), r) - -#define _mm_roti_epi64(x, c) \ - (-(c) == 32) \ - ? _mm_shuffle_epi32((x), _MM_SHUFFLE(2, 3, 0, 1)) \ - : (-(c) == 24) \ - ? _mm_shuffle_epi8((x), r24) \ - : (-(c) == 16) \ - ? _mm_shuffle_epi8((x), r16) \ - : (-(c) == 63) \ - ? _mm_xor_si128(_mm_srli_epi64((x), -(c)), \ - _mm_add_epi64((x), (x))) \ - : _mm_xor_si128(_mm_srli_epi64((x), -(c)), \ - _mm_slli_epi64((x), 64 - (-(c)))) - -#define G1(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1) \ - row1l = _mm_add_epi64(_mm_add_epi64(row1l, b0), row2l); \ - row1h = _mm_add_epi64(_mm_add_epi64(row1h, b1), row2h); \ - \ - row4l = _mm_xor_si128(row4l, row1l); \ - row4h = _mm_xor_si128(row4h, row1h); \ - \ - row4l = _mm_roti_epi64(row4l, -32); \ - row4h = _mm_roti_epi64(row4h, -32); \ - \ - row3l = _mm_add_epi64(row3l, row4l); \ - row3h = _mm_add_epi64(row3h, row4h); \ - \ - row2l = _mm_xor_si128(row2l, row3l); \ - row2h = _mm_xor_si128(row2h, row3h); \ - \ - row2l = _mm_roti_epi64(row2l, -24); \ - row2h = _mm_roti_epi64(row2h, -24); - -#define G2(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1) \ - row1l = _mm_add_epi64(_mm_add_epi64(row1l, b0), row2l); \ - row1h = _mm_add_epi64(_mm_add_epi64(row1h, b1), row2h); \ - \ - row4l = _mm_xor_si128(row4l, row1l); \ - row4h = _mm_xor_si128(row4h, row1h); \ - \ - row4l = _mm_roti_epi64(row4l, -16); \ - row4h = _mm_roti_epi64(row4h, -16); \ - \ - row3l = _mm_add_epi64(row3l, row4l); \ - row3h = _mm_add_epi64(row3h, row4h); \ - \ - row2l = _mm_xor_si128(row2l, row3l); \ - row2h = _mm_xor_si128(row2h, row3h); \ - \ - row2l = _mm_roti_epi64(row2l, -63); \ - row2h = _mm_roti_epi64(row2h, -63); - -#define DIAGONALIZE(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h) \ - t0 = _mm_alignr_epi8(row2h, row2l, 8); \ - t1 = _mm_alignr_epi8(row2l, row2h, 8); \ - row2l = t0; \ - row2h = t1; \ - \ - t0 = row3l; \ - row3l = row3h; \ - row3h = t0; \ - \ - t0 = _mm_alignr_epi8(row4h, row4l, 8); \ - t1 = _mm_alignr_epi8(row4l, row4h, 8); \ - row4l = t1; \ - row4h = t0; - -#define UNDIAGONALIZE(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h) \ - t0 = _mm_alignr_epi8(row2l, row2h, 8); \ - t1 = _mm_alignr_epi8(row2h, row2l, 8); \ - row2l = t0; \ - row2h = t1; \ - \ - t0 = row3l; \ - row3l = row3h; \ - row3h = t0; \ - \ - t0 = _mm_alignr_epi8(row4l, row4h, 8); \ - t1 = _mm_alignr_epi8(row4h, row4l, 8); \ - row4l = t1; \ - row4h = t0; - -#include "blake2b-load-sse2.h" - -#define ROUND(r) \ - LOAD_MSG_##r##_1(b0, b1); \ - G1(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1); \ - LOAD_MSG_##r##_2(b0, b1); \ - G2(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1); \ - DIAGONALIZE(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h); \ - LOAD_MSG_##r##_3(b0, b1); \ - G1(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1); \ - LOAD_MSG_##r##_4(b0, b1); \ - G2(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h, b0, b1); \ - UNDIAGONALIZE(row1l, row2l, row3l, row4l, row1h, row2h, row3h, row4h); - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-avx2.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-avx2.h deleted file mode 100755 index 8c15f177c..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-avx2.h +++ /dev/null @@ -1,340 +0,0 @@ -#ifndef blake2b_load_avx2_H -#define blake2b_load_avx2_H - -#define BLAKE2B_LOAD_MSG_0_1(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m0, m1); \ - t1 = _mm256_unpacklo_epi64(m2, m3); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_0_2(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m0, m1); \ - t1 = _mm256_unpackhi_epi64(m2, m3); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_0_3(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m4, m5); \ - t1 = _mm256_unpacklo_epi64(m6, m7); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_0_4(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m4, m5); \ - t1 = _mm256_unpackhi_epi64(m6, m7); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_1_1(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m7, m2); \ - t1 = _mm256_unpackhi_epi64(m4, m6); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_1_2(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m5, m4); \ - t1 = _mm256_alignr_epi8(m3, m7, 8); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_1_3(b0) \ - do { \ - t0 = _mm256_shuffle_epi32(m0, _MM_SHUFFLE(1, 0, 3, 2)); \ - t1 = _mm256_unpackhi_epi64(m5, m2); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_1_4(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m6, m1); \ - t1 = _mm256_unpackhi_epi64(m3, m1); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_2_1(b0) \ - do { \ - t0 = _mm256_alignr_epi8(m6, m5, 8); \ - t1 = _mm256_unpackhi_epi64(m2, m7); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_2_2(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m4, m0); \ - t1 = _mm256_blend_epi32(m6, m1, 0x33); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_2_3(b0) \ - do { \ - t0 = _mm256_blend_epi32(m1, m5, 0x33); \ - t1 = _mm256_unpackhi_epi64(m3, m4); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_2_4(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m7, m3); \ - t1 = _mm256_alignr_epi8(m2, m0, 8); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_3_1(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m3, m1); \ - t1 = _mm256_unpackhi_epi64(m6, m5); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_3_2(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m4, m0); \ - t1 = _mm256_unpacklo_epi64(m6, m7); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_3_3(b0) \ - do { \ - t0 = _mm256_blend_epi32(m2, m1, 0x33); \ - t1 = _mm256_blend_epi32(m7, m2, 0x33); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_3_4(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m3, m5); \ - t1 = _mm256_unpacklo_epi64(m0, m4); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_4_1(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m4, m2); \ - t1 = _mm256_unpacklo_epi64(m1, m5); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_4_2(b0) \ - do { \ - t0 = _mm256_blend_epi32(m3, m0, 0x33); \ - t1 = _mm256_blend_epi32(m7, m2, 0x33); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_4_3(b0) \ - do { \ - t0 = _mm256_blend_epi32(m5, m7, 0x33); \ - t1 = _mm256_blend_epi32(m1, m3, 0x33); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_4_4(b0) \ - do { \ - t0 = _mm256_alignr_epi8(m6, m0, 8); \ - t1 = _mm256_blend_epi32(m6, m4, 0x33); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_5_1(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m1, m3); \ - t1 = _mm256_unpacklo_epi64(m0, m4); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_5_2(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m6, m5); \ - t1 = _mm256_unpackhi_epi64(m5, m1); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_5_3(b0) \ - do { \ - t0 = _mm256_blend_epi32(m3, m2, 0x33); \ - t1 = _mm256_unpackhi_epi64(m7, m0); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_5_4(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m6, m2); \ - t1 = _mm256_blend_epi32(m4, m7, 0x33); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_6_1(b0) \ - do { \ - t0 = _mm256_blend_epi32(m0, m6, 0x33); \ - t1 = _mm256_unpacklo_epi64(m7, m2); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_6_2(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m2, m7); \ - t1 = _mm256_alignr_epi8(m5, m6, 8); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_6_3(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m0, m3); \ - t1 = _mm256_shuffle_epi32(m4, _MM_SHUFFLE(1, 0, 3, 2)); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_6_4(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m3, m1); \ - t1 = _mm256_blend_epi32(m5, m1, 0x33); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_7_1(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m6, m3); \ - t1 = _mm256_blend_epi32(m1, m6, 0x33); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_7_2(b0) \ - do { \ - t0 = _mm256_alignr_epi8(m7, m5, 8); \ - t1 = _mm256_unpackhi_epi64(m0, m4); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_7_3(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m2, m7); \ - t1 = _mm256_unpacklo_epi64(m4, m1); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_7_4(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m0, m2); \ - t1 = _mm256_unpacklo_epi64(m3, m5); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_8_1(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m3, m7); \ - t1 = _mm256_alignr_epi8(m0, m5, 8); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_8_2(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m7, m4); \ - t1 = _mm256_alignr_epi8(m4, m1, 8); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_8_3(b0) \ - do { \ - t0 = m6; \ - t1 = _mm256_alignr_epi8(m5, m0, 8); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_8_4(b0) \ - do { \ - t0 = _mm256_blend_epi32(m3, m1, 0x33); \ - t1 = m2; \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_9_1(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m5, m4); \ - t1 = _mm256_unpackhi_epi64(m3, m0); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_9_2(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m1, m2); \ - t1 = _mm256_blend_epi32(m2, m3, 0x33); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_9_3(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m7, m4); \ - t1 = _mm256_unpackhi_epi64(m1, m6); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_9_4(b0) \ - do { \ - t0 = _mm256_alignr_epi8(m7, m5, 8); \ - t1 = _mm256_unpacklo_epi64(m6, m0); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_10_1(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m0, m1); \ - t1 = _mm256_unpacklo_epi64(m2, m3); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_10_2(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m0, m1); \ - t1 = _mm256_unpackhi_epi64(m2, m3); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_10_3(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m4, m5); \ - t1 = _mm256_unpacklo_epi64(m6, m7); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_10_4(b0) \ - do { \ - t0 = _mm256_unpackhi_epi64(m4, m5); \ - t1 = _mm256_unpackhi_epi64(m6, m7); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_11_1(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m7, m2); \ - t1 = _mm256_unpackhi_epi64(m4, m6); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_11_2(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m5, m4); \ - t1 = _mm256_alignr_epi8(m3, m7, 8); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_11_3(b0) \ - do { \ - t0 = _mm256_shuffle_epi32(m0, _MM_SHUFFLE(1, 0, 3, 2)); \ - t1 = _mm256_unpackhi_epi64(m5, m2); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#define BLAKE2B_LOAD_MSG_11_4(b0) \ - do { \ - t0 = _mm256_unpacklo_epi64(m6, m1); \ - t1 = _mm256_unpackhi_epi64(m3, m1); \ - b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ - } while (0) - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse2.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse2.h deleted file mode 100755 index 8e67421ac..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse2.h +++ /dev/null @@ -1,164 +0,0 @@ -/* - BLAKE2 reference source code package - optimized C implementations - - Written in 2012 by Samuel Neves - - To the extent possible under law, the author(s) have dedicated all copyright - and related and neighboring rights to this software to the public domain - worldwide. This software is distributed without any warranty. - - You should have received a copy of the CC0 Public Domain Dedication along - with - this software. If not, see - . -*/ - -#ifndef blake2b_load_sse2_H -#define blake2b_load_sse2_H - -#define LOAD_MSG_0_1(b0, b1) \ - b0 = _mm_set_epi64x(m2, m0); \ - b1 = _mm_set_epi64x(m6, m4) -#define LOAD_MSG_0_2(b0, b1) \ - b0 = _mm_set_epi64x(m3, m1); \ - b1 = _mm_set_epi64x(m7, m5) -#define LOAD_MSG_0_3(b0, b1) \ - b0 = _mm_set_epi64x(m10, m8); \ - b1 = _mm_set_epi64x(m14, m12) -#define LOAD_MSG_0_4(b0, b1) \ - b0 = _mm_set_epi64x(m11, m9); \ - b1 = _mm_set_epi64x(m15, m13) -#define LOAD_MSG_1_1(b0, b1) \ - b0 = _mm_set_epi64x(m4, m14); \ - b1 = _mm_set_epi64x(m13, m9) -#define LOAD_MSG_1_2(b0, b1) \ - b0 = _mm_set_epi64x(m8, m10); \ - b1 = _mm_set_epi64x(m6, m15) -#define LOAD_MSG_1_3(b0, b1) \ - b0 = _mm_set_epi64x(m0, m1); \ - b1 = _mm_set_epi64x(m5, m11) -#define LOAD_MSG_1_4(b0, b1) \ - b0 = _mm_set_epi64x(m2, m12); \ - b1 = _mm_set_epi64x(m3, m7) -#define LOAD_MSG_2_1(b0, b1) \ - b0 = _mm_set_epi64x(m12, m11); \ - b1 = _mm_set_epi64x(m15, m5) -#define LOAD_MSG_2_2(b0, b1) \ - b0 = _mm_set_epi64x(m0, m8); \ - b1 = _mm_set_epi64x(m13, m2) -#define LOAD_MSG_2_3(b0, b1) \ - b0 = _mm_set_epi64x(m3, m10); \ - b1 = _mm_set_epi64x(m9, m7) -#define LOAD_MSG_2_4(b0, b1) \ - b0 = _mm_set_epi64x(m6, m14); \ - b1 = _mm_set_epi64x(m4, m1) -#define LOAD_MSG_3_1(b0, b1) \ - b0 = _mm_set_epi64x(m3, m7); \ - b1 = _mm_set_epi64x(m11, m13) -#define LOAD_MSG_3_2(b0, b1) \ - b0 = _mm_set_epi64x(m1, m9); \ - b1 = _mm_set_epi64x(m14, m12) -#define LOAD_MSG_3_3(b0, b1) \ - b0 = _mm_set_epi64x(m5, m2); \ - b1 = _mm_set_epi64x(m15, m4) -#define LOAD_MSG_3_4(b0, b1) \ - b0 = _mm_set_epi64x(m10, m6); \ - b1 = _mm_set_epi64x(m8, m0) -#define LOAD_MSG_4_1(b0, b1) \ - b0 = _mm_set_epi64x(m5, m9); \ - b1 = _mm_set_epi64x(m10, m2) -#define LOAD_MSG_4_2(b0, b1) \ - b0 = _mm_set_epi64x(m7, m0); \ - b1 = _mm_set_epi64x(m15, m4) -#define LOAD_MSG_4_3(b0, b1) \ - b0 = _mm_set_epi64x(m11, m14); \ - b1 = _mm_set_epi64x(m3, m6) -#define LOAD_MSG_4_4(b0, b1) \ - b0 = _mm_set_epi64x(m12, m1); \ - b1 = _mm_set_epi64x(m13, m8) -#define LOAD_MSG_5_1(b0, b1) \ - b0 = _mm_set_epi64x(m6, m2); \ - b1 = _mm_set_epi64x(m8, m0) -#define LOAD_MSG_5_2(b0, b1) \ - b0 = _mm_set_epi64x(m10, m12); \ - b1 = _mm_set_epi64x(m3, m11) -#define LOAD_MSG_5_3(b0, b1) \ - b0 = _mm_set_epi64x(m7, m4); \ - b1 = _mm_set_epi64x(m1, m15) -#define LOAD_MSG_5_4(b0, b1) \ - b0 = _mm_set_epi64x(m5, m13); \ - b1 = _mm_set_epi64x(m9, m14) -#define LOAD_MSG_6_1(b0, b1) \ - b0 = _mm_set_epi64x(m1, m12); \ - b1 = _mm_set_epi64x(m4, m14) -#define LOAD_MSG_6_2(b0, b1) \ - b0 = _mm_set_epi64x(m15, m5); \ - b1 = _mm_set_epi64x(m10, m13) -#define LOAD_MSG_6_3(b0, b1) \ - b0 = _mm_set_epi64x(m6, m0); \ - b1 = _mm_set_epi64x(m8, m9) -#define LOAD_MSG_6_4(b0, b1) \ - b0 = _mm_set_epi64x(m3, m7); \ - b1 = _mm_set_epi64x(m11, m2) -#define LOAD_MSG_7_1(b0, b1) \ - b0 = _mm_set_epi64x(m7, m13); \ - b1 = _mm_set_epi64x(m3, m12) -#define LOAD_MSG_7_2(b0, b1) \ - b0 = _mm_set_epi64x(m14, m11); \ - b1 = _mm_set_epi64x(m9, m1) -#define LOAD_MSG_7_3(b0, b1) \ - b0 = _mm_set_epi64x(m15, m5); \ - b1 = _mm_set_epi64x(m2, m8) -#define LOAD_MSG_7_4(b0, b1) \ - b0 = _mm_set_epi64x(m4, m0); \ - b1 = _mm_set_epi64x(m10, m6) -#define LOAD_MSG_8_1(b0, b1) \ - b0 = _mm_set_epi64x(m14, m6); \ - b1 = _mm_set_epi64x(m0, m11) -#define LOAD_MSG_8_2(b0, b1) \ - b0 = _mm_set_epi64x(m9, m15); \ - b1 = _mm_set_epi64x(m8, m3) -#define LOAD_MSG_8_3(b0, b1) \ - b0 = _mm_set_epi64x(m13, m12); \ - b1 = _mm_set_epi64x(m10, m1) -#define LOAD_MSG_8_4(b0, b1) \ - b0 = _mm_set_epi64x(m7, m2); \ - b1 = _mm_set_epi64x(m5, m4) -#define LOAD_MSG_9_1(b0, b1) \ - b0 = _mm_set_epi64x(m8, m10); \ - b1 = _mm_set_epi64x(m1, m7) -#define LOAD_MSG_9_2(b0, b1) \ - b0 = _mm_set_epi64x(m4, m2); \ - b1 = _mm_set_epi64x(m5, m6) -#define LOAD_MSG_9_3(b0, b1) \ - b0 = _mm_set_epi64x(m9, m15); \ - b1 = _mm_set_epi64x(m13, m3) -#define LOAD_MSG_9_4(b0, b1) \ - b0 = _mm_set_epi64x(m14, m11); \ - b1 = _mm_set_epi64x(m0, m12) -#define LOAD_MSG_10_1(b0, b1) \ - b0 = _mm_set_epi64x(m2, m0); \ - b1 = _mm_set_epi64x(m6, m4) -#define LOAD_MSG_10_2(b0, b1) \ - b0 = _mm_set_epi64x(m3, m1); \ - b1 = _mm_set_epi64x(m7, m5) -#define LOAD_MSG_10_3(b0, b1) \ - b0 = _mm_set_epi64x(m10, m8); \ - b1 = _mm_set_epi64x(m14, m12) -#define LOAD_MSG_10_4(b0, b1) \ - b0 = _mm_set_epi64x(m11, m9); \ - b1 = _mm_set_epi64x(m15, m13) -#define LOAD_MSG_11_1(b0, b1) \ - b0 = _mm_set_epi64x(m4, m14); \ - b1 = _mm_set_epi64x(m13, m9) -#define LOAD_MSG_11_2(b0, b1) \ - b0 = _mm_set_epi64x(m8, m10); \ - b1 = _mm_set_epi64x(m6, m15) -#define LOAD_MSG_11_3(b0, b1) \ - b0 = _mm_set_epi64x(m0, m1); \ - b1 = _mm_set_epi64x(m5, m11) -#define LOAD_MSG_11_4(b0, b1) \ - b0 = _mm_set_epi64x(m2, m12); \ - b1 = _mm_set_epi64x(m3, m7) - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse41.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse41.h deleted file mode 100755 index 31745fc13..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-load-sse41.h +++ /dev/null @@ -1,307 +0,0 @@ -/* - BLAKE2 reference source code package - optimized C implementations - - Written in 2012 by Samuel Neves - - To the extent possible under law, the author(s) have dedicated all copyright - and related and neighboring rights to this software to the public domain - worldwide. This software is distributed without any warranty. - - You should have received a copy of the CC0 Public Domain Dedication along - with - this software. If not, see - . -*/ - -#ifndef blake2b_load_sse41_H -#define blake2b_load_sse41_H - -#define LOAD_MSG_0_1(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m0, m1); \ - b1 = _mm_unpacklo_epi64(m2, m3); \ - } while (0) - -#define LOAD_MSG_0_2(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m0, m1); \ - b1 = _mm_unpackhi_epi64(m2, m3); \ - } while (0) - -#define LOAD_MSG_0_3(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m4, m5); \ - b1 = _mm_unpacklo_epi64(m6, m7); \ - } while (0) - -#define LOAD_MSG_0_4(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m4, m5); \ - b1 = _mm_unpackhi_epi64(m6, m7); \ - } while (0) - -#define LOAD_MSG_1_1(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m7, m2); \ - b1 = _mm_unpackhi_epi64(m4, m6); \ - } while (0) - -#define LOAD_MSG_1_2(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m5, m4); \ - b1 = _mm_alignr_epi8(m3, m7, 8); \ - } while (0) - -#define LOAD_MSG_1_3(b0, b1) \ - do { \ - b0 = _mm_shuffle_epi32(m0, _MM_SHUFFLE(1, 0, 3, 2)); \ - b1 = _mm_unpackhi_epi64(m5, m2); \ - } while (0) - -#define LOAD_MSG_1_4(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m6, m1); \ - b1 = _mm_unpackhi_epi64(m3, m1); \ - } while (0) - -#define LOAD_MSG_2_1(b0, b1) \ - do { \ - b0 = _mm_alignr_epi8(m6, m5, 8); \ - b1 = _mm_unpackhi_epi64(m2, m7); \ - } while (0) - -#define LOAD_MSG_2_2(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m4, m0); \ - b1 = _mm_blend_epi16(m1, m6, 0xF0); \ - } while (0) - -#define LOAD_MSG_2_3(b0, b1) \ - do { \ - b0 = _mm_blend_epi16(m5, m1, 0xF0); \ - b1 = _mm_unpackhi_epi64(m3, m4); \ - } while (0) - -#define LOAD_MSG_2_4(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m7, m3); \ - b1 = _mm_alignr_epi8(m2, m0, 8); \ - } while (0) - -#define LOAD_MSG_3_1(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m3, m1); \ - b1 = _mm_unpackhi_epi64(m6, m5); \ - } while (0) - -#define LOAD_MSG_3_2(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m4, m0); \ - b1 = _mm_unpacklo_epi64(m6, m7); \ - } while (0) - -#define LOAD_MSG_3_3(b0, b1) \ - do { \ - b0 = _mm_blend_epi16(m1, m2, 0xF0); \ - b1 = _mm_blend_epi16(m2, m7, 0xF0); \ - } while (0) - -#define LOAD_MSG_3_4(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m3, m5); \ - b1 = _mm_unpacklo_epi64(m0, m4); \ - } while (0) - -#define LOAD_MSG_4_1(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m4, m2); \ - b1 = _mm_unpacklo_epi64(m1, m5); \ - } while (0) - -#define LOAD_MSG_4_2(b0, b1) \ - do { \ - b0 = _mm_blend_epi16(m0, m3, 0xF0); \ - b1 = _mm_blend_epi16(m2, m7, 0xF0); \ - } while (0) - -#define LOAD_MSG_4_3(b0, b1) \ - do { \ - b0 = _mm_blend_epi16(m7, m5, 0xF0); \ - b1 = _mm_blend_epi16(m3, m1, 0xF0); \ - } while (0) - -#define LOAD_MSG_4_4(b0, b1) \ - do { \ - b0 = _mm_alignr_epi8(m6, m0, 8); \ - b1 = _mm_blend_epi16(m4, m6, 0xF0); \ - } while (0) - -#define LOAD_MSG_5_1(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m1, m3); \ - b1 = _mm_unpacklo_epi64(m0, m4); \ - } while (0) - -#define LOAD_MSG_5_2(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m6, m5); \ - b1 = _mm_unpackhi_epi64(m5, m1); \ - } while (0) - -#define LOAD_MSG_5_3(b0, b1) \ - do { \ - b0 = _mm_blend_epi16(m2, m3, 0xF0); \ - b1 = _mm_unpackhi_epi64(m7, m0); \ - } while (0) - -#define LOAD_MSG_5_4(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m6, m2); \ - b1 = _mm_blend_epi16(m7, m4, 0xF0); \ - } while (0) - -#define LOAD_MSG_6_1(b0, b1) \ - do { \ - b0 = _mm_blend_epi16(m6, m0, 0xF0); \ - b1 = _mm_unpacklo_epi64(m7, m2); \ - } while (0) - -#define LOAD_MSG_6_2(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m2, m7); \ - b1 = _mm_alignr_epi8(m5, m6, 8); \ - } while (0) - -#define LOAD_MSG_6_3(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m0, m3); \ - b1 = _mm_shuffle_epi32(m4, _MM_SHUFFLE(1, 0, 3, 2)); \ - } while (0) - -#define LOAD_MSG_6_4(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m3, m1); \ - b1 = _mm_blend_epi16(m1, m5, 0xF0); \ - } while (0) - -#define LOAD_MSG_7_1(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m6, m3); \ - b1 = _mm_blend_epi16(m6, m1, 0xF0); \ - } while (0) - -#define LOAD_MSG_7_2(b0, b1) \ - do { \ - b0 = _mm_alignr_epi8(m7, m5, 8); \ - b1 = _mm_unpackhi_epi64(m0, m4); \ - } while (0) - -#define LOAD_MSG_7_3(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m2, m7); \ - b1 = _mm_unpacklo_epi64(m4, m1); \ - } while (0) - -#define LOAD_MSG_7_4(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m0, m2); \ - b1 = _mm_unpacklo_epi64(m3, m5); \ - } while (0) - -#define LOAD_MSG_8_1(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m3, m7); \ - b1 = _mm_alignr_epi8(m0, m5, 8); \ - } while (0) - -#define LOAD_MSG_8_2(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m7, m4); \ - b1 = _mm_alignr_epi8(m4, m1, 8); \ - } while (0) - -#define LOAD_MSG_8_3(b0, b1) \ - do { \ - b0 = m6; \ - b1 = _mm_alignr_epi8(m5, m0, 8); \ - } while (0) - -#define LOAD_MSG_8_4(b0, b1) \ - do { \ - b0 = _mm_blend_epi16(m1, m3, 0xF0); \ - b1 = m2; \ - } while (0) - -#define LOAD_MSG_9_1(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m5, m4); \ - b1 = _mm_unpackhi_epi64(m3, m0); \ - } while (0) - -#define LOAD_MSG_9_2(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m1, m2); \ - b1 = _mm_blend_epi16(m3, m2, 0xF0); \ - } while (0) - -#define LOAD_MSG_9_3(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m7, m4); \ - b1 = _mm_unpackhi_epi64(m1, m6); \ - } while (0) - -#define LOAD_MSG_9_4(b0, b1) \ - do { \ - b0 = _mm_alignr_epi8(m7, m5, 8); \ - b1 = _mm_unpacklo_epi64(m6, m0); \ - } while (0) - -#define LOAD_MSG_10_1(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m0, m1); \ - b1 = _mm_unpacklo_epi64(m2, m3); \ - } while (0) - -#define LOAD_MSG_10_2(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m0, m1); \ - b1 = _mm_unpackhi_epi64(m2, m3); \ - } while (0) - -#define LOAD_MSG_10_3(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m4, m5); \ - b1 = _mm_unpacklo_epi64(m6, m7); \ - } while (0) - -#define LOAD_MSG_10_4(b0, b1) \ - do { \ - b0 = _mm_unpackhi_epi64(m4, m5); \ - b1 = _mm_unpackhi_epi64(m6, m7); \ - } while (0) - -#define LOAD_MSG_11_1(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m7, m2); \ - b1 = _mm_unpackhi_epi64(m4, m6); \ - } while (0) - -#define LOAD_MSG_11_2(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m5, m4); \ - b1 = _mm_alignr_epi8(m3, m7, 8); \ - } while (0) - -#define LOAD_MSG_11_3(b0, b1) \ - do { \ - b0 = _mm_shuffle_epi32(m0, _MM_SHUFFLE(1, 0, 3, 2)); \ - b1 = _mm_unpackhi_epi64(m5, m2); \ - } while (0) - -#define LOAD_MSG_11_4(b0, b1) \ - do { \ - b0 = _mm_unpacklo_epi64(m6, m1); \ - b1 = _mm_unpackhi_epi64(m3, m1); \ - } while (0) - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c deleted file mode 100755 index 8a00cb885..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c +++ /dev/null @@ -1,494 +0,0 @@ -/* - BLAKE2 reference source code package - C implementations - - Written in 2012 by Samuel Neves - - To the extent possible under law, the author(s) have dedicated all copyright - and related and neighboring rights to this software to the public domain - worldwide. This software is distributed without any warranty. - - You should have received a copy of the CC0 Public Domain Dedication along - with - this software. If not, see - . -*/ - -#include -#include -#include -#include - -#include "blake2.h" -#include "private/common.h" -#include "runtime.h" -#include "utils.h" - -#ifdef HAVE_TI_MODE -# if defined(__SIZEOF_INT128__) -typedef unsigned __int128 uint128_t; -# else -typedef unsigned uint128_t __attribute__((mode(TI))); -# endif -#endif - -static blake2b_compress_fn blake2b_compress = blake2b_compress_ref; - -static const uint64_t blake2b_IV[8] = { - 0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, 0x3c6ef372fe94f82bULL, - 0xa54ff53a5f1d36f1ULL, 0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL, - 0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL -}; - -/* LCOV_EXCL_START */ -static inline int -blake2b_set_lastnode(blake2b_state *S) -{ - S->f[1] = -1; - return 0; -} -/* LCOV_EXCL_STOP */ -#if 0 -static inline int blake2b_clear_lastnode( blake2b_state *S ) -{ - S->f[1] = 0; - return 0; -} -#endif - -static inline int -blake2b_is_lastblock(const blake2b_state *S) -{ - return S->f[0] != 0; -} - -static inline int -blake2b_set_lastblock(blake2b_state *S) -{ - if (S->last_node) - blake2b_set_lastnode(S); - - S->f[0] = -1; - return 0; -} -#if 0 -static inline int blake2b_clear_lastblock( blake2b_state *S ) -{ - if( S->last_node ) blake2b_clear_lastnode( S ); - - S->f[0] = 0; - return 0; -} -#endif -static inline int -blake2b_increment_counter(blake2b_state *S, const uint64_t inc) -{ -#ifdef HAVE_TI_MODE - uint128_t t = ((uint128_t) S->t[1] << 64) | S->t[0]; - t += inc; - S->t[0] = (uint64_t)(t >> 0); - S->t[1] = (uint64_t)(t >> 64); -#else - S->t[0] += inc; - S->t[1] += (S->t[0] < inc); -#endif - return 0; -} - -/* Parameter-related functions */ -#if 0 -/* Redundant: digest length is directly set in blake2b_init(), blake2b_init_salt_personal(), - * blake2b_init_key() and blake2b_init_key_salt_personal() */ -static inline int blake2b_param_set_digest_length( blake2b_param *P, const uint8_t digest_length ) -{ - P->digest_length = digest_length; - return 0; -} - -static inline int blake2b_param_set_fanout( blake2b_param *P, const uint8_t fanout ) -{ - P->fanout = fanout; - return 0; -} - -static inline int blake2b_param_set_max_depth( blake2b_param *P, const uint8_t depth ) -{ - P->depth = depth; - return 0; -} - -static inline int blake2b_param_set_leaf_length( blake2b_param *P, const uint32_t leaf_length ) -{ - STORE32_LE( P->leaf_length, leaf_length ); - return 0; -} - -static inline int blake2b_param_set_node_offset( blake2b_param *P, const uint64_t node_offset ) -{ - STORE64_LE( P->node_offset, node_offset ); - return 0; -} - -static inline int blake2b_param_set_node_depth( blake2b_param *P, const uint8_t node_depth ) -{ - P->node_depth = node_depth; - return 0; -} - -static inline int blake2b_param_set_inner_length( blake2b_param *P, const uint8_t inner_length ) -{ - P->inner_length = inner_length; - return 0; -} -#endif -static inline int -blake2b_param_set_salt(blake2b_param *P, const uint8_t salt[BLAKE2B_SALTBYTES]) -{ - memcpy(P->salt, salt, BLAKE2B_SALTBYTES); - return 0; -} - -static inline int -blake2b_param_set_personal(blake2b_param *P, - const uint8_t personal[BLAKE2B_PERSONALBYTES]) -{ - memcpy(P->personal, personal, BLAKE2B_PERSONALBYTES); - return 0; -} - -static inline int -blake2b_init0(blake2b_state *S) -{ - int i; - memset(S, 0, sizeof(blake2b_state)); - - for (i = 0; i < 8; i++) { - S->h[i] = blake2b_IV[i]; - } - return 0; -} - -/* init xors IV with input parameter block */ -int -blake2b_init_param(blake2b_state *S, const blake2b_param *P) -{ - size_t i; - const uint8_t *p; - - COMPILER_ASSERT(sizeof *P == 64); - blake2b_init0(S); - p = (const uint8_t *) (P); - - /* IV XOR ParamBlock */ - for (i = 0; i < 8; i++) { - S->h[i] ^= LOAD64_LE(p + sizeof(S->h[i]) * i); - } - return 0; -} - -int -blake2b_init(blake2b_state *S, const uint8_t outlen) -{ - blake2b_param P[1]; - - if ((!outlen) || (outlen > BLAKE2B_OUTBYTES)) - abort(); - - P->digest_length = outlen; - P->key_length = 0; - P->fanout = 1; - P->depth = 1; - STORE32_LE(P->leaf_length, 0); - STORE64_LE(P->node_offset, 0); - P->node_depth = 0; - P->inner_length = 0; - memset(P->reserved, 0, sizeof(P->reserved)); - memset(P->salt, 0, sizeof(P->salt)); - memset(P->personal, 0, sizeof(P->personal)); - return blake2b_init_param(S, P); -} - -int -blake2b_init_salt_personal(blake2b_state *S, const uint8_t outlen, - const void *salt, const void *personal) -{ - blake2b_param P[1]; - - if ((!outlen) || (outlen > BLAKE2B_OUTBYTES)) - abort(); - - P->digest_length = outlen; - P->key_length = 0; - P->fanout = 1; - P->depth = 1; - STORE32_LE(P->leaf_length, 0); - STORE64_LE(P->node_offset, 0); - P->node_depth = 0; - P->inner_length = 0; - memset(P->reserved, 0, sizeof(P->reserved)); - if (salt != NULL) { - blake2b_param_set_salt(P, (const uint8_t *) salt); - } else { - memset(P->salt, 0, sizeof(P->salt)); - } - if (personal != NULL) { - blake2b_param_set_personal(P, (const uint8_t *) personal); - } else { - memset(P->personal, 0, sizeof(P->personal)); - } - return blake2b_init_param(S, P); -} - -int -blake2b_init_key(blake2b_state *S, const uint8_t outlen, const void *key, - const uint8_t keylen) -{ - blake2b_param P[1]; - - if ((!outlen) || (outlen > BLAKE2B_OUTBYTES)) - abort(); - - if (!key || !keylen || keylen > BLAKE2B_KEYBYTES) - abort(); - - P->digest_length = outlen; - P->key_length = keylen; - P->fanout = 1; - P->depth = 1; - STORE32_LE(P->leaf_length, 0); - STORE64_LE(P->node_offset, 0); - P->node_depth = 0; - P->inner_length = 0; - memset(P->reserved, 0, sizeof(P->reserved)); - memset(P->salt, 0, sizeof(P->salt)); - memset(P->personal, 0, sizeof(P->personal)); - - if (blake2b_init_param(S, P) < 0) - abort(); - - { - uint8_t block[BLAKE2B_BLOCKBYTES]; - memset(block, 0, BLAKE2B_BLOCKBYTES); - memcpy(block, key, keylen); - blake2b_update(S, block, BLAKE2B_BLOCKBYTES); - sodium_memzero(block, BLAKE2B_BLOCKBYTES); /* Burn the key from stack */ - } - return 0; -} - -int -blake2b_init_key_salt_personal(blake2b_state *S, const uint8_t outlen, - const void *key, const uint8_t keylen, - const void *salt, const void *personal) -{ - blake2b_param P[1]; - - if ((!outlen) || (outlen > BLAKE2B_OUTBYTES)) - abort(); - - if (!key || !keylen || keylen > BLAKE2B_KEYBYTES) - abort(); - - P->digest_length = outlen; - P->key_length = keylen; - P->fanout = 1; - P->depth = 1; - STORE32_LE(P->leaf_length, 0); - STORE64_LE(P->node_offset, 0); - P->node_depth = 0; - P->inner_length = 0; - memset(P->reserved, 0, sizeof(P->reserved)); - if (salt != NULL) { - blake2b_param_set_salt(P, (const uint8_t *) salt); - } else { - memset(P->salt, 0, sizeof(P->salt)); - } - if (personal != NULL) { - blake2b_param_set_personal(P, (const uint8_t *) personal); - } else { - memset(P->personal, 0, sizeof(P->personal)); - } - - if (blake2b_init_param(S, P) < 0) - abort(); - - { - uint8_t block[BLAKE2B_BLOCKBYTES]; - memset(block, 0, BLAKE2B_BLOCKBYTES); - memcpy(block, key, keylen); - blake2b_update(S, block, BLAKE2B_BLOCKBYTES); - sodium_memzero(block, BLAKE2B_BLOCKBYTES); /* Burn the key from stack */ - } - return 0; -} - -/* inlen now in bytes */ -int -blake2b_update(blake2b_state *S, const uint8_t *in, uint64_t inlen) -{ - while (inlen > 0) { - size_t left = S->buflen; - size_t fill = 2 * BLAKE2B_BLOCKBYTES - left; - - if (inlen > fill) { - memcpy(S->buf + left, in, fill); /* Fill buffer */ - S->buflen += fill; - blake2b_increment_counter(S, BLAKE2B_BLOCKBYTES); - blake2b_compress(S, S->buf); /* Compress */ - memcpy(S->buf, S->buf + BLAKE2B_BLOCKBYTES, - BLAKE2B_BLOCKBYTES); /* Shift buffer left */ - S->buflen -= BLAKE2B_BLOCKBYTES; - in += fill; - inlen -= fill; - } else /* inlen <= fill */ - { - memcpy(S->buf + left, in, inlen); - S->buflen += inlen; /* Be lazy, do not compress */ - in += inlen; - inlen -= inlen; - } - } - - return 0; -} - -int -blake2b_final(blake2b_state *S, uint8_t *out, uint8_t outlen) -{ - if (!outlen || outlen > BLAKE2B_OUTBYTES) { - abort(); /* LCOV_EXCL_LINE */ - } - if (blake2b_is_lastblock(S)) { - return -1; - } - if (S->buflen > BLAKE2B_BLOCKBYTES) { - blake2b_increment_counter(S, BLAKE2B_BLOCKBYTES); - blake2b_compress(S, S->buf); - S->buflen -= BLAKE2B_BLOCKBYTES; - assert(S->buflen <= BLAKE2B_BLOCKBYTES); - memcpy(S->buf, S->buf + BLAKE2B_BLOCKBYTES, S->buflen); - } - - blake2b_increment_counter(S, S->buflen); - blake2b_set_lastblock(S); - memset(S->buf + S->buflen, 0, - 2 * BLAKE2B_BLOCKBYTES - S->buflen); /* Padding */ - blake2b_compress(S, S->buf); - -#ifdef NATIVE_LITTLE_ENDIAN - memcpy(out, &S->h[0], outlen); -#else - { - uint8_t buffer[BLAKE2B_OUTBYTES]; - int i; - - for (i = 0; i < 8; i++) { /* Output full hash to temp buffer */ - STORE64_LE(buffer + sizeof(S->h[i]) * i, S->h[i]); - } - memcpy(out, buffer, outlen); - } -#endif - return 0; -} - -/* inlen, at least, should be uint64_t. Others can be size_t. */ -int -blake2b(uint8_t *out, const void *in, const void *key, const uint8_t outlen, - const uint64_t inlen, uint8_t keylen) -{ - blake2b_state S[1]; - - /* Verify parameters */ - if (NULL == in && inlen > 0) - abort(); - - if (NULL == out) - abort(); - - if (!outlen || outlen > BLAKE2B_OUTBYTES) - abort(); - - if (NULL == key && keylen > 0) - abort(); - - if (keylen > BLAKE2B_KEYBYTES) - abort(); - - if (keylen > 0) { - if (blake2b_init_key(S, outlen, key, keylen) < 0) - abort(); - } else { - if (blake2b_init(S, outlen) < 0) - abort(); - } - - blake2b_update(S, (const uint8_t *) in, inlen); - blake2b_final(S, out, outlen); - return 0; -} - -int -blake2b_salt_personal(uint8_t *out, const void *in, const void *key, - const uint8_t outlen, const uint64_t inlen, - uint8_t keylen, const void *salt, const void *personal) -{ - blake2b_state S[1]; - - /* Verify parameters */ - if (NULL == in && inlen > 0) - abort(); - - if (NULL == out) - abort(); - - if (!outlen || outlen > BLAKE2B_OUTBYTES) - abort(); - - if (NULL == key && keylen > 0) - abort(); - - if (keylen > BLAKE2B_KEYBYTES) - abort(); - - if (keylen > 0) { - if (blake2b_init_key_salt_personal(S, outlen, key, keylen, salt, - personal) < 0) - abort(); - } else { - if (blake2b_init_salt_personal(S, outlen, salt, personal) < 0) - abort(); - } - - blake2b_update(S, (const uint8_t *) in, inlen); - blake2b_final(S, out, outlen); - return 0; -} - -int -blake2b_pick_best_implementation(void) -{ -/* LCOV_EXCL_START */ -#if defined(HAVE_AVX2INTRIN_H) && defined(HAVE_TMMINTRIN_H) && \ - defined(HAVE_SMMINTRIN_H) - if (sodium_runtime_has_avx2()) { - blake2b_compress = blake2b_compress_avx2; - return 0; - } -#endif -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) && \ - defined(HAVE_SMMINTRIN_H) - if (sodium_runtime_has_sse41()) { - blake2b_compress = blake2b_compress_sse41; - return 0; - } -#endif -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) - if (sodium_runtime_has_ssse3()) { - blake2b_compress = blake2b_compress_ssse3; - return 0; - } -#endif - blake2b_compress = blake2b_compress_ref; - - return 0; - /* LCOV_EXCL_STOP */ -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c deleted file mode 100755 index 3a5e716ab..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c +++ /dev/null @@ -1,110 +0,0 @@ - -#include -#include -#include - -#include "blake2.h" -#include "crypto_generichash_blake2b.h" - -int -crypto_generichash_blake2b(unsigned char *out, size_t outlen, - const unsigned char *in, unsigned long long inlen, - const unsigned char *key, size_t keylen) -{ - if (outlen <= 0U || outlen > BLAKE2B_OUTBYTES || - keylen > BLAKE2B_KEYBYTES || inlen > UINT64_MAX) { - return -1; - } - assert(outlen <= UINT8_MAX); - assert(keylen <= UINT8_MAX); - - return blake2b((uint8_t *) out, in, key, (uint8_t) outlen, (uint64_t) inlen, - (uint8_t) keylen); -} - -int -crypto_generichash_blake2b_salt_personal( - unsigned char *out, size_t outlen, const unsigned char *in, - unsigned long long inlen, const unsigned char *key, size_t keylen, - const unsigned char *salt, const unsigned char *personal) -{ - if (outlen <= 0U || outlen > BLAKE2B_OUTBYTES || - keylen > BLAKE2B_KEYBYTES || inlen > UINT64_MAX) { - return -1; - } - assert(outlen <= UINT8_MAX); - assert(keylen <= UINT8_MAX); - - return blake2b_salt_personal((uint8_t *) out, in, key, (uint8_t) outlen, - (uint64_t) inlen, (uint8_t) keylen, salt, - personal); -} - -int -crypto_generichash_blake2b_init(crypto_generichash_blake2b_state *state, - const unsigned char *key, const size_t keylen, - const size_t outlen) -{ - if (outlen <= 0U || outlen > BLAKE2B_OUTBYTES || - keylen > BLAKE2B_KEYBYTES) { - return -1; - } - assert(outlen <= UINT8_MAX); - assert(keylen <= UINT8_MAX); - if (key == NULL || keylen <= 0U) { - if (blake2b_init(state, (uint8_t) outlen) != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - } else if (blake2b_init_key(state, (uint8_t) outlen, key, - (uint8_t) keylen) != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - return 0; -} - -int -crypto_generichash_blake2b_init_salt_personal( - crypto_generichash_blake2b_state *state, const unsigned char *key, - const size_t keylen, const size_t outlen, const unsigned char *salt, - const unsigned char *personal) -{ - if (outlen <= 0U || outlen > BLAKE2B_OUTBYTES || - keylen > BLAKE2B_KEYBYTES) { - return -1; - } - assert(outlen <= UINT8_MAX); - assert(keylen <= UINT8_MAX); - if (key == NULL || keylen <= 0U) { - if (blake2b_init_salt_personal(state, (uint8_t) outlen, salt, - personal) != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - } else if (blake2b_init_key_salt_personal(state, (uint8_t) outlen, key, - (uint8_t) keylen, salt, - personal) != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - return 0; -} - -int -crypto_generichash_blake2b_update(crypto_generichash_blake2b_state *state, - const unsigned char * in, - unsigned long long inlen) -{ - return blake2b_update(state, (const uint8_t *) in, (uint64_t) inlen); -} - -int -crypto_generichash_blake2b_final(crypto_generichash_blake2b_state *state, - unsigned char *out, const size_t outlen) -{ - assert(outlen <= UINT8_MAX); - return blake2b_final(state, (uint8_t *) out, (uint8_t) outlen); -} - -int -_crypto_generichash_blake2b_pick_best_implementation(void) -{ - return blake2b_pick_best_implementation(); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/crypto_generichash.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/crypto_generichash.c deleted file mode 100755 index a9a14e999..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_generichash/crypto_generichash.c +++ /dev/null @@ -1,91 +0,0 @@ - -#include "crypto_generichash.h" -#include "randombytes.h" - -size_t -crypto_generichash_bytes_min(void) -{ - return crypto_generichash_BYTES_MIN; -} - -size_t -crypto_generichash_bytes_max(void) -{ - return crypto_generichash_BYTES_MAX; -} - -size_t -crypto_generichash_bytes(void) -{ - return crypto_generichash_BYTES; -} - -size_t -crypto_generichash_keybytes_min(void) -{ - return crypto_generichash_KEYBYTES_MIN; -} - -size_t -crypto_generichash_keybytes_max(void) -{ - return crypto_generichash_KEYBYTES_MAX; -} - -size_t -crypto_generichash_keybytes(void) -{ - return crypto_generichash_KEYBYTES; -} - -const char * -crypto_generichash_primitive(void) -{ - return crypto_generichash_PRIMITIVE; -} - -size_t -crypto_generichash_statebytes(void) -{ - return (sizeof(crypto_generichash_state) + (size_t) 63U) & ~(size_t) 63U; -} - -int -crypto_generichash(unsigned char *out, size_t outlen, const unsigned char *in, - unsigned long long inlen, const unsigned char *key, - size_t keylen) -{ - return crypto_generichash_blake2b(out, outlen, in, inlen, key, keylen); -} - -int -crypto_generichash_init(crypto_generichash_state *state, - const unsigned char *key, - const size_t keylen, const size_t outlen) -{ - return crypto_generichash_blake2b_init - ((crypto_generichash_blake2b_state *) state, key, keylen, outlen); -} - -int -crypto_generichash_update(crypto_generichash_state *state, - const unsigned char *in, - unsigned long long inlen) -{ - return crypto_generichash_blake2b_update - ((crypto_generichash_blake2b_state *) state, in, inlen); -} - -int -crypto_generichash_final(crypto_generichash_state *state, - unsigned char *out, const size_t outlen) -{ - return crypto_generichash_blake2b_final - ((crypto_generichash_blake2b_state *) state, out, outlen); -} - -void -crypto_generichash_keygen(unsigned char k[crypto_generichash_KEYBYTES]) -{ - randombytes_buf(k, crypto_generichash_KEYBYTES); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/crypto_hash.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/crypto_hash.c deleted file mode 100755 index 855c560ba..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/crypto_hash.c +++ /dev/null @@ -1,20 +0,0 @@ - -#include "crypto_hash.h" - -size_t -crypto_hash_bytes(void) -{ - return crypto_hash_BYTES; -} - -int -crypto_hash(unsigned char *out, const unsigned char *in, - unsigned long long inlen) -{ - return crypto_hash_sha512(out, in, inlen); -} - -const char * -crypto_hash_primitive(void) { - return crypto_hash_PRIMITIVE; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c deleted file mode 100755 index 302d32a13..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c +++ /dev/null @@ -1,254 +0,0 @@ - -/*- - * Copyright 2005,2007,2009 Colin Percival - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - */ - -#include -#include -#include -#include - -#include - -#include "crypto_hash_sha256.h" -#include "private/common.h" -#include "utils.h" - -static void -be32enc_vect(unsigned char *dst, const uint32_t *src, size_t len) -{ - size_t i; - - for (i = 0; i < len / 4; i++) { - STORE32_BE(dst + i * 4, src[i]); - } -} - -static void -be32dec_vect(uint32_t *dst, const unsigned char *src, size_t len) -{ - size_t i; - - for (i = 0; i < len / 4; i++) { - dst[i] = LOAD32_BE(src + i * 4); - } -} - -static const uint32_t Krnd[64] = { - 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, - 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, - 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, - 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, - 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, - 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, - 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, - 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, - 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, - 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, - 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 -}; - -#define Ch(x, y, z) ((x & (y ^ z)) ^ z) -#define Maj(x, y, z) ((x & (y | z)) | (y & z)) -#define SHR(x, n) (x >> n) -#define ROTR(x, n) ROTR32(x, n) -#define S0(x) (ROTR(x, 2) ^ ROTR(x, 13) ^ ROTR(x, 22)) -#define S1(x) (ROTR(x, 6) ^ ROTR(x, 11) ^ ROTR(x, 25)) -#define s0(x) (ROTR(x, 7) ^ ROTR(x, 18) ^ SHR(x, 3)) -#define s1(x) (ROTR(x, 17) ^ ROTR(x, 19) ^ SHR(x, 10)) - -#define RND(a, b, c, d, e, f, g, h, k) \ - h += S1(e) + Ch(e, f, g) + k; \ - d += h; \ - h += S0(a) + Maj(a, b, c); - -#define RNDr(S, W, i, ii) \ - RND(S[(64 - i) % 8], S[(65 - i) % 8], S[(66 - i) % 8], S[(67 - i) % 8], \ - S[(68 - i) % 8], S[(69 - i) % 8], S[(70 - i) % 8], S[(71 - i) % 8], \ - W[i + ii] + Krnd[i + ii]) - -#define MSCH(W, ii, i) \ - W[i + ii + 16] = \ - s1(W[i + ii + 14]) + W[i + ii + 9] + s0(W[i + ii + 1]) + W[i + ii] - -static void -SHA256_Transform(uint32_t state[8], const uint8_t block[64], uint32_t W[64], - uint32_t S[8]) -{ - int i; - - be32dec_vect(W, block, 64); - memcpy(S, state, 32); - for (i = 0; i < 64; i += 16) { - RNDr(S, W, 0, i); - RNDr(S, W, 1, i); - RNDr(S, W, 2, i); - RNDr(S, W, 3, i); - RNDr(S, W, 4, i); - RNDr(S, W, 5, i); - RNDr(S, W, 6, i); - RNDr(S, W, 7, i); - RNDr(S, W, 8, i); - RNDr(S, W, 9, i); - RNDr(S, W, 10, i); - RNDr(S, W, 11, i); - RNDr(S, W, 12, i); - RNDr(S, W, 13, i); - RNDr(S, W, 14, i); - RNDr(S, W, 15, i); - if (i == 48) { - break; - } - MSCH(W, 0, i); - MSCH(W, 1, i); - MSCH(W, 2, i); - MSCH(W, 3, i); - MSCH(W, 4, i); - MSCH(W, 5, i); - MSCH(W, 6, i); - MSCH(W, 7, i); - MSCH(W, 8, i); - MSCH(W, 9, i); - MSCH(W, 10, i); - MSCH(W, 11, i); - MSCH(W, 12, i); - MSCH(W, 13, i); - MSCH(W, 14, i); - MSCH(W, 15, i); - } - for (i = 0; i < 8; i++) { - state[i] += S[i]; - } -} - -static const uint8_t PAD[64] = { 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - -static void -SHA256_Pad(crypto_hash_sha256_state *state, uint32_t tmp32[64 + 8]) -{ - uint64_t r; - uint64_t i; - - r = (state->count >> 3) & 0x3f; - if (r < 56) { - for (i = 0; i < 56 - r; i++) { - state->buf[r + i] = PAD[i]; - } - } else { - for (i = 0; i < 64 - r; i++) { - state->buf[r + i] = PAD[i]; - } - SHA256_Transform(state->state, state->buf, &tmp32[0], &tmp32[64]); - memset(&state->buf[0], 0, 56); - } - STORE64_BE(&state->buf[56], state->count); - SHA256_Transform(state->state, state->buf, &tmp32[0], &tmp32[64]); -} - -int -crypto_hash_sha256_init(crypto_hash_sha256_state *state) -{ - static const uint32_t sha256_initial_state[8] = { 0x6a09e667, 0xbb67ae85, - 0x3c6ef372, 0xa54ff53a, - 0x510e527f, 0x9b05688c, - 0x1f83d9ab, 0x5be0cd19 }; - - state->count = (uint64_t) 0U; - memcpy(state->state, sha256_initial_state, sizeof sha256_initial_state); - - return 0; -} - -int -crypto_hash_sha256_update(crypto_hash_sha256_state *state, - const unsigned char *in, unsigned long long inlen) -{ - uint32_t tmp32[64 + 8]; - unsigned long long i; - unsigned long long r; - - if (inlen <= 0U) { - return 0; - } - r = (unsigned long long) ((state->count >> 3) & 0x3f); - - state->count += ((uint64_t) inlen) << 3; - if (inlen < 64 - r) { - for (i = 0; i < inlen; i++) { - state->buf[r + i] = in[i]; - } - return 0; - } - for (i = 0; i < 64 - r; i++) { - state->buf[r + i] = in[i]; - } - SHA256_Transform(state->state, state->buf, &tmp32[0], &tmp32[64]); - in += 64 - r; - inlen -= 64 - r; - - while (inlen >= 64) { - SHA256_Transform(state->state, in, &tmp32[0], &tmp32[64]); - in += 64; - inlen -= 64; - } - inlen &= 63; - for (i = 0; i < inlen; i++) { - state->buf[i] = in[i]; - } - sodium_memzero((void *) tmp32, sizeof tmp32); - - return 0; -} - -int -crypto_hash_sha256_final(crypto_hash_sha256_state *state, unsigned char *out) -{ - uint32_t tmp32[64 + 8]; - - SHA256_Pad(state, tmp32); - be32enc_vect(out, state->state, 32); - sodium_memzero((void *) tmp32, sizeof tmp32); - sodium_memzero((void *) state, sizeof *state); - - return 0; -} - -int -crypto_hash_sha256(unsigned char *out, const unsigned char *in, - unsigned long long inlen) -{ - crypto_hash_sha256_state state; - - crypto_hash_sha256_init(&state); - crypto_hash_sha256_update(&state, in, inlen); - crypto_hash_sha256_final(&state, out); - - return 0; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/sha256/hash_sha256.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/sha256/hash_sha256.c deleted file mode 100755 index e729c811e..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/sha256/hash_sha256.c +++ /dev/null @@ -1,13 +0,0 @@ -#include "crypto_hash_sha256.h" - -size_t -crypto_hash_sha256_bytes(void) -{ - return crypto_hash_sha256_BYTES; -} - -size_t -crypto_hash_sha256_statebytes(void) -{ - return sizeof(crypto_hash_sha256_state); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c deleted file mode 100755 index 3778dfe31..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c +++ /dev/null @@ -1,280 +0,0 @@ - -/*- - * Copyright 2005,2007,2009 Colin Percival - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - */ - -#include -#include -#include -#include - -#include - -#include "crypto_hash_sha512.h" -#include "private/common.h" -#include "utils.h" - -static void -be64enc_vect(unsigned char *dst, const uint64_t *src, size_t len) -{ - size_t i; - - for (i = 0; i < len / 8; i++) { - STORE64_BE(dst + i * 8, src[i]); - } -} - -static void -be64dec_vect(uint64_t *dst, const unsigned char *src, size_t len) -{ - size_t i; - - for (i = 0; i < len / 8; i++) { - dst[i] = LOAD64_BE(src + i * 8); - } -} - -static const uint64_t Krnd[80] = { - 0x428a2f98d728ae22ULL, 0x7137449123ef65cdULL, 0xb5c0fbcfec4d3b2fULL, - 0xe9b5dba58189dbbcULL, 0x3956c25bf348b538ULL, 0x59f111f1b605d019ULL, - 0x923f82a4af194f9bULL, 0xab1c5ed5da6d8118ULL, 0xd807aa98a3030242ULL, - 0x12835b0145706fbeULL, 0x243185be4ee4b28cULL, 0x550c7dc3d5ffb4e2ULL, - 0x72be5d74f27b896fULL, 0x80deb1fe3b1696b1ULL, 0x9bdc06a725c71235ULL, - 0xc19bf174cf692694ULL, 0xe49b69c19ef14ad2ULL, 0xefbe4786384f25e3ULL, - 0x0fc19dc68b8cd5b5ULL, 0x240ca1cc77ac9c65ULL, 0x2de92c6f592b0275ULL, - 0x4a7484aa6ea6e483ULL, 0x5cb0a9dcbd41fbd4ULL, 0x76f988da831153b5ULL, - 0x983e5152ee66dfabULL, 0xa831c66d2db43210ULL, 0xb00327c898fb213fULL, - 0xbf597fc7beef0ee4ULL, 0xc6e00bf33da88fc2ULL, 0xd5a79147930aa725ULL, - 0x06ca6351e003826fULL, 0x142929670a0e6e70ULL, 0x27b70a8546d22ffcULL, - 0x2e1b21385c26c926ULL, 0x4d2c6dfc5ac42aedULL, 0x53380d139d95b3dfULL, - 0x650a73548baf63deULL, 0x766a0abb3c77b2a8ULL, 0x81c2c92e47edaee6ULL, - 0x92722c851482353bULL, 0xa2bfe8a14cf10364ULL, 0xa81a664bbc423001ULL, - 0xc24b8b70d0f89791ULL, 0xc76c51a30654be30ULL, 0xd192e819d6ef5218ULL, - 0xd69906245565a910ULL, 0xf40e35855771202aULL, 0x106aa07032bbd1b8ULL, - 0x19a4c116b8d2d0c8ULL, 0x1e376c085141ab53ULL, 0x2748774cdf8eeb99ULL, - 0x34b0bcb5e19b48a8ULL, 0x391c0cb3c5c95a63ULL, 0x4ed8aa4ae3418acbULL, - 0x5b9cca4f7763e373ULL, 0x682e6ff3d6b2b8a3ULL, 0x748f82ee5defb2fcULL, - 0x78a5636f43172f60ULL, 0x84c87814a1f0ab72ULL, 0x8cc702081a6439ecULL, - 0x90befffa23631e28ULL, 0xa4506cebde82bde9ULL, 0xbef9a3f7b2c67915ULL, - 0xc67178f2e372532bULL, 0xca273eceea26619cULL, 0xd186b8c721c0c207ULL, - 0xeada7dd6cde0eb1eULL, 0xf57d4f7fee6ed178ULL, 0x06f067aa72176fbaULL, - 0x0a637dc5a2c898a6ULL, 0x113f9804bef90daeULL, 0x1b710b35131c471bULL, - 0x28db77f523047d84ULL, 0x32caab7b40c72493ULL, 0x3c9ebe0a15c9bebcULL, - 0x431d67c49c100d4cULL, 0x4cc5d4becb3e42b6ULL, 0x597f299cfc657e2aULL, - 0x5fcb6fab3ad6faecULL, 0x6c44198c4a475817ULL -}; - -#define Ch(x, y, z) ((x & (y ^ z)) ^ z) -#define Maj(x, y, z) ((x & (y | z)) | (y & z)) -#define SHR(x, n) (x >> n) -#define ROTR(x, n) ROTR64(x, n) -#define S0(x) (ROTR(x, 28) ^ ROTR(x, 34) ^ ROTR(x, 39)) -#define S1(x) (ROTR(x, 14) ^ ROTR(x, 18) ^ ROTR(x, 41)) -#define s0(x) (ROTR(x, 1) ^ ROTR(x, 8) ^ SHR(x, 7)) -#define s1(x) (ROTR(x, 19) ^ ROTR(x, 61) ^ SHR(x, 6)) - -#define RND(a, b, c, d, e, f, g, h, k) \ - h += S1(e) + Ch(e, f, g) + k; \ - d += h; \ - h += S0(a) + Maj(a, b, c); - -#define RNDr(S, W, i, ii) \ - RND(S[(80 - i) % 8], S[(81 - i) % 8], S[(82 - i) % 8], S[(83 - i) % 8], \ - S[(84 - i) % 8], S[(85 - i) % 8], S[(86 - i) % 8], S[(87 - i) % 8], \ - W[i + ii] + Krnd[i + ii]) - -#define MSCH(W, ii, i) \ - W[i + ii + 16] = \ - s1(W[i + ii + 14]) + W[i + ii + 9] + s0(W[i + ii + 1]) + W[i + ii] - -static void -SHA512_Transform(uint64_t *state, const uint8_t block[128], uint64_t W[80], - uint64_t S[8]) -{ - int i; - - be64dec_vect(W, block, 128); - memcpy(S, state, 64); - for (i = 0; i < 80; i += 16) { - RNDr(S, W, 0, i); - RNDr(S, W, 1, i); - RNDr(S, W, 2, i); - RNDr(S, W, 3, i); - RNDr(S, W, 4, i); - RNDr(S, W, 5, i); - RNDr(S, W, 6, i); - RNDr(S, W, 7, i); - RNDr(S, W, 8, i); - RNDr(S, W, 9, i); - RNDr(S, W, 10, i); - RNDr(S, W, 11, i); - RNDr(S, W, 12, i); - RNDr(S, W, 13, i); - RNDr(S, W, 14, i); - RNDr(S, W, 15, i); - if (i == 64) { - break; - } - MSCH(W, 0, i); - MSCH(W, 1, i); - MSCH(W, 2, i); - MSCH(W, 3, i); - MSCH(W, 4, i); - MSCH(W, 5, i); - MSCH(W, 6, i); - MSCH(W, 7, i); - MSCH(W, 8, i); - MSCH(W, 9, i); - MSCH(W, 10, i); - MSCH(W, 11, i); - MSCH(W, 12, i); - MSCH(W, 13, i); - MSCH(W, 14, i); - MSCH(W, 15, i); - } - for (i = 0; i < 8; i++) { - state[i] += S[i]; - } -} - -static const uint8_t PAD[128] = { - 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -static void -SHA512_Pad(crypto_hash_sha512_state *state, uint64_t tmp64[80 + 8]) -{ - uint64_t r; - uint64_t i; - - r = (state->count[1] >> 3) & 0x7f; - if (r < 112) { - for (i = 0; i < 112 - r; i++) { - state->buf[r + i] = PAD[i]; - } - } else { - for (i = 0; i < 128 - r; i++) { - state->buf[r + i] = PAD[i]; - } - SHA512_Transform(state->state, state->buf, &tmp64[0], &tmp64[80]); - memset(&state->buf[0], 0, 112); - } - be64enc_vect(&state->buf[112], state->count, 16); - SHA512_Transform(state->state, state->buf, &tmp64[0], &tmp64[80]); -} - -int -crypto_hash_sha512_init(crypto_hash_sha512_state *state) -{ - static const uint64_t sha512_initial_state[8] = { - 0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, 0x3c6ef372fe94f82bULL, - 0xa54ff53a5f1d36f1ULL, 0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL, - 0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL - }; - - state->count[0] = state->count[1] = (uint64_t) 0U; - memcpy(state->state, sha512_initial_state, sizeof sha512_initial_state); - - return 0; -} - -int -crypto_hash_sha512_update(crypto_hash_sha512_state *state, - const unsigned char *in, unsigned long long inlen) -{ - uint64_t tmp64[80 + 8]; - uint64_t bitlen[2]; - unsigned long long i; - unsigned long long r; - - if (inlen <= 0U) { - return 0; - } - r = (unsigned long long) ((state->count[1] >> 3) & 0x7f); - - bitlen[1] = ((uint64_t) inlen) << 3; - bitlen[0] = ((uint64_t) inlen) >> 61; - if ((state->count[1] += bitlen[1]) < bitlen[1]) { - state->count[0]++; - } - state->count[0] += bitlen[0]; - if (inlen < 128 - r) { - for (i = 0; i < inlen; i++) { - state->buf[r + i] = in[i]; - } - return 0; - } - for (i = 0; i < 128 - r; i++) { - state->buf[r + i] = in[i]; - } - SHA512_Transform(state->state, state->buf, &tmp64[0], &tmp64[80]); - in += 128 - r; - inlen -= 128 - r; - - while (inlen >= 128) { - SHA512_Transform(state->state, in, &tmp64[0], &tmp64[80]); - in += 128; - inlen -= 128; - } - inlen &= 127; - for (i = 0; i < inlen; i++) { - state->buf[i] = in[i]; - } - sodium_memzero((void *) tmp64, sizeof tmp64); - - return 0; -} - -int -crypto_hash_sha512_final(crypto_hash_sha512_state *state, unsigned char *out) -{ - uint64_t tmp64[80 + 8]; - - SHA512_Pad(state, tmp64); - be64enc_vect(out, state->state, 64); - sodium_memzero((void *) tmp64, sizeof tmp64); - sodium_memzero((void *) state, sizeof *state); - - return 0; -} - -int -crypto_hash_sha512(unsigned char *out, const unsigned char *in, - unsigned long long inlen) -{ - crypto_hash_sha512_state state; - - crypto_hash_sha512_init(&state); - crypto_hash_sha512_update(&state, in, inlen); - crypto_hash_sha512_final(&state, out); - - return 0; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/sha512/hash_sha512.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/sha512/hash_sha512.c deleted file mode 100755 index ba842b8bd..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_hash/sha512/hash_sha512.c +++ /dev/null @@ -1,13 +0,0 @@ -#include "crypto_hash_sha512.h" - -size_t -crypto_hash_sha512_bytes(void) -{ - return crypto_hash_sha512_BYTES; -} - -size_t -crypto_hash_sha512_statebytes(void) -{ - return sizeof(crypto_hash_sha512_state); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.c deleted file mode 100755 index 2a690c9ac..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.c +++ /dev/null @@ -1,52 +0,0 @@ -#include - -#include "crypto_kdf_blake2b.h" -#include "crypto_generichash_blake2b.h" -#include "private/common.h" - -size_t -crypto_kdf_blake2b_bytes_min(void) -{ - return crypto_kdf_blake2b_BYTES_MIN; -} - -size_t -crypto_kdf_blake2b_bytes_max(void) -{ - return crypto_kdf_blake2b_BYTES_MAX; -} - -size_t -crypto_kdf_blake2b_contextbytes(void) -{ - return crypto_kdf_blake2b_CONTEXTBYTES; -} - -size_t -crypto_kdf_blake2b_keybytes(void) -{ - return crypto_kdf_blake2b_KEYBYTES; -} - -int crypto_kdf_blake2b_derive_from_key(unsigned char *subkey, size_t subkey_len, - uint64_t subkey_id, - const char ctx[crypto_kdf_blake2b_CONTEXTBYTES], - const unsigned char key[crypto_kdf_blake2b_KEYBYTES]) -{ - unsigned char ctx_padded[crypto_generichash_blake2b_PERSONALBYTES]; - unsigned char salt[crypto_generichash_blake2b_SALTBYTES]; - - memcpy(ctx_padded, ctx, crypto_kdf_blake2b_CONTEXTBYTES); - memset(ctx_padded + crypto_kdf_blake2b_CONTEXTBYTES, 0, sizeof ctx_padded - crypto_kdf_blake2b_CONTEXTBYTES); - STORE64_LE(salt, subkey_id); - memset(salt + 8, 0, (sizeof salt) - 8); - if (subkey_len < crypto_kdf_blake2b_BYTES_MIN || - subkey_len > crypto_kdf_blake2b_BYTES_MAX) { - errno = EINVAL; - return -1; - } - return crypto_generichash_blake2b_salt_personal(subkey, subkey_len, - NULL, 0, - key, crypto_kdf_blake2b_KEYBYTES, - salt, ctx_padded); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_kdf/crypto_kdf.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_kdf/crypto_kdf.c deleted file mode 100755 index b215d99ae..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_kdf/crypto_kdf.c +++ /dev/null @@ -1,49 +0,0 @@ - -#include "crypto_kdf.h" -#include "randombytes.h" - -const char * -crypto_kdf_primitive(void) -{ - return crypto_kdf_PRIMITIVE; -} - -size_t -crypto_kdf_bytes_min(void) -{ - return crypto_kdf_BYTES_MIN; -} - -size_t -crypto_kdf_bytes_max(void) -{ - return crypto_kdf_BYTES_MAX; -} - -size_t -crypto_kdf_contextbytes(void) -{ - return crypto_kdf_CONTEXTBYTES; -} - -size_t -crypto_kdf_keybytes(void) -{ - return crypto_kdf_KEYBYTES; -} - -int -crypto_kdf_derive_from_key(unsigned char *subkey, size_t subkey_len, - uint64_t subkey_id, - const char ctx[crypto_kdf_CONTEXTBYTES], - const unsigned char key[crypto_kdf_KEYBYTES]) -{ - return crypto_kdf_blake2b_derive_from_key(subkey, subkey_len, - subkey_id, ctx, key); -} - -void -crypto_kdf_keygen(unsigned char k[crypto_kdf_KEYBYTES]) -{ - randombytes_buf(k, crypto_kdf_KEYBYTES); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_kx/crypto_kx.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_kx/crypto_kx.c deleted file mode 100755 index ef878d943..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_kx/crypto_kx.c +++ /dev/null @@ -1,136 +0,0 @@ - -#include - -#include "crypto_generichash.h" -#include "crypto_kx.h" -#include "crypto_scalarmult.h" -#include "private/common.h" -#include "randombytes.h" -#include "utils.h" - -int -crypto_kx_seed_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES], - unsigned char sk[crypto_kx_SECRETKEYBYTES], - const unsigned char seed[crypto_kx_SEEDBYTES]) -{ - crypto_generichash(sk, crypto_kx_SECRETKEYBYTES, - seed, crypto_kx_SEEDBYTES, NULL, 0); - return crypto_scalarmult_base(pk, sk); -} - -int -crypto_kx_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES], - unsigned char sk[crypto_kx_SECRETKEYBYTES]) -{ - COMPILER_ASSERT(crypto_kx_SECRETKEYBYTES == crypto_scalarmult_SCALARBYTES); - COMPILER_ASSERT(crypto_kx_PUBLICKEYBYTES == crypto_scalarmult_BYTES); - - randombytes_buf(sk, crypto_kx_SECRETKEYBYTES); - return crypto_scalarmult_base(pk, sk); -} - -int -crypto_kx_client_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES], - unsigned char tx[crypto_kx_SESSIONKEYBYTES], - const unsigned char client_pk[crypto_kx_PUBLICKEYBYTES], - const unsigned char client_sk[crypto_kx_SECRETKEYBYTES], - const unsigned char server_pk[crypto_kx_PUBLICKEYBYTES]) -{ - crypto_generichash_state h; - unsigned char q[crypto_scalarmult_BYTES]; - unsigned char keys[2 * crypto_kx_SESSIONKEYBYTES]; - int i; - - if (rx == NULL) { - rx = tx; - } - if (tx == NULL) { - tx = rx; - } - if (crypto_scalarmult(q, client_sk, server_pk) != 0) { - return -1; - } - COMPILER_ASSERT(sizeof keys <= crypto_generichash_BYTES_MAX); - crypto_generichash_init(&h, NULL, 0U, sizeof keys); - crypto_generichash_update(&h, q, crypto_scalarmult_BYTES); - sodium_memzero(q, sizeof q); - crypto_generichash_update(&h, client_pk, crypto_kx_PUBLICKEYBYTES); - crypto_generichash_update(&h, server_pk, crypto_kx_PUBLICKEYBYTES); - crypto_generichash_final(&h, keys, sizeof keys); - sodium_memzero(&h, sizeof h); - for (i = 0; i < crypto_kx_SESSIONKEYBYTES; i++) { - rx[i] = keys[i]; - tx[i] = keys[i + crypto_kx_SESSIONKEYBYTES]; - } - sodium_memzero(keys, sizeof keys); - - return 0; -} - -int -crypto_kx_server_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES], - unsigned char tx[crypto_kx_SESSIONKEYBYTES], - const unsigned char server_pk[crypto_kx_PUBLICKEYBYTES], - const unsigned char server_sk[crypto_kx_SECRETKEYBYTES], - const unsigned char client_pk[crypto_kx_PUBLICKEYBYTES]) -{ - crypto_generichash_state h; - unsigned char q[crypto_scalarmult_BYTES]; - unsigned char keys[2 * crypto_kx_SESSIONKEYBYTES]; - int i; - - if (rx == NULL) { - rx = tx; - } - if (tx == NULL) { - tx = rx; - } - if (crypto_scalarmult(q, server_sk, client_pk) != 0) { - return -1; - } - COMPILER_ASSERT(sizeof keys <= crypto_generichash_BYTES_MAX); - crypto_generichash_init(&h, NULL, 0U, sizeof keys); - crypto_generichash_update(&h, q, crypto_scalarmult_BYTES); - sodium_memzero(q, sizeof q); - crypto_generichash_update(&h, client_pk, crypto_kx_PUBLICKEYBYTES); - crypto_generichash_update(&h, server_pk, crypto_kx_PUBLICKEYBYTES); - crypto_generichash_final(&h, keys, sizeof keys); - sodium_memzero(&h, sizeof h); - for (i = 0; i < crypto_kx_SESSIONKEYBYTES; i++) { - tx[i] = keys[i]; - rx[i] = keys[i + crypto_kx_SESSIONKEYBYTES]; - } - sodium_memzero(keys, sizeof keys); - - return 0; -} - -size_t -crypto_kx_publickeybytes(void) -{ - return crypto_kx_PUBLICKEYBYTES; -} - -size_t -crypto_kx_secretkeybytes(void) -{ - return crypto_kx_SECRETKEYBYTES; -} - -size_t -crypto_kx_seedbytes(void) -{ - return crypto_kx_SEEDBYTES; -} - -size_t -crypto_kx_sessionkeybytes(void) -{ - return crypto_kx_SESSIONKEYBYTES; -} - -const char * -crypto_kx_primitive(void) -{ - return crypto_kx_PRIMITIVE; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c deleted file mode 100755 index 93567aae0..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/crypto_onetimeauth.c +++ /dev/null @@ -1,71 +0,0 @@ - -#include "crypto_onetimeauth.h" -#include "randombytes.h" - -size_t -crypto_onetimeauth_statebytes(void) -{ - return sizeof(crypto_onetimeauth_state); -} - -size_t -crypto_onetimeauth_bytes(void) -{ - return crypto_onetimeauth_BYTES; -} - -size_t -crypto_onetimeauth_keybytes(void) -{ - return crypto_onetimeauth_KEYBYTES; -} - -int -crypto_onetimeauth(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - return crypto_onetimeauth_poly1305(out, in, inlen, k); -} - -int -crypto_onetimeauth_verify(const unsigned char *h, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - return crypto_onetimeauth_poly1305_verify(h, in, inlen, k); -} - -int -crypto_onetimeauth_init(crypto_onetimeauth_state *state, - const unsigned char *key) -{ - return crypto_onetimeauth_poly1305_init - ((crypto_onetimeauth_poly1305_state *) state, key); -} - -int -crypto_onetimeauth_update(crypto_onetimeauth_state *state, - const unsigned char *in, - unsigned long long inlen) -{ - return crypto_onetimeauth_poly1305_update - ((crypto_onetimeauth_poly1305_state *) state, in, inlen); -} - -int -crypto_onetimeauth_final(crypto_onetimeauth_state *state, - unsigned char *out) -{ - return crypto_onetimeauth_poly1305_final - ((crypto_onetimeauth_poly1305_state *) state, out); -} - -const char * -crypto_onetimeauth_primitive(void) -{ - return crypto_onetimeauth_PRIMITIVE; -} - -void crypto_onetimeauth_keygen(unsigned char k[crypto_onetimeauth_KEYBYTES]) -{ - randombytes_buf(k, crypto_onetimeauth_KEYBYTES); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c deleted file mode 100755 index a71e30204..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c +++ /dev/null @@ -1,124 +0,0 @@ - -#include "poly1305_donna.h" -#include "crypto_verify_16.h" -#include "private/common.h" -#include "utils.h" - -#ifdef HAVE_TI_MODE -#include "poly1305_donna64.h" -#else -#include "poly1305_donna32.h" -#endif -#include "../onetimeauth_poly1305.h" - -static void -poly1305_update(poly1305_state_internal_t *st, const unsigned char *m, - unsigned long long bytes) -{ - unsigned long long i; - - /* handle leftover */ - if (st->leftover) { - unsigned long long want = (poly1305_block_size - st->leftover); - - if (want > bytes) { - want = bytes; - } - for (i = 0; i < want; i++) { - st->buffer[st->leftover + i] = m[i]; - } - bytes -= want; - m += want; - st->leftover += want; - if (st->leftover < poly1305_block_size) { - return; - } - poly1305_blocks(st, st->buffer, poly1305_block_size); - st->leftover = 0; - } - - /* process full blocks */ - if (bytes >= poly1305_block_size) { - unsigned long long want = (bytes & ~(poly1305_block_size - 1)); - - poly1305_blocks(st, m, want); - m += want; - bytes -= want; - } - - /* store leftover */ - if (bytes) { - for (i = 0; i < bytes; i++) { - st->buffer[st->leftover + i] = m[i]; - } - st->leftover += bytes; - } -} - -static int -crypto_onetimeauth_poly1305_donna(unsigned char *out, const unsigned char *m, - unsigned long long inlen, - const unsigned char *key) -{ - CRYPTO_ALIGN(64) poly1305_state_internal_t state; - - poly1305_init(&state, key); - poly1305_update(&state, m, inlen); - poly1305_finish(&state, out); - - return 0; -} - -static int -crypto_onetimeauth_poly1305_donna_init(crypto_onetimeauth_poly1305_state *state, - const unsigned char * key) -{ - COMPILER_ASSERT(sizeof(crypto_onetimeauth_poly1305_state) >= - sizeof(poly1305_state_internal_t)); - poly1305_init((poly1305_state_internal_t *) (void *) state, key); - - return 0; -} - -static int -crypto_onetimeauth_poly1305_donna_update( - crypto_onetimeauth_poly1305_state *state, const unsigned char *in, - unsigned long long inlen) -{ - poly1305_update((poly1305_state_internal_t *) (void *) state, in, inlen); - - return 0; -} - -static int -crypto_onetimeauth_poly1305_donna_final( - crypto_onetimeauth_poly1305_state *state, unsigned char *out) -{ - poly1305_finish((poly1305_state_internal_t *) (void *) state, out); - - return 0; -} - -static int -crypto_onetimeauth_poly1305_donna_verify(const unsigned char *h, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) -{ - unsigned char correct[16]; - - crypto_onetimeauth_poly1305_donna(correct, in, inlen, k); - - return crypto_verify_16(h, correct); -} - -struct crypto_onetimeauth_poly1305_implementation - crypto_onetimeauth_poly1305_donna_implementation = { - SODIUM_C99(.onetimeauth =) crypto_onetimeauth_poly1305_donna, - SODIUM_C99(.onetimeauth_verify =) - crypto_onetimeauth_poly1305_donna_verify, - SODIUM_C99(.onetimeauth_init =) crypto_onetimeauth_poly1305_donna_init, - SODIUM_C99(.onetimeauth_update =) - crypto_onetimeauth_poly1305_donna_update, - SODIUM_C99(.onetimeauth_final =) crypto_onetimeauth_poly1305_donna_final - }; diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h deleted file mode 100755 index d6474b3af..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef poly1305_donna_H -#define poly1305_donna_H - -#include - -#include "../onetimeauth_poly1305.h" -#include "crypto_onetimeauth_poly1305.h" - -extern struct crypto_onetimeauth_poly1305_implementation - crypto_onetimeauth_poly1305_donna_implementation; - -#endif /* poly1305_donna_H */ diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h deleted file mode 100755 index ef57e1f15..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna32.h +++ /dev/null @@ -1,235 +0,0 @@ -/* - poly1305 implementation using 32 bit * 32 bit = 64 bit multiplication - and 64 bit addition -*/ - -#if defined(_MSC_VER) -# define POLY1305_NOINLINE __declspec(noinline) -#elif defined(__GNUC__) -# define POLY1305_NOINLINE __attribute__((noinline)) -#else -# define POLY1305_NOINLINE -#endif - -#include "private/common.h" - -#define poly1305_block_size 16 - -/* 17 + sizeof(unsigned long long) + 14*sizeof(unsigned long) */ -typedef struct poly1305_state_internal_t { - unsigned long r[5]; - unsigned long h[5]; - unsigned long pad[4]; - unsigned long long leftover; - unsigned char buffer[poly1305_block_size]; - unsigned char final; -} poly1305_state_internal_t; - -static void -poly1305_init(poly1305_state_internal_t *st, const unsigned char key[32]) -{ - /* r &= 0xffffffc0ffffffc0ffffffc0fffffff */ - st->r[0] = (LOAD32_LE(&key[0])) & 0x3ffffff; - st->r[1] = (LOAD32_LE(&key[3]) >> 2) & 0x3ffff03; - st->r[2] = (LOAD32_LE(&key[6]) >> 4) & 0x3ffc0ff; - st->r[3] = (LOAD32_LE(&key[9]) >> 6) & 0x3f03fff; - st->r[4] = (LOAD32_LE(&key[12]) >> 8) & 0x00fffff; - - /* h = 0 */ - st->h[0] = 0; - st->h[1] = 0; - st->h[2] = 0; - st->h[3] = 0; - st->h[4] = 0; - - /* save pad for later */ - st->pad[0] = LOAD32_LE(&key[16]); - st->pad[1] = LOAD32_LE(&key[20]); - st->pad[2] = LOAD32_LE(&key[24]); - st->pad[3] = LOAD32_LE(&key[28]); - - st->leftover = 0; - st->final = 0; -} - -static void -poly1305_blocks(poly1305_state_internal_t *st, const unsigned char *m, - unsigned long long bytes) -{ - const unsigned long hibit = (st->final) ? 0UL : (1UL << 24); /* 1 << 128 */ - unsigned long r0, r1, r2, r3, r4; - unsigned long s1, s2, s3, s4; - unsigned long h0, h1, h2, h3, h4; - unsigned long long d0, d1, d2, d3, d4; - unsigned long c; - - r0 = st->r[0]; - r1 = st->r[1]; - r2 = st->r[2]; - r3 = st->r[3]; - r4 = st->r[4]; - - s1 = r1 * 5; - s2 = r2 * 5; - s3 = r3 * 5; - s4 = r4 * 5; - - h0 = st->h[0]; - h1 = st->h[1]; - h2 = st->h[2]; - h3 = st->h[3]; - h4 = st->h[4]; - - while (bytes >= poly1305_block_size) { - /* h += m[i] */ - h0 += (LOAD32_LE(m + 0)) & 0x3ffffff; - h1 += (LOAD32_LE(m + 3) >> 2) & 0x3ffffff; - h2 += (LOAD32_LE(m + 6) >> 4) & 0x3ffffff; - h3 += (LOAD32_LE(m + 9) >> 6) & 0x3ffffff; - h4 += (LOAD32_LE(m + 12) >> 8) | hibit; - - /* h *= r */ - d0 = ((unsigned long long) h0 * r0) + ((unsigned long long) h1 * s4) + - ((unsigned long long) h2 * s3) + ((unsigned long long) h3 * s2) + - ((unsigned long long) h4 * s1); - d1 = ((unsigned long long) h0 * r1) + ((unsigned long long) h1 * r0) + - ((unsigned long long) h2 * s4) + ((unsigned long long) h3 * s3) + - ((unsigned long long) h4 * s2); - d2 = ((unsigned long long) h0 * r2) + ((unsigned long long) h1 * r1) + - ((unsigned long long) h2 * r0) + ((unsigned long long) h3 * s4) + - ((unsigned long long) h4 * s3); - d3 = ((unsigned long long) h0 * r3) + ((unsigned long long) h1 * r2) + - ((unsigned long long) h2 * r1) + ((unsigned long long) h3 * r0) + - ((unsigned long long) h4 * s4); - d4 = ((unsigned long long) h0 * r4) + ((unsigned long long) h1 * r3) + - ((unsigned long long) h2 * r2) + ((unsigned long long) h3 * r1) + - ((unsigned long long) h4 * r0); - - /* (partial) h %= p */ - c = (unsigned long) (d0 >> 26); - h0 = (unsigned long) d0 & 0x3ffffff; - d1 += c; - c = (unsigned long) (d1 >> 26); - h1 = (unsigned long) d1 & 0x3ffffff; - d2 += c; - c = (unsigned long) (d2 >> 26); - h2 = (unsigned long) d2 & 0x3ffffff; - d3 += c; - c = (unsigned long) (d3 >> 26); - h3 = (unsigned long) d3 & 0x3ffffff; - d4 += c; - c = (unsigned long) (d4 >> 26); - h4 = (unsigned long) d4 & 0x3ffffff; - h0 += c * 5; - c = (h0 >> 26); - h0 = h0 & 0x3ffffff; - h1 += c; - - m += poly1305_block_size; - bytes -= poly1305_block_size; - } - - st->h[0] = h0; - st->h[1] = h1; - st->h[2] = h2; - st->h[3] = h3; - st->h[4] = h4; -} - -static POLY1305_NOINLINE void -poly1305_finish(poly1305_state_internal_t *st, unsigned char mac[16]) -{ - unsigned long h0, h1, h2, h3, h4, c; - unsigned long g0, g1, g2, g3, g4; - unsigned long long f; - unsigned long mask; - - /* process the remaining block */ - if (st->leftover) { - unsigned long long i = st->leftover; - - st->buffer[i++] = 1; - for (; i < poly1305_block_size; i++) { - st->buffer[i] = 0; - } - st->final = 1; - poly1305_blocks(st, st->buffer, poly1305_block_size); - } - - /* fully carry h */ - h0 = st->h[0]; - h1 = st->h[1]; - h2 = st->h[2]; - h3 = st->h[3]; - h4 = st->h[4]; - - c = h1 >> 26; - h1 = h1 & 0x3ffffff; - h2 += c; - c = h2 >> 26; - h2 = h2 & 0x3ffffff; - h3 += c; - c = h3 >> 26; - h3 = h3 & 0x3ffffff; - h4 += c; - c = h4 >> 26; - h4 = h4 & 0x3ffffff; - h0 += c * 5; - c = h0 >> 26; - h0 = h0 & 0x3ffffff; - h1 += c; - - /* compute h + -p */ - g0 = h0 + 5; - c = g0 >> 26; - g0 &= 0x3ffffff; - g1 = h1 + c; - c = g1 >> 26; - g1 &= 0x3ffffff; - g2 = h2 + c; - c = g2 >> 26; - g2 &= 0x3ffffff; - g3 = h3 + c; - c = g3 >> 26; - g3 &= 0x3ffffff; - g4 = h4 + c - (1UL << 26); - - /* select h if h < p, or h + -p if h >= p */ - mask = (g4 >> ((sizeof(unsigned long) * 8) - 1)) - 1; - g0 &= mask; - g1 &= mask; - g2 &= mask; - g3 &= mask; - g4 &= mask; - mask = ~mask; - - h0 = (h0 & mask) | g0; - h1 = (h1 & mask) | g1; - h2 = (h2 & mask) | g2; - h3 = (h3 & mask) | g3; - h4 = (h4 & mask) | g4; - - /* h = h % (2^128) */ - h0 = ((h0) | (h1 << 26)) & 0xffffffff; - h1 = ((h1 >> 6) | (h2 << 20)) & 0xffffffff; - h2 = ((h2 >> 12) | (h3 << 14)) & 0xffffffff; - h3 = ((h3 >> 18) | (h4 << 8)) & 0xffffffff; - - /* mac = (h + pad) % (2^128) */ - f = (unsigned long long) h0 + st->pad[0]; - h0 = (unsigned long) f; - f = (unsigned long long) h1 + st->pad[1] + (f >> 32); - h1 = (unsigned long) f; - f = (unsigned long long) h2 + st->pad[2] + (f >> 32); - h2 = (unsigned long) f; - f = (unsigned long long) h3 + st->pad[3] + (f >> 32); - h3 = (unsigned long) f; - - STORE32_LE(mac + 0, h0); - STORE32_LE(mac + 4, h1); - STORE32_LE(mac + 8, h2); - STORE32_LE(mac + 12, h3); - - /* zero out the state */ - sodium_memzero((void *) st, sizeof *st); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h deleted file mode 100755 index 695ad28f8..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h +++ /dev/null @@ -1,225 +0,0 @@ -/* - poly1305 implementation using 64 bit * 64 bit = 128 bit multiplication - and 128 bit addition -*/ - -#if defined(__SIZEOF_INT128__) -typedef unsigned __int128 uint128_t; -#else -typedef unsigned uint128_t __attribute__((mode(TI))); -#endif - -#define MUL(out, x, y) out = ((uint128_t) x * y) -#define ADD(out, in) out += in -#define ADDLO(out, in) out += in -#define SHR(in, shift) (unsigned long long) (in >> (shift)) -#define LO(in) (unsigned long long) (in) - -#if defined(_MSC_VER) -# define POLY1305_NOINLINE __declspec(noinline) -#elif defined(__GNUC__) -# define POLY1305_NOINLINE __attribute__((noinline)) -#else -# define POLY1305_NOINLINE -#endif - -#include "private/common.h" - -#define poly1305_block_size 16 - -/* 17 + sizeof(unsigned long long) + 8*sizeof(unsigned long long) */ -typedef struct poly1305_state_internal_t { - unsigned long long r[3]; - unsigned long long h[3]; - unsigned long long pad[2]; - unsigned long long leftover; - unsigned char buffer[poly1305_block_size]; - unsigned char final; -} poly1305_state_internal_t; - -static void -poly1305_init(poly1305_state_internal_t *st, const unsigned char key[32]) -{ - unsigned long long t0, t1; - - /* r &= 0xffffffc0ffffffc0ffffffc0fffffff */ - t0 = LOAD64_LE(&key[0]); - t1 = LOAD64_LE(&key[8]); - - st->r[0] = (t0) &0xffc0fffffff; - st->r[1] = ((t0 >> 44) | (t1 << 20)) & 0xfffffc0ffff; - st->r[2] = ((t1 >> 24)) & 0x00ffffffc0f; - - /* h = 0 */ - st->h[0] = 0; - st->h[1] = 0; - st->h[2] = 0; - - /* save pad for later */ - st->pad[0] = LOAD64_LE(&key[16]); - st->pad[1] = LOAD64_LE(&key[24]); - - st->leftover = 0; - st->final = 0; -} - -static void -poly1305_blocks(poly1305_state_internal_t *st, const unsigned char *m, - unsigned long long bytes) -{ - const unsigned long long hibit = - (st->final) ? 0ULL : (1ULL << 40); /* 1 << 128 */ - unsigned long long r0, r1, r2; - unsigned long long s1, s2; - unsigned long long h0, h1, h2; - unsigned long long c; - uint128_t d0, d1, d2, d; - - r0 = st->r[0]; - r1 = st->r[1]; - r2 = st->r[2]; - - h0 = st->h[0]; - h1 = st->h[1]; - h2 = st->h[2]; - - s1 = r1 * (5 << 2); - s2 = r2 * (5 << 2); - - while (bytes >= poly1305_block_size) { - unsigned long long t0, t1; - - /* h += m[i] */ - t0 = LOAD64_LE(&m[0]); - t1 = LOAD64_LE(&m[8]); - - h0 += ((t0) &0xfffffffffff); - h1 += (((t0 >> 44) | (t1 << 20)) & 0xfffffffffff); - h2 += (((t1 >> 24)) & 0x3ffffffffff) | hibit; - - /* h *= r */ - MUL(d0, h0, r0); - MUL(d, h1, s2); - ADD(d0, d); - MUL(d, h2, s1); - ADD(d0, d); - MUL(d1, h0, r1); - MUL(d, h1, r0); - ADD(d1, d); - MUL(d, h2, s2); - ADD(d1, d); - MUL(d2, h0, r2); - MUL(d, h1, r1); - ADD(d2, d); - MUL(d, h2, r0); - ADD(d2, d); - - /* (partial) h %= p */ - c = SHR(d0, 44); - h0 = LO(d0) & 0xfffffffffff; - ADDLO(d1, c); - c = SHR(d1, 44); - h1 = LO(d1) & 0xfffffffffff; - ADDLO(d2, c); - c = SHR(d2, 42); - h2 = LO(d2) & 0x3ffffffffff; - h0 += c * 5; - c = (h0 >> 44); - h0 = h0 & 0xfffffffffff; - h1 += c; - - m += poly1305_block_size; - bytes -= poly1305_block_size; - } - - st->h[0] = h0; - st->h[1] = h1; - st->h[2] = h2; -} - -static POLY1305_NOINLINE void -poly1305_finish(poly1305_state_internal_t *st, unsigned char mac[16]) -{ - unsigned long long h0, h1, h2, c; - unsigned long long g0, g1, g2; - unsigned long long t0, t1; - - /* process the remaining block */ - if (st->leftover) { - unsigned long long i = st->leftover; - - st->buffer[i] = 1; - - for (i = i + 1; i < poly1305_block_size; i++) { - st->buffer[i] = 0; - } - st->final = 1; - poly1305_blocks(st, st->buffer, poly1305_block_size); - } - - /* fully carry h */ - h0 = st->h[0]; - h1 = st->h[1]; - h2 = st->h[2]; - - c = (h1 >> 44); - h1 &= 0xfffffffffff; - h2 += c; - c = (h2 >> 42); - h2 &= 0x3ffffffffff; - h0 += c * 5; - c = (h0 >> 44); - h0 &= 0xfffffffffff; - h1 += c; - c = (h1 >> 44); - h1 &= 0xfffffffffff; - h2 += c; - c = (h2 >> 42); - h2 &= 0x3ffffffffff; - h0 += c * 5; - c = (h0 >> 44); - h0 &= 0xfffffffffff; - h1 += c; - - /* compute h + -p */ - g0 = h0 + 5; - c = (g0 >> 44); - g0 &= 0xfffffffffff; - g1 = h1 + c; - c = (g1 >> 44); - g1 &= 0xfffffffffff; - g2 = h2 + c - (1ULL << 42); - - /* select h if h < p, or h + -p if h >= p */ - c = (g2 >> ((sizeof(unsigned long long) * 8) - 1)) - 1; - g0 &= c; - g1 &= c; - g2 &= c; - c = ~c; - h0 = (h0 & c) | g0; - h1 = (h1 & c) | g1; - h2 = (h2 & c) | g2; - - /* h = (h + pad) */ - t0 = st->pad[0]; - t1 = st->pad[1]; - - h0 += ((t0) &0xfffffffffff); - c = (h0 >> 44); - h0 &= 0xfffffffffff; - h1 += (((t0 >> 44) | (t1 << 20)) & 0xfffffffffff) + c; - c = (h1 >> 44); - h1 &= 0xfffffffffff; - h2 += (((t1 >> 24)) & 0x3ffffffffff) + c; - h2 &= 0x3ffffffffff; - - /* mac = h % (2^128) */ - h0 = ((h0) | (h1 << 44)); - h1 = ((h1 >> 20) | (h2 << 24)); - - STORE64_LE(&mac[0], h0); - STORE64_LE(&mac[8], h1); - - /* zero out the state */ - sodium_memzero((void *) st, sizeof *st); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c deleted file mode 100755 index 28db5663d..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c +++ /dev/null @@ -1,89 +0,0 @@ - -#include "onetimeauth_poly1305.h" -#include "crypto_onetimeauth_poly1305.h" -#include "private/common.h" -#include "randombytes.h" -#include "runtime.h" - -#include "donna/poly1305_donna.h" -#if defined(HAVE_TI_MODE) && defined(HAVE_EMMINTRIN_H) -# include "sse2/poly1305_sse2.h" -#endif - -static const crypto_onetimeauth_poly1305_implementation *implementation = - &crypto_onetimeauth_poly1305_donna_implementation; - -int -crypto_onetimeauth_poly1305(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - return implementation->onetimeauth(out, in, inlen, k); -} - -int -crypto_onetimeauth_poly1305_verify(const unsigned char *h, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) -{ - return implementation->onetimeauth_verify(h, in, inlen, k); -} - -int -crypto_onetimeauth_poly1305_init(crypto_onetimeauth_poly1305_state *state, - const unsigned char * key) -{ - return implementation->onetimeauth_init(state, key); -} - -int -crypto_onetimeauth_poly1305_update(crypto_onetimeauth_poly1305_state *state, - const unsigned char * in, - unsigned long long inlen) -{ - return implementation->onetimeauth_update(state, in, inlen); -} - -int -crypto_onetimeauth_poly1305_final(crypto_onetimeauth_poly1305_state *state, - unsigned char * out) -{ - return implementation->onetimeauth_final(state, out); -} - -size_t -crypto_onetimeauth_poly1305_bytes(void) -{ - return crypto_onetimeauth_poly1305_BYTES; -} - -size_t -crypto_onetimeauth_poly1305_keybytes(void) -{ - return crypto_onetimeauth_poly1305_KEYBYTES; -} - -size_t -crypto_onetimeauth_poly1305_statebytes(void) -{ - return sizeof(crypto_onetimeauth_poly1305_state); -} - -void -crypto_onetimeauth_poly1305_keygen( - unsigned char k[crypto_onetimeauth_poly1305_KEYBYTES]) -{ - randombytes_buf(k, crypto_onetimeauth_poly1305_KEYBYTES); -} - -int -_crypto_onetimeauth_poly1305_pick_best_implementation(void) -{ - implementation = &crypto_onetimeauth_poly1305_donna_implementation; -#if defined(HAVE_TI_MODE) && defined(HAVE_EMMINTRIN_H) - if (sodium_runtime_has_sse2()) { - implementation = &crypto_onetimeauth_poly1305_sse2_implementation; - } -#endif - return 0; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h deleted file mode 100755 index 243eadd50..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h +++ /dev/null @@ -1,21 +0,0 @@ - -#ifndef onetimeauth_poly1305_H -#define onetimeauth_poly1305_H - -#include "crypto_onetimeauth_poly1305.h" - -typedef struct crypto_onetimeauth_poly1305_implementation { - int (*onetimeauth)(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k); - int (*onetimeauth_verify)(const unsigned char *h, const unsigned char *in, - unsigned long long inlen, const unsigned char *k); - int (*onetimeauth_init)(crypto_onetimeauth_poly1305_state *state, - const unsigned char * key); - int (*onetimeauth_update)(crypto_onetimeauth_poly1305_state *state, - const unsigned char * in, - unsigned long long inlen); - int (*onetimeauth_final)(crypto_onetimeauth_poly1305_state *state, - unsigned char * out); -} crypto_onetimeauth_poly1305_implementation; - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c deleted file mode 100755 index f39242de5..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c +++ /dev/null @@ -1,955 +0,0 @@ - -#include -#include - -#include "../onetimeauth_poly1305.h" -#include "crypto_verify_16.h" -#include "poly1305_sse2.h" -#include "private/common.h" -#include "private/sse2_64_32.h" -#include "utils.h" - -#if defined(HAVE_TI_MODE) && defined(HAVE_EMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# endif - -# include - -typedef __m128i xmmi; - -# if defined(__SIZEOF_INT128__) -typedef unsigned __int128 uint128_t; -# else -typedef unsigned uint128_t __attribute__((mode(TI))); -# endif - -# if defined(_MSC_VER) -# define POLY1305_NOINLINE __declspec(noinline) -# elif defined(__GNUC__) -# define POLY1305_NOINLINE __attribute__((noinline)) -# else -# define POLY1305_NOINLINE -# endif - -# define poly1305_block_size 32 - -enum poly1305_state_flags_t { - poly1305_started = 1, - poly1305_final_shift8 = 4, - poly1305_final_shift16 = 8, - poly1305_final_r2_r = 16, /* use [r^2,r] for the final block */ - poly1305_final_r_1 = 32, /* use [r,1] for the final block */ -}; - -typedef struct poly1305_state_internal_t { - union { - uint64_t h[3]; - uint32_t hh[10]; - }; /* 40 bytes */ - uint32_t R[5]; /* 20 bytes */ - uint32_t R2[5]; /* 20 bytes */ - uint32_t R4[5]; /* 20 bytes */ - uint64_t pad[2]; /* 16 bytes */ - uint64_t flags; /* 8 bytes */ - unsigned long long leftover; /* 8 bytes */ - unsigned char buffer[poly1305_block_size]; /* 32 bytes */ -} poly1305_state_internal_t; /* 164 bytes total */ - -/* - * _mm_loadl_epi64() is turned into a simple MOVQ. So, unaligned accesses are - * totally fine, even though this intrinsic requires a __m128i* input. - * This confuses dynamic analysis, so force alignment, only in debug mode. - */ -# ifdef DEBUG -static xmmi -_fakealign_mm_loadl_epi64(const void *m) -{ - xmmi tmp; - memcpy(&tmp, m, 8); - - return _mm_loadl_epi64(&tmp); -} -# define _mm_loadl_epi64(X) _fakealign_mm_loadl_epi64(X) -#endif - -/* copy 0-31 bytes */ -static inline void -poly1305_block_copy31(unsigned char *dst, const unsigned char *src, - unsigned long long bytes) -{ - if (bytes & 16) { - _mm_store_si128((xmmi *) (void *) dst, - _mm_loadu_si128((const xmmi *) (const void *) src)); - src += 16; - dst += 16; - } - if (bytes & 8) { - memcpy(dst, src, 8); - src += 8; - dst += 8; - } - if (bytes & 4) { - memcpy(dst, src, 4); - src += 4; - dst += 4; - } - if (bytes & 2) { - memcpy(dst, src, 2); - src += 2; - dst += 2; - } - if (bytes & 1) { - *dst = *src; - } -} - -static POLY1305_NOINLINE void -poly1305_init_ext(poly1305_state_internal_t *st, const unsigned char key[32], - unsigned long long bytes) -{ - uint32_t * R; - uint128_t d[3]; - uint64_t r0, r1, r2; - uint64_t rt0, rt1, rt2, st2, c; - uint64_t t0, t1; - unsigned long long i; - - if (!bytes) { - bytes = ~(unsigned long long) 0; - } - /* H = 0 */ - _mm_storeu_si128((xmmi *) (void *) &st->hh[0], _mm_setzero_si128()); - _mm_storeu_si128((xmmi *) (void *) &st->hh[4], _mm_setzero_si128()); - _mm_storeu_si128((xmmi *) (void *) &st->hh[8], _mm_setzero_si128()); - - /* clamp key */ - memcpy(&t0, key, 8); - memcpy(&t1, key + 8, 8); - r0 = t0 & 0xffc0fffffff; - t0 >>= 44; - t0 |= t1 << 20; - r1 = t0 & 0xfffffc0ffff; - t1 >>= 24; - r2 = t1 & 0x00ffffffc0f; - - /* r^1 */ - R = st->R; - R[0] = (uint32_t)(r0) &0x3ffffff; - R[1] = (uint32_t)((r0 >> 26) | (r1 << 18)) & 0x3ffffff; - R[2] = (uint32_t)((r1 >> 8)) & 0x3ffffff; - R[3] = (uint32_t)((r1 >> 34) | (r2 << 10)) & 0x3ffffff; - R[4] = (uint32_t)((r2 >> 16)); - - /* save pad */ - memcpy(&st->pad[0], key + 16, 8); - memcpy(&st->pad[1], key + 24, 8); - - rt0 = r0; - rt1 = r1; - rt2 = r2; - - /* r^2, r^4 */ - for (i = 0; i < 2; i++) { - if (i == 0) { - R = st->R2; - if (bytes <= 16) { - break; - } - } else if (i == 1) { - R = st->R4; - if (bytes < 96) { - break; - } - } - st2 = rt2 * (5 << 2); - - d[0] = ((uint128_t) rt0 * rt0) + ((uint128_t)(rt1 * 2) * st2); - d[1] = ((uint128_t) rt2 * st2) + ((uint128_t)(rt0 * 2) * rt1); - d[2] = ((uint128_t) rt1 * rt1) + ((uint128_t)(rt2 * 2) * rt0); - - rt0 = (uint64_t) d[0] & 0xfffffffffff; - c = (uint64_t)(d[0] >> 44); - d[1] += c; - - rt1 = (uint64_t) d[1] & 0xfffffffffff; - c = (uint64_t)(d[1] >> 44); - d[2] += c; - - rt2 = (uint64_t) d[2] & 0x3ffffffffff; - c = (uint64_t)(d[2] >> 42); - rt0 += c * 5; - c = (rt0 >> 44); - rt0 = rt0 & 0xfffffffffff; - rt1 += c; - c = (rt1 >> 44); - rt1 = rt1 & 0xfffffffffff; - rt2 += c; /* even if rt2 overflows, it will still fit in rp4 safely, and - is safe to multiply with */ - - R[0] = (uint32_t)(rt0) &0x3ffffff; - R[1] = (uint32_t)((rt0 >> 26) | (rt1 << 18)) & 0x3ffffff; - R[2] = (uint32_t)((rt1 >> 8)) & 0x3ffffff; - R[3] = (uint32_t)((rt1 >> 34) | (rt2 << 10)) & 0x3ffffff; - R[4] = (uint32_t)((rt2 >> 16)); - } - st->flags = 0; - st->leftover = 0U; -} - -static POLY1305_NOINLINE void -poly1305_blocks(poly1305_state_internal_t *st, const unsigned char *m, - unsigned long long bytes) -{ - CRYPTO_ALIGN(64) - xmmi HIBIT = - _mm_shuffle_epi32(_mm_cvtsi32_si128(1 << 24), _MM_SHUFFLE(1, 0, 1, 0)); - const xmmi MMASK = _mm_shuffle_epi32(_mm_cvtsi32_si128((1 << 26) - 1), - _MM_SHUFFLE(1, 0, 1, 0)); - const xmmi FIVE = - _mm_shuffle_epi32(_mm_cvtsi32_si128(5), _MM_SHUFFLE(1, 0, 1, 0)); - xmmi H0, H1, H2, H3, H4; - xmmi T0, T1, T2, T3, T4, T5, T6, T7, T8; - xmmi M0, M1, M2, M3, M4; - xmmi M5, M6, M7, M8; - xmmi C1, C2; - xmmi R20, R21, R22, R23, R24, S21, S22, S23, S24; - xmmi R40, R41, R42, R43, R44, S41, S42, S43, S44; - - if (st->flags & poly1305_final_shift8) { - HIBIT = _mm_srli_si128(HIBIT, 8); - } - if (st->flags & poly1305_final_shift16) { - HIBIT = _mm_setzero_si128(); - } - if (!(st->flags & poly1305_started)) { - /* H = [Mx,My] */ - T5 = _mm_unpacklo_epi64( - _mm_loadl_epi64((const xmmi *) (const void *) (m + 0)), - _mm_loadl_epi64((const xmmi *) (const void *) (m + 16))); - T6 = _mm_unpacklo_epi64( - _mm_loadl_epi64((const xmmi *) (const void *) (m + 8)), - _mm_loadl_epi64((const xmmi *) (const void *) (m + 24))); - H0 = _mm_and_si128(MMASK, T5); - H1 = _mm_and_si128(MMASK, _mm_srli_epi64(T5, 26)); - T5 = _mm_or_si128(_mm_srli_epi64(T5, 52), _mm_slli_epi64(T6, 12)); - H2 = _mm_and_si128(MMASK, T5); - H3 = _mm_and_si128(MMASK, _mm_srli_epi64(T5, 26)); - H4 = _mm_srli_epi64(T6, 40); - H4 = _mm_or_si128(H4, HIBIT); - m += 32; - bytes -= 32; - st->flags |= poly1305_started; - } else { - T0 = _mm_loadu_si128((const xmmi *) (const void *) &st->hh[0]); - T1 = _mm_loadu_si128((const xmmi *) (const void *) &st->hh[4]); - T2 = _mm_loadu_si128((const xmmi *) (const void *) &st->hh[8]); - H0 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(1, 1, 0, 0)); - H1 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(3, 3, 2, 2)); - H2 = _mm_shuffle_epi32(T1, _MM_SHUFFLE(1, 1, 0, 0)); - H3 = _mm_shuffle_epi32(T1, _MM_SHUFFLE(3, 3, 2, 2)); - H4 = _mm_shuffle_epi32(T2, _MM_SHUFFLE(1, 1, 0, 0)); - } - if (st->flags & (poly1305_final_r2_r | poly1305_final_r_1)) { - if (st->flags & poly1305_final_r2_r) { - /* use [r^2, r] */ - T2 = _mm_loadu_si128((const xmmi *) (const void *) &st->R[0]); - T3 = _mm_cvtsi32_si128(st->R[4]); - T0 = _mm_loadu_si128((const xmmi *) (const void *) &st->R2[0]); - T1 = _mm_cvtsi32_si128(st->R2[4]); - T4 = _mm_unpacklo_epi32(T0, T2); - T5 = _mm_unpackhi_epi32(T0, T2); - R24 = _mm_unpacklo_epi64(T1, T3); - } else { - /* use [r^1, 1] */ - T0 = _mm_loadu_si128((const xmmi *) (const void *) &st->R[0]); - T1 = _mm_cvtsi32_si128(st->R[4]); - T2 = _mm_cvtsi32_si128(1); - T4 = _mm_unpacklo_epi32(T0, T2); - T5 = _mm_unpackhi_epi32(T0, T2); - R24 = T1; - } - R20 = _mm_shuffle_epi32(T4, _MM_SHUFFLE(1, 1, 0, 0)); - R21 = _mm_shuffle_epi32(T4, _MM_SHUFFLE(3, 3, 2, 2)); - R22 = _mm_shuffle_epi32(T5, _MM_SHUFFLE(1, 1, 0, 0)); - R23 = _mm_shuffle_epi32(T5, _MM_SHUFFLE(3, 3, 2, 2)); - } else { - /* use [r^2, r^2] */ - T0 = _mm_loadu_si128((const xmmi *) (const void *) &st->R2[0]); - T1 = _mm_cvtsi32_si128(st->R2[4]); - R20 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(0, 0, 0, 0)); - R21 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(1, 1, 1, 1)); - R22 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(2, 2, 2, 2)); - R23 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(3, 3, 3, 3)); - R24 = _mm_shuffle_epi32(T1, _MM_SHUFFLE(0, 0, 0, 0)); - } - S21 = _mm_mul_epu32(R21, FIVE); - S22 = _mm_mul_epu32(R22, FIVE); - S23 = _mm_mul_epu32(R23, FIVE); - S24 = _mm_mul_epu32(R24, FIVE); - - if (bytes >= 64) { - T0 = _mm_loadu_si128((const xmmi *) (const void *) &st->R4[0]); - T1 = _mm_cvtsi32_si128(st->R4[4]); - R40 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(0, 0, 0, 0)); - R41 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(1, 1, 1, 1)); - R42 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(2, 2, 2, 2)); - R43 = _mm_shuffle_epi32(T0, _MM_SHUFFLE(3, 3, 3, 3)); - R44 = _mm_shuffle_epi32(T1, _MM_SHUFFLE(0, 0, 0, 0)); - S41 = _mm_mul_epu32(R41, FIVE); - S42 = _mm_mul_epu32(R42, FIVE); - S43 = _mm_mul_epu32(R43, FIVE); - S44 = _mm_mul_epu32(R44, FIVE); - - while (bytes >= 64) { - xmmi v00, v01, v02, v03, v04; - xmmi v10, v11, v12, v13, v14; - xmmi v20, v21, v22, v23, v24; - xmmi v30, v31, v32, v33, v34; - xmmi v40, v41, v42, v43, v44; - xmmi T14, T15; - - /* H *= [r^4,r^4], preload [Mx,My] */ - T15 = S42; - T0 = H4; - T0 = _mm_mul_epu32(T0, S41); - v01 = H3; - v01 = _mm_mul_epu32(v01, T15); - T14 = S43; - T1 = H4; - T1 = _mm_mul_epu32(T1, T15); - v11 = H3; - v11 = _mm_mul_epu32(v11, T14); - T2 = H4; - T2 = _mm_mul_epu32(T2, T14); - T0 = _mm_add_epi64(T0, v01); - T15 = S44; - v02 = H2; - v02 = _mm_mul_epu32(v02, T14); - T3 = H4; - T3 = _mm_mul_epu32(T3, T15); - T1 = _mm_add_epi64(T1, v11); - v03 = H1; - v03 = _mm_mul_epu32(v03, T15); - v12 = H2; - v12 = _mm_mul_epu32(v12, T15); - T0 = _mm_add_epi64(T0, v02); - T14 = R40; - v21 = H3; - v21 = _mm_mul_epu32(v21, T15); - v31 = H3; - v31 = _mm_mul_epu32(v31, T14); - T0 = _mm_add_epi64(T0, v03); - T4 = H4; - T4 = _mm_mul_epu32(T4, T14); - T1 = _mm_add_epi64(T1, v12); - v04 = H0; - v04 = _mm_mul_epu32(v04, T14); - T2 = _mm_add_epi64(T2, v21); - v13 = H1; - v13 = _mm_mul_epu32(v13, T14); - T3 = _mm_add_epi64(T3, v31); - T15 = R41; - v22 = H2; - v22 = _mm_mul_epu32(v22, T14); - v32 = H2; - v32 = _mm_mul_epu32(v32, T15); - T0 = _mm_add_epi64(T0, v04); - v41 = H3; - v41 = _mm_mul_epu32(v41, T15); - T1 = _mm_add_epi64(T1, v13); - v14 = H0; - v14 = _mm_mul_epu32(v14, T15); - T2 = _mm_add_epi64(T2, v22); - T14 = R42; - T5 = _mm_unpacklo_epi64( - _mm_loadl_epi64((const xmmi *) (const void *) (m + 0)), - _mm_loadl_epi64((const xmmi *) (const void *) (m + 16))); - v23 = H1; - v23 = _mm_mul_epu32(v23, T15); - T3 = _mm_add_epi64(T3, v32); - v33 = H1; - v33 = _mm_mul_epu32(v33, T14); - T4 = _mm_add_epi64(T4, v41); - v42 = H2; - v42 = _mm_mul_epu32(v42, T14); - T1 = _mm_add_epi64(T1, v14); - T15 = R43; - T6 = _mm_unpacklo_epi64( - _mm_loadl_epi64((const xmmi *) (const void *) (m + 8)), - _mm_loadl_epi64((const xmmi *) (const void *) (m + 24))); - v24 = H0; - v24 = _mm_mul_epu32(v24, T14); - T2 = _mm_add_epi64(T2, v23); - v34 = H0; - v34 = _mm_mul_epu32(v34, T15); - T3 = _mm_add_epi64(T3, v33); - M0 = _mm_and_si128(MMASK, T5); - v43 = H1; - v43 = _mm_mul_epu32(v43, T15); - T4 = _mm_add_epi64(T4, v42); - M1 = _mm_and_si128(MMASK, _mm_srli_epi64(T5, 26)); - v44 = H0; - v44 = _mm_mul_epu32(v44, R44); - T2 = _mm_add_epi64(T2, v24); - T5 = _mm_or_si128(_mm_srli_epi64(T5, 52), _mm_slli_epi64(T6, 12)); - T3 = _mm_add_epi64(T3, v34); - M3 = _mm_and_si128(MMASK, _mm_srli_epi64(T6, 14)); - T4 = _mm_add_epi64(T4, v43); - M2 = _mm_and_si128(MMASK, T5); - T4 = _mm_add_epi64(T4, v44); - M4 = _mm_or_si128(_mm_srli_epi64(T6, 40), HIBIT); - - /* H += [Mx',My'] */ - T5 = _mm_loadu_si128((const xmmi *) (const void *) (m + 32)); - T6 = _mm_loadu_si128((const xmmi *) (const void *) (m + 48)); - T7 = _mm_unpacklo_epi32(T5, T6); - T8 = _mm_unpackhi_epi32(T5, T6); - M5 = _mm_unpacklo_epi32(T7, _mm_setzero_si128()); - M6 = _mm_unpackhi_epi32(T7, _mm_setzero_si128()); - M7 = _mm_unpacklo_epi32(T8, _mm_setzero_si128()); - M8 = _mm_unpackhi_epi32(T8, _mm_setzero_si128()); - M6 = _mm_slli_epi64(M6, 6); - M7 = _mm_slli_epi64(M7, 12); - M8 = _mm_slli_epi64(M8, 18); - T0 = _mm_add_epi64(T0, M5); - T1 = _mm_add_epi64(T1, M6); - T2 = _mm_add_epi64(T2, M7); - T3 = _mm_add_epi64(T3, M8); - T4 = _mm_add_epi64(T4, HIBIT); - - /* H += [Mx,My]*[r^2,r^2] */ - T15 = S22; - v00 = M4; - v00 = _mm_mul_epu32(v00, S21); - v01 = M3; - v01 = _mm_mul_epu32(v01, T15); - T14 = S23; - v10 = M4; - v10 = _mm_mul_epu32(v10, T15); - v11 = M3; - v11 = _mm_mul_epu32(v11, T14); - T0 = _mm_add_epi64(T0, v00); - v20 = M4; - v20 = _mm_mul_epu32(v20, T14); - T0 = _mm_add_epi64(T0, v01); - T15 = S24; - v02 = M2; - v02 = _mm_mul_epu32(v02, T14); - T1 = _mm_add_epi64(T1, v10); - v30 = M4; - v30 = _mm_mul_epu32(v30, T15); - T1 = _mm_add_epi64(T1, v11); - v03 = M1; - v03 = _mm_mul_epu32(v03, T15); - T2 = _mm_add_epi64(T2, v20); - v12 = M2; - v12 = _mm_mul_epu32(v12, T15); - T0 = _mm_add_epi64(T0, v02); - T14 = R20; - v21 = M3; - v21 = _mm_mul_epu32(v21, T15); - T3 = _mm_add_epi64(T3, v30); - v31 = M3; - v31 = _mm_mul_epu32(v31, T14); - T0 = _mm_add_epi64(T0, v03); - v40 = M4; - v40 = _mm_mul_epu32(v40, T14); - T1 = _mm_add_epi64(T1, v12); - v04 = M0; - v04 = _mm_mul_epu32(v04, T14); - T2 = _mm_add_epi64(T2, v21); - v13 = M1; - v13 = _mm_mul_epu32(v13, T14); - T3 = _mm_add_epi64(T3, v31); - T15 = R21; - v22 = M2; - v22 = _mm_mul_epu32(v22, T14); - T4 = _mm_add_epi64(T4, v40); - v32 = M2; - v32 = _mm_mul_epu32(v32, T15); - T0 = _mm_add_epi64(T0, v04); - v41 = M3; - v41 = _mm_mul_epu32(v41, T15); - T1 = _mm_add_epi64(T1, v13); - v14 = M0; - v14 = _mm_mul_epu32(v14, T15); - T2 = _mm_add_epi64(T2, v22); - T14 = R22; - v23 = M1; - v23 = _mm_mul_epu32(v23, T15); - T3 = _mm_add_epi64(T3, v32); - v33 = M1; - v33 = _mm_mul_epu32(v33, T14); - T4 = _mm_add_epi64(T4, v41); - v42 = M2; - v42 = _mm_mul_epu32(v42, T14); - T1 = _mm_add_epi64(T1, v14); - T15 = R23; - v24 = M0; - v24 = _mm_mul_epu32(v24, T14); - T2 = _mm_add_epi64(T2, v23); - v34 = M0; - v34 = _mm_mul_epu32(v34, T15); - T3 = _mm_add_epi64(T3, v33); - v43 = M1; - v43 = _mm_mul_epu32(v43, T15); - T4 = _mm_add_epi64(T4, v42); - v44 = M0; - v44 = _mm_mul_epu32(v44, R24); - T2 = _mm_add_epi64(T2, v24); - T3 = _mm_add_epi64(T3, v34); - T4 = _mm_add_epi64(T4, v43); - T4 = _mm_add_epi64(T4, v44); - - /* reduce */ - C1 = _mm_srli_epi64(T0, 26); - C2 = _mm_srli_epi64(T3, 26); - T0 = _mm_and_si128(T0, MMASK); - T3 = _mm_and_si128(T3, MMASK); - T1 = _mm_add_epi64(T1, C1); - T4 = _mm_add_epi64(T4, C2); - C1 = _mm_srli_epi64(T1, 26); - C2 = _mm_srli_epi64(T4, 26); - T1 = _mm_and_si128(T1, MMASK); - T4 = _mm_and_si128(T4, MMASK); - T2 = _mm_add_epi64(T2, C1); - T0 = _mm_add_epi64(T0, _mm_mul_epu32(C2, FIVE)); - C1 = _mm_srli_epi64(T2, 26); - C2 = _mm_srli_epi64(T0, 26); - T2 = _mm_and_si128(T2, MMASK); - T0 = _mm_and_si128(T0, MMASK); - T3 = _mm_add_epi64(T3, C1); - T1 = _mm_add_epi64(T1, C2); - C1 = _mm_srli_epi64(T3, 26); - T3 = _mm_and_si128(T3, MMASK); - T4 = _mm_add_epi64(T4, C1); - - /* Final: H = (H*[r^4,r^4] + [Mx,My]*[r^2,r^2] + [Mx',My']) */ - H0 = T0; - H1 = T1; - H2 = T2; - H3 = T3; - H4 = T4; - - m += 64; - bytes -= 64; - } - } - - if (bytes >= 32) { - xmmi v01, v02, v03, v04; - xmmi v11, v12, v13, v14; - xmmi v21, v22, v23, v24; - xmmi v31, v32, v33, v34; - xmmi v41, v42, v43, v44; - xmmi T14, T15; - - /* H *= [r^2,r^2] */ - T15 = S22; - T0 = H4; - T0 = _mm_mul_epu32(T0, S21); - v01 = H3; - v01 = _mm_mul_epu32(v01, T15); - T14 = S23; - T1 = H4; - T1 = _mm_mul_epu32(T1, T15); - v11 = H3; - v11 = _mm_mul_epu32(v11, T14); - T2 = H4; - T2 = _mm_mul_epu32(T2, T14); - T0 = _mm_add_epi64(T0, v01); - T15 = S24; - v02 = H2; - v02 = _mm_mul_epu32(v02, T14); - T3 = H4; - T3 = _mm_mul_epu32(T3, T15); - T1 = _mm_add_epi64(T1, v11); - v03 = H1; - v03 = _mm_mul_epu32(v03, T15); - v12 = H2; - v12 = _mm_mul_epu32(v12, T15); - T0 = _mm_add_epi64(T0, v02); - T14 = R20; - v21 = H3; - v21 = _mm_mul_epu32(v21, T15); - v31 = H3; - v31 = _mm_mul_epu32(v31, T14); - T0 = _mm_add_epi64(T0, v03); - T4 = H4; - T4 = _mm_mul_epu32(T4, T14); - T1 = _mm_add_epi64(T1, v12); - v04 = H0; - v04 = _mm_mul_epu32(v04, T14); - T2 = _mm_add_epi64(T2, v21); - v13 = H1; - v13 = _mm_mul_epu32(v13, T14); - T3 = _mm_add_epi64(T3, v31); - T15 = R21; - v22 = H2; - v22 = _mm_mul_epu32(v22, T14); - v32 = H2; - v32 = _mm_mul_epu32(v32, T15); - T0 = _mm_add_epi64(T0, v04); - v41 = H3; - v41 = _mm_mul_epu32(v41, T15); - T1 = _mm_add_epi64(T1, v13); - v14 = H0; - v14 = _mm_mul_epu32(v14, T15); - T2 = _mm_add_epi64(T2, v22); - T14 = R22; - v23 = H1; - v23 = _mm_mul_epu32(v23, T15); - T3 = _mm_add_epi64(T3, v32); - v33 = H1; - v33 = _mm_mul_epu32(v33, T14); - T4 = _mm_add_epi64(T4, v41); - v42 = H2; - v42 = _mm_mul_epu32(v42, T14); - T1 = _mm_add_epi64(T1, v14); - T15 = R23; - v24 = H0; - v24 = _mm_mul_epu32(v24, T14); - T2 = _mm_add_epi64(T2, v23); - v34 = H0; - v34 = _mm_mul_epu32(v34, T15); - T3 = _mm_add_epi64(T3, v33); - v43 = H1; - v43 = _mm_mul_epu32(v43, T15); - T4 = _mm_add_epi64(T4, v42); - v44 = H0; - v44 = _mm_mul_epu32(v44, R24); - T2 = _mm_add_epi64(T2, v24); - T3 = _mm_add_epi64(T3, v34); - T4 = _mm_add_epi64(T4, v43); - T4 = _mm_add_epi64(T4, v44); - - /* H += [Mx,My] */ - if (m) { - T5 = _mm_loadu_si128((const xmmi *) (const void *) (m + 0)); - T6 = _mm_loadu_si128((const xmmi *) (const void *) (m + 16)); - T7 = _mm_unpacklo_epi32(T5, T6); - T8 = _mm_unpackhi_epi32(T5, T6); - M0 = _mm_unpacklo_epi32(T7, _mm_setzero_si128()); - M1 = _mm_unpackhi_epi32(T7, _mm_setzero_si128()); - M2 = _mm_unpacklo_epi32(T8, _mm_setzero_si128()); - M3 = _mm_unpackhi_epi32(T8, _mm_setzero_si128()); - M1 = _mm_slli_epi64(M1, 6); - M2 = _mm_slli_epi64(M2, 12); - M3 = _mm_slli_epi64(M3, 18); - T0 = _mm_add_epi64(T0, M0); - T1 = _mm_add_epi64(T1, M1); - T2 = _mm_add_epi64(T2, M2); - T3 = _mm_add_epi64(T3, M3); - T4 = _mm_add_epi64(T4, HIBIT); - } - - /* reduce */ - C1 = _mm_srli_epi64(T0, 26); - C2 = _mm_srli_epi64(T3, 26); - T0 = _mm_and_si128(T0, MMASK); - T3 = _mm_and_si128(T3, MMASK); - T1 = _mm_add_epi64(T1, C1); - T4 = _mm_add_epi64(T4, C2); - C1 = _mm_srli_epi64(T1, 26); - C2 = _mm_srli_epi64(T4, 26); - T1 = _mm_and_si128(T1, MMASK); - T4 = _mm_and_si128(T4, MMASK); - T2 = _mm_add_epi64(T2, C1); - T0 = _mm_add_epi64(T0, _mm_mul_epu32(C2, FIVE)); - C1 = _mm_srli_epi64(T2, 26); - C2 = _mm_srli_epi64(T0, 26); - T2 = _mm_and_si128(T2, MMASK); - T0 = _mm_and_si128(T0, MMASK); - T3 = _mm_add_epi64(T3, C1); - T1 = _mm_add_epi64(T1, C2); - C1 = _mm_srli_epi64(T3, 26); - T3 = _mm_and_si128(T3, MMASK); - T4 = _mm_add_epi64(T4, C1); - - /* H = (H*[r^2,r^2] + [Mx,My]) */ - H0 = T0; - H1 = T1; - H2 = T2; - H3 = T3; - H4 = T4; - } - - if (m) { - T0 = _mm_shuffle_epi32(H0, _MM_SHUFFLE(0, 0, 2, 0)); - T1 = _mm_shuffle_epi32(H1, _MM_SHUFFLE(0, 0, 2, 0)); - T2 = _mm_shuffle_epi32(H2, _MM_SHUFFLE(0, 0, 2, 0)); - T3 = _mm_shuffle_epi32(H3, _MM_SHUFFLE(0, 0, 2, 0)); - T4 = _mm_shuffle_epi32(H4, _MM_SHUFFLE(0, 0, 2, 0)); - T0 = _mm_unpacklo_epi64(T0, T1); - T1 = _mm_unpacklo_epi64(T2, T3); - _mm_storeu_si128((xmmi *) (void *) &st->hh[0], T0); - _mm_storeu_si128((xmmi *) (void *) &st->hh[4], T1); - _mm_storel_epi64((xmmi *) (void *) &st->hh[8], T4); - } else { - uint32_t t0, t1, t2, t3, t4, b; - uint64_t h0, h1, h2, g0, g1, g2, c, nc; - - /* H = H[0]+H[1] */ - T0 = H0; - T1 = H1; - T2 = H2; - T3 = H3; - T4 = H4; - - T0 = _mm_add_epi64(T0, _mm_srli_si128(T0, 8)); - T1 = _mm_add_epi64(T1, _mm_srli_si128(T1, 8)); - T2 = _mm_add_epi64(T2, _mm_srli_si128(T2, 8)); - T3 = _mm_add_epi64(T3, _mm_srli_si128(T3, 8)); - T4 = _mm_add_epi64(T4, _mm_srli_si128(T4, 8)); - - t0 = _mm_cvtsi128_si32(T0); - b = (t0 >> 26); - t0 &= 0x3ffffff; - t1 = _mm_cvtsi128_si32(T1) + b; - b = (t1 >> 26); - t1 &= 0x3ffffff; - t2 = _mm_cvtsi128_si32(T2) + b; - b = (t2 >> 26); - t2 &= 0x3ffffff; - t3 = _mm_cvtsi128_si32(T3) + b; - b = (t3 >> 26); - t3 &= 0x3ffffff; - t4 = _mm_cvtsi128_si32(T4) + b; - - /* everything except t4 is in range, so this is all safe */ - h0 = (((uint64_t) t0) | ((uint64_t) t1 << 26)) & 0xfffffffffffull; - h1 = (((uint64_t) t1 >> 18) | ((uint64_t) t2 << 8) | - ((uint64_t) t3 << 34)) & - 0xfffffffffffull; - h2 = (((uint64_t) t3 >> 10) | ((uint64_t) t4 << 16)); - - c = (h2 >> 42); - h2 &= 0x3ffffffffff; - h0 += c * 5; - c = (h0 >> 44); - h0 &= 0xfffffffffff; - h1 += c; - c = (h1 >> 44); - h1 &= 0xfffffffffff; - h2 += c; - c = (h2 >> 42); - h2 &= 0x3ffffffffff; - h0 += c * 5; - c = (h0 >> 44); - h0 &= 0xfffffffffff; - h1 += c; - - g0 = h0 + 5; - c = (g0 >> 44); - g0 &= 0xfffffffffff; - g1 = h1 + c; - c = (g1 >> 44); - g1 &= 0xfffffffffff; - g2 = h2 + c - ((uint64_t) 1 << 42); - - c = (g2 >> 63) - 1; - nc = ~c; - h0 = (h0 & nc) | (g0 & c); - h1 = (h1 & nc) | (g1 & c); - h2 = (h2 & nc) | (g2 & c); - - st->h[0] = h0; - st->h[1] = h1; - st->h[2] = h2; - } -} - -static void -poly1305_update(poly1305_state_internal_t *st, const unsigned char *m, - unsigned long long bytes) -{ - unsigned long long i; - - /* handle leftover */ - if (st->leftover) { - unsigned long long want = (poly1305_block_size - st->leftover); - - if (want > bytes) { - want = bytes; - } - for (i = 0; i < want; i++) { - st->buffer[st->leftover + i] = m[i]; - } - bytes -= want; - m += want; - st->leftover += want; - if (st->leftover < poly1305_block_size) { - return; - } - poly1305_blocks(st, st->buffer, poly1305_block_size); - st->leftover = 0; - } - - /* process full blocks */ - if (bytes >= poly1305_block_size) { - unsigned long long want = (bytes & ~(poly1305_block_size - 1)); - - poly1305_blocks(st, m, want); - m += want; - bytes -= want; - } - - /* store leftover */ - if (bytes) { - for (i = 0; i < bytes; i++) { - st->buffer[st->leftover + i] = m[i]; - } - st->leftover += bytes; - } -} - -static POLY1305_NOINLINE void -poly1305_finish_ext(poly1305_state_internal_t *st, const unsigned char *m, - unsigned long long leftover, unsigned char mac[16]) -{ - uint64_t h0, h1, h2; - - if (leftover) { - CRYPTO_ALIGN(16) unsigned char final[32] = { 0 }; - - poly1305_block_copy31(final, m, leftover); - if (leftover != 16) { - final[leftover] = 1; - } - st->flags |= - (leftover >= 16) ? poly1305_final_shift8 : poly1305_final_shift16; - poly1305_blocks(st, final, 32); - } - - if (st->flags & poly1305_started) { - /* finalize, H *= [r^2,r], or H *= [r,1] */ - if (!leftover || (leftover > 16)) { - st->flags |= poly1305_final_r2_r; - } else { - st->flags |= poly1305_final_r_1; - } - poly1305_blocks(st, NULL, 32); - } - - h0 = st->h[0]; - h1 = st->h[1]; - h2 = st->h[2]; - - /* pad */ - h0 = ((h0) | (h1 << 44)); - h1 = ((h1 >> 20) | (h2 << 24)); -#ifdef HAVE_AMD64_ASM - __asm__ __volatile__( - "addq %2, %0 ;\n" - "adcq %3, %1 ;\n" - : "+r"(h0), "+r"(h1) - : "r"(st->pad[0]), "r"(st->pad[1]) - : "flags", "cc"); -#else - { - uint128_t h; - - memcpy(&h, &st->pad[0], 16); - h += ((uint128_t) h1 << 64) | h0; - h0 = (uint64_t) h; - h1 = (uint64_t)(h >> 64); - } -#endif - _mm_storeu_si128((xmmi *) (void *) st + 0, _mm_setzero_si128()); - _mm_storeu_si128((xmmi *) (void *) st + 1, _mm_setzero_si128()); - _mm_storeu_si128((xmmi *) (void *) st + 2, _mm_setzero_si128()); - _mm_storeu_si128((xmmi *) (void *) st + 3, _mm_setzero_si128()); - _mm_storeu_si128((xmmi *) (void *) st + 4, _mm_setzero_si128()); - _mm_storeu_si128((xmmi *) (void *) st + 5, _mm_setzero_si128()); - _mm_storeu_si128((xmmi *) (void *) st + 6, _mm_setzero_si128()); - _mm_storeu_si128((xmmi *) (void *) st + 7, _mm_setzero_si128()); - - memcpy(&mac[0], &h0, 8); - memcpy(&mac[8], &h1, 8); - - sodium_memzero((void *) st, sizeof *st); -} - -static void -poly1305_finish(poly1305_state_internal_t *st, unsigned char mac[16]) -{ - poly1305_finish_ext(st, st->buffer, st->leftover, mac); -} - -static int -crypto_onetimeauth_poly1305_sse2_init(crypto_onetimeauth_poly1305_state *state, - const unsigned char * key) -{ - COMPILER_ASSERT(sizeof(crypto_onetimeauth_poly1305_state) >= - sizeof(poly1305_state_internal_t)); - poly1305_init_ext((poly1305_state_internal_t *) (void *) state, key, 0U); - - return 0; -} - -static int -crypto_onetimeauth_poly1305_sse2_update( - crypto_onetimeauth_poly1305_state *state, const unsigned char *in, - unsigned long long inlen) -{ - poly1305_update((poly1305_state_internal_t *) (void *) state, in, inlen); - - return 0; -} - -static int -crypto_onetimeauth_poly1305_sse2_final(crypto_onetimeauth_poly1305_state *state, - unsigned char * out) -{ - poly1305_finish((poly1305_state_internal_t *) (void *) state, out); - - return 0; -} - -static int -crypto_onetimeauth_poly1305_sse2(unsigned char *out, const unsigned char *m, - unsigned long long inlen, - const unsigned char *key) -{ - CRYPTO_ALIGN(64) poly1305_state_internal_t st; - unsigned long long blocks; - - poly1305_init_ext(&st, key, inlen); - blocks = inlen & ~31; - if (blocks > 0) { - poly1305_blocks(&st, m, blocks); - m += blocks; - inlen -= blocks; - } - poly1305_finish_ext(&st, m, inlen, out); - - return 0; -} - -static int -crypto_onetimeauth_poly1305_sse2_verify(const unsigned char *h, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) -{ - unsigned char correct[16]; - - crypto_onetimeauth_poly1305_sse2(correct, in, inlen, k); - - return crypto_verify_16(h, correct); -} - -struct crypto_onetimeauth_poly1305_implementation - crypto_onetimeauth_poly1305_sse2_implementation = { - SODIUM_C99(.onetimeauth =) crypto_onetimeauth_poly1305_sse2, - SODIUM_C99(.onetimeauth_verify =) - crypto_onetimeauth_poly1305_sse2_verify, - SODIUM_C99(.onetimeauth_init =) crypto_onetimeauth_poly1305_sse2_init, - SODIUM_C99(.onetimeauth_update =) - crypto_onetimeauth_poly1305_sse2_update, - SODIUM_C99(.onetimeauth_final =) crypto_onetimeauth_poly1305_sse2_final - }; - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h deleted file mode 100755 index 9177cad48..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef poly1305_sse2_H -#define poly1305_sse2_H - -#include - -#include "../onetimeauth_poly1305.h" -#include "crypto_onetimeauth_poly1305.h" - -extern struct crypto_onetimeauth_poly1305_implementation - crypto_onetimeauth_poly1305_sse2_implementation; - -#endif /* poly1305_sse2_H */ diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.c deleted file mode 100755 index 79447481e..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.c +++ /dev/null @@ -1,604 +0,0 @@ -/* - * Argon2 source code package - * - * Written by Daniel Dinu and Dmitry Khovratovich, 2015 - * - * This work is licensed under a Creative Commons CC0 1.0 License/Waiver. - * - * You should have received a copy of the CC0 Public Domain Dedication along - * with - * this software. If not, see - * . - */ - -#include -#include -#include -#include -#include - -#include -#ifdef HAVE_SYS_MMAN_H -# include -#endif - -#include "crypto_generichash_blake2b.h" -#include "private/common.h" -#include "runtime.h" -#include "utils.h" - -#include "argon2-core.h" -#include "blake2b-long.h" - -#if !defined(MAP_ANON) && defined(MAP_ANONYMOUS) -# define MAP_ANON MAP_ANONYMOUS -#endif - -static fill_segment_fn fill_segment = fill_segment_ref; - -/***************Instance and Position constructors**********/ -void -init_block_value(block *b, uint8_t in) -{ - memset(b->v, in, sizeof(b->v)); -} - -void -copy_block(block *dst, const block *src) -{ - memcpy(dst->v, src->v, sizeof(uint64_t) * ARGON2_QWORDS_IN_BLOCK); -} - -void -xor_block(block *dst, const block *src) -{ - int i; - for (i = 0; i < ARGON2_QWORDS_IN_BLOCK; ++i) { - dst->v[i] ^= src->v[i]; - } -} - -static void -load_block(block *dst, const void *input) -{ - unsigned i; - for (i = 0; i < ARGON2_QWORDS_IN_BLOCK; ++i) { - dst->v[i] = LOAD64_LE((const uint8_t *) input + i * sizeof(dst->v[i])); - } -} - -static void -store_block(void *output, const block *src) -{ - unsigned i; - for (i = 0; i < ARGON2_QWORDS_IN_BLOCK; ++i) { - STORE64_LE((uint8_t *) output + i * sizeof(src->v[i]), src->v[i]); - } -} - -/***************Memory allocators*****************/ -/* Allocates memory to the given pointer - * @param memory pointer to the pointer to the memory - * @param m_cost number of blocks to allocate in the memory - * @return ARGON2_OK if @memory is a valid pointer and memory is allocated - */ -static int allocate_memory(block_region **memory, uint32_t m_cost); - -static int -allocate_memory(block_region **region, uint32_t m_cost) -{ - void * base; - block *memory; - size_t memory_size; - - if (region == NULL) { - return ARGON2_MEMORY_ALLOCATION_ERROR; /* LCOV_EXCL_LINE */ - } - memory_size = sizeof(block) * m_cost; - if (m_cost == 0 || - memory_size / m_cost != - sizeof(block)) { /*1. Check for multiplication overflow*/ - return ARGON2_MEMORY_ALLOCATION_ERROR; /* LCOV_EXCL_LINE */ - } - *region = (block_region *) malloc( - sizeof(block_region)); /*2. Try to allocate region*/ - if (!*region) { - return ARGON2_MEMORY_ALLOCATION_ERROR; /* LCOV_EXCL_LINE */ - } - -#if defined(MAP_ANON) && defined(HAVE_MMAP) - if ((base = mmap(NULL, memory_size, PROT_READ | PROT_WRITE, -#ifdef MAP_NOCORE - MAP_ANON | MAP_PRIVATE | MAP_NOCORE, -#else - MAP_ANON | MAP_PRIVATE, -#endif - -1, 0)) == MAP_FAILED) { - base = NULL; /* LCOV_EXCL_LINE */ - } /* LCOV_EXCL_LINE */ - memcpy(&memory, &base, sizeof memory); -#elif defined(HAVE_POSIX_MEMALIGN) - if ((errno = posix_memalign((void **) &base, 64, memory_size)) != 0) { - base = NULL; - } - memcpy(&memory, &base, sizeof memory); -#else - memory = NULL; - if (memory_size + 63 < memory_size) { - base = NULL; - errno = ENOMEM; - } else if ((base = malloc(memory_size + 63)) != NULL) { - uint8_t *aligned = ((uint8_t *) base) + 63; - aligned -= (uintptr_t) aligned & 63; - memcpy(&memory, &aligned, sizeof memory); - } -#endif - if (base == NULL) { - return ARGON2_MEMORY_ALLOCATION_ERROR; /* LCOV_EXCL_LINE */ - } - (*region)->base = base; - (*region)->memory = memory; - (*region)->size = memory_size; - - return ARGON2_OK; -} - -/*********Memory functions*/ - -/* Clears memory - * @param instance pointer to the current instance - * @param clear_memory indicates if we clear the memory with zeros. - */ -static void clear_memory(argon2_instance_t *instance, int clear); - -static void -clear_memory(argon2_instance_t *instance, int clear) -{ - if (instance->region != NULL && clear) { - /* LCOV_EXCL_START */ - sodium_memzero(instance->region->memory, - sizeof(block) * instance->memory_blocks); - /* LCOV_EXCL_STOP */ - } -} - -/* Deallocates memory - * @param memory pointer to the blocks - */ -static void free_memory(block_region *memory); - -static void -free_memory(block_region *region) -{ - if (region->base) { -#if defined(MAP_ANON) && defined(HAVE_MMAP) - if (munmap(region->base, region->size)) { - return; /* LCOV_EXCL_LINE */ - } -#else - free(region->base); -#endif - } - free(region); -} - -void -finalize(const argon2_context *context, argon2_instance_t *instance) -{ - if (context != NULL && instance != NULL) { - block blockhash; - uint32_t l; - - copy_block(&blockhash, - instance->region->memory + instance->lane_length - 1); - - /* XOR the last blocks */ - for (l = 1; l < instance->lanes; ++l) { - uint32_t last_block_in_lane = - l * instance->lane_length + (instance->lane_length - 1); - xor_block(&blockhash, - instance->region->memory + last_block_in_lane); - } - - /* Hash the result */ - { - uint8_t blockhash_bytes[ARGON2_BLOCK_SIZE]; - store_block(blockhash_bytes, &blockhash); - blake2b_long(context->out, context->outlen, blockhash_bytes, - ARGON2_BLOCK_SIZE); - sodium_memzero(blockhash.v, - ARGON2_BLOCK_SIZE); /* clear blockhash */ - sodium_memzero(blockhash_bytes, - ARGON2_BLOCK_SIZE); /* clear blockhash_bytes */ - } - - /* Clear memory */ - clear_memory(instance, context->flags & ARGON2_FLAG_CLEAR_PASSWORD); - - /* Deallocate the memory */ - free_memory(instance->region); - } -} - -uint32_t -index_alpha(const argon2_instance_t *instance, - const argon2_position_t *position, uint32_t pseudo_rand, - int same_lane) -{ - /* - * Pass 0: - * This lane : all already finished segments plus already constructed - * blocks in this segment - * Other lanes : all already finished segments - * Pass 1+: - * This lane : (SYNC_POINTS - 1) last segments plus already constructed - * blocks in this segment - * Other lanes : (SYNC_POINTS - 1) last segments - */ - uint32_t reference_area_size; - uint64_t relative_position; - uint32_t start_position, absolute_position; - - if (position->pass == 0) { - /* First pass */ - if (position->slice == 0) { - /* First slice */ - reference_area_size = - position->index - 1; /* all but the previous */ - } else { - if (same_lane) { - /* The same lane => add current segment */ - reference_area_size = - position->slice * instance->segment_length + - position->index - 1; - } else { - reference_area_size = - position->slice * instance->segment_length + - ((position->index == 0) ? (-1) : 0); - } - } - } else { - /* Second pass */ - if (same_lane) { - reference_area_size = instance->lane_length - - instance->segment_length + position->index - - 1; - } else { - reference_area_size = instance->lane_length - - instance->segment_length + - ((position->index == 0) ? (-1) : 0); - } - } - - /* 1.2.4. Mapping pseudo_rand to 0.. and produce - * relative position */ - relative_position = pseudo_rand; - relative_position = relative_position * relative_position >> 32; - relative_position = reference_area_size - 1 - - (reference_area_size * relative_position >> 32); - - /* 1.2.5 Computing starting position */ - start_position = 0; - - if (position->pass != 0) { - start_position = (position->slice == ARGON2_SYNC_POINTS - 1) - ? 0 - : (position->slice + 1) * instance->segment_length; - } - - /* 1.2.6. Computing absolute position */ - absolute_position = (start_position + relative_position) % - instance->lane_length; /* absolute position */ - return absolute_position; -} - -int -fill_memory_blocks(argon2_instance_t *instance) -{ - int result; - uint32_t r, s; - - if (instance == NULL || instance->lanes == 0) { - return ARGON2_OK; /* LCOV_EXCL_LINE */ - } - - for (r = 0; r < instance->passes; ++r) { - for (s = 0; s < ARGON2_SYNC_POINTS; ++s) { - uint32_t l; - - for (l = 0; l < instance->lanes; ++l) { - argon2_position_t position; - - position.pass = r; - position.lane = l; - position.slice = (uint8_t) s; - position.index = 0; - result = fill_segment(instance, position); - if (ARGON2_OK != result) { - return result; /* LCOV_EXCL_LINE */ - } - } - } - } - return ARGON2_OK; -} - -int -validate_inputs(const argon2_context *context) -{ - /* LCOV_EXCL_START */ - if (NULL == context) { - return ARGON2_INCORRECT_PARAMETER; - } - - if (NULL == context->out) { - return ARGON2_OUTPUT_PTR_NULL; - } - - /* Validate output length */ - if (ARGON2_MIN_OUTLEN > context->outlen) { - return ARGON2_OUTPUT_TOO_SHORT; - } - - if (ARGON2_MAX_OUTLEN < context->outlen) { - return ARGON2_OUTPUT_TOO_LONG; - } - - /* Validate password (required param) */ - if (NULL == context->pwd) { - if (0 != context->pwdlen) { - return ARGON2_PWD_PTR_MISMATCH; - } - } - - if (ARGON2_MIN_PWD_LENGTH > context->pwdlen) { - return ARGON2_PWD_TOO_SHORT; - } - - if (ARGON2_MAX_PWD_LENGTH < context->pwdlen) { - return ARGON2_PWD_TOO_LONG; - } - - /* Validate salt (required param) */ - if (NULL == context->salt) { - if (0 != context->saltlen) { - return ARGON2_SALT_PTR_MISMATCH; - } - } - - if (ARGON2_MIN_SALT_LENGTH > context->saltlen) { - return ARGON2_SALT_TOO_SHORT; - } - - if (ARGON2_MAX_SALT_LENGTH < context->saltlen) { - return ARGON2_SALT_TOO_LONG; - } - - /* Validate secret (optional param) */ - if (NULL == context->secret) { - if (0 != context->secretlen) { - return ARGON2_SECRET_PTR_MISMATCH; - } - } else { - if (ARGON2_MIN_SECRET > context->secretlen) { - return ARGON2_SECRET_TOO_SHORT; - } - - if (ARGON2_MAX_SECRET < context->secretlen) { - return ARGON2_SECRET_TOO_LONG; - } - } - - /* Validate associated data (optional param) */ - if (NULL == context->ad) { - if (0 != context->adlen) { - return ARGON2_AD_PTR_MISMATCH; - } - } else { - if (ARGON2_MIN_AD_LENGTH > context->adlen) { - return ARGON2_AD_TOO_SHORT; - } - - if (ARGON2_MAX_AD_LENGTH < context->adlen) { - return ARGON2_AD_TOO_LONG; - } - } - - /* Validate memory cost */ - if (ARGON2_MIN_MEMORY > context->m_cost) { - return ARGON2_MEMORY_TOO_LITTLE; - } - - if (ARGON2_MAX_MEMORY < context->m_cost) { - return ARGON2_MEMORY_TOO_MUCH; - } - - if (context->m_cost < 8 * context->lanes) { - return ARGON2_MEMORY_TOO_LITTLE; - } - - /* Validate time cost */ - if (ARGON2_MIN_TIME > context->t_cost) { - return ARGON2_TIME_TOO_SMALL; - } - - if (ARGON2_MAX_TIME < context->t_cost) { - return ARGON2_TIME_TOO_LARGE; - } - - /* Validate lanes */ - if (ARGON2_MIN_LANES > context->lanes) { - return ARGON2_LANES_TOO_FEW; - } - - if (ARGON2_MAX_LANES < context->lanes) { - return ARGON2_LANES_TOO_MANY; - } - - /* Validate threads */ - if (ARGON2_MIN_THREADS > context->threads) { - return ARGON2_THREADS_TOO_FEW; - } - - if (ARGON2_MAX_THREADS < context->threads) { - return ARGON2_THREADS_TOO_MANY; - } - /* LCOV_EXCL_STOP */ - - return ARGON2_OK; -} - -void -fill_first_blocks(uint8_t *blockhash, const argon2_instance_t *instance) -{ - uint32_t l; - /* Make the first and second block in each lane as G(H0||i||0) or - G(H0||i||1) */ - uint8_t blockhash_bytes[ARGON2_BLOCK_SIZE]; - for (l = 0; l < instance->lanes; ++l) { - STORE32_LE(blockhash + ARGON2_PREHASH_DIGEST_LENGTH, 0); - STORE32_LE(blockhash + ARGON2_PREHASH_DIGEST_LENGTH + 4, l); - blake2b_long(blockhash_bytes, ARGON2_BLOCK_SIZE, blockhash, - ARGON2_PREHASH_SEED_LENGTH); - load_block(&instance->region->memory[l * instance->lane_length + 0], - blockhash_bytes); - - STORE32_LE(blockhash + ARGON2_PREHASH_DIGEST_LENGTH, 1); - blake2b_long(blockhash_bytes, ARGON2_BLOCK_SIZE, blockhash, - ARGON2_PREHASH_SEED_LENGTH); - load_block(&instance->region->memory[l * instance->lane_length + 1], - blockhash_bytes); - } - sodium_memzero(blockhash_bytes, ARGON2_BLOCK_SIZE); -} - -void -initial_hash(uint8_t *blockhash, argon2_context *context, argon2_type type) -{ - crypto_generichash_blake2b_state BlakeHash; - uint8_t value[4U /* sizeof(uint32_t) */]; - - if (NULL == context || NULL == blockhash) { - return; /* LCOV_EXCL_LINE */ - } - - crypto_generichash_blake2b_init(&BlakeHash, NULL, 0U, - ARGON2_PREHASH_DIGEST_LENGTH); - - STORE32_LE(value, context->lanes); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - STORE32_LE(value, context->outlen); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - STORE32_LE(value, context->m_cost); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - STORE32_LE(value, context->t_cost); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - STORE32_LE(value, ARGON2_VERSION_NUMBER); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - STORE32_LE(value, (uint32_t) type); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - STORE32_LE(value, context->pwdlen); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - if (context->pwd != NULL) { - crypto_generichash_blake2b_update( - &BlakeHash, (const uint8_t *) context->pwd, context->pwdlen); - - if (context->flags & ARGON2_FLAG_CLEAR_PASSWORD) { - sodium_memzero(context->pwd, context->pwdlen); /* LCOV_EXCL_LINE */ - context->pwdlen = 0; /* LCOV_EXCL_LINE */ - } - } - - STORE32_LE(value, context->saltlen); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - if (context->salt != NULL) { - crypto_generichash_blake2b_update( - &BlakeHash, (const uint8_t *) context->salt, context->saltlen); - } - - STORE32_LE(value, context->secretlen); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - if (context->secret != NULL) { - /* LCOV_EXCL_START */ - crypto_generichash_blake2b_update( - &BlakeHash, (const uint8_t *) context->secret, context->secretlen); - - if (context->flags & ARGON2_FLAG_CLEAR_SECRET) { - sodium_memzero(context->secret, context->secretlen); - context->secretlen = 0; - } - /* LCOV_EXCL_STOP */ - } - - STORE32_LE(value, context->adlen); - crypto_generichash_blake2b_update(&BlakeHash, value, sizeof(value)); - - if (context->ad != NULL) { - /* LCOV_EXCL_START */ - crypto_generichash_blake2b_update( - &BlakeHash, (const uint8_t *) context->ad, context->adlen); - /* LCOV_EXCL_STOP */ - } - - crypto_generichash_blake2b_final(&BlakeHash, blockhash, - ARGON2_PREHASH_DIGEST_LENGTH); -} - -int -initialize(argon2_instance_t *instance, argon2_context *context) -{ - uint8_t blockhash[ARGON2_PREHASH_SEED_LENGTH]; - int result = ARGON2_OK; - - if (instance == NULL || context == NULL) - return ARGON2_INCORRECT_PARAMETER; - - /* 1. Memory allocation */ - - result = allocate_memory(&(instance->region), instance->memory_blocks); - if (ARGON2_OK != result) { - return result; - } - - /* 2. Initial hashing */ - /* H_0 + 8 extra bytes to produce the first blocks */ - /* uint8_t blockhash[ARGON2_PREHASH_SEED_LENGTH]; */ - /* Hashing all inputs */ - initial_hash(blockhash, context, instance->type); - /* Zeroing 8 extra bytes */ - sodium_memzero(blockhash + ARGON2_PREHASH_DIGEST_LENGTH, - ARGON2_PREHASH_SEED_LENGTH - ARGON2_PREHASH_DIGEST_LENGTH); - - /* 3. Creating first blocks, we always have at least two blocks in a slice - */ - fill_first_blocks(blockhash, instance); - /* Clearing the hash */ - sodium_memzero(blockhash, ARGON2_PREHASH_SEED_LENGTH); - - return ARGON2_OK; -} - -int -argon2_pick_best_implementation(void) -{ -/* LCOV_EXCL_START */ -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) - if (sodium_runtime_has_ssse3()) { - fill_segment = fill_segment_ssse3; - return 0; - } -#endif - fill_segment = fill_segment_ref; - - return 0; - /* LCOV_EXCL_STOP */ -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.h deleted file mode 100755 index 5f823989e..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.h +++ /dev/null @@ -1,200 +0,0 @@ -/* - * Argon2 source code package - * - * Written by Daniel Dinu and Dmitry Khovratovich, 2015 - * - * This work is licensed under a Creative Commons CC0 1.0 License/Waiver. - * - * You should have received a copy of the CC0 Public Domain Dedication along - * with - * this software. If not, see - * . - */ - -#ifndef argon2_core_H -#define argon2_core_H - -#include "argon2.h" - -/*************************Argon2 internal - * constants**************************************************/ - -enum argon2_ctx_constants { - /* Version of the algorithm */ - ARGON2_VERSION_NUMBER = 0x13, - - /* Memory block size in bytes */ - ARGON2_BLOCK_SIZE = 1024, - ARGON2_QWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 8, - ARGON2_OWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 16, - - /* Number of pseudo-random values generated by one call to Blake in Argon2i - to - generate reference block positions */ - ARGON2_ADDRESSES_IN_BLOCK = 128, - - /* Pre-hashing digest length and its extension*/ - ARGON2_PREHASH_DIGEST_LENGTH = 64, - ARGON2_PREHASH_SEED_LENGTH = 72 -}; - -/*************************Argon2 internal data - * types**************************************************/ - -/* - * Structure for the (1KB) memory block implemented as 128 64-bit words. - * Memory blocks can be copied, XORed. Internal words can be accessed by [] (no - * bounds checking). - */ -typedef struct block_ { - uint64_t v[ARGON2_QWORDS_IN_BLOCK]; -} block; - -typedef struct block_region_ { - void * base; - block *memory; - size_t size; -} block_region; - -/*****************Functions that work with the block******************/ - -/* Initialize each byte of the block with @in */ -void init_block_value(block *b, uint8_t in); - -/* Copy block @src to block @dst */ -void copy_block(block *dst, const block *src); - -/* XOR @src onto @dst bytewise */ -void xor_block(block *dst, const block *src); - -/* - * Argon2 instance: memory pointer, number of passes, amount of memory, type, - * and derived values. - * Used to evaluate the number and location of blocks to construct in each - * thread - */ -typedef struct Argon2_instance_t { - block_region *region; /* Memory region pointer */ - uint32_t passes; /* Number of passes */ - uint32_t memory_blocks; /* Number of blocks in memory */ - uint32_t segment_length; - uint32_t lane_length; - uint32_t lanes; - uint32_t threads; - argon2_type type; - int print_internals; /* whether to print the memory blocks */ -} argon2_instance_t; - -/* - * Argon2 position: where we construct the block right now. Used to distribute - * work between threads. - */ -typedef struct Argon2_position_t { - uint32_t pass; - uint32_t lane; - uint8_t slice; - uint32_t index; -} argon2_position_t; - -/*Struct that holds the inputs for thread handling FillSegment*/ -typedef struct Argon2_thread_data { - argon2_instance_t *instance_ptr; - argon2_position_t pos; -} argon2_thread_data; - -/*************************Argon2 core - * functions**************************************************/ - -/* - * Computes absolute position of reference block in the lane following a skewed - * distribution and using a pseudo-random value as input - * @param instance Pointer to the current instance - * @param position Pointer to the current position - * @param pseudo_rand 32-bit pseudo-random value used to determine the position - * @param same_lane Indicates if the block will be taken from the current lane. - * If so we can reference the current segment - * @pre All pointers must be valid - */ -uint32_t index_alpha(const argon2_instance_t *instance, - const argon2_position_t *position, uint32_t pseudo_rand, - int same_lane); - -/* - * Function that validates all inputs against predefined restrictions and return - * an error code - * @param context Pointer to current Argon2 context - * @return ARGON2_OK if everything is all right, otherwise one of error codes - * (all defined in - */ -int validate_inputs(const argon2_context *context); - -/* - * Hashes all the inputs into @a blockhash[PREHASH_DIGEST_LENGTH], clears - * password and secret if needed - * @param context Pointer to the Argon2 internal structure containing memory - * pointer, and parameters for time and space requirements. - * @param blockhash Buffer for pre-hashing digest - * @param type Argon2 type - * @pre @a blockhash must have at least @a PREHASH_DIGEST_LENGTH bytes - * allocated - */ -void initial_hash(uint8_t *blockhash, argon2_context *context, - argon2_type type); - -/* - * Function creates first 2 blocks per lane - * @param instance Pointer to the current instance - * @param blockhash Pointer to the pre-hashing digest - * @pre blockhash must point to @a PREHASH_SEED_LENGTH allocated values - */ -void fill_first_blocks(uint8_t *blockhash, const argon2_instance_t *instance); - -/* - * Function allocates memory, hashes the inputs with Blake, and creates first - * two blocks. Returns the pointer to the main memory with 2 blocks per lane - * initialized - * @param context Pointer to the Argon2 internal structure containing memory - * pointer, and parameters for time and space requirements. - * @param instance Current Argon2 instance - * @return Zero if successful, -1 if memory failed to allocate. @context->state - * will be modified if successful. - */ -int initialize(argon2_instance_t *instance, argon2_context *context); - -/* - * XORing the last block of each lane, hashing it, making the tag. Deallocates - * the memory. - * @param context Pointer to current Argon2 context (use only the out parameters - * from it) - * @param instance Pointer to current instance of Argon2 - * @pre instance->state must point to necessary amount of memory - * @pre context->out must point to outlen bytes of memory - * @pre if context->free_cbk is not NULL, it should point to a function that - * deallocates memory - */ -void finalize(const argon2_context *context, argon2_instance_t *instance); - -/* - * Function that fills the segment using previous segments also from other - * threads - * @param instance Pointer to the current instance - * @param position Current position - * @pre all block pointers must be valid - */ -typedef int (*fill_segment_fn)(const argon2_instance_t *instance, - argon2_position_t position); -int argon2_pick_best_implementation(void); -int fill_segment_ssse3(const argon2_instance_t *instance, - argon2_position_t position); -int fill_segment_ref(const argon2_instance_t *instance, - argon2_position_t position); - -/* - * Function that fills the entire memory t_cost times based on the first two - * blocks in each lane - * @param instance Pointer to the current instance - * @return Zero if successful, -1 if memory failed to allocate - */ -int fill_memory_blocks(argon2_instance_t *instance); - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-encoding.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-encoding.c deleted file mode 100755 index 980672228..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-encoding.c +++ /dev/null @@ -1,449 +0,0 @@ -#include "argon2-encoding.h" -#include "argon2-core.h" -#include -#include -#include -#include - -/* - * Example code for a decoder and encoder of "hash strings", with Argon2 - * parameters. - * - * This code comprises three sections: - * - * -- The first section contains generic Base64 encoding and decoding - * functions. It is conceptually applicable to any hash function - * implementation that uses Base64 to encode and decode parameters, - * salts and outputs. It could be made into a library, provided that - * the relevant functions are made public (non-static) and be given - * reasonable names to avoid collisions with other functions. - * - * -- The second section is specific to Argon2. It encodes and decodes - * the parameters, salts and outputs. It does not compute the hash - * itself. - * - * The code was originally written by Thomas Pornin , - * to whom comments and remarks may be sent. It is released under what - * should amount to Public Domain or its closest equivalent; the - * following mantra is supposed to incarnate that fact with all the - * proper legal rituals: - * - * --------------------------------------------------------------------- - * This file is provided under the terms of Creative Commons CC0 1.0 - * Public Domain Dedication. To the extent possible under law, the - * author (Thomas Pornin) has waived all copyright and related or - * neighboring rights to this file. This work is published from: Canada. - * --------------------------------------------------------------------- - * - * Copyright (c) 2015 Thomas Pornin - */ - -/* ==================================================================== */ -/* - * Common code; could be shared between different hash functions. - * - * Note: the Base64 functions below assume that uppercase letters (resp. - * lowercase letters) have consecutive numerical codes, that fit on 8 - * bits. All modern systems use ASCII-compatible charsets, where these - * properties are true. If you are stuck with a dinosaur of a system - * that still defaults to EBCDIC then you already have much bigger - * interoperability issues to deal with. - */ - -/* - * Some macros for constant-time comparisons. These work over values in - * the 0..255 range. Returned value is 0x00 on "false", 0xFF on "true". - */ -#define EQ(x, y) \ - ((((0U - ((unsigned) (x) ^ (unsigned) (y))) >> 8) & 0xFF) ^ 0xFF) -#define GT(x, y) ((((unsigned) (y) - (unsigned) (x)) >> 8) & 0xFF) -#define GE(x, y) (GT(y, x) ^ 0xFF) -#define LT(x, y) GT(y, x) -#define LE(x, y) GE(y, x) - -/* - * Convert value x (0..63) to corresponding Base64 character. - */ -static int -b64_byte_to_char(unsigned x) -{ - return (LT(x, 26) & (x + 'A')) | - (GE(x, 26) & LT(x, 52) & (x + ('a' - 26))) | - (GE(x, 52) & LT(x, 62) & (x + ('0' - 52))) | (EQ(x, 62) & '+') | - (EQ(x, 63) & '/'); -} - -/* - * Convert character c to the corresponding 6-bit value. If character c - * is not a Base64 character, then 0xFF (255) is returned. - */ -static unsigned -b64_char_to_byte(int c) -{ - unsigned x; - - x = (GE(c, 'A') & LE(c, 'Z') & (c - 'A')) | - (GE(c, 'a') & LE(c, 'z') & (c - ('a' - 26))) | - (GE(c, '0') & LE(c, '9') & (c - ('0' - 52))) | (EQ(c, '+') & 62) | - (EQ(c, '/') & 63); - return x | (EQ(x, 0) & (EQ(c, 'A') ^ 0xFF)); -} - -/* - * Convert some bytes to Base64. 'dst_len' is the length (in characters) - * of the output buffer 'dst'; if that buffer is not large enough to - * receive the result (including the terminating 0), then (size_t)-1 - * is returned. Otherwise, the zero-terminated Base64 string is written - * in the buffer, and the output length (counted WITHOUT the terminating - * zero) is returned. - */ -static size_t -to_base64(char *dst, size_t dst_len, const void *src, size_t src_len) -{ - size_t olen; - const unsigned char *buf; - unsigned acc, acc_len; - - olen = (src_len / 3) << 2; - switch (src_len % 3) { - case 2: - olen++; - /* fall through */ - case 1: - olen += 2; - break; - } - if (dst_len <= olen) { - return (size_t) -1; - } - acc = 0; - acc_len = 0; - buf = (const unsigned char *) src; - while (src_len-- > 0) { - acc = (acc << 8) + (*buf++); - acc_len += 8; - while (acc_len >= 6) { - acc_len -= 6; - *dst++ = (char) b64_byte_to_char((acc >> acc_len) & 0x3F); - } - } - if (acc_len > 0) { - *dst++ = (char) b64_byte_to_char((acc << (6 - acc_len)) & 0x3F); - } - *dst++ = 0; - return olen; -} - -/* - * Decode Base64 chars into bytes. The '*dst_len' value must initially - * contain the length of the output buffer '*dst'; when the decoding - * ends, the actual number of decoded bytes is written back in - * '*dst_len'. - * - * Decoding stops when a non-Base64 character is encountered, or when - * the output buffer capacity is exceeded. If an error occurred (output - * buffer is too small, invalid last characters leading to unprocessed - * buffered bits), then NULL is returned; otherwise, the returned value - * points to the first non-Base64 character in the source stream, which - * may be the terminating zero. - */ -static const char * -from_base64(void *dst, size_t *dst_len, const char *src) -{ - size_t len; - unsigned char *buf; - unsigned acc, acc_len; - - buf = (unsigned char *) dst; - len = 0; - acc = 0; - acc_len = 0; - for (;;) { - unsigned d; - - d = b64_char_to_byte(*src); - if (d == 0xFF) { - break; - } - src++; - acc = (acc << 6) + d; - acc_len += 6; - if (acc_len >= 8) { - acc_len -= 8; - if ((len++) >= *dst_len) { - return NULL; - } - *buf++ = (acc >> acc_len) & 0xFF; - } - } - - /* - * If the input length is equal to 1 modulo 4 (which is - * invalid), then there will remain 6 unprocessed bits; - * otherwise, only 0, 2 or 4 bits are buffered. The buffered - * bits must also all be zero. - */ - if (acc_len > 4 || (acc & ((1U << acc_len) - 1)) != 0) { - return NULL; - } - *dst_len = len; - return src; -} - -/* - * Decode decimal integer from 'str'; the value is written in '*v'. - * Returned value is a pointer to the next non-decimal character in the - * string. If there is no digit at all, or the value encoding is not - * minimal (extra leading zeros), or the value does not fit in an - * 'unsigned long', then NULL is returned. - */ -static const char * -decode_decimal(const char *str, unsigned long *v) -{ - const char * orig; - unsigned long acc; - - acc = 0; - for (orig = str;; str++) { - int c; - - c = *str; - if (c < '0' || c > '9') { - break; - } - c -= '0'; - if (acc > (ULONG_MAX / 10)) { - return NULL; - } - acc *= 10; - if ((unsigned long) c > (ULONG_MAX - acc)) { - return NULL; - } - acc += (unsigned long) c; - } - if (str == orig || (*orig == '0' && str != (orig + 1))) { - return NULL; - } - *v = acc; - return str; -} - -/* ==================================================================== */ -/* - * Code specific to Argon2. - * - * The code below applies the following format: - * - * $argon2[$v=]$m=,t=,p=$$ - * - * where is either 'i', is a decimal integer (positive, fits in an - * 'unsigned long') and is Base64-encoded data (no '=' padding characters, - * no newline or whitespace). - * - * The last two binary chunks (encoded in Base64) are, in that order, - * the salt and the output. Both are required. The binary salt length and the - * output length must be in the allowed ranges defined in argon2.h. - * - * The ctx struct must contain buffers large enough to hold the salt and pwd - * when it is fed into decode_string. - */ - -/* - * Decode an Argon2i hash string into the provided structure 'ctx'. - * Returned value is ARGON2_OK on success. - */ -int -decode_string(argon2_context *ctx, const char *str, argon2_type type) -{ -/* Prefix checking */ -#define CC(prefix) \ - do { \ - size_t cc_len = strlen(prefix); \ - if (strncmp(str, prefix, cc_len) != 0) { \ - return ARGON2_DECODING_FAIL; \ - } \ - str += cc_len; \ - } while ((void) 0, 0) - -/* Optional prefix checking with supplied code */ -#define CC_opt(prefix, code) \ - do { \ - size_t cc_len = strlen(prefix); \ - if (strncmp(str, prefix, cc_len) == 0) { \ - str += cc_len; \ - { \ - code; \ - } \ - } \ - } while ((void) 0, 0) - -/* Decoding prefix into decimal */ -#define DECIMAL(x) \ - do { \ - unsigned long dec_x; \ - str = decode_decimal(str, &dec_x); \ - if (str == NULL) { \ - return ARGON2_DECODING_FAIL; \ - } \ - (x) = dec_x; \ - } while ((void) 0, 0) - -/* Decoding base64 into a binary buffer */ -#define BIN(buf, max_len, len) \ - do { \ - size_t bin_len = (max_len); \ - str = from_base64(buf, &bin_len, str); \ - if (str == NULL || bin_len > UINT32_MAX) { \ - return ARGON2_DECODING_FAIL; \ - } \ - (len) = (uint32_t) bin_len; \ - } while ((void) 0, 0) - - size_t maxsaltlen = ctx->saltlen; - size_t maxoutlen = ctx->outlen; - unsigned long val; - unsigned long version = 0; - int validation_result; - - ctx->saltlen = 0; - ctx->outlen = 0; - - if (type == Argon2_i) { - CC("$argon2i"); - } else { - return ARGON2_INCORRECT_TYPE; - } - CC("$v="); - DECIMAL(version); - if (version != ARGON2_VERSION_NUMBER) { - return ARGON2_INCORRECT_TYPE; - } - CC("$m="); - DECIMAL(val); - if (val > UINT32_MAX) { - return ARGON2_INCORRECT_TYPE; - } - ctx->m_cost = (uint32_t) val; - CC(",t="); - DECIMAL(val); - if (val > UINT32_MAX) { - return ARGON2_INCORRECT_TYPE; - } - ctx->t_cost = (uint32_t) val; - CC(",p="); - DECIMAL(val); - if (val > UINT32_MAX) { - return ARGON2_INCORRECT_TYPE; - } - ctx->lanes = (uint32_t) val; - ctx->threads = ctx->lanes; - - CC("$"); - BIN(ctx->salt, maxsaltlen, ctx->saltlen); - CC("$"); - BIN(ctx->out, maxoutlen, ctx->outlen); - validation_result = validate_inputs(ctx); - if (validation_result != ARGON2_OK) { - return validation_result; - } - if (*str == 0) { - return ARGON2_OK; - } - return ARGON2_DECODING_FAIL; - -#undef CC -#undef CC_opt -#undef DECIMAL -#undef BIN -} - -#define U32_STR_MAXSIZE 11U - -static void -u32_to_string(char *str, uint32_t x) -{ - char tmp[U32_STR_MAXSIZE - 1U]; - size_t i; - - i = sizeof tmp; - do { - tmp[--i] = (x % (uint32_t) 10U) + '0'; - x /= (uint32_t) 10U; - } while (x != 0U && i != 0U); - memcpy(str, &tmp[i], (sizeof tmp) - i); - str[(sizeof tmp) - i] = 0; -} - -/* - * Encode an argon2i hash string into the provided buffer. 'dst_len' - * contains the size, in characters, of the 'dst' buffer; if 'dst_len' - * is less than the number of required characters (including the - * terminating 0), then this function returns 0. - * - * If pp->output_len is 0, then the hash string will be a salt string - * (no output). if pp->salt_len is also 0, then the string will be a - * parameter-only string (no salt and no output). - * - * On success, ARGON2_OK is returned. - */ -int -encode_string(char *dst, size_t dst_len, argon2_context *ctx, argon2_type type) -{ -#define SS(str) \ - do { \ - size_t pp_len = strlen(str); \ - if (pp_len >= dst_len) { \ - return ARGON2_ENCODING_FAIL; \ - } \ - memcpy(dst, str, pp_len + 1); \ - dst += pp_len; \ - dst_len -= pp_len; \ - } while ((void) 0, 0) - -#define SX(x) \ - do { \ - char tmp[U32_STR_MAXSIZE]; \ - u32_to_string(tmp, x); \ - SS(tmp); \ - } while ((void) 0, 0) - -#define SB(buf, len) \ - do { \ - size_t sb_len = to_base64(dst, dst_len, buf, len); \ - if (sb_len == (size_t) -1) { \ - return ARGON2_ENCODING_FAIL; \ - } \ - dst += sb_len; \ - dst_len -= sb_len; \ - } while ((void) 0, 0) - - int validation_result; - - if (type == Argon2_i) { - SS("$argon2i$v="); - } else { - return ARGON2_ENCODING_FAIL; - } - validation_result = validate_inputs(ctx); - if (validation_result != ARGON2_OK) { - return validation_result; - } - SX(ARGON2_VERSION_NUMBER); - SS("$m="); - SX(ctx->m_cost); - SS(",t="); - SX(ctx->t_cost); - SS(",p="); - SX(ctx->lanes); - - SS("$"); - SB(ctx->salt, ctx->saltlen); - - SS("$"); - SB(ctx->out, ctx->outlen); - return ARGON2_OK; - -#undef SS -#undef SX -#undef SB -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-encoding.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-encoding.h deleted file mode 100755 index e929b31dc..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-encoding.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef argon2_encoding_H -#define argon2_encoding_H - -#include "argon2.h" - -/* - * encode an Argon2 hash string into the provided buffer. 'dst_len' - * contains the size, in characters, of the 'dst' buffer; if 'dst_len' - * is less than the number of required characters (including the - * terminating 0), then this function returns 0. - * - * if ctx->outlen is 0, then the hash string will be a salt string - * (no output). if ctx->saltlen is also 0, then the string will be a - * parameter-only string (no salt and no output). - * - * On success, ARGON2_OK is returned. - * - * No other parameters are checked - */ -int encode_string(char *dst, size_t dst_len, argon2_context *ctx, - argon2_type type); - -/* - * Decodes an Argon2 hash string into the provided structure 'ctx'. - * The fields ctx.saltlen, ctx.adlen, ctx.outlen set the maximal salt, ad, out - * length values - * that are allowed; invalid input string causes an error - * - * Returned value is ARGON2_OK on success. - */ -int decode_string(argon2_context *ctx, const char *str, argon2_type type); - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c deleted file mode 100755 index dcee410bc..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c +++ /dev/null @@ -1,237 +0,0 @@ -/* - * Argon2 source code package - * - * Written by Daniel Dinu and Dmitry Khovratovich, 2015 - * - * This work is licensed under a Creative Commons CC0 1.0 License/Waiver. - * - * You should have received a copy of the CC0 Public Domain Dedication along - * with - * this software. If not, see - * . - */ - -#include -#include -#include - -#include "argon2-core.h" -#include "argon2.h" -#include "blamka-round-ref.h" -#include "private/common.h" - -static void -fill_block(const block *prev_block, const block *ref_block, block *next_block) -{ - block blockR, block_tmp; - unsigned i; - - copy_block(&blockR, ref_block); - xor_block(&blockR, prev_block); - copy_block(&block_tmp, &blockR); - /* Now blockR = ref_block + prev_block and bloc_tmp = ref_block + prev_block - Apply Blake2 on columns of 64-bit words: (0,1,...,15), then - (16,17,..31)... finally (112,113,...127) */ - for (i = 0; i < 8; ++i) { - BLAKE2_ROUND_NOMSG( - blockR.v[16 * i], blockR.v[16 * i + 1], blockR.v[16 * i + 2], - blockR.v[16 * i + 3], blockR.v[16 * i + 4], blockR.v[16 * i + 5], - blockR.v[16 * i + 6], blockR.v[16 * i + 7], blockR.v[16 * i + 8], - blockR.v[16 * i + 9], blockR.v[16 * i + 10], blockR.v[16 * i + 11], - blockR.v[16 * i + 12], blockR.v[16 * i + 13], blockR.v[16 * i + 14], - blockR.v[16 * i + 15]); - } - - /* Apply Blake2 on rows of 64-bit words: (0,1,16,17,...112,113), then - (2,3,18,19,...,114,115).. finally (14,15,30,31,...,126,127) */ - for (i = 0; i < 8; i++) { - BLAKE2_ROUND_NOMSG( - blockR.v[2 * i], blockR.v[2 * i + 1], blockR.v[2 * i + 16], - blockR.v[2 * i + 17], blockR.v[2 * i + 32], blockR.v[2 * i + 33], - blockR.v[2 * i + 48], blockR.v[2 * i + 49], blockR.v[2 * i + 64], - blockR.v[2 * i + 65], blockR.v[2 * i + 80], blockR.v[2 * i + 81], - blockR.v[2 * i + 96], blockR.v[2 * i + 97], blockR.v[2 * i + 112], - blockR.v[2 * i + 113]); - } - - copy_block(next_block, &block_tmp); - xor_block(next_block, &blockR); -} - -static void -fill_block_with_xor(const block *prev_block, const block *ref_block, - block *next_block) -{ - block blockR, block_tmp; - unsigned i; - - copy_block(&blockR, ref_block); - xor_block(&blockR, prev_block); - copy_block(&block_tmp, &blockR); - xor_block(&block_tmp, - next_block); /* Saving the next block contents for XOR over */ - /* Now blockR = ref_block + prev_block and bloc_tmp = ref_block + prev_block - * + next_block */ - /* Apply Blake2 on columns of 64-bit words: (0,1,...,15) , then - (16,17,..31)... finally (112,113,...127) */ - for (i = 0; i < 8; ++i) { - BLAKE2_ROUND_NOMSG( - blockR.v[16 * i], blockR.v[16 * i + 1], blockR.v[16 * i + 2], - blockR.v[16 * i + 3], blockR.v[16 * i + 4], blockR.v[16 * i + 5], - blockR.v[16 * i + 6], blockR.v[16 * i + 7], blockR.v[16 * i + 8], - blockR.v[16 * i + 9], blockR.v[16 * i + 10], blockR.v[16 * i + 11], - blockR.v[16 * i + 12], blockR.v[16 * i + 13], blockR.v[16 * i + 14], - blockR.v[16 * i + 15]); - } - - /* Apply Blake2 on rows of 64-bit words: (0,1,16,17,...112,113), then - (2,3,18,19,...,114,115).. finally (14,15,30,31,...,126,127) */ - for (i = 0; i < 8; i++) { - BLAKE2_ROUND_NOMSG( - blockR.v[2 * i], blockR.v[2 * i + 1], blockR.v[2 * i + 16], - blockR.v[2 * i + 17], blockR.v[2 * i + 32], blockR.v[2 * i + 33], - blockR.v[2 * i + 48], blockR.v[2 * i + 49], blockR.v[2 * i + 64], - blockR.v[2 * i + 65], blockR.v[2 * i + 80], blockR.v[2 * i + 81], - blockR.v[2 * i + 96], blockR.v[2 * i + 97], blockR.v[2 * i + 112], - blockR.v[2 * i + 113]); - } - - copy_block(next_block, &block_tmp); - xor_block(next_block, &blockR); -} - -/* - * Generate pseudo-random values to reference blocks in the segment and puts - * them into the array - * @param instance Pointer to the current instance - * @param position Pointer to the current position - * @param pseudo_rands Pointer to the array of 64-bit values - * @pre pseudo_rands must point to @a instance->segment_length allocated values - */ -static void -generate_addresses(const argon2_instance_t *instance, - const argon2_position_t *position, uint64_t *pseudo_rands) -{ - block zero_block, input_block, address_block, tmp_block; - uint32_t i; - - init_block_value(&zero_block, 0); - init_block_value(&input_block, 0); - - if (instance != NULL && position != NULL) { - input_block.v[0] = position->pass; - input_block.v[1] = position->lane; - input_block.v[2] = position->slice; - input_block.v[3] = instance->memory_blocks; - input_block.v[4] = instance->passes; - input_block.v[5] = instance->type; - - for (i = 0; i < instance->segment_length; ++i) { - if (i % ARGON2_ADDRESSES_IN_BLOCK == 0) { - input_block.v[6]++; - init_block_value(&tmp_block, 0); - init_block_value(&address_block, 0); - fill_block_with_xor(&zero_block, &input_block, &tmp_block); - fill_block_with_xor(&zero_block, &tmp_block, &address_block); - } - - pseudo_rands[i] = address_block.v[i % ARGON2_ADDRESSES_IN_BLOCK]; - } - } -} - -int -fill_segment_ref(const argon2_instance_t *instance, argon2_position_t position) -{ - block * ref_block = NULL, *curr_block = NULL; - uint64_t pseudo_rand, ref_index, ref_lane; - uint32_t prev_offset, curr_offset; - uint32_t starting_index; - uint32_t i; - const int data_independent_addressing = 1; /* instance->type == Argon2_i */ - /* Pseudo-random values that determine the reference block position */ - uint64_t *pseudo_rands = NULL; - - if (instance == NULL) { - return ARGON2_OK; - } - - pseudo_rands = - (uint64_t *) malloc(sizeof(uint64_t) * (instance->segment_length)); - - if (pseudo_rands == NULL) { - return ARGON2_MEMORY_ALLOCATION_ERROR; - } - - if (data_independent_addressing) { - generate_addresses(instance, &position, pseudo_rands); - } - - starting_index = 0; - - if ((0 == position.pass) && (0 == position.slice)) { - starting_index = 2; /* we have already generated the first two blocks */ - } - - /* Offset of the current block */ - curr_offset = position.lane * instance->lane_length + - position.slice * instance->segment_length + starting_index; - - if (0 == curr_offset % instance->lane_length) { - /* Last block in this lane */ - prev_offset = curr_offset + instance->lane_length - 1; - } else { - /* Previous block */ - prev_offset = curr_offset - 1; - } - - for (i = starting_index; i < instance->segment_length; - ++i, ++curr_offset, ++prev_offset) { - /*1.1 Rotating prev_offset if needed */ - if (curr_offset % instance->lane_length == 1) { - prev_offset = curr_offset - 1; - } - - /* 1.2 Computing the index of the reference block */ - /* 1.2.1 Taking pseudo-random value from the previous block */ - if (data_independent_addressing) { -#pragma warning(push) -#pragma warning(disable : 6385) - pseudo_rand = pseudo_rands[i]; -#pragma warning(pop) - } else { - pseudo_rand = instance->region->memory[prev_offset].v[0]; - } - - /* 1.2.2 Computing the lane of the reference block */ - ref_lane = ((pseudo_rand >> 32)) % instance->lanes; - - if ((position.pass == 0) && (position.slice == 0)) { - /* Can not reference other lanes yet */ - ref_lane = position.lane; - } - - /* 1.2.3 Computing the number of possible reference block within the - * lane. - */ - position.index = i; - ref_index = index_alpha(instance, &position, pseudo_rand & 0xFFFFFFFF, - ref_lane == position.lane); - - /* 2 Creating a new block */ - ref_block = instance->region->memory + - instance->lane_length * ref_lane + ref_index; - curr_block = instance->region->memory + curr_offset; - if (position.pass != 0) { - fill_block_with_xor(instance->region->memory + prev_offset, - ref_block, curr_block); - } else { - fill_block(instance->region->memory + prev_offset, ref_block, - curr_block); - } - } - - free(pseudo_rands); - - return ARGON2_OK; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c deleted file mode 100755 index c9098f714..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c +++ /dev/null @@ -1,240 +0,0 @@ -/* - * Argon2 source code package - * - * Written by Daniel Dinu and Dmitry Khovratovich, 2015 - * - * This work is licensed under a Creative Commons CC0 1.0 License/Waiver. - * - * You should have received a copy of the CC0 Public Domain Dedication along - * with - * this software. If not, see - * . - */ - -#include -#include -#include - -#include "argon2-core.h" -#include "argon2.h" -#include "private/common.h" -#include "private/sse2_64_32.h" - -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# pragma GCC target("ssse3") -# endif - -# ifdef _MSC_VER -# include /* for _mm_set_epi64x */ -# endif -# include -# include - -# include "blamka-round-ssse3.h" - -static void -fill_block(__m128i *state, const uint8_t *ref_block, uint8_t *next_block) -{ - __m128i block_XY[ARGON2_OWORDS_IN_BLOCK]; - uint32_t i; - - for (i = 0; i < ARGON2_OWORDS_IN_BLOCK; i++) { - block_XY[i] = state[i] = _mm_xor_si128( - state[i], _mm_loadu_si128((__m128i const *) (&ref_block[16 * i]))); - } - - for (i = 0; i < 8; ++i) { - BLAKE2_ROUND(state[8 * i + 0], state[8 * i + 1], state[8 * i + 2], - state[8 * i + 3], state[8 * i + 4], state[8 * i + 5], - state[8 * i + 6], state[8 * i + 7]); - } - - for (i = 0; i < 8; ++i) { - BLAKE2_ROUND(state[8 * 0 + i], state[8 * 1 + i], state[8 * 2 + i], - state[8 * 3 + i], state[8 * 4 + i], state[8 * 5 + i], - state[8 * 6 + i], state[8 * 7 + i]); - } - - for (i = 0; i < ARGON2_OWORDS_IN_BLOCK; i++) { - state[i] = _mm_xor_si128(state[i], block_XY[i]); - _mm_storeu_si128((__m128i *) (&next_block[16 * i]), state[i]); - } -} - -static void -fill_block_with_xor(__m128i *state, const uint8_t *ref_block, - uint8_t *next_block) -{ - __m128i block_XY[ARGON2_OWORDS_IN_BLOCK]; - uint32_t i; - - for (i = 0; i < ARGON2_OWORDS_IN_BLOCK; i++) { - state[i] = _mm_xor_si128( - state[i], _mm_loadu_si128((__m128i const *) (&ref_block[16 * i]))); - block_XY[i] = _mm_xor_si128( - state[i], _mm_loadu_si128((__m128i const *) (&next_block[16 * i]))); - } - - for (i = 0; i < 8; ++i) { - BLAKE2_ROUND(state[8 * i + 0], state[8 * i + 1], state[8 * i + 2], - state[8 * i + 3], state[8 * i + 4], state[8 * i + 5], - state[8 * i + 6], state[8 * i + 7]); - } - - for (i = 0; i < 8; ++i) { - BLAKE2_ROUND(state[8 * 0 + i], state[8 * 1 + i], state[8 * 2 + i], - state[8 * 3 + i], state[8 * 4 + i], state[8 * 5 + i], - state[8 * 6 + i], state[8 * 7 + i]); - } - - for (i = 0; i < ARGON2_OWORDS_IN_BLOCK; i++) { - state[i] = _mm_xor_si128(state[i], block_XY[i]); - _mm_storeu_si128((__m128i *) (&next_block[16 * i]), state[i]); - } -} - -static void -generate_addresses(const argon2_instance_t *instance, - const argon2_position_t *position, uint64_t *pseudo_rands) -{ - block address_block, input_block, tmp_block; - uint32_t i; - - init_block_value(&address_block, 0); - init_block_value(&input_block, 0); - - if (instance != NULL && position != NULL) { - input_block.v[0] = position->pass; - input_block.v[1] = position->lane; - input_block.v[2] = position->slice; - input_block.v[3] = instance->memory_blocks; - input_block.v[4] = instance->passes; - input_block.v[5] = instance->type; - - for (i = 0; i < instance->segment_length; ++i) { - if (i % ARGON2_ADDRESSES_IN_BLOCK == 0) { - /* Temporary zero-initialized blocks */ - __m128i zero_block[ARGON2_OWORDS_IN_BLOCK]; - __m128i zero2_block[ARGON2_OWORDS_IN_BLOCK]; - memset(zero_block, 0, sizeof(zero_block)); - memset(zero2_block, 0, sizeof(zero2_block)); - init_block_value(&address_block, 0); - init_block_value(&tmp_block, 0); - /* Increasing index counter */ - input_block.v[6]++; - /* First iteration of G */ - fill_block_with_xor(zero_block, (uint8_t *) &input_block.v, - (uint8_t *) &tmp_block.v); - /* Second iteration of G */ - fill_block_with_xor(zero2_block, (uint8_t *) &tmp_block.v, - (uint8_t *) &address_block.v); - } - - pseudo_rands[i] = address_block.v[i % ARGON2_ADDRESSES_IN_BLOCK]; - } - } -} - -int -fill_segment_ssse3(const argon2_instance_t *instance, - argon2_position_t position) -{ - block * ref_block = NULL, *curr_block = NULL; - uint64_t pseudo_rand, ref_index, ref_lane; - uint32_t prev_offset, curr_offset; - uint32_t starting_index, i; - __m128i state[64]; - const int data_independent_addressing = 1; /* instance->type == Argon2_i */ - - /* Pseudo-random values that determine the reference block position */ - uint64_t *pseudo_rands = NULL; - - if (instance == NULL) { - return ARGON2_OK; - } - - pseudo_rands = - (uint64_t *) malloc(sizeof(uint64_t) * instance->segment_length); - if (pseudo_rands == NULL) { - return ARGON2_MEMORY_ALLOCATION_ERROR; - } - - if (data_independent_addressing) { - generate_addresses(instance, &position, pseudo_rands); - } - - starting_index = 0; - - if ((0 == position.pass) && (0 == position.slice)) { - starting_index = 2; /* we have already generated the first two blocks */ - } - - /* Offset of the current block */ - curr_offset = position.lane * instance->lane_length + - position.slice * instance->segment_length + starting_index; - - if (0 == curr_offset % instance->lane_length) { - /* Last block in this lane */ - prev_offset = curr_offset + instance->lane_length - 1; - } else { - /* Previous block */ - prev_offset = curr_offset - 1; - } - - memcpy(state, ((instance->region->memory + prev_offset)->v), - ARGON2_BLOCK_SIZE); - - for (i = starting_index; i < instance->segment_length; - ++i, ++curr_offset, ++prev_offset) { - /*1.1 Rotating prev_offset if needed */ - if (curr_offset % instance->lane_length == 1) { - prev_offset = curr_offset - 1; - } - - /* 1.2 Computing the index of the reference block */ - /* 1.2.1 Taking pseudo-random value from the previous block */ - if (data_independent_addressing) { -#pragma warning(push) -#pragma warning(disable : 6385) - pseudo_rand = pseudo_rands[i]; -#pragma warning(pop) - } else { - pseudo_rand = instance->region->memory[prev_offset].v[0]; - } - - /* 1.2.2 Computing the lane of the reference block */ - ref_lane = ((pseudo_rand >> 32)) % instance->lanes; - - if ((position.pass == 0) && (position.slice == 0)) { - /* Can not reference other lanes yet */ - ref_lane = position.lane; - } - - /* 1.2.3 Computing the number of possible reference block within the - * lane. - */ - position.index = i; - ref_index = index_alpha(instance, &position, pseudo_rand & 0xFFFFFFFF, - ref_lane == position.lane); - - /* 2 Creating a new block */ - ref_block = instance->region->memory + - instance->lane_length * ref_lane + ref_index; - curr_block = instance->region->memory + curr_offset; - if (position.pass != 0) { - fill_block_with_xor(state, (uint8_t *) ref_block->v, - (uint8_t *) curr_block->v); - } else { - fill_block(state, (uint8_t *) ref_block->v, - (uint8_t *) curr_block->v); - } - } - - free(pseudo_rands); - - return ARGON2_OK; -} -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2.c deleted file mode 100755 index b1e6513f3..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2.c +++ /dev/null @@ -1,250 +0,0 @@ -/* - * Argon2 source code package - * - * Written by Daniel Dinu and Dmitry Khovratovich, 2015 - * - * This work is licensed under a Creative Commons CC0 1.0 License/Waiver. - * - * You should have received a copy of the CC0 Public Domain Dedication along - * with - * this software. If not, see - * . - */ - -#include -#include -#include -#include -#include - -#include "utils.h" - -#include "argon2-core.h" -#include "argon2-encoding.h" -#include "argon2.h" - -int -argon2_ctx(argon2_context *context, argon2_type type) -{ - /* 1. Validate all inputs */ - int result = validate_inputs(context); - uint32_t memory_blocks, segment_length; - argon2_instance_t instance; - - if (ARGON2_OK != result) { - return result; - } - - if (Argon2_i != type) { - return ARGON2_INCORRECT_TYPE; - } - - /* 2. Align memory size */ - /* Minimum memory_blocks = 8L blocks, where L is the number of lanes */ - memory_blocks = context->m_cost; - - if (memory_blocks < 2 * ARGON2_SYNC_POINTS * context->lanes) { - memory_blocks = 2 * ARGON2_SYNC_POINTS * context->lanes; - } - - segment_length = memory_blocks / (context->lanes * ARGON2_SYNC_POINTS); - /* Ensure that all segments have equal length */ - memory_blocks = segment_length * (context->lanes * ARGON2_SYNC_POINTS); - - instance.region = NULL; - instance.passes = context->t_cost; - instance.memory_blocks = memory_blocks; - instance.segment_length = segment_length; - instance.lane_length = segment_length * ARGON2_SYNC_POINTS; - instance.lanes = context->lanes; - instance.threads = context->threads; - instance.type = type; - - /* 3. Initialization: Hashing inputs, allocating memory, filling first - * blocks - */ - result = initialize(&instance, context); - - if (ARGON2_OK != result) { - return result; - } - - /* 4. Filling memory */ - result = fill_memory_blocks(&instance); - - if (ARGON2_OK != result) { - return result; - } - - /* 5. Finalization */ - finalize(context, &instance); - - return ARGON2_OK; -} - -int -argon2_hash(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, const size_t pwdlen, - const void *salt, const size_t saltlen, void *hash, - const size_t hashlen, char *encoded, const size_t encodedlen, - argon2_type type) -{ - argon2_context context; - int result; - uint8_t * out; - - if (pwdlen > ARGON2_MAX_PWD_LENGTH) { - return ARGON2_PWD_TOO_LONG; - } - - if (hashlen > ARGON2_MAX_OUTLEN) { - return ARGON2_OUTPUT_TOO_LONG; - } - - if (saltlen > ARGON2_MAX_SALT_LENGTH) { - return ARGON2_SALT_TOO_LONG; - } - - out = (uint8_t *) malloc(hashlen); - if (!out) { - return ARGON2_MEMORY_ALLOCATION_ERROR; - } - - context.out = (uint8_t *) out; - context.outlen = (uint32_t) hashlen; - context.pwd = (uint8_t *) pwd; - context.pwdlen = (uint32_t) pwdlen; - context.salt = (uint8_t *) salt; - context.saltlen = (uint32_t) saltlen; - context.secret = NULL; - context.secretlen = 0; - context.ad = NULL; - context.adlen = 0; - context.t_cost = t_cost; - context.m_cost = m_cost; - context.lanes = parallelism; - context.threads = parallelism; - context.flags = ARGON2_DEFAULT_FLAGS; - - result = argon2_ctx(&context, type); - - if (result != ARGON2_OK) { - sodium_memzero(out, hashlen); - free(out); - return result; - } - - /* if raw hash requested, write it */ - if (hash) { - memcpy(hash, out, hashlen); - } - - /* if encoding requested, write it */ - if (encoded && encodedlen) { - if (encode_string(encoded, encodedlen, &context, type) != ARGON2_OK) { - sodium_memzero(out, hashlen); - sodium_memzero(encoded, encodedlen); - free(out); - return ARGON2_ENCODING_FAIL; - } - } - - sodium_memzero(out, hashlen); - free(out); - - return ARGON2_OK; -} - -int -argon2i_hash_encoded(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, - const size_t saltlen, const size_t hashlen, char *encoded, - const size_t encodedlen) -{ - return argon2_hash(t_cost, m_cost, parallelism, pwd, pwdlen, salt, saltlen, - NULL, hashlen, encoded, encodedlen, Argon2_i); -} - -int -argon2i_hash_raw(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, const size_t saltlen, - void *hash, const size_t hashlen) -{ - return argon2_hash(t_cost, m_cost, parallelism, pwd, pwdlen, salt, saltlen, - hash, hashlen, NULL, 0, Argon2_i); -} - -int -argon2_verify(const char *encoded, const void *pwd, const size_t pwdlen, - argon2_type type) -{ - argon2_context ctx; - uint8_t * out; - int decode_result; - int ret; - size_t encoded_len; - - memset(&ctx, 0, sizeof ctx); - - ctx.pwd = NULL; - ctx.pwdlen = 0; - ctx.secret = NULL; - ctx.secretlen = 0; - - /* max values, to be updated in decode_string */ - encoded_len = strlen(encoded); - if (encoded_len > UINT32_MAX) { - return ARGON2_DECODING_LENGTH_FAIL; - } - ctx.adlen = (uint32_t) encoded_len; - ctx.saltlen = (uint32_t) encoded_len; - ctx.outlen = (uint32_t) encoded_len; - - ctx.ad = (uint8_t *) malloc(ctx.adlen); - ctx.salt = (uint8_t *) malloc(ctx.saltlen); - ctx.out = (uint8_t *) malloc(ctx.outlen); - if (!ctx.out || !ctx.salt || !ctx.ad) { - free(ctx.ad); - free(ctx.salt); - free(ctx.out); - return ARGON2_MEMORY_ALLOCATION_ERROR; - } - out = (uint8_t *) malloc(ctx.outlen); - if (!out) { - free(ctx.ad); - free(ctx.salt); - free(ctx.out); - return ARGON2_MEMORY_ALLOCATION_ERROR; - } - - decode_result = decode_string(&ctx, encoded, type); - if (decode_result != ARGON2_OK) { - free(ctx.ad); - free(ctx.salt); - free(ctx.out); - free(out); - return decode_result; - } - - ret = argon2_hash(ctx.t_cost, ctx.m_cost, ctx.threads, pwd, pwdlen, - ctx.salt, ctx.saltlen, out, ctx.outlen, NULL, 0, type); - - free(ctx.ad); - free(ctx.salt); - - if (ret != ARGON2_OK || sodium_memcmp(out, ctx.out, ctx.outlen) != 0) { - ret = ARGON2_VERIFY_MISMATCH; - } - free(out); - free(ctx.out); - - return ret; -} - -int -argon2i_verify(const char *encoded, const void *pwd, const size_t pwdlen) -{ - return argon2_verify(encoded, pwd, pwdlen, Argon2_i); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2.h deleted file mode 100755 index 9680fdc24..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/argon2.h +++ /dev/null @@ -1,256 +0,0 @@ -/* - * Argon2 source code package - * - * Written by Daniel Dinu and Dmitry Khovratovich, 2015 - * - * This work is licensed under a Creative Commons CC0 1.0 License/Waiver. - * - * You should have received a copy of the CC0 Public Domain Dedication along - * with this software. If not, see - * . - */ -#ifndef argon2_H -#define argon2_H - -#include -#include -#include - -/* - * Argon2 input parameter restrictions - */ - -/* Minimum and maximum number of lanes (degree of parallelism) */ -#define ARGON2_MIN_LANES UINT32_C(1) -#define ARGON2_MAX_LANES UINT32_C(0xFFFFFF) - -/* Minimum and maximum number of threads */ -#define ARGON2_MIN_THREADS UINT32_C(1) -#define ARGON2_MAX_THREADS UINT32_C(0xFFFFFF) - -/* Number of synchronization points between lanes per pass */ -#define ARGON2_SYNC_POINTS UINT32_C(4) - -/* Minimum and maximum digest size in bytes */ -#define ARGON2_MIN_OUTLEN UINT32_C(16) -#define ARGON2_MAX_OUTLEN UINT32_C(0xFFFFFFFF) - -/* Minimum and maximum number of memory blocks (each of BLOCK_SIZE bytes) */ -#define ARGON2_MIN_MEMORY (2 * ARGON2_SYNC_POINTS) /* 2 blocks per slice */ - -#define ARGON2_MIN(a, b) ((a) < (b) ? (a) : (b)) -/* Max memory size is half the addressing space, topping at 2^32 blocks (4 TB) - */ -#define ARGON2_MAX_MEMORY_BITS \ - ARGON2_MIN(UINT32_C(32), (sizeof(void *) * CHAR_BIT - 10 - 1)) -#define ARGON2_MAX_MEMORY \ - ARGON2_MIN(UINT32_C(0xFFFFFFFF), UINT64_C(1) << ARGON2_MAX_MEMORY_BITS) - -/* Minimum and maximum number of passes */ -#define ARGON2_MIN_TIME UINT32_C(3) -#define ARGON2_MAX_TIME UINT32_C(0xFFFFFFFF) - -/* Minimum and maximum password length in bytes */ -#define ARGON2_MIN_PWD_LENGTH UINT32_C(0) -#define ARGON2_MAX_PWD_LENGTH UINT32_C(0xFFFFFFFF) - -/* Minimum and maximum associated data length in bytes */ -#define ARGON2_MIN_AD_LENGTH UINT32_C(0) -#define ARGON2_MAX_AD_LENGTH UINT32_C(0xFFFFFFFF) - -/* Minimum and maximum salt length in bytes */ -#define ARGON2_MIN_SALT_LENGTH UINT32_C(8) -#define ARGON2_MAX_SALT_LENGTH UINT32_C(0xFFFFFFFF) - -/* Minimum and maximum key length in bytes */ -#define ARGON2_MIN_SECRET UINT32_C(0) -#define ARGON2_MAX_SECRET UINT32_C(0xFFFFFFFF) - -#define ARGON2_FLAG_CLEAR_PASSWORD (UINT32_C(1) << 0) -#define ARGON2_FLAG_CLEAR_SECRET (UINT32_C(1) << 1) -#define ARGON2_FLAG_CLEAR_MEMORY (UINT32_C(1) << 2) -#define ARGON2_DEFAULT_FLAGS (ARGON2_FLAG_CLEAR_MEMORY) - -/* Error codes */ -typedef enum Argon2_ErrorCodes { - ARGON2_OK = 0, - - ARGON2_OUTPUT_PTR_NULL = -1, - - ARGON2_OUTPUT_TOO_SHORT = -2, - ARGON2_OUTPUT_TOO_LONG = -3, - - ARGON2_PWD_TOO_SHORT = -4, - ARGON2_PWD_TOO_LONG = -5, - - ARGON2_SALT_TOO_SHORT = -6, - ARGON2_SALT_TOO_LONG = -7, - - ARGON2_AD_TOO_SHORT = -8, - ARGON2_AD_TOO_LONG = -9, - - ARGON2_SECRET_TOO_SHORT = -10, - ARGON2_SECRET_TOO_LONG = -11, - - ARGON2_TIME_TOO_SMALL = -12, - ARGON2_TIME_TOO_LARGE = -13, - - ARGON2_MEMORY_TOO_LITTLE = -14, - ARGON2_MEMORY_TOO_MUCH = -15, - - ARGON2_LANES_TOO_FEW = -16, - ARGON2_LANES_TOO_MANY = -17, - - ARGON2_PWD_PTR_MISMATCH = -18, /* NULL ptr with non-zero length */ - ARGON2_SALT_PTR_MISMATCH = -19, /* NULL ptr with non-zero length */ - ARGON2_SECRET_PTR_MISMATCH = -20, /* NULL ptr with non-zero length */ - ARGON2_AD_PTR_MISMATCH = -21, /* NULL ptr with non-zero length */ - - ARGON2_MEMORY_ALLOCATION_ERROR = -22, - - ARGON2_FREE_MEMORY_CBK_NULL = -23, - ARGON2_ALLOCATE_MEMORY_CBK_NULL = -24, - - ARGON2_INCORRECT_PARAMETER = -25, - ARGON2_INCORRECT_TYPE = -26, - - ARGON2_OUT_PTR_MISMATCH = -27, - - ARGON2_THREADS_TOO_FEW = -28, - ARGON2_THREADS_TOO_MANY = -29, - - ARGON2_MISSING_ARGS = -30, - - ARGON2_ENCODING_FAIL = -31, - - ARGON2_DECODING_FAIL = -32, - - ARGON2_THREAD_FAIL = -33, - - ARGON2_DECODING_LENGTH_FAIL = -34, - - ARGON2_VERIFY_MISMATCH = -35 -} argon2_error_codes; - -/* Argon2 external data structures */ - -/* - * Context: structure to hold Argon2 inputs: - * output array and its length, - * password and its length, - * salt and its length, - * secret and its length, - * associated data and its length, - * number of passes, amount of used memory (in KBytes, can be rounded up a bit) - * number of parallel threads that will be run. - * All the parameters above affect the output hash value. - * Additionally, two function pointers can be provided to allocate and - * deallocate the memory (if NULL, memory will be allocated internally). - * Also, three flags indicate whether to erase password, secret as soon as they - * are pre-hashed (and thus not needed anymore), and the entire memory - ***** - * Simplest situation: you have output array out[8], password is stored in - * pwd[32], salt is stored in salt[16], you do not have keys nor associated - *data. - * You need to spend 1 GB of RAM and you run 5 passes of Argon2 with 4 parallel - *lanes. - * You want to erase the password, but you're OK with last pass not being - *erased. - * You want to use the default memory allocator. - * Then you initialize: - * Argon2_Context(out,8,pwd,32,salt,16,NULL,0,NULL,0,5,1<<20,4,4,NULL,NULL,true,false,false,false). - */ -typedef struct Argon2_Context { - uint8_t *out; /* output array */ - uint32_t outlen; /* digest length */ - - uint8_t *pwd; /* password array */ - uint32_t pwdlen; /* password length */ - - uint8_t *salt; /* salt array */ - uint32_t saltlen; /* salt length */ - - uint8_t *secret; /* key array */ - uint32_t secretlen; /* key length */ - - uint8_t *ad; /* associated data array */ - uint32_t adlen; /* associated data length */ - - uint32_t t_cost; /* number of passes */ - uint32_t m_cost; /* amount of memory requested (KB) */ - uint32_t lanes; /* number of lanes */ - uint32_t threads; /* maximum number of threads */ - - uint32_t flags; /* array of bool options */ -} argon2_context; - -/* Argon2 primitive type */ -typedef enum Argon2_type { Argon2_i = 1 } argon2_type; - -/* - * Function that performs memory-hard hashing with certain degree of parallelism - * @param context Pointer to the Argon2 internal structure - * @return Error code if smth is wrong, ARGON2_OK otherwise - */ -int argon2_ctx(argon2_context *context, argon2_type type); - -/** - * Hashes a password with Argon2i, producing an encoded hash - * @param t_cost Number of iterations - * @param m_cost Sets memory usage to m_cost kibibytes - * @param parallelism Number of threads and compute lanes - * @param pwd Pointer to password - * @param pwdlen Password size in bytes - * @param salt Pointer to salt - * @param saltlen Salt size in bytes - * @param hashlen Desired length of the hash in bytes - * @param encoded Buffer where to write the encoded hash - * @param encodedlen Size of the buffer (thus max size of the encoded hash) - * @pre Different parallelism levels will give different results - * @pre Returns ARGON2_OK if successful - */ -int argon2i_hash_encoded(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, - const size_t saltlen, const size_t hashlen, - char *encoded, const size_t encodedlen); - -/** - * Hashes a password with Argon2i, producing a raw hash - * @param t_cost Number of iterations - * @param m_cost Sets memory usage to m_cost kibibytes - * @param parallelism Number of threads and compute lanes - * @param pwd Pointer to password - * @param pwdlen Password size in bytes - * @param salt Pointer to salt - * @param saltlen Salt size in bytes - * @param hash Buffer where to write the raw hash - * @param hashlen Desired length of the hash in bytes - * @pre Different parallelism levels will give different results - * @pre Returns ARGON2_OK if successful - */ -int argon2i_hash_raw(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, - const size_t saltlen, void *hash, const size_t hashlen); - -/* generic function underlying the above ones */ -int argon2_hash(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, const size_t saltlen, - void *hash, const size_t hashlen, char *encoded, - const size_t encodedlen, argon2_type type); - -/** - * Verifies a password against an encoded string - * Encoded string is restricted as in validate_inputs() - * @param encoded String encoding parameters, salt, hash - * @param pwd Pointer to password - * @pre Returns ARGON2_OK if successful - */ -int argon2i_verify(const char *encoded, const void *pwd, const size_t pwdlen); - -/* generic function underlying the above ones */ -int argon2_verify(const char *encoded, const void *pwd, const size_t pwdlen, - argon2_type type); -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/blake2b-long.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/blake2b-long.c deleted file mode 100755 index 1ac1541c1..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/blake2b-long.c +++ /dev/null @@ -1,79 +0,0 @@ -#include -#include -#include -#include - -#include "crypto_generichash_blake2b.h" -#include "private/common.h" -#include "utils.h" - -#include "blake2b-long.h" - -int -blake2b_long(void *pout, size_t outlen, const void *in, size_t inlen) -{ - uint8_t * out = (uint8_t *) pout; - crypto_generichash_blake2b_state blake_state; - uint8_t outlen_bytes[4 /* sizeof(uint32_t) */] = { 0 }; - int ret = -1; - - if (outlen > UINT32_MAX) { - goto fail; /* LCOV_EXCL_LINE */ - } - - /* Ensure little-endian byte order! */ - STORE32_LE(outlen_bytes, (uint32_t) outlen); - -#define TRY(statement) \ - do { \ - ret = statement; \ - if (ret < 0) { \ - goto fail; \ - } \ - } while ((void) 0, 0) - - if (outlen <= crypto_generichash_blake2b_BYTES_MAX) { - TRY(crypto_generichash_blake2b_init(&blake_state, NULL, 0U, outlen)); - TRY(crypto_generichash_blake2b_update(&blake_state, outlen_bytes, - sizeof(outlen_bytes))); - TRY(crypto_generichash_blake2b_update( - &blake_state, (const unsigned char *) in, inlen)); - TRY(crypto_generichash_blake2b_final(&blake_state, out, outlen)); - } else { - uint32_t toproduce; - uint8_t out_buffer[crypto_generichash_blake2b_BYTES_MAX]; - uint8_t in_buffer[crypto_generichash_blake2b_BYTES_MAX]; - TRY(crypto_generichash_blake2b_init( - &blake_state, NULL, 0U, crypto_generichash_blake2b_BYTES_MAX)); - TRY(crypto_generichash_blake2b_update(&blake_state, outlen_bytes, - sizeof(outlen_bytes))); - TRY(crypto_generichash_blake2b_update( - &blake_state, (const unsigned char *) in, inlen)); - TRY(crypto_generichash_blake2b_final( - &blake_state, out_buffer, crypto_generichash_blake2b_BYTES_MAX)); - memcpy(out, out_buffer, crypto_generichash_blake2b_BYTES_MAX / 2); - out += crypto_generichash_blake2b_BYTES_MAX / 2; - toproduce = - (uint32_t) outlen - crypto_generichash_blake2b_BYTES_MAX / 2; - - while (toproduce > crypto_generichash_blake2b_BYTES_MAX) { - memcpy(in_buffer, out_buffer, crypto_generichash_blake2b_BYTES_MAX); - TRY(crypto_generichash_blake2b( - out_buffer, crypto_generichash_blake2b_BYTES_MAX, in_buffer, - crypto_generichash_blake2b_BYTES_MAX, NULL, 0U)); - memcpy(out, out_buffer, crypto_generichash_blake2b_BYTES_MAX / 2); - out += crypto_generichash_blake2b_BYTES_MAX / 2; - toproduce -= crypto_generichash_blake2b_BYTES_MAX / 2; - } - - memcpy(in_buffer, out_buffer, crypto_generichash_blake2b_BYTES_MAX); - TRY(crypto_generichash_blake2b(out_buffer, toproduce, in_buffer, - crypto_generichash_blake2b_BYTES_MAX, - NULL, 0U)); - memcpy(out, out_buffer, toproduce); - } -fail: - sodium_memzero(&blake_state, sizeof(blake_state)); - return ret; -#undef TRY -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/blake2b-long.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/blake2b-long.h deleted file mode 100755 index 3d6d77552..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/blake2b-long.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef blake2b_long_H -#define blake2b_long_H - -#include - -int blake2b_long(void *pout, size_t outlen, const void *in, size_t inlen); - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-ref.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-ref.h deleted file mode 100755 index 7a2c6eb20..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-ref.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef blamka_round_ref_H -#define blamka_round_ref_H - -#include "private/common.h" - -/*designed by the Lyra PHC team */ -static inline uint64_t -fBlaMka(uint64_t x, uint64_t y) -{ - const uint64_t m = UINT64_C(0xFFFFFFFF); - const uint64_t xy = (x & m) * (y & m); - return x + y + 2 * xy; -} - -#define G(a, b, c, d) \ - do { \ - a = fBlaMka(a, b); \ - d = ROTR64(d ^ a, 32); \ - c = fBlaMka(c, d); \ - b = ROTR64(b ^ c, 24); \ - a = fBlaMka(a, b); \ - d = ROTR64(d ^ a, 16); \ - c = fBlaMka(c, d); \ - b = ROTR64(b ^ c, 63); \ - } while ((void) 0, 0) - -#define BLAKE2_ROUND_NOMSG(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, \ - v12, v13, v14, v15) \ - do { \ - G(v0, v4, v8, v12); \ - G(v1, v5, v9, v13); \ - G(v2, v6, v10, v14); \ - G(v3, v7, v11, v15); \ - G(v0, v5, v10, v15); \ - G(v1, v6, v11, v12); \ - G(v2, v7, v8, v13); \ - G(v3, v4, v9, v14); \ - } while ((void) 0, 0) - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h deleted file mode 100755 index 98a47b93f..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h +++ /dev/null @@ -1,120 +0,0 @@ -#ifndef blamka_round_ssse3_H -#define blamka_round_ssse3_H - -#include "private/common.h" -#include "private/sse2_64_32.h" - -#define r16 \ - (_mm_setr_epi8(2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9)) -#define r24 \ - (_mm_setr_epi8(3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10)) -#define _mm_roti_epi64(x, c) \ - (-(c) == 32) \ - ? _mm_shuffle_epi32((x), _MM_SHUFFLE(2, 3, 0, 1)) \ - : (-(c) == 24) \ - ? _mm_shuffle_epi8((x), r24) \ - : (-(c) == 16) \ - ? _mm_shuffle_epi8((x), r16) \ - : (-(c) == 63) \ - ? _mm_xor_si128(_mm_srli_epi64((x), -(c)), \ - _mm_add_epi64((x), (x))) \ - : _mm_xor_si128(_mm_srli_epi64((x), -(c)), \ - _mm_slli_epi64((x), 64 - (-(c)))) - -static inline __m128i -fBlaMka(__m128i x, __m128i y) -{ - const __m128i z = _mm_mul_epu32(x, y); - return _mm_add_epi64(_mm_add_epi64(x, y), _mm_add_epi64(z, z)); -} - -#define G1(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - A0 = fBlaMka(A0, B0); \ - A1 = fBlaMka(A1, B1); \ - \ - D0 = _mm_xor_si128(D0, A0); \ - D1 = _mm_xor_si128(D1, A1); \ - \ - D0 = _mm_roti_epi64(D0, -32); \ - D1 = _mm_roti_epi64(D1, -32); \ - \ - C0 = fBlaMka(C0, D0); \ - C1 = fBlaMka(C1, D1); \ - \ - B0 = _mm_xor_si128(B0, C0); \ - B1 = _mm_xor_si128(B1, C1); \ - \ - B0 = _mm_roti_epi64(B0, -24); \ - B1 = _mm_roti_epi64(B1, -24); \ - } while ((void) 0, 0) - -#define G2(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - A0 = fBlaMka(A0, B0); \ - A1 = fBlaMka(A1, B1); \ - \ - D0 = _mm_xor_si128(D0, A0); \ - D1 = _mm_xor_si128(D1, A1); \ - \ - D0 = _mm_roti_epi64(D0, -16); \ - D1 = _mm_roti_epi64(D1, -16); \ - \ - C0 = fBlaMka(C0, D0); \ - C1 = fBlaMka(C1, D1); \ - \ - B0 = _mm_xor_si128(B0, C0); \ - B1 = _mm_xor_si128(B1, C1); \ - \ - B0 = _mm_roti_epi64(B0, -63); \ - B1 = _mm_roti_epi64(B1, -63); \ - } while ((void) 0, 0) - -#define DIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - __m128i t0 = _mm_alignr_epi8(B1, B0, 8); \ - __m128i t1 = _mm_alignr_epi8(B0, B1, 8); \ - B0 = t0; \ - B1 = t1; \ - \ - t0 = C0; \ - C0 = C1; \ - C1 = t0; \ - \ - t0 = _mm_alignr_epi8(D1, D0, 8); \ - t1 = _mm_alignr_epi8(D0, D1, 8); \ - D0 = t1; \ - D1 = t0; \ - } while ((void) 0, 0) - -#define UNDIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - __m128i t0 = _mm_alignr_epi8(B0, B1, 8); \ - __m128i t1 = _mm_alignr_epi8(B1, B0, 8); \ - B0 = t0; \ - B1 = t1; \ - \ - t0 = C0; \ - C0 = C1; \ - C1 = t0; \ - \ - t0 = _mm_alignr_epi8(D0, D1, 8); \ - t1 = _mm_alignr_epi8(D1, D0, 8); \ - D0 = t1; \ - D1 = t0; \ - } while ((void) 0, 0) - -#define BLAKE2_ROUND(A0, A1, B0, B1, C0, C1, D0, D1) \ - do { \ - G1(A0, B0, C0, D0, A1, B1, C1, D1); \ - G2(A0, B0, C0, D0, A1, B1, C1, D1); \ - \ - DIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1); \ - \ - G1(A0, B0, C0, D0, A1, B1, C1, D1); \ - G2(A0, B0, C0, D0, A1, B1, C1, D1); \ - \ - UNDIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1); \ - } while ((void) 0, 0) - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c deleted file mode 100755 index 7f23c3d40..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c +++ /dev/null @@ -1,209 +0,0 @@ - -#include -#include -#include -#include -#include - -#include "argon2-core.h" -#include "argon2.h" -#include "crypto_pwhash_argon2i.h" -#include "randombytes.h" -#include "utils.h" - -#define STR_HASHBYTES 32U - -int -crypto_pwhash_argon2i_alg_argon2i13(void) -{ - return crypto_pwhash_argon2i_ALG_ARGON2I13; -} - -size_t -crypto_pwhash_argon2i_bytes_min(void) -{ - return crypto_pwhash_argon2i_BYTES_MIN; -} - -size_t -crypto_pwhash_argon2i_bytes_max(void) -{ - return crypto_pwhash_argon2i_BYTES_MAX; -} - -size_t -crypto_pwhash_argon2i_passwd_min(void) -{ - return crypto_pwhash_argon2i_PASSWD_MIN; -} - -size_t -crypto_pwhash_argon2i_passwd_max(void) -{ - return crypto_pwhash_argon2i_PASSWD_MAX; -} - -size_t -crypto_pwhash_argon2i_saltbytes(void) -{ - return crypto_pwhash_argon2i_SALTBYTES; -} - -size_t -crypto_pwhash_argon2i_strbytes(void) -{ - return crypto_pwhash_argon2i_STRBYTES; -} - -const char* -crypto_pwhash_argon2i_strprefix(void) -{ - return crypto_pwhash_argon2i_STRPREFIX; -} - -size_t -crypto_pwhash_argon2i_opslimit_min(void) -{ - return crypto_pwhash_argon2i_OPSLIMIT_MIN; -} - -size_t -crypto_pwhash_argon2i_opslimit_max(void) -{ - return crypto_pwhash_argon2i_OPSLIMIT_MAX; -} - -size_t -crypto_pwhash_argon2i_memlimit_min(void) -{ - return crypto_pwhash_argon2i_MEMLIMIT_MIN; -} - -size_t -crypto_pwhash_argon2i_memlimit_max(void) -{ - return crypto_pwhash_argon2i_MEMLIMIT_MAX; -} - -size_t -crypto_pwhash_argon2i_opslimit_interactive(void) -{ - return crypto_pwhash_argon2i_OPSLIMIT_INTERACTIVE; -} - -size_t -crypto_pwhash_argon2i_memlimit_interactive(void) -{ - return crypto_pwhash_argon2i_MEMLIMIT_INTERACTIVE; -} - -size_t -crypto_pwhash_argon2i_opslimit_moderate(void) -{ - return crypto_pwhash_argon2i_OPSLIMIT_MODERATE; -} - -size_t -crypto_pwhash_argon2i_memlimit_moderate(void) -{ - return crypto_pwhash_argon2i_MEMLIMIT_MODERATE; -} - -size_t -crypto_pwhash_argon2i_opslimit_sensitive(void) -{ - return crypto_pwhash_argon2i_OPSLIMIT_SENSITIVE; -} - -size_t -crypto_pwhash_argon2i_memlimit_sensitive(void) -{ - return crypto_pwhash_argon2i_MEMLIMIT_SENSITIVE; -} - -int -crypto_pwhash_argon2i(unsigned char* const out, unsigned long long outlen, - const char* const passwd, unsigned long long passwdlen, - const unsigned char* const salt, - unsigned long long opslimit, size_t memlimit, int alg) -{ - memset(out, 0, outlen); - if (alg != crypto_pwhash_argon2i_ALG_ARGON2I13) { - return -1; - } - memlimit /= 1024U; - if (outlen > ARGON2_MAX_OUTLEN || passwdlen > ARGON2_MAX_PWD_LENGTH || - opslimit > ARGON2_MAX_TIME || memlimit > ARGON2_MAX_MEMORY) { - errno = EFBIG; - return -1; - } - if (outlen < ARGON2_MIN_OUTLEN || passwdlen < ARGON2_MIN_PWD_LENGTH || - opslimit < ARGON2_MIN_TIME || memlimit < ARGON2_MIN_MEMORY) { - errno = EINVAL; - return -1; - } - if (argon2i_hash_raw((uint32_t) opslimit, (uint32_t) memlimit, - (uint32_t) 1U, passwd, (size_t) passwdlen, salt, - (size_t) crypto_pwhash_argon2i_SALTBYTES, out, - (size_t) outlen) != ARGON2_OK) { - return -1; /* LCOV_EXCL_LINE */ - } - return 0; -} - -int -crypto_pwhash_argon2i_str(char out[crypto_pwhash_argon2i_STRBYTES], - const char* const passwd, - unsigned long long passwdlen, - unsigned long long opslimit, size_t memlimit) -{ - unsigned char salt[crypto_pwhash_argon2i_SALTBYTES]; - - memset(out, 0, crypto_pwhash_argon2i_STRBYTES); - memlimit /= 1024U; - if (passwdlen > ARGON2_MAX_PWD_LENGTH || opslimit > ARGON2_MAX_TIME || - memlimit > ARGON2_MAX_MEMORY) { - errno = EFBIG; - return -1; - } - if (passwdlen < ARGON2_MIN_PWD_LENGTH || opslimit < ARGON2_MIN_TIME || - memlimit < ARGON2_MIN_MEMORY) { - errno = EINVAL; - return -1; - } - randombytes_buf(salt, sizeof salt); - if (argon2i_hash_encoded((uint32_t) opslimit, (uint32_t) memlimit, - (uint32_t) 1U, passwd, (size_t) passwdlen, salt, - sizeof salt, STR_HASHBYTES, out, - crypto_pwhash_argon2i_STRBYTES) != ARGON2_OK) { - return -1; /* LCOV_EXCL_LINE */ - } - return 0; -} - -int -crypto_pwhash_argon2i_str_verify(const char str[crypto_pwhash_argon2i_STRBYTES], - const char* const passwd, - unsigned long long passwdlen) -{ - if (passwdlen > ARGON2_MAX_PWD_LENGTH) { - errno = EFBIG; - return -1; - } - /* LCOV_EXCL_START */ - if (passwdlen < ARGON2_MIN_PWD_LENGTH) { - errno = EINVAL; - return -1; - } - /* LCOV_EXCL_STOP */ - if (argon2i_verify(str, passwd, (size_t) passwdlen) != ARGON2_OK) { - return -1; - } - return 0; -} - -int -_crypto_pwhash_argon2i_pick_best_implementation(void) -{ - return argon2_pick_best_implementation(); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/crypto_pwhash.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/crypto_pwhash.c deleted file mode 100755 index ab0f4cc5d..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/crypto_pwhash.c +++ /dev/null @@ -1,154 +0,0 @@ - -#include - -#include "crypto_pwhash.h" - -int -crypto_pwhash_alg_argon2i13(void) -{ - return crypto_pwhash_ALG_ARGON2I13; -} - -int -crypto_pwhash_alg_default(void) -{ - return crypto_pwhash_ALG_ARGON2I13; -} - -size_t -crypto_pwhash_bytes_min(void) -{ - return crypto_pwhash_BYTES_MIN; -} - -size_t -crypto_pwhash_bytes_max(void) -{ - return crypto_pwhash_BYTES_MAX; -} - -size_t -crypto_pwhash_passwd_min(void) -{ - return crypto_pwhash_PASSWD_MIN; -} - -size_t -crypto_pwhash_passwd_max(void) -{ - return crypto_pwhash_PASSWD_MAX; -} - -size_t -crypto_pwhash_saltbytes(void) -{ - return crypto_pwhash_SALTBYTES; -} - -size_t -crypto_pwhash_strbytes(void) -{ - return crypto_pwhash_STRBYTES; -} - -const char * -crypto_pwhash_strprefix(void) -{ - return crypto_pwhash_STRPREFIX; -} - -size_t -crypto_pwhash_opslimit_min(void) -{ - return crypto_pwhash_OPSLIMIT_MIN; -} - -size_t -crypto_pwhash_opslimit_max(void) -{ - return crypto_pwhash_OPSLIMIT_MAX; -} - -size_t -crypto_pwhash_memlimit_min(void) -{ - return crypto_pwhash_MEMLIMIT_MIN; -} - -size_t -crypto_pwhash_memlimit_max(void) -{ - return crypto_pwhash_MEMLIMIT_MAX; -} - -size_t -crypto_pwhash_opslimit_interactive(void) -{ - return crypto_pwhash_OPSLIMIT_INTERACTIVE; -} - -size_t -crypto_pwhash_memlimit_interactive(void) -{ - return crypto_pwhash_MEMLIMIT_INTERACTIVE; -} - -size_t -crypto_pwhash_opslimit_moderate(void) -{ - return crypto_pwhash_OPSLIMIT_MODERATE; -} - -size_t -crypto_pwhash_memlimit_moderate(void) -{ - return crypto_pwhash_MEMLIMIT_MODERATE; -} - -size_t -crypto_pwhash_opslimit_sensitive(void) -{ - return crypto_pwhash_OPSLIMIT_SENSITIVE; -} - -size_t -crypto_pwhash_memlimit_sensitive(void) -{ - return crypto_pwhash_MEMLIMIT_SENSITIVE; -} - -int -crypto_pwhash(unsigned char * const out, unsigned long long outlen, - const char * const passwd, unsigned long long passwdlen, - const unsigned char * const salt, - unsigned long long opslimit, size_t memlimit, int alg) -{ - if (alg != crypto_pwhash_ALG_ARGON2I13) { - errno = EINVAL; - return -1; - } - return crypto_pwhash_argon2i(out, outlen, passwd, passwdlen, salt, - opslimit, memlimit, alg); -} - -int -crypto_pwhash_str(char out[crypto_pwhash_STRBYTES], - const char * const passwd, unsigned long long passwdlen, - unsigned long long opslimit, size_t memlimit) -{ - return crypto_pwhash_argon2i_str(out, passwd, passwdlen, - opslimit, memlimit); -} - -int -crypto_pwhash_str_verify(const char str[crypto_pwhash_STRBYTES], - const char * const passwd, - unsigned long long passwdlen) -{ - return crypto_pwhash_argon2i_str_verify(str, passwd, passwdlen); -} - -const char * -crypto_pwhash_primitive(void) { - return crypto_pwhash_PRIMITIVE; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c deleted file mode 100755 index 89a5bc833..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt-common.c +++ /dev/null @@ -1,249 +0,0 @@ -/*- - * Copyright 2013 Alexander Peslyak - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include - -#include "crypto_pwhash_scryptsalsa208sha256.h" -#include "crypto_scrypt.h" -#include "private/common.h" -#include "runtime.h" -#include "utils.h" - -static const char *const itoa64 = - "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; - -static uint8_t * -encode64_uint32(uint8_t *dst, size_t dstlen, uint32_t src, uint32_t srcbits) -{ - uint32_t bit; - - for (bit = 0; bit < srcbits; bit += 6) { - if (dstlen < 1) { - return NULL; /* LCOV_EXCL_LINE */ - } - *dst++ = itoa64[src & 0x3f]; - dstlen--; - src >>= 6; - } - return dst; -} - -static uint8_t * -encode64(uint8_t *dst, size_t dstlen, const uint8_t *src, size_t srclen) -{ - size_t i; - - for (i = 0; i < srclen;) { - uint8_t *dnext; - uint32_t value = 0, bits = 0; - - do { - value |= (uint32_t) src[i++] << bits; - bits += 8; - } while (bits < 24 && i < srclen); - - dnext = encode64_uint32(dst, dstlen, value, bits); - if (!dnext) { - return NULL; /* LCOV_EXCL_LINE */ - } - dstlen -= dnext - dst; - dst = dnext; - } - return dst; -} - -static int -decode64_one(uint32_t *dst, uint8_t src) -{ - const char *ptr = strchr(itoa64, src); - - if (ptr) { - *dst = (uint32_t)(ptr - itoa64); - return 0; - } - *dst = 0; - - return -1; -} - -static const uint8_t * -decode64_uint32(uint32_t *dst, uint32_t dstbits, const uint8_t *src) -{ - uint32_t bit; - uint32_t value; - - value = 0; - for (bit = 0; bit < dstbits; bit += 6) { - uint32_t one; - if (decode64_one(&one, *src)) { - *dst = 0; - return NULL; - } - src++; - value |= one << bit; - } - *dst = value; - - return src; -} - -uint8_t * -escrypt_r(escrypt_local_t *local, const uint8_t *passwd, size_t passwdlen, - const uint8_t *setting, uint8_t *buf, size_t buflen) -{ - uint8_t hash[crypto_pwhash_scryptsalsa208sha256_STRHASHBYTES]; - escrypt_kdf_t escrypt_kdf; - const uint8_t *src; - const uint8_t *salt; - uint8_t * dst; - size_t prefixlen; - size_t saltlen; - size_t need; - uint64_t N; - uint32_t N_log2; - uint32_t r; - uint32_t p; - - if (setting[0] != '$' || setting[1] != '7' || setting[2] != '$') { - return NULL; - } - src = setting + 3; - - if (decode64_one(&N_log2, *src)) { - return NULL; - } - src++; - N = (uint64_t) 1 << N_log2; - - src = decode64_uint32(&r, 30, src); - if (!src) { - return NULL; - } - src = decode64_uint32(&p, 30, src); - if (!src) { - return NULL; - } - prefixlen = src - setting; - - salt = src; - src = (uint8_t *) strrchr((char *) salt, '$'); - if (src) { - saltlen = src - salt; - } else { - saltlen = strlen((char *) salt); - } - need = prefixlen + saltlen + 1 + - crypto_pwhash_scryptsalsa208sha256_STRHASHBYTES_ENCODED + 1; - if (need > buflen || need < saltlen) { - return NULL; - } -#ifdef HAVE_EMMINTRIN_H - escrypt_kdf = - sodium_runtime_has_sse2() ? escrypt_kdf_sse : escrypt_kdf_nosse; -#else - escrypt_kdf = escrypt_kdf_nosse; -#endif - if (escrypt_kdf(local, passwd, passwdlen, salt, saltlen, N, r, p, hash, - sizeof(hash))) { - return NULL; - } - dst = buf; - memcpy(dst, setting, prefixlen + saltlen); - dst += prefixlen + saltlen; - *dst++ = '$'; - - dst = encode64(dst, buflen - (dst - buf), hash, sizeof(hash)); - sodium_memzero(hash, sizeof hash); - if (!dst || dst >= buf + buflen) { - return NULL; /* Can't happen LCOV_EXCL_LINE */ - } - *dst = 0; /* NUL termination */ - - return buf; -} - -uint8_t * -escrypt_gensalt_r(uint32_t N_log2, uint32_t r, uint32_t p, const uint8_t *src, - size_t srclen, uint8_t *buf, size_t buflen) -{ - uint8_t *dst; - size_t prefixlen = - (sizeof "$7$" - 1U) + (1U /* N_log2 */) + (5U /* r */) + (5U /* p */); - size_t saltlen = BYTES2CHARS(srclen); - size_t need; - - need = prefixlen + saltlen + 1; - if (need > buflen || need < saltlen || saltlen < srclen) { - return NULL; /* LCOV_EXCL_LINE */ - } - if (N_log2 > 63 || ((uint64_t) r * (uint64_t) p >= (1U << 30))) { - return NULL; - } - dst = buf; - *dst++ = '$'; - *dst++ = '7'; - *dst++ = '$'; - - *dst++ = itoa64[N_log2]; - - dst = encode64_uint32(dst, buflen - (dst - buf), r, 30); - if (!dst) { - return NULL; /* Can't happen LCOV_EXCL_LINE */ - } - dst = encode64_uint32(dst, buflen - (dst - buf), p, 30); - if (!dst) { - return NULL; /* Can't happen LCOV_EXCL_LINE */ - } - dst = encode64(dst, buflen - (dst - buf), src, srclen); - if (!dst || dst >= buf + buflen) { - return NULL; /* Can't happen LCOV_EXCL_LINE */ - } - *dst = 0; /* NUL termination */ - - return buf; -} - -int -crypto_pwhash_scryptsalsa208sha256_ll(const uint8_t *passwd, size_t passwdlen, - const uint8_t *salt, size_t saltlen, - uint64_t N, uint32_t r, uint32_t p, - uint8_t *buf, size_t buflen) -{ - escrypt_kdf_t escrypt_kdf; - escrypt_local_t local; - int retval; - - if (escrypt_init_local(&local)) { - return -1; /* LCOV_EXCL_LINE */ - } -#if defined(HAVE_EMMINTRIN_H) - escrypt_kdf = - sodium_runtime_has_sse2() ? escrypt_kdf_sse : escrypt_kdf_nosse; -#else - escrypt_kdf = escrypt_kdf_nosse; -#endif - retval = escrypt_kdf(&local, passwd, passwdlen, salt, saltlen, N, r, p, buf, - buflen); - if (escrypt_free_local(&local)) { - return -1; /* LCOV_EXCL_LINE */ - } - return retval; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h deleted file mode 100755 index d55120b60..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/crypto_scrypt.h +++ /dev/null @@ -1,94 +0,0 @@ -/*- - * Copyright 2009 Colin Percival - * Copyright 2013 Alexander Peslyak - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * This file was originally written by Colin Percival as part of the Tarsnap - * online backup system. - */ -#ifndef crypto_scrypt_H -#define crypto_scrypt_H - -#include -#include -#include - -#if SIZE_MAX > 0xffffffffULL -#define ARCH_BITS 64 -#else -#define ARCH_BITS 32 -#endif - -#define crypto_pwhash_scryptsalsa208sha256_STRPREFIXBYTES 14 -#define crypto_pwhash_scryptsalsa208sha256_STRSETTINGBYTES 57 -#define crypto_pwhash_scryptsalsa208sha256_STRSALTBYTES 32 -#define crypto_pwhash_scryptsalsa208sha256_STRSALTBYTES_ENCODED 43 -#define crypto_pwhash_scryptsalsa208sha256_STRHASHBYTES 32 -#define crypto_pwhash_scryptsalsa208sha256_STRHASHBYTES_ENCODED 43 - -#define BYTES2CHARS(bytes) ((((bytes) *8) + 5) / 6) - -typedef struct { - void * base, *aligned; - size_t size; -} escrypt_region_t; - -typedef union { - uint64_t d[8]; - uint32_t w[16]; -} escrypt_block_t; - -typedef escrypt_region_t escrypt_local_t; - -extern int escrypt_init_local(escrypt_local_t *__local); - -extern int escrypt_free_local(escrypt_local_t *__local); - -extern void *alloc_region(escrypt_region_t *region, size_t size); -extern int free_region(escrypt_region_t *region); - -typedef int (*escrypt_kdf_t)(escrypt_local_t *__local, const uint8_t *__passwd, - size_t __passwdlen, const uint8_t *__salt, - size_t __saltlen, uint64_t __N, uint32_t __r, - uint32_t __p, uint8_t *__buf, size_t __buflen); - -extern int escrypt_kdf_nosse(escrypt_local_t *__local, const uint8_t *__passwd, - size_t __passwdlen, const uint8_t *__salt, - size_t __saltlen, uint64_t __N, uint32_t __r, - uint32_t __p, uint8_t *__buf, size_t __buflen); - -extern int escrypt_kdf_sse(escrypt_local_t *__local, const uint8_t *__passwd, - size_t __passwdlen, const uint8_t *__salt, - size_t __saltlen, uint64_t __N, uint32_t __r, - uint32_t __p, uint8_t *__buf, size_t __buflen); - -extern uint8_t *escrypt_r(escrypt_local_t *__local, const uint8_t *__passwd, - size_t __passwdlen, const uint8_t *__setting, - uint8_t *__buf, size_t __buflen); - -extern uint8_t *escrypt_gensalt_r(uint32_t __N_log2, uint32_t __r, uint32_t __p, - const uint8_t *__src, size_t __srclen, - uint8_t *__buf, size_t __buflen); - -#endif /* !_CRYPTO_SCRYPT_H_ */ diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c deleted file mode 100755 index 25fa38119..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.c +++ /dev/null @@ -1,91 +0,0 @@ -/*- - * Copyright 2005,2007,2009 Colin Percival - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#include - -#include - -#include "crypto_auth_hmacsha256.h" -#include "pbkdf2-sha256.h" -#include "private/common.h" -#include "utils.h" - -/** - * PBKDF2_SHA256(passwd, passwdlen, salt, saltlen, c, buf, dkLen): - * Compute PBKDF2(passwd, salt, c, dkLen) using HMAC-SHA256 as the PRF, and - * write the output to buf. The value dkLen must be at most 32 * (2^32 - 1). - */ -void -PBKDF2_SHA256(const uint8_t *passwd, size_t passwdlen, const uint8_t *salt, - size_t saltlen, uint64_t c, uint8_t *buf, size_t dkLen) -{ - crypto_auth_hmacsha256_state PShctx, hctx; - size_t i; - uint8_t ivec[4]; - uint8_t U[32]; - uint8_t T[32]; - uint64_t j; - int k; - size_t clen; - -#if SIZE_MAX > 0x1fffffffe0ULL - if (dkLen > 0x1fffffffe0ULL) { - abort(); - } -#endif - crypto_auth_hmacsha256_init(&PShctx, passwd, passwdlen); - crypto_auth_hmacsha256_update(&PShctx, salt, saltlen); - - for (i = 0; i * 32 < dkLen; i++) { - STORE32_BE(ivec, (uint32_t)(i + 1)); - memcpy(&hctx, &PShctx, sizeof(crypto_auth_hmacsha256_state)); - crypto_auth_hmacsha256_update(&hctx, ivec, 4); - crypto_auth_hmacsha256_final(&hctx, U); - - memcpy(T, U, 32); - /* LCOV_EXCL_START */ - for (j = 2; j <= c; j++) { - crypto_auth_hmacsha256_init(&hctx, passwd, passwdlen); - crypto_auth_hmacsha256_update(&hctx, U, 32); - crypto_auth_hmacsha256_final(&hctx, U); - - for (k = 0; k < 32; k++) { - T[k] ^= U[k]; - } - } - /* LCOV_EXCL_STOP */ - - clen = dkLen - i * 32; - if (clen > 32) { - clen = 32; - } - memcpy(&buf[i * 32], T, clen); - } - sodium_memzero((void *) &PShctx, sizeof PShctx); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c deleted file mode 100755 index 0c42af0aa..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c +++ /dev/null @@ -1,256 +0,0 @@ - -#include -#include -#include -#include -#include - -#include "crypto_pwhash_scryptsalsa208sha256.h" -#include "crypto_scrypt.h" -#include "private/common.h" -#include "randombytes.h" -#include "utils.h" - -#define SETTING_SIZE(saltbytes) \ - ((sizeof "$7$" - 1U) + (1U /* N_log2 */) + (5U /* r */) + (5U /* p */) + \ - BYTES2CHARS(saltbytes)) - -static int -pickparams(unsigned long long opslimit, const size_t memlimit, - uint32_t *const N_log2, uint32_t *const p, uint32_t *const r) -{ - unsigned long long maxN; - unsigned long long maxrp; - - if (opslimit < 32768) { - opslimit = 32768; - } - *r = 8; - if (opslimit < memlimit / 32) { - *p = 1; - maxN = opslimit / (*r * 4); - for (*N_log2 = 1; *N_log2 < 63; *N_log2 += 1) { - if ((uint64_t)(1) << *N_log2 > maxN / 2) { - break; - } - } - } else { - maxN = memlimit / ((size_t) *r * 128); - for (*N_log2 = 1; *N_log2 < 63; *N_log2 += 1) { - if ((uint64_t)(1) << *N_log2 > maxN / 2) { - break; - } - } - maxrp = (opslimit / 4) / ((uint64_t)(1) << *N_log2); - /* LCOV_EXCL_START */ - if (maxrp > 0x3fffffff) { - maxrp = 0x3fffffff; - } - /* LCOV_EXCL_STOP */ - *p = (uint32_t)(maxrp) / *r; - } - return 0; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_bytes_min(void) -{ - return crypto_pwhash_scryptsalsa208sha256_BYTES_MIN; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_bytes_max(void) -{ - return crypto_pwhash_scryptsalsa208sha256_BYTES_MAX; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_passwd_min(void) -{ - return crypto_pwhash_scryptsalsa208sha256_PASSWD_MIN; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_passwd_max(void) -{ - return crypto_pwhash_scryptsalsa208sha256_PASSWD_MAX; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_saltbytes(void) -{ - return crypto_pwhash_scryptsalsa208sha256_SALTBYTES; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_strbytes(void) -{ - return crypto_pwhash_scryptsalsa208sha256_STRBYTES; -} - -const char * -crypto_pwhash_scryptsalsa208sha256_strprefix(void) -{ - return crypto_pwhash_scryptsalsa208sha256_STRPREFIX; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_opslimit_min(void) -{ - return crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MIN; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_opslimit_max(void) -{ - return crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MAX; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_memlimit_min(void) -{ - return crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MIN; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_memlimit_max(void) -{ - return crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MAX; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_opslimit_interactive(void) -{ - return crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_memlimit_interactive(void) -{ - return crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive(void) -{ - return crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_SENSITIVE; -} - -size_t -crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive(void) -{ - return crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_SENSITIVE; -} - -int -crypto_pwhash_scryptsalsa208sha256(unsigned char *const out, - unsigned long long outlen, - const char *const passwd, - unsigned long long passwdlen, - const unsigned char *const salt, - unsigned long long opslimit, size_t memlimit) -{ - uint32_t N_log2; - uint32_t p; - uint32_t r; - - memset(out, 0, outlen); - if (passwdlen > crypto_pwhash_scryptsalsa208sha256_PASSWD_MAX || - outlen > crypto_pwhash_scryptsalsa208sha256_BYTES_MAX) { - errno = EFBIG; /* LCOV_EXCL_LINE */ - return -1; /* LCOV_EXCL_LINE */ - } - if (outlen < crypto_pwhash_scryptsalsa208sha256_BYTES_MIN || - pickparams(opslimit, memlimit, &N_log2, &p, &r) != 0) { - errno = EINVAL; /* LCOV_EXCL_LINE */ - return -1; /* LCOV_EXCL_LINE */ - } - return crypto_pwhash_scryptsalsa208sha256_ll( - (const uint8_t *) passwd, (size_t) passwdlen, (const uint8_t *) salt, - crypto_pwhash_scryptsalsa208sha256_SALTBYTES, (uint64_t)(1) << N_log2, - r, p, out, (size_t) outlen); -} - -int -crypto_pwhash_scryptsalsa208sha256_str( - char out[crypto_pwhash_scryptsalsa208sha256_STRBYTES], - const char *const passwd, unsigned long long passwdlen, - unsigned long long opslimit, size_t memlimit) -{ - uint8_t salt[crypto_pwhash_scryptsalsa208sha256_STRSALTBYTES]; - char setting[crypto_pwhash_scryptsalsa208sha256_STRSETTINGBYTES + 1U]; - escrypt_local_t escrypt_local; - uint32_t N_log2; - uint32_t p; - uint32_t r; - - memset(out, 0, crypto_pwhash_scryptsalsa208sha256_STRBYTES); - if (passwdlen > crypto_pwhash_scryptsalsa208sha256_PASSWD_MAX) { - errno = EFBIG; /* LCOV_EXCL_LINE */ - return -1; /* LCOV_EXCL_LINE */ - } - if (passwdlen < crypto_pwhash_scryptsalsa208sha256_PASSWD_MIN || - pickparams(opslimit, memlimit, &N_log2, &p, &r) != 0) { - errno = EINVAL; /* LCOV_EXCL_LINE */ - return -1; /* LCOV_EXCL_LINE */ - } - randombytes_buf(salt, sizeof salt); - if (escrypt_gensalt_r(N_log2, r, p, salt, sizeof salt, (uint8_t *) setting, - sizeof setting) == NULL) { - errno = EINVAL; /* LCOV_EXCL_LINE */ - return -1; /* LCOV_EXCL_LINE */ - } - if (escrypt_init_local(&escrypt_local) != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - if (escrypt_r(&escrypt_local, (const uint8_t *) passwd, (size_t) passwdlen, - (const uint8_t *) setting, (uint8_t *) out, - crypto_pwhash_scryptsalsa208sha256_STRBYTES) == NULL) { - /* LCOV_EXCL_START */ - escrypt_free_local(&escrypt_local); - errno = EINVAL; - return -1; - /* LCOV_EXCL_STOP */ - } - escrypt_free_local(&escrypt_local); - - COMPILER_ASSERT( - SETTING_SIZE(crypto_pwhash_scryptsalsa208sha256_STRSALTBYTES) == - crypto_pwhash_scryptsalsa208sha256_STRSETTINGBYTES); - COMPILER_ASSERT( - crypto_pwhash_scryptsalsa208sha256_STRSETTINGBYTES + 1U + - crypto_pwhash_scryptsalsa208sha256_STRHASHBYTES_ENCODED + 1U == - crypto_pwhash_scryptsalsa208sha256_STRBYTES); - - return 0; -} - -int -crypto_pwhash_scryptsalsa208sha256_str_verify( - const char str[crypto_pwhash_scryptsalsa208sha256_STRBYTES], - const char *const passwd, unsigned long long passwdlen) -{ - char wanted[crypto_pwhash_scryptsalsa208sha256_STRBYTES]; - escrypt_local_t escrypt_local; - int ret = -1; - - if (memchr(str, 0, crypto_pwhash_scryptsalsa208sha256_STRBYTES) != - &str[crypto_pwhash_scryptsalsa208sha256_STRBYTES - 1U]) { - return -1; - } - if (escrypt_init_local(&escrypt_local) != 0) { - return -1; /* LCOV_EXCL_LINE */ - } - memset(wanted, 0, sizeof wanted); - if (escrypt_r(&escrypt_local, (const uint8_t *) passwd, (size_t) passwdlen, - (const uint8_t *) str, (uint8_t *) wanted, - sizeof wanted) == NULL) { - escrypt_free_local(&escrypt_local); - return -1; - } - escrypt_free_local(&escrypt_local); - ret = sodium_memcmp(wanted, str, sizeof wanted); - sodium_memzero(wanted, sizeof wanted); - - return ret; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c deleted file mode 100755 index 3261c4ede..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/scrypt_platform.c +++ /dev/null @@ -1,105 +0,0 @@ -/*- - * Copyright 2013 Alexander Peslyak - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifdef HAVE_SYS_MMAN_H -#include -#endif -#include -#include - -#include "crypto_scrypt.h" -#include "runtime.h" - -#if !defined(MAP_ANON) && defined(MAP_ANONYMOUS) -#define MAP_ANON MAP_ANONYMOUS -#endif - -void * -alloc_region(escrypt_region_t *region, size_t size) -{ - uint8_t *base, *aligned; -#if defined(MAP_ANON) && defined(HAVE_MMAP) - if ((base = (uint8_t *) mmap(NULL, size, PROT_READ | PROT_WRITE, -#ifdef MAP_NOCORE - MAP_ANON | MAP_PRIVATE | MAP_NOCORE, -#else - MAP_ANON | MAP_PRIVATE, -#endif - -1, 0)) == MAP_FAILED) - base = NULL; /* LCOV_EXCL_LINE */ - aligned = base; -#elif defined(HAVE_POSIX_MEMALIGN) - if ((errno = posix_memalign((void **) &base, 64, size)) != 0) { - base = NULL; - } - aligned = base; -#else - base = aligned = NULL; - if (size + 63 < size) - errno = ENOMEM; - else if ((base = (uint8_t *) malloc(size + 63)) != NULL) { - aligned = base + 63; - aligned -= (uintptr_t) aligned & 63; - } -#endif - region->base = base; - region->aligned = aligned; - region->size = base ? size : 0; - - return aligned; -} - -static inline void -init_region(escrypt_region_t *region) -{ - region->base = region->aligned = NULL; - region->size = 0; -} - -int -free_region(escrypt_region_t *region) -{ - if (region->base) { -#if defined(MAP_ANON) && defined(HAVE_MMAP) - if (munmap(region->base, region->size)) { - return -1; /* LCOV_EXCL_LINE */ - } -#else - free(region->base); -#endif - } - init_region(region); - - return 0; -} - -int -escrypt_init_local(escrypt_local_t *local) -{ - init_region(local); - - return 0; -} - -int -escrypt_free_local(escrypt_local_t *local) -{ - return free_region(local); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c deleted file mode 100755 index 0eb802e4e..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/sse/pwhash_scryptsalsa208sha256_sse.c +++ /dev/null @@ -1,392 +0,0 @@ -/*- - * Copyright 2009 Colin Percival - * Copyright 2012,2013 Alexander Peslyak - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * This file was originally written by Colin Percival as part of the Tarsnap - * online backup system. - */ - -#include -#include -#include -#include -#include - -#include "private/common.h" -#include "private/sse2_64_32.h" - -#ifdef HAVE_EMMINTRIN_H - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# endif -# include -# if defined(__XOP__) && defined(DISABLED) -# include -# endif - -# include "../crypto_scrypt.h" -# include "../pbkdf2-sha256.h" - -# if defined(__XOP__) && defined(DISABLED) -# define ARX(out, in1, in2, s) \ - out = _mm_xor_si128(out, _mm_roti_epi32(_mm_add_epi32(in1, in2), s)); -# else -# define ARX(out, in1, in2, s) \ - { \ - __m128i T = _mm_add_epi32(in1, in2); \ - out = _mm_xor_si128(out, _mm_slli_epi32(T, s)); \ - out = _mm_xor_si128(out, _mm_srli_epi32(T, 32 - s)); \ - } -# endif - -# define SALSA20_2ROUNDS \ - /* Operate on "columns". */ \ - ARX(X1, X0, X3, 7) \ - ARX(X2, X1, X0, 9) \ - ARX(X3, X2, X1, 13) \ - ARX(X0, X3, X2, 18) \ - \ - /* Rearrange data. */ \ - X1 = _mm_shuffle_epi32(X1, 0x93); \ - X2 = _mm_shuffle_epi32(X2, 0x4E); \ - X3 = _mm_shuffle_epi32(X3, 0x39); \ - \ - /* Operate on "rows". */ \ - ARX(X3, X0, X1, 7) \ - ARX(X2, X3, X0, 9) \ - ARX(X1, X2, X3, 13) \ - ARX(X0, X1, X2, 18) \ - \ - /* Rearrange data. */ \ - X1 = _mm_shuffle_epi32(X1, 0x39); \ - X2 = _mm_shuffle_epi32(X2, 0x4E); \ - X3 = _mm_shuffle_epi32(X3, 0x93); - -/** - * Apply the salsa20/8 core to the block provided in (X0 ... X3) ^ (Z0 ... Z3). - */ -# define SALSA20_8_XOR(in, out) \ - { \ - __m128i Y0 = X0 = _mm_xor_si128(X0, (in)[0]); \ - __m128i Y1 = X1 = _mm_xor_si128(X1, (in)[1]); \ - __m128i Y2 = X2 = _mm_xor_si128(X2, (in)[2]); \ - __m128i Y3 = X3 = _mm_xor_si128(X3, (in)[3]); \ - SALSA20_2ROUNDS \ - SALSA20_2ROUNDS \ - SALSA20_2ROUNDS \ - SALSA20_2ROUNDS(out)[0] = X0 = _mm_add_epi32(X0, Y0); \ - (out)[1] = X1 = _mm_add_epi32(X1, Y1); \ - (out)[2] = X2 = _mm_add_epi32(X2, Y2); \ - (out)[3] = X3 = _mm_add_epi32(X3, Y3); \ - } - -/** - * blockmix_salsa8(Bin, Bout, r): - * Compute Bout = BlockMix_{salsa20/8, r}(Bin). The input Bin must be 128r - * bytes in length; the output Bout must also be the same size. - */ -static inline void -blockmix_salsa8(const __m128i *Bin, __m128i *Bout, size_t r) -{ - __m128i X0, X1, X2, X3; - size_t i; - - /* 1: X <-- B_{2r - 1} */ - X0 = Bin[8 * r - 4]; - X1 = Bin[8 * r - 3]; - X2 = Bin[8 * r - 2]; - X3 = Bin[8 * r - 1]; - - /* 3: X <-- H(X \xor B_i) */ - /* 4: Y_i <-- X */ - /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ - SALSA20_8_XOR(Bin, Bout) - - /* 2: for i = 0 to 2r - 1 do */ - r--; - for (i = 0; i < r;) { - /* 3: X <-- H(X \xor B_i) */ - /* 4: Y_i <-- X */ - /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ - SALSA20_8_XOR(&Bin[i * 8 + 4], &Bout[(r + i) * 4 + 4]) - - i++; - - /* 3: X <-- H(X \xor B_i) */ - /* 4: Y_i <-- X */ - /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ - SALSA20_8_XOR(&Bin[i * 8], &Bout[i * 4]) - } - - /* 3: X <-- H(X \xor B_i) */ - /* 4: Y_i <-- X */ - /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ - SALSA20_8_XOR(&Bin[i * 8 + 4], &Bout[(r + i) * 4 + 4]) -} - -# define XOR4(in) \ - X0 = _mm_xor_si128(X0, (in)[0]); \ - X1 = _mm_xor_si128(X1, (in)[1]); \ - X2 = _mm_xor_si128(X2, (in)[2]); \ - X3 = _mm_xor_si128(X3, (in)[3]); - -# define XOR4_2(in1, in2) \ - X0 = _mm_xor_si128((in1)[0], (in2)[0]); \ - X1 = _mm_xor_si128((in1)[1], (in2)[1]); \ - X2 = _mm_xor_si128((in1)[2], (in2)[2]); \ - X3 = _mm_xor_si128((in1)[3], (in2)[3]); - -static inline uint32_t -blockmix_salsa8_xor(const __m128i *Bin1, const __m128i *Bin2, __m128i *Bout, - size_t r) -{ - __m128i X0, X1, X2, X3; - size_t i; - - /* 1: X <-- B_{2r - 1} */ - XOR4_2(&Bin1[8 * r - 4], &Bin2[8 * r - 4]) - - /* 3: X <-- H(X \xor B_i) */ - /* 4: Y_i <-- X */ - /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ - XOR4(Bin1) - SALSA20_8_XOR(Bin2, Bout) - - /* 2: for i = 0 to 2r - 1 do */ - r--; - for (i = 0; i < r;) { - /* 3: X <-- H(X \xor B_i) */ - /* 4: Y_i <-- X */ - /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ - XOR4(&Bin1[i * 8 + 4]) - SALSA20_8_XOR(&Bin2[i * 8 + 4], &Bout[(r + i) * 4 + 4]) - - i++; - - /* 3: X <-- H(X \xor B_i) */ - /* 4: Y_i <-- X */ - /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ - XOR4(&Bin1[i * 8]) - SALSA20_8_XOR(&Bin2[i * 8], &Bout[i * 4]) - } - - /* 3: X <-- H(X \xor B_i) */ - /* 4: Y_i <-- X */ - /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ - XOR4(&Bin1[i * 8 + 4]) - SALSA20_8_XOR(&Bin2[i * 8 + 4], &Bout[(r + i) * 4 + 4]) - - return _mm_cvtsi128_si32(X0); -} - -# undef ARX -# undef SALSA20_2ROUNDS -# undef SALSA20_8_XOR -# undef XOR4 -# undef XOR4_2 - -/** - * integerify(B, r): - * Return the result of parsing B_{2r-1} as a little-endian integer. - * Note that B's layout is permuted compared to the generic implementation. - */ -static inline uint32_t -integerify(const void *B, size_t r) -{ - return *(const uint32_t *) ((uintptr_t)(B) + (2 * r - 1) * 64); -} - -/** - * smix(B, r, N, V, XY): - * Compute B = SMix_r(B, N). The input B must be 128r bytes in length; - * the temporary storage V must be 128rN bytes in length; the temporary - * storage XY must be 256r + 64 bytes in length. The value N must be a - * power of 2 greater than 1. The arrays B, V, and XY must be aligned to a - * multiple of 64 bytes. - */ -static void -smix(uint8_t *B, size_t r, uint32_t N, void *V, void *XY) -{ - size_t s = 128 * r; - __m128i * X = (__m128i *) V, *Y; - uint32_t *X32 = (uint32_t *) V; - uint32_t i, j; - size_t k; - - /* 1: X <-- B */ - /* 3: V_i <-- X */ - for (k = 0; k < 2 * r; k++) { - for (i = 0; i < 16; i++) { - X32[k * 16 + i] = LOAD32_LE(&B[(k * 16 + (i * 5 % 16)) * 4]); - } - } - - /* 2: for i = 0 to N - 1 do */ - for (i = 1; i < N - 1; i += 2) { - /* 4: X <-- H(X) */ - /* 3: V_i <-- X */ - Y = (__m128i *) ((uintptr_t)(V) + i * s); - blockmix_salsa8(X, Y, r); - - /* 4: X <-- H(X) */ - /* 3: V_i <-- X */ - X = (__m128i *) ((uintptr_t)(V) + (i + 1) * s); - blockmix_salsa8(Y, X, r); - } - - /* 4: X <-- H(X) */ - /* 3: V_i <-- X */ - Y = (__m128i *) ((uintptr_t)(V) + i * s); - blockmix_salsa8(X, Y, r); - - /* 4: X <-- H(X) */ - /* 3: V_i <-- X */ - X = (__m128i *) XY; - blockmix_salsa8(Y, X, r); - - X32 = (uint32_t *) XY; - Y = (__m128i *) ((uintptr_t)(XY) + s); - - /* 7: j <-- Integerify(X) mod N */ - j = integerify(X, r) & (N - 1); - - /* 6: for i = 0 to N - 1 do */ - for (i = 0; i < N; i += 2) { - __m128i *V_j = (__m128i *) ((uintptr_t)(V) + j * s); - - /* 8: X <-- H(X \xor V_j) */ - /* 7: j <-- Integerify(X) mod N */ - j = blockmix_salsa8_xor(X, V_j, Y, r) & (N - 1); - V_j = (__m128i *) ((uintptr_t)(V) + j * s); - - /* 8: X <-- H(X \xor V_j) */ - /* 7: j <-- Integerify(X) mod N */ - j = blockmix_salsa8_xor(Y, V_j, X, r) & (N - 1); - } - - /* 10: B' <-- X */ - for (k = 0; k < 2 * r; k++) { - for (i = 0; i < 16; i++) { - STORE32_LE(&B[(k * 16 + (i * 5 % 16)) * 4], X32[k * 16 + i]); - } - } -} - -/** - * escrypt_kdf(local, passwd, passwdlen, salt, saltlen, - * N, r, p, buf, buflen): - * Compute scrypt(passwd[0 .. passwdlen - 1], salt[0 .. saltlen - 1], N, r, - * p, buflen) and write the result into buf. The parameters r, p, and buflen - * must satisfy r * p < 2^30 and buflen <= (2^32 - 1) * 32. The parameter N - * must be a power of 2 greater than 1. - * - * Return 0 on success; or -1 on error. - */ -int -escrypt_kdf_sse(escrypt_local_t *local, const uint8_t *passwd, size_t passwdlen, - const uint8_t *salt, size_t saltlen, uint64_t N, uint32_t _r, - uint32_t _p, uint8_t *buf, size_t buflen) -{ - size_t B_size, V_size, XY_size, need; - uint8_t * B; - uint32_t *V, *XY; - size_t r = _r, p = _p; - uint32_t i; - -/* Sanity-check parameters. */ -# if SIZE_MAX > UINT32_MAX - if (buflen > (((uint64_t)(1) << 32) - 1) * 32) { - errno = EFBIG; - return -1; - } -# endif - if ((uint64_t)(r) * (uint64_t)(p) >= ((uint64_t) 1 << 30)) { - errno = EFBIG; - return -1; - } - if (N > UINT32_MAX) { - errno = EFBIG; - return -1; - } - if (((N & (N - 1)) != 0) || (N < 2)) { - errno = EINVAL; - return -1; - } - if (r == 0 || p == 0) { - errno = EINVAL; - return -1; - } - if ((r > SIZE_MAX / 128 / p) || -# if SIZE_MAX / 256 <= UINT32_MAX - (r > SIZE_MAX / 256) || -# endif - (N > SIZE_MAX / 128 / r)) { - errno = ENOMEM; - return -1; - } - - /* Allocate memory. */ - B_size = (size_t) 128 * r * p; - V_size = (size_t) 128 * r * N; - need = B_size + V_size; - if (need < V_size) { - errno = ENOMEM; - return -1; - } - XY_size = (size_t) 256 * r + 64; - need += XY_size; - if (need < XY_size) { - errno = ENOMEM; - return -1; - } - if (local->size < need) { - if (free_region(local)) { - return -1; /* LCOV_EXCL_LINE */ - } - if (!alloc_region(local, need)) { - return -1; /* LCOV_EXCL_LINE */ - } - } - B = (uint8_t *) local->aligned; - V = (uint32_t *) ((uint8_t *) B + B_size); - XY = (uint32_t *) ((uint8_t *) V + V_size); - - /* 1: (B_0 ... B_{p-1}) <-- PBKDF2(P, S, 1, p * MFLen) */ - PBKDF2_SHA256(passwd, passwdlen, salt, saltlen, 1, B, B_size); - - /* 2: for i = 0 to p - 1 do */ - for (i = 0; i < p; i++) { - /* 3: B_i <-- MF(B_i, N) */ - smix(&B[(size_t) 128 * i * r], r, (uint32_t) N, V, XY); - } - - /* 5: DK <-- PBKDF2(P, B, 1, dkLen) */ - PBKDF2_SHA256(passwd, passwdlen, B, B_size, 1, buf, buflen); - - /* Success! */ - return 0; -} -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/crypto_scalarmult.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/crypto_scalarmult.c deleted file mode 100755 index 9afffce8a..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/crypto_scalarmult.c +++ /dev/null @@ -1,33 +0,0 @@ - -#include "crypto_scalarmult.h" - -const char * -crypto_scalarmult_primitive(void) -{ - return crypto_scalarmult_PRIMITIVE; -} - -int -crypto_scalarmult_base(unsigned char *q, const unsigned char *n) -{ - return crypto_scalarmult_curve25519_base(q, n); -} - -int -crypto_scalarmult(unsigned char *q, const unsigned char *n, - const unsigned char *p) -{ - return crypto_scalarmult_curve25519(q, n, p); -} - -size_t -crypto_scalarmult_bytes(void) -{ - return crypto_scalarmult_BYTES; -} - -size_t -crypto_scalarmult_scalarbytes(void) -{ - return crypto_scalarmult_SCALARBYTES; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.c deleted file mode 100755 index 84ea326cb..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.c +++ /dev/null @@ -1,545 +0,0 @@ -/* Copyright 2008, Google Inc. - * All rights reserved. - * - * Code released into the public domain. - * - * curve25519-donna: Curve25519 elliptic curve, public key function - * - * http://code.google.com/p/curve25519-donna/ - * - * Adam Langley - * Parts optimised by floodyberry - * Derived from public domain C code by Daniel J. Bernstein - * - * More information about curve25519 can be found here - * http://cr.yp.to/ecdh.html - * - * djb's sample implementation of curve25519 is written in a special assembly - * language called qhasm and uses the floating point registers. - * - * This is, almost, a clean room reimplementation from the curve25519 paper. It - * uses many of the tricks described therein. Only the crecip function is taken - * from the sample implementation. - */ - -#include -#include - -#ifdef HAVE_TI_MODE - -#include "../scalarmult_curve25519.h" -#include "curve25519_donna_c64.h" -#include "utils.h" - -typedef uint8_t u8; -typedef uint64_t limb; -typedef limb felem[5]; -/* Special gcc mode for 128-bit integers */ -typedef unsigned uint128_t __attribute__((mode(TI))); - -/* Sum two numbers: output += in */ -static inline void -fsum(limb *output, const limb *in) -{ - output[0] += in[0]; - output[1] += in[1]; - output[2] += in[2]; - output[3] += in[3]; - output[4] += in[4]; -} - -/* Find the difference of two numbers: output = in - output - * (note the order of the arguments!) - * - * Assumes that out[i] < 2**52 - * On return, out[i] < 2**55 - */ -static inline void -fdifference_backwards(felem out, const felem in) -{ - /* 152 is 19 << 3 */ - static const limb two54m152 = (((limb)1) << 54) - 152; - static const limb two54m8 = (((limb)1) << 54) - 8; - - out[0] = in[0] + two54m152 - out[0]; - out[1] = in[1] + two54m8 - out[1]; - out[2] = in[2] + two54m8 - out[2]; - out[3] = in[3] + two54m8 - out[3]; - out[4] = in[4] + two54m8 - out[4]; -} - -/* Multiply a number by a scalar: output = in * scalar */ -static inline void -fscalar_product(felem output, const felem in, const limb scalar) -{ - uint128_t a; - - a = in[0] * (uint128_t)scalar; - output[0] = ((limb)a) & 0x7ffffffffffff; - - a = in[1] * (uint128_t)scalar + ((limb)(a >> 51)); - output[1] = ((limb)a) & 0x7ffffffffffff; - - a = in[2] * (uint128_t)scalar + ((limb)(a >> 51)); - output[2] = ((limb)a) & 0x7ffffffffffff; - - a = in[3] * (uint128_t)scalar + ((limb)(a >> 51)); - output[3] = ((limb)a) & 0x7ffffffffffff; - - a = in[4] * (uint128_t)scalar + ((limb)(a >> 51)); - output[4] = ((limb)a) & 0x7ffffffffffff; - - output[0] += (a >> 51) * 19; -} - -/* Multiply two numbers: output = in2 * in - * - * output must be distinct to both inputs. The inputs are reduced coefficient - * form, the output is not. - * - * Assumes that in[i] < 2**55 and likewise for in2. - * On return, output[i] < 2**52 - */ -static inline void -fmul(felem output, const felem in2, const felem in) -{ - uint128_t t[5]; - limb r0, r1, r2, r3, r4, s0, s1, s2, s3, s4, c; - - r0 = in[0]; - r1 = in[1]; - r2 = in[2]; - r3 = in[3]; - r4 = in[4]; - - s0 = in2[0]; - s1 = in2[1]; - s2 = in2[2]; - s3 = in2[3]; - s4 = in2[4]; - - t[0] = ((uint128_t)r0) * s0; - t[1] = ((uint128_t)r0) * s1 + ((uint128_t)r1) * s0; - t[2] = ((uint128_t)r0) * s2 + ((uint128_t)r2) * s0 + ((uint128_t)r1) * s1; - t[3] = ((uint128_t)r0) * s3 + ((uint128_t)r3) * s0 + ((uint128_t)r1) * s2 - + ((uint128_t)r2) * s1; - t[4] = ((uint128_t)r0) * s4 + ((uint128_t)r4) * s0 + ((uint128_t)r3) * s1 - + ((uint128_t)r1) * s3 + ((uint128_t)r2) * s2; - - r4 *= 19; - r1 *= 19; - r2 *= 19; - r3 *= 19; - - t[0] += ((uint128_t)r4) * s1 + ((uint128_t)r1) * s4 + ((uint128_t)r2) * s3 - + ((uint128_t)r3) * s2; - t[1] += ((uint128_t)r4) * s2 + ((uint128_t)r2) * s4 + ((uint128_t)r3) * s3; - t[2] += ((uint128_t)r4) * s3 + ((uint128_t)r3) * s4; - t[3] += ((uint128_t)r4) * s4; - - r0 = (limb)t[0] & 0x7ffffffffffff; - c = (limb)(t[0] >> 51); - t[1] += c; - r1 = (limb)t[1] & 0x7ffffffffffff; - c = (limb)(t[1] >> 51); - t[2] += c; - r2 = (limb)t[2] & 0x7ffffffffffff; - c = (limb)(t[2] >> 51); - t[3] += c; - r3 = (limb)t[3] & 0x7ffffffffffff; - c = (limb)(t[3] >> 51); - t[4] += c; - r4 = (limb)t[4] & 0x7ffffffffffff; - c = (limb)(t[4] >> 51); - r0 += c * 19; - c = r0 >> 51; - r0 = r0 & 0x7ffffffffffff; - r1 += c; - c = r1 >> 51; - r1 = r1 & 0x7ffffffffffff; - r2 += c; - - output[0] = r0; - output[1] = r1; - output[2] = r2; - output[3] = r3; - output[4] = r4; -} - -static inline void -fsquare_times(felem output, const felem in, limb count) -{ - uint128_t t[5]; - limb r0, r1, r2, r3, r4, c; - limb d0, d1, d2, d4, d419; - - r0 = in[0]; - r1 = in[1]; - r2 = in[2]; - r3 = in[3]; - r4 = in[4]; - - do { - d0 = r0 * 2; - d1 = r1 * 2; - d2 = r2 * 2 * 19; - d419 = r4 * 19; - d4 = d419 * 2; - - t[0] = ((uint128_t)r0) * r0 + ((uint128_t)d4) * r1 - + (((uint128_t)d2) * (r3)); - t[1] = ((uint128_t)d0) * r1 + ((uint128_t)d4) * r2 - + (((uint128_t)r3) * (r3 * 19)); - t[2] = ((uint128_t)d0) * r2 + ((uint128_t)r1) * r1 - + (((uint128_t)d4) * (r3)); - t[3] = ((uint128_t)d0) * r3 + ((uint128_t)d1) * r2 - + (((uint128_t)r4) * (d419)); - t[4] = ((uint128_t)d0) * r4 + ((uint128_t)d1) * r3 - + (((uint128_t)r2) * (r2)); - - r0 = (limb)t[0] & 0x7ffffffffffff; - c = (limb)(t[0] >> 51); - t[1] += c; - r1 = (limb)t[1] & 0x7ffffffffffff; - c = (limb)(t[1] >> 51); - t[2] += c; - r2 = (limb)t[2] & 0x7ffffffffffff; - c = (limb)(t[2] >> 51); - t[3] += c; - r3 = (limb)t[3] & 0x7ffffffffffff; - c = (limb)(t[3] >> 51); - t[4] += c; - r4 = (limb)t[4] & 0x7ffffffffffff; - c = (limb)(t[4] >> 51); - r0 += c * 19; - c = r0 >> 51; - r0 = r0 & 0x7ffffffffffff; - r1 += c; - c = r1 >> 51; - r1 = r1 & 0x7ffffffffffff; - r2 += c; - } while (--count); - - output[0] = r0; - output[1] = r1; - output[2] = r2; - output[3] = r3; - output[4] = r4; -} - -#ifdef NATIVE_LITTLE_ENDIAN -static inline limb -load_limb(const u8 *in) -{ - limb out; - - memcpy(&out, in, sizeof(limb)); - return out; -} -static inline void -store_limb(u8 *out, limb in) -{ - memcpy(out, &in, sizeof(limb)); -} -#else -static inline limb -load_limb(const u8 *in) -{ - return ((limb)in[0]) | (((limb)in[1]) << 8) | (((limb)in[2]) << 16) - | (((limb)in[3]) << 24) | (((limb)in[4]) << 32) - | (((limb)in[5]) << 40) | (((limb)in[6]) << 48) - | (((limb)in[7]) << 56); -} - -static inline void -store_limb(u8 *out, limb in) -{ - out[0] = in & 0xff; - out[1] = (in >> 8) & 0xff; - out[2] = (in >> 16) & 0xff; - out[3] = (in >> 24) & 0xff; - out[4] = (in >> 32) & 0xff; - out[5] = (in >> 40) & 0xff; - out[6] = (in >> 48) & 0xff; - out[7] = (in >> 56) & 0xff; -} -#endif - -/* Take a little-endian, 32-byte number and expand it into polynomial form */ -static void -fexpand(limb *output, const u8 *in) -{ - output[0] = load_limb(in) & 0x7ffffffffffff; - output[1] = (load_limb(in + 6) >> 3) & 0x7ffffffffffff; - output[2] = (load_limb(in + 12) >> 6) & 0x7ffffffffffff; - output[3] = (load_limb(in + 19) >> 1) & 0x7ffffffffffff; - output[4] = (load_limb(in + 24) >> 12) & 0x7ffffffffffff; -} - -/* Take a fully reduced polynomial form number and contract it into a - * little-endian, 32-byte array - */ -static void -fcontract(u8 *output, const felem input) -{ - uint128_t t[5]; - - t[0] = input[0]; - t[1] = input[1]; - t[2] = input[2]; - t[3] = input[3]; - t[4] = input[4]; - - t[1] += t[0] >> 51; - t[0] &= 0x7ffffffffffff; - t[2] += t[1] >> 51; - t[1] &= 0x7ffffffffffff; - t[3] += t[2] >> 51; - t[2] &= 0x7ffffffffffff; - t[4] += t[3] >> 51; - t[3] &= 0x7ffffffffffff; - t[0] += 19 * (t[4] >> 51); - t[4] &= 0x7ffffffffffff; - - t[1] += t[0] >> 51; - t[0] &= 0x7ffffffffffff; - t[2] += t[1] >> 51; - t[1] &= 0x7ffffffffffff; - t[3] += t[2] >> 51; - t[2] &= 0x7ffffffffffff; - t[4] += t[3] >> 51; - t[3] &= 0x7ffffffffffff; - t[0] += 19 * (t[4] >> 51); - t[4] &= 0x7ffffffffffff; - - /* now t is between 0 and 2^255-1, properly carried. */ - /* case 1: between 0 and 2^255-20. case 2: between 2^255-19 and 2^255-1. */ - - t[0] += 19; - - t[1] += t[0] >> 51; - t[0] &= 0x7ffffffffffff; - t[2] += t[1] >> 51; - t[1] &= 0x7ffffffffffff; - t[3] += t[2] >> 51; - t[2] &= 0x7ffffffffffff; - t[4] += t[3] >> 51; - t[3] &= 0x7ffffffffffff; - t[0] += 19 * (t[4] >> 51); - t[4] &= 0x7ffffffffffff; - - /* now between 19 and 2^255-1 in both cases, and offset by 19. */ - - t[0] += 0x8000000000000 - 19; - t[1] += 0x8000000000000 - 1; - t[2] += 0x8000000000000 - 1; - t[3] += 0x8000000000000 - 1; - t[4] += 0x8000000000000 - 1; - - /* now between 2^255 and 2^256-20, and offset by 2^255. */ - - t[1] += t[0] >> 51; - t[0] &= 0x7ffffffffffff; - t[2] += t[1] >> 51; - t[1] &= 0x7ffffffffffff; - t[3] += t[2] >> 51; - t[2] &= 0x7ffffffffffff; - t[4] += t[3] >> 51; - t[3] &= 0x7ffffffffffff; - t[4] &= 0x7ffffffffffff; - - store_limb(output, t[0] | (t[1] << 51)); - store_limb(output + 8, (t[1] >> 13) | (t[2] << 38)); - store_limb(output + 16, (t[2] >> 26) | (t[3] << 25)); - store_limb(output + 24, (t[3] >> 39) | (t[4] << 12)); -} - -/* Input: Q, Q', Q-Q' - * Output: 2Q, Q+Q' - * - * x2 z2: long form - * x3 z3: long form - * x z: short form, destroyed - * xprime zprime: short form, destroyed - * qmqp: short form, preserved - */ -static void -fmonty(limb *x2, limb *z2, /* output 2Q */ - limb *x3, limb *z3, /* output Q + Q' */ - limb *x, limb *z, /* input Q */ - limb *xprime, limb *zprime, /* input Q' */ - const limb *qmqp /* input Q - Q' */) -{ - limb origx[5], origxprime[5], zzz[5], xx[5], zz[5], xxprime[5], zzprime[5], - zzzprime[5]; - - memcpy(origx, x, 5 * sizeof(limb)); - fsum(x, z); - fdifference_backwards(z, origx); /* does x - z */ - - memcpy(origxprime, xprime, sizeof(limb) * 5); - fsum(xprime, zprime); - fdifference_backwards(zprime, origxprime); - fmul(xxprime, xprime, z); - fmul(zzprime, x, zprime); - memcpy(origxprime, xxprime, sizeof(limb) * 5); - fsum(xxprime, zzprime); - fdifference_backwards(zzprime, origxprime); - fsquare_times(x3, xxprime, 1); - fsquare_times(zzzprime, zzprime, 1); - fmul(z3, zzzprime, qmqp); - - fsquare_times(xx, x, 1); - fsquare_times(zz, z, 1); - fmul(x2, xx, zz); - fdifference_backwards(zz, xx); /* does zz = xx - zz */ - fscalar_product(zzz, zz, 121665); - fsum(zzz, xx); - fmul(z2, zz, zzz); -} - -/* ----------------------------------------------------------------------------- - Maybe swap the contents of two limb arrays (@a and @b), each @len elements - long. Perform the swap iff @swap is non-zero. - - This function performs the swap without leaking any side-channel - information. - ----------------------------------------------------------------------------- - */ -static void -swap_conditional(limb a[5], limb b[5], limb iswap) -{ - const limb swap = -iswap; - unsigned i; - - for (i = 0; i < 5; ++i) { - const limb x = swap & (a[i] ^ b[i]); - a[i] ^= x; - b[i] ^= x; - } -} - -/* Calculates nQ where Q is the x-coordinate of a point on the curve - * - * resultx/resultz: the x coordinate of the resulting curve point (short form) - * n: a little endian, 32-byte number - * q: a point of the curve (short form) - */ -static void -cmult(limb *resultx, limb *resultz, const u8 *n, const limb *q) -{ - limb a[5] = { 0 }, b[5] = { 1 }, c[5] = { 1 }, d[5] = { 0 }; - limb *nqpqx = a, *nqpqz = b, *nqx = c, *nqz = d, *t; - limb e[5] = { 0 }, f[5] = { 1 }, g[5] = { 0 }, h[5] = { 1 }; - limb *nqpqx2 = e, *nqpqz2 = f, *nqx2 = g, *nqz2 = h; - - unsigned i, j; - - memcpy(nqpqx, q, sizeof(limb) * 5); - - for (i = 0; i < 32; ++i) { - u8 byte = n[31 - i]; - for (j = 0; j < 8; ++j) { - const limb bit = byte >> 7; - - swap_conditional(nqx, nqpqx, bit); - swap_conditional(nqz, nqpqz, bit); - fmonty(nqx2, nqz2, nqpqx2, nqpqz2, nqx, nqz, nqpqx, nqpqz, q); - swap_conditional(nqx2, nqpqx2, bit); - swap_conditional(nqz2, nqpqz2, bit); - - t = nqx; - nqx = nqx2; - nqx2 = t; - t = nqz; - nqz = nqz2; - nqz2 = t; - t = nqpqx; - nqpqx = nqpqx2; - nqpqx2 = t; - t = nqpqz; - nqpqz = nqpqz2; - nqpqz2 = t; - - byte <<= 1; - } - } - - memcpy(resultx, nqx, sizeof(limb) * 5); - memcpy(resultz, nqz, sizeof(limb) * 5); -} - -/* ----------------------------------------------------------------------------- - Shamelessly copied from djb's code, tightened a little - ----------------------------------------------------------------------------- - */ -static void -crecip(felem out, const felem z) -{ - felem a, t0, b, c; - - /* 2 */ fsquare_times(a, z, 1); /* a = 2 */ - /* 8 */ fsquare_times(t0, a, 2); - /* 9 */ fmul(b, t0, z); /* b = 9 */ - /* 11 */ fmul(a, b, a); /* a = 11 */ - /* 22 */ fsquare_times(t0, a, 1); - /* 2^5 - 2^0 = 31 */ fmul(b, t0, b); - /* 2^10 - 2^5 */ fsquare_times(t0, b, 5); - /* 2^10 - 2^0 */ fmul(b, t0, b); - /* 2^20 - 2^10 */ fsquare_times(t0, b, 10); - /* 2^20 - 2^0 */ fmul(c, t0, b); - /* 2^40 - 2^20 */ fsquare_times(t0, c, 20); - /* 2^40 - 2^0 */ fmul(t0, t0, c); - /* 2^50 - 2^10 */ fsquare_times(t0, t0, 10); - /* 2^50 - 2^0 */ fmul(b, t0, b); - /* 2^100 - 2^50 */ fsquare_times(t0, b, 50); - /* 2^100 - 2^0 */ fmul(c, t0, b); - /* 2^200 - 2^100 */ fsquare_times(t0, c, 100); - /* 2^200 - 2^0 */ fmul(t0, t0, c); - /* 2^250 - 2^50 */ fsquare_times(t0, t0, 50); - /* 2^250 - 2^0 */ fmul(t0, t0, b); - /* 2^255 - 2^5 */ fsquare_times(t0, t0, 5); - /* 2^255 - 21 */ fmul(out, t0, a); -} - -static const unsigned char basepoint[32] = { 9 }; - -static int -crypto_scalarmult_curve25519_donna_c64(unsigned char *mypublic, - const unsigned char *secret, - const unsigned char *basepoint) -{ - limb bp[5], x[5], z[5], zmone[5]; - uint8_t e[32]; - int i; - - for (i = 0; i < 32; ++i) { - e[i] = secret[i]; - } - e[0] &= 248; - e[31] &= 127; - e[31] |= 64; - - fexpand(bp, basepoint); - cmult(x, z, e, bp); - crecip(zmone, z); - fmul(z, x, zmone); - fcontract(mypublic, z); - - return 0; -} - -static int -crypto_scalarmult_curve25519_donna_c64_base(unsigned char *q, - const unsigned char *n) -{ - return crypto_scalarmult_curve25519_donna_c64(q, n, basepoint); -} - -struct crypto_scalarmult_curve25519_implementation - crypto_scalarmult_curve25519_donna_c64_implementation = { - SODIUM_C99(.mult =) crypto_scalarmult_curve25519_donna_c64, - SODIUM_C99(.mult_base =) crypto_scalarmult_curve25519_donna_c64_base - }; - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.h deleted file mode 100755 index d114be51f..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/donna_c64/curve25519_donna_c64.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef curve25519_donna_c64_H -#define curve25519_donna_c64_H - -#include "crypto_scalarmult_curve25519.h" -#include "../scalarmult_curve25519.h" - -extern struct crypto_scalarmult_curve25519_implementation - crypto_scalarmult_curve25519_donna_c64_implementation; - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c deleted file mode 100755 index 7314d7377..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c +++ /dev/null @@ -1,282 +0,0 @@ - -#include -#include - -#ifndef HAVE_TI_MODE - -#include "../scalarmult_curve25519.h" -#include "private/curve25519_ref10.h" -#include "utils.h" -#include "x25519_ref10.h" - -/* -Replace (f,g) with (g,f) if b == 1; -replace (f,g) with (f,g) if b == 0. - -Preconditions: b in {0,1}. -*/ - -static void -fe_cswap(fe f, fe g, unsigned int b) -{ - int32_t f0 = f[0]; - int32_t f1 = f[1]; - int32_t f2 = f[2]; - int32_t f3 = f[3]; - int32_t f4 = f[4]; - int32_t f5 = f[5]; - int32_t f6 = f[6]; - int32_t f7 = f[7]; - int32_t f8 = f[8]; - int32_t f9 = f[9]; - int32_t g0 = g[0]; - int32_t g1 = g[1]; - int32_t g2 = g[2]; - int32_t g3 = g[3]; - int32_t g4 = g[4]; - int32_t g5 = g[5]; - int32_t g6 = g[6]; - int32_t g7 = g[7]; - int32_t g8 = g[8]; - int32_t g9 = g[9]; - int32_t x0 = f0 ^ g0; - int32_t x1 = f1 ^ g1; - int32_t x2 = f2 ^ g2; - int32_t x3 = f3 ^ g3; - int32_t x4 = f4 ^ g4; - int32_t x5 = f5 ^ g5; - int32_t x6 = f6 ^ g6; - int32_t x7 = f7 ^ g7; - int32_t x8 = f8 ^ g8; - int32_t x9 = f9 ^ g9; - - b = (unsigned int)(-(int)b); - x0 &= b; - x1 &= b; - x2 &= b; - x3 &= b; - x4 &= b; - x5 &= b; - x6 &= b; - x7 &= b; - x8 &= b; - x9 &= b; - f[0] = f0 ^ x0; - f[1] = f1 ^ x1; - f[2] = f2 ^ x2; - f[3] = f3 ^ x3; - f[4] = f4 ^ x4; - f[5] = f5 ^ x5; - f[6] = f6 ^ x6; - f[7] = f7 ^ x7; - f[8] = f8 ^ x8; - f[9] = f9 ^ x9; - g[0] = g0 ^ x0; - g[1] = g1 ^ x1; - g[2] = g2 ^ x2; - g[3] = g3 ^ x3; - g[4] = g4 ^ x4; - g[5] = g5 ^ x5; - g[6] = g6 ^ x6; - g[7] = g7 ^ x7; - g[8] = g8 ^ x8; - g[9] = g9 ^ x9; -} - -/* -h = f * 121666 -Can overlap h with f. - -Preconditions: - |f| bounded by 1.1*2^26,1.1*2^25,1.1*2^26,1.1*2^25,etc. - -Postconditions: - |h| bounded by 1.1*2^25,1.1*2^24,1.1*2^25,1.1*2^24,etc. -*/ - -static void -fe_mul121666(fe h, const fe f) -{ - int32_t f0 = f[0]; - int32_t f1 = f[1]; - int32_t f2 = f[2]; - int32_t f3 = f[3]; - int32_t f4 = f[4]; - int32_t f5 = f[5]; - int32_t f6 = f[6]; - int32_t f7 = f[7]; - int32_t f8 = f[8]; - int32_t f9 = f[9]; - int64_t h0 = f0 * (int64_t)121666; - int64_t h1 = f1 * (int64_t)121666; - int64_t h2 = f2 * (int64_t)121666; - int64_t h3 = f3 * (int64_t)121666; - int64_t h4 = f4 * (int64_t)121666; - int64_t h5 = f5 * (int64_t)121666; - int64_t h6 = f6 * (int64_t)121666; - int64_t h7 = f7 * (int64_t)121666; - int64_t h8 = f8 * (int64_t)121666; - int64_t h9 = f9 * (int64_t)121666; - int64_t carry0; - int64_t carry1; - int64_t carry2; - int64_t carry3; - int64_t carry4; - int64_t carry5; - int64_t carry6; - int64_t carry7; - int64_t carry8; - int64_t carry9; - - carry9 = (h9 + ((int64_t)1 << 24)) >> 25; - h0 += carry9 * 19; - h9 -= carry9 * ((int64_t)1 << 25); - carry1 = (h1 + ((int64_t)1 << 24)) >> 25; - h2 += carry1; - h1 -= carry1 * ((int64_t)1 << 25); - carry3 = (h3 + ((int64_t)1 << 24)) >> 25; - h4 += carry3; - h3 -= carry3 * ((int64_t)1 << 25); - carry5 = (h5 + ((int64_t)1 << 24)) >> 25; - h6 += carry5; - h5 -= carry5 * ((int64_t)1 << 25); - carry7 = (h7 + ((int64_t)1 << 24)) >> 25; - h8 += carry7; - h7 -= carry7 * ((int64_t)1 << 25); - - carry0 = (h0 + ((int64_t)1 << 25)) >> 26; - h1 += carry0; - h0 -= carry0 * ((int64_t)1 << 26); - carry2 = (h2 + ((int64_t)1 << 25)) >> 26; - h3 += carry2; - h2 -= carry2 * ((int64_t)1 << 26); - carry4 = (h4 + ((int64_t)1 << 25)) >> 26; - h5 += carry4; - h4 -= carry4 * ((int64_t)1 << 26); - carry6 = (h6 + ((int64_t)1 << 25)) >> 26; - h7 += carry6; - h6 -= carry6 * ((int64_t)1 << 26); - carry8 = (h8 + ((int64_t)1 << 25)) >> 26; - h9 += carry8; - h8 -= carry8 * ((int64_t)1 << 26); - - h[0] = h0; - h[1] = h1; - h[2] = h2; - h[3] = h3; - h[4] = h4; - h[5] = h5; - h[6] = h6; - h[7] = h7; - h[8] = h8; - h[9] = h9; -} - -static int -crypto_scalarmult_curve25519_ref10(unsigned char *q, - const unsigned char *n, - const unsigned char *p) -{ - unsigned char e[32]; - unsigned int i; - fe x1; - fe x2; - fe z2; - fe x3; - fe z3; - fe tmp0; - fe tmp1; - int pos; - unsigned int swap; - unsigned int b; - - for (i = 0; i < 32; ++i) { - e[i] = n[i]; - } - e[0] &= 248; - e[31] &= 127; - e[31] |= 64; - fe_frombytes(x1, p); - fe_1(x2); - fe_0(z2); - fe_copy(x3, x1); - fe_1(z3); - - swap = 0; - for (pos = 254; pos >= 0; --pos) { - b = e[pos / 8] >> (pos & 7); - b &= 1; - swap ^= b; - fe_cswap(x2, x3, swap); - fe_cswap(z2, z3, swap); - swap = b; - fe_sub(tmp0, x3, z3); - fe_sub(tmp1, x2, z2); - fe_add(x2, x2, z2); - fe_add(z2, x3, z3); - fe_mul(z3, tmp0, x2); - fe_mul(z2, z2, tmp1); - fe_sq(tmp0, tmp1); - fe_sq(tmp1, x2); - fe_add(x3, z3, z2); - fe_sub(z2, z3, z2); - fe_mul(x2, tmp1, tmp0); - fe_sub(tmp1, tmp1, tmp0); - fe_sq(z2, z2); - fe_mul121666(z3, tmp1); - fe_sq(x3, x3); - fe_add(tmp0, tmp0, z3); - fe_mul(z3, x1, z2); - fe_mul(z2, tmp1, tmp0); - } - fe_cswap(x2, x3, swap); - fe_cswap(z2, z3, swap); - - fe_invert(z2, z2); - fe_mul(x2, x2, z2); - fe_tobytes(q, x2); - - return 0; -} - -static void -edwards_to_montgomery(fe montgomeryX, const fe edwardsY, const fe edwardsZ) -{ - fe tempX; - fe tempZ; - - fe_add(tempX, edwardsZ, edwardsY); - fe_sub(tempZ, edwardsZ, edwardsY); - fe_invert(tempZ, tempZ); - fe_mul(montgomeryX, tempX, tempZ); -} - -static int -crypto_scalarmult_curve25519_ref10_base(unsigned char *q, - const unsigned char *n) -{ - unsigned char e[32]; - ge_p3 A; - fe pk; - unsigned int i; - - for (i = 0; i < 32; ++i) { - e[i] = n[i]; - } - e[0] &= 248; - e[31] &= 127; - e[31] |= 64; - ge_scalarmult_base(&A, e); - edwards_to_montgomery(pk, A.Y, A.Z); - fe_tobytes(q, pk); - - return 0; -} - -struct crypto_scalarmult_curve25519_implementation - crypto_scalarmult_curve25519_ref10_implementation = { - SODIUM_C99(.mult =) crypto_scalarmult_curve25519_ref10, - SODIUM_C99(.mult_base =) crypto_scalarmult_curve25519_ref10_base - }; - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h deleted file mode 100755 index 98cf19245..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef x25519_ref10_H -#define x25519_ref10_H - -#include "crypto_scalarmult_curve25519.h" -#include "../scalarmult_curve25519.h" - -extern struct crypto_scalarmult_curve25519_implementation - crypto_scalarmult_curve25519_ref10_implementation; - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h deleted file mode 100755 index 9f81fa61c..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef consts_namespace_H -#define consts_namespace_H - -#define v0_0 crypto_scalarmult_curve25519_sandy2x_v0_0 -#define v1_0 crypto_scalarmult_curve25519_sandy2x_v1_0 -#define v2_1 crypto_scalarmult_curve25519_sandy2x_v2_1 -#define v9_0 crypto_scalarmult_curve25519_sandy2x_v9_0 -#define v9_9 crypto_scalarmult_curve25519_sandy2x_v9_9 -#define v19_19 crypto_scalarmult_curve25519_sandy2x_v19_19 -#define v38_1 crypto_scalarmult_curve25519_sandy2x_v38_1 -#define v38_38 crypto_scalarmult_curve25519_sandy2x_v38_38 -#define v121666_121666 crypto_scalarmult_curve25519_sandy2x_v121666_121666 -#define m25 crypto_scalarmult_curve25519_sandy2x_m25 -#define m26 crypto_scalarmult_curve25519_sandy2x_m26 -#define subc0 crypto_scalarmult_curve25519_sandy2x_subc0 -#define subc2 crypto_scalarmult_curve25519_sandy2x_subc2 -#define REDMASK51 crypto_scalarmult_curve25519_sandy2x_REDMASK51 - -#endif /* ifndef consts_namespace_H */ - diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c deleted file mode 100755 index 3d126a0e9..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c +++ /dev/null @@ -1,114 +0,0 @@ -/* - This file is adapted from ref10/scalarmult.c: - The code for Mongomery ladder is replace by the ladder assembly function; - Inversion is done in the same way as amd64-51/. - (fe is first converted into fe51 after Mongomery ladder) -*/ - -#include - -#ifdef HAVE_AVX_ASM - -#include "utils.h" -#include "curve25519_sandy2x.h" -#include "../scalarmult_curve25519.h" -#include "fe.h" -#include "fe51.h" -#include "ladder.h" -#include "ladder_base.h" - -#define x1 var[0] -#define x2 var[1] -#define z2 var[2] - -static int -crypto_scalarmult_curve25519_sandy2x(unsigned char *q, const unsigned char *n, - const unsigned char *p) -{ - unsigned char e[32]; - unsigned int i; - - fe var[3]; - - fe51 x_51; - fe51 z_51; - - for (i = 0;i < 32;++i) e[i] = n[i]; - e[0] &= 248; - e[31] &= 127; - e[31] |= 64; - - fe_frombytes(x1, p); - - ladder(var, e); - - z_51.v[0] = (z2[1] << 26) + z2[0]; - z_51.v[1] = (z2[3] << 26) + z2[2]; - z_51.v[2] = (z2[5] << 26) + z2[4]; - z_51.v[3] = (z2[7] << 26) + z2[6]; - z_51.v[4] = (z2[9] << 26) + z2[8]; - - x_51.v[0] = (x2[1] << 26) + x2[0]; - x_51.v[1] = (x2[3] << 26) + x2[2]; - x_51.v[2] = (x2[5] << 26) + x2[4]; - x_51.v[3] = (x2[7] << 26) + x2[6]; - x_51.v[4] = (x2[9] << 26) + x2[8]; - - fe51_invert(&z_51, &z_51); - fe51_mul(&x_51, &x_51, &z_51); - fe51_pack(q, &x_51); - - return 0; -} - -#undef x2 -#undef z2 - -#define x2 var[0] -#define z2 var[1] - -static int -crypto_scalarmult_curve25519_sandy2x_base(unsigned char *q, - const unsigned char *n) -{ - unsigned char e[32]; - unsigned int i; - - fe var[3]; - - fe51 x_51; - fe51 z_51; - - for (i = 0;i < 32;++i) e[i] = n[i]; - e[0] &= 248; - e[31] &= 127; - e[31] |= 64; - - ladder_base(var, e); - - z_51.v[0] = (z2[1] << 26) + z2[0]; - z_51.v[1] = (z2[3] << 26) + z2[2]; - z_51.v[2] = (z2[5] << 26) + z2[4]; - z_51.v[3] = (z2[7] << 26) + z2[6]; - z_51.v[4] = (z2[9] << 26) + z2[8]; - - x_51.v[0] = (x2[1] << 26) + x2[0]; - x_51.v[1] = (x2[3] << 26) + x2[2]; - x_51.v[2] = (x2[5] << 26) + x2[4]; - x_51.v[3] = (x2[7] << 26) + x2[6]; - x_51.v[4] = (x2[9] << 26) + x2[8]; - - fe51_invert(&z_51, &z_51); - fe51_mul(&x_51, &x_51, &z_51); - fe51_pack(q, &x_51); - - return 0; -} - -struct crypto_scalarmult_curve25519_implementation -crypto_scalarmult_curve25519_sandy2x_implementation = { - SODIUM_C99(.mult = ) crypto_scalarmult_curve25519_sandy2x, - SODIUM_C99(.mult_base = ) crypto_scalarmult_curve25519_sandy2x_base -}; - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h deleted file mode 100755 index f02d98018..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef curve25519_sandy2x_H -#define curve25519_sandy2x_H - -#include "crypto_scalarmult_curve25519.h" - -extern struct crypto_scalarmult_curve25519_implementation - crypto_scalarmult_curve25519_sandy2x_implementation; - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h deleted file mode 100755 index b1115f869..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - This file is adapted from ref10/fe.h: - All the redundant functions are removed. -*/ - -#ifndef fe_H -#define fe_H - -#include -#include - -typedef uint64_t fe[10]; - -/* -fe means field element. -Here the field is \Z/(2^255-19). -An element t, entries t[0]...t[9], represents the integer -t[0]+2^26 t[1]+2^51 t[2]+2^77 t[3]+2^102 t[4]+...+2^230 t[9]. -Bounds on each t[i] vary depending on context. -*/ - -#define fe_frombytes crypto_scalarmult_curve25519_sandy2x_fe_frombytes - -extern void fe_frombytes(fe, const unsigned char *); - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h deleted file mode 100755 index 8e3f199b2..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - This file is adapted from amd64-51/fe25519.h: - 'fe25519' is renamed as 'fe51'; - All the redundant functions are removed; - New function fe51_nsquare is introduced. -*/ - -#ifndef fe51_H -#define fe51_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#include "fe51_namespace.h" - -typedef struct -{ - uint64_t v[5]; -} -fe51; - -extern void fe51_pack(unsigned char *, const fe51 *); -extern void fe51_mul(fe51 *, const fe51 *, const fe51 *); -extern void fe51_nsquare(fe51 *, const fe51 *, int); -extern void fe51_invert(fe51 *, const fe51 *); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c deleted file mode 100755 index 70cd13a00..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - This file is adapted from amd64-51/fe25519_invert.c: - Loops of squares are replaced by nsquares for better performance. -*/ - -#include "fe51.h" - -#ifdef HAVE_AVX_ASM - -#define fe51_square(x, y) fe51_nsquare(x, y, 1) - -void fe51_invert(fe51 *r, const fe51 *x) -{ - fe51 z2; - fe51 z9; - fe51 z11; - fe51 z2_5_0; - fe51 z2_10_0; - fe51 z2_20_0; - fe51 z2_50_0; - fe51 z2_100_0; - fe51 t; - - /* 2 */ fe51_square(&z2,x); - /* 4 */ fe51_square(&t,&z2); - /* 8 */ fe51_square(&t,&t); - /* 9 */ fe51_mul(&z9,&t,x); - /* 11 */ fe51_mul(&z11,&z9,&z2); - /* 22 */ fe51_square(&t,&z11); - /* 2^5 - 2^0 = 31 */ fe51_mul(&z2_5_0,&t,&z9); - - /* 2^10 - 2^5 */ fe51_nsquare(&t,&z2_5_0, 5); - /* 2^10 - 2^0 */ fe51_mul(&z2_10_0,&t,&z2_5_0); - - /* 2^20 - 2^10 */ fe51_nsquare(&t,&z2_10_0, 10); - /* 2^20 - 2^0 */ fe51_mul(&z2_20_0,&t,&z2_10_0); - - /* 2^40 - 2^20 */ fe51_nsquare(&t,&z2_20_0, 20); - /* 2^40 - 2^0 */ fe51_mul(&t,&t,&z2_20_0); - - /* 2^50 - 2^10 */ fe51_nsquare(&t,&t,10); - /* 2^50 - 2^0 */ fe51_mul(&z2_50_0,&t,&z2_10_0); - - /* 2^100 - 2^50 */ fe51_nsquare(&t,&z2_50_0, 50); - /* 2^100 - 2^0 */ fe51_mul(&z2_100_0,&t,&z2_50_0); - - /* 2^200 - 2^100 */ fe51_nsquare(&t,&z2_100_0, 100); - /* 2^200 - 2^0 */ fe51_mul(&t,&t,&z2_100_0); - - /* 2^250 - 2^50 */ fe51_nsquare(&t,&t, 50); - /* 2^250 - 2^0 */ fe51_mul(&t,&t,&z2_50_0); - - /* 2^255 - 2^5 */ fe51_nsquare(&t,&t,5); - /* 2^255 - 21 */ fe51_mul(r,&t,&z11); -} - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h deleted file mode 100755 index 057f242ca..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef fe51_namespace_H -#define fe51_namespace_H - -#define fe51 crypto_scalarmult_curve25519_sandy2x_fe51 -#define _fe51 _crypto_scalarmult_curve25519_sandy2x_fe51 -#define fe51_pack crypto_scalarmult_curve25519_sandy2x_fe51_pack -#define _fe51_pack _crypto_scalarmult_curve25519_sandy2x_fe51_pack -#define fe51_mul crypto_scalarmult_curve25519_sandy2x_fe51_mul -#define _fe51_mul _crypto_scalarmult_curve25519_sandy2x_fe51_mul -#define fe51_nsquare crypto_scalarmult_curve25519_sandy2x_fe51_nsquare -#define _fe51_nsquare _crypto_scalarmult_curve25519_sandy2x_fe51_nsquare - -#define fe51_invert crypto_scalarmult_curve25519_sandy2x_fe51_invert - -#endif /* ifndef fe51_namespace_H */ - diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c deleted file mode 100755 index f1a29a34f..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c +++ /dev/null @@ -1,75 +0,0 @@ -/* - This file is basically ref10/fe_frombytes.h. -*/ - -#include "fe.h" - -#ifdef HAVE_AVX_ASM - -static uint64_t load_3(const unsigned char *in) -{ - uint64_t result; - result = (uint64_t) in[0]; - result |= ((uint64_t) in[1]) << 8; - result |= ((uint64_t) in[2]) << 16; - return result; -} - -static uint64_t load_4(const unsigned char *in) -{ - uint64_t result; - result = (uint64_t) in[0]; - result |= ((uint64_t) in[1]) << 8; - result |= ((uint64_t) in[2]) << 16; - result |= ((uint64_t) in[3]) << 24; - return result; -} - -void fe_frombytes(fe h,const unsigned char *s) -{ - uint64_t h0 = load_4(s); - uint64_t h1 = load_3(s + 4) << 6; - uint64_t h2 = load_3(s + 7) << 5; - uint64_t h3 = load_3(s + 10) << 3; - uint64_t h4 = load_3(s + 13) << 2; - uint64_t h5 = load_4(s + 16); - uint64_t h6 = load_3(s + 20) << 7; - uint64_t h7 = load_3(s + 23) << 5; - uint64_t h8 = load_3(s + 26) << 4; - uint64_t h9 = (load_3(s + 29) & 8388607) << 2; - uint64_t carry0; - uint64_t carry1; - uint64_t carry2; - uint64_t carry3; - uint64_t carry4; - uint64_t carry5; - uint64_t carry6; - uint64_t carry7; - uint64_t carry8; - uint64_t carry9; - - carry9 = h9 >> 25; h0 += carry9 * 19; h9 &= 0x1FFFFFF; - carry1 = h1 >> 25; h2 += carry1; h1 &= 0x1FFFFFF; - carry3 = h3 >> 25; h4 += carry3; h3 &= 0x1FFFFFF; - carry5 = h5 >> 25; h6 += carry5; h5 &= 0x1FFFFFF; - carry7 = h7 >> 25; h8 += carry7; h7 &= 0x1FFFFFF; - - carry0 = h0 >> 26; h1 += carry0; h0 &= 0x3FFFFFF; - carry2 = h2 >> 26; h3 += carry2; h2 &= 0x3FFFFFF; - carry4 = h4 >> 26; h5 += carry4; h4 &= 0x3FFFFFF; - carry6 = h6 >> 26; h7 += carry6; h6 &= 0x3FFFFFF; - carry8 = h8 >> 26; h9 += carry8; h8 &= 0x3FFFFFF; - - h[0] = h0; - h[1] = h1; - h[2] = h2; - h[3] = h3; - h[4] = h4; - h[5] = h5; - h[6] = h6; - h[7] = h7; - h[8] = h8; - h[9] = h9; -} - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h deleted file mode 100755 index ccf4ecaec..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef ladder_H -#define ladder_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "fe.h" -#include "ladder_namespace.h" - -extern void ladder(fe *, const unsigned char *); - -#ifdef __cplusplus -} -#endif - -#endif /* ifndef ladder_H */ - diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.h deleted file mode 100755 index a69be13f0..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef ladder_base_H -#define ladder_base_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "fe.h" -#include "ladder_base_namespace.h" - -extern void ladder_base(fe *, const unsigned char *); - -#ifdef __cplusplus -} -#endif - -#endif /* ifndef ladder_base_H */ - diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base_namespace.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base_namespace.h deleted file mode 100755 index 304546a18..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_base_namespace.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef ladder_base_namespace_H -#define ladder_base_namespace_H - -#define ladder_base crypto_scalarmult_curve25519_sandy2x_ladder_base -#define _ladder_base _crypto_scalarmult_curve25519_sandy2x_ladder_base - -#endif /* ifndef ladder_base_namespace_H */ - diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h deleted file mode 100755 index 6637074be..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef ladder_namespace_H -#define ladder_namespace_H - -#define ladder crypto_scalarmult_curve25519_sandy2x_ladder -#define _ladder _crypto_scalarmult_curve25519_sandy2x_ladder - -#endif /* ifndef ladder_namespace_H */ - diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c deleted file mode 100755 index 72968ffeb..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c +++ /dev/null @@ -1,67 +0,0 @@ - -#include "crypto_scalarmult_curve25519.h" -#include "scalarmult_curve25519.h" -#include "runtime.h" - -#ifdef HAVE_AVX_ASM -# include "sandy2x/curve25519_sandy2x.h" -#endif -#ifdef HAVE_TI_MODE -# include "donna_c64/curve25519_donna_c64.h" -static const crypto_scalarmult_curve25519_implementation *implementation = - &crypto_scalarmult_curve25519_donna_c64_implementation; -#else -# include "ref10/x25519_ref10.h" -static const crypto_scalarmult_curve25519_implementation *implementation = - &crypto_scalarmult_curve25519_ref10_implementation; -#endif - -int -crypto_scalarmult_curve25519(unsigned char *q, const unsigned char *n, - const unsigned char *p) -{ - size_t i; - unsigned char d = 0; - - if (implementation->mult(q, n, p) != 0) { - return -1; - } - for (i = 0; i < crypto_scalarmult_curve25519_BYTES; i++) { - d |= q[i]; - } - return -(1 & ((d - 1) >> 8)); -} - -int -crypto_scalarmult_curve25519_base(unsigned char *q, const unsigned char *n) -{ - return implementation->mult_base(q, n); -} - -size_t -crypto_scalarmult_curve25519_bytes(void) -{ - return crypto_scalarmult_curve25519_BYTES; -} - -size_t -crypto_scalarmult_curve25519_scalarbytes(void) -{ - return crypto_scalarmult_curve25519_SCALARBYTES; -} - -int -_crypto_scalarmult_curve25519_pick_best_implementation(void) -{ -#ifdef HAVE_TI_MODE - implementation = &crypto_scalarmult_curve25519_donna_c64_implementation; -#else - implementation = &crypto_scalarmult_curve25519_ref10_implementation; -#endif -#ifdef HAVE_AVX_ASM - if (sodium_runtime_has_avx()) { - implementation = &crypto_scalarmult_curve25519_sandy2x_implementation; - } -#endif - return 0; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h deleted file mode 100755 index 66edbf6a8..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h +++ /dev/null @@ -1,11 +0,0 @@ - -#ifndef scalarmult_poly1305_H -#define scalarmult_poly1305_H - -typedef struct crypto_scalarmult_curve25519_implementation { - int (*mult)(unsigned char *q, const unsigned char *n, - const unsigned char *p); - int (*mult_base)(unsigned char *q, const unsigned char *n); -} crypto_scalarmult_curve25519_implementation; - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox.c deleted file mode 100755 index 669b5742f..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox.c +++ /dev/null @@ -1,61 +0,0 @@ - -#include "crypto_secretbox.h" -#include "randombytes.h" - -size_t -crypto_secretbox_keybytes(void) -{ - return crypto_secretbox_KEYBYTES; -} - -size_t -crypto_secretbox_noncebytes(void) -{ - return crypto_secretbox_NONCEBYTES; -} - -size_t -crypto_secretbox_zerobytes(void) -{ - return crypto_secretbox_ZEROBYTES; -} - -size_t -crypto_secretbox_boxzerobytes(void) -{ - return crypto_secretbox_BOXZEROBYTES; -} - -size_t -crypto_secretbox_macbytes(void) -{ - return crypto_secretbox_MACBYTES; -} - -const char * -crypto_secretbox_primitive(void) -{ - return crypto_secretbox_PRIMITIVE; -} - -int -crypto_secretbox(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - return crypto_secretbox_xsalsa20poly1305(c, m, mlen, n, k); -} - -int -crypto_secretbox_open(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - return crypto_secretbox_xsalsa20poly1305_open(m, c, clen, n, k); -} - -void -crypto_secretbox_keygen(unsigned char k[crypto_secretbox_KEYBYTES]) -{ - randombytes_buf(k, crypto_secretbox_KEYBYTES); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c deleted file mode 100755 index 082aaec5b..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c +++ /dev/null @@ -1,143 +0,0 @@ - -#include -#include -#include -#include -#include - -#include "crypto_core_hsalsa20.h" -#include "crypto_onetimeauth_poly1305.h" -#include "crypto_secretbox.h" -#include "crypto_stream_salsa20.h" -#include "private/common.h" -#include "utils.h" - -int -crypto_secretbox_detached(unsigned char *c, unsigned char *mac, - const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - crypto_onetimeauth_poly1305_state state; - unsigned char block0[64U]; - unsigned char subkey[crypto_stream_salsa20_KEYBYTES]; - unsigned long long i; - unsigned long long mlen0; - - crypto_core_hsalsa20(subkey, n, k, NULL); - - if (((uintptr_t) c >= (uintptr_t) m && - (uintptr_t) c - (uintptr_t) m < mlen) || - ((uintptr_t) m >= (uintptr_t) c && - (uintptr_t) m - (uintptr_t) c < mlen)) { - memmove(c, m, mlen); - m = c; - } - memset(block0, 0U, crypto_secretbox_ZEROBYTES); - COMPILER_ASSERT(64U >= crypto_secretbox_ZEROBYTES); - mlen0 = mlen; - if (mlen0 > 64U - crypto_secretbox_ZEROBYTES) { - mlen0 = 64U - crypto_secretbox_ZEROBYTES; - } - for (i = 0U; i < mlen0; i++) { - block0[i + crypto_secretbox_ZEROBYTES] = m[i]; - } - crypto_stream_salsa20_xor(block0, block0, - mlen0 + crypto_secretbox_ZEROBYTES, - n + 16, subkey); - COMPILER_ASSERT(crypto_secretbox_ZEROBYTES >= - crypto_onetimeauth_poly1305_KEYBYTES); - crypto_onetimeauth_poly1305_init(&state, block0); - - for (i = 0U; i < mlen0; i++) { - c[i] = block0[crypto_secretbox_ZEROBYTES + i]; - } - sodium_memzero(block0, sizeof block0); - if (mlen > mlen0) { - crypto_stream_salsa20_xor_ic(c + mlen0, m + mlen0, mlen - mlen0, - n + 16, 1U, subkey); - } - sodium_memzero(subkey, sizeof subkey); - - crypto_onetimeauth_poly1305_update(&state, c, mlen); - crypto_onetimeauth_poly1305_final(&state, mac); - sodium_memzero(&state, sizeof state); - - return 0; -} - -int -crypto_secretbox_easy(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - if (mlen > SIZE_MAX - crypto_secretbox_MACBYTES) { - return -1; - } - return crypto_secretbox_detached(c + crypto_secretbox_MACBYTES, - c, m, mlen, n, k); -} - -int -crypto_secretbox_open_detached(unsigned char *m, const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) -{ - unsigned char block0[64U]; - unsigned char subkey[crypto_stream_salsa20_KEYBYTES]; - unsigned long long i; - unsigned long long mlen0; - - crypto_core_hsalsa20(subkey, n, k, NULL); - crypto_stream_salsa20(block0, crypto_stream_salsa20_KEYBYTES, - n + 16, subkey); - if (crypto_onetimeauth_poly1305_verify(mac, c, clen, block0) != 0) { - sodium_memzero(subkey, sizeof subkey); - return -1; - } - if (m == NULL) { - return 0; - } - if (((uintptr_t) c >= (uintptr_t) m && - (uintptr_t) c - (uintptr_t) m < clen) || - ((uintptr_t) m >= (uintptr_t) c && - (uintptr_t) m - (uintptr_t) c < clen)) { - memmove(m, c, clen); - c = m; - } - mlen0 = clen; - if (mlen0 > 64U - crypto_secretbox_ZEROBYTES) { - mlen0 = 64U - crypto_secretbox_ZEROBYTES; - } - for (i = 0U; i < mlen0; i++) { - block0[crypto_secretbox_ZEROBYTES + i] = c[i]; - } - crypto_stream_salsa20_xor(block0, block0, - crypto_secretbox_ZEROBYTES + mlen0, - n + 16, subkey); - for (i = 0U; i < mlen0; i++) { - m[i] = block0[i + crypto_secretbox_ZEROBYTES]; - } - if (clen > mlen0) { - crypto_stream_salsa20_xor_ic(m + mlen0, c + mlen0, clen - mlen0, - n + 16, 1U, subkey); - } - sodium_memzero(subkey, sizeof subkey); - - return 0; -} - -int -crypto_secretbox_open_easy(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - if (clen < crypto_secretbox_MACBYTES) { - return -1; - } - return crypto_secretbox_open_detached(m, c + crypto_secretbox_MACBYTES, c, - clen - crypto_secretbox_MACBYTES, - n, k); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c deleted file mode 100755 index 478524577..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_secretbox/xchacha20poly1305/secretbox_xchacha20poly1305.c +++ /dev/null @@ -1,170 +0,0 @@ - -#include -#include -#include -#include -#include - -#include "crypto_core_hchacha20.h" -#include "crypto_onetimeauth_poly1305.h" -#include "crypto_secretbox_xchacha20poly1305.h" -#include "crypto_stream_chacha20.h" -#include "private/common.h" -#include "utils.h" - -#define crypto_secretbox_xchacha20poly1305_ZEROBYTES 32U - -int -crypto_secretbox_xchacha20poly1305_detached(unsigned char *c, - unsigned char *mac, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k) -{ - crypto_onetimeauth_poly1305_state state; - unsigned char block0[64U]; - unsigned char subkey[crypto_stream_chacha20_KEYBYTES]; - unsigned long long i; - unsigned long long mlen0; - - crypto_core_hchacha20(subkey, n, k, NULL); - - if (((uintptr_t) c >= (uintptr_t) m && - (uintptr_t) c - (uintptr_t) m < mlen) || - ((uintptr_t) m >= (uintptr_t) c && - (uintptr_t) m - (uintptr_t) c < mlen)) { - memmove(c, m, mlen); - m = c; - } - memset(block0, 0U, crypto_secretbox_xchacha20poly1305_ZEROBYTES); - COMPILER_ASSERT(64U >= crypto_secretbox_xchacha20poly1305_ZEROBYTES); - mlen0 = mlen; - if (mlen0 > 64U - crypto_secretbox_xchacha20poly1305_ZEROBYTES) { - mlen0 = 64U - crypto_secretbox_xchacha20poly1305_ZEROBYTES; - } - for (i = 0U; i < mlen0; i++) { - block0[i + crypto_secretbox_xchacha20poly1305_ZEROBYTES] = m[i]; - } - crypto_stream_chacha20_xor(block0, block0, - mlen0 + crypto_secretbox_xchacha20poly1305_ZEROBYTES, - n + 16, subkey); - COMPILER_ASSERT(crypto_secretbox_xchacha20poly1305_ZEROBYTES >= - crypto_onetimeauth_poly1305_KEYBYTES); - crypto_onetimeauth_poly1305_init(&state, block0); - - for (i = 0U; i < mlen0; i++) { - c[i] = block0[crypto_secretbox_xchacha20poly1305_ZEROBYTES + i]; - } - sodium_memzero(block0, sizeof block0); - if (mlen > mlen0) { - crypto_stream_chacha20_xor_ic(c + mlen0, m + mlen0, mlen - mlen0, - n + 16, 1U, subkey); - } - sodium_memzero(subkey, sizeof subkey); - - crypto_onetimeauth_poly1305_update(&state, c, mlen); - crypto_onetimeauth_poly1305_final(&state, mac); - sodium_memzero(&state, sizeof state); - - return 0; -} - -int -crypto_secretbox_xchacha20poly1305_easy(unsigned char *c, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k) -{ - if (mlen > SIZE_MAX - crypto_secretbox_xchacha20poly1305_MACBYTES) { - return -1; - } - return crypto_secretbox_xchacha20poly1305_detached - (c + crypto_secretbox_xchacha20poly1305_MACBYTES, c, m, mlen, n, k); -} - -int -crypto_secretbox_xchacha20poly1305_open_detached(unsigned char *m, - const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) -{ - unsigned char block0[64U]; - unsigned char subkey[crypto_stream_chacha20_KEYBYTES]; - unsigned long long i; - unsigned long long mlen0; - - crypto_core_hchacha20(subkey, n, k, NULL); - crypto_stream_chacha20(block0, crypto_stream_chacha20_KEYBYTES, - n + 16, subkey); - if (crypto_onetimeauth_poly1305_verify(mac, c, clen, block0) != 0) { - sodium_memzero(subkey, sizeof subkey); - return -1; - } - if (m == NULL) { - return 0; - } - if (((uintptr_t) c >= (uintptr_t) m && - (uintptr_t) c - (uintptr_t) m < clen) || - ((uintptr_t) m >= (uintptr_t) c && - (uintptr_t) m - (uintptr_t) c < clen)) { - memmove(m, c, clen); - c = m; - } - mlen0 = clen; - if (mlen0 > 64U - crypto_secretbox_xchacha20poly1305_ZEROBYTES) { - mlen0 = 64U - crypto_secretbox_xchacha20poly1305_ZEROBYTES; - } - for (i = 0U; i < mlen0; i++) { - block0[crypto_secretbox_xchacha20poly1305_ZEROBYTES + i] = c[i]; - } - crypto_stream_chacha20_xor(block0, block0, - crypto_secretbox_xchacha20poly1305_ZEROBYTES + mlen0, - n + 16, subkey); - for (i = 0U; i < mlen0; i++) { - m[i] = block0[i + crypto_secretbox_xchacha20poly1305_ZEROBYTES]; - } - if (clen > mlen0) { - crypto_stream_chacha20_xor_ic(m + mlen0, c + mlen0, clen - mlen0, - n + 16, 1U, subkey); - } - sodium_memzero(subkey, sizeof subkey); - - return 0; -} - -int -crypto_secretbox_xchacha20poly1305_open_easy(unsigned char *m, - const unsigned char *c, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) -{ - if (clen < crypto_secretbox_xchacha20poly1305_MACBYTES) { - return -1; - } - return crypto_secretbox_xchacha20poly1305_open_detached - (m, c + crypto_secretbox_xchacha20poly1305_MACBYTES, c, - clen - crypto_secretbox_xchacha20poly1305_MACBYTES, n, k); -} - -size_t -crypto_secretbox_xchacha20poly1305_keybytes(void) -{ - return crypto_secretbox_xchacha20poly1305_KEYBYTES; -} - -size_t -crypto_secretbox_xchacha20poly1305_noncebytes(void) -{ - return crypto_secretbox_xchacha20poly1305_NONCEBYTES; -} - -size_t -crypto_secretbox_xchacha20poly1305_macbytes(void) -{ - return crypto_secretbox_xchacha20poly1305_MACBYTES; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c deleted file mode 100755 index 1094c1f20..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c +++ /dev/null @@ -1,83 +0,0 @@ -#include "crypto_onetimeauth_poly1305.h" -#include "crypto_secretbox_xsalsa20poly1305.h" -#include "crypto_stream_xsalsa20.h" -#include "randombytes.h" - -int -crypto_secretbox_xsalsa20poly1305(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k) -{ - int i; - - if (mlen < 32) { - return -1; - } - crypto_stream_xsalsa20_xor(c, m, mlen, n, k); - crypto_onetimeauth_poly1305(c + 16, c + 32, mlen - 32, c); - for (i = 0; i < 16; ++i) { - c[i] = 0; - } - return 0; -} - -int -crypto_secretbox_xsalsa20poly1305_open(unsigned char *m, const unsigned char *c, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) -{ - unsigned char subkey[32]; - int i; - - if (clen < 32) { - return -1; - } - crypto_stream_xsalsa20(subkey, 32, n, k); - if (crypto_onetimeauth_poly1305_verify(c + 16, c + 32, - clen - 32, subkey) != 0) { - return -1; - } - crypto_stream_xsalsa20_xor(m, c, clen, n, k); - for (i = 0; i < 32; ++i) { - m[i] = 0; - } - return 0; -} - -size_t -crypto_secretbox_xsalsa20poly1305_keybytes(void) -{ - return crypto_secretbox_xsalsa20poly1305_KEYBYTES; -} - -size_t -crypto_secretbox_xsalsa20poly1305_noncebytes(void) -{ - return crypto_secretbox_xsalsa20poly1305_NONCEBYTES; -} - -size_t -crypto_secretbox_xsalsa20poly1305_zerobytes(void) -{ - return crypto_secretbox_xsalsa20poly1305_ZEROBYTES; -} - -size_t -crypto_secretbox_xsalsa20poly1305_boxzerobytes(void) -{ - return crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES; -} - -size_t -crypto_secretbox_xsalsa20poly1305_macbytes(void) -{ - return crypto_secretbox_xsalsa20poly1305_MACBYTES; -} - -void -crypto_secretbox_xsalsa20poly1305_keygen(unsigned char k[crypto_secretbox_xsalsa20poly1305_KEYBYTES]) -{ - randombytes_buf(k, crypto_secretbox_xsalsa20poly1305_KEYBYTES); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/crypto_shorthash.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/crypto_shorthash.c deleted file mode 100755 index 95f52f83b..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/crypto_shorthash.c +++ /dev/null @@ -1,34 +0,0 @@ - -#include "crypto_shorthash.h" -#include "randombytes.h" - -size_t -crypto_shorthash_bytes(void) -{ - return crypto_shorthash_BYTES; -} - -size_t -crypto_shorthash_keybytes(void) -{ - return crypto_shorthash_KEYBYTES; -} - -const char * -crypto_shorthash_primitive(void) -{ - return crypto_shorthash_PRIMITIVE; -} - -int -crypto_shorthash(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - return crypto_shorthash_siphash24(out, in, inlen, k); -} - -void -crypto_shorthash_keygen(unsigned char k[crypto_shorthash_KEYBYTES]) -{ - randombytes_buf(k, crypto_shorthash_KEYBYTES); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c deleted file mode 100755 index 0c173d4c8..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash24_ref.c +++ /dev/null @@ -1,65 +0,0 @@ -#include "crypto_shorthash_siphash24.h" -#include "private/common.h" -#include "shorthash_siphash_ref.h" - -int -crypto_shorthash_siphash24(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - /* "somepseudorandomlygeneratedbytes" */ - uint64_t v0 = 0x736f6d6570736575ULL; - uint64_t v1 = 0x646f72616e646f6dULL; - uint64_t v2 = 0x6c7967656e657261ULL; - uint64_t v3 = 0x7465646279746573ULL; - uint64_t b; - uint64_t k0 = LOAD64_LE(k); - uint64_t k1 = LOAD64_LE(k + 8); - uint64_t m; - const uint8_t *end = in + inlen - (inlen % sizeof(uint64_t)); - const int left = inlen & 7; - - b = ((uint64_t) inlen) << 56; - v3 ^= k1; - v2 ^= k0; - v1 ^= k1; - v0 ^= k0; - for (; in != end; in += 8) { - m = LOAD64_LE(in); - v3 ^= m; - SIPROUND; - SIPROUND; - v0 ^= m; - } - switch (left) { - case 7: - b |= ((uint64_t) in[6]) << 48; - case 6: - b |= ((uint64_t) in[5]) << 40; - case 5: - b |= ((uint64_t) in[4]) << 32; - case 4: - b |= ((uint64_t) in[3]) << 24; - case 3: - b |= ((uint64_t) in[2]) << 16; - case 2: - b |= ((uint64_t) in[1]) << 8; - case 1: - b |= ((uint64_t) in[0]); - break; - case 0: - break; - } - v3 ^= b; - SIPROUND; - SIPROUND; - v0 ^= b; - v2 ^= 0xff; - SIPROUND; - SIPROUND; - SIPROUND; - SIPROUND; - b = v0 ^ v1 ^ v2 ^ v3; - STORE64_LE(out, b); - - return 0; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h deleted file mode 100755 index 3f9a38b51..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef shorthash_siphash_H -#define shorthash_siphash_H - -#include "private/common.h" - -#define SIPROUND \ - do { \ - v0 += v1; \ - v1 = ROTL64(v1, 13); \ - v1 ^= v0; \ - v0 = ROTL64(v0, 32); \ - v2 += v3; \ - v3 = ROTL64(v3, 16); \ - v3 ^= v2; \ - v0 += v3; \ - v3 = ROTL64(v3, 21); \ - v3 ^= v0; \ - v2 += v1; \ - v1 = ROTL64(v1, 17); \ - v1 ^= v2; \ - v2 = ROTL64(v2, 32); \ - } while (0) - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c deleted file mode 100755 index 20480d0d5..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphashx24_ref.c +++ /dev/null @@ -1,71 +0,0 @@ -#include "crypto_shorthash_siphash24.h" -#include "private/common.h" -#include "shorthash_siphash_ref.h" - -int -crypto_shorthash_siphashx24(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) -{ - uint64_t v0 = 0x736f6d6570736575ULL; - uint64_t v1 = 0x646f72616e646f83ULL; - uint64_t v2 = 0x6c7967656e657261ULL; - uint64_t v3 = 0x7465646279746573ULL; - uint64_t b; - uint64_t k0 = LOAD64_LE(k); - uint64_t k1 = LOAD64_LE(k + 8); - uint64_t m; - const uint8_t *end = in + inlen - (inlen % sizeof(uint64_t)); - const int left = inlen & 7; - - b = ((uint64_t) inlen) << 56; - v3 ^= k1; - v2 ^= k0; - v1 ^= k1; - v0 ^= k0; - for (; in != end; in += 8) { - m = LOAD64_LE(in); - v3 ^= m; - SIPROUND; - SIPROUND; - v0 ^= m; - } - switch (left) { - case 7: - b |= ((uint64_t) in[6]) << 48; - case 6: - b |= ((uint64_t) in[5]) << 40; - case 5: - b |= ((uint64_t) in[4]) << 32; - case 4: - b |= ((uint64_t) in[3]) << 24; - case 3: - b |= ((uint64_t) in[2]) << 16; - case 2: - b |= ((uint64_t) in[1]) << 8; - case 1: - b |= ((uint64_t) in[0]); - break; - case 0: - break; - } - v3 ^= b; - SIPROUND; - SIPROUND; - v0 ^= b; - v2 ^= 0xee; - SIPROUND; - SIPROUND; - SIPROUND; - SIPROUND; - b = v0 ^ v1 ^ v2 ^ v3; - STORE64_LE(out, b); - v1 ^= 0xdd; - SIPROUND; - SIPROUND; - SIPROUND; - SIPROUND; - b = v0 ^ v1 ^ v2 ^ v3; - STORE64_LE(out + 8, b); - - return 0; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.c deleted file mode 100755 index e2cea7761..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphash24.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "crypto_shorthash_siphash24.h" - -size_t -crypto_shorthash_siphash24_bytes(void) { - return crypto_shorthash_siphash24_BYTES; -} - -size_t -crypto_shorthash_siphash24_keybytes(void) { - return crypto_shorthash_siphash24_KEYBYTES; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.c deleted file mode 100755 index 2d487dbb6..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_shorthash/siphash24/shorthash_siphashx24.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "crypto_shorthash_siphash24.h" - -size_t -crypto_shorthash_siphashx24_bytes(void) { - return crypto_shorthash_siphashx24_BYTES; -} - -size_t -crypto_shorthash_siphashx24_keybytes(void) { - return crypto_shorthash_siphashx24_KEYBYTES; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/crypto_sign.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/crypto_sign.c deleted file mode 100755 index b93fa0ef9..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/crypto_sign.c +++ /dev/null @@ -1,109 +0,0 @@ - -#include "crypto_sign.h" - -size_t -crypto_sign_statebytes(void) -{ - return sizeof(crypto_sign_state); -} - -size_t -crypto_sign_bytes(void) -{ - return crypto_sign_BYTES; -} - -size_t -crypto_sign_seedbytes(void) -{ - return crypto_sign_SEEDBYTES; -} - -size_t -crypto_sign_publickeybytes(void) -{ - return crypto_sign_PUBLICKEYBYTES; -} - -size_t -crypto_sign_secretkeybytes(void) -{ - return crypto_sign_SECRETKEYBYTES; -} - -const char * -crypto_sign_primitive(void) -{ - return crypto_sign_PRIMITIVE; -} - -int -crypto_sign_seed_keypair(unsigned char *pk, unsigned char *sk, - const unsigned char *seed) -{ - return crypto_sign_ed25519_seed_keypair(pk, sk, seed); -} - -int -crypto_sign_keypair(unsigned char *pk, unsigned char *sk) -{ - return crypto_sign_ed25519_keypair(pk, sk); -} - -int -crypto_sign(unsigned char *sm, unsigned long long *smlen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *sk) -{ - return crypto_sign_ed25519(sm, smlen_p, m, mlen, sk); -} - -int -crypto_sign_open(unsigned char *m, unsigned long long *mlen_p, - const unsigned char *sm, unsigned long long smlen, - const unsigned char *pk) -{ - return crypto_sign_ed25519_open(m, mlen_p, sm, smlen, pk); -} - -int -crypto_sign_detached(unsigned char *sig, unsigned long long *siglen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *sk) -{ - return crypto_sign_ed25519_detached(sig, siglen_p, m, mlen, sk); -} - -int -crypto_sign_verify_detached(const unsigned char *sig, const unsigned char *m, - unsigned long long mlen, const unsigned char *pk) -{ - return crypto_sign_ed25519_verify_detached(sig, m, mlen, pk); -} - -int -crypto_sign_init(crypto_sign_state *state) -{ - return crypto_sign_ed25519ph_init(state); -} - -int -crypto_sign_update(crypto_sign_state *state, const unsigned char *m, - unsigned long long mlen) -{ - return crypto_sign_ed25519ph_update(state, m, mlen); -} - -int -crypto_sign_final_create(crypto_sign_state *state, unsigned char *sig, - unsigned long long *siglen_p, const unsigned char *sk) -{ - return crypto_sign_ed25519ph_final_create(state, sig, siglen_p, sk); -} - -int -crypto_sign_final_verify(crypto_sign_state *state, unsigned char *sig, - const unsigned char *pk) -{ - return crypto_sign_ed25519ph_final_verify(state, sig, pk); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ed25519_ref10.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ed25519_ref10.h deleted file mode 100755 index 8d93892b7..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/ed25519_ref10.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef ed25519_ref10_H -#define ed25519_ref10_H - -void _crypto_sign_ed25519_ref10_hinit(crypto_hash_sha512_state *hs, - int prehashed); - -int _crypto_sign_ed25519_detached(unsigned char *sig, - unsigned long long *siglen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *sk, int prehashed); - -int _crypto_sign_ed25519_verify_detached(const unsigned char *sig, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *pk, - int prehashed); -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.c deleted file mode 100755 index 1665900e4..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.c +++ /dev/null @@ -1,82 +0,0 @@ - -#include - -#include "crypto_hash_sha512.h" -#include "crypto_scalarmult_curve25519.h" -#include "crypto_sign_ed25519.h" -#include "private/curve25519_ref10.h" -#include "randombytes.h" -#include "utils.h" - -int -crypto_sign_ed25519_seed_keypair(unsigned char *pk, unsigned char *sk, - const unsigned char *seed) -{ - ge_p3 A; - - crypto_hash_sha512(sk, seed, 32); - sk[0] &= 248; - sk[31] &= 63; - sk[31] |= 64; - - ge_scalarmult_base(&A, sk); - ge_p3_tobytes(pk, &A); - - memmove(sk, seed, 32); - memmove(sk + 32, pk, 32); - - return 0; -} - -int -crypto_sign_ed25519_keypair(unsigned char *pk, unsigned char *sk) -{ - unsigned char seed[32]; - int ret; - - randombytes_buf(seed, sizeof seed); - ret = crypto_sign_ed25519_seed_keypair(pk, sk, seed); - sodium_memzero(seed, sizeof seed); - - return ret; -} - -int -crypto_sign_ed25519_pk_to_curve25519(unsigned char * curve25519_pk, - const unsigned char *ed25519_pk) -{ - ge_p3 A; - fe x; - fe one_minus_y; - - if (ge_frombytes_negate_vartime(&A, ed25519_pk) != 0) { - return -1; - } - fe_1(one_minus_y); - fe_sub(one_minus_y, one_minus_y, A.Y); - fe_invert(one_minus_y, one_minus_y); - fe_1(x); - fe_add(x, x, A.Y); - fe_mul(x, x, one_minus_y); - fe_tobytes(curve25519_pk, x); - - return 0; -} - -int -crypto_sign_ed25519_sk_to_curve25519(unsigned char * curve25519_sk, - const unsigned char *ed25519_sk) -{ - unsigned char h[crypto_hash_sha512_BYTES]; - - crypto_hash_sha512(h, ed25519_sk, - crypto_sign_ed25519_SECRETKEYBYTES - - crypto_sign_ed25519_PUBLICKEYBYTES); - h[0] &= 248; - h[31] &= 127; - h[31] |= 64; - memcpy(curve25519_sk, h, crypto_scalarmult_curve25519_BYTES); - sodium_memzero(h, sizeof h); - - return 0; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c deleted file mode 100755 index 5ba31babf..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/obsolete.c +++ /dev/null @@ -1,114 +0,0 @@ - -#include -#include -#include - -#include "crypto_hash_sha512.h" -#include "crypto_sign_edwards25519sha512batch.h" -#include "crypto_verify_32.h" -#include "private/curve25519_ref10.h" -#include "randombytes.h" -#include "utils.h" - -int -crypto_sign_edwards25519sha512batch_keypair(unsigned char *pk, - unsigned char *sk) -{ - ge_p3 A; - - randombytes_buf(sk, 32); - crypto_hash_sha512(sk, sk, 32); - sk[0] &= 248; - sk[31] &= 63; - sk[31] |= 64; - ge_scalarmult_base(&A, sk); - ge_p3_tobytes(pk, &A); - - return 0; -} - -int -crypto_sign_edwards25519sha512batch(unsigned char * sm, - unsigned long long * smlen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *sk) -{ - crypto_hash_sha512_state hs; - unsigned char nonce[64]; - unsigned char hram[64]; - unsigned char sig[64]; - ge_p3 A; - ge_p3 R; - - crypto_hash_sha512_init(&hs); - crypto_hash_sha512_update(&hs, sk + 32, 32); - crypto_hash_sha512_update(&hs, m, mlen); - crypto_hash_sha512_final(&hs, nonce); - ge_scalarmult_base(&A, sk); - ge_p3_tobytes(sig + 32, &A); - sc_reduce(nonce); - ge_scalarmult_base(&R, nonce); - ge_p3_tobytes(sig, &R); - crypto_hash_sha512_init(&hs); - crypto_hash_sha512_update(&hs, sig, 32); - crypto_hash_sha512_update(&hs, m, mlen); - crypto_hash_sha512_final(&hs, hram); - sc_reduce(hram); - sc_muladd(sig + 32, hram, nonce, sk); - sodium_memzero(hram, sizeof hram); - memmove(sm + 32, m, (size_t) mlen); - memcpy(sm, sig, 32); - memcpy(sm + 32 + mlen, sig + 32, 32); - *smlen_p = mlen + 64U; - - return 0; -} - -int -crypto_sign_edwards25519sha512batch_open(unsigned char * m, - unsigned long long * mlen_p, - const unsigned char *sm, - unsigned long long smlen, - const unsigned char *pk) -{ - unsigned char h[64]; - unsigned char t1[32], t2[32]; - unsigned long long mlen; - ge_cached Ai; - ge_p1p1 csa; - ge_p2 cs; - ge_p3 A; - ge_p3 R; - ge_p3 cs3; - - *mlen_p = 0; - if (smlen < 64 || smlen > SIZE_MAX) { - return -1; - } - mlen = smlen - 64; - if (sm[smlen - 1] & 224) { - return -1; - } - if (ge_frombytes_negate_vartime(&A, pk) != 0 || - ge_frombytes_negate_vartime(&R, sm) != 0) { - return -1; - } - ge_p3_to_cached(&Ai, &A); - crypto_hash_sha512(h, sm, mlen + 32); - sc_reduce(h); - ge_scalarmult_vartime(&cs3, h, &R); - ge_add(&csa, &cs3, &Ai); - ge_p1p1_to_p2(&cs, &csa); - ge_tobytes(t1, &cs); - t1[31] ^= 1 << 7; - ge_scalarmult_base(&R, sm + 32 + mlen); - ge_p3_tobytes(t2, &R); - if (crypto_verify_32(t1, t2) != 0) { - return -1; - } - *mlen_p = mlen; - memmove(m, sm + 32, mlen); - - return 0; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.c deleted file mode 100755 index 95e55d2d3..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.c +++ /dev/null @@ -1,193 +0,0 @@ - -#include -#include -#include - -#include "crypto_hash_sha512.h" -#include "crypto_sign_ed25519.h" -#include "crypto_verify_32.h" -#include "ed25519_ref10.h" -#include "private/curve25519_ref10.h" -#include "utils.h" - -#ifndef ED25519_COMPAT -static int -crypto_sign_check_S_lt_L(const unsigned char *S) -{ - /* 2^252+27742317777372353535851937790883648493 */ - static const unsigned char L[32] = { - 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, - 0xa2, 0xde, 0xf9, 0xde, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10 - }; - unsigned char c = 0; - unsigned char n = 1; - unsigned int i = 32; - - do { - i--; - c |= ((S[i] - L[i]) >> 8) & n; - n &= ((S[i] ^ L[i]) - 1) >> 8; - } while (i != 0); - - return -(c == 0); -} - -static int -small_order(const unsigned char R[32]) -{ - CRYPTO_ALIGN(16) - static const unsigned char blacklist[][32] = { - /* 0 (order 4) */ - { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, - /* 1 (order 1) */ - { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, - /* 2707385501144840649318225287225658788936804267575313519463743609750303402022 - (order 8) */ - { 0x26, 0xe8, 0x95, 0x8f, 0xc2, 0xb2, 0x27, 0xb0, 0x45, 0xc3, 0xf4, - 0x89, 0xf2, 0xef, 0x98, 0xf0, 0xd5, 0xdf, 0xac, 0x05, 0xd3, 0xc6, - 0x33, 0x39, 0xb1, 0x38, 0x02, 0x88, 0x6d, 0x53, 0xfc, 0x05 }, - /* 55188659117513257062467267217118295137698188065244968500265048394206261417927 - (order 8) */ - { 0xc7, 0x17, 0x6a, 0x70, 0x3d, 0x4d, 0xd8, 0x4f, 0xba, 0x3c, 0x0b, - 0x76, 0x0d, 0x10, 0x67, 0x0f, 0x2a, 0x20, 0x53, 0xfa, 0x2c, 0x39, - 0xcc, 0xc6, 0x4e, 0xc7, 0xfd, 0x77, 0x92, 0xac, 0x03, 0x7a }, - /* p-1 (order 2) */ - { 0x13, 0xe8, 0x95, 0x8f, 0xc2, 0xb2, 0x27, 0xb0, 0x45, 0xc3, 0xf4, - 0x89, 0xf2, 0xef, 0x98, 0xf0, 0xd5, 0xdf, 0xac, 0x05, 0xd3, 0xc6, - 0x33, 0x39, 0xb1, 0x38, 0x02, 0x88, 0x6d, 0x53, 0xfc, 0x85 }, - /* p (order 4) */ - { 0xb4, 0x17, 0x6a, 0x70, 0x3d, 0x4d, 0xd8, 0x4f, 0xba, 0x3c, 0x0b, - 0x76, 0x0d, 0x10, 0x67, 0x0f, 0x2a, 0x20, 0x53, 0xfa, 0x2c, 0x39, - 0xcc, 0xc6, 0x4e, 0xc7, 0xfd, 0x77, 0x92, 0xac, 0x03, 0xfa }, - /* p+1 (order 1) */ - { 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f }, - /* p+2707385501144840649318225287225658788936804267575313519463743609750303402022 - (order 8) */ - { 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f }, - /* p+55188659117513257062467267217118295137698188065244968500265048394206261417927 - (order 8) */ - { 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f }, - /* 2p-1 (order 2) */ - { 0xd9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, - /* 2p (order 4) */ - { 0xda, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, - /* 2p+1 (order 1) */ - { 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff } - }; - size_t i, j; - unsigned char c; - - for (i = 0; i < sizeof blacklist / sizeof blacklist[0]; i++) { - c = 0; - for (j = 0; j < 32; j++) { - c |= R[j] ^ blacklist[i][j]; - } - if (c == 0) { - return 1; - } - } - return 0; -} -#endif - -int -_crypto_sign_ed25519_verify_detached(const unsigned char *sig, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *pk, - int prehashed) -{ - crypto_hash_sha512_state hs; - unsigned char h[64]; - unsigned char rcheck[32]; - unsigned int i; - unsigned char d = 0; - ge_p3 A; - ge_p2 R; - -#ifndef ED25519_COMPAT - if (crypto_sign_check_S_lt_L(sig + 32) != 0 || small_order(sig) != 0) { - return -1; - } -#else - if (sig[63] & 224) { - return -1; - } -#endif - if (ge_frombytes_negate_vartime(&A, pk) != 0) { - return -1; - } - for (i = 0; i < 32; ++i) { - d |= pk[i]; - } - if (d == 0) { - return -1; - } - _crypto_sign_ed25519_ref10_hinit(&hs, prehashed); - crypto_hash_sha512_update(&hs, sig, 32); - crypto_hash_sha512_update(&hs, pk, 32); - crypto_hash_sha512_update(&hs, m, mlen); - crypto_hash_sha512_final(&hs, h); - sc_reduce(h); - - ge_double_scalarmult_vartime(&R, h, &A, sig + 32); - ge_tobytes(rcheck, &R); - - return crypto_verify_32(rcheck, sig) | (-(rcheck == sig)) | - sodium_memcmp(sig, rcheck, 32); -} - -int -crypto_sign_ed25519_verify_detached(const unsigned char *sig, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *pk) -{ - return _crypto_sign_ed25519_verify_detached(sig, m, mlen, pk, 0); -} - -int -crypto_sign_ed25519_open(unsigned char *m, unsigned long long *mlen_p, - const unsigned char *sm, unsigned long long smlen, - const unsigned char *pk) -{ - unsigned long long mlen; - - if (smlen < 64 || smlen > SIZE_MAX) { - goto badsig; - } - mlen = smlen - 64; - if (crypto_sign_ed25519_verify_detached(sm, sm + 64, mlen, pk) != 0) { - memset(m, 0, mlen); - goto badsig; - } - if (mlen_p != NULL) { - *mlen_p = mlen; - } - memmove(m, sm + 64, mlen); - - return 0; - -badsig: - if (mlen_p != NULL) { - *mlen_p = 0; - } - return -1; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.c deleted file mode 100755 index f9d47fdc8..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.c +++ /dev/null @@ -1,101 +0,0 @@ - -#include - -#include "crypto_hash_sha512.h" -#include "crypto_sign_ed25519.h" -#include "ed25519_ref10.h" -#include "private/curve25519_ref10.h" -#include "utils.h" - -void -_crypto_sign_ed25519_ref10_hinit(crypto_hash_sha512_state *hs, int prehashed) -{ - static const unsigned char DOM2PREFIX[32 + 2] = { - 'S', 'i', 'g', 'E', 'd', '2', '5', '5', '1', '9', ' ', - 'n', 'o', ' ', - 'E', 'd', '2', '5', '5', '1', '9', ' ', - 'c', 'o', 'l', 'l', 'i', 's', 'i', 'o', 'n', 's', 1, 0 - }; - - crypto_hash_sha512_init(hs); - if (prehashed) { - crypto_hash_sha512_update(hs, DOM2PREFIX, sizeof DOM2PREFIX); - } -} - -int -_crypto_sign_ed25519_detached(unsigned char *sig, unsigned long long *siglen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *sk, int prehashed) -{ - crypto_hash_sha512_state hs; - unsigned char az[64]; - unsigned char nonce[64]; - unsigned char hram[64]; - ge_p3 R; - - crypto_hash_sha512(az, sk, 32); - az[0] &= 248; - az[31] &= 63; - az[31] |= 64; - - _crypto_sign_ed25519_ref10_hinit(&hs, prehashed); - crypto_hash_sha512_update(&hs, az + 32, 32); - crypto_hash_sha512_update(&hs, m, mlen); - crypto_hash_sha512_final(&hs, nonce); - - memmove(sig + 32, sk + 32, 32); - - sc_reduce(nonce); - ge_scalarmult_base(&R, nonce); - ge_p3_tobytes(sig, &R); - - _crypto_sign_ed25519_ref10_hinit(&hs, prehashed); - crypto_hash_sha512_update(&hs, sig, 64); - crypto_hash_sha512_update(&hs, m, mlen); - crypto_hash_sha512_final(&hs, hram); - - sc_reduce(hram); - sc_muladd(sig + 32, hram, az, nonce); - - sodium_memzero(az, sizeof az); - - if (siglen_p != NULL) { - *siglen_p = 64U; - } - return 0; -} - -int -crypto_sign_ed25519_detached(unsigned char *sig, unsigned long long *siglen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *sk) -{ - return _crypto_sign_ed25519_detached(sig, siglen_p, m, mlen, sk, 0); -} - -int -crypto_sign_ed25519(unsigned char *sm, unsigned long long *smlen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *sk) -{ - unsigned long long siglen; - - memmove(sm + crypto_sign_ed25519_BYTES, m, mlen); - /* LCOV_EXCL_START */ - if (crypto_sign_ed25519_detached( - sm, &siglen, sm + crypto_sign_ed25519_BYTES, mlen, sk) != 0 || - siglen != crypto_sign_ed25519_BYTES) { - if (smlen_p != NULL) { - *smlen_p = 0; - } - memset(sm, 0, mlen + crypto_sign_ed25519_BYTES); - return -1; - } - /* LCOV_EXCL_STOP */ - - if (smlen_p != NULL) { - *smlen_p = mlen + siglen; - } - return 0; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519.c deleted file mode 100755 index 9ec477a1c..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519.c +++ /dev/null @@ -1,91 +0,0 @@ - -#include - -#include "crypto_hash_sha512.h" -#include "crypto_sign_ed25519.h" -#include "ref10/ed25519_ref10.h" - -size_t -crypto_sign_ed25519ph_statebytes(void) -{ - return sizeof(crypto_sign_ed25519ph_state); -} - -size_t -crypto_sign_ed25519_bytes(void) -{ - return crypto_sign_ed25519_BYTES; -} - -size_t -crypto_sign_ed25519_seedbytes(void) -{ - return crypto_sign_ed25519_SEEDBYTES; -} - -size_t -crypto_sign_ed25519_publickeybytes(void) -{ - return crypto_sign_ed25519_PUBLICKEYBYTES; -} - -size_t -crypto_sign_ed25519_secretkeybytes(void) -{ - return crypto_sign_ed25519_SECRETKEYBYTES; -} - -int -crypto_sign_ed25519_sk_to_seed(unsigned char *seed, const unsigned char *sk) -{ - memmove(seed, sk, crypto_sign_ed25519_SEEDBYTES); - - return 0; -} - -int -crypto_sign_ed25519_sk_to_pk(unsigned char *pk, const unsigned char *sk) -{ - memmove(pk, sk + crypto_sign_ed25519_SEEDBYTES, - crypto_sign_ed25519_PUBLICKEYBYTES); - return 0; -} - -int -crypto_sign_ed25519ph_init(crypto_sign_ed25519ph_state *state) -{ - crypto_hash_sha512_init(&state->hs); - return 0; -} - -int -crypto_sign_ed25519ph_update(crypto_sign_ed25519ph_state *state, - const unsigned char *m, unsigned long long mlen) -{ - return crypto_hash_sha512_update(&state->hs, m, mlen); -} - -int -crypto_sign_ed25519ph_final_create(crypto_sign_ed25519ph_state *state, - unsigned char *sig, - unsigned long long *siglen_p, - const unsigned char *sk) -{ - unsigned char ph[crypto_hash_sha512_BYTES]; - - crypto_hash_sha512_final(&state->hs, ph); - - return _crypto_sign_ed25519_detached(sig, siglen_p, ph, sizeof ph, sk, 1); -} - -int -crypto_sign_ed25519ph_final_verify(crypto_sign_ed25519ph_state *state, - unsigned char *sig, - const unsigned char *pk) -{ - unsigned char ph[crypto_hash_sha512_BYTES]; - - crypto_hash_sha512_final(&state->hs, ph); - - return _crypto_sign_ed25519_verify_detached(sig, ph, sizeof ph, pk, 1); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/afternm_aes128ctr.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/afternm_aes128ctr.c deleted file mode 100755 index 169100393..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/afternm_aes128ctr.c +++ /dev/null @@ -1,174 +0,0 @@ -/* Author: Peter Schwabe, ported from an assembly implementation by Emilia - * Käsper - * Date: 2009-03-19 - * Public domain */ - -#include "common.h" -#include "consts.h" -#include "crypto_stream_aes128ctr.h" -#include "int128.h" - -int -crypto_stream_aes128ctr_afternm(unsigned char *out, unsigned long long len, - const unsigned char *nonce, - const unsigned char *c) -{ - aes_uint128_t xmm0; - aes_uint128_t xmm1; - aes_uint128_t xmm2; - aes_uint128_t xmm3; - aes_uint128_t xmm4; - aes_uint128_t xmm5; - aes_uint128_t xmm6; - aes_uint128_t xmm7; - aes_uint128_t xmm8; - aes_uint128_t xmm9; - aes_uint128_t xmm10; - aes_uint128_t xmm11; - aes_uint128_t xmm12; - aes_uint128_t xmm13; - aes_uint128_t xmm14; - aes_uint128_t xmm15; - aes_uint128_t nonce_stack; - unsigned long long lensav; - unsigned char bl[128]; - unsigned char * blp; - unsigned char * np; - unsigned char b; - uint32_t tmp; - - /* Copy nonce on the stack */ - copy2(&nonce_stack, (const aes_uint128_t *) (nonce + 0)); - np = (unsigned char *) &nonce_stack; - -enc_block: - - xmm0 = *(aes_uint128_t *) (np + 0); - copy2(&xmm1, &xmm0); - shufb(&xmm1, SWAP32); - copy2(&xmm2, &xmm1); - copy2(&xmm3, &xmm1); - copy2(&xmm4, &xmm1); - copy2(&xmm5, &xmm1); - copy2(&xmm6, &xmm1); - copy2(&xmm7, &xmm1); - - add_uint32_big(&xmm1, 1); - add_uint32_big(&xmm2, 2); - add_uint32_big(&xmm3, 3); - add_uint32_big(&xmm4, 4); - add_uint32_big(&xmm5, 5); - add_uint32_big(&xmm6, 6); - add_uint32_big(&xmm7, 7); - - shufb(&xmm0, M0); - shufb(&xmm1, M0SWAP); - shufb(&xmm2, M0SWAP); - shufb(&xmm3, M0SWAP); - shufb(&xmm4, M0SWAP); - shufb(&xmm5, M0SWAP); - shufb(&xmm6, M0SWAP); - shufb(&xmm7, M0SWAP); - - bitslice(xmm7, xmm6, xmm5, xmm4, xmm3, xmm2, xmm1, xmm0, xmm8); - - aesround(1, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, - xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, c); - aesround(2, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, - xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, c); - aesround(3, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, - xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, c); - aesround(4, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, - xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, c); - aesround(5, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, - xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, c); - aesround(6, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, - xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, c); - aesround(7, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, - xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, c); - aesround(8, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, - xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, c); - aesround(9, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, - xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, c); - lastround(xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, - xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, c); - - bitslice(xmm13, xmm10, xmm15, xmm11, xmm14, xmm12, xmm9, xmm8, xmm0); - - if (len < 128) { - goto partial; - } - if (len == 128) { - goto full; - } - tmp = LOAD32_BE(np + 12); - tmp += 8; - STORE32_BE(np + 12, tmp); - - *(aes_uint128_t *) (out + 0) = xmm8; - *(aes_uint128_t *) (out + 16) = xmm9; - *(aes_uint128_t *) (out + 32) = xmm12; - *(aes_uint128_t *) (out + 48) = xmm14; - *(aes_uint128_t *) (out + 64) = xmm11; - *(aes_uint128_t *) (out + 80) = xmm15; - *(aes_uint128_t *) (out + 96) = xmm10; - *(aes_uint128_t *) (out + 112) = xmm13; - - len -= 128; - out += 128; - - goto enc_block; - -partial: - - lensav = len; - len >>= 4; - - tmp = LOAD32_BE(np + 12); - tmp += len; - STORE32_BE(np + 12, tmp); - - blp = bl; - - *(aes_uint128_t *) (blp + 0) = xmm8; - *(aes_uint128_t *) (blp + 16) = xmm9; - *(aes_uint128_t *) (blp + 32) = xmm12; - *(aes_uint128_t *) (blp + 48) = xmm14; - *(aes_uint128_t *) (blp + 64) = xmm11; - *(aes_uint128_t *) (blp + 80) = xmm15; - *(aes_uint128_t *) (blp + 96) = xmm10; - *(aes_uint128_t *) (blp + 112) = xmm13; - -bytes: - - if (lensav == 0) { - goto end; - } - b = blp[0]; /* clang false positive */ - - *(unsigned char *) (out + 0) = b; - - blp += 1; - out += 1; - lensav -= 1; - - goto bytes; - -full: - - tmp = LOAD32_BE(np + 12); - tmp += 8; - STORE32_BE(np + 12, tmp); - - *(aes_uint128_t *) (out + 0) = xmm8; - *(aes_uint128_t *) (out + 16) = xmm9; - *(aes_uint128_t *) (out + 32) = xmm12; - *(aes_uint128_t *) (out + 48) = xmm14; - *(aes_uint128_t *) (out + 64) = xmm11; - *(aes_uint128_t *) (out + 80) = xmm15; - *(aes_uint128_t *) (out + 96) = xmm10; - *(aes_uint128_t *) (out + 112) = xmm13; - -end: - return 0; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/beforenm_aes128ctr.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/beforenm_aes128ctr.c deleted file mode 100755 index 9fa5bbd97..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/beforenm_aes128ctr.c +++ /dev/null @@ -1,66 +0,0 @@ -/* Author: Peter Schwabe, ported from an assembly implementation by Emilia - * Käsper - * Date: 2009-03-19 - * Public domain */ - -#include "common.h" -#include "consts.h" -#include "crypto_stream_aes128ctr.h" -#include "int128.h" - -int -crypto_stream_aes128ctr_beforenm(unsigned char *c, const unsigned char *k) -{ - aes_uint128_t xmm0; - aes_uint128_t xmm1; - aes_uint128_t xmm2; - aes_uint128_t xmm3; - aes_uint128_t xmm4; - aes_uint128_t xmm5; - aes_uint128_t xmm6; - aes_uint128_t xmm7; - aes_uint128_t xmm8; - aes_uint128_t xmm9; - aes_uint128_t xmm10; - aes_uint128_t xmm11; - aes_uint128_t xmm12; - aes_uint128_t xmm13; - aes_uint128_t xmm14; - aes_uint128_t xmm15; - aes_uint128_t t; - - bitslicekey0(k, c); - - keyexpbs1(xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, - xmm11, xmm12, xmm13, xmm14, xmm15, c); - keyexpbs(xmm0, xmm1, xmm4, xmm6, xmm3, xmm7, xmm2, xmm5, xmm8, xmm9, xmm10, - xmm11, xmm12, xmm13, xmm14, xmm15, xor_rcon(&xmm1); - , 2, c); - keyexpbs(xmm0, xmm1, xmm3, xmm2, xmm6, xmm5, xmm4, xmm7, xmm8, xmm9, xmm10, - xmm11, xmm12, xmm13, xmm14, xmm15, xor_rcon(&xmm6); - , 3, c); - keyexpbs(xmm0, xmm1, xmm6, xmm4, xmm2, xmm7, xmm3, xmm5, xmm8, xmm9, xmm10, - xmm11, xmm12, xmm13, xmm14, xmm15, xor_rcon(&xmm3); - , 4, c); - - keyexpbs(xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, - xmm11, xmm12, xmm13, xmm14, xmm15, xor_rcon(&xmm3); - , 5, c); - keyexpbs(xmm0, xmm1, xmm4, xmm6, xmm3, xmm7, xmm2, xmm5, xmm8, xmm9, xmm10, - xmm11, xmm12, xmm13, xmm14, xmm15, xor_rcon(&xmm5); - , 6, c); - keyexpbs(xmm0, xmm1, xmm3, xmm2, xmm6, xmm5, xmm4, xmm7, xmm8, xmm9, xmm10, - xmm11, xmm12, xmm13, xmm14, xmm15, xor_rcon(&xmm3); - , 7, c); - keyexpbs(xmm0, xmm1, xmm6, xmm4, xmm2, xmm7, xmm3, xmm5, xmm8, xmm9, xmm10, - xmm11, xmm12, xmm13, xmm14, xmm15, xor_rcon(&xmm7); - , 8, c); - - keyexpbs(xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, xmm10, - xmm11, xmm12, xmm13, xmm14, xmm15, xor_rcon(&xmm0); - xor_rcon(&xmm1); xor_rcon(&xmm6); xor_rcon(&xmm3);, 9, c); - keyexpbs10(xmm0, xmm1, xmm4, xmm6, xmm3, xmm7, xmm2, xmm5, xmm8, xmm9, - xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, c); - - return 0; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/common.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/common.h deleted file mode 100755 index c1e6394b6..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/common.h +++ /dev/null @@ -1,766 +0,0 @@ -/* Author: Peter Schwabe, ported from an assembly implementation by Emilia - Käsper - Date: 2009-03-19 - Public domain */ -#ifndef aes128ctr_nacl_common_H -#define aes128ctr_nacl_common_H - -#include "private/common.h" - -/* Macros required only for key expansion */ - -#define keyexpbs1(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, t6, \ - t7, bskey) \ - rotbyte(&b0); \ - rotbyte(&b1); \ - rotbyte(&b2); \ - rotbyte(&b3); \ - rotbyte(&b4); \ - rotbyte(&b5); \ - rotbyte(&b6); \ - rotbyte(&b7); \ - \ - sbox(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, t6, t7); \ - \ - xor_rcon(&b0); \ - shufb(&b0, EXPB0); \ - shufb(&b1, EXPB0); \ - shufb(&b4, EXPB0); \ - shufb(&b6, EXPB0); \ - shufb(&b3, EXPB0); \ - shufb(&b7, EXPB0); \ - shufb(&b2, EXPB0); \ - shufb(&b5, EXPB0); \ - shufb(&b0, EXPB0); \ - \ - t0 = *(aes_uint128_t *) (bskey + 0); \ - t1 = *(aes_uint128_t *) (bskey + 16); \ - t2 = *(aes_uint128_t *) (bskey + 32); \ - t3 = *(aes_uint128_t *) (bskey + 48); \ - t4 = *(aes_uint128_t *) (bskey + 64); \ - t5 = *(aes_uint128_t *) (bskey + 80); \ - t6 = *(aes_uint128_t *) (bskey + 96); \ - t7 = *(aes_uint128_t *) (bskey + 112); \ - \ - xor2(&b0, &t0); \ - xor2(&b1, &t1); \ - xor2(&b4, &t2); \ - xor2(&b6, &t3); \ - xor2(&b3, &t4); \ - xor2(&b7, &t5); \ - xor2(&b2, &t6); \ - xor2(&b5, &t7); \ - \ - rshift32_littleendian(&t0, 8); \ - rshift32_littleendian(&t1, 8); \ - rshift32_littleendian(&t2, 8); \ - rshift32_littleendian(&t3, 8); \ - rshift32_littleendian(&t4, 8); \ - rshift32_littleendian(&t5, 8); \ - rshift32_littleendian(&t6, 8); \ - rshift32_littleendian(&t7, 8); \ - \ - xor2(&b0, &t0); \ - xor2(&b1, &t1); \ - xor2(&b4, &t2); \ - xor2(&b6, &t3); \ - xor2(&b3, &t4); \ - xor2(&b7, &t5); \ - xor2(&b2, &t6); \ - xor2(&b5, &t7); \ - \ - rshift32_littleendian(&t0, 8); \ - rshift32_littleendian(&t1, 8); \ - rshift32_littleendian(&t2, 8); \ - rshift32_littleendian(&t3, 8); \ - rshift32_littleendian(&t4, 8); \ - rshift32_littleendian(&t5, 8); \ - rshift32_littleendian(&t6, 8); \ - rshift32_littleendian(&t7, 8); \ - \ - xor2(&b0, &t0); \ - xor2(&b1, &t1); \ - xor2(&b4, &t2); \ - xor2(&b6, &t3); \ - xor2(&b3, &t4); \ - xor2(&b7, &t5); \ - xor2(&b2, &t6); \ - xor2(&b5, &t7); \ - \ - rshift32_littleendian(&t0, 8); \ - rshift32_littleendian(&t1, 8); \ - rshift32_littleendian(&t2, 8); \ - rshift32_littleendian(&t3, 8); \ - rshift32_littleendian(&t4, 8); \ - rshift32_littleendian(&t5, 8); \ - rshift32_littleendian(&t6, 8); \ - rshift32_littleendian(&t7, 8); \ - \ - xor2(&b0, &t0); \ - xor2(&b1, &t1); \ - xor2(&b4, &t2); \ - xor2(&b6, &t3); \ - xor2(&b3, &t4); \ - xor2(&b7, &t5); \ - xor2(&b2, &t6); \ - xor2(&b5, &t7); \ - \ - *(aes_uint128_t *) (bskey + 128) = b0; \ - *(aes_uint128_t *) (bskey + 144) = b1; \ - *(aes_uint128_t *) (bskey + 160) = b4; \ - *(aes_uint128_t *) (bskey + 176) = b6; \ - *(aes_uint128_t *) (bskey + 192) = b3; \ - *(aes_uint128_t *) (bskey + 208) = b7; \ - *(aes_uint128_t *) (bskey + 224) = b2; \ - *(aes_uint128_t *) (bskey + 240) = b5 - -#define keyexpbs10(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, t6, \ - t7, bskey) \ - toggle(&b0); \ - toggle(&b1); \ - toggle(&b5); \ - toggle(&b6); \ - rotbyte(&b0); \ - rotbyte(&b1); \ - rotbyte(&b2); \ - rotbyte(&b3); \ - rotbyte(&b4); \ - rotbyte(&b5); \ - rotbyte(&b6); \ - rotbyte(&b7); \ - \ - sbox(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, t6, t7); \ - \ - xor_rcon(&b1); \ - xor_rcon(&b4); \ - xor_rcon(&b3); \ - xor_rcon(&b7); \ - shufb(&b0, EXPB0); \ - shufb(&b1, EXPB0); \ - shufb(&b4, EXPB0); \ - shufb(&b6, EXPB0); \ - shufb(&b3, EXPB0); \ - shufb(&b7, EXPB0); \ - shufb(&b2, EXPB0); \ - shufb(&b5, EXPB0); \ - \ - t0 = *(aes_uint128_t *) (bskey + 9 * 128 + 0); \ - t1 = *(aes_uint128_t *) (bskey + 9 * 128 + 16); \ - t2 = *(aes_uint128_t *) (bskey + 9 * 128 + 32); \ - t3 = *(aes_uint128_t *) (bskey + 9 * 128 + 48); \ - t4 = *(aes_uint128_t *) (bskey + 9 * 128 + 64); \ - t5 = *(aes_uint128_t *) (bskey + 9 * 128 + 80); \ - t6 = *(aes_uint128_t *) (bskey + 9 * 128 + 96); \ - t7 = *(aes_uint128_t *) (bskey + 9 * 128 + 112); \ - \ - toggle(&t0); \ - toggle(&t1); \ - toggle(&t5); \ - toggle(&t6); \ - \ - xor2(&b0, &t0); \ - xor2(&b1, &t1); \ - xor2(&b4, &t2); \ - xor2(&b6, &t3); \ - xor2(&b3, &t4); \ - xor2(&b7, &t5); \ - xor2(&b2, &t6); \ - xor2(&b5, &t7); \ - \ - rshift32_littleendian(&t0, 8); \ - rshift32_littleendian(&t1, 8); \ - rshift32_littleendian(&t2, 8); \ - rshift32_littleendian(&t3, 8); \ - rshift32_littleendian(&t4, 8); \ - rshift32_littleendian(&t5, 8); \ - rshift32_littleendian(&t6, 8); \ - rshift32_littleendian(&t7, 8); \ - \ - xor2(&b0, &t0); \ - xor2(&b1, &t1); \ - xor2(&b4, &t2); \ - xor2(&b6, &t3); \ - xor2(&b3, &t4); \ - xor2(&b7, &t5); \ - xor2(&b2, &t6); \ - xor2(&b5, &t7); \ - \ - rshift32_littleendian(&t0, 8); \ - rshift32_littleendian(&t1, 8); \ - rshift32_littleendian(&t2, 8); \ - rshift32_littleendian(&t3, 8); \ - rshift32_littleendian(&t4, 8); \ - rshift32_littleendian(&t5, 8); \ - rshift32_littleendian(&t6, 8); \ - rshift32_littleendian(&t7, 8); \ - \ - xor2(&b0, &t0); \ - xor2(&b1, &t1); \ - xor2(&b4, &t2); \ - xor2(&b6, &t3); \ - xor2(&b3, &t4); \ - xor2(&b7, &t5); \ - xor2(&b2, &t6); \ - xor2(&b5, &t7); \ - \ - rshift32_littleendian(&t0, 8); \ - rshift32_littleendian(&t1, 8); \ - rshift32_littleendian(&t2, 8); \ - rshift32_littleendian(&t3, 8); \ - rshift32_littleendian(&t4, 8); \ - rshift32_littleendian(&t5, 8); \ - rshift32_littleendian(&t6, 8); \ - rshift32_littleendian(&t7, 8); \ - \ - xor2(&b0, &t0); \ - xor2(&b1, &t1); \ - xor2(&b4, &t2); \ - xor2(&b6, &t3); \ - xor2(&b3, &t4); \ - xor2(&b7, &t5); \ - xor2(&b2, &t6); \ - xor2(&b5, &t7); \ - \ - shufb(&b0, M0); \ - shufb(&b1, M0); \ - shufb(&b2, M0); \ - shufb(&b3, M0); \ - shufb(&b4, M0); \ - shufb(&b5, M0); \ - shufb(&b6, M0); \ - shufb(&b7, M0); \ - \ - *(aes_uint128_t *) (bskey + 1280) = b0; \ - *(aes_uint128_t *) (bskey + 1296) = b1; \ - *(aes_uint128_t *) (bskey + 1312) = b4; \ - *(aes_uint128_t *) (bskey + 1328) = b6; \ - *(aes_uint128_t *) (bskey + 1344) = b3; \ - *(aes_uint128_t *) (bskey + 1360) = b7; \ - *(aes_uint128_t *) (bskey + 1376) = b2; \ - *(aes_uint128_t *) (bskey + 1392) = b5 - -#define keyexpbs(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, t6, \ - t7, rcon, i, bskey) \ - toggle(&b0); \ - toggle(&b1); \ - toggle(&b5); \ - toggle(&b6); \ - rotbyte(&b0); \ - rotbyte(&b1); \ - rotbyte(&b2); \ - rotbyte(&b3); \ - rotbyte(&b4); \ - rotbyte(&b5); \ - rotbyte(&b6); \ - rotbyte(&b7); \ - \ - sbox(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, t6, t7); \ - \ - rcon; \ - shufb(&b0, EXPB0); \ - shufb(&b1, EXPB0); \ - shufb(&b4, EXPB0); \ - shufb(&b6, EXPB0); \ - shufb(&b3, EXPB0); \ - shufb(&b7, EXPB0); \ - shufb(&b2, EXPB0); \ - shufb(&b5, EXPB0); \ - \ - t0 = *(aes_uint128_t *) (bskey + (i - 1) * 128 + 0); \ - t1 = *(aes_uint128_t *) (bskey + (i - 1) * 128 + 16); \ - t2 = *(aes_uint128_t *) (bskey + (i - 1) * 128 + 32); \ - t3 = *(aes_uint128_t *) (bskey + (i - 1) * 128 + 48); \ - t4 = *(aes_uint128_t *) (bskey + (i - 1) * 128 + 64); \ - t5 = *(aes_uint128_t *) (bskey + (i - 1) * 128 + 80); \ - t6 = *(aes_uint128_t *) (bskey + (i - 1) * 128 + 96); \ - t7 = *(aes_uint128_t *) (bskey + (i - 1) * 128 + 112); \ - \ - toggle(&t0); \ - toggle(&t1); \ - toggle(&t5); \ - toggle(&t6); \ - \ - xor2(&b0, &t0); \ - xor2(&b1, &t1); \ - xor2(&b4, &t2); \ - xor2(&b6, &t3); \ - xor2(&b3, &t4); \ - xor2(&b7, &t5); \ - xor2(&b2, &t6); \ - xor2(&b5, &t7); \ - \ - rshift32_littleendian(&t0, 8); \ - rshift32_littleendian(&t1, 8); \ - rshift32_littleendian(&t2, 8); \ - rshift32_littleendian(&t3, 8); \ - rshift32_littleendian(&t4, 8); \ - rshift32_littleendian(&t5, 8); \ - rshift32_littleendian(&t6, 8); \ - rshift32_littleendian(&t7, 8); \ - \ - xor2(&b0, &t0); \ - xor2(&b1, &t1); \ - xor2(&b4, &t2); \ - xor2(&b6, &t3); \ - xor2(&b3, &t4); \ - xor2(&b7, &t5); \ - xor2(&b2, &t6); \ - xor2(&b5, &t7); \ - \ - rshift32_littleendian(&t0, 8); \ - rshift32_littleendian(&t1, 8); \ - rshift32_littleendian(&t2, 8); \ - rshift32_littleendian(&t3, 8); \ - rshift32_littleendian(&t4, 8); \ - rshift32_littleendian(&t5, 8); \ - rshift32_littleendian(&t6, 8); \ - rshift32_littleendian(&t7, 8); \ - \ - xor2(&b0, &t0); \ - xor2(&b1, &t1); \ - xor2(&b4, &t2); \ - xor2(&b6, &t3); \ - xor2(&b3, &t4); \ - xor2(&b7, &t5); \ - xor2(&b2, &t6); \ - xor2(&b5, &t7); \ - \ - rshift32_littleendian(&t0, 8); \ - rshift32_littleendian(&t1, 8); \ - rshift32_littleendian(&t2, 8); \ - rshift32_littleendian(&t3, 8); \ - rshift32_littleendian(&t4, 8); \ - rshift32_littleendian(&t5, 8); \ - rshift32_littleendian(&t6, 8); \ - rshift32_littleendian(&t7, 8); \ - \ - xor2(&b0, &t0); \ - xor2(&b1, &t1); \ - xor2(&b4, &t2); \ - xor2(&b6, &t3); \ - xor2(&b3, &t4); \ - xor2(&b7, &t5); \ - xor2(&b2, &t6); \ - xor2(&b5, &t7); \ - \ - *(aes_uint128_t *) (bskey + i * 128 + 0) = b0; \ - *(aes_uint128_t *) (bskey + i * 128 + 16) = b1; \ - *(aes_uint128_t *) (bskey + i * 128 + 32) = b4; \ - *(aes_uint128_t *) (bskey + i * 128 + 48) = b6; \ - *(aes_uint128_t *) (bskey + i * 128 + 64) = b3; \ - *(aes_uint128_t *) (bskey + i * 128 + 80) = b7; \ - *(aes_uint128_t *) (bskey + i * 128 + 96) = b2; \ - *(aes_uint128_t *) (bskey + i * 128 + 112) = b5 - -/* Macros used in multiple contexts */ - -#define bitslicekey0(key, bskey) \ - xmm0 = *(const aes_uint128_t *) (key + 0); \ - shufb(&xmm0, M0); \ - copy2(&xmm1, &xmm0); \ - copy2(&xmm2, &xmm0); \ - copy2(&xmm3, &xmm0); \ - copy2(&xmm4, &xmm0); \ - copy2(&xmm5, &xmm0); \ - copy2(&xmm6, &xmm0); \ - copy2(&xmm7, &xmm0); \ - \ - bitslice(xmm7, xmm6, xmm5, xmm4, xmm3, xmm2, xmm1, xmm0, t); \ - \ - *(aes_uint128_t *) (bskey + 0) = xmm0; \ - *(aes_uint128_t *) (bskey + 16) = xmm1; \ - *(aes_uint128_t *) (bskey + 32) = xmm2; \ - *(aes_uint128_t *) (bskey + 48) = xmm3; \ - *(aes_uint128_t *) (bskey + 64) = xmm4; \ - *(aes_uint128_t *) (bskey + 80) = xmm5; \ - *(aes_uint128_t *) (bskey + 96) = xmm6; \ - *(aes_uint128_t *) (bskey + 112) = xmm7 - -#define bitslicekey10(key, bskey) \ - xmm0 = *(aes_uint128_t *) (key + 0); \ - copy2(xmm1, xmm0); \ - copy2(xmm2, xmm0); \ - copy2(xmm3, xmm0); \ - copy2(xmm4, xmm0); \ - copy2(xmm5, xmm0); \ - copy2(xmm6, xmm0); \ - copy2(xmm7, xmm0); \ - \ - bitslice(xmm7, xmm6, xmm5, xmm4, xmm3, xmm2, xmm1, xmm0, t); \ - \ - toggle(&xmm6); \ - toggle(&xmm5); \ - toggle(&xmm1); \ - toggle(&xmm0); \ - \ - *(aes_uint128_t *) (bskey + 0 + 1280) = xmm0; \ - *(aes_uint128_t *) (bskey + 16 + 1280) = xmm1; \ - *(aes_uint128_t *) (bskey + 32 + 1280) = xmm2; \ - *(aes_uint128_t *) (bskey + 48 + 1280) = xmm3; \ - *(aes_uint128_t *) (bskey + 64 + 1280) = xmm4; \ - *(aes_uint128_t *) (bskey + 80 + 1280) = xmm5; \ - *(aes_uint128_t *) (bskey + 96 + 1280) = xmm6; \ - *(aes_uint128_t *) (bskey + 112 + 1280) = xmm7 - -#define bitslicekey(i, key, bskey) \ - xmm0 = *(aes_uint128_t *) (key + 0); \ - shufb(&xmm0, M0); \ - copy2(&xmm1, &xmm0); \ - copy2(&xmm2, &xmm0); \ - copy2(&xmm3, &xmm0); \ - copy2(&xmm4, &xmm0); \ - copy2(&xmm5, &xmm0); \ - copy2(&xmm6, &xmm0); \ - copy2(&xmm7, &xmm0); \ - \ - bitslice(xmm7, xmm6, xmm5, xmm4, xmm3, xmm2, xmm1, xmm0, t); \ - \ - toggle(&xmm6); \ - toggle(&xmm5); \ - toggle(&xmm1); \ - toggle(&xmm0); \ - \ - *(aes_uint128_t *) (bskey + 0 + 128 * i) = xmm0; \ - *(aes_uint128_t *) (bskey + 16 + 128 * i) = xmm1; \ - *(aes_uint128_t *) (bskey + 32 + 128 * i) = xmm2; \ - *(aes_uint128_t *) (bskey + 48 + 128 * i) = xmm3; \ - *(aes_uint128_t *) (bskey + 64 + 128 * i) = xmm4; \ - *(aes_uint128_t *) (bskey + 80 + 128 * i) = xmm5; \ - *(aes_uint128_t *) (bskey + 96 + 128 * i) = xmm6; \ - *(aes_uint128_t *) (bskey + 112 + 128 * i) = xmm7 - -#define bitslice(x0, x1, x2, x3, x4, x5, x6, x7, t) \ - swapmove(x0, x1, 1, BS0, t); \ - swapmove(x2, x3, 1, BS0, t); \ - swapmove(x4, x5, 1, BS0, t); \ - swapmove(x6, x7, 1, BS0, t); \ - \ - swapmove(x0, x2, 2, BS1, t); \ - swapmove(x1, x3, 2, BS1, t); \ - swapmove(x4, x6, 2, BS1, t); \ - swapmove(x5, x7, 2, BS1, t); \ - \ - swapmove(x0, x4, 4, BS2, t); \ - swapmove(x1, x5, 4, BS2, t); \ - swapmove(x2, x6, 4, BS2, t); \ - swapmove(x3, x7, 4, BS2, t) - -#define swapmove(a, b, n, m, t) \ - copy2(&t, &b); \ - rshift64_littleendian(&t, n); \ - xor2(&t, &a); \ - and2(&t, &m); \ - xor2(&a, &t); \ - lshift64_littleendian(&t, n); \ - xor2(&b, &t) - -#define rotbyte(x) shufb(x, ROTB) /* TODO: Make faster */ - -/* Macros used for encryption (and decryption) */ - -#define shiftrows(x0, x1, x2, x3, x4, x5, x6, x7, i, M, bskey) \ - xor2(&x0, (const aes_uint128_t *) (bskey + 128 * (i - 1) + 0)); \ - shufb(&x0, M); \ - xor2(&x1, (const aes_uint128_t *) (bskey + 128 * (i - 1) + 16)); \ - shufb(&x1, M); \ - xor2(&x2, (const aes_uint128_t *) (bskey + 128 * (i - 1) + 32)); \ - shufb(&x2, M); \ - xor2(&x3, (const aes_uint128_t *) (bskey + 128 * (i - 1) + 48)); \ - shufb(&x3, M); \ - xor2(&x4, (const aes_uint128_t *) (bskey + 128 * (i - 1) + 64)); \ - shufb(&x4, M); \ - xor2(&x5, (const aes_uint128_t *) (bskey + 128 * (i - 1) + 80)); \ - shufb(&x5, M); \ - xor2(&x6, (const aes_uint128_t *) (bskey + 128 * (i - 1) + 96)); \ - shufb(&x6, M); \ - xor2(&x7, (const aes_uint128_t *) (bskey + 128 * (i - 1) + 112)); \ - shufb(&x7, M) - -#define mixcolumns(x0, x1, x2, x3, x4, x5, x6, x7, t0, t1, t2, t3, t4, t5, t6, \ - t7) \ - shufd(&t0, &x0, 0x93); \ - shufd(&t1, &x1, 0x93); \ - shufd(&t2, &x2, 0x93); \ - shufd(&t3, &x3, 0x93); \ - shufd(&t4, &x4, 0x93); \ - shufd(&t5, &x5, 0x93); \ - shufd(&t6, &x6, 0x93); \ - shufd(&t7, &x7, 0x93); \ - \ - xor2(&x0, &t0); \ - xor2(&x1, &t1); \ - xor2(&x2, &t2); \ - xor2(&x3, &t3); \ - xor2(&x4, &t4); \ - xor2(&x5, &t5); \ - xor2(&x6, &t6); \ - xor2(&x7, &t7); \ - \ - xor2(&t0, &x7); \ - xor2(&t1, &x0); \ - xor2(&t2, &x1); \ - xor2(&t1, &x7); \ - xor2(&t3, &x2); \ - xor2(&t4, &x3); \ - xor2(&t5, &x4); \ - xor2(&t3, &x7); \ - xor2(&t6, &x5); \ - xor2(&t7, &x6); \ - xor2(&t4, &x7); \ - \ - shufd(&x0, &x0, 0x4e); \ - shufd(&x1, &x1, 0x4e); \ - shufd(&x2, &x2, 0x4e); \ - shufd(&x3, &x3, 0x4e); \ - shufd(&x4, &x4, 0x4e); \ - shufd(&x5, &x5, 0x4e); \ - shufd(&x6, &x6, 0x4e); \ - shufd(&x7, &x7, 0x4e); \ - \ - xor2(&t0, &x0); \ - xor2(&t1, &x1); \ - xor2(&t2, &x2); \ - xor2(&t3, &x3); \ - xor2(&t4, &x4); \ - xor2(&t5, &x5); \ - xor2(&t6, &x6); \ - xor2(&t7, &x7) - -#define aesround(i, b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, \ - t6, t7, bskey) \ - shiftrows(b0, b1, b2, b3, b4, b5, b6, b7, i, SR, bskey); \ - sbox(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, t6, t7); \ - mixcolumns(b0, b1, b4, b6, b3, b7, b2, b5, t0, t1, t2, t3, t4, t5, t6, t7) - -#define lastround(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, t6, \ - t7, bskey) \ - shiftrows(b0, b1, b2, b3, b4, b5, b6, b7, 10, SRM0, bskey); \ - sbox(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, t4, t5, t6, t7); \ - xor2(&b0, (const aes_uint128_t *) (bskey + 128 * 10)); \ - xor2(&b1, (const aes_uint128_t *) (bskey + 128 * 10 + 16)); \ - xor2(&b4, (const aes_uint128_t *) (bskey + 128 * 10 + 32)); \ - xor2(&b6, (const aes_uint128_t *) (bskey + 128 * 10 + 48)); \ - xor2(&b3, (const aes_uint128_t *) (bskey + 128 * 10 + 64)); \ - xor2(&b7, (const aes_uint128_t *) (bskey + 128 * 10 + 80)); \ - xor2(&b2, (const aes_uint128_t *) (bskey + 128 * 10 + 96)); \ - xor2(&b5, (const aes_uint128_t *) (bskey + 128 * 10 + 112)) - -#define sbox(b0, b1, b2, b3, b4, b5, b6, b7, t0, t1, t2, t3, s0, s1, s2, s3) \ - InBasisChange(b0, b1, b2, b3, b4, b5, b6, b7); \ - Inv_GF256(b6, b5, b0, b3, b7, b1, b4, b2, t0, t1, t2, t3, s0, s1, s2, s3); \ - OutBasisChange(b7, b1, b4, b2, b6, b5, b0, b3) - -#define InBasisChange(b0, b1, b2, b3, b4, b5, b6, b7) \ - xor2(&b5, &b6); \ - xor2(&b2, &b1); \ - xor2(&b5, &b0); \ - xor2(&b6, &b2); \ - xor2(&b3, &b0); \ - \ - xor2(&b6, &b3); \ - xor2(&b3, &b7); \ - xor2(&b3, &b4); \ - xor2(&b7, &b5); \ - xor2(&b3, &b1); \ - \ - xor2(&b4, &b5); \ - xor2(&b2, &b7); \ - xor2(&b1, &b5) - -#define OutBasisChange(b0, b1, b2, b3, b4, b5, b6, b7) \ - xor2(&b0, &b6); \ - xor2(&b1, &b4); \ - xor2(&b2, &b0); \ - xor2(&b4, &b6); \ - xor2(&b6, &b1); \ - \ - xor2(&b1, &b5); \ - xor2(&b5, &b3); \ - xor2(&b2, &b5); \ - xor2(&b3, &b7); \ - xor2(&b7, &b5); \ - \ - xor2(&b4, &b7) - -#define Mul_GF4(x0, x1, y0, y1, t0) \ - copy2(&t0, &y0); \ - xor2(&t0, &y1); \ - and2(&t0, &x0); \ - xor2(&x0, &x1); \ - and2(&x0, &y1); \ - and2(&x1, &y0); \ - xor2(&x0, &x1); \ - xor2(&x1, &t0) - -#define Mul_GF4_N(x0, x1, y0, y1, t0) \ - copy2(&t0, &y0); \ - xor2(&t0, &y1); \ - and2(&t0, &x0); \ - xor2(&x0, &x1); \ - and2(&x0, &y1); \ - and2(&x1, &y0); \ - xor2(&x1, &x0); \ - xor2(&x0, &t0) - -#define Mul_GF4_2(x0, x1, x2, x3, y0, y1, t0, t1) \ - copy2(&t0, = y0); \ - xor2(&t0, &y1); \ - copy2(&t1, &t0); \ - and2(&t0, &x0); \ - and2(&t1, &x2); \ - xor2(&x0, &x1); \ - xor2(&x2, &x3); \ - and2(&x0, &y1); \ - and2(&x2, &y1); \ - and2(&x1, &y0); \ - and2(&x3, &y0); \ - xor2(&x0, &x1); \ - xor2(&x2, &x3); \ - xor2(&x1, &t0); \ - xor2(&x3, &t1) - -#define Mul_GF16(x0, x1, x2, x3, y0, y1, y2, y3, t0, t1, t2, t3) \ - copy2(&t0, &x0); \ - copy2(&t1, &x1); \ - Mul_GF4(x0, x1, y0, y1, t2); \ - xor2(&t0, &x2); \ - xor2(&t1, &x3); \ - xor2(&y0, &y2); \ - xor2(&y1, &y3); \ - Mul_GF4_N(t0, t1, y0, y1, t2); \ - Mul_GF4(x2, x3, y2, y3, t3); \ - \ - xor2(&x0, &t0); \ - xor2(&x2, &t0); \ - xor2(&x1, &t1); \ - xor2(&x3, &t1) - -#define Mul_GF16_2(x0, x1, x2, x3, x4, x5, x6, x7, y0, y1, y2, y3, t0, t1, t2, \ - t3) \ - copy2(&t0, &x0); \ - copy2(&t1, &x1); \ - Mul_GF4(x0, x1, y0, y1, t2); \ - xor2(&t0, &x2); \ - xor2(&t1, &x3); \ - xor2(&y0, &y2); \ - xor2(&y1, &y3); \ - Mul_GF4_N(t0, t1, y0, y1, t3); \ - Mul_GF4(x2, x3, y2, y3, t2); \ - \ - xor2(&x0, &t0); \ - xor2(&x2, &t0); \ - xor2(&x1, &t1); \ - xor2(&x3, &t1); \ - \ - copy2(&t0, &x4); \ - copy2(&t1, &x5); \ - xor2(&t0, &x6); \ - xor2(&t1, &x7); \ - Mul_GF4_N(t0, t1, y0, y1, t3); \ - Mul_GF4(x6, x7, y2, y3, t2); \ - xor2(&y0, &y2); \ - xor2(&y1, &y3); \ - Mul_GF4(x4, x5, y0, y1, t3); \ - \ - xor2(&x4, &t0); \ - xor2(&x6, &t0); \ - xor2(&x5, &t1); \ - xor2(&x7, &t1) - -#define Inv_GF16(x0, x1, x2, x3, t0, t1, t2, t3) \ - copy2(&t0, &x1); \ - copy2(&t1, &x0); \ - and2(&t0, &x3); \ - or2(&t1, &x2); \ - copy2(&t2, &x1); \ - copy2(&t3, &x0); \ - or2(&t2, &x2); \ - or2(&t3, &x3); \ - xor2(&t2, &t3); \ - \ - xor2(&t0, &t2); \ - xor2(&t1, &t2); \ - \ - Mul_GF4_2(x0, x1, x2, x3, t1, t0, t2, t3) - -#define Inv_GF256(x0, x1, x2, x3, x4, x5, x6, x7, t0, t1, t2, t3, s0, s1, s2, \ - s3) \ - copy2(&t3, &x4); \ - copy2(&t2, &x5); \ - copy2(&t1, &x1); \ - copy2(&s1, &x7); \ - copy2(&s0, &x0); \ - \ - xor2(&t3, &x6); \ - xor2(&t2, &x7); \ - xor2(&t1, &x3); \ - xor2(&s1, &x6); \ - xor2(&s0, &x2); \ - \ - copy2(&s2, &t3); \ - copy2(&t0, &t2); \ - copy2(&s3, &t3); \ - \ - or2(&t2, &t1); \ - or2(&t3, &s0); \ - xor2(&s3, &t0); \ - and2(&s2, &s0); \ - and2(&t0, &t1); \ - xor2(&s0, &t1); \ - and2(&s3, &s0); \ - copy2(&s0, &x3); \ - xor2(&s0, &x2); \ - and2(&s1, &s0); \ - xor2(&t3, &s1); \ - xor2(&t2, &s1); \ - copy2(&s1, &x4); \ - xor2(&s1, &x5); \ - copy2(&s0, &x1); \ - copy2(&t1, &s1); \ - xor2(&s0, &x0); \ - or2(&t1, &s0); \ - and2(&s1, &s0); \ - xor2(&t0, &s1); \ - xor2(&t3, &s3); \ - xor2(&t2, &s2); \ - xor2(&t1, &s3); \ - xor2(&t0, &s2); \ - xor2(&t1, &s2); \ - copy2(&s0, &x7); \ - copy2(&s1, &x6); \ - copy2(&s2, &x5); \ - copy2(&s3, &x4); \ - and2(&s0, &x3); \ - and2(&s1, &x2); \ - and2(&s2, &x1); \ - or2(&s3, &x0); \ - xor2(&t3, &s0); \ - xor2(&t2, &s1); \ - xor2(&t1, &s2); \ - xor2(&t0, &s3); \ - \ - copy2(&s0, &t3); \ - xor2(&s0, &t2); \ - and2(&t3, &t1); \ - copy2(&s2, &t0); \ - xor2(&s2, &t3); \ - copy2(&s3, &s0); \ - and2(&s3, &s2); \ - xor2(&s3, &t2); \ - copy2(&s1, &t1); \ - xor2(&s1, &t0); \ - xor2(&t3, &t2); \ - and2(&s1, &t3); \ - xor2(&s1, &t0); \ - xor2(&t1, &s1); \ - copy2(&t2, &s2); \ - xor2(&t2, &s1); \ - and2(&t2, &t0); \ - xor2(&t1, &t2); \ - xor2(&s2, &t2); \ - and2(&s2, &s3); \ - xor2(&s2, &s0); \ - \ - Mul_GF16_2(x0, x1, x2, x3, x4, x5, x6, x7, s3, s2, s1, t1, s0, t0, t2, t3) - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/consts.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/consts.h deleted file mode 100755 index 1abdd3dab..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/consts.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef aes128ctr_nacl_consts_H -#define aes128ctr_nacl_consts_H - -#include "int128.h" - -#define ROTB crypto_stream_aes128ctr_nacl_ROTB -#define M0 crypto_stream_aes128ctr_nacl_M0 -#define EXPB0 crypto_stream_aes128ctr_nacl_EXPB0 -#define SWAP32 crypto_stream_aes128ctr_nacl_SWAP32 -#define M0SWAP crypto_stream_aes128ctr_nacl_M0SWAP -#define SR crypto_stream_aes128ctr_nacl_SR -#define SRM0 crypto_stream_aes128ctr_nacl_SRM0 -#define BS0 crypto_stream_aes128ctr_nacl_BS0 -#define BS1 crypto_stream_aes128ctr_nacl_BS1 -#define BS2 crypto_stream_aes128ctr_nacl_BS2 - -extern const unsigned char ROTB[16]; -extern const unsigned char M0[16]; -extern const unsigned char EXPB0[16]; -extern const unsigned char SWAP32[16]; -extern const unsigned char M0SWAP[16]; -extern const unsigned char SR[16]; -extern const unsigned char SRM0[16]; -extern const aes_uint128_t BS0; -extern const aes_uint128_t BS1; -extern const aes_uint128_t BS2; - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/consts_aes128ctr.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/consts_aes128ctr.c deleted file mode 100755 index 899a279b5..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/consts_aes128ctr.c +++ /dev/null @@ -1,28 +0,0 @@ -#include "consts.h" - -const unsigned char ROTB[16] = { - 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08 -}; -const unsigned char M0[16] = { 0x0f, 0x0b, 0x07, 0x03, 0x0e, 0x0a, 0x06, 0x02, - 0x0d, 0x09, 0x05, 0x01, 0x0c, 0x08, 0x04, 0x00 }; -const unsigned char EXPB0[16] = { 0x03, 0x03, 0x03, 0x03, 0x07, 0x07, - 0x07, 0x07, 0x0b, 0x0b, 0x0b, 0x0b, - 0x0f, 0x0f, 0x0f, 0x0f }; - -const unsigned char SWAP32[16] = { 0x03, 0x02, 0x01, 0x00, 0x07, 0x06, - 0x05, 0x04, 0x0b, 0x0a, 0x09, 0x08, - 0x0f, 0x0e, 0x0d, 0x0c }; -const unsigned char M0SWAP[16] = { 0x0c, 0x08, 0x04, 0x00, 0x0d, 0x09, - 0x05, 0x01, 0x0e, 0x0a, 0x06, 0x02, - 0x0f, 0x0b, 0x07, 0x03 }; -const unsigned char SR[16] = { 0x01, 0x02, 0x03, 0x00, 0x06, 0x07, 0x04, 0x05, - 0x0b, 0x08, 0x09, 0x0a, 0x0c, 0x0d, 0x0e, 0x0f }; -const unsigned char SRM0[16] = { - 0x0f, 0x0a, 0x05, 0x00, 0x0e, 0x09, 0x04, 0x03, - 0x0d, 0x08, 0x07, 0x02, 0x0c, 0x0b, 0x06, 0x01 -}; - -const aes_uint128_t BS0 = { { 0x5555555555555555ULL, 0x5555555555555555ULL } }; -const aes_uint128_t BS1 = { { 0x3333333333333333ULL, 0x3333333333333333ULL } }; -const aes_uint128_t BS2 = { { 0x0f0f0f0f0f0f0f0fULL, 0x0f0f0f0f0f0f0f0fULL } }; diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/int128.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/int128.h deleted file mode 100755 index cf002b76b..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/int128.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef aes128ctr_nacl_int128_H -#define aes128ctr_nacl_int128_H - -#include - -#include "common.h" - -typedef union { - uint64_t u64[2]; - uint32_t u32[4]; - uint8_t u8[16]; -} aes_uint128_t; - -#define xor2 crypto_stream_aes128ctr_nacl_xor2 -void xor2(aes_uint128_t *r, const aes_uint128_t *x); - -#define and2 crypto_stream_aes128ctr_nacl_and2 -void and2(aes_uint128_t *r, const aes_uint128_t *x); - -#define or2 crypto_stream_aes128ctr_nacl_or2 -void or2(aes_uint128_t *r, const aes_uint128_t *x); - -#define copy2 crypto_stream_aes128ctr_nacl_copy2 -void copy2(aes_uint128_t *r, const aes_uint128_t *x); - -#define shufb crypto_stream_aes128ctr_nacl_shufb -void shufb(aes_uint128_t *r, const unsigned char *l); - -#define shufd crypto_stream_aes128ctr_nacl_shufd -void shufd(aes_uint128_t *r, const aes_uint128_t *x, const unsigned int c); - -#define rshift32_littleendian crypto_stream_aes128ctr_nacl_rshift32_littleendian -void rshift32_littleendian(aes_uint128_t *r, const unsigned int n); - -#define rshift64_littleendian crypto_stream_aes128ctr_nacl_rshift64_littleendian -void rshift64_littleendian(aes_uint128_t *r, const unsigned int n); - -#define lshift64_littleendian crypto_stream_aes128ctr_nacl_lshift64_littleendian -void lshift64_littleendian(aes_uint128_t *r, const unsigned int n); - -#define toggle crypto_stream_aes128ctr_nacl_toggle -void toggle(aes_uint128_t *r); - -#define xor_rcon crypto_stream_aes128ctr_nacl_xor_rcon -void xor_rcon(aes_uint128_t *r); - -#define add_uint32_big crypto_stream_aes128ctr_nacl_add_uint32_big -void add_uint32_big(aes_uint128_t *r, uint32_t x); - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/int128_aes128ctr.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/int128_aes128ctr.c deleted file mode 100755 index b74eef2da..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/int128_aes128ctr.c +++ /dev/null @@ -1,149 +0,0 @@ -#include - -#include "common.h" -#include "int128.h" - -void -xor2(aes_uint128_t *r, const aes_uint128_t *x) -{ - r->u64[0] ^= x->u64[0]; - r->u64[1] ^= x->u64[1]; -} - -void -and2(aes_uint128_t *r, const aes_uint128_t *x) -{ - r->u64[0] &= x->u64[0]; - r->u64[1] &= x->u64[1]; -} - -void -or2(aes_uint128_t *r, const aes_uint128_t *x) -{ - r->u64[0] |= x->u64[0]; - r->u64[1] |= x->u64[1]; -} - -void -copy2(aes_uint128_t *r, const aes_uint128_t *x) -{ - r->u64[0] = x->u64[0]; - r->u64[1] = x->u64[1]; -} - -void -shufb(aes_uint128_t *r, const unsigned char *l) -{ - aes_uint128_t t; - uint8_t * ct; - uint8_t * cr; - - copy2(&t, r); - cr = r->u8; - ct = t.u8; - cr[0] = ct[l[0]]; - cr[1] = ct[l[1]]; - cr[2] = ct[l[2]]; - cr[3] = ct[l[3]]; - cr[4] = ct[l[4]]; - cr[5] = ct[l[5]]; - cr[6] = ct[l[6]]; - cr[7] = ct[l[7]]; - cr[8] = ct[l[8]]; - cr[9] = ct[l[9]]; - cr[10] = ct[l[10]]; - cr[11] = ct[l[11]]; - cr[12] = ct[l[12]]; - cr[13] = ct[l[13]]; - cr[14] = ct[l[14]]; - cr[15] = ct[l[15]]; -} - -void -shufd(aes_uint128_t *r, const aes_uint128_t *x, const unsigned int c) -{ - aes_uint128_t t; - - t.u32[0] = x->u32[c >> 0 & 3]; - t.u32[1] = x->u32[c >> 2 & 3]; - t.u32[2] = x->u32[c >> 4 & 3]; - t.u32[3] = x->u32[c >> 6 & 3]; - copy2(r, &t); -} - -void -rshift32_littleendian(aes_uint128_t *r, const unsigned int n) -{ - unsigned char *rp = (unsigned char *) r; - uint32_t t; - - t = LOAD32_LE(rp); - t >>= n; - STORE32_LE(rp, t); - t = LOAD32_LE(rp + 4); - t >>= n; - STORE32_LE(rp + 4, t); - t = LOAD32_LE(rp + 8); - t >>= n; - STORE32_LE(rp + 8, t); - t = LOAD32_LE(rp + 12); - t >>= n; - STORE32_LE(rp + 12, t); -} - -void -rshift64_littleendian(aes_uint128_t *r, const unsigned int n) -{ - unsigned char *rp = (unsigned char *) r; - uint64_t t; - - t = LOAD64_LE(rp); - t >>= n; - STORE64_LE(rp, t); - t = LOAD64_LE(rp + 8); - t >>= n; - STORE64_LE(rp + 8, t); -} - -void -lshift64_littleendian(aes_uint128_t *r, const unsigned int n) -{ - unsigned char *rp = (unsigned char *) r; - uint64_t t; - - t = LOAD64_LE(rp); - t <<= n; - STORE64_LE(rp, t); - t = LOAD64_LE(rp + 8); - t <<= n; - STORE64_LE(rp + 8, t); -} - -void -toggle(aes_uint128_t *r) -{ - r->u64[0] ^= 0xffffffffffffffffULL; - r->u64[1] ^= 0xffffffffffffffffULL; -} - -void -xor_rcon(aes_uint128_t *r) -{ - unsigned char *rp = (unsigned char *) r; - uint32_t t; - - t = LOAD32_LE(rp + 12); - t ^= 0xffffffff; - STORE32_LE(rp + 12, t); -} - -void -add_uint32_big(aes_uint128_t *r, uint32_t x) -{ - unsigned char *rp = (unsigned char *) r; - uint32_t t; - - t = LOAD32_LE(rp + 12); - t += x; - STORE32_LE(rp + 12, t); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/stream_aes128ctr_nacl.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/stream_aes128ctr_nacl.c deleted file mode 100755 index 0d8e00410..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/stream_aes128ctr_nacl.c +++ /dev/null @@ -1,31 +0,0 @@ - -#include "crypto_stream_aes128ctr.h" - -#ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wdeprecated-declarations" -#endif - -int -crypto_stream_aes128ctr(unsigned char *out, unsigned long long outlen, - const unsigned char *n, const unsigned char *k) -{ - unsigned char d[crypto_stream_aes128ctr_BEFORENMBYTES]; - - crypto_stream_aes128ctr_beforenm(d, k); - crypto_stream_aes128ctr_afternm(out, outlen, n, d); - - return 0; -} - -int -crypto_stream_aes128ctr_xor(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *n, - const unsigned char *k) -{ - unsigned char d[crypto_stream_aes128ctr_BEFORENMBYTES]; - - crypto_stream_aes128ctr_beforenm(d, k); - crypto_stream_aes128ctr_xor_afternm(out, in, inlen, n, d); - - return 0; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/xor_afternm_aes128ctr.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/xor_afternm_aes128ctr.c deleted file mode 100755 index 07396c949..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/nacl/xor_afternm_aes128ctr.c +++ /dev/null @@ -1,195 +0,0 @@ -/* Author: Peter Schwabe, ported from an assembly implementation by Emilia - * Käsper - * Date: 2009-03-19 - * Public domain */ - -#include "common.h" -#include "consts.h" -#include "crypto_stream_aes128ctr.h" -#include "int128.h" - -int -crypto_stream_aes128ctr_xor_afternm(unsigned char *out, const unsigned char *in, - unsigned long long len, - const unsigned char *nonce, - const unsigned char *c) -{ - aes_uint128_t xmm0; - aes_uint128_t xmm1; - aes_uint128_t xmm2; - aes_uint128_t xmm3; - aes_uint128_t xmm4; - aes_uint128_t xmm5; - aes_uint128_t xmm6; - aes_uint128_t xmm7; - aes_uint128_t xmm8; - aes_uint128_t xmm9; - aes_uint128_t xmm10; - aes_uint128_t xmm11; - aes_uint128_t xmm12; - aes_uint128_t xmm13; - aes_uint128_t xmm14; - aes_uint128_t xmm15; - aes_uint128_t nonce_stack; - unsigned long long lensav; - unsigned char bl[128]; - unsigned char * blp; - unsigned char * np; - unsigned char b; - uint32_t tmp; - - /* Copy nonce on the stack */ - copy2(&nonce_stack, (const aes_uint128_t *) (nonce + 0)); - np = (unsigned char *) &nonce_stack; - -enc_block: - - xmm0 = *(aes_uint128_t *) (np + 0); - copy2(&xmm1, &xmm0); - shufb(&xmm1, SWAP32); - copy2(&xmm2, &xmm1); - copy2(&xmm3, &xmm1); - copy2(&xmm4, &xmm1); - copy2(&xmm5, &xmm1); - copy2(&xmm6, &xmm1); - copy2(&xmm7, &xmm1); - - add_uint32_big(&xmm1, 1); - add_uint32_big(&xmm2, 2); - add_uint32_big(&xmm3, 3); - add_uint32_big(&xmm4, 4); - add_uint32_big(&xmm5, 5); - add_uint32_big(&xmm6, 6); - add_uint32_big(&xmm7, 7); - - shufb(&xmm0, M0); - shufb(&xmm1, M0SWAP); - shufb(&xmm2, M0SWAP); - shufb(&xmm3, M0SWAP); - shufb(&xmm4, M0SWAP); - shufb(&xmm5, M0SWAP); - shufb(&xmm6, M0SWAP); - shufb(&xmm7, M0SWAP); - - bitslice(xmm7, xmm6, xmm5, xmm4, xmm3, xmm2, xmm1, xmm0, xmm8); - - aesround(1, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, - xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, c); - aesround(2, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, - xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, c); - aesround(3, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, - xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, c); - aesround(4, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, - xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, c); - aesround(5, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, - xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, c); - aesround(6, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, - xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, c); - aesround(7, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, - xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, c); - aesround(8, xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, - xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, c); - aesround(9, xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, xmm8, xmm9, - xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, c); - lastround(xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15, xmm0, xmm1, - xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, c); - - bitslice(xmm13, xmm10, xmm15, xmm11, xmm14, xmm12, xmm9, xmm8, xmm0); - - if (len < 128) { - goto partial; - } - if (len == 128) { - goto full; - } - tmp = LOAD32_BE(np + 12); - tmp += 8; - STORE32_BE(np + 12, tmp); - - xor2(&xmm8, (const aes_uint128_t *) (in + 0)); - xor2(&xmm9, (const aes_uint128_t *) (in + 16)); - xor2(&xmm12, (const aes_uint128_t *) (in + 32)); - xor2(&xmm14, (const aes_uint128_t *) (in + 48)); - xor2(&xmm11, (const aes_uint128_t *) (in + 64)); - xor2(&xmm15, (const aes_uint128_t *) (in + 80)); - xor2(&xmm10, (const aes_uint128_t *) (in + 96)); - xor2(&xmm13, (const aes_uint128_t *) (in + 112)); - - *(aes_uint128_t *) (out + 0) = xmm8; - *(aes_uint128_t *) (out + 16) = xmm9; - *(aes_uint128_t *) (out + 32) = xmm12; - *(aes_uint128_t *) (out + 48) = xmm14; - *(aes_uint128_t *) (out + 64) = xmm11; - *(aes_uint128_t *) (out + 80) = xmm15; - *(aes_uint128_t *) (out + 96) = xmm10; - *(aes_uint128_t *) (out + 112) = xmm13; - - len -= 128; - in += 128; - out += 128; - - goto enc_block; - -partial: - - lensav = len; - len >>= 4; - - tmp = LOAD32_BE(np + 12); - tmp += len; - STORE32_BE(np + 12, tmp); - - blp = bl; - - *(aes_uint128_t *) (blp + 0) = xmm8; - *(aes_uint128_t *) (blp + 16) = xmm9; - *(aes_uint128_t *) (blp + 32) = xmm12; - *(aes_uint128_t *) (blp + 48) = xmm14; - *(aes_uint128_t *) (blp + 64) = xmm11; - *(aes_uint128_t *) (blp + 80) = xmm15; - *(aes_uint128_t *) (blp + 96) = xmm10; - *(aes_uint128_t *) (blp + 112) = xmm13; - -bytes: - - if (lensav == 0) { - goto end; - } - b = blp[0]; /* clang false positive */ - b ^= *(const unsigned char *) (in + 0); - *(unsigned char *) (out + 0) = b; - - blp += 1; - in += 1; - out += 1; - lensav -= 1; - - goto bytes; - -full: - - tmp = LOAD32_BE(np + 12); - tmp += 8; - STORE32_BE(np + 12, tmp); - - xor2(&xmm8, (const aes_uint128_t *) (in + 0)); - xor2(&xmm9, (const aes_uint128_t *) (in + 16)); - xor2(&xmm12, (const aes_uint128_t *) (in + 32)); - xor2(&xmm14, (const aes_uint128_t *) (in + 48)); - xor2(&xmm11, (const aes_uint128_t *) (in + 64)); - xor2(&xmm15, (const aes_uint128_t *) (in + 80)); - xor2(&xmm10, (const aes_uint128_t *) (in + 96)); - xor2(&xmm13, (const aes_uint128_t *) (in + 112)); - - *(aes_uint128_t *) (out + 0) = xmm8; - *(aes_uint128_t *) (out + 16) = xmm9; - *(aes_uint128_t *) (out + 32) = xmm12; - *(aes_uint128_t *) (out + 48) = xmm14; - *(aes_uint128_t *) (out + 64) = xmm11; - *(aes_uint128_t *) (out + 80) = xmm15; - *(aes_uint128_t *) (out + 96) = xmm10; - *(aes_uint128_t *) (out + 112) = xmm13; - -end: - return 0; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/stream_aes128ctr.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/stream_aes128ctr.c deleted file mode 100755 index fbd7afc9b..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/aes128ctr/stream_aes128ctr.c +++ /dev/null @@ -1,19 +0,0 @@ -#include "crypto_stream_aes128ctr.h" - -size_t -crypto_stream_aes128ctr_keybytes(void) -{ - return crypto_stream_aes128ctr_KEYBYTES; -} - -size_t -crypto_stream_aes128ctr_noncebytes(void) -{ - return crypto_stream_aes128ctr_NONCEBYTES; -} - -size_t -crypto_stream_aes128ctr_beforenmbytes(void) -{ - return crypto_stream_aes128ctr_BEFORENMBYTES; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.c deleted file mode 100755 index c8cdff375..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.c +++ /dev/null @@ -1,179 +0,0 @@ - -#include -#include -#include - -#include "crypto_stream_chacha20.h" -#include "private/common.h" -#include "private/sse2_64_32.h" -#include "utils.h" - -#if defined(HAVE_AVX2INTRIN_H) && defined(HAVE_EMMINTRIN_H) && \ - defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# pragma GCC target("ssse3") -# pragma GCC target("sse4.1") -# pragma GCC target("avx2") -# endif - -# include -# include -# include -# include - -# include "../stream_chacha20.h" -# include "chacha20_dolbeau-avx2.h" - -# define ROUNDS 20 - -typedef struct chacha_ctx { - uint32_t input[16]; -} chacha_ctx; - -static void -chacha_keysetup(chacha_ctx *ctx, const uint8_t *k) -{ - ctx->input[0] = 0x61707865; - ctx->input[1] = 0x3320646e; - ctx->input[2] = 0x79622d32; - ctx->input[3] = 0x6b206574; - ctx->input[4] = LOAD32_LE(k + 0); - ctx->input[5] = LOAD32_LE(k + 4); - ctx->input[6] = LOAD32_LE(k + 8); - ctx->input[7] = LOAD32_LE(k + 12); - ctx->input[8] = LOAD32_LE(k + 16); - ctx->input[9] = LOAD32_LE(k + 20); - ctx->input[10] = LOAD32_LE(k + 24); - ctx->input[11] = LOAD32_LE(k + 28); -} - -static void -chacha_ivsetup(chacha_ctx *ctx, const uint8_t *iv, const uint8_t *counter) -{ - ctx->input[12] = counter == NULL ? 0 : LOAD32_LE(counter + 0); - ctx->input[13] = counter == NULL ? 0 : LOAD32_LE(counter + 4); - ctx->input[14] = LOAD32_LE(iv + 0); - ctx->input[15] = LOAD32_LE(iv + 4); -} - -static void -chacha_ietf_ivsetup(chacha_ctx *ctx, const uint8_t *iv, const uint8_t *counter) -{ - ctx->input[12] = counter == NULL ? 0 : LOAD32_LE(counter); - ctx->input[13] = LOAD32_LE(iv + 0); - ctx->input[14] = LOAD32_LE(iv + 4); - ctx->input[15] = LOAD32_LE(iv + 8); -} - -static void -chacha20_encrypt_bytes(chacha_ctx *ctx, const uint8_t *m, uint8_t *c, - unsigned long long bytes) -{ - uint32_t * const x = &ctx->input[0]; - - if (!bytes) { - return; /* LCOV_EXCL_LINE */ - } - if (bytes > 64ULL * (1ULL << 32) - 64ULL) { - abort(); - } -# include "u8.h" -# include "u4.h" -# include "u1.h" -# include "u0.h" -} - -static int -stream_ref(unsigned char *c, unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - struct chacha_ctx ctx; - - if (!clen) { - return 0; - } - COMPILER_ASSERT(crypto_stream_chacha20_KEYBYTES == 256 / 8); - chacha_keysetup(&ctx, k); - chacha_ivsetup(&ctx, n, NULL); - memset(c, 0, clen); - chacha20_encrypt_bytes(&ctx, c, c, clen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_ietf_ref(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - struct chacha_ctx ctx; - - if (!clen) { - return 0; - } - COMPILER_ASSERT(crypto_stream_chacha20_KEYBYTES == 256 / 8); - chacha_keysetup(&ctx, k); - chacha_ietf_ivsetup(&ctx, n, NULL); - memset(c, 0, clen); - chacha20_encrypt_bytes(&ctx, c, c, clen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_ref_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, uint64_t ic, - const unsigned char *k) -{ - struct chacha_ctx ctx; - uint8_t ic_bytes[8]; - uint32_t ic_high; - uint32_t ic_low; - - if (!mlen) { - return 0; - } - ic_high = (uint32_t) (ic >> 32); - ic_low = (uint32_t) ic; - STORE32_LE(&ic_bytes[0], ic_low); - STORE32_LE(&ic_bytes[4], ic_high); - chacha_keysetup(&ctx, k); - chacha_ivsetup(&ctx, n, ic_bytes); - chacha20_encrypt_bytes(&ctx, m, c, mlen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_ietf_ref_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - uint32_t ic, const unsigned char *k) -{ - struct chacha_ctx ctx; - uint8_t ic_bytes[4]; - - if (!mlen) { - return 0; - } - STORE32_LE(ic_bytes, ic); - chacha_keysetup(&ctx, k); - chacha_ietf_ivsetup(&ctx, n, ic_bytes); - chacha20_encrypt_bytes(&ctx, m, c, mlen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -struct crypto_stream_chacha20_implementation - crypto_stream_chacha20_dolbeau_avx2_implementation = { - SODIUM_C99(.stream =) stream_ref, - SODIUM_C99(.stream_ietf =) stream_ietf_ref, - SODIUM_C99(.stream_xor_ic =) stream_ref_xor_ic, - SODIUM_C99(.stream_ietf_xor_ic =) stream_ietf_ref_xor_ic - }; - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h deleted file mode 100755 index 45eb98d79..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h +++ /dev/null @@ -1,8 +0,0 @@ - -#include - -#include "../stream_chacha20.h" -#include "crypto_stream_chacha20.h" - -extern struct crypto_stream_chacha20_implementation - crypto_stream_chacha20_dolbeau_avx2_implementation; diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.c deleted file mode 100755 index 068959328..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.c +++ /dev/null @@ -1,173 +0,0 @@ - -#include -#include -#include - -#include "crypto_stream_chacha20.h" -#include "private/common.h" -#include "private/sse2_64_32.h" -#include "utils.h" - -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# pragma GCC target("ssse3") -# endif - -# include -# include - -# include "../stream_chacha20.h" -# include "chacha20_dolbeau-ssse3.h" - -# define ROUNDS 20 - -typedef struct chacha_ctx { - uint32_t input[16]; -} chacha_ctx; - -static void -chacha_keysetup(chacha_ctx *ctx, const uint8_t *k) -{ - ctx->input[0] = 0x61707865; - ctx->input[1] = 0x3320646e; - ctx->input[2] = 0x79622d32; - ctx->input[3] = 0x6b206574; - ctx->input[4] = LOAD32_LE(k + 0); - ctx->input[5] = LOAD32_LE(k + 4); - ctx->input[6] = LOAD32_LE(k + 8); - ctx->input[7] = LOAD32_LE(k + 12); - ctx->input[8] = LOAD32_LE(k + 16); - ctx->input[9] = LOAD32_LE(k + 20); - ctx->input[10] = LOAD32_LE(k + 24); - ctx->input[11] = LOAD32_LE(k + 28); -} - -static void -chacha_ivsetup(chacha_ctx *ctx, const uint8_t *iv, const uint8_t *counter) -{ - ctx->input[12] = counter == NULL ? 0 : LOAD32_LE(counter + 0); - ctx->input[13] = counter == NULL ? 0 : LOAD32_LE(counter + 4); - ctx->input[14] = LOAD32_LE(iv + 0); - ctx->input[15] = LOAD32_LE(iv + 4); -} - -static void -chacha_ietf_ivsetup(chacha_ctx *ctx, const uint8_t *iv, const uint8_t *counter) -{ - ctx->input[12] = counter == NULL ? 0 : LOAD32_LE(counter); - ctx->input[13] = LOAD32_LE(iv + 0); - ctx->input[14] = LOAD32_LE(iv + 4); - ctx->input[15] = LOAD32_LE(iv + 8); -} - -static void -chacha20_encrypt_bytes(chacha_ctx *ctx, const uint8_t *m, uint8_t *c, - unsigned long long bytes) -{ - uint32_t * const x = &ctx->input[0]; - - if (!bytes) { - return; /* LCOV_EXCL_LINE */ - } - if (bytes > 64ULL * (1ULL << 32) - 64ULL) { - abort(); - } -# include "u4.h" -# include "u1.h" -# include "u0.h" -} - -static int -stream_ref(unsigned char *c, unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - struct chacha_ctx ctx; - - if (!clen) { - return 0; - } - COMPILER_ASSERT(crypto_stream_chacha20_KEYBYTES == 256 / 8); - chacha_keysetup(&ctx, k); - chacha_ivsetup(&ctx, n, NULL); - memset(c, 0, clen); - chacha20_encrypt_bytes(&ctx, c, c, clen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_ietf_ref(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - struct chacha_ctx ctx; - - if (!clen) { - return 0; - } - COMPILER_ASSERT(crypto_stream_chacha20_KEYBYTES == 256 / 8); - chacha_keysetup(&ctx, k); - chacha_ietf_ivsetup(&ctx, n, NULL); - memset(c, 0, clen); - chacha20_encrypt_bytes(&ctx, c, c, clen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_ref_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, uint64_t ic, - const unsigned char *k) -{ - struct chacha_ctx ctx; - uint8_t ic_bytes[8]; - uint32_t ic_high; - uint32_t ic_low; - - if (!mlen) { - return 0; - } - ic_high = (uint32_t) (ic >> 32); - ic_low = (uint32_t) ic; - STORE32_LE(&ic_bytes[0], ic_low); - STORE32_LE(&ic_bytes[4], ic_high); - chacha_keysetup(&ctx, k); - chacha_ivsetup(&ctx, n, ic_bytes); - chacha20_encrypt_bytes(&ctx, m, c, mlen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_ietf_ref_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - uint32_t ic, const unsigned char *k) -{ - struct chacha_ctx ctx; - uint8_t ic_bytes[4]; - - if (!mlen) { - return 0; - } - STORE32_LE(ic_bytes, ic); - chacha_keysetup(&ctx, k); - chacha_ietf_ivsetup(&ctx, n, ic_bytes); - chacha20_encrypt_bytes(&ctx, m, c, mlen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -struct crypto_stream_chacha20_implementation - crypto_stream_chacha20_dolbeau_ssse3_implementation = { - SODIUM_C99(.stream =) stream_ref, - SODIUM_C99(.stream_ietf =) stream_ietf_ref, - SODIUM_C99(.stream_xor_ic =) stream_ref_xor_ic, - SODIUM_C99(.stream_ietf_xor_ic =) stream_ietf_ref_xor_ic - }; - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h deleted file mode 100755 index d67630f6a..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h +++ /dev/null @@ -1,8 +0,0 @@ - -#include - -#include "../stream_chacha20.h" -#include "crypto_stream_chacha20.h" - -extern struct crypto_stream_chacha20_implementation - crypto_stream_chacha20_dolbeau_ssse3_implementation; diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u0.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u0.h deleted file mode 100755 index 3312d29b9..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u0.h +++ /dev/null @@ -1,86 +0,0 @@ -if (bytes > 0) { - __m128i x_0, x_1, x_2, x_3; - __m128i t_1; - const __m128i rot16 = - _mm_set_epi8(13, 12, 15, 14, 9, 8, 11, 10, 5, 4, 7, 6, 1, 0, 3, 2); - const __m128i rot8 = - _mm_set_epi8(14, 13, 12, 15, 10, 9, 8, 11, 6, 5, 4, 7, 2, 1, 0, 3); - uint8_t partialblock[64]; - - int i; - - x_0 = _mm_loadu_si128((__m128i*) (x + 0)); - x_1 = _mm_loadu_si128((__m128i*) (x + 4)); - x_2 = _mm_loadu_si128((__m128i*) (x + 8)); - x_3 = _mm_loadu_si128((__m128i*) (x + 12)); - - for (i = 0; i < ROUNDS; i += 2) { - x_0 = _mm_add_epi32(x_0, x_1); - x_3 = _mm_xor_si128(x_3, x_0); - x_3 = _mm_shuffle_epi8(x_3, rot16); - - x_2 = _mm_add_epi32(x_2, x_3); - x_1 = _mm_xor_si128(x_1, x_2); - - t_1 = x_1; - x_1 = _mm_slli_epi32(x_1, 12); - t_1 = _mm_srli_epi32(t_1, 20); - x_1 = _mm_xor_si128(x_1, t_1); - - x_0 = _mm_add_epi32(x_0, x_1); - x_3 = _mm_xor_si128(x_3, x_0); - x_0 = _mm_shuffle_epi32(x_0, 0x93); - x_3 = _mm_shuffle_epi8(x_3, rot8); - - x_2 = _mm_add_epi32(x_2, x_3); - x_3 = _mm_shuffle_epi32(x_3, 0x4e); - x_1 = _mm_xor_si128(x_1, x_2); - x_2 = _mm_shuffle_epi32(x_2, 0x39); - - t_1 = x_1; - x_1 = _mm_slli_epi32(x_1, 7); - t_1 = _mm_srli_epi32(t_1, 25); - x_1 = _mm_xor_si128(x_1, t_1); - - x_0 = _mm_add_epi32(x_0, x_1); - x_3 = _mm_xor_si128(x_3, x_0); - x_3 = _mm_shuffle_epi8(x_3, rot16); - - x_2 = _mm_add_epi32(x_2, x_3); - x_1 = _mm_xor_si128(x_1, x_2); - - t_1 = x_1; - x_1 = _mm_slli_epi32(x_1, 12); - t_1 = _mm_srli_epi32(t_1, 20); - x_1 = _mm_xor_si128(x_1, t_1); - - x_0 = _mm_add_epi32(x_0, x_1); - x_3 = _mm_xor_si128(x_3, x_0); - x_0 = _mm_shuffle_epi32(x_0, 0x39); - x_3 = _mm_shuffle_epi8(x_3, rot8); - - x_2 = _mm_add_epi32(x_2, x_3); - x_3 = _mm_shuffle_epi32(x_3, 0x4e); - x_1 = _mm_xor_si128(x_1, x_2); - x_2 = _mm_shuffle_epi32(x_2, 0x93); - - t_1 = x_1; - x_1 = _mm_slli_epi32(x_1, 7); - t_1 = _mm_srli_epi32(t_1, 25); - x_1 = _mm_xor_si128(x_1, t_1); - } - x_0 = _mm_add_epi32(x_0, _mm_loadu_si128((__m128i*) (x + 0))); - x_1 = _mm_add_epi32(x_1, _mm_loadu_si128((__m128i*) (x + 4))); - x_2 = _mm_add_epi32(x_2, _mm_loadu_si128((__m128i*) (x + 8))); - x_3 = _mm_add_epi32(x_3, _mm_loadu_si128((__m128i*) (x + 12))); - _mm_storeu_si128((__m128i*) (partialblock + 0), x_0); - _mm_storeu_si128((__m128i*) (partialblock + 16), x_1); - _mm_storeu_si128((__m128i*) (partialblock + 32), x_2); - _mm_storeu_si128((__m128i*) (partialblock + 48), x_3); - - for (i = 0; i < bytes; i++) { - c[i] = m[i] ^ partialblock[i]; - } - - sodium_memzero(partialblock, sizeof partialblock); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u1.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u1.h deleted file mode 100755 index 867b44bcf..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u1.h +++ /dev/null @@ -1,98 +0,0 @@ -while (bytes >= 64) { - __m128i x_0, x_1, x_2, x_3; - __m128i t_1; - const __m128i rot16 = - _mm_set_epi8(13, 12, 15, 14, 9, 8, 11, 10, 5, 4, 7, 6, 1, 0, 3, 2); - const __m128i rot8 = - _mm_set_epi8(14, 13, 12, 15, 10, 9, 8, 11, 6, 5, 4, 7, 2, 1, 0, 3); - - uint32_t in12; - uint32_t in13; - int i; - - x_0 = _mm_loadu_si128((__m128i*) (x + 0)); - x_1 = _mm_loadu_si128((__m128i*) (x + 4)); - x_2 = _mm_loadu_si128((__m128i*) (x + 8)); - x_3 = _mm_loadu_si128((__m128i*) (x + 12)); - - for (i = 0; i < ROUNDS; i += 2) { - x_0 = _mm_add_epi32(x_0, x_1); - x_3 = _mm_xor_si128(x_3, x_0); - x_3 = _mm_shuffle_epi8(x_3, rot16); - - x_2 = _mm_add_epi32(x_2, x_3); - x_1 = _mm_xor_si128(x_1, x_2); - - t_1 = x_1; - x_1 = _mm_slli_epi32(x_1, 12); - t_1 = _mm_srli_epi32(t_1, 20); - x_1 = _mm_xor_si128(x_1, t_1); - - x_0 = _mm_add_epi32(x_0, x_1); - x_3 = _mm_xor_si128(x_3, x_0); - x_0 = _mm_shuffle_epi32(x_0, 0x93); - x_3 = _mm_shuffle_epi8(x_3, rot8); - - x_2 = _mm_add_epi32(x_2, x_3); - x_3 = _mm_shuffle_epi32(x_3, 0x4e); - x_1 = _mm_xor_si128(x_1, x_2); - x_2 = _mm_shuffle_epi32(x_2, 0x39); - - t_1 = x_1; - x_1 = _mm_slli_epi32(x_1, 7); - t_1 = _mm_srli_epi32(t_1, 25); - x_1 = _mm_xor_si128(x_1, t_1); - - x_0 = _mm_add_epi32(x_0, x_1); - x_3 = _mm_xor_si128(x_3, x_0); - x_3 = _mm_shuffle_epi8(x_3, rot16); - - x_2 = _mm_add_epi32(x_2, x_3); - x_1 = _mm_xor_si128(x_1, x_2); - - t_1 = x_1; - x_1 = _mm_slli_epi32(x_1, 12); - t_1 = _mm_srli_epi32(t_1, 20); - x_1 = _mm_xor_si128(x_1, t_1); - - x_0 = _mm_add_epi32(x_0, x_1); - x_3 = _mm_xor_si128(x_3, x_0); - x_0 = _mm_shuffle_epi32(x_0, 0x39); - x_3 = _mm_shuffle_epi8(x_3, rot8); - - x_2 = _mm_add_epi32(x_2, x_3); - x_3 = _mm_shuffle_epi32(x_3, 0x4e); - x_1 = _mm_xor_si128(x_1, x_2); - x_2 = _mm_shuffle_epi32(x_2, 0x93); - - t_1 = x_1; - x_1 = _mm_slli_epi32(x_1, 7); - t_1 = _mm_srli_epi32(t_1, 25); - x_1 = _mm_xor_si128(x_1, t_1); - } - x_0 = _mm_add_epi32(x_0, _mm_loadu_si128((__m128i*) (x + 0))); - x_1 = _mm_add_epi32(x_1, _mm_loadu_si128((__m128i*) (x + 4))); - x_2 = _mm_add_epi32(x_2, _mm_loadu_si128((__m128i*) (x + 8))); - x_3 = _mm_add_epi32(x_3, _mm_loadu_si128((__m128i*) (x + 12))); - x_0 = _mm_xor_si128(x_0, _mm_loadu_si128((__m128i*) (m + 0))); - x_1 = _mm_xor_si128(x_1, _mm_loadu_si128((__m128i*) (m + 16))); - x_2 = _mm_xor_si128(x_2, _mm_loadu_si128((__m128i*) (m + 32))); - x_3 = _mm_xor_si128(x_3, _mm_loadu_si128((__m128i*) (m + 48))); - _mm_storeu_si128((__m128i*) (c + 0), x_0); - _mm_storeu_si128((__m128i*) (c + 16), x_1); - _mm_storeu_si128((__m128i*) (c + 32), x_2); - _mm_storeu_si128((__m128i*) (c + 48), x_3); - - in12 = x[12]; - in13 = x[13]; - in12++; - if (in12 == 0) { - in13++; - } - x[12] = in12; - x[13] = in13; - - bytes -= 64; - c += 64; - m += 64; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u4.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u4.h deleted file mode 100755 index 3ff834260..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u4.h +++ /dev/null @@ -1,175 +0,0 @@ - -#define VEC4_ROT(A, IMM) \ - _mm_or_si128(_mm_slli_epi32(A, IMM), _mm_srli_epi32(A, (32 - IMM))) - -/* same, but replace 2 of the shift/shift/or "rotation" by byte shuffles (8 & - * 16) (better) */ -#define VEC4_QUARTERROUND_SHUFFLE(A, B, C, D) \ - x_##A = _mm_add_epi32(x_##A, x_##B); \ - t_##A = _mm_xor_si128(x_##D, x_##A); \ - x_##D = _mm_shuffle_epi8(t_##A, rot16); \ - x_##C = _mm_add_epi32(x_##C, x_##D); \ - t_##C = _mm_xor_si128(x_##B, x_##C); \ - x_##B = VEC4_ROT(t_##C, 12); \ - x_##A = _mm_add_epi32(x_##A, x_##B); \ - t_##A = _mm_xor_si128(x_##D, x_##A); \ - x_##D = _mm_shuffle_epi8(t_##A, rot8); \ - x_##C = _mm_add_epi32(x_##C, x_##D); \ - t_##C = _mm_xor_si128(x_##B, x_##C); \ - x_##B = VEC4_ROT(t_##C, 7) - -#define VEC4_QUARTERROUND(A, B, C, D) VEC4_QUARTERROUND_SHUFFLE(A, B, C, D) - -if (bytes >= 256) { - /* constant for shuffling bytes (replacing multiple-of-8 rotates) */ - __m128i rot16 = - _mm_set_epi8(13, 12, 15, 14, 9, 8, 11, 10, 5, 4, 7, 6, 1, 0, 3, 2); - __m128i rot8 = - _mm_set_epi8(14, 13, 12, 15, 10, 9, 8, 11, 6, 5, 4, 7, 2, 1, 0, 3); - - __m128i x_0 = _mm_set1_epi32(x[0]); - __m128i x_1 = _mm_set1_epi32(x[1]); - __m128i x_2 = _mm_set1_epi32(x[2]); - __m128i x_3 = _mm_set1_epi32(x[3]); - __m128i x_4 = _mm_set1_epi32(x[4]); - __m128i x_5 = _mm_set1_epi32(x[5]); - __m128i x_6 = _mm_set1_epi32(x[6]); - __m128i x_7 = _mm_set1_epi32(x[7]); - __m128i x_8 = _mm_set1_epi32(x[8]); - __m128i x_9 = _mm_set1_epi32(x[9]); - __m128i x_10 = _mm_set1_epi32(x[10]); - __m128i x_11 = _mm_set1_epi32(x[11]); - __m128i x_12; - __m128i x_13; - __m128i x_14 = _mm_set1_epi32(x[14]); - __m128i x_15 = _mm_set1_epi32(x[15]); - __m128i orig0 = x_0; - __m128i orig1 = x_1; - __m128i orig2 = x_2; - __m128i orig3 = x_3; - __m128i orig4 = x_4; - __m128i orig5 = x_5; - __m128i orig6 = x_6; - __m128i orig7 = x_7; - __m128i orig8 = x_8; - __m128i orig9 = x_9; - __m128i orig10 = x_10; - __m128i orig11 = x_11; - __m128i orig12; - __m128i orig13; - __m128i orig14 = x_14; - __m128i orig15 = x_15; - __m128i t_0, t_1, t_2, t_3, t_4, t_5, t_6, t_7, t_8, t_9, t_10, t_11, t_12, - t_13, t_14, t_15; - - uint32_t in12, in13; - int i; - - while (bytes >= 256) { - const __m128i addv12 = _mm_set_epi64x(1, 0); - const __m128i addv13 = _mm_set_epi64x(3, 2); - __m128i t12, t13; - uint64_t in1213; - - x_0 = orig0; - x_1 = orig1; - x_2 = orig2; - x_3 = orig3; - x_4 = orig4; - x_5 = orig5; - x_6 = orig6; - x_7 = orig7; - x_8 = orig8; - x_9 = orig9; - x_10 = orig10; - x_11 = orig11; - x_14 = orig14; - x_15 = orig15; - - in12 = x[12]; - in13 = x[13]; - in1213 = ((uint64_t) in12) | (((uint64_t) in13) << 32); - t12 = _mm_set1_epi64x(in1213); - t13 = _mm_set1_epi64x(in1213); - - x_12 = _mm_add_epi64(addv12, t12); - x_13 = _mm_add_epi64(addv13, t13); - - t12 = _mm_unpacklo_epi32(x_12, x_13); - t13 = _mm_unpackhi_epi32(x_12, x_13); - - x_12 = _mm_unpacklo_epi32(t12, t13); - x_13 = _mm_unpackhi_epi32(t12, t13); - - orig12 = x_12; - orig13 = x_13; - - in1213 += 4; - - x[12] = in1213 & 0xFFFFFFFF; - x[13] = (in1213 >> 32) & 0xFFFFFFFF; - - for (i = 0; i < ROUNDS; i += 2) { - VEC4_QUARTERROUND(0, 4, 8, 12); - VEC4_QUARTERROUND(1, 5, 9, 13); - VEC4_QUARTERROUND(2, 6, 10, 14); - VEC4_QUARTERROUND(3, 7, 11, 15); - VEC4_QUARTERROUND(0, 5, 10, 15); - VEC4_QUARTERROUND(1, 6, 11, 12); - VEC4_QUARTERROUND(2, 7, 8, 13); - VEC4_QUARTERROUND(3, 4, 9, 14); - } - -#define ONEQUAD_TRANSPOSE(A, B, C, D) \ - { \ - __m128i t0, t1, t2, t3; \ - \ - x_##A = _mm_add_epi32(x_##A, orig##A); \ - x_##B = _mm_add_epi32(x_##B, orig##B); \ - x_##C = _mm_add_epi32(x_##C, orig##C); \ - x_##D = _mm_add_epi32(x_##D, orig##D); \ - t_##A = _mm_unpacklo_epi32(x_##A, x_##B); \ - t_##B = _mm_unpacklo_epi32(x_##C, x_##D); \ - t_##C = _mm_unpackhi_epi32(x_##A, x_##B); \ - t_##D = _mm_unpackhi_epi32(x_##C, x_##D); \ - x_##A = _mm_unpacklo_epi64(t_##A, t_##B); \ - x_##B = _mm_unpackhi_epi64(t_##A, t_##B); \ - x_##C = _mm_unpacklo_epi64(t_##C, t_##D); \ - x_##D = _mm_unpackhi_epi64(t_##C, t_##D); \ - \ - t0 = _mm_xor_si128(x_##A, _mm_loadu_si128((__m128i*) (m + 0))); \ - _mm_storeu_si128((__m128i*) (c + 0), t0); \ - t1 = _mm_xor_si128(x_##B, _mm_loadu_si128((__m128i*) (m + 64))); \ - _mm_storeu_si128((__m128i*) (c + 64), t1); \ - t2 = _mm_xor_si128(x_##C, _mm_loadu_si128((__m128i*) (m + 128))); \ - _mm_storeu_si128((__m128i*) (c + 128), t2); \ - t3 = _mm_xor_si128(x_##D, _mm_loadu_si128((__m128i*) (m + 192))); \ - _mm_storeu_si128((__m128i*) (c + 192), t3); \ - } - -#define ONEQUAD(A, B, C, D) ONEQUAD_TRANSPOSE(A, B, C, D) - - ONEQUAD(0, 1, 2, 3); - m += 16; - c += 16; - ONEQUAD(4, 5, 6, 7); - m += 16; - c += 16; - ONEQUAD(8, 9, 10, 11); - m += 16; - c += 16; - ONEQUAD(12, 13, 14, 15); - m -= 48; - c -= 48; - -#undef ONEQUAD -#undef ONEQUAD_TRANSPOSE - - bytes -= 256; - c += 256; - m += 256; - } -} -#undef VEC4_ROT -#undef VEC4_QUARTERROUND -#undef VEC4_QUARTERROUND_SHUFFLE diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u8.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u8.h deleted file mode 100755 index 22bf9fcfa..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/u8.h +++ /dev/null @@ -1,357 +0,0 @@ - -#define VEC8_ROT(A, IMM) \ - _mm256_or_si256(_mm256_slli_epi32(A, IMM), _mm256_srli_epi32(A, (32 - IMM))) - -/* implements a vector quarter round by-the-book (naive!) */ -#define VEC8_QUARTERROUND_NAIVE(A, B, C, D) \ - x_##A = _mm256_add_epi32(x_##A, x_##B); \ - t_##A = _mm256_xor_si256(x_##D, x_##A); \ - x_##D = VEC8_ROT(t_##A, 16); \ - x_##C = _mm256_add_epi32(x_##C, x_##D); \ - t_##C = _mm256_xor_si256(x_##B, x_##C); \ - x_##B = VEC8_ROT(t_##C, 12); \ - x_##A = _mm256_add_epi32(x_##A, x_##B); \ - t_##A = _mm256_xor_si256(x_##D, x_##A); \ - x_##D = VEC8_ROT(t_##A, 8); \ - x_##C = _mm256_add_epi32(x_##C, x_##D); \ - t_##C = _mm256_xor_si256(x_##B, x_##C); \ - x_##B = VEC8_ROT(t_##C, 7) - -/* same, but replace 2 of the shift/shift/or "rotation" by byte shuffles (8 & - * 16) (better) */ -#define VEC8_QUARTERROUND_SHUFFLE(A, B, C, D) \ - x_##A = _mm256_add_epi32(x_##A, x_##B); \ - t_##A = _mm256_xor_si256(x_##D, x_##A); \ - x_##D = _mm256_shuffle_epi8(t_##A, rot16); \ - x_##C = _mm256_add_epi32(x_##C, x_##D); \ - t_##C = _mm256_xor_si256(x_##B, x_##C); \ - x_##B = VEC8_ROT(t_##C, 12); \ - x_##A = _mm256_add_epi32(x_##A, x_##B); \ - t_##A = _mm256_xor_si256(x_##D, x_##A); \ - x_##D = _mm256_shuffle_epi8(t_##A, rot8); \ - x_##C = _mm256_add_epi32(x_##C, x_##D); \ - t_##C = _mm256_xor_si256(x_##B, x_##C); \ - x_##B = VEC8_ROT(t_##C, 7) - -/* same, but replace 2 of the shift/shift/or "rotation" by byte & word shuffles - * (8 & 16) (not as good as previous) */ -#define VEC8_QUARTERROUND_SHUFFLE2(A, B, C, D) \ - x_##A = _mm256_add_epi32(x_##A, x_##B); \ - t_##A = _mm256_xor_si256(x_##D, x_##A); \ - x_##D = _mm256_shufflehi_epi16(_mm256_shufflelo_epi16(t_##A, 0xb1), 0xb1); \ - x_##C = _mm256_add_epi32(x_##C, x_##D); \ - t_##C = _mm256_xor_si256(x_##B, x_##C); \ - x_##B = VEC8_ROT(t_##C, 12); \ - x_##A = _mm256_add_epi32(x_##A, x_##B); \ - t_##A = _mm256_xor_si256(x_##D, x_##A); \ - x_##D = _mm256_shuffle_epi8(t_##A, rot8); \ - x_##C = _mm256_add_epi32(x_##C, x_##D); \ - t_##C = _mm256_xor_si256(x_##B, x_##C); \ - x_##B = VEC8_ROT(t_##C, 7) - -#define VEC8_QUARTERROUND(A, B, C, D) VEC8_QUARTERROUND_SHUFFLE(A, B, C, D) - -#define VEC8_LINE1(A, B, C, D) \ - x_##A = _mm256_add_epi32(x_##A, x_##B); \ - x_##D = _mm256_shuffle_epi8(_mm256_xor_si256(x_##D, x_##A), rot16) -#define VEC8_LINE2(A, B, C, D) \ - x_##C = _mm256_add_epi32(x_##C, x_##D); \ - x_##B = VEC8_ROT(_mm256_xor_si256(x_##B, x_##C), 12) -#define VEC8_LINE3(A, B, C, D) \ - x_##A = _mm256_add_epi32(x_##A, x_##B); \ - x_##D = _mm256_shuffle_epi8(_mm256_xor_si256(x_##D, x_##A), rot8) -#define VEC8_LINE4(A, B, C, D) \ - x_##C = _mm256_add_epi32(x_##C, x_##D); \ - x_##B = VEC8_ROT(_mm256_xor_si256(x_##B, x_##C), 7) - -#define VEC8_ROUND_SEQ(A1, B1, C1, D1, A2, B2, C2, D2, A3, B3, C3, D3, A4, B4, \ - C4, D4) \ - VEC8_LINE1(A1, B1, C1, D1); \ - VEC8_LINE1(A2, B2, C2, D2); \ - VEC8_LINE1(A3, B3, C3, D3); \ - VEC8_LINE1(A4, B4, C4, D4); \ - VEC8_LINE2(A1, B1, C1, D1); \ - VEC8_LINE2(A2, B2, C2, D2); \ - VEC8_LINE2(A3, B3, C3, D3); \ - VEC8_LINE2(A4, B4, C4, D4); \ - VEC8_LINE3(A1, B1, C1, D1); \ - VEC8_LINE3(A2, B2, C2, D2); \ - VEC8_LINE3(A3, B3, C3, D3); \ - VEC8_LINE3(A4, B4, C4, D4); \ - VEC8_LINE4(A1, B1, C1, D1); \ - VEC8_LINE4(A2, B2, C2, D2); \ - VEC8_LINE4(A3, B3, C3, D3); \ - VEC8_LINE4(A4, B4, C4, D4) - -#define VEC8_ROUND_HALF(A1, B1, C1, D1, A2, B2, C2, D2, A3, B3, C3, D3, A4, \ - B4, C4, D4) \ - VEC8_LINE1(A1, B1, C1, D1); \ - VEC8_LINE1(A2, B2, C2, D2); \ - VEC8_LINE2(A1, B1, C1, D1); \ - VEC8_LINE2(A2, B2, C2, D2); \ - VEC8_LINE3(A1, B1, C1, D1); \ - VEC8_LINE3(A2, B2, C2, D2); \ - VEC8_LINE4(A1, B1, C1, D1); \ - VEC8_LINE4(A2, B2, C2, D2); \ - VEC8_LINE1(A3, B3, C3, D3); \ - VEC8_LINE1(A4, B4, C4, D4); \ - VEC8_LINE2(A3, B3, C3, D3); \ - VEC8_LINE2(A4, B4, C4, D4); \ - VEC8_LINE3(A3, B3, C3, D3); \ - VEC8_LINE3(A4, B4, C4, D4); \ - VEC8_LINE4(A3, B3, C3, D3); \ - VEC8_LINE4(A4, B4, C4, D4) - -#define VEC8_ROUND_HALFANDHALF(A1, B1, C1, D1, A2, B2, C2, D2, A3, B3, C3, D3, \ - A4, B4, C4, D4) \ - VEC8_LINE1(A1, B1, C1, D1); \ - VEC8_LINE1(A2, B2, C2, D2); \ - VEC8_LINE2(A1, B1, C1, D1); \ - VEC8_LINE2(A2, B2, C2, D2); \ - VEC8_LINE1(A3, B3, C3, D3); \ - VEC8_LINE1(A4, B4, C4, D4); \ - VEC8_LINE2(A3, B3, C3, D3); \ - VEC8_LINE2(A4, B4, C4, D4); \ - VEC8_LINE3(A1, B1, C1, D1); \ - VEC8_LINE3(A2, B2, C2, D2); \ - VEC8_LINE4(A1, B1, C1, D1); \ - VEC8_LINE4(A2, B2, C2, D2); \ - VEC8_LINE3(A3, B3, C3, D3); \ - VEC8_LINE3(A4, B4, C4, D4); \ - VEC8_LINE4(A3, B3, C3, D3); \ - VEC8_LINE4(A4, B4, C4, D4) - -#define VEC8_ROUND(A1, B1, C1, D1, A2, B2, C2, D2, A3, B3, C3, D3, A4, B4, C4, \ - D4) \ - VEC8_ROUND_SEQ(A1, B1, C1, D1, A2, B2, C2, D2, A3, B3, C3, D3, A4, B4, C4, \ - D4) - -if (bytes >= 512) { - /* constant for shuffling bytes (replacing multiple-of-8 rotates) */ - __m256i rot16 = - _mm256_set_epi8(13, 12, 15, 14, 9, 8, 11, 10, 5, 4, 7, 6, 1, 0, 3, 2, - 13, 12, 15, 14, 9, 8, 11, 10, 5, 4, 7, 6, 1, 0, 3, 2); - __m256i rot8 = - _mm256_set_epi8(14, 13, 12, 15, 10, 9, 8, 11, 6, 5, 4, 7, 2, 1, 0, 3, - 14, 13, 12, 15, 10, 9, 8, 11, 6, 5, 4, 7, 2, 1, 0, 3); - uint32_t in12, in13; - - /* the naive way seems as fast (if not a bit faster) than the vector way */ - __m256i x_0 = _mm256_set1_epi32(x[0]); - __m256i x_1 = _mm256_set1_epi32(x[1]); - __m256i x_2 = _mm256_set1_epi32(x[2]); - __m256i x_3 = _mm256_set1_epi32(x[3]); - __m256i x_4 = _mm256_set1_epi32(x[4]); - __m256i x_5 = _mm256_set1_epi32(x[5]); - __m256i x_6 = _mm256_set1_epi32(x[6]); - __m256i x_7 = _mm256_set1_epi32(x[7]); - __m256i x_8 = _mm256_set1_epi32(x[8]); - __m256i x_9 = _mm256_set1_epi32(x[9]); - __m256i x_10 = _mm256_set1_epi32(x[10]); - __m256i x_11 = _mm256_set1_epi32(x[11]); - __m256i x_12; - __m256i x_13; - __m256i x_14 = _mm256_set1_epi32(x[14]); - __m256i x_15 = _mm256_set1_epi32(x[15]); - - __m256i orig0 = x_0; - __m256i orig1 = x_1; - __m256i orig2 = x_2; - __m256i orig3 = x_3; - __m256i orig4 = x_4; - __m256i orig5 = x_5; - __m256i orig6 = x_6; - __m256i orig7 = x_7; - __m256i orig8 = x_8; - __m256i orig9 = x_9; - __m256i orig10 = x_10; - __m256i orig11 = x_11; - __m256i orig12; - __m256i orig13; - __m256i orig14 = x_14; - __m256i orig15 = x_15; - __m256i t_0, t_1, t_2, t_3, t_4, t_5, t_6, t_7, t_8, t_9, t_10, t_11, t_12, - t_13, t_14, t_15; - - while (bytes >= 512) { - const __m256i addv12 = _mm256_set_epi64x(3, 2, 1, 0); - const __m256i addv13 = _mm256_set_epi64x(7, 6, 5, 4); - const __m256i permute = _mm256_set_epi32(7, 6, 3, 2, 5, 4, 1, 0); - __m256i t12, t13; - - uint64_t in1213; - int i; - - x_0 = orig0; - x_1 = orig1; - x_2 = orig2; - x_3 = orig3; - x_4 = orig4; - x_5 = orig5; - x_6 = orig6; - x_7 = orig7; - x_8 = orig8; - x_9 = orig9; - x_10 = orig10; - x_11 = orig11; - x_14 = orig14; - x_15 = orig15; - - in12 = x[12]; - in13 = x[13]; - in1213 = ((uint64_t) in12) | (((uint64_t) in13) << 32); - x_12 = x_13 = _mm256_broadcastq_epi64(_mm_cvtsi64_si128(in1213)); - - t12 = _mm256_add_epi64(addv12, x_12); - t13 = _mm256_add_epi64(addv13, x_13); - - x_12 = _mm256_unpacklo_epi32(t12, t13); - x_13 = _mm256_unpackhi_epi32(t12, t13); - - t12 = _mm256_unpacklo_epi32(x_12, x_13); - t13 = _mm256_unpackhi_epi32(x_12, x_13); - - /* required because unpack* are intra-lane */ - x_12 = _mm256_permutevar8x32_epi32(t12, permute); - x_13 = _mm256_permutevar8x32_epi32(t13, permute); - - orig12 = x_12; - orig13 = x_13; - - in1213 += 8; - - x[12] = in1213 & 0xFFFFFFFF; - x[13] = (in1213 >> 32) & 0xFFFFFFFF; - - for (i = 0; i < ROUNDS; i += 2) { - VEC8_ROUND(0, 4, 8, 12, 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15); - VEC8_ROUND(0, 5, 10, 15, 1, 6, 11, 12, 2, 7, 8, 13, 3, 4, 9, 14); - } - -#define ONEQUAD_TRANSPOSE(A, B, C, D) \ - { \ - __m128i t0, t1, t2, t3; \ - x_##A = _mm256_add_epi32(x_##A, orig##A); \ - x_##B = _mm256_add_epi32(x_##B, orig##B); \ - x_##C = _mm256_add_epi32(x_##C, orig##C); \ - x_##D = _mm256_add_epi32(x_##D, orig##D); \ - t_##A = _mm256_unpacklo_epi32(x_##A, x_##B); \ - t_##B = _mm256_unpacklo_epi32(x_##C, x_##D); \ - t_##C = _mm256_unpackhi_epi32(x_##A, x_##B); \ - t_##D = _mm256_unpackhi_epi32(x_##C, x_##D); \ - x_##A = _mm256_unpacklo_epi64(t_##A, t_##B); \ - x_##B = _mm256_unpackhi_epi64(t_##A, t_##B); \ - x_##C = _mm256_unpacklo_epi64(t_##C, t_##D); \ - x_##D = _mm256_unpackhi_epi64(t_##C, t_##D); \ - t0 = _mm_xor_si128(_mm256_extracti128_si256(x_##A, 0), \ - _mm_loadu_si128((__m128i*) (m + 0))); \ - _mm_storeu_si128((__m128i*) (c + 0), t0); \ - t1 = _mm_xor_si128(_mm256_extracti128_si256(x_##B, 0), \ - _mm_loadu_si128((__m128i*) (m + 64))); \ - _mm_storeu_si128((__m128i*) (c + 64), t1); \ - t2 = _mm_xor_si128(_mm256_extracti128_si256(x_##C, 0), \ - _mm_loadu_si128((__m128i*) (m + 128))); \ - _mm_storeu_si128((__m128i*) (c + 128), t2); \ - t3 = _mm_xor_si128(_mm256_extracti128_si256(x_##D, 0), \ - _mm_loadu_si128((__m128i*) (m + 192))); \ - _mm_storeu_si128((__m128i*) (c + 192), t3); \ - t0 = _mm_xor_si128(_mm256_extracti128_si256(x_##A, 1), \ - _mm_loadu_si128((__m128i*) (m + 256))); \ - _mm_storeu_si128((__m128i*) (c + 256), t0); \ - t1 = _mm_xor_si128(_mm256_extracti128_si256(x_##B, 1), \ - _mm_loadu_si128((__m128i*) (m + 320))); \ - _mm_storeu_si128((__m128i*) (c + 320), t1); \ - t2 = _mm_xor_si128(_mm256_extracti128_si256(x_##C, 1), \ - _mm_loadu_si128((__m128i*) (m + 384))); \ - _mm_storeu_si128((__m128i*) (c + 384), t2); \ - t3 = _mm_xor_si128(_mm256_extracti128_si256(x_##D, 1), \ - _mm_loadu_si128((__m128i*) (m + 448))); \ - _mm_storeu_si128((__m128i*) (c + 448), t3); \ - } - -#define ONEQUAD(A, B, C, D) ONEQUAD_TRANSPOSE(A, B, C, D) - -#define ONEQUAD_UNPCK(A, B, C, D) \ - { \ - x_##A = _mm256_add_epi32(x_##A, orig##A); \ - x_##B = _mm256_add_epi32(x_##B, orig##B); \ - x_##C = _mm256_add_epi32(x_##C, orig##C); \ - x_##D = _mm256_add_epi32(x_##D, orig##D); \ - t_##A = _mm256_unpacklo_epi32(x_##A, x_##B); \ - t_##B = _mm256_unpacklo_epi32(x_##C, x_##D); \ - t_##C = _mm256_unpackhi_epi32(x_##A, x_##B); \ - t_##D = _mm256_unpackhi_epi32(x_##C, x_##D); \ - x_##A = _mm256_unpacklo_epi64(t_##A, t_##B); \ - x_##B = _mm256_unpackhi_epi64(t_##A, t_##B); \ - x_##C = _mm256_unpacklo_epi64(t_##C, t_##D); \ - x_##D = _mm256_unpackhi_epi64(t_##C, t_##D); \ - } - -#define ONEOCTO(A, B, C, D, A2, B2, C2, D2) \ - { \ - ONEQUAD_UNPCK(A, B, C, D); \ - ONEQUAD_UNPCK(A2, B2, C2, D2); \ - t_##A = _mm256_permute2x128_si256(x_##A, x_##A2, 0x20); \ - t_##A2 = _mm256_permute2x128_si256(x_##A, x_##A2, 0x31); \ - t_##B = _mm256_permute2x128_si256(x_##B, x_##B2, 0x20); \ - t_##B2 = _mm256_permute2x128_si256(x_##B, x_##B2, 0x31); \ - t_##C = _mm256_permute2x128_si256(x_##C, x_##C2, 0x20); \ - t_##C2 = _mm256_permute2x128_si256(x_##C, x_##C2, 0x31); \ - t_##D = _mm256_permute2x128_si256(x_##D, x_##D2, 0x20); \ - t_##D2 = _mm256_permute2x128_si256(x_##D, x_##D2, 0x31); \ - t_##A = \ - _mm256_xor_si256(t_##A, _mm256_loadu_si256((__m256i*) (m + 0))); \ - t_##B = \ - _mm256_xor_si256(t_##B, _mm256_loadu_si256((__m256i*) (m + 64))); \ - t_##C = \ - _mm256_xor_si256(t_##C, _mm256_loadu_si256((__m256i*) (m + 128))); \ - t_##D = \ - _mm256_xor_si256(t_##D, _mm256_loadu_si256((__m256i*) (m + 192))); \ - t_##A2 = _mm256_xor_si256(t_##A2, \ - _mm256_loadu_si256((__m256i*) (m + 256))); \ - t_##B2 = _mm256_xor_si256(t_##B2, \ - _mm256_loadu_si256((__m256i*) (m + 320))); \ - t_##C2 = _mm256_xor_si256(t_##C2, \ - _mm256_loadu_si256((__m256i*) (m + 384))); \ - t_##D2 = _mm256_xor_si256(t_##D2, \ - _mm256_loadu_si256((__m256i*) (m + 448))); \ - _mm256_storeu_si256((__m256i*) (c + 0), t_##A); \ - _mm256_storeu_si256((__m256i*) (c + 64), t_##B); \ - _mm256_storeu_si256((__m256i*) (c + 128), t_##C); \ - _mm256_storeu_si256((__m256i*) (c + 192), t_##D); \ - _mm256_storeu_si256((__m256i*) (c + 256), t_##A2); \ - _mm256_storeu_si256((__m256i*) (c + 320), t_##B2); \ - _mm256_storeu_si256((__m256i*) (c + 384), t_##C2); \ - _mm256_storeu_si256((__m256i*) (c + 448), t_##D2); \ - } - - ONEOCTO(0, 1, 2, 3, 4, 5, 6, 7); - m += 32; - c += 32; - ONEOCTO(8, 9, 10, 11, 12, 13, 14, 15); - m -= 32; - c -= 32; - -#undef ONEQUAD -#undef ONEQUAD_TRANSPOSE -#undef ONEQUAD_UNPCK -#undef ONEOCTO - - bytes -= 512; - c += 512; - m += 512; - } -} -#undef VEC8_ROT -#undef VEC8_QUARTERROUND -#undef VEC8_QUARTERROUND_NAIVE -#undef VEC8_QUARTERROUND_SHUFFLE -#undef VEC8_QUARTERROUND_SHUFFLE2 -#undef VEC8_LINE1 -#undef VEC8_LINE2 -#undef VEC8_LINE3 -#undef VEC8_LINE4 -#undef VEC8_ROUND -#undef VEC8_ROUND_SEQ -#undef VEC8_ROUND_HALF -#undef VEC8_ROUND_HALFANDHALF diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c deleted file mode 100755 index 65229edfa..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c +++ /dev/null @@ -1,314 +0,0 @@ - -/* - chacha-merged.c version 20080118 - D. J. Bernstein - Public domain. - */ - -#include -#include -#include - -#include "crypto_stream_chacha20.h" -#include "private/common.h" -#include "utils.h" - -#include "../stream_chacha20.h" -#include "chacha20_ref.h" - -struct chacha_ctx { - uint32_t input[16]; -}; - -typedef struct chacha_ctx chacha_ctx; - -#define U32C(v) (v##U) - -#define U32V(v) ((uint32_t)(v) &U32C(0xFFFFFFFF)) - -#define ROTATE(v, c) (ROTL32(v, c)) -#define XOR(v, w) ((v) ^ (w)) -#define PLUS(v, w) (U32V((v) + (w))) -#define PLUSONE(v) (PLUS((v), 1)) - -#define QUARTERROUND(a, b, c, d) \ - a = PLUS(a, b); \ - d = ROTATE(XOR(d, a), 16); \ - c = PLUS(c, d); \ - b = ROTATE(XOR(b, c), 12); \ - a = PLUS(a, b); \ - d = ROTATE(XOR(d, a), 8); \ - c = PLUS(c, d); \ - b = ROTATE(XOR(b, c), 7); - -static void -chacha_keysetup(chacha_ctx *ctx, const uint8_t *k) -{ - ctx->input[0] = U32C(0x61707865); - ctx->input[1] = U32C(0x3320646e); - ctx->input[2] = U32C(0x79622d32); - ctx->input[3] = U32C(0x6b206574); - ctx->input[4] = LOAD32_LE(k + 0); - ctx->input[5] = LOAD32_LE(k + 4); - ctx->input[6] = LOAD32_LE(k + 8); - ctx->input[7] = LOAD32_LE(k + 12); - ctx->input[8] = LOAD32_LE(k + 16); - ctx->input[9] = LOAD32_LE(k + 20); - ctx->input[10] = LOAD32_LE(k + 24); - ctx->input[11] = LOAD32_LE(k + 28); -} - -static void -chacha_ivsetup(chacha_ctx *ctx, const uint8_t *iv, const uint8_t *counter) -{ - ctx->input[12] = counter == NULL ? 0 : LOAD32_LE(counter + 0); - ctx->input[13] = counter == NULL ? 0 : LOAD32_LE(counter + 4); - ctx->input[14] = LOAD32_LE(iv + 0); - ctx->input[15] = LOAD32_LE(iv + 4); -} - -static void -chacha_ietf_ivsetup(chacha_ctx *ctx, const uint8_t *iv, const uint8_t *counter) -{ - ctx->input[12] = counter == NULL ? 0 : LOAD32_LE(counter); - ctx->input[13] = LOAD32_LE(iv + 0); - ctx->input[14] = LOAD32_LE(iv + 4); - ctx->input[15] = LOAD32_LE(iv + 8); -} - -static void -chacha20_encrypt_bytes(chacha_ctx *ctx, const uint8_t *m, uint8_t *c, - unsigned long long bytes) -{ - uint32_t x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, - x15; - uint32_t j0, j1, j2, j3, j4, j5, j6, j7, j8, j9, j10, j11, j12, j13, j14, - j15; - uint8_t * ctarget = NULL; - uint8_t tmp[64]; - unsigned int i; - - if (!bytes) { - return; /* LCOV_EXCL_LINE */ - } - if (bytes > 64ULL * (1ULL << 32) - 64ULL) { - abort(); - } - j0 = ctx->input[0]; - j1 = ctx->input[1]; - j2 = ctx->input[2]; - j3 = ctx->input[3]; - j4 = ctx->input[4]; - j5 = ctx->input[5]; - j6 = ctx->input[6]; - j7 = ctx->input[7]; - j8 = ctx->input[8]; - j9 = ctx->input[9]; - j10 = ctx->input[10]; - j11 = ctx->input[11]; - j12 = ctx->input[12]; - j13 = ctx->input[13]; - j14 = ctx->input[14]; - j15 = ctx->input[15]; - - for (;;) { - if (bytes < 64) { - memset(tmp, 0, 64); - for (i = 0; i < bytes; ++i) { - tmp[i] = m[i]; - } - m = tmp; - ctarget = c; - c = tmp; - } - x0 = j0; - x1 = j1; - x2 = j2; - x3 = j3; - x4 = j4; - x5 = j5; - x6 = j6; - x7 = j7; - x8 = j8; - x9 = j9; - x10 = j10; - x11 = j11; - x12 = j12; - x13 = j13; - x14 = j14; - x15 = j15; - for (i = 20; i > 0; i -= 2) { - QUARTERROUND(x0, x4, x8, x12) - QUARTERROUND(x1, x5, x9, x13) - QUARTERROUND(x2, x6, x10, x14) - QUARTERROUND(x3, x7, x11, x15) - QUARTERROUND(x0, x5, x10, x15) - QUARTERROUND(x1, x6, x11, x12) - QUARTERROUND(x2, x7, x8, x13) - QUARTERROUND(x3, x4, x9, x14) - } - x0 = PLUS(x0, j0); - x1 = PLUS(x1, j1); - x2 = PLUS(x2, j2); - x3 = PLUS(x3, j3); - x4 = PLUS(x4, j4); - x5 = PLUS(x5, j5); - x6 = PLUS(x6, j6); - x7 = PLUS(x7, j7); - x8 = PLUS(x8, j8); - x9 = PLUS(x9, j9); - x10 = PLUS(x10, j10); - x11 = PLUS(x11, j11); - x12 = PLUS(x12, j12); - x13 = PLUS(x13, j13); - x14 = PLUS(x14, j14); - x15 = PLUS(x15, j15); - - x0 = XOR(x0, LOAD32_LE(m + 0)); - x1 = XOR(x1, LOAD32_LE(m + 4)); - x2 = XOR(x2, LOAD32_LE(m + 8)); - x3 = XOR(x3, LOAD32_LE(m + 12)); - x4 = XOR(x4, LOAD32_LE(m + 16)); - x5 = XOR(x5, LOAD32_LE(m + 20)); - x6 = XOR(x6, LOAD32_LE(m + 24)); - x7 = XOR(x7, LOAD32_LE(m + 28)); - x8 = XOR(x8, LOAD32_LE(m + 32)); - x9 = XOR(x9, LOAD32_LE(m + 36)); - x10 = XOR(x10, LOAD32_LE(m + 40)); - x11 = XOR(x11, LOAD32_LE(m + 44)); - x12 = XOR(x12, LOAD32_LE(m + 48)); - x13 = XOR(x13, LOAD32_LE(m + 52)); - x14 = XOR(x14, LOAD32_LE(m + 56)); - x15 = XOR(x15, LOAD32_LE(m + 60)); - - j12 = PLUSONE(j12); - /* LCOV_EXCL_START */ - if (!j12) { - j13 = PLUSONE(j13); - } - /* LCOV_EXCL_STOP */ - - STORE32_LE(c + 0, x0); - STORE32_LE(c + 4, x1); - STORE32_LE(c + 8, x2); - STORE32_LE(c + 12, x3); - STORE32_LE(c + 16, x4); - STORE32_LE(c + 20, x5); - STORE32_LE(c + 24, x6); - STORE32_LE(c + 28, x7); - STORE32_LE(c + 32, x8); - STORE32_LE(c + 36, x9); - STORE32_LE(c + 40, x10); - STORE32_LE(c + 44, x11); - STORE32_LE(c + 48, x12); - STORE32_LE(c + 52, x13); - STORE32_LE(c + 56, x14); - STORE32_LE(c + 60, x15); - - if (bytes <= 64) { - if (bytes < 64) { - for (i = 0; i < (unsigned int) bytes; ++i) { - ctarget[i] = c[i]; /* ctarget cannot be NULL */ - } - } - ctx->input[12] = j12; - ctx->input[13] = j13; - - return; - } - bytes -= 64; - c += 64; - m += 64; - } -} - -static int -stream_ref(unsigned char *c, unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - struct chacha_ctx ctx; - - if (!clen) { - return 0; - } - COMPILER_ASSERT(crypto_stream_chacha20_KEYBYTES == 256 / 8); - chacha_keysetup(&ctx, k); - chacha_ivsetup(&ctx, n, NULL); - memset(c, 0, clen); - chacha20_encrypt_bytes(&ctx, c, c, clen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_ietf_ref(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - struct chacha_ctx ctx; - - if (!clen) { - return 0; - } - COMPILER_ASSERT(crypto_stream_chacha20_KEYBYTES == 256 / 8); - chacha_keysetup(&ctx, k); - chacha_ietf_ivsetup(&ctx, n, NULL); - memset(c, 0, clen); - chacha20_encrypt_bytes(&ctx, c, c, clen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_ref_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, uint64_t ic, - const unsigned char *k) -{ - struct chacha_ctx ctx; - uint8_t ic_bytes[8]; - uint32_t ic_high; - uint32_t ic_low; - - if (!mlen) { - return 0; - } - ic_high = U32V(ic >> 32); - ic_low = U32V(ic); - STORE32_LE(&ic_bytes[0], ic_low); - STORE32_LE(&ic_bytes[4], ic_high); - chacha_keysetup(&ctx, k); - chacha_ivsetup(&ctx, n, ic_bytes); - chacha20_encrypt_bytes(&ctx, m, c, mlen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_ietf_ref_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - uint32_t ic, const unsigned char *k) -{ - struct chacha_ctx ctx; - uint8_t ic_bytes[4]; - - if (!mlen) { - return 0; - } - STORE32_LE(ic_bytes, ic); - chacha_keysetup(&ctx, k); - chacha_ietf_ivsetup(&ctx, n, ic_bytes); - chacha20_encrypt_bytes(&ctx, m, c, mlen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -struct crypto_stream_chacha20_implementation - crypto_stream_chacha20_ref_implementation = { - SODIUM_C99(.stream =) stream_ref, - SODIUM_C99(.stream_ietf =) stream_ietf_ref, - SODIUM_C99(.stream_xor_ic =) stream_ref_xor_ic, - SODIUM_C99(.stream_ietf_xor_ic =) stream_ietf_ref_xor_ic - }; diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.h deleted file mode 100755 index 6ac480755..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.h +++ /dev/null @@ -1,8 +0,0 @@ - -#include - -#include "../stream_chacha20.h" -#include "crypto_stream_chacha20.h" - -extern struct crypto_stream_chacha20_implementation - crypto_stream_chacha20_ref_implementation; diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.c deleted file mode 100755 index 0f7520ecf..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.c +++ /dev/null @@ -1,117 +0,0 @@ -#include "crypto_stream_chacha20.h" -#include "private/common.h" -#include "randombytes.h" -#include "runtime.h" -#include "stream_chacha20.h" - -#include "ref/chacha20_ref.h" -#if defined(HAVE_AVX2INTRIN_H) && defined(HAVE_EMMINTRIN_H) && \ - defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H) -# include "dolbeau/chacha20_dolbeau-avx2.h" -#endif -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) -# include "dolbeau/chacha20_dolbeau-ssse3.h" -#endif - -static const crypto_stream_chacha20_implementation *implementation = - &crypto_stream_chacha20_ref_implementation; - -size_t -crypto_stream_chacha20_keybytes(void) { - return crypto_stream_chacha20_KEYBYTES; -} - -size_t -crypto_stream_chacha20_noncebytes(void) { - return crypto_stream_chacha20_NONCEBYTES; -} - -size_t -crypto_stream_chacha20_ietf_keybytes(void) { - return crypto_stream_chacha20_ietf_KEYBYTES; -} - -size_t -crypto_stream_chacha20_ietf_noncebytes(void) { - return crypto_stream_chacha20_ietf_NONCEBYTES; -} - -int -crypto_stream_chacha20(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - return implementation->stream(c, clen, n, k); -} - -int -crypto_stream_chacha20_ietf(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - return implementation->stream_ietf(c, clen, n, k); -} - -int -crypto_stream_chacha20_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint64_t ic, - const unsigned char *k) -{ - return implementation->stream_xor_ic(c, m, mlen, n, ic, k); -} - -int -crypto_stream_chacha20_ietf_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint32_t ic, - const unsigned char *k) -{ - return implementation->stream_ietf_xor_ic(c, m, mlen, n, ic, k); -} - -int -crypto_stream_chacha20_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - return implementation->stream_xor_ic(c, m, mlen, n, 0U, k); -} - -int -crypto_stream_chacha20_ietf_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - return implementation->stream_ietf_xor_ic(c, m, mlen, n, 0U, k); -} - -void -crypto_stream_chacha20_ietf_keygen(unsigned char k[crypto_stream_chacha20_ietf_KEYBYTES]) -{ - randombytes_buf(k, crypto_stream_chacha20_ietf_KEYBYTES); -} - -void -crypto_stream_chacha20_keygen(unsigned char k[crypto_stream_chacha20_KEYBYTES]) -{ - randombytes_buf(k, crypto_stream_chacha20_KEYBYTES); -} - -int -_crypto_stream_chacha20_pick_best_implementation(void) -{ - implementation = &crypto_stream_chacha20_ref_implementation; -#if defined(HAVE_AVX2INTRIN_H) && defined(HAVE_EMMINTRIN_H) && \ - defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H) - if (sodium_runtime_has_avx2()) { - implementation = &crypto_stream_chacha20_dolbeau_avx2_implementation; - return 0; - } -#endif -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) - if (sodium_runtime_has_ssse3()) { - implementation = &crypto_stream_chacha20_dolbeau_ssse3_implementation; - return 0; - } -#endif - return 0; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.h deleted file mode 100755 index d6b71c5e0..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.h +++ /dev/null @@ -1,22 +0,0 @@ - -#ifndef stream_chacha20_H -#define stream_chacha20_H - -#include - -typedef struct crypto_stream_chacha20_implementation { - int (*stream)(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k); - int (*stream_ietf)(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k); - int (*stream_xor_ic)(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint64_t ic, - const unsigned char *k); - int (*stream_ietf_xor_ic)(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint32_t ic, - const unsigned char *k); -} crypto_stream_chacha20_implementation; - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/crypto_stream.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/crypto_stream.c deleted file mode 100755 index 7d93243bb..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/crypto_stream.c +++ /dev/null @@ -1,43 +0,0 @@ - -#include "crypto_stream.h" -#include "randombytes.h" - -size_t -crypto_stream_keybytes(void) -{ - return crypto_stream_KEYBYTES; -} - -size_t -crypto_stream_noncebytes(void) -{ - return crypto_stream_NONCEBYTES; -} - -const char * -crypto_stream_primitive(void) -{ - return crypto_stream_PRIMITIVE; -} - -int -crypto_stream(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - return crypto_stream_xsalsa20(c, clen, n, k); -} - - -int -crypto_stream_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - return crypto_stream_xsalsa20_xor(c, m, mlen, n, k); -} - -void -crypto_stream_keygen(unsigned char k[crypto_stream_KEYBYTES]) -{ - randombytes_buf(k, crypto_stream_KEYBYTES); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c deleted file mode 100755 index f0854ebf7..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c +++ /dev/null @@ -1,120 +0,0 @@ -/* -version 20140420 -D. J. Bernstein -Public domain. -*/ - -#include - -#include "crypto_core_salsa20.h" -#include "crypto_stream_salsa20.h" -#include "utils.h" - -#include "../stream_salsa20.h" -#include "salsa20_ref.h" - -#ifndef HAVE_AMD64_ASM - -static int -stream_ref(unsigned char *c, unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - unsigned char in[16]; - unsigned char block[64]; - unsigned char kcopy[32]; - unsigned int i; - unsigned int u; - - if (!clen) { - return 0; - } - for (i = 0; i < 32; i++) { - kcopy[i] = k[i]; - } - for (i = 0; i < 8; i++) { - in[i] = n[i]; - } - for (i = 8; i < 16; i++) { - in[i] = 0; - } - while (clen >= 64) { - crypto_core_salsa20(c, in, kcopy, NULL); - u = 1; - for (i = 8; i < 16; i++) { - u += (unsigned int) in[i]; - in[i] = u; - u >>= 8; - } - clen -= 64; - c += 64; - } - if (clen) { - crypto_core_salsa20(block, in, kcopy, NULL); - for (i = 0; i < (unsigned int) clen; i++) { - c[i] = block[i]; - } - } - sodium_memzero(block, sizeof block); - sodium_memzero(kcopy, sizeof kcopy); - - return 0; -} - -static int -stream_ref_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, uint64_t ic, - const unsigned char *k) -{ - unsigned char in[16]; - unsigned char block[64]; - unsigned char kcopy[32]; - unsigned int i; - unsigned int u; - - if (!mlen) { - return 0; - } - for (i = 0; i < 32; i++) { - kcopy[i] = k[i]; - } - for (i = 0; i < 8; i++) { - in[i] = n[i]; - } - for (i = 8; i < 16; i++) { - in[i] = (unsigned char) (ic & 0xff); - ic >>= 8; - } - while (mlen >= 64) { - crypto_core_salsa20(block, in, kcopy, NULL); - for (i = 0; i < 64; i++) { - c[i] = m[i] ^ block[i]; - } - u = 1; - for (i = 8; i < 16; i++) { - u += (unsigned int) in[i]; - in[i] = u; - u >>= 8; - } - mlen -= 64; - c += 64; - m += 64; - } - if (mlen) { - crypto_core_salsa20(block, in, kcopy, NULL); - for (i = 0; i < (unsigned int) mlen; i++) { - c[i] = m[i] ^ block[i]; - } - } - sodium_memzero(block, sizeof block); - sodium_memzero(kcopy, sizeof kcopy); - - return 0; -} - -struct crypto_stream_salsa20_implementation - crypto_stream_salsa20_ref_implementation = { - SODIUM_C99(.stream =) stream_ref, - SODIUM_C99(.stream_xor_ic =) stream_ref_xor_ic, - }; - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.h deleted file mode 100755 index 8716cb404..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/ref/salsa20_ref.h +++ /dev/null @@ -1,8 +0,0 @@ - -#include - -#include "../stream_salsa20.h" -#include "crypto_stream_salsa20.h" - -extern struct crypto_stream_salsa20_implementation - crypto_stream_salsa20_ref_implementation; diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20.c deleted file mode 100755 index 91e99df79..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20.c +++ /dev/null @@ -1,93 +0,0 @@ -#include "crypto_stream_salsa20.h" -#include "private/common.h" -#include "randombytes.h" -#include "runtime.h" -#include "stream_salsa20.h" - -#ifdef HAVE_AMD64_ASM -# include "xmm6/salsa20_xmm6.h" -#else -# include "ref/salsa20_ref.h" -#endif -#if !defined(HAVE_AMD64_ASM) && defined(HAVE_EMMINTRIN_H) -# include "xmm6int/salsa20_xmm6int-sse2.h" -#endif -#if defined(HAVE_AVX2INTRIN_H) && defined(HAVE_EMMINTRIN_H) && \ - defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H) -# include "xmm6int/salsa20_xmm6int-avx2.h" -#endif - -#if HAVE_AMD64_ASM -static const crypto_stream_salsa20_implementation *implementation = - &crypto_stream_salsa20_xmm6_implementation; -#else -static const crypto_stream_salsa20_implementation *implementation = - &crypto_stream_salsa20_ref_implementation; -#endif - -size_t -crypto_stream_salsa20_keybytes(void) -{ - return crypto_stream_salsa20_KEYBYTES; -} - -size_t -crypto_stream_salsa20_noncebytes(void) -{ - return crypto_stream_salsa20_NONCEBYTES; -} - -int -crypto_stream_salsa20(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - return implementation->stream(c, clen, n, k); -} - -int -crypto_stream_salsa20_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint64_t ic, - const unsigned char *k) -{ - return implementation->stream_xor_ic(c, m, mlen, n, ic, k); -} - -int -crypto_stream_salsa20_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - return implementation->stream_xor_ic(c, m, mlen, n, 0U, k); -} - -void -crypto_stream_salsa20_keygen(unsigned char k[crypto_stream_salsa20_KEYBYTES]) -{ - randombytes_buf(k, crypto_stream_salsa20_KEYBYTES); -} - -int -_crypto_stream_salsa20_pick_best_implementation(void) -{ -#ifdef HAVE_AMD64_ASM - implementation = &crypto_stream_salsa20_xmm6_implementation; -#else - implementation = &crypto_stream_salsa20_ref_implementation; -#endif - -#if defined(HAVE_AVX2INTRIN_H) && defined(HAVE_EMMINTRIN_H) && \ - defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H) - if (sodium_runtime_has_avx2()) { - implementation = &crypto_stream_salsa20_xmm6int_avx2_implementation; - return 0; - } -#endif -#if !defined(HAVE_AMD64_ASM) && defined(HAVE_EMMINTRIN_H) - if (sodium_runtime_has_sse2()) { - implementation = &crypto_stream_salsa20_xmm6int_sse2_implementation; - return 0; - } -#endif - return 0; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20.h deleted file mode 100755 index 1949d3811..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20.h +++ /dev/null @@ -1,16 +0,0 @@ - -#ifndef stream_salsa20_H -#define stream_salsa20_H - -#include - -typedef struct crypto_stream_salsa20_implementation { - int (*stream)(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k); - int (*stream_xor_ic)(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint64_t ic, - const unsigned char *k); -} crypto_stream_salsa20_implementation; - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c deleted file mode 100755 index 0a6fee0f3..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c +++ /dev/null @@ -1,31 +0,0 @@ - -#include - -#include "utils.h" - -#include "../stream_salsa20.h" -#include "salsa20_xmm6.h" - -#ifdef HAVE_AMD64_ASM - -#ifdef __cplusplus -extern "C" { -#endif -extern int stream_salsa20_xmm6(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k); - -extern int stream_salsa20_xmm6_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - uint64_t ic, const unsigned char *k); -#ifdef __cplusplus -} -#endif - -struct crypto_stream_salsa20_implementation - crypto_stream_salsa20_xmm6_implementation = { - SODIUM_C99(.stream =) stream_salsa20_xmm6, - SODIUM_C99(.stream_xor_ic =) stream_salsa20_xmm6_xor_ic, - }; - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.h deleted file mode 100755 index d38473a9f..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.h +++ /dev/null @@ -1,8 +0,0 @@ - -#include - -#include "../stream_salsa20.h" -#include "crypto_stream_salsa20.h" - -extern struct crypto_stream_salsa20_implementation - crypto_stream_salsa20_xmm6_implementation; diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c deleted file mode 100755 index 18d4773ec..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c +++ /dev/null @@ -1,131 +0,0 @@ - -#include -#include -#include - -#include "crypto_stream_salsa20.h" -#include "private/common.h" -#include "private/sse2_64_32.h" -#include "utils.h" - -#if defined(HAVE_AVX2INTRIN_H) && defined(HAVE_EMMINTRIN_H) && \ - defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H) - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# pragma GCC target("ssse3") -# pragma GCC target("sse4.1") -# pragma GCC target("avx2") -# endif - -#include -#include -#include -#include - -# include "../stream_salsa20.h" -# include "salsa20_xmm6int-avx2.h" - -# define ROUNDS 20 - -typedef struct salsa_ctx { - uint32_t input[16]; -} salsa_ctx; - -static const int TR[16] = { - 0, 5, 10, 15, 12, 1, 6, 11, 8, 13, 2, 7, 4, 9, 14, 3 -}; - -static void -salsa_keysetup(salsa_ctx *ctx, const uint8_t *k) -{ - ctx->input[TR[1]] = LOAD32_LE(k + 0); - ctx->input[TR[2]] = LOAD32_LE(k + 4); - ctx->input[TR[3]] = LOAD32_LE(k + 8); - ctx->input[TR[4]] = LOAD32_LE(k + 12); - ctx->input[TR[11]] = LOAD32_LE(k + 16); - ctx->input[TR[12]] = LOAD32_LE(k + 20); - ctx->input[TR[13]] = LOAD32_LE(k + 24); - ctx->input[TR[14]] = LOAD32_LE(k + 28); - ctx->input[TR[0]] = 0x61707865; - ctx->input[TR[5]] = 0x3320646e; - ctx->input[TR[10]] = 0x79622d32; - ctx->input[TR[15]] = 0x6b206574; -} - -static void -salsa_ivsetup(salsa_ctx *ctx, const uint8_t *iv, const uint8_t *counter) -{ - ctx->input[TR[6]] = LOAD32_LE(iv + 0); - ctx->input[TR[7]] = LOAD32_LE(iv + 4); - ctx->input[TR[8]] = counter == NULL ? 0 : LOAD32_LE(counter + 0); - ctx->input[TR[9]] = counter == NULL ? 0 : LOAD32_LE(counter + 4); -} - -static void -salsa20_encrypt_bytes(salsa_ctx *ctx, const uint8_t *m, uint8_t *c, - unsigned long long bytes) -{ - uint32_t * const x = &ctx->input[0]; - - if (!bytes) { - return; /* LCOV_EXCL_LINE */ - } - -#include "u8.h" -#include "u4.h" -#include "u1.h" -#include "u0.h" -} - -static int -stream_avx2(unsigned char *c, unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - struct salsa_ctx ctx; - - if (!clen) { - return 0; - } - COMPILER_ASSERT(crypto_stream_salsa20_KEYBYTES == 256 / 8); - salsa_keysetup(&ctx, k); - salsa_ivsetup(&ctx, n, NULL); - memset(c, 0, clen); - salsa20_encrypt_bytes(&ctx, c, c, clen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_avx2_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, uint64_t ic, - const unsigned char *k) -{ - struct salsa_ctx ctx; - uint8_t ic_bytes[8]; - uint32_t ic_high; - uint32_t ic_low; - - if (!mlen) { - return 0; - } - ic_high = (uint32_t) (ic >> 32); - ic_low = (uint32_t) ic; - STORE32_LE(&ic_bytes[0], ic_low); - STORE32_LE(&ic_bytes[4], ic_high); - salsa_keysetup(&ctx, k); - salsa_ivsetup(&ctx, n, ic_bytes); - salsa20_encrypt_bytes(&ctx, m, c, mlen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -struct crypto_stream_salsa20_implementation - crypto_stream_salsa20_xmm6int_avx2_implementation = { - SODIUM_C99(.stream =) stream_avx2, - SODIUM_C99(.stream_xor_ic =) stream_avx2_xor_ic - }; - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h deleted file mode 100755 index 0924e9baf..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h +++ /dev/null @@ -1,8 +0,0 @@ - -#include - -#include "../stream_salsa20.h" -#include "crypto_stream_salsa20.h" - -extern struct crypto_stream_salsa20_implementation - crypto_stream_salsa20_xmm6int_avx2_implementation; diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c deleted file mode 100755 index d8e53a655..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c +++ /dev/null @@ -1,122 +0,0 @@ - -#include -#include -#include - -#include "crypto_stream_salsa20.h" -#include "private/common.h" -#include "private/sse2_64_32.h" -#include "utils.h" - -#ifdef HAVE_EMMINTRIN_H - -# ifdef __GNUC__ -# pragma GCC target("sse2") -# endif -# include - -# include "../stream_salsa20.h" -# include "salsa20_xmm6int-sse2.h" - -# define ROUNDS 20 - -typedef struct salsa_ctx { - uint32_t input[16]; -} salsa_ctx; - -static const int TR[16] = { - 0, 5, 10, 15, 12, 1, 6, 11, 8, 13, 2, 7, 4, 9, 14, 3 -}; - -static void -salsa_keysetup(salsa_ctx *ctx, const uint8_t *k) -{ - ctx->input[TR[1]] = LOAD32_LE(k + 0); - ctx->input[TR[2]] = LOAD32_LE(k + 4); - ctx->input[TR[3]] = LOAD32_LE(k + 8); - ctx->input[TR[4]] = LOAD32_LE(k + 12); - ctx->input[TR[11]] = LOAD32_LE(k + 16); - ctx->input[TR[12]] = LOAD32_LE(k + 20); - ctx->input[TR[13]] = LOAD32_LE(k + 24); - ctx->input[TR[14]] = LOAD32_LE(k + 28); - ctx->input[TR[0]] = 0x61707865; - ctx->input[TR[5]] = 0x3320646e; - ctx->input[TR[10]] = 0x79622d32; - ctx->input[TR[15]] = 0x6b206574; -} - -static void -salsa_ivsetup(salsa_ctx *ctx, const uint8_t *iv, const uint8_t *counter) -{ - ctx->input[TR[6]] = LOAD32_LE(iv + 0); - ctx->input[TR[7]] = LOAD32_LE(iv + 4); - ctx->input[TR[8]] = counter == NULL ? 0 : LOAD32_LE(counter + 0); - ctx->input[TR[9]] = counter == NULL ? 0 : LOAD32_LE(counter + 4); -} - -static void -salsa20_encrypt_bytes(salsa_ctx *ctx, const uint8_t *m, uint8_t *c, - unsigned long long bytes) -{ - uint32_t * const x = &ctx->input[0]; - - if (!bytes) { - return; /* LCOV_EXCL_LINE */ - } - -#include "u4.h" -#include "u1.h" -#include "u0.h" -} - -static int -stream_sse2(unsigned char *c, unsigned long long clen, const unsigned char *n, - const unsigned char *k) -{ - struct salsa_ctx ctx; - - if (!clen) { - return 0; - } - COMPILER_ASSERT(crypto_stream_salsa20_KEYBYTES == 256 / 8); - salsa_keysetup(&ctx, k); - salsa_ivsetup(&ctx, n, NULL); - memset(c, 0, clen); - salsa20_encrypt_bytes(&ctx, c, c, clen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -static int -stream_sse2_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, uint64_t ic, - const unsigned char *k) -{ - struct salsa_ctx ctx; - uint8_t ic_bytes[8]; - uint32_t ic_high; - uint32_t ic_low; - - if (!mlen) { - return 0; - } - ic_high = (uint32_t) (ic >> 32); - ic_low = (uint32_t) (ic); - STORE32_LE(&ic_bytes[0], ic_low); - STORE32_LE(&ic_bytes[4], ic_high); - salsa_keysetup(&ctx, k); - salsa_ivsetup(&ctx, n, ic_bytes); - salsa20_encrypt_bytes(&ctx, m, c, mlen); - sodium_memzero(&ctx, sizeof ctx); - - return 0; -} - -struct crypto_stream_salsa20_implementation - crypto_stream_salsa20_xmm6int_sse2_implementation = { - SODIUM_C99(.stream =) stream_sse2, - SODIUM_C99(.stream_xor_ic =) stream_sse2_xor_ic - }; - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h deleted file mode 100755 index ed52a8bcb..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h +++ /dev/null @@ -1,8 +0,0 @@ - -#include - -#include "../stream_salsa20.h" -#include "crypto_stream_salsa20.h" - -extern struct crypto_stream_salsa20_implementation - crypto_stream_salsa20_xmm6int_sse2_implementation; diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u0.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u0.h deleted file mode 100755 index b6613dbde..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u0.h +++ /dev/null @@ -1,195 +0,0 @@ -if (bytes > 0) { - __m128i diag0 = _mm_loadu_si128((__m128i *) (x + 0)); - __m128i diag1 = _mm_loadu_si128((__m128i *) (x + 4)); - __m128i diag2 = _mm_loadu_si128((__m128i *) (x + 8)); - __m128i diag3 = _mm_loadu_si128((__m128i *) (x + 12)); - __m128i a0, a1, a2, a3, a4, a5, a6, a7; - __m128i b0, b1, b2, b3, b4, b5, b6, b7; - uint8_t partialblock[64]; - - int i; - - a0 = diag1; - for (i = 0; i < ROUNDS; i += 4) { - a0 = _mm_add_epi32(a0, diag0); - a1 = diag0; - b0 = a0; - a0 = _mm_slli_epi32(a0, 7); - b0 = _mm_srli_epi32(b0, 25); - diag3 = _mm_xor_si128(diag3, a0); - - diag3 = _mm_xor_si128(diag3, b0); - - a1 = _mm_add_epi32(a1, diag3); - a2 = diag3; - b1 = a1; - a1 = _mm_slli_epi32(a1, 9); - b1 = _mm_srli_epi32(b1, 23); - diag2 = _mm_xor_si128(diag2, a1); - diag3 = _mm_shuffle_epi32(diag3, 0x93); - diag2 = _mm_xor_si128(diag2, b1); - - a2 = _mm_add_epi32(a2, diag2); - a3 = diag2; - b2 = a2; - a2 = _mm_slli_epi32(a2, 13); - b2 = _mm_srli_epi32(b2, 19); - diag1 = _mm_xor_si128(diag1, a2); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag1 = _mm_xor_si128(diag1, b2); - - a3 = _mm_add_epi32(a3, diag1); - a4 = diag3; - b3 = a3; - a3 = _mm_slli_epi32(a3, 18); - b3 = _mm_srli_epi32(b3, 14); - diag0 = _mm_xor_si128(diag0, a3); - diag1 = _mm_shuffle_epi32(diag1, 0x39); - diag0 = _mm_xor_si128(diag0, b3); - - a4 = _mm_add_epi32(a4, diag0); - a5 = diag0; - b4 = a4; - a4 = _mm_slli_epi32(a4, 7); - b4 = _mm_srli_epi32(b4, 25); - diag1 = _mm_xor_si128(diag1, a4); - - diag1 = _mm_xor_si128(diag1, b4); - - a5 = _mm_add_epi32(a5, diag1); - a6 = diag1; - b5 = a5; - a5 = _mm_slli_epi32(a5, 9); - b5 = _mm_srli_epi32(b5, 23); - diag2 = _mm_xor_si128(diag2, a5); - diag1 = _mm_shuffle_epi32(diag1, 0x93); - diag2 = _mm_xor_si128(diag2, b5); - - a6 = _mm_add_epi32(a6, diag2); - a7 = diag2; - b6 = a6; - a6 = _mm_slli_epi32(a6, 13); - b6 = _mm_srli_epi32(b6, 19); - diag3 = _mm_xor_si128(diag3, a6); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag3 = _mm_xor_si128(diag3, b6); - - a7 = _mm_add_epi32(a7, diag3); - a0 = diag1; - b7 = a7; - a7 = _mm_slli_epi32(a7, 18); - b7 = _mm_srli_epi32(b7, 14); - diag0 = _mm_xor_si128(diag0, a7); - diag3 = _mm_shuffle_epi32(diag3, 0x39); - diag0 = _mm_xor_si128(diag0, b7); - - a0 = _mm_add_epi32(a0, diag0); - a1 = diag0; - b0 = a0; - a0 = _mm_slli_epi32(a0, 7); - b0 = _mm_srli_epi32(b0, 25); - diag3 = _mm_xor_si128(diag3, a0); - - diag3 = _mm_xor_si128(diag3, b0); - - a1 = _mm_add_epi32(a1, diag3); - a2 = diag3; - b1 = a1; - a1 = _mm_slli_epi32(a1, 9); - b1 = _mm_srli_epi32(b1, 23); - diag2 = _mm_xor_si128(diag2, a1); - diag3 = _mm_shuffle_epi32(diag3, 0x93); - diag2 = _mm_xor_si128(diag2, b1); - - a2 = _mm_add_epi32(a2, diag2); - a3 = diag2; - b2 = a2; - a2 = _mm_slli_epi32(a2, 13); - b2 = _mm_srli_epi32(b2, 19); - diag1 = _mm_xor_si128(diag1, a2); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag1 = _mm_xor_si128(diag1, b2); - - a3 = _mm_add_epi32(a3, diag1); - a4 = diag3; - b3 = a3; - a3 = _mm_slli_epi32(a3, 18); - b3 = _mm_srli_epi32(b3, 14); - diag0 = _mm_xor_si128(diag0, a3); - diag1 = _mm_shuffle_epi32(diag1, 0x39); - diag0 = _mm_xor_si128(diag0, b3); - - a4 = _mm_add_epi32(a4, diag0); - a5 = diag0; - b4 = a4; - a4 = _mm_slli_epi32(a4, 7); - b4 = _mm_srli_epi32(b4, 25); - diag1 = _mm_xor_si128(diag1, a4); - - diag1 = _mm_xor_si128(diag1, b4); - - a5 = _mm_add_epi32(a5, diag1); - a6 = diag1; - b5 = a5; - a5 = _mm_slli_epi32(a5, 9); - b5 = _mm_srli_epi32(b5, 23); - diag2 = _mm_xor_si128(diag2, a5); - diag1 = _mm_shuffle_epi32(diag1, 0x93); - diag2 = _mm_xor_si128(diag2, b5); - - a6 = _mm_add_epi32(a6, diag2); - a7 = diag2; - b6 = a6; - a6 = _mm_slli_epi32(a6, 13); - b6 = _mm_srli_epi32(b6, 19); - diag3 = _mm_xor_si128(diag3, a6); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag3 = _mm_xor_si128(diag3, b6); - - a7 = _mm_add_epi32(a7, diag3); - a0 = diag1; - b7 = a7; - a7 = _mm_slli_epi32(a7, 18); - b7 = _mm_srli_epi32(b7, 14); - diag0 = _mm_xor_si128(diag0, a7); - diag3 = _mm_shuffle_epi32(diag3, 0x39); - diag0 = _mm_xor_si128(diag0, b7); - } - - diag0 = _mm_add_epi32(diag0, _mm_loadu_si128((__m128i *) (x + 0))); - diag1 = _mm_add_epi32(diag1, _mm_loadu_si128((__m128i *) (x + 4))); - diag2 = _mm_add_epi32(diag2, _mm_loadu_si128((__m128i *) (x + 8))); - diag3 = _mm_add_epi32(diag3, _mm_loadu_si128((__m128i *) (x + 12))); - -#define ONEQUAD_SHUFFLE(A, B, C, D) \ - do { \ - uint32_t in##A = _mm_cvtsi128_si32(diag0); \ - uint32_t in##B = _mm_cvtsi128_si32(diag1); \ - uint32_t in##C = _mm_cvtsi128_si32(diag2); \ - uint32_t in##D = _mm_cvtsi128_si32(diag3); \ - diag0 = _mm_shuffle_epi32(diag0, 0x39); \ - diag1 = _mm_shuffle_epi32(diag1, 0x39); \ - diag2 = _mm_shuffle_epi32(diag2, 0x39); \ - diag3 = _mm_shuffle_epi32(diag3, 0x39); \ - *(uint32_t *) (partialblock + (A * 4)) = in##A; \ - *(uint32_t *) (partialblock + (B * 4)) = in##B; \ - *(uint32_t *) (partialblock + (C * 4)) = in##C; \ - *(uint32_t *) (partialblock + (D * 4)) = in##D; \ - } while (0) - -#define ONEQUAD(A, B, C, D) ONEQUAD_SHUFFLE(A, B, C, D) - - ONEQUAD(0, 12, 8, 4); - ONEQUAD(5, 1, 13, 9); - ONEQUAD(10, 6, 2, 14); - ONEQUAD(15, 11, 7, 3); - -#undef ONEQUAD -#undef ONEQUAD_SHUFFLE - - for (i = 0; i < bytes; i++) { - c[i] = m[i] ^ partialblock[i]; - } - - sodium_memzero(partialblock, sizeof partialblock); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u1.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u1.h deleted file mode 100755 index c245d9565..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u1.h +++ /dev/null @@ -1,207 +0,0 @@ -while (bytes >= 64) { - __m128i diag0 = _mm_loadu_si128((__m128i *) (x + 0)); - __m128i diag1 = _mm_loadu_si128((__m128i *) (x + 4)); - __m128i diag2 = _mm_loadu_si128((__m128i *) (x + 8)); - __m128i diag3 = _mm_loadu_si128((__m128i *) (x + 12)); - __m128i a0, a1, a2, a3, a4, a5, a6, a7; - __m128i b0, b1, b2, b3, b4, b5, b6, b7; - - uint32_t in8; - uint32_t in9; - int i; - - a0 = diag1; - for (i = 0; i < ROUNDS; i += 4) { - a0 = _mm_add_epi32(a0, diag0); - a1 = diag0; - b0 = a0; - a0 = _mm_slli_epi32(a0, 7); - b0 = _mm_srli_epi32(b0, 25); - diag3 = _mm_xor_si128(diag3, a0); - - diag3 = _mm_xor_si128(diag3, b0); - - a1 = _mm_add_epi32(a1, diag3); - a2 = diag3; - b1 = a1; - a1 = _mm_slli_epi32(a1, 9); - b1 = _mm_srli_epi32(b1, 23); - diag2 = _mm_xor_si128(diag2, a1); - diag3 = _mm_shuffle_epi32(diag3, 0x93); - diag2 = _mm_xor_si128(diag2, b1); - - a2 = _mm_add_epi32(a2, diag2); - a3 = diag2; - b2 = a2; - a2 = _mm_slli_epi32(a2, 13); - b2 = _mm_srli_epi32(b2, 19); - diag1 = _mm_xor_si128(diag1, a2); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag1 = _mm_xor_si128(diag1, b2); - - a3 = _mm_add_epi32(a3, diag1); - a4 = diag3; - b3 = a3; - a3 = _mm_slli_epi32(a3, 18); - b3 = _mm_srli_epi32(b3, 14); - diag0 = _mm_xor_si128(diag0, a3); - diag1 = _mm_shuffle_epi32(diag1, 0x39); - diag0 = _mm_xor_si128(diag0, b3); - - a4 = _mm_add_epi32(a4, diag0); - a5 = diag0; - b4 = a4; - a4 = _mm_slli_epi32(a4, 7); - b4 = _mm_srli_epi32(b4, 25); - diag1 = _mm_xor_si128(diag1, a4); - - diag1 = _mm_xor_si128(diag1, b4); - - a5 = _mm_add_epi32(a5, diag1); - a6 = diag1; - b5 = a5; - a5 = _mm_slli_epi32(a5, 9); - b5 = _mm_srli_epi32(b5, 23); - diag2 = _mm_xor_si128(diag2, a5); - diag1 = _mm_shuffle_epi32(diag1, 0x93); - diag2 = _mm_xor_si128(diag2, b5); - - a6 = _mm_add_epi32(a6, diag2); - a7 = diag2; - b6 = a6; - a6 = _mm_slli_epi32(a6, 13); - b6 = _mm_srli_epi32(b6, 19); - diag3 = _mm_xor_si128(diag3, a6); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag3 = _mm_xor_si128(diag3, b6); - - a7 = _mm_add_epi32(a7, diag3); - a0 = diag1; - b7 = a7; - a7 = _mm_slli_epi32(a7, 18); - b7 = _mm_srli_epi32(b7, 14); - diag0 = _mm_xor_si128(diag0, a7); - diag3 = _mm_shuffle_epi32(diag3, 0x39); - diag0 = _mm_xor_si128(diag0, b7); - - a0 = _mm_add_epi32(a0, diag0); - a1 = diag0; - b0 = a0; - a0 = _mm_slli_epi32(a0, 7); - b0 = _mm_srli_epi32(b0, 25); - diag3 = _mm_xor_si128(diag3, a0); - - diag3 = _mm_xor_si128(diag3, b0); - - a1 = _mm_add_epi32(a1, diag3); - a2 = diag3; - b1 = a1; - a1 = _mm_slli_epi32(a1, 9); - b1 = _mm_srli_epi32(b1, 23); - diag2 = _mm_xor_si128(diag2, a1); - diag3 = _mm_shuffle_epi32(diag3, 0x93); - diag2 = _mm_xor_si128(diag2, b1); - - a2 = _mm_add_epi32(a2, diag2); - a3 = diag2; - b2 = a2; - a2 = _mm_slli_epi32(a2, 13); - b2 = _mm_srli_epi32(b2, 19); - diag1 = _mm_xor_si128(diag1, a2); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag1 = _mm_xor_si128(diag1, b2); - - a3 = _mm_add_epi32(a3, diag1); - a4 = diag3; - b3 = a3; - a3 = _mm_slli_epi32(a3, 18); - b3 = _mm_srli_epi32(b3, 14); - diag0 = _mm_xor_si128(diag0, a3); - diag1 = _mm_shuffle_epi32(diag1, 0x39); - diag0 = _mm_xor_si128(diag0, b3); - - a4 = _mm_add_epi32(a4, diag0); - a5 = diag0; - b4 = a4; - a4 = _mm_slli_epi32(a4, 7); - b4 = _mm_srli_epi32(b4, 25); - diag1 = _mm_xor_si128(diag1, a4); - - diag1 = _mm_xor_si128(diag1, b4); - - a5 = _mm_add_epi32(a5, diag1); - a6 = diag1; - b5 = a5; - a5 = _mm_slli_epi32(a5, 9); - b5 = _mm_srli_epi32(b5, 23); - diag2 = _mm_xor_si128(diag2, a5); - diag1 = _mm_shuffle_epi32(diag1, 0x93); - diag2 = _mm_xor_si128(diag2, b5); - - a6 = _mm_add_epi32(a6, diag2); - a7 = diag2; - b6 = a6; - a6 = _mm_slli_epi32(a6, 13); - b6 = _mm_srli_epi32(b6, 19); - diag3 = _mm_xor_si128(diag3, a6); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag3 = _mm_xor_si128(diag3, b6); - - a7 = _mm_add_epi32(a7, diag3); - a0 = diag1; - b7 = a7; - a7 = _mm_slli_epi32(a7, 18); - b7 = _mm_srli_epi32(b7, 14); - diag0 = _mm_xor_si128(diag0, a7); - diag3 = _mm_shuffle_epi32(diag3, 0x39); - diag0 = _mm_xor_si128(diag0, b7); - } - - diag0 = _mm_add_epi32(diag0, _mm_loadu_si128((__m128i *) (x + 0))); - diag1 = _mm_add_epi32(diag1, _mm_loadu_si128((__m128i *) (x + 4))); - diag2 = _mm_add_epi32(diag2, _mm_loadu_si128((__m128i *) (x + 8))); - diag3 = _mm_add_epi32(diag3, _mm_loadu_si128((__m128i *) (x + 12))); - -#define ONEQUAD_SHUFFLE(A, B, C, D) \ - do { \ - uint32_t in##A = _mm_cvtsi128_si32(diag0); \ - uint32_t in##B = _mm_cvtsi128_si32(diag1); \ - uint32_t in##C = _mm_cvtsi128_si32(diag2); \ - uint32_t in##D = _mm_cvtsi128_si32(diag3); \ - diag0 = _mm_shuffle_epi32(diag0, 0x39); \ - diag1 = _mm_shuffle_epi32(diag1, 0x39); \ - diag2 = _mm_shuffle_epi32(diag2, 0x39); \ - diag3 = _mm_shuffle_epi32(diag3, 0x39); \ - in##A ^= *(uint32_t *) (m + (A * 4)); \ - in##B ^= *(uint32_t *) (m + (B * 4)); \ - in##C ^= *(uint32_t *) (m + (C * 4)); \ - in##D ^= *(uint32_t *) (m + (D * 4)); \ - *(uint32_t *) (c + (A * 4)) = in##A; \ - *(uint32_t *) (c + (B * 4)) = in##B; \ - *(uint32_t *) (c + (C * 4)) = in##C; \ - *(uint32_t *) (c + (D * 4)) = in##D; \ - } while (0) - -#define ONEQUAD(A, B, C, D) ONEQUAD_SHUFFLE(A, B, C, D) - - ONEQUAD(0, 12, 8, 4); - ONEQUAD(5, 1, 13, 9); - ONEQUAD(10, 6, 2, 14); - ONEQUAD(15, 11, 7, 3); - -#undef ONEQUAD -#undef ONEQUAD_SHUFFLE - - in8 = x[8]; - in9 = x[13]; - in8++; - if (in8 == 0) { - in9++; - } - x[8] = in8; - x[13] = in9; - - c += 64; - m += 64; - bytes -= 64; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u4.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u4.h deleted file mode 100755 index 61d935fc9..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u4.h +++ /dev/null @@ -1,547 +0,0 @@ -if (bytes >= 256) { - __m128i y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14, - y15; - __m128i z0, z1, z2, z3, z4, z5, z6, z7, z8, z9, z10, z11, z12, z13, z14, - z15; - __m128i orig0, orig1, orig2, orig3, orig4, orig5, orig6, orig7, orig8, - orig9, orig10, orig11, orig12, orig13, orig14, orig15; - - uint32_t in8; - uint32_t in9; - int i; - - /* element broadcast immediate for _mm_shuffle_epi32 are in order: - 0x00, 0x55, 0xaa, 0xff */ - z0 = _mm_loadu_si128((__m128i *) (x + 0)); - z5 = _mm_shuffle_epi32(z0, 0x55); - z10 = _mm_shuffle_epi32(z0, 0xaa); - z15 = _mm_shuffle_epi32(z0, 0xff); - z0 = _mm_shuffle_epi32(z0, 0x00); - z1 = _mm_loadu_si128((__m128i *) (x + 4)); - z6 = _mm_shuffle_epi32(z1, 0xaa); - z11 = _mm_shuffle_epi32(z1, 0xff); - z12 = _mm_shuffle_epi32(z1, 0x00); - z1 = _mm_shuffle_epi32(z1, 0x55); - z2 = _mm_loadu_si128((__m128i *) (x + 8)); - z7 = _mm_shuffle_epi32(z2, 0xff); - z13 = _mm_shuffle_epi32(z2, 0x55); - z2 = _mm_shuffle_epi32(z2, 0xaa); - /* no z8 -> first half of the nonce, will fill later */ - z3 = _mm_loadu_si128((__m128i *) (x + 12)); - z4 = _mm_shuffle_epi32(z3, 0x00); - z14 = _mm_shuffle_epi32(z3, 0xaa); - z3 = _mm_shuffle_epi32(z3, 0xff); - /* no z9 -> second half of the nonce, will fill later */ - orig0 = z0; - orig1 = z1; - orig2 = z2; - orig3 = z3; - orig4 = z4; - orig5 = z5; - orig6 = z6; - orig7 = z7; - orig10 = z10; - orig11 = z11; - orig12 = z12; - orig13 = z13; - orig14 = z14; - orig15 = z15; - - while (bytes >= 256) { - /* vector implementation for z8 and z9 */ - /* not sure if it helps for only 4 blocks */ - const __m128i addv8 = _mm_set_epi64x(1, 0); - const __m128i addv9 = _mm_set_epi64x(3, 2); - __m128i t8, t9; - uint64_t in89; - - in8 = x[8]; - in9 = x[13]; - in89 = ((uint64_t) in8) | (((uint64_t) in9) << 32); - t8 = _mm_set1_epi64x(in89); - t9 = _mm_set1_epi64x(in89); - - z8 = _mm_add_epi64(addv8, t8); - z9 = _mm_add_epi64(addv9, t9); - - t8 = _mm_unpacklo_epi32(z8, z9); - t9 = _mm_unpackhi_epi32(z8, z9); - - z8 = _mm_unpacklo_epi32(t8, t9); - z9 = _mm_unpackhi_epi32(t8, t9); - - orig8 = z8; - orig9 = z9; - - in89 += 4; - - x[8] = in89 & 0xFFFFFFFF; - x[13] = (in89 >> 32) & 0xFFFFFFFF; - - z5 = orig5; - z10 = orig10; - z15 = orig15; - z14 = orig14; - z3 = orig3; - z6 = orig6; - z11 = orig11; - z1 = orig1; - - z7 = orig7; - z13 = orig13; - z2 = orig2; - z9 = orig9; - z0 = orig0; - z12 = orig12; - z4 = orig4; - z8 = orig8; - - for (i = 0; i < ROUNDS; i += 2) { - /* the inner loop is a direct translation (regexp search/replace) - * from the amd64-xmm6 ASM */ - __m128i r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, - r14, r15; - - y4 = z12; - y4 = _mm_add_epi32(y4, z0); - r4 = y4; - y4 = _mm_slli_epi32(y4, 7); - z4 = _mm_xor_si128(z4, y4); - r4 = _mm_srli_epi32(r4, 25); - z4 = _mm_xor_si128(z4, r4); - - y9 = z1; - y9 = _mm_add_epi32(y9, z5); - r9 = y9; - y9 = _mm_slli_epi32(y9, 7); - z9 = _mm_xor_si128(z9, y9); - r9 = _mm_srli_epi32(r9, 25); - z9 = _mm_xor_si128(z9, r9); - - y8 = z0; - y8 = _mm_add_epi32(y8, z4); - r8 = y8; - y8 = _mm_slli_epi32(y8, 9); - z8 = _mm_xor_si128(z8, y8); - r8 = _mm_srli_epi32(r8, 23); - z8 = _mm_xor_si128(z8, r8); - - y13 = z5; - y13 = _mm_add_epi32(y13, z9); - r13 = y13; - y13 = _mm_slli_epi32(y13, 9); - z13 = _mm_xor_si128(z13, y13); - r13 = _mm_srli_epi32(r13, 23); - z13 = _mm_xor_si128(z13, r13); - - y12 = z4; - y12 = _mm_add_epi32(y12, z8); - r12 = y12; - y12 = _mm_slli_epi32(y12, 13); - z12 = _mm_xor_si128(z12, y12); - r12 = _mm_srli_epi32(r12, 19); - z12 = _mm_xor_si128(z12, r12); - - y1 = z9; - y1 = _mm_add_epi32(y1, z13); - r1 = y1; - y1 = _mm_slli_epi32(y1, 13); - z1 = _mm_xor_si128(z1, y1); - r1 = _mm_srli_epi32(r1, 19); - z1 = _mm_xor_si128(z1, r1); - - y0 = z8; - y0 = _mm_add_epi32(y0, z12); - r0 = y0; - y0 = _mm_slli_epi32(y0, 18); - z0 = _mm_xor_si128(z0, y0); - r0 = _mm_srli_epi32(r0, 14); - z0 = _mm_xor_si128(z0, r0); - - y5 = z13; - y5 = _mm_add_epi32(y5, z1); - r5 = y5; - y5 = _mm_slli_epi32(y5, 18); - z5 = _mm_xor_si128(z5, y5); - r5 = _mm_srli_epi32(r5, 14); - z5 = _mm_xor_si128(z5, r5); - - y14 = z6; - y14 = _mm_add_epi32(y14, z10); - r14 = y14; - y14 = _mm_slli_epi32(y14, 7); - z14 = _mm_xor_si128(z14, y14); - r14 = _mm_srli_epi32(r14, 25); - z14 = _mm_xor_si128(z14, r14); - - y3 = z11; - y3 = _mm_add_epi32(y3, z15); - r3 = y3; - y3 = _mm_slli_epi32(y3, 7); - z3 = _mm_xor_si128(z3, y3); - r3 = _mm_srli_epi32(r3, 25); - z3 = _mm_xor_si128(z3, r3); - - y2 = z10; - y2 = _mm_add_epi32(y2, z14); - r2 = y2; - y2 = _mm_slli_epi32(y2, 9); - z2 = _mm_xor_si128(z2, y2); - r2 = _mm_srli_epi32(r2, 23); - z2 = _mm_xor_si128(z2, r2); - - y7 = z15; - y7 = _mm_add_epi32(y7, z3); - r7 = y7; - y7 = _mm_slli_epi32(y7, 9); - z7 = _mm_xor_si128(z7, y7); - r7 = _mm_srli_epi32(r7, 23); - z7 = _mm_xor_si128(z7, r7); - - y6 = z14; - y6 = _mm_add_epi32(y6, z2); - r6 = y6; - y6 = _mm_slli_epi32(y6, 13); - z6 = _mm_xor_si128(z6, y6); - r6 = _mm_srli_epi32(r6, 19); - z6 = _mm_xor_si128(z6, r6); - - y11 = z3; - y11 = _mm_add_epi32(y11, z7); - r11 = y11; - y11 = _mm_slli_epi32(y11, 13); - z11 = _mm_xor_si128(z11, y11); - r11 = _mm_srli_epi32(r11, 19); - z11 = _mm_xor_si128(z11, r11); - - y10 = z2; - y10 = _mm_add_epi32(y10, z6); - r10 = y10; - y10 = _mm_slli_epi32(y10, 18); - z10 = _mm_xor_si128(z10, y10); - r10 = _mm_srli_epi32(r10, 14); - z10 = _mm_xor_si128(z10, r10); - - y1 = z3; - y1 = _mm_add_epi32(y1, z0); - r1 = y1; - y1 = _mm_slli_epi32(y1, 7); - z1 = _mm_xor_si128(z1, y1); - r1 = _mm_srli_epi32(r1, 25); - z1 = _mm_xor_si128(z1, r1); - - y15 = z7; - y15 = _mm_add_epi32(y15, z11); - r15 = y15; - y15 = _mm_slli_epi32(y15, 18); - z15 = _mm_xor_si128(z15, y15); - r15 = _mm_srli_epi32(r15, 14); - z15 = _mm_xor_si128(z15, r15); - - y6 = z4; - y6 = _mm_add_epi32(y6, z5); - r6 = y6; - y6 = _mm_slli_epi32(y6, 7); - z6 = _mm_xor_si128(z6, y6); - r6 = _mm_srli_epi32(r6, 25); - z6 = _mm_xor_si128(z6, r6); - - y2 = z0; - y2 = _mm_add_epi32(y2, z1); - r2 = y2; - y2 = _mm_slli_epi32(y2, 9); - z2 = _mm_xor_si128(z2, y2); - r2 = _mm_srli_epi32(r2, 23); - z2 = _mm_xor_si128(z2, r2); - - y7 = z5; - y7 = _mm_add_epi32(y7, z6); - r7 = y7; - y7 = _mm_slli_epi32(y7, 9); - z7 = _mm_xor_si128(z7, y7); - r7 = _mm_srli_epi32(r7, 23); - z7 = _mm_xor_si128(z7, r7); - - y3 = z1; - y3 = _mm_add_epi32(y3, z2); - r3 = y3; - y3 = _mm_slli_epi32(y3, 13); - z3 = _mm_xor_si128(z3, y3); - r3 = _mm_srli_epi32(r3, 19); - z3 = _mm_xor_si128(z3, r3); - - y4 = z6; - y4 = _mm_add_epi32(y4, z7); - r4 = y4; - y4 = _mm_slli_epi32(y4, 13); - z4 = _mm_xor_si128(z4, y4); - r4 = _mm_srli_epi32(r4, 19); - z4 = _mm_xor_si128(z4, r4); - - y0 = z2; - y0 = _mm_add_epi32(y0, z3); - r0 = y0; - y0 = _mm_slli_epi32(y0, 18); - z0 = _mm_xor_si128(z0, y0); - r0 = _mm_srli_epi32(r0, 14); - z0 = _mm_xor_si128(z0, r0); - - y5 = z7; - y5 = _mm_add_epi32(y5, z4); - r5 = y5; - y5 = _mm_slli_epi32(y5, 18); - z5 = _mm_xor_si128(z5, y5); - r5 = _mm_srli_epi32(r5, 14); - z5 = _mm_xor_si128(z5, r5); - - y11 = z9; - y11 = _mm_add_epi32(y11, z10); - r11 = y11; - y11 = _mm_slli_epi32(y11, 7); - z11 = _mm_xor_si128(z11, y11); - r11 = _mm_srli_epi32(r11, 25); - z11 = _mm_xor_si128(z11, r11); - - y12 = z14; - y12 = _mm_add_epi32(y12, z15); - r12 = y12; - y12 = _mm_slli_epi32(y12, 7); - z12 = _mm_xor_si128(z12, y12); - r12 = _mm_srli_epi32(r12, 25); - z12 = _mm_xor_si128(z12, r12); - - y8 = z10; - y8 = _mm_add_epi32(y8, z11); - r8 = y8; - y8 = _mm_slli_epi32(y8, 9); - z8 = _mm_xor_si128(z8, y8); - r8 = _mm_srli_epi32(r8, 23); - z8 = _mm_xor_si128(z8, r8); - - y13 = z15; - y13 = _mm_add_epi32(y13, z12); - r13 = y13; - y13 = _mm_slli_epi32(y13, 9); - z13 = _mm_xor_si128(z13, y13); - r13 = _mm_srli_epi32(r13, 23); - z13 = _mm_xor_si128(z13, r13); - - y9 = z11; - y9 = _mm_add_epi32(y9, z8); - r9 = y9; - y9 = _mm_slli_epi32(y9, 13); - z9 = _mm_xor_si128(z9, y9); - r9 = _mm_srli_epi32(r9, 19); - z9 = _mm_xor_si128(z9, r9); - - y14 = z12; - y14 = _mm_add_epi32(y14, z13); - r14 = y14; - y14 = _mm_slli_epi32(y14, 13); - z14 = _mm_xor_si128(z14, y14); - r14 = _mm_srli_epi32(r14, 19); - z14 = _mm_xor_si128(z14, r14); - - y10 = z8; - y10 = _mm_add_epi32(y10, z9); - r10 = y10; - y10 = _mm_slli_epi32(y10, 18); - z10 = _mm_xor_si128(z10, y10); - r10 = _mm_srli_epi32(r10, 14); - z10 = _mm_xor_si128(z10, r10); - - y15 = z13; - y15 = _mm_add_epi32(y15, z14); - r15 = y15; - y15 = _mm_slli_epi32(y15, 18); - z15 = _mm_xor_si128(z15, y15); - r15 = _mm_srli_epi32(r15, 14); - z15 = _mm_xor_si128(z15, r15); - } - -/* store data ; this macro replicates the original amd64-xmm6 code */ -#define ONEQUAD_SHUFFLE(A, B, C, D) \ - z##A = _mm_add_epi32(z##A, orig##A); \ - z##B = _mm_add_epi32(z##B, orig##B); \ - z##C = _mm_add_epi32(z##C, orig##C); \ - z##D = _mm_add_epi32(z##D, orig##D); \ - in##A = _mm_cvtsi128_si32(z##A); \ - in##B = _mm_cvtsi128_si32(z##B); \ - in##C = _mm_cvtsi128_si32(z##C); \ - in##D = _mm_cvtsi128_si32(z##D); \ - z##A = _mm_shuffle_epi32(z##A, 0x39); \ - z##B = _mm_shuffle_epi32(z##B, 0x39); \ - z##C = _mm_shuffle_epi32(z##C, 0x39); \ - z##D = _mm_shuffle_epi32(z##D, 0x39); \ - \ - in##A ^= *(uint32_t *) (m + 0); \ - in##B ^= *(uint32_t *) (m + 4); \ - in##C ^= *(uint32_t *) (m + 8); \ - in##D ^= *(uint32_t *) (m + 12); \ - \ - *(uint32_t *) (c + 0) = in##A; \ - *(uint32_t *) (c + 4) = in##B; \ - *(uint32_t *) (c + 8) = in##C; \ - *(uint32_t *) (c + 12) = in##D; \ - \ - in##A = _mm_cvtsi128_si32(z##A); \ - in##B = _mm_cvtsi128_si32(z##B); \ - in##C = _mm_cvtsi128_si32(z##C); \ - in##D = _mm_cvtsi128_si32(z##D); \ - z##A = _mm_shuffle_epi32(z##A, 0x39); \ - z##B = _mm_shuffle_epi32(z##B, 0x39); \ - z##C = _mm_shuffle_epi32(z##C, 0x39); \ - z##D = _mm_shuffle_epi32(z##D, 0x39); \ - \ - in##A ^= *(uint32_t *) (m + 64); \ - in##B ^= *(uint32_t *) (m + 68); \ - in##C ^= *(uint32_t *) (m + 72); \ - in##D ^= *(uint32_t *) (m + 76); \ - *(uint32_t *) (c + 64) = in##A; \ - *(uint32_t *) (c + 68) = in##B; \ - *(uint32_t *) (c + 72) = in##C; \ - *(uint32_t *) (c + 76) = in##D; \ - \ - in##A = _mm_cvtsi128_si32(z##A); \ - in##B = _mm_cvtsi128_si32(z##B); \ - in##C = _mm_cvtsi128_si32(z##C); \ - in##D = _mm_cvtsi128_si32(z##D); \ - z##A = _mm_shuffle_epi32(z##A, 0x39); \ - z##B = _mm_shuffle_epi32(z##B, 0x39); \ - z##C = _mm_shuffle_epi32(z##C, 0x39); \ - z##D = _mm_shuffle_epi32(z##D, 0x39); \ - \ - in##A ^= *(uint32_t *) (m + 128); \ - in##B ^= *(uint32_t *) (m + 132); \ - in##C ^= *(uint32_t *) (m + 136); \ - in##D ^= *(uint32_t *) (m + 140); \ - *(uint32_t *) (c + 128) = in##A; \ - *(uint32_t *) (c + 132) = in##B; \ - *(uint32_t *) (c + 136) = in##C; \ - *(uint32_t *) (c + 140) = in##D; \ - \ - in##A = _mm_cvtsi128_si32(z##A); \ - in##B = _mm_cvtsi128_si32(z##B); \ - in##C = _mm_cvtsi128_si32(z##C); \ - in##D = _mm_cvtsi128_si32(z##D); \ - \ - in##A ^= *(uint32_t *) (m + 192); \ - in##B ^= *(uint32_t *) (m + 196); \ - in##C ^= *(uint32_t *) (m + 200); \ - in##D ^= *(uint32_t *) (m + 204); \ - *(uint32_t *) (c + 192) = in##A; \ - *(uint32_t *) (c + 196) = in##B; \ - *(uint32_t *) (c + 200) = in##C; \ - *(uint32_t *) (c + 204) = in##D - -/* store data ; this macro replaces shuffle+mov by a direct extract; not much - * difference */ -#define ONEQUAD_EXTRACT(A, B, C, D) \ - z##A = _mm_add_epi32(z##A, orig##A); \ - z##B = _mm_add_epi32(z##B, orig##B); \ - z##C = _mm_add_epi32(z##C, orig##C); \ - z##D = _mm_add_epi32(z##D, orig##D); \ - in##A = _mm_cvtsi128_si32(z##A); \ - in##B = _mm_cvtsi128_si32(z##B); \ - in##C = _mm_cvtsi128_si32(z##C); \ - in##D = _mm_cvtsi128_si32(z##D); \ - in##A ^= *(uint32_t *) (m + 0); \ - in##B ^= *(uint32_t *) (m + 4); \ - in##C ^= *(uint32_t *) (m + 8); \ - in##D ^= *(uint32_t *) (m + 12); \ - *(uint32_t *) (c + 0) = in##A; \ - *(uint32_t *) (c + 4) = in##B; \ - *(uint32_t *) (c + 8) = in##C; \ - *(uint32_t *) (c + 12) = in##D; \ - \ - in##A = _mm_extract_epi32(z##A, 1); \ - in##B = _mm_extract_epi32(z##B, 1); \ - in##C = _mm_extract_epi32(z##C, 1); \ - in##D = _mm_extract_epi32(z##D, 1); \ - \ - in##A ^= *(uint32_t *) (m + 64); \ - in##B ^= *(uint32_t *) (m + 68); \ - in##C ^= *(uint32_t *) (m + 72); \ - in##D ^= *(uint32_t *) (m + 76); \ - *(uint32_t *) (c + 64) = in##A; \ - *(uint32_t *) (c + 68) = in##B; \ - *(uint32_t *) (c + 72) = in##C; \ - *(uint32_t *) (c + 76) = in##D; \ - \ - in##A = _mm_extract_epi32(z##A, 2); \ - in##B = _mm_extract_epi32(z##B, 2); \ - in##C = _mm_extract_epi32(z##C, 2); \ - in##D = _mm_extract_epi32(z##D, 2); \ - \ - in##A ^= *(uint32_t *) (m + 128); \ - in##B ^= *(uint32_t *) (m + 132); \ - in##C ^= *(uint32_t *) (m + 136); \ - in##D ^= *(uint32_t *) (m + 140); \ - *(uint32_t *) (c + 128) = in##A; \ - *(uint32_t *) (c + 132) = in##B; \ - *(uint32_t *) (c + 136) = in##C; \ - *(uint32_t *) (c + 140) = in##D; \ - \ - in##A = _mm_extract_epi32(z##A, 3); \ - in##B = _mm_extract_epi32(z##B, 3); \ - in##C = _mm_extract_epi32(z##C, 3); \ - in##D = _mm_extract_epi32(z##D, 3); \ - \ - in##A ^= *(uint32_t *) (m + 192); \ - in##B ^= *(uint32_t *) (m + 196); \ - in##C ^= *(uint32_t *) (m + 200); \ - in##D ^= *(uint32_t *) (m + 204); \ - *(uint32_t *) (c + 192) = in##A; \ - *(uint32_t *) (c + 196) = in##B; \ - *(uint32_t *) (c + 200) = in##C; \ - *(uint32_t *) (c + 204) = in##D - -/* store data ; this macro first transpose data in-registers, and then store - * them in memory. much faster with icc. */ -#define ONEQUAD_TRANSPOSE(A, B, C, D) \ - z##A = _mm_add_epi32(z##A, orig##A); \ - z##B = _mm_add_epi32(z##B, orig##B); \ - z##C = _mm_add_epi32(z##C, orig##C); \ - z##D = _mm_add_epi32(z##D, orig##D); \ - y##A = _mm_unpacklo_epi32(z##A, z##B); \ - y##B = _mm_unpacklo_epi32(z##C, z##D); \ - y##C = _mm_unpackhi_epi32(z##A, z##B); \ - y##D = _mm_unpackhi_epi32(z##C, z##D); \ - z##A = _mm_unpacklo_epi64(y##A, y##B); \ - z##B = _mm_unpackhi_epi64(y##A, y##B); \ - z##C = _mm_unpacklo_epi64(y##C, y##D); \ - z##D = _mm_unpackhi_epi64(y##C, y##D); \ - y##A = _mm_xor_si128(z##A, _mm_loadu_si128((__m128i *) (m + 0))); \ - _mm_storeu_si128((__m128i *) (c + 0), y##A); \ - y##B = _mm_xor_si128(z##B, _mm_loadu_si128((__m128i *) (m + 64))); \ - _mm_storeu_si128((__m128i *) (c + 64), y##B); \ - y##C = _mm_xor_si128(z##C, _mm_loadu_si128((__m128i *) (m + 128))); \ - _mm_storeu_si128((__m128i *) (c + 128), y##C); \ - y##D = _mm_xor_si128(z##D, _mm_loadu_si128((__m128i *) (m + 192))); \ - _mm_storeu_si128((__m128i *) (c + 192), y##D) - -#define ONEQUAD(A, B, C, D) ONEQUAD_TRANSPOSE(A, B, C, D) - - ONEQUAD(0, 1, 2, 3); - m += 16; - c += 16; - ONEQUAD(4, 5, 6, 7); - m += 16; - c += 16; - ONEQUAD(8, 9, 10, 11); - m += 16; - c += 16; - ONEQUAD(12, 13, 14, 15); - m -= 48; - c -= 48; - -#undef ONEQUAD -#undef ONEQUAD_TRANSPOSE -#undef ONEQUAD_EXTRACT -#undef ONEQUAD_SHUFFLE - - bytes -= 256; - c += 256; - m += 256; - } -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u8.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u8.h deleted file mode 100755 index 4be5bc4e1..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/u8.h +++ /dev/null @@ -1,476 +0,0 @@ -if (bytes >= 512) { - __m256i y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14, - y15; - - /* the naive way seems as fast (if not a bit faster) than the vector way */ - __m256i z0 = _mm256_set1_epi32(x[0]); - __m256i z5 = _mm256_set1_epi32(x[1]); - __m256i z10 = _mm256_set1_epi32(x[2]); - __m256i z15 = _mm256_set1_epi32(x[3]); - __m256i z12 = _mm256_set1_epi32(x[4]); - __m256i z1 = _mm256_set1_epi32(x[5]); - __m256i z6 = _mm256_set1_epi32(x[6]); - __m256i z11 = _mm256_set1_epi32(x[7]); - __m256i z8; /* useless */ - __m256i z13 = _mm256_set1_epi32(x[9]); - __m256i z2 = _mm256_set1_epi32(x[10]); - __m256i z7 = _mm256_set1_epi32(x[11]); - __m256i z4 = _mm256_set1_epi32(x[12]); - __m256i z9; /* useless */ - __m256i z14 = _mm256_set1_epi32(x[14]); - __m256i z3 = _mm256_set1_epi32(x[15]); - - __m256i orig0 = z0; - __m256i orig1 = z1; - __m256i orig2 = z2; - __m256i orig3 = z3; - __m256i orig4 = z4; - __m256i orig5 = z5; - __m256i orig6 = z6; - __m256i orig7 = z7; - __m256i orig8; - __m256i orig9; - __m256i orig10 = z10; - __m256i orig11 = z11; - __m256i orig12 = z12; - __m256i orig13 = z13; - __m256i orig14 = z14; - __m256i orig15 = z15; - - uint32_t in8; - uint32_t in9; - int i; - - while (bytes >= 512) { - /* vector implementation for z8 and z9 */ - /* faster than the naive version for 8 blocks */ - const __m256i addv8 = _mm256_set_epi64x(3, 2, 1, 0); - const __m256i addv9 = _mm256_set_epi64x(7, 6, 5, 4); - const __m256i permute = _mm256_set_epi32(7, 6, 3, 2, 5, 4, 1, 0); - - __m256i t8, t9; - uint64_t in89; - - in8 = x[8]; - in9 = x[13]; /* see arrays above for the address translation */ - in89 = ((uint64_t) in8) | (((uint64_t) in9) << 32); - - z8 = z9 = _mm256_broadcastq_epi64(_mm_cvtsi64_si128(in89)); - - t8 = _mm256_add_epi64(addv8, z8); - t9 = _mm256_add_epi64(addv9, z9); - - z8 = _mm256_unpacklo_epi32(t8, t9); - z9 = _mm256_unpackhi_epi32(t8, t9); - - t8 = _mm256_unpacklo_epi32(z8, z9); - t9 = _mm256_unpackhi_epi32(z8, z9); - - /* required because unpack* are intra-lane */ - z8 = _mm256_permutevar8x32_epi32(t8, permute); - z9 = _mm256_permutevar8x32_epi32(t9, permute); - - orig8 = z8; - orig9 = z9; - - in89 += 8; - - x[8] = in89 & 0xFFFFFFFF; - x[13] = (in89 >> 32) & 0xFFFFFFFF; - - z5 = orig5; - z10 = orig10; - z15 = orig15; - z14 = orig14; - z3 = orig3; - z6 = orig6; - z11 = orig11; - z1 = orig1; - - z7 = orig7; - z13 = orig13; - z2 = orig2; - z9 = orig9; - z0 = orig0; - z12 = orig12; - z4 = orig4; - z8 = orig8; - - for (i = 0; i < 20; i += 2) { - /* the inner loop is a direct translation (regexp search/replace) - * from the amd64-xmm6 ASM */ - __m256i r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, - r14, r15; - - y4 = z12; - y4 = _mm256_add_epi32(y4, z0); - r4 = y4; - y4 = _mm256_slli_epi32(y4, 7); - z4 = _mm256_xor_si256(z4, y4); - r4 = _mm256_srli_epi32(r4, 25); - z4 = _mm256_xor_si256(z4, r4); - - y9 = z1; - y9 = _mm256_add_epi32(y9, z5); - r9 = y9; - y9 = _mm256_slli_epi32(y9, 7); - z9 = _mm256_xor_si256(z9, y9); - r9 = _mm256_srli_epi32(r9, 25); - z9 = _mm256_xor_si256(z9, r9); - - y8 = z0; - y8 = _mm256_add_epi32(y8, z4); - r8 = y8; - y8 = _mm256_slli_epi32(y8, 9); - z8 = _mm256_xor_si256(z8, y8); - r8 = _mm256_srli_epi32(r8, 23); - z8 = _mm256_xor_si256(z8, r8); - - y13 = z5; - y13 = _mm256_add_epi32(y13, z9); - r13 = y13; - y13 = _mm256_slli_epi32(y13, 9); - z13 = _mm256_xor_si256(z13, y13); - r13 = _mm256_srli_epi32(r13, 23); - z13 = _mm256_xor_si256(z13, r13); - - y12 = z4; - y12 = _mm256_add_epi32(y12, z8); - r12 = y12; - y12 = _mm256_slli_epi32(y12, 13); - z12 = _mm256_xor_si256(z12, y12); - r12 = _mm256_srli_epi32(r12, 19); - z12 = _mm256_xor_si256(z12, r12); - - y1 = z9; - y1 = _mm256_add_epi32(y1, z13); - r1 = y1; - y1 = _mm256_slli_epi32(y1, 13); - z1 = _mm256_xor_si256(z1, y1); - r1 = _mm256_srli_epi32(r1, 19); - z1 = _mm256_xor_si256(z1, r1); - - y0 = z8; - y0 = _mm256_add_epi32(y0, z12); - r0 = y0; - y0 = _mm256_slli_epi32(y0, 18); - z0 = _mm256_xor_si256(z0, y0); - r0 = _mm256_srli_epi32(r0, 14); - z0 = _mm256_xor_si256(z0, r0); - - y5 = z13; - y5 = _mm256_add_epi32(y5, z1); - r5 = y5; - y5 = _mm256_slli_epi32(y5, 18); - z5 = _mm256_xor_si256(z5, y5); - r5 = _mm256_srli_epi32(r5, 14); - z5 = _mm256_xor_si256(z5, r5); - - y14 = z6; - y14 = _mm256_add_epi32(y14, z10); - r14 = y14; - y14 = _mm256_slli_epi32(y14, 7); - z14 = _mm256_xor_si256(z14, y14); - r14 = _mm256_srli_epi32(r14, 25); - z14 = _mm256_xor_si256(z14, r14); - - y3 = z11; - y3 = _mm256_add_epi32(y3, z15); - r3 = y3; - y3 = _mm256_slli_epi32(y3, 7); - z3 = _mm256_xor_si256(z3, y3); - r3 = _mm256_srli_epi32(r3, 25); - z3 = _mm256_xor_si256(z3, r3); - - y2 = z10; - y2 = _mm256_add_epi32(y2, z14); - r2 = y2; - y2 = _mm256_slli_epi32(y2, 9); - z2 = _mm256_xor_si256(z2, y2); - r2 = _mm256_srli_epi32(r2, 23); - z2 = _mm256_xor_si256(z2, r2); - - y7 = z15; - y7 = _mm256_add_epi32(y7, z3); - r7 = y7; - y7 = _mm256_slli_epi32(y7, 9); - z7 = _mm256_xor_si256(z7, y7); - r7 = _mm256_srli_epi32(r7, 23); - z7 = _mm256_xor_si256(z7, r7); - - y6 = z14; - y6 = _mm256_add_epi32(y6, z2); - r6 = y6; - y6 = _mm256_slli_epi32(y6, 13); - z6 = _mm256_xor_si256(z6, y6); - r6 = _mm256_srli_epi32(r6, 19); - z6 = _mm256_xor_si256(z6, r6); - - y11 = z3; - y11 = _mm256_add_epi32(y11, z7); - r11 = y11; - y11 = _mm256_slli_epi32(y11, 13); - z11 = _mm256_xor_si256(z11, y11); - r11 = _mm256_srli_epi32(r11, 19); - z11 = _mm256_xor_si256(z11, r11); - - y10 = z2; - y10 = _mm256_add_epi32(y10, z6); - r10 = y10; - y10 = _mm256_slli_epi32(y10, 18); - z10 = _mm256_xor_si256(z10, y10); - r10 = _mm256_srli_epi32(r10, 14); - z10 = _mm256_xor_si256(z10, r10); - - y1 = z3; - y1 = _mm256_add_epi32(y1, z0); - r1 = y1; - y1 = _mm256_slli_epi32(y1, 7); - z1 = _mm256_xor_si256(z1, y1); - r1 = _mm256_srli_epi32(r1, 25); - z1 = _mm256_xor_si256(z1, r1); - - y15 = z7; - y15 = _mm256_add_epi32(y15, z11); - r15 = y15; - y15 = _mm256_slli_epi32(y15, 18); - z15 = _mm256_xor_si256(z15, y15); - r15 = _mm256_srli_epi32(r15, 14); - z15 = _mm256_xor_si256(z15, r15); - - y6 = z4; - y6 = _mm256_add_epi32(y6, z5); - r6 = y6; - y6 = _mm256_slli_epi32(y6, 7); - z6 = _mm256_xor_si256(z6, y6); - r6 = _mm256_srli_epi32(r6, 25); - z6 = _mm256_xor_si256(z6, r6); - - y2 = z0; - y2 = _mm256_add_epi32(y2, z1); - r2 = y2; - y2 = _mm256_slli_epi32(y2, 9); - z2 = _mm256_xor_si256(z2, y2); - r2 = _mm256_srli_epi32(r2, 23); - z2 = _mm256_xor_si256(z2, r2); - - y7 = z5; - y7 = _mm256_add_epi32(y7, z6); - r7 = y7; - y7 = _mm256_slli_epi32(y7, 9); - z7 = _mm256_xor_si256(z7, y7); - r7 = _mm256_srli_epi32(r7, 23); - z7 = _mm256_xor_si256(z7, r7); - - y3 = z1; - y3 = _mm256_add_epi32(y3, z2); - r3 = y3; - y3 = _mm256_slli_epi32(y3, 13); - z3 = _mm256_xor_si256(z3, y3); - r3 = _mm256_srli_epi32(r3, 19); - z3 = _mm256_xor_si256(z3, r3); - - y4 = z6; - y4 = _mm256_add_epi32(y4, z7); - r4 = y4; - y4 = _mm256_slli_epi32(y4, 13); - z4 = _mm256_xor_si256(z4, y4); - r4 = _mm256_srli_epi32(r4, 19); - z4 = _mm256_xor_si256(z4, r4); - - y0 = z2; - y0 = _mm256_add_epi32(y0, z3); - r0 = y0; - y0 = _mm256_slli_epi32(y0, 18); - z0 = _mm256_xor_si256(z0, y0); - r0 = _mm256_srli_epi32(r0, 14); - z0 = _mm256_xor_si256(z0, r0); - - y5 = z7; - y5 = _mm256_add_epi32(y5, z4); - r5 = y5; - y5 = _mm256_slli_epi32(y5, 18); - z5 = _mm256_xor_si256(z5, y5); - r5 = _mm256_srli_epi32(r5, 14); - z5 = _mm256_xor_si256(z5, r5); - - y11 = z9; - y11 = _mm256_add_epi32(y11, z10); - r11 = y11; - y11 = _mm256_slli_epi32(y11, 7); - z11 = _mm256_xor_si256(z11, y11); - r11 = _mm256_srli_epi32(r11, 25); - z11 = _mm256_xor_si256(z11, r11); - - y12 = z14; - y12 = _mm256_add_epi32(y12, z15); - r12 = y12; - y12 = _mm256_slli_epi32(y12, 7); - z12 = _mm256_xor_si256(z12, y12); - r12 = _mm256_srli_epi32(r12, 25); - z12 = _mm256_xor_si256(z12, r12); - - y8 = z10; - y8 = _mm256_add_epi32(y8, z11); - r8 = y8; - y8 = _mm256_slli_epi32(y8, 9); - z8 = _mm256_xor_si256(z8, y8); - r8 = _mm256_srli_epi32(r8, 23); - z8 = _mm256_xor_si256(z8, r8); - - y13 = z15; - y13 = _mm256_add_epi32(y13, z12); - r13 = y13; - y13 = _mm256_slli_epi32(y13, 9); - z13 = _mm256_xor_si256(z13, y13); - r13 = _mm256_srli_epi32(r13, 23); - z13 = _mm256_xor_si256(z13, r13); - - y9 = z11; - y9 = _mm256_add_epi32(y9, z8); - r9 = y9; - y9 = _mm256_slli_epi32(y9, 13); - z9 = _mm256_xor_si256(z9, y9); - r9 = _mm256_srli_epi32(r9, 19); - z9 = _mm256_xor_si256(z9, r9); - - y14 = z12; - y14 = _mm256_add_epi32(y14, z13); - r14 = y14; - y14 = _mm256_slli_epi32(y14, 13); - z14 = _mm256_xor_si256(z14, y14); - r14 = _mm256_srli_epi32(r14, 19); - z14 = _mm256_xor_si256(z14, r14); - - y10 = z8; - y10 = _mm256_add_epi32(y10, z9); - r10 = y10; - y10 = _mm256_slli_epi32(y10, 18); - z10 = _mm256_xor_si256(z10, y10); - r10 = _mm256_srli_epi32(r10, 14); - z10 = _mm256_xor_si256(z10, r10); - - y15 = z13; - y15 = _mm256_add_epi32(y15, z14); - r15 = y15; - y15 = _mm256_slli_epi32(y15, 18); - z15 = _mm256_xor_si256(z15, y15); - r15 = _mm256_srli_epi32(r15, 14); - z15 = _mm256_xor_si256(z15, r15); - } - -/* store data ; this macro first transpose data in-registers, and then store - * them in memory. much faster with icc. */ -#define ONEQUAD_TRANSPOSE(A, B, C, D) \ - { \ - __m128i t0, t1, t2, t3; \ - z##A = _mm256_add_epi32(z##A, orig##A); \ - z##B = _mm256_add_epi32(z##B, orig##B); \ - z##C = _mm256_add_epi32(z##C, orig##C); \ - z##D = _mm256_add_epi32(z##D, orig##D); \ - y##A = _mm256_unpacklo_epi32(z##A, z##B); \ - y##B = _mm256_unpacklo_epi32(z##C, z##D); \ - y##C = _mm256_unpackhi_epi32(z##A, z##B); \ - y##D = _mm256_unpackhi_epi32(z##C, z##D); \ - z##A = _mm256_unpacklo_epi64(y##A, y##B); \ - z##B = _mm256_unpackhi_epi64(y##A, y##B); \ - z##C = _mm256_unpacklo_epi64(y##C, y##D); \ - z##D = _mm256_unpackhi_epi64(y##C, y##D); \ - t0 = _mm_xor_si128(_mm256_extracti128_si256(z##A, 0), \ - _mm_loadu_si128((__m128i*) (m + 0))); \ - _mm_storeu_si128((__m128i*) (c + 0), t0); \ - t1 = _mm_xor_si128(_mm256_extracti128_si256(z##B, 0), \ - _mm_loadu_si128((__m128i*) (m + 64))); \ - _mm_storeu_si128((__m128i*) (c + 64), t1); \ - t2 = _mm_xor_si128(_mm256_extracti128_si256(z##C, 0), \ - _mm_loadu_si128((__m128i*) (m + 128))); \ - _mm_storeu_si128((__m128i*) (c + 128), t2); \ - t3 = _mm_xor_si128(_mm256_extracti128_si256(z##D, 0), \ - _mm_loadu_si128((__m128i*) (m + 192))); \ - _mm_storeu_si128((__m128i*) (c + 192), t3); \ - t0 = _mm_xor_si128(_mm256_extracti128_si256(z##A, 1), \ - _mm_loadu_si128((__m128i*) (m + 256))); \ - _mm_storeu_si128((__m128i*) (c + 256), t0); \ - t1 = _mm_xor_si128(_mm256_extracti128_si256(z##B, 1), \ - _mm_loadu_si128((__m128i*) (m + 320))); \ - _mm_storeu_si128((__m128i*) (c + 320), t1); \ - t2 = _mm_xor_si128(_mm256_extracti128_si256(z##C, 1), \ - _mm_loadu_si128((__m128i*) (m + 384))); \ - _mm_storeu_si128((__m128i*) (c + 384), t2); \ - t3 = _mm_xor_si128(_mm256_extracti128_si256(z##D, 1), \ - _mm_loadu_si128((__m128i*) (m + 448))); \ - _mm_storeu_si128((__m128i*) (c + 448), t3); \ - } - -#define ONEQUAD(A, B, C, D) ONEQUAD_TRANSPOSE(A, B, C, D) - -#define ONEQUAD_UNPCK(A, B, C, D) \ - { \ - z##A = _mm256_add_epi32(z##A, orig##A); \ - z##B = _mm256_add_epi32(z##B, orig##B); \ - z##C = _mm256_add_epi32(z##C, orig##C); \ - z##D = _mm256_add_epi32(z##D, orig##D); \ - y##A = _mm256_unpacklo_epi32(z##A, z##B); \ - y##B = _mm256_unpacklo_epi32(z##C, z##D); \ - y##C = _mm256_unpackhi_epi32(z##A, z##B); \ - y##D = _mm256_unpackhi_epi32(z##C, z##D); \ - z##A = _mm256_unpacklo_epi64(y##A, y##B); \ - z##B = _mm256_unpackhi_epi64(y##A, y##B); \ - z##C = _mm256_unpacklo_epi64(y##C, y##D); \ - z##D = _mm256_unpackhi_epi64(y##C, y##D); \ - } - -#define ONEOCTO(A, B, C, D, A2, B2, C2, D2) \ - { \ - ONEQUAD_UNPCK(A, B, C, D); \ - ONEQUAD_UNPCK(A2, B2, C2, D2); \ - y##A = _mm256_permute2x128_si256(z##A, z##A2, 0x20); \ - y##A2 = _mm256_permute2x128_si256(z##A, z##A2, 0x31); \ - y##B = _mm256_permute2x128_si256(z##B, z##B2, 0x20); \ - y##B2 = _mm256_permute2x128_si256(z##B, z##B2, 0x31); \ - y##C = _mm256_permute2x128_si256(z##C, z##C2, 0x20); \ - y##C2 = _mm256_permute2x128_si256(z##C, z##C2, 0x31); \ - y##D = _mm256_permute2x128_si256(z##D, z##D2, 0x20); \ - y##D2 = _mm256_permute2x128_si256(z##D, z##D2, 0x31); \ - y##A = _mm256_xor_si256(y##A, _mm256_loadu_si256((__m256i*) (m + 0))); \ - y##B = \ - _mm256_xor_si256(y##B, _mm256_loadu_si256((__m256i*) (m + 64))); \ - y##C = \ - _mm256_xor_si256(y##C, _mm256_loadu_si256((__m256i*) (m + 128))); \ - y##D = \ - _mm256_xor_si256(y##D, _mm256_loadu_si256((__m256i*) (m + 192))); \ - y##A2 = \ - _mm256_xor_si256(y##A2, _mm256_loadu_si256((__m256i*) (m + 256))); \ - y##B2 = \ - _mm256_xor_si256(y##B2, _mm256_loadu_si256((__m256i*) (m + 320))); \ - y##C2 = \ - _mm256_xor_si256(y##C2, _mm256_loadu_si256((__m256i*) (m + 384))); \ - y##D2 = \ - _mm256_xor_si256(y##D2, _mm256_loadu_si256((__m256i*) (m + 448))); \ - _mm256_storeu_si256((__m256i*) (c + 0), y##A); \ - _mm256_storeu_si256((__m256i*) (c + 64), y##B); \ - _mm256_storeu_si256((__m256i*) (c + 128), y##C); \ - _mm256_storeu_si256((__m256i*) (c + 192), y##D); \ - _mm256_storeu_si256((__m256i*) (c + 256), y##A2); \ - _mm256_storeu_si256((__m256i*) (c + 320), y##B2); \ - _mm256_storeu_si256((__m256i*) (c + 384), y##C2); \ - _mm256_storeu_si256((__m256i*) (c + 448), y##D2); \ - } - - ONEOCTO(0, 1, 2, 3, 4, 5, 6, 7); - m += 32; - c += 32; - ONEOCTO(8, 9, 10, 11, 12, 13, 14, 15); - m -= 32; - c -= 32; - -#undef ONEQUAD -#undef ONEQUAD_TRANSPOSE -#undef ONEQUAD_UNPCK -#undef ONEOCTO - - bytes -= 512; - c += 512; - m += 512; - } -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012_ref.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012_ref.c deleted file mode 100755 index bfdfeedba..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa2012/ref/stream_salsa2012_ref.c +++ /dev/null @@ -1,106 +0,0 @@ -/* -version 20140420 -D. J. Bernstein -Public domain. -*/ - -#include - -#include "crypto_core_salsa2012.h" -#include "crypto_stream_salsa2012.h" -#include "utils.h" - -int -crypto_stream_salsa2012(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - unsigned char in[16]; - unsigned char block[64]; - unsigned char kcopy[32]; - unsigned int i; - unsigned int u; - - if (!clen) { - return 0; - } - for (i = 0; i < 32; ++i) { - kcopy[i] = k[i]; - } - for (i = 0; i < 8; ++i) { - in[i] = n[i]; - } - for (i = 8; i < 16; ++i) { - in[i] = 0; - } - while (clen >= 64) { - crypto_core_salsa2012(c, in, kcopy, NULL); - u = 1; - for (i = 8; i < 16; ++i) { - u += (unsigned int)in[i]; - in[i] = u; - u >>= 8; - } - clen -= 64; - c += 64; - } - if (clen) { - crypto_core_salsa2012(block, in, kcopy, NULL); - for (i = 0; i < (unsigned int)clen; ++i) { - c[i] = block[i]; - } - } - sodium_memzero(block, sizeof block); - sodium_memzero(kcopy, sizeof kcopy); - - return 0; -} - -int -crypto_stream_salsa2012_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - unsigned char in[16]; - unsigned char block[64]; - unsigned char kcopy[32]; - unsigned int i; - unsigned int u; - - if (!mlen) { - return 0; - } - for (i = 0; i < 32; ++i) { - kcopy[i] = k[i]; - } - for (i = 0; i < 8; ++i) { - in[i] = n[i]; - } - for (i = 8; i < 16; ++i) { - in[i] = 0; - } - while (mlen >= 64) { - crypto_core_salsa2012(block, in, kcopy, NULL); - for (i = 0; i < 64; ++i) { - c[i] = m[i] ^ block[i]; - } - u = 1; - for (i = 8; i < 16; ++i) { - u += (unsigned int)in[i]; - in[i] = u; - u >>= 8; - } - mlen -= 64; - c += 64; - m += 64; - } - if (mlen) { - crypto_core_salsa2012(block, in, kcopy, NULL); - for (i = 0; i < (unsigned int)mlen; ++i) { - c[i] = m[i] ^ block[i]; - } - } - sodium_memzero(block, sizeof block); - sodium_memzero(kcopy, sizeof kcopy); - - return 0; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa2012/stream_salsa2012.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa2012/stream_salsa2012.c deleted file mode 100755 index d6c01b828..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa2012/stream_salsa2012.c +++ /dev/null @@ -1,20 +0,0 @@ -#include "crypto_stream_salsa2012.h" -#include "randombytes.h" - -size_t -crypto_stream_salsa2012_keybytes(void) -{ - return crypto_stream_salsa2012_KEYBYTES; -} - -size_t -crypto_stream_salsa2012_noncebytes(void) -{ - return crypto_stream_salsa2012_NONCEBYTES; -} - -void -crypto_stream_salsa2012_keygen(unsigned char k[crypto_stream_salsa2012_KEYBYTES]) -{ - randombytes_buf(k, crypto_stream_salsa2012_KEYBYTES); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208_ref.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208_ref.c deleted file mode 100755 index 7ec0c4e78..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa208/ref/stream_salsa208_ref.c +++ /dev/null @@ -1,106 +0,0 @@ -/* -version 20140420 -D. J. Bernstein -Public domain. -*/ - -#include - -#include "crypto_core_salsa208.h" -#include "crypto_stream_salsa208.h" -#include "utils.h" - -int -crypto_stream_salsa208(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - unsigned char in[16]; - unsigned char block[64]; - unsigned char kcopy[32]; - unsigned int i; - unsigned int u; - - if (!clen) { - return 0; - } - for (i = 0; i < 32; ++i) { - kcopy[i] = k[i]; - } - for (i = 0; i < 8; ++i) { - in[i] = n[i]; - } - for (i = 8; i < 16; ++i) { - in[i] = 0; - } - while (clen >= 64) { - crypto_core_salsa208(c, in, kcopy, NULL); - u = 1; - for (i = 8; i < 16; ++i) { - u += (unsigned int)in[i]; - in[i] = u; - u >>= 8; - } - clen -= 64; - c += 64; - } - if (clen) { - crypto_core_salsa208(block, in, kcopy, NULL); - for (i = 0; i < (unsigned int)clen; ++i) { - c[i] = block[i]; - } - } - sodium_memzero(block, sizeof block); - sodium_memzero(kcopy, sizeof kcopy); - - return 0; -} - -int -crypto_stream_salsa208_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - unsigned char in[16]; - unsigned char block[64]; - unsigned char kcopy[32]; - unsigned int i; - unsigned int u; - - if (!mlen) { - return 0; - } - for (i = 0; i < 32; ++i) { - kcopy[i] = k[i]; - } - for (i = 0; i < 8; ++i) { - in[i] = n[i]; - } - for (i = 8; i < 16; ++i) { - in[i] = 0; - } - while (mlen >= 64) { - crypto_core_salsa208(block, in, kcopy, NULL); - for (i = 0; i < 64; ++i) { - c[i] = m[i] ^ block[i]; - } - u = 1; - for (i = 8; i < 16; ++i) { - u += (unsigned int)in[i]; - in[i] = u; - u >>= 8; - } - mlen -= 64; - c += 64; - m += 64; - } - if (mlen) { - crypto_core_salsa208(block, in, kcopy, NULL); - for (i = 0; i < (unsigned int)mlen; ++i) { - c[i] = m[i] ^ block[i]; - } - } - sodium_memzero(block, sizeof block); - sodium_memzero(kcopy, sizeof kcopy); - - return 0; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa208/stream_salsa208.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa208/stream_salsa208.c deleted file mode 100755 index 1a7752af7..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/salsa208/stream_salsa208.c +++ /dev/null @@ -1,20 +0,0 @@ -#include "crypto_stream_salsa208.h" -#include "randombytes.h" - -size_t -crypto_stream_salsa208_keybytes(void) -{ - return crypto_stream_salsa208_KEYBYTES; -} - -size_t -crypto_stream_salsa208_noncebytes(void) -{ - return crypto_stream_salsa208_NONCEBYTES; -} - -void -crypto_stream_salsa208_keygen(unsigned char k[crypto_stream_salsa208_KEYBYTES]) -{ - randombytes_buf(k, crypto_stream_salsa208_KEYBYTES); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/xchacha20/stream_xchacha20.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/xchacha20/stream_xchacha20.c deleted file mode 100755 index ee2345c2d..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/xchacha20/stream_xchacha20.c +++ /dev/null @@ -1,63 +0,0 @@ - -#include - -#include "crypto_core_hchacha20.h" -#include "crypto_stream_chacha20.h" -#include "crypto_stream_xchacha20.h" -#include "private/common.h" -#include "randombytes.h" - -size_t -crypto_stream_xchacha20_keybytes(void) -{ - return crypto_stream_xchacha20_KEYBYTES; -} - -size_t -crypto_stream_xchacha20_noncebytes(void) -{ - return crypto_stream_xchacha20_NONCEBYTES; -} - -int -crypto_stream_xchacha20(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - unsigned char k2[crypto_core_hchacha20_OUTPUTBYTES]; - - crypto_core_hchacha20(k2, n, k, NULL); - COMPILER_ASSERT(crypto_stream_chacha20_KEYBYTES <= sizeof k2); - COMPILER_ASSERT(crypto_stream_chacha20_NONCEBYTES == - crypto_stream_xchacha20_NONCEBYTES - - crypto_core_hchacha20_INPUTBYTES); - - return crypto_stream_chacha20(c, clen, n + crypto_core_hchacha20_INPUTBYTES, - k2); -} - -int -crypto_stream_xchacha20_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - uint64_t ic, const unsigned char *k) -{ - unsigned char k2[crypto_core_hchacha20_OUTPUTBYTES]; - - crypto_core_hchacha20(k2, n, k, NULL); - return crypto_stream_chacha20_xor_ic( - c, m, mlen, n + crypto_core_hchacha20_INPUTBYTES, ic, k2); -} - -int -crypto_stream_xchacha20_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - return crypto_stream_xchacha20_xor_ic(c, m, mlen, n, 0U, k); -} - -void -crypto_stream_xchacha20_keygen( - unsigned char k[crypto_stream_xchacha20_KEYBYTES]) -{ - randombytes_buf(k, crypto_stream_xchacha20_KEYBYTES); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c deleted file mode 100755 index 1405b6991..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c +++ /dev/null @@ -1,60 +0,0 @@ -#include "crypto_core_hsalsa20.h" -#include "crypto_stream_salsa20.h" -#include "crypto_stream_xsalsa20.h" -#include "randombytes.h" -#include "utils.h" - -int -crypto_stream_xsalsa20(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k) -{ - unsigned char subkey[32]; - int ret; - - crypto_core_hsalsa20(subkey, n, k, NULL); - ret = crypto_stream_salsa20(c, clen, n + 16, subkey); - sodium_memzero(subkey, sizeof subkey); - - return ret; -} - -int -crypto_stream_xsalsa20_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - uint64_t ic, const unsigned char *k) -{ - unsigned char subkey[32]; - int ret; - - crypto_core_hsalsa20(subkey, n, k, NULL); - ret = crypto_stream_salsa20_xor_ic(c, m, mlen, n + 16, ic, subkey); - sodium_memzero(subkey, sizeof subkey); - - return ret; -} - -int -crypto_stream_xsalsa20_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k) -{ - return crypto_stream_xsalsa20_xor_ic(c, m, mlen, n, 0ULL, k); -} - -size_t -crypto_stream_xsalsa20_keybytes(void) -{ - return crypto_stream_xsalsa20_KEYBYTES; -} - -size_t -crypto_stream_xsalsa20_noncebytes(void) -{ - return crypto_stream_xsalsa20_NONCEBYTES; -} - -void -crypto_stream_xsalsa20_keygen(unsigned char k[crypto_stream_xsalsa20_KEYBYTES]) -{ - randombytes_buf(k, crypto_stream_xsalsa20_KEYBYTES); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_verify/sodium/verify.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_verify/sodium/verify.c deleted file mode 100755 index f7626cf81..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_verify/sodium/verify.c +++ /dev/null @@ -1,61 +0,0 @@ - -#include -#include - -#include "crypto_verify_16.h" -#include "crypto_verify_32.h" -#include "crypto_verify_64.h" - -int -crypto_verify_16(const unsigned char *x, const unsigned char *y) -{ - uint_fast16_t d = 0U; - int i; - - for (i = 0; i < 16; i++) { - d |= x[i] ^ y[i]; - } - return (1 & ((d - 1) >> 8)) - 1; -} - -size_t -crypto_verify_16_bytes(void) -{ - return crypto_verify_16_BYTES; -} - -int -crypto_verify_32(const unsigned char *x, const unsigned char *y) -{ - uint_fast16_t d = 0U; - int i; - - for (i = 0; i < 32; i++) { - d |= x[i] ^ y[i]; - } - return (1 & ((d - 1) >> 8)) - 1; -} - -size_t -crypto_verify_32_bytes(void) -{ - return crypto_verify_32_BYTES; -} - -int -crypto_verify_64(const unsigned char *x, const unsigned char *y) -{ - uint_fast16_t d = 0U; - int i; - - for (i = 0; i < 64; i++) { - d |= x[i] ^ y[i]; - } - return (1 & ((d - 1) >> 8)) - 1; -} - -size_t -crypto_verify_64_bytes(void) -{ - return crypto_verify_64_BYTES; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium.h deleted file mode 100755 index d0bb25c87..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium.h +++ /dev/null @@ -1,68 +0,0 @@ - -#ifndef sodium_H -#define sodium_H - -#include "sodium/version.h" - -#include "sodium/core.h" -#include "sodium/crypto_aead_aes256gcm.h" -#include "sodium/crypto_aead_chacha20poly1305.h" -#include "sodium/crypto_aead_xchacha20poly1305.h" -#include "sodium/crypto_auth.h" -#include "sodium/crypto_auth_hmacsha256.h" -#include "sodium/crypto_auth_hmacsha512.h" -#include "sodium/crypto_auth_hmacsha512256.h" -#include "sodium/crypto_box.h" -#include "sodium/crypto_box_curve25519xsalsa20poly1305.h" -#include "sodium/crypto_core_hsalsa20.h" -#include "sodium/crypto_core_hchacha20.h" -#include "sodium/crypto_core_salsa20.h" -#include "sodium/crypto_core_salsa2012.h" -#include "sodium/crypto_core_salsa208.h" -#include "sodium/crypto_generichash.h" -#include "sodium/crypto_generichash_blake2b.h" -#include "sodium/crypto_hash.h" -#include "sodium/crypto_hash_sha256.h" -#include "sodium/crypto_hash_sha512.h" -#include "sodium/crypto_kdf.h" -#include "sodium/crypto_kdf_blake2b.h" -#include "sodium/crypto_kx.h" -#include "sodium/crypto_onetimeauth.h" -#include "sodium/crypto_onetimeauth_poly1305.h" -#include "sodium/crypto_pwhash.h" -#include "sodium/crypto_pwhash_argon2i.h" -#include "sodium/crypto_pwhash_scryptsalsa208sha256.h" -#include "sodium/crypto_scalarmult.h" -#include "sodium/crypto_scalarmult_curve25519.h" -#include "sodium/crypto_secretbox.h" -#include "sodium/crypto_secretbox_xsalsa20poly1305.h" -#include "sodium/crypto_shorthash.h" -#include "sodium/crypto_shorthash_siphash24.h" -#include "sodium/crypto_sign.h" -#include "sodium/crypto_sign_ed25519.h" -#include "sodium/crypto_stream.h" -#include "sodium/crypto_stream_chacha20.h" -#include "sodium/crypto_stream_salsa20.h" -#include "sodium/crypto_stream_xsalsa20.h" -#include "sodium/crypto_verify_16.h" -#include "sodium/crypto_verify_32.h" -#include "sodium/crypto_verify_64.h" -#include "sodium/randombytes.h" -#ifdef __native_client__ -# include "sodium/randombytes_nativeclient.h" -#endif -#include "sodium/randombytes_salsa20_random.h" -#include "sodium/randombytes_sysrandom.h" -#include "sodium/runtime.h" -#include "sodium/utils.h" - -#ifndef SODIUM_LIBRARY_MINIMAL -# include "sodium/crypto_box_curve25519xchacha20poly1305.h" -# include "sodium/crypto_secretbox_xchacha20poly1305.h" -# include "sodium/crypto_stream_aes128ctr.h" -# include "sodium/crypto_stream_salsa2012.h" -# include "sodium/crypto_stream_salsa208.h" -# include "sodium/crypto_stream_xchacha20.h" -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/core.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/core.h deleted file mode 100755 index 3ca447628..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/core.h +++ /dev/null @@ -1,19 +0,0 @@ - -#ifndef sodium_core_H -#define sodium_core_H - -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -SODIUM_EXPORT -int sodium_init(void) - __attribute__ ((warn_unused_result)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_aead_aes256gcm.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_aead_aes256gcm.h deleted file mode 100755 index 972df54f6..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_aead_aes256gcm.h +++ /dev/null @@ -1,145 +0,0 @@ -#ifndef crypto_aead_aes256gcm_H -#define crypto_aead_aes256gcm_H - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -SODIUM_EXPORT -int crypto_aead_aes256gcm_is_available(void); - -#define crypto_aead_aes256gcm_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_aead_aes256gcm_keybytes(void); - -#define crypto_aead_aes256gcm_NSECBYTES 0U -SODIUM_EXPORT -size_t crypto_aead_aes256gcm_nsecbytes(void); - -#define crypto_aead_aes256gcm_NPUBBYTES 12U -SODIUM_EXPORT -size_t crypto_aead_aes256gcm_npubbytes(void); - -#define crypto_aead_aes256gcm_ABYTES 16U -SODIUM_EXPORT -size_t crypto_aead_aes256gcm_abytes(void); - -typedef CRYPTO_ALIGN(16) unsigned char crypto_aead_aes256gcm_state[512]; - -SODIUM_EXPORT -size_t crypto_aead_aes256gcm_statebytes(void); - -SODIUM_EXPORT -int crypto_aead_aes256gcm_encrypt(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_aead_aes256gcm_decrypt(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_aead_aes256gcm_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_aead_aes256gcm_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -/* -- Precomputation interface -- */ - -SODIUM_EXPORT -int crypto_aead_aes256gcm_beforenm(crypto_aead_aes256gcm_state *ctx_, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_aead_aes256gcm_encrypt_afternm(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_); - -SODIUM_EXPORT -int crypto_aead_aes256gcm_decrypt_afternm(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_aead_aes256gcm_encrypt_detached_afternm(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_); - -SODIUM_EXPORT -int crypto_aead_aes256gcm_decrypt_detached_afternm(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const crypto_aead_aes256gcm_state *ctx_) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -void crypto_aead_aes256gcm_keygen(unsigned char k[crypto_aead_aes256gcm_KEYBYTES]); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h deleted file mode 100755 index 0bbc68859..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_aead_chacha20poly1305.h +++ /dev/null @@ -1,162 +0,0 @@ -#ifndef crypto_aead_chacha20poly1305_H -#define crypto_aead_chacha20poly1305_H - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -/* -- IETF ChaCha20-Poly1305 construction with a 96-bit nonce and a 32-bit internal counter -- */ - -#define crypto_aead_chacha20poly1305_ietf_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_aead_chacha20poly1305_ietf_keybytes(void); - -#define crypto_aead_chacha20poly1305_ietf_NSECBYTES 0U -SODIUM_EXPORT -size_t crypto_aead_chacha20poly1305_ietf_nsecbytes(void); - -#define crypto_aead_chacha20poly1305_ietf_NPUBBYTES 12U - -SODIUM_EXPORT -size_t crypto_aead_chacha20poly1305_ietf_npubbytes(void); - -#define crypto_aead_chacha20poly1305_ietf_ABYTES 16U -SODIUM_EXPORT -size_t crypto_aead_chacha20poly1305_ietf_abytes(void); - -SODIUM_EXPORT -int crypto_aead_chacha20poly1305_ietf_encrypt(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_aead_chacha20poly1305_ietf_decrypt(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_aead_chacha20poly1305_ietf_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_aead_chacha20poly1305_ietf_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -void crypto_aead_chacha20poly1305_ietf_keygen(unsigned char k[crypto_aead_chacha20poly1305_ietf_KEYBYTES]); - -/* -- Original ChaCha20-Poly1305 construction with a 64-bit nonce and a 64-bit internal counter -- */ - -#define crypto_aead_chacha20poly1305_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_aead_chacha20poly1305_keybytes(void); - -#define crypto_aead_chacha20poly1305_NSECBYTES 0U -SODIUM_EXPORT -size_t crypto_aead_chacha20poly1305_nsecbytes(void); - -#define crypto_aead_chacha20poly1305_NPUBBYTES 8U -SODIUM_EXPORT -size_t crypto_aead_chacha20poly1305_npubbytes(void); - -#define crypto_aead_chacha20poly1305_ABYTES 16U -SODIUM_EXPORT -size_t crypto_aead_chacha20poly1305_abytes(void); - -SODIUM_EXPORT -int crypto_aead_chacha20poly1305_encrypt(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_aead_chacha20poly1305_decrypt(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_aead_chacha20poly1305_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_aead_chacha20poly1305_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -void crypto_aead_chacha20poly1305_keygen(unsigned char k[crypto_aead_chacha20poly1305_KEYBYTES]); - -/* Aliases */ - -#define crypto_aead_chacha20poly1305_IETF_KEYBYTES crypto_aead_chacha20poly1305_ietf_KEYBYTES -#define crypto_aead_chacha20poly1305_IETF_NSECBYTES crypto_aead_chacha20poly1305_ietf_NSECBYTES -#define crypto_aead_chacha20poly1305_IETF_NPUBBYTES crypto_aead_chacha20poly1305_ietf_NPUBBYTES -#define crypto_aead_chacha20poly1305_IETF_ABYTES crypto_aead_chacha20poly1305_ietf_ABYTES - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h deleted file mode 100755 index f863ce88c..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h +++ /dev/null @@ -1,91 +0,0 @@ -#ifndef crypto_aead_xchacha20poly1305_H -#define crypto_aead_xchacha20poly1305_H - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_aead_xchacha20poly1305_ietf_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_aead_xchacha20poly1305_ietf_keybytes(void); - -#define crypto_aead_xchacha20poly1305_ietf_NSECBYTES 0U -SODIUM_EXPORT -size_t crypto_aead_xchacha20poly1305_ietf_nsecbytes(void); - -#define crypto_aead_xchacha20poly1305_ietf_NPUBBYTES 24U -SODIUM_EXPORT -size_t crypto_aead_xchacha20poly1305_ietf_npubbytes(void); - -#define crypto_aead_xchacha20poly1305_ietf_ABYTES 16U -SODIUM_EXPORT -size_t crypto_aead_xchacha20poly1305_ietf_abytes(void); - -SODIUM_EXPORT -int crypto_aead_xchacha20poly1305_ietf_encrypt(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_aead_xchacha20poly1305_ietf_decrypt(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_aead_xchacha20poly1305_ietf_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_aead_xchacha20poly1305_ietf_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -void crypto_aead_xchacha20poly1305_ietf_keygen(unsigned char k[crypto_aead_xchacha20poly1305_ietf_KEYBYTES]); - -/* Aliases */ - -#define crypto_aead_xchacha20poly1305_IETF_KEYBYTES crypto_aead_xchacha20poly1305_ietf_KEYBYTES -#define crypto_aead_xchacha20poly1305_IETF_NSECBYTES crypto_aead_xchacha20poly1305_ietf_NSECBYTES -#define crypto_aead_xchacha20poly1305_IETF_NPUBBYTES crypto_aead_xchacha20poly1305_ietf_NPUBBYTES -#define crypto_aead_xchacha20poly1305_IETF_ABYTES crypto_aead_xchacha20poly1305_ietf_ABYTES - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_auth.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_auth.h deleted file mode 100755 index 7174e7bce..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_auth.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef crypto_auth_H -#define crypto_auth_H - -#include - -#include "crypto_auth_hmacsha512256.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_auth_BYTES crypto_auth_hmacsha512256_BYTES -SODIUM_EXPORT -size_t crypto_auth_bytes(void); - -#define crypto_auth_KEYBYTES crypto_auth_hmacsha512256_KEYBYTES -SODIUM_EXPORT -size_t crypto_auth_keybytes(void); - -#define crypto_auth_PRIMITIVE "hmacsha512256" -SODIUM_EXPORT -const char *crypto_auth_primitive(void); - -SODIUM_EXPORT -int crypto_auth(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k); - -SODIUM_EXPORT -int crypto_auth_verify(const unsigned char *h, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -void crypto_auth_keygen(unsigned char k[crypto_auth_KEYBYTES]); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha256.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha256.h deleted file mode 100755 index deec5266e..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha256.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef crypto_auth_hmacsha256_H -#define crypto_auth_hmacsha256_H - -#include -#include "crypto_hash_sha256.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_auth_hmacsha256_BYTES 32U -SODIUM_EXPORT -size_t crypto_auth_hmacsha256_bytes(void); - -#define crypto_auth_hmacsha256_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_auth_hmacsha256_keybytes(void); - -SODIUM_EXPORT -int crypto_auth_hmacsha256(unsigned char *out, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_auth_hmacsha256_verify(const unsigned char *h, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -/* ------------------------------------------------------------------------- */ - -typedef struct crypto_auth_hmacsha256_state { - crypto_hash_sha256_state ictx; - crypto_hash_sha256_state octx; -} crypto_auth_hmacsha256_state; - -SODIUM_EXPORT -size_t crypto_auth_hmacsha256_statebytes(void); - -SODIUM_EXPORT -int crypto_auth_hmacsha256_init(crypto_auth_hmacsha256_state *state, - const unsigned char *key, - size_t keylen); - -SODIUM_EXPORT -int crypto_auth_hmacsha256_update(crypto_auth_hmacsha256_state *state, - const unsigned char *in, - unsigned long long inlen); - -SODIUM_EXPORT -int crypto_auth_hmacsha256_final(crypto_auth_hmacsha256_state *state, - unsigned char *out); - - -SODIUM_EXPORT -void crypto_auth_hmacsha256_keygen(unsigned char k[crypto_auth_hmacsha256_KEYBYTES]); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512.h deleted file mode 100755 index 77a55fbc0..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512.h +++ /dev/null @@ -1,67 +0,0 @@ -#ifndef crypto_auth_hmacsha512_H -#define crypto_auth_hmacsha512_H - -#include -#include "crypto_hash_sha512.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_auth_hmacsha512_BYTES 64U -SODIUM_EXPORT -size_t crypto_auth_hmacsha512_bytes(void); - -#define crypto_auth_hmacsha512_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_auth_hmacsha512_keybytes(void); - -SODIUM_EXPORT -int crypto_auth_hmacsha512(unsigned char *out, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_auth_hmacsha512_verify(const unsigned char *h, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -/* ------------------------------------------------------------------------- */ - -typedef struct crypto_auth_hmacsha512_state { - crypto_hash_sha512_state ictx; - crypto_hash_sha512_state octx; -} crypto_auth_hmacsha512_state; - -SODIUM_EXPORT -size_t crypto_auth_hmacsha512_statebytes(void); - -SODIUM_EXPORT -int crypto_auth_hmacsha512_init(crypto_auth_hmacsha512_state *state, - const unsigned char *key, - size_t keylen); - -SODIUM_EXPORT -int crypto_auth_hmacsha512_update(crypto_auth_hmacsha512_state *state, - const unsigned char *in, - unsigned long long inlen); - -SODIUM_EXPORT -int crypto_auth_hmacsha512_final(crypto_auth_hmacsha512_state *state, - unsigned char *out); - -SODIUM_EXPORT -void crypto_auth_hmacsha512_keygen(unsigned char k[crypto_auth_hmacsha512_KEYBYTES]); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h deleted file mode 100755 index 4842f3deb..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_auth_hmacsha512256.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef crypto_auth_hmacsha512256_H -#define crypto_auth_hmacsha512256_H - -#include -#include "crypto_auth_hmacsha512.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_auth_hmacsha512256_BYTES 32U -SODIUM_EXPORT -size_t crypto_auth_hmacsha512256_bytes(void); - -#define crypto_auth_hmacsha512256_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_auth_hmacsha512256_keybytes(void); - -SODIUM_EXPORT -int crypto_auth_hmacsha512256(unsigned char *out, const unsigned char *in, - unsigned long long inlen,const unsigned char *k); - -SODIUM_EXPORT -int crypto_auth_hmacsha512256_verify(const unsigned char *h, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -/* ------------------------------------------------------------------------- */ - -typedef crypto_auth_hmacsha512_state crypto_auth_hmacsha512256_state; - -SODIUM_EXPORT -size_t crypto_auth_hmacsha512256_statebytes(void); - -SODIUM_EXPORT -int crypto_auth_hmacsha512256_init(crypto_auth_hmacsha512256_state *state, - const unsigned char *key, - size_t keylen); - -SODIUM_EXPORT -int crypto_auth_hmacsha512256_update(crypto_auth_hmacsha512256_state *state, - const unsigned char *in, - unsigned long long inlen); - -SODIUM_EXPORT -int crypto_auth_hmacsha512256_final(crypto_auth_hmacsha512256_state *state, - unsigned char *out); - -SODIUM_EXPORT -void crypto_auth_hmacsha512256_keygen(unsigned char k[crypto_auth_hmacsha512256_KEYBYTES]); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_box.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_box.h deleted file mode 100755 index 614cd1e0a..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_box.h +++ /dev/null @@ -1,169 +0,0 @@ -#ifndef crypto_box_H -#define crypto_box_H - -/* - * THREAD SAFETY: crypto_box_keypair() is thread-safe, - * provided that sodium_init() was called before. - * - * Other functions are always thread-safe. - */ - -#include - -#include "crypto_box_curve25519xsalsa20poly1305.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_box_SEEDBYTES crypto_box_curve25519xsalsa20poly1305_SEEDBYTES -SODIUM_EXPORT -size_t crypto_box_seedbytes(void); - -#define crypto_box_PUBLICKEYBYTES crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES -SODIUM_EXPORT -size_t crypto_box_publickeybytes(void); - -#define crypto_box_SECRETKEYBYTES crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES -SODIUM_EXPORT -size_t crypto_box_secretkeybytes(void); - -#define crypto_box_NONCEBYTES crypto_box_curve25519xsalsa20poly1305_NONCEBYTES -SODIUM_EXPORT -size_t crypto_box_noncebytes(void); - -#define crypto_box_MACBYTES crypto_box_curve25519xsalsa20poly1305_MACBYTES -SODIUM_EXPORT -size_t crypto_box_macbytes(void); - -#define crypto_box_PRIMITIVE "curve25519xsalsa20poly1305" -SODIUM_EXPORT -const char *crypto_box_primitive(void); - -SODIUM_EXPORT -int crypto_box_seed_keypair(unsigned char *pk, unsigned char *sk, - const unsigned char *seed); - -SODIUM_EXPORT -int crypto_box_keypair(unsigned char *pk, unsigned char *sk); - -SODIUM_EXPORT -int crypto_box_easy(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *pk, const unsigned char *sk) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_box_open_easy(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *pk, const unsigned char *sk) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_box_detached(unsigned char *c, unsigned char *mac, - const unsigned char *m, unsigned long long mlen, - const unsigned char *n, const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_box_open_detached(unsigned char *m, const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, - const unsigned char *n, - const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)); - -/* -- Precomputation interface -- */ - -#define crypto_box_BEFORENMBYTES crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES -SODIUM_EXPORT -size_t crypto_box_beforenmbytes(void); - -SODIUM_EXPORT -int crypto_box_beforenm(unsigned char *k, const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_box_easy_afternm(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_box_open_easy_afternm(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_box_detached_afternm(unsigned char *c, unsigned char *mac, - const unsigned char *m, unsigned long long mlen, - const unsigned char *n, const unsigned char *k); - -SODIUM_EXPORT -int crypto_box_open_detached_afternm(unsigned char *m, const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -/* -- Ephemeral SK interface -- */ - -#define crypto_box_SEALBYTES (crypto_box_PUBLICKEYBYTES + crypto_box_MACBYTES) -SODIUM_EXPORT -size_t crypto_box_sealbytes(void); - -SODIUM_EXPORT -int crypto_box_seal(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *pk); - -SODIUM_EXPORT -int crypto_box_seal_open(unsigned char *m, const unsigned char *c, - unsigned long long clen, - const unsigned char *pk, const unsigned char *sk) - __attribute__ ((warn_unused_result)); - -/* -- NaCl compatibility interface ; Requires padding -- */ - -#define crypto_box_ZEROBYTES crypto_box_curve25519xsalsa20poly1305_ZEROBYTES -SODIUM_EXPORT -size_t crypto_box_zerobytes(void); - -#define crypto_box_BOXZEROBYTES crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES -SODIUM_EXPORT -size_t crypto_box_boxzerobytes(void); - -SODIUM_EXPORT -int crypto_box(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *pk, const unsigned char *sk) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_box_open(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *pk, const unsigned char *sk) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_box_afternm(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_box_open_afternm(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xchacha20poly1305.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xchacha20poly1305.h deleted file mode 100755 index 29c9b2552..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xchacha20poly1305.h +++ /dev/null @@ -1,130 +0,0 @@ - -#ifndef crypto_box_curve25519xchacha20poly1305_H -#define crypto_box_curve25519xchacha20poly1305_H - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_box_curve25519xchacha20poly1305_SEEDBYTES 32U -SODIUM_EXPORT -size_t crypto_box_curve25519xchacha20poly1305_seedbytes(void); - -#define crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES 32U -SODIUM_EXPORT -size_t crypto_box_curve25519xchacha20poly1305_publickeybytes(void); - -#define crypto_box_curve25519xchacha20poly1305_SECRETKEYBYTES 32U -SODIUM_EXPORT -size_t crypto_box_curve25519xchacha20poly1305_secretkeybytes(void); - -#define crypto_box_curve25519xchacha20poly1305_BEFORENMBYTES 32U -SODIUM_EXPORT -size_t crypto_box_curve25519xchacha20poly1305_beforenmbytes(void); - -#define crypto_box_curve25519xchacha20poly1305_NONCEBYTES 24U -SODIUM_EXPORT -size_t crypto_box_curve25519xchacha20poly1305_noncebytes(void); - -#define crypto_box_curve25519xchacha20poly1305_MACBYTES 16U -SODIUM_EXPORT -size_t crypto_box_curve25519xchacha20poly1305_macbytes(void); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_seed_keypair(unsigned char *pk, - unsigned char *sk, - const unsigned char *seed); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_keypair(unsigned char *pk, - unsigned char *sk); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_easy(unsigned char *c, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_open_easy(unsigned char *m, - const unsigned char *c, - unsigned long long clen, - const unsigned char *n, - const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_detached(unsigned char *c, - unsigned char *mac, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_open_detached(unsigned char *m, - const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, - const unsigned char *n, - const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)); - -/* -- Precomputation interface -- */ - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_beforenm(unsigned char *k, - const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_easy_afternm(unsigned char *c, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_open_easy_afternm(unsigned char *m, - const unsigned char *c, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_detached_afternm(unsigned char *c, - unsigned char *mac, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_box_curve25519xchacha20poly1305_open_detached_afternm(unsigned char *m, - const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h deleted file mode 100755 index 9b5a39c3f..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_box_curve25519xsalsa20poly1305.h +++ /dev/null @@ -1,100 +0,0 @@ -#ifndef crypto_box_curve25519xsalsa20poly1305_H -#define crypto_box_curve25519xsalsa20poly1305_H - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_box_curve25519xsalsa20poly1305_SEEDBYTES 32U -SODIUM_EXPORT -size_t crypto_box_curve25519xsalsa20poly1305_seedbytes(void); - -#define crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES 32U -SODIUM_EXPORT -size_t crypto_box_curve25519xsalsa20poly1305_publickeybytes(void); - -#define crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES 32U -SODIUM_EXPORT -size_t crypto_box_curve25519xsalsa20poly1305_secretkeybytes(void); - -#define crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES 32U -SODIUM_EXPORT -size_t crypto_box_curve25519xsalsa20poly1305_beforenmbytes(void); - -#define crypto_box_curve25519xsalsa20poly1305_NONCEBYTES 24U -SODIUM_EXPORT -size_t crypto_box_curve25519xsalsa20poly1305_noncebytes(void); - -#define crypto_box_curve25519xsalsa20poly1305_MACBYTES 16U -SODIUM_EXPORT -size_t crypto_box_curve25519xsalsa20poly1305_macbytes(void); - -#define crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES 16U -SODIUM_EXPORT -size_t crypto_box_curve25519xsalsa20poly1305_boxzerobytes(void); - -#define crypto_box_curve25519xsalsa20poly1305_ZEROBYTES \ - (crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES + \ - crypto_box_curve25519xsalsa20poly1305_MACBYTES) -SODIUM_EXPORT -size_t crypto_box_curve25519xsalsa20poly1305_zerobytes(void); - -SODIUM_EXPORT -int crypto_box_curve25519xsalsa20poly1305(unsigned char *c, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_box_curve25519xsalsa20poly1305_open(unsigned char *m, - const unsigned char *c, - unsigned long long clen, - const unsigned char *n, - const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_box_curve25519xsalsa20poly1305_seed_keypair(unsigned char *pk, - unsigned char *sk, - const unsigned char *seed); - -SODIUM_EXPORT -int crypto_box_curve25519xsalsa20poly1305_keypair(unsigned char *pk, - unsigned char *sk); - -SODIUM_EXPORT -int crypto_box_curve25519xsalsa20poly1305_beforenm(unsigned char *k, - const unsigned char *pk, - const unsigned char *sk) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_box_curve25519xsalsa20poly1305_afternm(unsigned char *c, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_box_curve25519xsalsa20poly1305_open_afternm(unsigned char *m, - const unsigned char *c, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_hchacha20.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_hchacha20.h deleted file mode 100755 index 05e5670c1..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_hchacha20.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef crypto_core_hchacha20_H -#define crypto_core_hchacha20_H - -#include -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_core_hchacha20_OUTPUTBYTES 32U -SODIUM_EXPORT -size_t crypto_core_hchacha20_outputbytes(void); - -#define crypto_core_hchacha20_INPUTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_hchacha20_inputbytes(void); - -#define crypto_core_hchacha20_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_core_hchacha20_keybytes(void); - -#define crypto_core_hchacha20_CONSTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_hchacha20_constbytes(void); - -SODIUM_EXPORT -int crypto_core_hchacha20(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_hsalsa20.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_hsalsa20.h deleted file mode 100755 index 82e475b8f..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_hsalsa20.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef crypto_core_hsalsa20_H -#define crypto_core_hsalsa20_H - -#include -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_core_hsalsa20_OUTPUTBYTES 32U -SODIUM_EXPORT -size_t crypto_core_hsalsa20_outputbytes(void); - -#define crypto_core_hsalsa20_INPUTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_hsalsa20_inputbytes(void); - -#define crypto_core_hsalsa20_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_core_hsalsa20_keybytes(void); - -#define crypto_core_hsalsa20_CONSTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_hsalsa20_constbytes(void); - -SODIUM_EXPORT -int crypto_core_hsalsa20(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_salsa20.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_salsa20.h deleted file mode 100755 index 160cc56d2..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_salsa20.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef crypto_core_salsa20_H -#define crypto_core_salsa20_H - -#include -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_core_salsa20_OUTPUTBYTES 64U -SODIUM_EXPORT -size_t crypto_core_salsa20_outputbytes(void); - -#define crypto_core_salsa20_INPUTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_salsa20_inputbytes(void); - -#define crypto_core_salsa20_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_core_salsa20_keybytes(void); - -#define crypto_core_salsa20_CONSTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_salsa20_constbytes(void); - -SODIUM_EXPORT -int crypto_core_salsa20(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_salsa2012.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_salsa2012.h deleted file mode 100755 index bdd5f9fdb..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_salsa2012.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef crypto_core_salsa2012_H -#define crypto_core_salsa2012_H - -#include -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_core_salsa2012_OUTPUTBYTES 64U -SODIUM_EXPORT -size_t crypto_core_salsa2012_outputbytes(void); - -#define crypto_core_salsa2012_INPUTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_salsa2012_inputbytes(void); - -#define crypto_core_salsa2012_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_core_salsa2012_keybytes(void); - -#define crypto_core_salsa2012_CONSTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_salsa2012_constbytes(void); - -SODIUM_EXPORT -int crypto_core_salsa2012(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_salsa208.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_salsa208.h deleted file mode 100755 index 3c13efa4e..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_core_salsa208.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef crypto_core_salsa208_H -#define crypto_core_salsa208_H - -#include -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_core_salsa208_OUTPUTBYTES 64U -SODIUM_EXPORT -size_t crypto_core_salsa208_outputbytes(void); - -#define crypto_core_salsa208_INPUTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_salsa208_inputbytes(void); - -#define crypto_core_salsa208_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_core_salsa208_keybytes(void); - -#define crypto_core_salsa208_CONSTBYTES 16U -SODIUM_EXPORT -size_t crypto_core_salsa208_constbytes(void); - -SODIUM_EXPORT -int crypto_core_salsa208(unsigned char *out, const unsigned char *in, - const unsigned char *k, const unsigned char *c); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_generichash.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_generichash.h deleted file mode 100755 index 2398fb9db..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_generichash.h +++ /dev/null @@ -1,75 +0,0 @@ -#ifndef crypto_generichash_H -#define crypto_generichash_H - -#include - -#include "crypto_generichash_blake2b.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_generichash_BYTES_MIN crypto_generichash_blake2b_BYTES_MIN -SODIUM_EXPORT -size_t crypto_generichash_bytes_min(void); - -#define crypto_generichash_BYTES_MAX crypto_generichash_blake2b_BYTES_MAX -SODIUM_EXPORT -size_t crypto_generichash_bytes_max(void); - -#define crypto_generichash_BYTES crypto_generichash_blake2b_BYTES -SODIUM_EXPORT -size_t crypto_generichash_bytes(void); - -#define crypto_generichash_KEYBYTES_MIN crypto_generichash_blake2b_KEYBYTES_MIN -SODIUM_EXPORT -size_t crypto_generichash_keybytes_min(void); - -#define crypto_generichash_KEYBYTES_MAX crypto_generichash_blake2b_KEYBYTES_MAX -SODIUM_EXPORT -size_t crypto_generichash_keybytes_max(void); - -#define crypto_generichash_KEYBYTES crypto_generichash_blake2b_KEYBYTES -SODIUM_EXPORT -size_t crypto_generichash_keybytes(void); - -#define crypto_generichash_PRIMITIVE "blake2b" -SODIUM_EXPORT -const char *crypto_generichash_primitive(void); - -typedef crypto_generichash_blake2b_state crypto_generichash_state; - -SODIUM_EXPORT -size_t crypto_generichash_statebytes(void); - -SODIUM_EXPORT -int crypto_generichash(unsigned char *out, size_t outlen, - const unsigned char *in, unsigned long long inlen, - const unsigned char *key, size_t keylen); - -SODIUM_EXPORT -int crypto_generichash_init(crypto_generichash_state *state, - const unsigned char *key, - const size_t keylen, const size_t outlen); - -SODIUM_EXPORT -int crypto_generichash_update(crypto_generichash_state *state, - const unsigned char *in, - unsigned long long inlen); - -SODIUM_EXPORT -int crypto_generichash_final(crypto_generichash_state *state, - unsigned char *out, const size_t outlen); - -SODIUM_EXPORT -void crypto_generichash_keygen(unsigned char k[crypto_generichash_KEYBYTES]); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_generichash_blake2b.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_generichash_blake2b.h deleted file mode 100755 index 7b0c08207..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_generichash_blake2b.h +++ /dev/null @@ -1,121 +0,0 @@ -#ifndef crypto_generichash_blake2b_H -#define crypto_generichash_blake2b_H - -#include -#include -#include - -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) -# pragma pack(1) -#else -# pragma pack(push, 1) -#endif - -typedef CRYPTO_ALIGN(64) struct crypto_generichash_blake2b_state { - uint64_t h[8]; - uint64_t t[2]; - uint64_t f[2]; - uint8_t buf[2 * 128]; - size_t buflen; - uint8_t last_node; -} crypto_generichash_blake2b_state; - -#if defined(__IBMC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) -# pragma pack() -#else -# pragma pack(pop) -#endif - -#define crypto_generichash_blake2b_BYTES_MIN 16U -SODIUM_EXPORT -size_t crypto_generichash_blake2b_bytes_min(void); - -#define crypto_generichash_blake2b_BYTES_MAX 64U -SODIUM_EXPORT -size_t crypto_generichash_blake2b_bytes_max(void); - -#define crypto_generichash_blake2b_BYTES 32U -SODIUM_EXPORT -size_t crypto_generichash_blake2b_bytes(void); - -#define crypto_generichash_blake2b_KEYBYTES_MIN 16U -SODIUM_EXPORT -size_t crypto_generichash_blake2b_keybytes_min(void); - -#define crypto_generichash_blake2b_KEYBYTES_MAX 64U -SODIUM_EXPORT -size_t crypto_generichash_blake2b_keybytes_max(void); - -#define crypto_generichash_blake2b_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_generichash_blake2b_keybytes(void); - -#define crypto_generichash_blake2b_SALTBYTES 16U -SODIUM_EXPORT -size_t crypto_generichash_blake2b_saltbytes(void); - -#define crypto_generichash_blake2b_PERSONALBYTES 16U -SODIUM_EXPORT -size_t crypto_generichash_blake2b_personalbytes(void); - -SODIUM_EXPORT -size_t crypto_generichash_blake2b_statebytes(void); - -SODIUM_EXPORT -int crypto_generichash_blake2b(unsigned char *out, size_t outlen, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *key, size_t keylen); - -SODIUM_EXPORT -int crypto_generichash_blake2b_salt_personal(unsigned char *out, size_t outlen, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *key, - size_t keylen, - const unsigned char *salt, - const unsigned char *personal); - -SODIUM_EXPORT -int crypto_generichash_blake2b_init(crypto_generichash_blake2b_state *state, - const unsigned char *key, - const size_t keylen, const size_t outlen); - -SODIUM_EXPORT -int crypto_generichash_blake2b_init_salt_personal(crypto_generichash_blake2b_state *state, - const unsigned char *key, - const size_t keylen, const size_t outlen, - const unsigned char *salt, - const unsigned char *personal); - -SODIUM_EXPORT -int crypto_generichash_blake2b_update(crypto_generichash_blake2b_state *state, - const unsigned char *in, - unsigned long long inlen); - -SODIUM_EXPORT -int crypto_generichash_blake2b_final(crypto_generichash_blake2b_state *state, - unsigned char *out, - const size_t outlen); - -SODIUM_EXPORT -void crypto_generichash_blake2b_keygen(unsigned char k[crypto_generichash_blake2b_KEYBYTES]); - -/* ------------------------------------------------------------------------- */ - -int _crypto_generichash_blake2b_pick_best_implementation(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_hash.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_hash.h deleted file mode 100755 index 302ed5c5e..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_hash.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef crypto_hash_H -#define crypto_hash_H - -/* - * WARNING: Unless you absolutely need to use SHA512 for interoperatibility, - * purposes, you might want to consider crypto_generichash() instead. - * Unlike SHA512, crypto_generichash() is not vulnerable to length - * extension attacks. - */ - -#include - -#include "crypto_hash_sha512.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_hash_BYTES crypto_hash_sha512_BYTES -SODIUM_EXPORT -size_t crypto_hash_bytes(void); - -SODIUM_EXPORT -int crypto_hash(unsigned char *out, const unsigned char *in, - unsigned long long inlen); - -#define crypto_hash_PRIMITIVE "sha512" -SODIUM_EXPORT -const char *crypto_hash_primitive(void) - __attribute__ ((warn_unused_result)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_hash_sha256.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_hash_sha256.h deleted file mode 100755 index f64d16e0e..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_hash_sha256.h +++ /dev/null @@ -1,57 +0,0 @@ -#ifndef crypto_hash_sha256_H -#define crypto_hash_sha256_H - -/* - * WARNING: Unless you absolutely need to use SHA256 for interoperatibility, - * purposes, you might want to consider crypto_generichash() instead. - * Unlike SHA256, crypto_generichash() is not vulnerable to length - * extension attacks. - */ - -#include -#include -#include - -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -typedef struct crypto_hash_sha256_state { - uint32_t state[8]; - uint64_t count; - uint8_t buf[64]; -} crypto_hash_sha256_state; - -SODIUM_EXPORT -size_t crypto_hash_sha256_statebytes(void); - -#define crypto_hash_sha256_BYTES 32U -SODIUM_EXPORT -size_t crypto_hash_sha256_bytes(void); - -SODIUM_EXPORT -int crypto_hash_sha256(unsigned char *out, const unsigned char *in, - unsigned long long inlen); - -SODIUM_EXPORT -int crypto_hash_sha256_init(crypto_hash_sha256_state *state); - -SODIUM_EXPORT -int crypto_hash_sha256_update(crypto_hash_sha256_state *state, - const unsigned char *in, - unsigned long long inlen); - -SODIUM_EXPORT -int crypto_hash_sha256_final(crypto_hash_sha256_state *state, - unsigned char *out); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_hash_sha512.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_hash_sha512.h deleted file mode 100755 index 6b0330f14..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_hash_sha512.h +++ /dev/null @@ -1,57 +0,0 @@ -#ifndef crypto_hash_sha512_H -#define crypto_hash_sha512_H - -/* - * WARNING: Unless you absolutely need to use SHA512 for interoperatibility, - * purposes, you might want to consider crypto_generichash() instead. - * Unlike SHA512, crypto_generichash() is not vulnerable to length - * extension attacks. - */ - -#include -#include -#include - -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -typedef struct crypto_hash_sha512_state { - uint64_t state[8]; - uint64_t count[2]; - uint8_t buf[128]; -} crypto_hash_sha512_state; - -SODIUM_EXPORT -size_t crypto_hash_sha512_statebytes(void); - -#define crypto_hash_sha512_BYTES 64U -SODIUM_EXPORT -size_t crypto_hash_sha512_bytes(void); - -SODIUM_EXPORT -int crypto_hash_sha512(unsigned char *out, const unsigned char *in, - unsigned long long inlen); - -SODIUM_EXPORT -int crypto_hash_sha512_init(crypto_hash_sha512_state *state); - -SODIUM_EXPORT -int crypto_hash_sha512_update(crypto_hash_sha512_state *state, - const unsigned char *in, - unsigned long long inlen); - -SODIUM_EXPORT -int crypto_hash_sha512_final(crypto_hash_sha512_state *state, - unsigned char *out); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_kdf.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_kdf.h deleted file mode 100755 index 52e496a74..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_kdf.h +++ /dev/null @@ -1,51 +0,0 @@ -#ifndef crypto_kdf_H -#define crypto_kdf_H - -#include -#include - -#include "crypto_kdf_blake2b.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_kdf_BYTES_MIN crypto_kdf_blake2b_BYTES_MIN -SODIUM_EXPORT -size_t crypto_kdf_bytes_min(void); - -#define crypto_kdf_BYTES_MAX crypto_kdf_blake2b_BYTES_MAX -SODIUM_EXPORT -size_t crypto_kdf_bytes_max(void); - -#define crypto_kdf_CONTEXTBYTES crypto_kdf_blake2b_CONTEXTBYTES -SODIUM_EXPORT -size_t crypto_kdf_contextbytes(void); - -#define crypto_kdf_KEYBYTES crypto_kdf_blake2b_KEYBYTES -SODIUM_EXPORT -size_t crypto_kdf_keybytes(void); - -#define crypto_kdf_PRIMITIVE "blake2b" -SODIUM_EXPORT -const char *crypto_kdf_primitive(void) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_kdf_derive_from_key(unsigned char *subkey, size_t subkey_len, - uint64_t subkey_id, - const char ctx[crypto_kdf_CONTEXTBYTES], - const unsigned char key[crypto_kdf_KEYBYTES]); - -SODIUM_EXPORT -void crypto_kdf_keygen(unsigned char k[crypto_kdf_KEYBYTES]); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_kdf_blake2b.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_kdf_blake2b.h deleted file mode 100755 index 5480ebe82..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_kdf_blake2b.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef crypto_kdf_blake2b_H -#define crypto_kdf_blake2b_H - -#include -#include - -#include "crypto_kdf_blake2b.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_kdf_blake2b_BYTES_MIN 16 -SODIUM_EXPORT -size_t crypto_kdf_blake2b_bytes_min(void); - -#define crypto_kdf_blake2b_BYTES_MAX 64 -SODIUM_EXPORT -size_t crypto_kdf_blake2b_bytes_max(void); - -#define crypto_kdf_blake2b_CONTEXTBYTES 8 -SODIUM_EXPORT -size_t crypto_kdf_blake2b_contextbytes(void); - -#define crypto_kdf_blake2b_KEYBYTES 32 -SODIUM_EXPORT -size_t crypto_kdf_blake2b_keybytes(void); - -SODIUM_EXPORT -int crypto_kdf_blake2b_derive_from_key(unsigned char *subkey, size_t subkey_len, - uint64_t subkey_id, - const char ctx[crypto_kdf_blake2b_CONTEXTBYTES], - const unsigned char key[crypto_kdf_blake2b_KEYBYTES]); -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_kx.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_kx.h deleted file mode 100755 index d1fce90da..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_kx.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef crypto_kx_H -#define crypto_kx_H - -#include - -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_kx_PUBLICKEYBYTES 32 -SODIUM_EXPORT -size_t crypto_kx_publickeybytes(void); - -#define crypto_kx_SECRETKEYBYTES 32 -SODIUM_EXPORT -size_t crypto_kx_secretkeybytes(void); - -#define crypto_kx_SEEDBYTES 32 -SODIUM_EXPORT -size_t crypto_kx_seedbytes(void); - -#define crypto_kx_SESSIONKEYBYTES 32 -SODIUM_EXPORT -size_t crypto_kx_sessionkeybytes(void); - -#define crypto_kx_PRIMITIVE "x25519blake2b" -SODIUM_EXPORT -const char *crypto_kx_primitive(void); - -SODIUM_EXPORT -int crypto_kx_seed_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES], - unsigned char sk[crypto_kx_SECRETKEYBYTES], - const unsigned char seed[crypto_kx_SEEDBYTES]); - -SODIUM_EXPORT -int crypto_kx_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES], - unsigned char sk[crypto_kx_SECRETKEYBYTES]); - -SODIUM_EXPORT -int crypto_kx_client_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES], - unsigned char tx[crypto_kx_SESSIONKEYBYTES], - const unsigned char client_pk[crypto_kx_PUBLICKEYBYTES], - const unsigned char client_sk[crypto_kx_SECRETKEYBYTES], - const unsigned char server_pk[crypto_kx_PUBLICKEYBYTES]) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_kx_server_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES], - unsigned char tx[crypto_kx_SESSIONKEYBYTES], - const unsigned char server_pk[crypto_kx_PUBLICKEYBYTES], - const unsigned char server_sk[crypto_kx_SECRETKEYBYTES], - const unsigned char client_pk[crypto_kx_PUBLICKEYBYTES]) - __attribute__ ((warn_unused_result)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_onetimeauth.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_onetimeauth.h deleted file mode 100755 index 5951c5b82..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_onetimeauth.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef crypto_onetimeauth_H -#define crypto_onetimeauth_H - -#include - -#include "crypto_onetimeauth_poly1305.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -typedef crypto_onetimeauth_poly1305_state crypto_onetimeauth_state; - -SODIUM_EXPORT -size_t crypto_onetimeauth_statebytes(void); - -#define crypto_onetimeauth_BYTES crypto_onetimeauth_poly1305_BYTES -SODIUM_EXPORT -size_t crypto_onetimeauth_bytes(void); - -#define crypto_onetimeauth_KEYBYTES crypto_onetimeauth_poly1305_KEYBYTES -SODIUM_EXPORT -size_t crypto_onetimeauth_keybytes(void); - -#define crypto_onetimeauth_PRIMITIVE "poly1305" -SODIUM_EXPORT -const char *crypto_onetimeauth_primitive(void); - -SODIUM_EXPORT -int crypto_onetimeauth(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k); - -SODIUM_EXPORT -int crypto_onetimeauth_verify(const unsigned char *h, const unsigned char *in, - unsigned long long inlen, const unsigned char *k) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_onetimeauth_init(crypto_onetimeauth_state *state, - const unsigned char *key); - -SODIUM_EXPORT -int crypto_onetimeauth_update(crypto_onetimeauth_state *state, - const unsigned char *in, - unsigned long long inlen); - -SODIUM_EXPORT -int crypto_onetimeauth_final(crypto_onetimeauth_state *state, - unsigned char *out); - -SODIUM_EXPORT -void crypto_onetimeauth_keygen(unsigned char k[crypto_onetimeauth_KEYBYTES]); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h deleted file mode 100755 index 479e923dc..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_onetimeauth_poly1305.h +++ /dev/null @@ -1,71 +0,0 @@ -#ifndef crypto_onetimeauth_poly1305_H -#define crypto_onetimeauth_poly1305_H - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#include -#include -#include - -#include - -#include "export.h" - -typedef CRYPTO_ALIGN(16) struct crypto_onetimeauth_poly1305_state { - unsigned char opaque[256]; -} crypto_onetimeauth_poly1305_state; - -SODIUM_EXPORT -size_t crypto_onetimeauth_poly1305_statebytes(void); - -#define crypto_onetimeauth_poly1305_BYTES 16U -SODIUM_EXPORT -size_t crypto_onetimeauth_poly1305_bytes(void); - -#define crypto_onetimeauth_poly1305_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_onetimeauth_poly1305_keybytes(void); - -SODIUM_EXPORT -int crypto_onetimeauth_poly1305(unsigned char *out, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_onetimeauth_poly1305_verify(const unsigned char *h, - const unsigned char *in, - unsigned long long inlen, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_onetimeauth_poly1305_init(crypto_onetimeauth_poly1305_state *state, - const unsigned char *key); - -SODIUM_EXPORT -int crypto_onetimeauth_poly1305_update(crypto_onetimeauth_poly1305_state *state, - const unsigned char *in, - unsigned long long inlen); - -SODIUM_EXPORT -int crypto_onetimeauth_poly1305_final(crypto_onetimeauth_poly1305_state *state, - unsigned char *out); - -SODIUM_EXPORT -void crypto_onetimeauth_poly1305_keygen(unsigned char k[crypto_onetimeauth_poly1305_KEYBYTES]); - -/* ------------------------------------------------------------------------- */ - -int _crypto_onetimeauth_poly1305_pick_best_implementation(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_pwhash.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_pwhash.h deleted file mode 100755 index 56eca0680..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_pwhash.h +++ /dev/null @@ -1,121 +0,0 @@ -#ifndef crypto_pwhash_H -#define crypto_pwhash_H - -#include - -#include "crypto_pwhash_argon2i.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_pwhash_ALG_ARGON2I13 crypto_pwhash_argon2i_ALG_ARGON2I13 -SODIUM_EXPORT -int crypto_pwhash_alg_argon2i13(void); - -#define crypto_pwhash_ALG_DEFAULT crypto_pwhash_ALG_ARGON2I13 -SODIUM_EXPORT -int crypto_pwhash_alg_default(void); - -#define crypto_pwhash_BYTES_MIN crypto_pwhash_argon2i_BYTES_MIN -SODIUM_EXPORT -size_t crypto_pwhash_bytes_min(void); - -#define crypto_pwhash_BYTES_MAX crypto_pwhash_argon2i_BYTES_MAX -SODIUM_EXPORT -size_t crypto_pwhash_bytes_max(void); - -#define crypto_pwhash_PASSWD_MIN crypto_pwhash_argon2i_PASSWD_MIN -SODIUM_EXPORT -size_t crypto_pwhash_passwd_min(void); - -#define crypto_pwhash_PASSWD_MAX crypto_pwhash_argon2i_PASSWD_MAX -SODIUM_EXPORT -size_t crypto_pwhash_passwd_max(void); - -#define crypto_pwhash_SALTBYTES crypto_pwhash_argon2i_SALTBYTES -SODIUM_EXPORT -size_t crypto_pwhash_saltbytes(void); - -#define crypto_pwhash_STRBYTES crypto_pwhash_argon2i_STRBYTES -SODIUM_EXPORT -size_t crypto_pwhash_strbytes(void); - -#define crypto_pwhash_STRPREFIX crypto_pwhash_argon2i_STRPREFIX -SODIUM_EXPORT -const char *crypto_pwhash_strprefix(void); - -#define crypto_pwhash_OPSLIMIT_MIN crypto_pwhash_argon2i_OPSLIMIT_MIN -SODIUM_EXPORT -size_t crypto_pwhash_opslimit_min(void); - -#define crypto_pwhash_OPSLIMIT_MAX crypto_pwhash_argon2i_OPSLIMIT_MAX -SODIUM_EXPORT -size_t crypto_pwhash_opslimit_max(void); - -#define crypto_pwhash_MEMLIMIT_MIN crypto_pwhash_argon2i_MEMLIMIT_MIN -SODIUM_EXPORT -size_t crypto_pwhash_memlimit_min(void); - -#define crypto_pwhash_MEMLIMIT_MAX crypto_pwhash_argon2i_MEMLIMIT_MAX -SODIUM_EXPORT -size_t crypto_pwhash_memlimit_max(void); - -#define crypto_pwhash_OPSLIMIT_INTERACTIVE crypto_pwhash_argon2i_OPSLIMIT_INTERACTIVE -SODIUM_EXPORT -size_t crypto_pwhash_opslimit_interactive(void); - -#define crypto_pwhash_MEMLIMIT_INTERACTIVE crypto_pwhash_argon2i_MEMLIMIT_INTERACTIVE -SODIUM_EXPORT -size_t crypto_pwhash_memlimit_interactive(void); - -#define crypto_pwhash_OPSLIMIT_MODERATE crypto_pwhash_argon2i_OPSLIMIT_MODERATE -SODIUM_EXPORT -size_t crypto_pwhash_opslimit_moderate(void); - -#define crypto_pwhash_MEMLIMIT_MODERATE crypto_pwhash_argon2i_MEMLIMIT_MODERATE -SODIUM_EXPORT -size_t crypto_pwhash_memlimit_moderate(void); - -#define crypto_pwhash_OPSLIMIT_SENSITIVE crypto_pwhash_argon2i_OPSLIMIT_SENSITIVE -SODIUM_EXPORT -size_t crypto_pwhash_opslimit_sensitive(void); - -#define crypto_pwhash_MEMLIMIT_SENSITIVE crypto_pwhash_argon2i_MEMLIMIT_SENSITIVE -SODIUM_EXPORT -size_t crypto_pwhash_memlimit_sensitive(void); - -SODIUM_EXPORT -int crypto_pwhash(unsigned char * const out, unsigned long long outlen, - const char * const passwd, unsigned long long passwdlen, - const unsigned char * const salt, - unsigned long long opslimit, size_t memlimit, int alg) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_pwhash_str(char out[crypto_pwhash_STRBYTES], - const char * const passwd, unsigned long long passwdlen, - unsigned long long opslimit, size_t memlimit) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_pwhash_str_verify(const char str[crypto_pwhash_STRBYTES], - const char * const passwd, - unsigned long long passwdlen) - __attribute__ ((warn_unused_result)); - -#define crypto_pwhash_PRIMITIVE "argon2i" -SODIUM_EXPORT -const char *crypto_pwhash_primitive(void) - __attribute__ ((warn_unused_result)); - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_pwhash_argon2i.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_pwhash_argon2i.h deleted file mode 100755 index d414b939d..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_pwhash_argon2i.h +++ /dev/null @@ -1,120 +0,0 @@ -#ifndef crypto_pwhash_argon2i_H -#define crypto_pwhash_argon2i_H - -#include -#include -#include - -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_pwhash_argon2i_ALG_ARGON2I13 1 -SODIUM_EXPORT -int crypto_pwhash_argon2i_alg_argon2i13(void); - -#define crypto_pwhash_argon2i_BYTES_MIN 16U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_bytes_min(void); - -#define crypto_pwhash_argon2i_BYTES_MAX 4294967295U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_bytes_max(void); - -#define crypto_pwhash_argon2i_PASSWD_MIN 0U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_passwd_min(void); - -#define crypto_pwhash_argon2i_PASSWD_MAX 4294967295U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_passwd_max(void); - -#define crypto_pwhash_argon2i_SALTBYTES 16U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_saltbytes(void); - -#define crypto_pwhash_argon2i_STRBYTES 128U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_strbytes(void); - -#define crypto_pwhash_argon2i_STRPREFIX "$argon2i$" -SODIUM_EXPORT -const char *crypto_pwhash_argon2i_strprefix(void); - -#define crypto_pwhash_argon2i_OPSLIMIT_MIN 3U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_opslimit_min(void); - -#define crypto_pwhash_argon2i_OPSLIMIT_MAX 4294967295U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_opslimit_max(void); - -#define crypto_pwhash_argon2i_MEMLIMIT_MIN 1U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_memlimit_min(void); - -#define crypto_pwhash_argon2i_MEMLIMIT_MAX ((SIZE_MAX >= 1ULL << 48) ? 4398046510080U : (SIZE_MAX >= 1ULL << 32) ? 2147483648U : 32768U) -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_memlimit_max(void); - -#define crypto_pwhash_argon2i_OPSLIMIT_INTERACTIVE 4U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_opslimit_interactive(void); - -#define crypto_pwhash_argon2i_MEMLIMIT_INTERACTIVE 33554432U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_memlimit_interactive(void); - -#define crypto_pwhash_argon2i_OPSLIMIT_MODERATE 6U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_opslimit_moderate(void); - -#define crypto_pwhash_argon2i_MEMLIMIT_MODERATE 134217728U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_memlimit_moderate(void); - -#define crypto_pwhash_argon2i_OPSLIMIT_SENSITIVE 8U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_opslimit_sensitive(void); - -#define crypto_pwhash_argon2i_MEMLIMIT_SENSITIVE 536870912U -SODIUM_EXPORT -size_t crypto_pwhash_argon2i_memlimit_sensitive(void); - -SODIUM_EXPORT -int crypto_pwhash_argon2i(unsigned char * const out, - unsigned long long outlen, - const char * const passwd, - unsigned long long passwdlen, - const unsigned char * const salt, - unsigned long long opslimit, size_t memlimit, - int alg) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_pwhash_argon2i_str(char out[crypto_pwhash_argon2i_STRBYTES], - const char * const passwd, - unsigned long long passwdlen, - unsigned long long opslimit, size_t memlimit) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_pwhash_argon2i_str_verify(const char str[crypto_pwhash_argon2i_STRBYTES], - const char * const passwd, - unsigned long long passwdlen) - __attribute__ ((warn_unused_result)); - -/* ------------------------------------------------------------------------- */ - -int _crypto_pwhash_argon2i_pick_best_implementation(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h deleted file mode 100755 index 9f693e540..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_pwhash_scryptsalsa208sha256.h +++ /dev/null @@ -1,112 +0,0 @@ -#ifndef crypto_pwhash_scryptsalsa208sha256_H -#define crypto_pwhash_scryptsalsa208sha256_H - -#include -#include -#include - -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_pwhash_scryptsalsa208sha256_BYTES_MIN 16U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_bytes_min(void); - -#define crypto_pwhash_scryptsalsa208sha256_BYTES_MAX SIZE_MAX -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_bytes_max(void); - -#define crypto_pwhash_scryptsalsa208sha256_PASSWD_MIN 0U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_passwd_min(void); - -#define crypto_pwhash_scryptsalsa208sha256_PASSWD_MAX SIZE_MAX -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_passwd_max(void); - -#define crypto_pwhash_scryptsalsa208sha256_SALTBYTES 32U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_saltbytes(void); - -#define crypto_pwhash_scryptsalsa208sha256_STRBYTES 102U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_strbytes(void); - -#define crypto_pwhash_scryptsalsa208sha256_STRPREFIX "$7$" -SODIUM_EXPORT -const char *crypto_pwhash_scryptsalsa208sha256_strprefix(void); - -#define crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MIN 32768U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_opslimit_min(void); - -#define crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MAX 4294967295U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_opslimit_max(void); - -#define crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MIN 16777216U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_memlimit_min(void); - -#define crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MAX ((SIZE_MAX >= 68719476736U) ? 68719476736U : SIZE_MAX) -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_memlimit_max(void); - -#define crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE 524288U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_opslimit_interactive(void); - -#define crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE 16777216U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_memlimit_interactive(void); - -#define crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_SENSITIVE 33554432U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive(void); - -#define crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_SENSITIVE 1073741824U -SODIUM_EXPORT -size_t crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive(void); - -SODIUM_EXPORT -int crypto_pwhash_scryptsalsa208sha256(unsigned char * const out, - unsigned long long outlen, - const char * const passwd, - unsigned long long passwdlen, - const unsigned char * const salt, - unsigned long long opslimit, - size_t memlimit) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_pwhash_scryptsalsa208sha256_str(char out[crypto_pwhash_scryptsalsa208sha256_STRBYTES], - const char * const passwd, - unsigned long long passwdlen, - unsigned long long opslimit, - size_t memlimit) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_pwhash_scryptsalsa208sha256_str_verify(const char str[crypto_pwhash_scryptsalsa208sha256_STRBYTES], - const char * const passwd, - unsigned long long passwdlen) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_pwhash_scryptsalsa208sha256_ll(const uint8_t * passwd, size_t passwdlen, - const uint8_t * salt, size_t saltlen, - uint64_t N, uint32_t r, uint32_t p, - uint8_t * buf, size_t buflen) - __attribute__ ((warn_unused_result)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_scalarmult.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_scalarmult.h deleted file mode 100755 index 830c10f64..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_scalarmult.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef crypto_scalarmult_H -#define crypto_scalarmult_H - -#include - -#include "crypto_scalarmult_curve25519.h" -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_scalarmult_BYTES crypto_scalarmult_curve25519_BYTES -SODIUM_EXPORT -size_t crypto_scalarmult_bytes(void); - -#define crypto_scalarmult_SCALARBYTES crypto_scalarmult_curve25519_SCALARBYTES -SODIUM_EXPORT -size_t crypto_scalarmult_scalarbytes(void); - -#define crypto_scalarmult_PRIMITIVE "curve25519" -SODIUM_EXPORT -const char *crypto_scalarmult_primitive(void); - -SODIUM_EXPORT -int crypto_scalarmult_base(unsigned char *q, const unsigned char *n); - -SODIUM_EXPORT -int crypto_scalarmult(unsigned char *q, const unsigned char *n, - const unsigned char *p) - __attribute__ ((warn_unused_result)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h deleted file mode 100755 index 953f8923c..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_scalarmult_curve25519.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef crypto_scalarmult_curve25519_H -#define crypto_scalarmult_curve25519_H - -#include - -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_scalarmult_curve25519_BYTES 32U -SODIUM_EXPORT -size_t crypto_scalarmult_curve25519_bytes(void); - -#define crypto_scalarmult_curve25519_SCALARBYTES 32U -SODIUM_EXPORT -size_t crypto_scalarmult_curve25519_scalarbytes(void); - -SODIUM_EXPORT -int crypto_scalarmult_curve25519(unsigned char *q, const unsigned char *n, - const unsigned char *p) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_scalarmult_curve25519_base(unsigned char *q, const unsigned char *n); - -/* ------------------------------------------------------------------------- */ - -int _crypto_scalarmult_curve25519_pick_best_implementation(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_secretbox.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_secretbox.h deleted file mode 100755 index 9b098200e..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_secretbox.h +++ /dev/null @@ -1,87 +0,0 @@ -#ifndef crypto_secretbox_H -#define crypto_secretbox_H - -#include - -#include "crypto_secretbox_xsalsa20poly1305.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_secretbox_KEYBYTES crypto_secretbox_xsalsa20poly1305_KEYBYTES -SODIUM_EXPORT -size_t crypto_secretbox_keybytes(void); - -#define crypto_secretbox_NONCEBYTES crypto_secretbox_xsalsa20poly1305_NONCEBYTES -SODIUM_EXPORT -size_t crypto_secretbox_noncebytes(void); - -#define crypto_secretbox_MACBYTES crypto_secretbox_xsalsa20poly1305_MACBYTES -SODIUM_EXPORT -size_t crypto_secretbox_macbytes(void); - -#define crypto_secretbox_PRIMITIVE "xsalsa20poly1305" -SODIUM_EXPORT -const char *crypto_secretbox_primitive(void); - -SODIUM_EXPORT -int crypto_secretbox_easy(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_secretbox_open_easy(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_secretbox_detached(unsigned char *c, unsigned char *mac, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_secretbox_open_detached(unsigned char *m, - const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -void crypto_secretbox_keygen(unsigned char k[crypto_secretbox_KEYBYTES]); - -/* -- NaCl compatibility interface ; Requires padding -- */ - -#define crypto_secretbox_ZEROBYTES crypto_secretbox_xsalsa20poly1305_ZEROBYTES -SODIUM_EXPORT -size_t crypto_secretbox_zerobytes(void); - -#define crypto_secretbox_BOXZEROBYTES crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES -SODIUM_EXPORT -size_t crypto_secretbox_boxzerobytes(void); - -SODIUM_EXPORT -int crypto_secretbox(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_secretbox_open(unsigned char *m, const unsigned char *c, - unsigned long long clen, const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_secretbox_xchacha20poly1305.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_secretbox_xchacha20poly1305.h deleted file mode 100755 index 7a61a0917..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_secretbox_xchacha20poly1305.h +++ /dev/null @@ -1,62 +0,0 @@ -#ifndef crypto_secretbox_xchacha20poly1305_H -#define crypto_secretbox_xchacha20poly1305_H - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_secretbox_xchacha20poly1305_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_secretbox_xchacha20poly1305_keybytes(void); - -#define crypto_secretbox_xchacha20poly1305_NONCEBYTES 24U -SODIUM_EXPORT -size_t crypto_secretbox_xchacha20poly1305_noncebytes(void); - -#define crypto_secretbox_xchacha20poly1305_MACBYTES 16U -SODIUM_EXPORT -size_t crypto_secretbox_xchacha20poly1305_macbytes(void); - -SODIUM_EXPORT -int crypto_secretbox_xchacha20poly1305_easy(unsigned char *c, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_secretbox_xchacha20poly1305_open_easy(unsigned char *m, - const unsigned char *c, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_secretbox_xchacha20poly1305_detached(unsigned char *c, - unsigned char *mac, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_secretbox_xchacha20poly1305_open_detached(unsigned char *m, - const unsigned char *c, - const unsigned char *mac, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h deleted file mode 100755 index 5aa30805d..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_secretbox_xsalsa20poly1305.h +++ /dev/null @@ -1,58 +0,0 @@ -#ifndef crypto_secretbox_xsalsa20poly1305_H -#define crypto_secretbox_xsalsa20poly1305_H - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_secretbox_xsalsa20poly1305_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_secretbox_xsalsa20poly1305_keybytes(void); - -#define crypto_secretbox_xsalsa20poly1305_NONCEBYTES 24U -SODIUM_EXPORT -size_t crypto_secretbox_xsalsa20poly1305_noncebytes(void); - -#define crypto_secretbox_xsalsa20poly1305_MACBYTES 16U -SODIUM_EXPORT -size_t crypto_secretbox_xsalsa20poly1305_macbytes(void); - -#define crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES 16U -SODIUM_EXPORT -size_t crypto_secretbox_xsalsa20poly1305_boxzerobytes(void); - -#define crypto_secretbox_xsalsa20poly1305_ZEROBYTES \ - (crypto_secretbox_xsalsa20poly1305_BOXZEROBYTES + \ - crypto_secretbox_xsalsa20poly1305_MACBYTES) -SODIUM_EXPORT -size_t crypto_secretbox_xsalsa20poly1305_zerobytes(void); - -SODIUM_EXPORT -int crypto_secretbox_xsalsa20poly1305(unsigned char *c, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_secretbox_xsalsa20poly1305_open(unsigned char *m, - const unsigned char *c, - unsigned long long clen, - const unsigned char *n, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -void crypto_secretbox_xsalsa20poly1305_keygen(unsigned char k[crypto_secretbox_xsalsa20poly1305_KEYBYTES]); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_shorthash.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_shorthash.h deleted file mode 100755 index a49880824..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_shorthash.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef crypto_shorthash_H -#define crypto_shorthash_H - -#include - -#include "crypto_shorthash_siphash24.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_shorthash_BYTES crypto_shorthash_siphash24_BYTES -SODIUM_EXPORT -size_t crypto_shorthash_bytes(void); - -#define crypto_shorthash_KEYBYTES crypto_shorthash_siphash24_KEYBYTES -SODIUM_EXPORT -size_t crypto_shorthash_keybytes(void); - -#define crypto_shorthash_PRIMITIVE "siphash24" -SODIUM_EXPORT -const char *crypto_shorthash_primitive(void); - -SODIUM_EXPORT -int crypto_shorthash(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k); - -SODIUM_EXPORT -void crypto_shorthash_keygen(unsigned char k[crypto_shorthash_KEYBYTES]); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_shorthash_siphash24.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_shorthash_siphash24.h deleted file mode 100755 index 745ed48fa..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_shorthash_siphash24.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef crypto_shorthash_siphash24_H -#define crypto_shorthash_siphash24_H - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -/* -- 64-bit output -- */ - -#define crypto_shorthash_siphash24_BYTES 8U -SODIUM_EXPORT -size_t crypto_shorthash_siphash24_bytes(void); - -#define crypto_shorthash_siphash24_KEYBYTES 16U -SODIUM_EXPORT -size_t crypto_shorthash_siphash24_keybytes(void); - -SODIUM_EXPORT -int crypto_shorthash_siphash24(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k); - -#ifndef SODIUM_LIBRARY_MINIMAL -/* -- 128-bit output -- */ - -#define crypto_shorthash_siphashx24_BYTES 16U -SODIUM_EXPORT -size_t crypto_shorthash_siphashx24_bytes(void); - -#define crypto_shorthash_siphashx24_KEYBYTES 16U -SODIUM_EXPORT -size_t crypto_shorthash_siphashx24_keybytes(void); - -SODIUM_EXPORT -int crypto_shorthash_siphashx24(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *k); -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_sign.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_sign.h deleted file mode 100755 index b0335bf27..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_sign.h +++ /dev/null @@ -1,99 +0,0 @@ -#ifndef crypto_sign_H -#define crypto_sign_H - -/* - * THREAD SAFETY: crypto_sign_keypair() is thread-safe, - * provided that sodium_init() was called before. - * - * Other functions, including crypto_sign_seed_keypair() are always thread-safe. - */ - -#include - -#include "crypto_sign_ed25519.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -typedef crypto_sign_ed25519ph_state crypto_sign_state; - -SODIUM_EXPORT -size_t crypto_sign_statebytes(void); - -#define crypto_sign_BYTES crypto_sign_ed25519_BYTES -SODIUM_EXPORT -size_t crypto_sign_bytes(void); - -#define crypto_sign_SEEDBYTES crypto_sign_ed25519_SEEDBYTES -SODIUM_EXPORT -size_t crypto_sign_seedbytes(void); - -#define crypto_sign_PUBLICKEYBYTES crypto_sign_ed25519_PUBLICKEYBYTES -SODIUM_EXPORT -size_t crypto_sign_publickeybytes(void); - -#define crypto_sign_SECRETKEYBYTES crypto_sign_ed25519_SECRETKEYBYTES -SODIUM_EXPORT -size_t crypto_sign_secretkeybytes(void); - -#define crypto_sign_PRIMITIVE "ed25519" -SODIUM_EXPORT -const char *crypto_sign_primitive(void); - -SODIUM_EXPORT -int crypto_sign_seed_keypair(unsigned char *pk, unsigned char *sk, - const unsigned char *seed); - -SODIUM_EXPORT -int crypto_sign_keypair(unsigned char *pk, unsigned char *sk); - -SODIUM_EXPORT -int crypto_sign(unsigned char *sm, unsigned long long *smlen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *sk); - -SODIUM_EXPORT -int crypto_sign_open(unsigned char *m, unsigned long long *mlen_p, - const unsigned char *sm, unsigned long long smlen, - const unsigned char *pk) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_sign_detached(unsigned char *sig, unsigned long long *siglen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *sk); - -SODIUM_EXPORT -int crypto_sign_verify_detached(const unsigned char *sig, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *pk) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_sign_init(crypto_sign_state *state); - -SODIUM_EXPORT -int crypto_sign_update(crypto_sign_state *state, - const unsigned char *m, unsigned long long mlen); - -SODIUM_EXPORT -int crypto_sign_final_create(crypto_sign_state *state, unsigned char *sig, - unsigned long long *siglen_p, - const unsigned char *sk); - -SODIUM_EXPORT -int crypto_sign_final_verify(crypto_sign_state *state, unsigned char *sig, - const unsigned char *pk) - __attribute__ ((warn_unused_result)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_sign_ed25519.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_sign_ed25519.h deleted file mode 100755 index 17c150f28..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_sign_ed25519.h +++ /dev/null @@ -1,110 +0,0 @@ -#ifndef crypto_sign_ed25519_H -#define crypto_sign_ed25519_H - -#include -#include "crypto_hash_sha512.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -typedef struct crypto_sign_ed25519ph_state { - crypto_hash_sha512_state hs; -} crypto_sign_ed25519ph_state; - -SODIUM_EXPORT -size_t crypto_sign_ed25519ph_statebytes(void); - -#define crypto_sign_ed25519_BYTES 64U -SODIUM_EXPORT -size_t crypto_sign_ed25519_bytes(void); - -#define crypto_sign_ed25519_SEEDBYTES 32U -SODIUM_EXPORT -size_t crypto_sign_ed25519_seedbytes(void); - -#define crypto_sign_ed25519_PUBLICKEYBYTES 32U -SODIUM_EXPORT -size_t crypto_sign_ed25519_publickeybytes(void); - -#define crypto_sign_ed25519_SECRETKEYBYTES (32U + 32U) -SODIUM_EXPORT -size_t crypto_sign_ed25519_secretkeybytes(void); - -SODIUM_EXPORT -int crypto_sign_ed25519(unsigned char *sm, unsigned long long *smlen_p, - const unsigned char *m, unsigned long long mlen, - const unsigned char *sk); - -SODIUM_EXPORT -int crypto_sign_ed25519_open(unsigned char *m, unsigned long long *mlen_p, - const unsigned char *sm, unsigned long long smlen, - const unsigned char *pk) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_sign_ed25519_detached(unsigned char *sig, - unsigned long long *siglen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *sk); - -SODIUM_EXPORT -int crypto_sign_ed25519_verify_detached(const unsigned char *sig, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *pk) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_sign_ed25519_keypair(unsigned char *pk, unsigned char *sk); - -SODIUM_EXPORT -int crypto_sign_ed25519_seed_keypair(unsigned char *pk, unsigned char *sk, - const unsigned char *seed); - -SODIUM_EXPORT -int crypto_sign_ed25519_pk_to_curve25519(unsigned char *curve25519_pk, - const unsigned char *ed25519_pk) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_sign_ed25519_sk_to_curve25519(unsigned char *curve25519_sk, - const unsigned char *ed25519_sk); - -SODIUM_EXPORT -int crypto_sign_ed25519_sk_to_seed(unsigned char *seed, - const unsigned char *sk); - -SODIUM_EXPORT -int crypto_sign_ed25519_sk_to_pk(unsigned char *pk, const unsigned char *sk); - -SODIUM_EXPORT -int crypto_sign_ed25519ph_init(crypto_sign_ed25519ph_state *state); - -SODIUM_EXPORT -int crypto_sign_ed25519ph_update(crypto_sign_ed25519ph_state *state, - const unsigned char *m, - unsigned long long mlen); - -SODIUM_EXPORT -int crypto_sign_ed25519ph_final_create(crypto_sign_ed25519ph_state *state, - unsigned char *sig, - unsigned long long *siglen_p, - const unsigned char *sk); - -SODIUM_EXPORT -int crypto_sign_ed25519ph_final_verify(crypto_sign_ed25519ph_state *state, - unsigned char *sig, - const unsigned char *pk) - __attribute__ ((warn_unused_result)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h deleted file mode 100755 index 2224a94e0..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_sign_edwards25519sha512batch.h +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef crypto_sign_edwards25519sha512batch_H -#define crypto_sign_edwards25519sha512batch_H - -/* - * WARNING: This construction was a prototype, which should not be used - * any more in new projects. - * - * crypto_sign_edwards25519sha512batch is provided for applications - * initially built with NaCl, but as recommended by the author of this - * construction, new applications should use ed25519 instead. - * - * In Sodium, you should use the high-level crypto_sign_*() functions instead. - */ - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_sign_edwards25519sha512batch_BYTES 64U -#define crypto_sign_edwards25519sha512batch_PUBLICKEYBYTES 32U -#define crypto_sign_edwards25519sha512batch_SECRETKEYBYTES (32U + 32U) - -SODIUM_EXPORT -int crypto_sign_edwards25519sha512batch(unsigned char *sm, - unsigned long long *smlen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *sk) - __attribute__ ((deprecated)); - -SODIUM_EXPORT -int crypto_sign_edwards25519sha512batch_open(unsigned char *m, - unsigned long long *mlen_p, - const unsigned char *sm, - unsigned long long smlen, - const unsigned char *pk) - __attribute__ ((deprecated)); - -SODIUM_EXPORT -int crypto_sign_edwards25519sha512batch_keypair(unsigned char *pk, - unsigned char *sk) - __attribute__ ((deprecated)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream.h deleted file mode 100755 index 22de6ff52..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef crypto_stream_H -#define crypto_stream_H - -/* - * WARNING: This is just a stream cipher. It is NOT authenticated encryption. - * While it provides some protection against eavesdropping, it does NOT - * provide any security against active attacks. - * Unless you know what you're doing, what you are looking for is probably - * the crypto_box functions. - */ - -#include - -#include "crypto_stream_xsalsa20.h" -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_stream_KEYBYTES crypto_stream_xsalsa20_KEYBYTES -SODIUM_EXPORT -size_t crypto_stream_keybytes(void); - -#define crypto_stream_NONCEBYTES crypto_stream_xsalsa20_NONCEBYTES -SODIUM_EXPORT -size_t crypto_stream_noncebytes(void); - -#define crypto_stream_PRIMITIVE "xsalsa20" -SODIUM_EXPORT -const char *crypto_stream_primitive(void); - -SODIUM_EXPORT -int crypto_stream(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k); - -SODIUM_EXPORT -int crypto_stream_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k); - -SODIUM_EXPORT -void crypto_stream_keygen(unsigned char k[crypto_stream_KEYBYTES]); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_aes128ctr.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_aes128ctr.h deleted file mode 100755 index 33ee1b897..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_aes128ctr.h +++ /dev/null @@ -1,65 +0,0 @@ -#ifndef crypto_stream_aes128ctr_H -#define crypto_stream_aes128ctr_H - -/* - * WARNING: This is just a stream cipher. It is NOT authenticated encryption. - * While it provides some protection against eavesdropping, it does NOT - * provide any security against active attacks. - * Unless you know what you're doing, what you are looking for is probably - * the crypto_box functions. - */ - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_stream_aes128ctr_KEYBYTES 16U -SODIUM_EXPORT -size_t crypto_stream_aes128ctr_keybytes(void); - -#define crypto_stream_aes128ctr_NONCEBYTES 16U -SODIUM_EXPORT -size_t crypto_stream_aes128ctr_noncebytes(void); - -#define crypto_stream_aes128ctr_BEFORENMBYTES 1408U -SODIUM_EXPORT -size_t crypto_stream_aes128ctr_beforenmbytes(void); - -SODIUM_EXPORT -int crypto_stream_aes128ctr(unsigned char *out, unsigned long long outlen, - const unsigned char *n, const unsigned char *k) - __attribute__ ((deprecated)); - -SODIUM_EXPORT -int crypto_stream_aes128ctr_xor(unsigned char *out, const unsigned char *in, - unsigned long long inlen, const unsigned char *n, - const unsigned char *k) - __attribute__ ((deprecated)); - -SODIUM_EXPORT -int crypto_stream_aes128ctr_beforenm(unsigned char *c, const unsigned char *k) - __attribute__ ((deprecated)); - -SODIUM_EXPORT -int crypto_stream_aes128ctr_afternm(unsigned char *out, unsigned long long len, - const unsigned char *nonce, const unsigned char *c) - __attribute__ ((deprecated)); - -SODIUM_EXPORT -int crypto_stream_aes128ctr_xor_afternm(unsigned char *out, const unsigned char *in, - unsigned long long len, - const unsigned char *nonce, - const unsigned char *c) - __attribute__ ((deprecated)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_chacha20.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_chacha20.h deleted file mode 100755 index cf3ffe895..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_chacha20.h +++ /dev/null @@ -1,92 +0,0 @@ -#ifndef crypto_stream_chacha20_H -#define crypto_stream_chacha20_H - -/* - * WARNING: This is just a stream cipher. It is NOT authenticated encryption. - * While it provides some protection against eavesdropping, it does NOT - * provide any security against active attacks. - * Unless you know what you're doing, what you are looking for is probably - * the crypto_box functions. - */ - -#include -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_stream_chacha20_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_stream_chacha20_keybytes(void); - -#define crypto_stream_chacha20_NONCEBYTES 8U -SODIUM_EXPORT -size_t crypto_stream_chacha20_noncebytes(void); - -/* ChaCha20 with a 64-bit nonce and a 64-bit counter, as originally designed */ - -SODIUM_EXPORT -int crypto_stream_chacha20(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k); - -SODIUM_EXPORT -int crypto_stream_chacha20_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_stream_chacha20_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint64_t ic, - const unsigned char *k); - -SODIUM_EXPORT -void crypto_stream_chacha20_keygen(unsigned char k[crypto_stream_chacha20_KEYBYTES]); - -/* ChaCha20 with a 96-bit nonce and a 32-bit counter (IETF) */ - -#define crypto_stream_chacha20_ietf_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_stream_chacha20_ietf_keybytes(void); - -#define crypto_stream_chacha20_ietf_NONCEBYTES 12U -SODIUM_EXPORT -size_t crypto_stream_chacha20_ietf_noncebytes(void); - -SODIUM_EXPORT -int crypto_stream_chacha20_ietf(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k); - -SODIUM_EXPORT -int crypto_stream_chacha20_ietf_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_stream_chacha20_ietf_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint32_t ic, - const unsigned char *k); - -SODIUM_EXPORT -void crypto_stream_chacha20_ietf_keygen(unsigned char k[crypto_stream_chacha20_ietf_KEYBYTES]); - -/* ------------------------------------------------------------------------- */ - -int _crypto_stream_chacha20_pick_best_implementation(void); - -/* Aliases */ - -#define crypto_stream_chacha20_IETF_KEYBYTES crypto_stream_chacha20_ietf_KEYBYTES -#define crypto_stream_chacha20_IETF_NONCEBYTES crypto_stream_chacha20_ietf_NONCEBYTES - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_salsa20.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_salsa20.h deleted file mode 100755 index 741140eb2..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_salsa20.h +++ /dev/null @@ -1,57 +0,0 @@ -#ifndef crypto_stream_salsa20_H -#define crypto_stream_salsa20_H - -/* - * WARNING: This is just a stream cipher. It is NOT authenticated encryption. - * While it provides some protection against eavesdropping, it does NOT - * provide any security against active attacks. - * Unless you know what you're doing, what you are looking for is probably - * the crypto_box functions. - */ - -#include -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_stream_salsa20_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_stream_salsa20_keybytes(void); - -#define crypto_stream_salsa20_NONCEBYTES 8U -SODIUM_EXPORT -size_t crypto_stream_salsa20_noncebytes(void); - -SODIUM_EXPORT -int crypto_stream_salsa20(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k); - -SODIUM_EXPORT -int crypto_stream_salsa20_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_stream_salsa20_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint64_t ic, - const unsigned char *k); - -SODIUM_EXPORT -void crypto_stream_salsa20_keygen(unsigned char k[crypto_stream_salsa20_KEYBYTES]); - -/* ------------------------------------------------------------------------- */ - -int _crypto_stream_salsa20_pick_best_implementation(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_salsa2012.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_salsa2012.h deleted file mode 100755 index d5c442821..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_salsa2012.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef crypto_stream_salsa2012_H -#define crypto_stream_salsa2012_H - -/* - * WARNING: This is just a stream cipher. It is NOT authenticated encryption. - * While it provides some protection against eavesdropping, it does NOT - * provide any security against active attacks. - * Unless you know what you're doing, what you are looking for is probably - * the crypto_box functions. - */ - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_stream_salsa2012_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_stream_salsa2012_keybytes(void); - -#define crypto_stream_salsa2012_NONCEBYTES 8U -SODIUM_EXPORT -size_t crypto_stream_salsa2012_noncebytes(void); - -SODIUM_EXPORT -int crypto_stream_salsa2012(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k); - -SODIUM_EXPORT -int crypto_stream_salsa2012_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k); - -SODIUM_EXPORT -void crypto_stream_salsa2012_keygen(unsigned char k[crypto_stream_salsa2012_KEYBYTES]); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_salsa208.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_salsa208.h deleted file mode 100755 index 02b4166e1..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_salsa208.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef crypto_stream_salsa208_H -#define crypto_stream_salsa208_H - -/* - * WARNING: This is just a stream cipher. It is NOT authenticated encryption. - * While it provides some protection against eavesdropping, it does NOT - * provide any security against active attacks. - * Unless you know what you're doing, what you are looking for is probably - * the crypto_box functions. - */ - -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_stream_salsa208_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_stream_salsa208_keybytes(void); - -#define crypto_stream_salsa208_NONCEBYTES 8U -SODIUM_EXPORT -size_t crypto_stream_salsa208_noncebytes(void); - -SODIUM_EXPORT -int crypto_stream_salsa208(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k); - -SODIUM_EXPORT -int crypto_stream_salsa208_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k); - -SODIUM_EXPORT -void crypto_stream_salsa208_keygen(unsigned char k[crypto_stream_salsa208_KEYBYTES]); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_xchacha20.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_xchacha20.h deleted file mode 100755 index f884798e7..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_xchacha20.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef crypto_stream_xchacha20_H -#define crypto_stream_xchacha20_H - -/* - * WARNING: This is just a stream cipher. It is NOT authenticated encryption. - * While it provides some protection against eavesdropping, it does NOT - * provide any security against active attacks. - * Unless you know what you're doing, what you are looking for is probably - * the crypto_box functions. - */ - -#include -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_stream_xchacha20_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_stream_xchacha20_keybytes(void); - -#define crypto_stream_xchacha20_NONCEBYTES 24U -SODIUM_EXPORT -size_t crypto_stream_xchacha20_noncebytes(void); - -SODIUM_EXPORT -int crypto_stream_xchacha20(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k); - -SODIUM_EXPORT -int crypto_stream_xchacha20_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_stream_xchacha20_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint64_t ic, - const unsigned char *k); - -SODIUM_EXPORT -void crypto_stream_xchacha20_keygen(unsigned char k[crypto_stream_xchacha20_KEYBYTES]); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_xsalsa20.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_xsalsa20.h deleted file mode 100755 index ed5ae3c3d..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_stream_xsalsa20.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef crypto_stream_xsalsa20_H -#define crypto_stream_xsalsa20_H - -/* - * WARNING: This is just a stream cipher. It is NOT authenticated encryption. - * While it provides some protection against eavesdropping, it does NOT - * provide any security against active attacks. - * Unless you know what you're doing, what you are looking for is probably - * the crypto_box functions. - */ - -#include -#include -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -#define crypto_stream_xsalsa20_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_stream_xsalsa20_keybytes(void); - -#define crypto_stream_xsalsa20_NONCEBYTES 24U -SODIUM_EXPORT -size_t crypto_stream_xsalsa20_noncebytes(void); - -SODIUM_EXPORT -int crypto_stream_xsalsa20(unsigned char *c, unsigned long long clen, - const unsigned char *n, const unsigned char *k); - -SODIUM_EXPORT -int crypto_stream_xsalsa20_xor(unsigned char *c, const unsigned char *m, - unsigned long long mlen, const unsigned char *n, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_stream_xsalsa20_xor_ic(unsigned char *c, const unsigned char *m, - unsigned long long mlen, - const unsigned char *n, uint64_t ic, - const unsigned char *k); - -SODIUM_EXPORT -void crypto_stream_xsalsa20_keygen(unsigned char k[crypto_stream_xsalsa20_KEYBYTES]); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_verify_16.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_verify_16.h deleted file mode 100755 index 5e9eeabee..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_verify_16.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef crypto_verify_16_H -#define crypto_verify_16_H - -#include -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_verify_16_BYTES 16U -SODIUM_EXPORT -size_t crypto_verify_16_bytes(void); - -SODIUM_EXPORT -int crypto_verify_16(const unsigned char *x, const unsigned char *y) - __attribute__ ((warn_unused_result)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_verify_32.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_verify_32.h deleted file mode 100755 index 281b5a1bb..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_verify_32.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef crypto_verify_32_H -#define crypto_verify_32_H - -#include -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_verify_32_BYTES 32U -SODIUM_EXPORT -size_t crypto_verify_32_bytes(void); - -SODIUM_EXPORT -int crypto_verify_32(const unsigned char *x, const unsigned char *y) - __attribute__ ((warn_unused_result)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_verify_64.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_verify_64.h deleted file mode 100755 index 0dc7c304a..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/crypto_verify_64.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef crypto_verify_64_H -#define crypto_verify_64_H - -#include -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define crypto_verify_64_BYTES 64U -SODIUM_EXPORT -size_t crypto_verify_64_bytes(void); - -SODIUM_EXPORT -int crypto_verify_64(const unsigned char *x, const unsigned char *y) - __attribute__ ((warn_unused_result)); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/export.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/export.h deleted file mode 100755 index c33bced81..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/export.h +++ /dev/null @@ -1,44 +0,0 @@ - -#ifndef sodium_export_H -#define sodium_export_H - -#ifndef __GNUC__ -# ifdef __attribute__ -# undef __attribute__ -# endif -# define __attribute__(a) -#endif - -#ifdef SODIUM_STATIC -# define SODIUM_EXPORT -#else -# if defined(_MSC_VER) -# ifdef SODIUM_DLL_EXPORT -# define SODIUM_EXPORT __declspec(dllexport) -# else -# define SODIUM_EXPORT __declspec(dllimport) -# endif -# else -# if defined(__SUNPRO_C) -# ifndef __GNU_C__ -# define SODIUM_EXPORT __attribute__ (visibility(__global)) -# else -# define SODIUM_EXPORT __attribute__ __global -# endif -# elif defined(_MSG_VER) -# define SODIUM_EXPORT extern __declspec(dllexport) -# else -# define SODIUM_EXPORT __attribute__ ((visibility ("default"))) -# endif -# endif -#endif - -#ifndef CRYPTO_ALIGN -# if defined(__INTEL_COMPILER) || defined(_MSC_VER) -# define CRYPTO_ALIGN(x) __declspec(align(x)) -# else -# define CRYPTO_ALIGN(x) __attribute__ ((aligned(x))) -# endif -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/private/common.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/private/common.h deleted file mode 100755 index 5e27e5749..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/private/common.h +++ /dev/null @@ -1,217 +0,0 @@ -#ifndef common_H -#define common_H 1 - -#include -#include -#include - -#define COMPILER_ASSERT(X) (void) sizeof(char[(X) ? 1 : -1]) - -#define ROTL32(X, B) rotl32((X), (B)) -static inline uint32_t -rotl32(const uint32_t x, const int b) -{ - return (x << b) | (x >> (32 - b)); -} - -#define ROTL64(X, B) rotl64((X), (B)) -static inline uint64_t -rotl64(const uint64_t x, const int b) -{ - return (x << b) | (x >> (64 - b)); -} - -#define ROTR32(X, B) rotr32((X), (B)) -static inline uint32_t -rotr32(const uint32_t x, const int b) -{ - return (x >> b) | (x << (32 - b)); -} - -#define ROTR64(X, B) rotr64((X), (B)) -static inline uint64_t -rotr64(const uint64_t x, const int b) -{ - return (x >> b) | (x << (64 - b)); -} - -#define LOAD64_LE(SRC) load64_le(SRC) -static inline uint64_t -load64_le(const uint8_t src[8]) -{ -#ifdef NATIVE_LITTLE_ENDIAN - uint64_t w; - memcpy(&w, src, sizeof w); - return w; -#else - uint64_t w = (uint64_t) src[0]; - w |= (uint64_t) src[1] << 8; - w |= (uint64_t) src[2] << 16; - w |= (uint64_t) src[3] << 24; - w |= (uint64_t) src[4] << 32; - w |= (uint64_t) src[5] << 40; - w |= (uint64_t) src[6] << 48; - w |= (uint64_t) src[7] << 56; - return w; -#endif -} - -#define STORE64_LE(DST, W) store64_le((DST), (W)) -static inline void -store64_le(uint8_t dst[8], uint64_t w) -{ -#ifdef NATIVE_LITTLE_ENDIAN - memcpy(dst, &w, sizeof w); -#else - dst[0] = (uint8_t) w; w >>= 8; - dst[1] = (uint8_t) w; w >>= 8; - dst[2] = (uint8_t) w; w >>= 8; - dst[3] = (uint8_t) w; w >>= 8; - dst[4] = (uint8_t) w; w >>= 8; - dst[5] = (uint8_t) w; w >>= 8; - dst[6] = (uint8_t) w; w >>= 8; - dst[7] = (uint8_t) w; -#endif -} - -#define LOAD32_LE(SRC) load32_le(SRC) -static inline uint32_t -load32_le(const uint8_t src[4]) -{ -#ifdef NATIVE_LITTLE_ENDIAN - uint32_t w; - memcpy(&w, src, sizeof w); - return w; -#else - uint32_t w = (uint32_t) src[0]; - w |= (uint32_t) src[1] << 8; - w |= (uint32_t) src[2] << 16; - w |= (uint32_t) src[3] << 24; - return w; -#endif -} - -#define STORE32_LE(DST, W) store32_le((DST), (W)) -static inline void -store32_le(uint8_t dst[4], uint32_t w) -{ -#ifdef NATIVE_LITTLE_ENDIAN - memcpy(dst, &w, sizeof w); -#else - dst[0] = (uint8_t) w; w >>= 8; - dst[1] = (uint8_t) w; w >>= 8; - dst[2] = (uint8_t) w; w >>= 8; - dst[3] = (uint8_t) w; -#endif -} - -/* ----- */ - -#define LOAD64_BE(SRC) load64_be(SRC) -static inline uint64_t -load64_be(const uint8_t src[8]) -{ -#ifdef NATIVE_BIG_ENDIAN - uint64_t w; - memcpy(&w, src, sizeof w); - return w; -#else - uint64_t w = (uint64_t) src[7]; - w |= (uint64_t) src[6] << 8; - w |= (uint64_t) src[5] << 16; - w |= (uint64_t) src[4] << 24; - w |= (uint64_t) src[3] << 32; - w |= (uint64_t) src[2] << 40; - w |= (uint64_t) src[1] << 48; - w |= (uint64_t) src[0] << 56; - return w; -#endif -} - -#define STORE64_BE(DST, W) store64_be((DST), (W)) -static inline void -store64_be(uint8_t dst[8], uint64_t w) -{ -#ifdef NATIVE_BIG_ENDIAN - memcpy(dst, &w, sizeof w); -#else - dst[7] = (uint8_t) w; w >>= 8; - dst[6] = (uint8_t) w; w >>= 8; - dst[5] = (uint8_t) w; w >>= 8; - dst[4] = (uint8_t) w; w >>= 8; - dst[3] = (uint8_t) w; w >>= 8; - dst[2] = (uint8_t) w; w >>= 8; - dst[1] = (uint8_t) w; w >>= 8; - dst[0] = (uint8_t) w; -#endif -} - -#define LOAD32_BE(SRC) load32_be(SRC) -static inline uint32_t -load32_be(const uint8_t src[4]) -{ -#ifdef NATIVE_BIG_ENDIAN - uint32_t w; - memcpy(&w, src, sizeof w); - return w; -#else - uint32_t w = (uint32_t) src[3]; - w |= (uint32_t) src[2] << 8; - w |= (uint32_t) src[1] << 16; - w |= (uint32_t) src[0] << 24; - return w; -#endif -} - -#define STORE32_BE(DST, W) store32_be((DST), (W)) -static inline void -store32_be(uint8_t dst[4], uint32_t w) -{ -#ifdef NATIVE_BIG_ENDIAN - memcpy(dst, &w, sizeof w); -#else - dst[3] = (uint8_t) w; w >>= 8; - dst[2] = (uint8_t) w; w >>= 8; - dst[1] = (uint8_t) w; w >>= 8; - dst[0] = (uint8_t) w; -#endif -} - -#ifndef __GNUC__ -# ifdef __attribute__ -# undef __attribute__ -# endif -# define __attribute__(a) -#endif - -#ifndef CRYPTO_ALIGN -# if defined(__INTEL_COMPILER) || defined(_MSC_VER) -# define CRYPTO_ALIGN(x) __declspec(align(x)) -# else -# define CRYPTO_ALIGN(x) __attribute__ ((aligned(x))) -# endif -#endif - -#if defined(_MSC_VER) && \ - (defined(_M_X64) || defined(_M_AMD64) || defined(_M_IX86)) - -# include - -# define HAVE_INTRIN_H 1 -# define HAVE_MMINTRIN_H 1 -# define HAVE_EMMINTRIN_H 1 -# define HAVE_PMMINTRIN_H 1 -# define HAVE_TMMINTRIN_H 1 -# define HAVE_SMMINTRIN_H 1 -# define HAVE_AVXINTRIN_H 1 -# if _MSC_VER >= 1600 -# define HAVE_WMMINTRIN_H 1 -# endif -# if _MSC_VER >= 1700 && defined(_M_X64) -# define HAVE_AVX2INTRIN_H 1 -# endif -#elif defined(HAVE_INTRIN_H) -# include -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/private/curve25519_ref10.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/private/curve25519_ref10.h deleted file mode 100755 index 2b9caeb1f..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/private/curve25519_ref10.h +++ /dev/null @@ -1,160 +0,0 @@ -#ifndef curve25519_ref10_H -#define curve25519_ref10_H - -#include -#include - -#define fe crypto_core_curve25519_ref10_fe -typedef int32_t fe[10]; - -/* - fe means field element. - Here the field is \Z/(2^255-19). - An element t, entries t[0]...t[9], represents the integer - t[0]+2^26 t[1]+2^51 t[2]+2^77 t[3]+2^102 t[4]+...+2^230 t[9]. - Bounds on each t[i] vary depending on context. - */ - -#define fe_frombytes crypto_core_curve25519_ref10_fe_frombytes -#define fe_tobytes crypto_core_curve25519_ref10_fe_tobytes -#define fe_copy crypto_core_curve25519_ref10_fe_copy -#define fe_isnonzero crypto_core_curve25519_ref10_fe_isnonzero -#define fe_isnegative crypto_core_curve25519_ref10_fe_isnegative -#define fe_0 crypto_core_curve25519_ref10_fe_0 -#define fe_1 crypto_core_curve25519_ref10_fe_1 -#define fe_cmov crypto_core_curve25519_ref10_fe_cmov -#define fe_add crypto_core_curve25519_ref10_fe_add -#define fe_sub crypto_core_curve25519_ref10_fe_sub -#define fe_neg crypto_core_curve25519_ref10_fe_neg -#define fe_mul crypto_core_curve25519_ref10_fe_mul -#define fe_sq crypto_core_curve25519_ref10_fe_sq -#define fe_sq2 crypto_core_curve25519_ref10_fe_sq2 -#define fe_invert crypto_core_curve25519_ref10_fe_invert -#define fe_pow22523 crypto_core_curve25519_ref10_fe_pow22523 - -extern void fe_frombytes(fe,const unsigned char *); -extern void fe_tobytes(unsigned char *,const fe); - -extern void fe_copy(fe,const fe); -extern int fe_isnonzero(const fe); -extern int fe_isnegative(const fe); -extern void fe_0(fe); -extern void fe_1(fe); -extern void fe_cmov(fe,const fe,unsigned int); -extern void fe_add(fe,const fe,const fe); -extern void fe_sub(fe,const fe,const fe); -extern void fe_neg(fe,const fe); -extern void fe_mul(fe,const fe,const fe); -extern void fe_sq(fe,const fe); -extern void fe_sq2(fe,const fe); -extern void fe_invert(fe,const fe); -extern void fe_pow22523(fe,const fe); - -/* - ge means group element. - * - Here the group is the set of pairs (x,y) of field elements (see fe.h) - satisfying -x^2 + y^2 = 1 + d x^2y^2 - where d = -121665/121666. - * - Representations: - ge_p2 (projective): (X:Y:Z) satisfying x=X/Z, y=Y/Z - ge_p3 (extended): (X:Y:Z:T) satisfying x=X/Z, y=Y/Z, XY=ZT - ge_p1p1 (completed): ((X:Z),(Y:T)) satisfying x=X/Z, y=Y/T - ge_precomp (Duif): (y+x,y-x,2dxy) - */ - -#define ge_p2 crypto_core_curve25519_ref10_ge_p2 -typedef struct { - fe X; - fe Y; - fe Z; -} ge_p2; - -#define ge_p3 crypto_core_curve25519_ref10_ge_p3 -typedef struct { - fe X; - fe Y; - fe Z; - fe T; -} ge_p3; - -#define ge_p1p1 crypto_core_curve25519_ref10_ge_p1p1 -typedef struct { - fe X; - fe Y; - fe Z; - fe T; -} ge_p1p1; - -#define ge_precomp crypto_core_curve25519_ref10_ge_precomp -typedef struct { - fe yplusx; - fe yminusx; - fe xy2d; -} ge_precomp; - -#define ge_cached crypto_core_curve25519_ref10_ge_cached -typedef struct { - fe YplusX; - fe YminusX; - fe Z; - fe T2d; -} ge_cached; - -#define ge_frombytes_negate_vartime crypto_core_curve25519_ref10_ge_frombytes_negate_vartime -#define ge_tobytes crypto_core_curve25519_ref10_ge_tobytes -#define ge_p3_tobytes crypto_core_curve25519_ref10_ge_p3_tobytes - -#define ge_p2_0 crypto_core_curve25519_ref10_ge_p2_0 -#define ge_p3_0 crypto_core_curve25519_ref10_ge_p3_0 -#define ge_precomp_0 crypto_core_curve25519_ref10_ge_precomp_0 -#define ge_p3_to_p2 crypto_core_curve25519_ref10_ge_p3_to_p2 -#define ge_p3_to_cached crypto_core_curve25519_ref10_ge_p3_to_cached -#define ge_p1p1_to_p2 crypto_core_curve25519_ref10_ge_p1p1_to_p2 -#define ge_p1p1_to_p3 crypto_core_curve25519_ref10_ge_p1p1_to_p3 -#define ge_p2_dbl crypto_core_curve25519_ref10_ge_p2_dbl -#define ge_p3_dbl crypto_core_curve25519_ref10_ge_p3_dbl - -#define ge_madd crypto_core_curve25519_ref10_ge_madd -#define ge_msub crypto_core_curve25519_ref10_ge_msub -#define ge_add crypto_core_curve25519_ref10_ge_add -#define ge_sub crypto_core_curve25519_ref10_ge_sub -#define ge_scalarmult_base crypto_core_curve25519_ref10_ge_scalarmult_base -#define ge_double_scalarmult_vartime crypto_core_curve25519_ref10_ge_double_scalarmult_vartime -#define ge_scalarmult_vartime crypto_core_curve25519_ref10_ge_scalarmult_vartime - -extern void ge_tobytes(unsigned char *,const ge_p2 *); -extern void ge_p3_tobytes(unsigned char *,const ge_p3 *); -extern int ge_frombytes_negate_vartime(ge_p3 *,const unsigned char *); - -extern void ge_p2_0(ge_p2 *); -extern void ge_p3_0(ge_p3 *); -extern void ge_precomp_0(ge_precomp *); -extern void ge_p3_to_p2(ge_p2 *,const ge_p3 *); -extern void ge_p3_to_cached(ge_cached *,const ge_p3 *); -extern void ge_p1p1_to_p2(ge_p2 *,const ge_p1p1 *); -extern void ge_p1p1_to_p3(ge_p3 *,const ge_p1p1 *); -extern void ge_p2_dbl(ge_p1p1 *,const ge_p2 *); -extern void ge_p3_dbl(ge_p1p1 *,const ge_p3 *); - -extern void ge_madd(ge_p1p1 *,const ge_p3 *,const ge_precomp *); -extern void ge_msub(ge_p1p1 *,const ge_p3 *,const ge_precomp *); -extern void ge_add(ge_p1p1 *,const ge_p3 *,const ge_cached *); -extern void ge_sub(ge_p1p1 *,const ge_p3 *,const ge_cached *); -extern void ge_scalarmult_base(ge_p3 *,const unsigned char *); -extern void ge_double_scalarmult_vartime(ge_p2 *,const unsigned char *,const ge_p3 *,const unsigned char *); -extern void ge_scalarmult_vartime(ge_p3 *,const unsigned char *,const ge_p3 *); - -/* - The set of scalars is \Z/l - where l = 2^252 + 27742317777372353535851937790883648493. - */ - -#define sc_reduce crypto_core_curve25519_ref10_sc_reduce -#define sc_muladd crypto_core_curve25519_ref10_sc_muladd - -extern void sc_reduce(unsigned char *); -extern void sc_muladd(unsigned char *,const unsigned char *,const unsigned char *,const unsigned char *); - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/private/mutex.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/private/mutex.h deleted file mode 100755 index 322b6742b..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/private/mutex.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef mutex_H -#define mutex_H 1 - -extern int sodium_crit_enter(void); -extern int sodium_crit_leave(void); - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/private/sse2_64_32.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/private/sse2_64_32.h deleted file mode 100755 index d0455b41b..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/private/sse2_64_32.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef sse2_64_32_H -#define sse2_64_32_H 1 - -#include "common.h" - -#ifdef HAVE_INTRIN_H -# include -#endif - -#if defined(HAVE_EMMINTRIN_H) && \ - !(defined(__amd64) || defined(__amd64__) || defined(__x86_64__) || \ - defined(_M_X64) || defined(_M_AMD64)) - -# include -# include - -# ifndef _mm_set_epi64x -# define _mm_set_epi64x(Q0, Q1) sodium__mm_set_epi64x((Q0), (Q1)) -static inline __m128i -sodium__mm_set_epi64x(int64_t q1, int64_t q0) -{ - union { int64_t as64; int32_t as32[2]; } x0, x1; - x0.as64 = q0; x1.as64 = q1; - return _mm_set_epi32(x1.as32[1], x1.as32[0], x0.as32[1], x0.as32[0]); -} -# endif - -# ifndef _mm_set1_epi64x -# define _mm_set1_epi64x(Q) sodium__mm_set1_epi64x(Q) -static inline __m128i -sodium__mm_set1_epi64x(int64_t q) -{ - return _mm_set_epi64x(q, q); -} -# endif - -# ifndef _mm_cvtsi64_si128 -# define _mm_cvtsi64_si128(Q) sodium__mm_cvtsi64_si128(Q) -static inline __m128i -sodium__mm_cvtsi64_si128(int64_t q) -{ - union { int64_t as64; int32_t as32[2]; } x; - x.as64 = q; - return _mm_setr_epi32(x.as32[0], x.as32[1], 0, 0); -} -# endif - -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/randombytes.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/randombytes.h deleted file mode 100755 index d112fb293..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/randombytes.h +++ /dev/null @@ -1,66 +0,0 @@ - -#ifndef randombytes_H -#define randombytes_H - -#include -#include - -#include - -#include "export.h" - -#ifdef __cplusplus -# ifdef __GNUC__ -# pragma GCC diagnostic ignored "-Wlong-long" -# endif -extern "C" { -#endif - -typedef struct randombytes_implementation { - const char *(*implementation_name)(void); /* required */ - uint32_t (*random)(void); /* required */ - void (*stir)(void); /* optional */ - uint32_t (*uniform)(const uint32_t upper_bound); /* optional, a default implementation will be used if NULL */ - void (*buf)(void * const buf, const size_t size); /* required */ - int (*close)(void); /* optional */ -} randombytes_implementation; - -#define randombytes_SEEDBYTES 32U -SODIUM_EXPORT -size_t randombytes_seedbytes(void); - -SODIUM_EXPORT -void randombytes_buf(void * const buf, const size_t size); - -SODIUM_EXPORT -void randombytes_buf_deterministic(void * const buf, const size_t size, - const unsigned char seed[randombytes_SEEDBYTES]); - -SODIUM_EXPORT -uint32_t randombytes_random(void); - -SODIUM_EXPORT -uint32_t randombytes_uniform(const uint32_t upper_bound); - -SODIUM_EXPORT -void randombytes_stir(void); - -SODIUM_EXPORT -int randombytes_close(void); - -SODIUM_EXPORT -int randombytes_set_implementation(randombytes_implementation *impl); - -SODIUM_EXPORT -const char *randombytes_implementation_name(void); - -/* -- NaCl compatibility interface -- */ - -SODIUM_EXPORT -void randombytes(unsigned char * const buf, const unsigned long long buf_len); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/randombytes_nativeclient.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/randombytes_nativeclient.h deleted file mode 100755 index 5158d8c3c..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/randombytes_nativeclient.h +++ /dev/null @@ -1,23 +0,0 @@ - -#ifndef randombytes_nativeclient_H -#define randombytes_nativeclient_H - -#ifdef __native_client__ - -# include "export.h" -# include "randombytes.h" - -# ifdef __cplusplus -extern "C" { -# endif - -SODIUM_EXPORT -extern struct randombytes_implementation randombytes_nativeclient_implementation; - -# ifdef __cplusplus -} -# endif - -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/randombytes_salsa20_random.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/randombytes_salsa20_random.h deleted file mode 100755 index 4deae15b6..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/randombytes_salsa20_random.h +++ /dev/null @@ -1,19 +0,0 @@ - -#ifndef randombytes_salsa20_random_H -#define randombytes_salsa20_random_H - -#include "export.h" -#include "randombytes.h" - -#ifdef __cplusplus -extern "C" { -#endif - -SODIUM_EXPORT -extern struct randombytes_implementation randombytes_salsa20_implementation; - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/randombytes_sysrandom.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/randombytes_sysrandom.h deleted file mode 100755 index 9e27b674c..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/randombytes_sysrandom.h +++ /dev/null @@ -1,19 +0,0 @@ - -#ifndef randombytes_sysrandom_H -#define randombytes_sysrandom_H - -#include "export.h" -#include "randombytes.h" - -#ifdef __cplusplus -extern "C" { -#endif - -SODIUM_EXPORT -extern struct randombytes_implementation randombytes_sysrandom_implementation; - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/runtime.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/runtime.h deleted file mode 100755 index 76859ea0e..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/runtime.h +++ /dev/null @@ -1,46 +0,0 @@ - -#ifndef sodium_runtime_H -#define sodium_runtime_H - -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -SODIUM_EXPORT -int sodium_runtime_has_neon(void); - -SODIUM_EXPORT -int sodium_runtime_has_sse2(void); - -SODIUM_EXPORT -int sodium_runtime_has_sse3(void); - -SODIUM_EXPORT -int sodium_runtime_has_ssse3(void); - -SODIUM_EXPORT -int sodium_runtime_has_sse41(void); - -SODIUM_EXPORT -int sodium_runtime_has_avx(void); - -SODIUM_EXPORT -int sodium_runtime_has_avx2(void); - -SODIUM_EXPORT -int sodium_runtime_has_pclmul(void); - -SODIUM_EXPORT -int sodium_runtime_has_aesni(void); - -/* ------------------------------------------------------------------------- */ - -int _sodium_runtime_get_cpu_features(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/utils.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/utils.h deleted file mode 100755 index 0a7aadb43..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/utils.h +++ /dev/null @@ -1,131 +0,0 @@ - -#ifndef sodium_utils_H -#define sodium_utils_H - -#include - -#include "export.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef SODIUM_C99 -# if defined(__cplusplus) || !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L -# define SODIUM_C99(X) -# else -# define SODIUM_C99(X) X -# endif -#endif - -SODIUM_EXPORT -void sodium_memzero(void * const pnt, const size_t len); - -/* - * WARNING: sodium_memcmp() must be used to verify if two secret keys - * are equal, in constant time. - * It returns 0 if the keys are equal, and -1 if they differ. - * This function is not designed for lexicographical comparisons. - */ -SODIUM_EXPORT -int sodium_memcmp(const void * const b1_, const void * const b2_, size_t len) - __attribute__ ((warn_unused_result)); - -/* - * sodium_compare() returns -1 if b1_ < b2_, 1 if b1_ > b2_ and 0 if b1_ == b2_ - * It is suitable for lexicographical comparisons, or to compare nonces - * and counters stored in little-endian format. - * However, it is slower than sodium_memcmp(). - */ -SODIUM_EXPORT -int sodium_compare(const unsigned char *b1_, const unsigned char *b2_, - size_t len) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int sodium_is_zero(const unsigned char *n, const size_t nlen); - -SODIUM_EXPORT -void sodium_increment(unsigned char *n, const size_t nlen); - -SODIUM_EXPORT -void sodium_add(unsigned char *a, const unsigned char *b, const size_t len); - -SODIUM_EXPORT -char *sodium_bin2hex(char * const hex, const size_t hex_maxlen, - const unsigned char * const bin, const size_t bin_len); - -SODIUM_EXPORT -int sodium_hex2bin(unsigned char * const bin, const size_t bin_maxlen, - const char * const hex, const size_t hex_len, - const char * const ignore, size_t * const bin_len, - const char ** const hex_end); - -SODIUM_EXPORT -int sodium_mlock(void * const addr, const size_t len); - -SODIUM_EXPORT -int sodium_munlock(void * const addr, const size_t len); - -/* WARNING: sodium_malloc() and sodium_allocarray() are not general-purpose - * allocation functions. - * - * They return a pointer to a region filled with 0xd0 bytes, immediately - * followed by a guard page. - * As a result, accessing a single byte after the requested allocation size - * will intentionally trigger a segmentation fault. - * - * A canary and an additional guard page placed before the beginning of the - * region may also kill the process if a buffer underflow is detected. - * - * The memory layout is: - * [unprotected region size (read only)][guard page (no access)][unprotected pages (read/write)][guard page (no access)] - * With the layout of the unprotected pages being: - * [optional padding][16-bytes canary][user region] - * - * However: - * - These functions are significantly slower than standard functions - * - Each allocation requires 3 or 4 additional pages - * - The returned address will not be aligned if the allocation size is not - * a multiple of the required alignment. For this reason, these functions - * are designed to store data, such as secret keys and messages. - * - * sodium_malloc() can be used to allocate any libsodium data structure. - * - * The crypto_generichash_state structure is packed and its length is - * either 357 or 361 bytes. For this reason, when using sodium_malloc() to - * allocate a crypto_generichash_state structure, padding must be added in - * order to ensure proper alignment. crypto_generichash_statebytes() - * returns the rounded up structure size, and should be prefered to sizeof(): - * state = sodium_malloc(crypto_generichash_statebytes()); - */ - -SODIUM_EXPORT -void *sodium_malloc(const size_t size) - __attribute__ ((malloc)); - -SODIUM_EXPORT -void *sodium_allocarray(size_t count, size_t size) - __attribute__ ((malloc)); - -SODIUM_EXPORT -void sodium_free(void *ptr); - -SODIUM_EXPORT -int sodium_mprotect_noaccess(void *ptr); - -SODIUM_EXPORT -int sodium_mprotect_readonly(void *ptr); - -SODIUM_EXPORT -int sodium_mprotect_readwrite(void *ptr); - -/* -------- */ - -int _sodium_alloc_init(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/version.h b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/version.h deleted file mode 100755 index e2584b424..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/version.h +++ /dev/null @@ -1,33 +0,0 @@ - -#ifndef sodium_version_H -#define sodium_version_H - -#include "export.h" - -#define SODIUM_VERSION_STRING "1.0.12" - -#define SODIUM_LIBRARY_VERSION_MAJOR 9 -#define SODIUM_LIBRARY_VERSION_MINOR 4 - - -#ifdef __cplusplus -extern "C" { -#endif - -SODIUM_EXPORT -const char *sodium_version_string(void); - -SODIUM_EXPORT -int sodium_library_version_major(void); - -SODIUM_EXPORT -int sodium_library_version_minor(void); - -SODIUM_EXPORT -int sodium_library_minimal(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/version.h.in b/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/version.h.in deleted file mode 100755 index 8a72044b4..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/include/sodium/version.h.in +++ /dev/null @@ -1,33 +0,0 @@ - -#ifndef sodium_version_H -#define sodium_version_H - -#include "export.h" - -#define SODIUM_VERSION_STRING "@VERSION@" - -#define SODIUM_LIBRARY_VERSION_MAJOR @SODIUM_LIBRARY_VERSION_MAJOR@ -#define SODIUM_LIBRARY_VERSION_MINOR @SODIUM_LIBRARY_VERSION_MINOR@ -@SODIUM_LIBRARY_MINIMAL_DEF@ - -#ifdef __cplusplus -extern "C" { -#endif - -SODIUM_EXPORT -const char *sodium_version_string(void); - -SODIUM_EXPORT -int sodium_library_version_major(void); - -SODIUM_EXPORT -int sodium_library_version_minor(void); - -SODIUM_EXPORT -int sodium_library_minimal(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/randombytes/nativeclient/randombytes_nativeclient.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/randombytes/nativeclient/randombytes_nativeclient.c deleted file mode 100755 index 468cd653d..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/randombytes/nativeclient/randombytes_nativeclient.c +++ /dev/null @@ -1,60 +0,0 @@ - -#include -#include -#include - -#ifdef __native_client__ -# include - -# include "utils.h" -# include "randombytes.h" -# include "randombytes_nativeclient.h" - -static void -randombytes_nativeclient_buf(void * const buf, const size_t size) -{ - unsigned char *buf_ = (unsigned char *) buf; - struct nacl_irt_random rand_intf; - size_t readnb = (size_t) 0U; - size_t toread = size; - - if (nacl_interface_query(NACL_IRT_RANDOM_v0_1, &rand_intf, - sizeof rand_intf) != sizeof rand_intf) { - abort(); - } - while (toread > (size_t) 0U) { - if (rand_intf.get_random_bytes(buf_, size, &readnb) != 0 || - readnb > size) { - abort(); - } - toread -= readnb; - buf_ += readnb; - } -} - -static uint32_t -randombytes_nativeclient_random(void) -{ - uint32_t r; - - randombytes_nativeclient_buf(&r, sizeof r); - - return r; -} - -static const char * -randombytes_nativeclient_implementation_name(void) -{ - return "nativeclient"; -} - -struct randombytes_implementation randombytes_nativeclient_implementation = { - SODIUM_C99(.implementation_name =) randombytes_nativeclient_implementation_name, - SODIUM_C99(.random =) randombytes_nativeclient_random, - SODIUM_C99(.stir =) NULL, - SODIUM_C99(.uniform =) NULL, - SODIUM_C99(.buf =) randombytes_nativeclient_buf, - SODIUM_C99(.close =) NULL -}; - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/randombytes/randombytes.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/randombytes/randombytes.c deleted file mode 100755 index b1926ddac..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/randombytes/randombytes.c +++ /dev/null @@ -1,202 +0,0 @@ - -#include -#include -#include -#include - -#include - -#ifdef __EMSCRIPTEN__ -# include -#endif - -#include "crypto_stream_chacha20.h" -#include "randombytes.h" -#ifdef RANDOMBYTES_DEFAULT_IMPLEMENTATION -# include "randombytes_default.h" -#else -# ifdef __native_client__ -# include "randombytes_nativeclient.h" -# else -# include "randombytes_sysrandom.h" -# endif -#endif -#include "private/common.h" - -/* C++Builder defines a "random" macro */ -#undef random - -static const randombytes_implementation *implementation; - -#ifndef RANDOMBYTES_DEFAULT_IMPLEMENTATION -# ifdef __EMSCRIPTEN__ -# define RANDOMBYTES_DEFAULT_IMPLEMENTATION NULL -# else -# ifdef __native_client__ -# define RANDOMBYTES_DEFAULT_IMPLEMENTATION &randombytes_nativeclient_implementation; -# else -# define RANDOMBYTES_DEFAULT_IMPLEMENTATION &randombytes_sysrandom_implementation; -# endif -# endif -#endif - -static void -randombytes_init_if_needed(void) -{ - if (implementation == NULL) { - implementation = RANDOMBYTES_DEFAULT_IMPLEMENTATION; - randombytes_stir(); - } -} - -int -randombytes_set_implementation(randombytes_implementation *impl) -{ - implementation = impl; - - return 0; -} - -const char * -randombytes_implementation_name(void) -{ -#ifndef __EMSCRIPTEN__ - randombytes_init_if_needed(); - return implementation->implementation_name(); -#else - return "js"; -#endif -} - -uint32_t -randombytes_random(void) -{ -#ifndef __EMSCRIPTEN__ - randombytes_init_if_needed(); - return implementation->random(); -#else - return EM_ASM_INT_V({ - return Module.getRandomValue(); - }); -#endif -} - -void -randombytes_stir(void) -{ -#ifndef __EMSCRIPTEN__ - randombytes_init_if_needed(); - if (implementation->stir != NULL) { - implementation->stir(); - } -#else - EM_ASM({ - if (Module.getRandomValue === undefined) { - try { - var window_ = "object" === typeof window ? window : self, - crypto_ = typeof window_.crypto !== "undefined" ? window_.crypto : window_.msCrypto, - randomValuesStandard = function() { - var buf = new Uint32Array(1); - crypto_.getRandomValues(buf); - return buf[0] >>> 0; - }; - randomValuesStandard(); - Module.getRandomValue = randomValuesStandard; - } catch (e) { - try { - var crypto = require('crypto'), - randomValueNodeJS = function() { - var buf = crypto.randomBytes(4); - return (buf[0] << 24 | buf[1] << 16 | buf[2] << 8 | buf[3]) >>> 0; - }; - randomValueNodeJS(); - Module.getRandomValue = randomValueNodeJS; - } catch (e) { - throw 'No secure random number generator found'; - } - } - } - }); -#endif -} - -uint32_t -randombytes_uniform(const uint32_t upper_bound) -{ - uint32_t min; - uint32_t r; - -#ifndef __EMSCRIPTEN__ - randombytes_init_if_needed(); - if (implementation->uniform != NULL) { - return implementation->uniform(upper_bound); - } -#endif - if (upper_bound < 2) { - return 0; - } - min = (1U + ~upper_bound) % upper_bound; - do { - r = randombytes_random(); - } while (r < min); - - return r % upper_bound; -} - -void -randombytes_buf(void * const buf, const size_t size) -{ -#ifndef __EMSCRIPTEN__ - randombytes_init_if_needed(); - if (size > (size_t) 0U) { - implementation->buf(buf, size); - } -#else - unsigned char *p = (unsigned char *) buf; - size_t i; - - for (i = (size_t) 0U; i < size; i++) { - p[i] = (unsigned char) randombytes_random(); - } -#endif -} - -void -randombytes_buf_deterministic(void * const buf, const size_t size, - const unsigned char seed[randombytes_SEEDBYTES]) -{ - static const unsigned char nonce[crypto_stream_chacha20_ietf_NONCEBYTES] = { - 'L', 'i', 'b', 's', 'o', 'd', 'i', 'u', 'm', 'D', 'R', 'G' - }; - - COMPILER_ASSERT(randombytes_SEEDBYTES == crypto_stream_chacha20_ietf_KEYBYTES); -#if SIZE_MAX > 0x4000000000ULL - if (size > 0x4000000000ULL) { - abort(); - } -#endif - crypto_stream_chacha20_ietf((unsigned char *) buf, (unsigned long long) size, - nonce, seed); -} - -size_t -randombytes_seedbytes(void) -{ - return randombytes_SEEDBYTES; -} - -int -randombytes_close(void) -{ - if (implementation != NULL && implementation->close != NULL) { - return implementation->close(); - } - return 0; -} - -void -randombytes(unsigned char * const buf, const unsigned long long buf_len) -{ - assert(buf_len <= SIZE_MAX); - randombytes_buf(buf, (size_t) buf_len); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c deleted file mode 100755 index a22619528..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/randombytes/salsa20/randombytes_salsa20_random.c +++ /dev/null @@ -1,483 +0,0 @@ - -#include -#include -#include -#include -#include -#include -#include -#include -#if !defined(_MSC_VER) && !defined(__BORLANDC__) -# include -#endif - -#include -#ifndef _WIN32 -# include -# include -#endif -#ifdef __linux__ -# ifdef __dietlibc__ -# define _LINUX_SOURCE -# else -# include -# endif -# include -#endif - -#include "crypto_core_salsa20.h" -#include "crypto_generichash.h" -#include "crypto_stream_salsa20.h" -#include "randombytes.h" -#include "randombytes_salsa20_random.h" -#include "utils.h" -#include "private/common.h" - -#ifdef _WIN32 -# include -# include -# define RtlGenRandom SystemFunction036 -# if defined(__cplusplus) -extern "C" -# endif -BOOLEAN NTAPI RtlGenRandom(PVOID RandomBuffer, ULONG RandomBufferLength); -# pragma comment(lib, "advapi32.lib") -# ifdef __BORLANDC__ -# define _ftime ftime -# define _timeb timeb -# endif -#endif - -#define SALSA20_RANDOM_BLOCK_SIZE crypto_core_salsa20_OUTPUTBYTES -#define HASH_BLOCK_SIZE 128U - -#if defined(__OpenBSD__) || defined(__CloudABI__) -# define HAVE_SAFE_ARC4RANDOM 1 -#endif - -#ifndef SSIZE_MAX -# define SSIZE_MAX (SIZE_MAX / 2 - 1) -#endif - -typedef struct Salsa20Random_ { - size_t rnd32_outleft; - int random_data_source_fd; - int initialized; - int getrandom_available; - unsigned char key[crypto_stream_salsa20_KEYBYTES]; - unsigned char rnd32[16U * SALSA20_RANDOM_BLOCK_SIZE]; - uint64_t nonce; -#ifdef HAVE_GETPID - pid_t pid; -#endif -} Salsa20Random; - -static Salsa20Random stream = { - SODIUM_C99(.rnd32_outleft =) (size_t) 0U, - SODIUM_C99(.random_data_source_fd =) -1, - SODIUM_C99(.initialized =) 0, - SODIUM_C99(.getrandom_available =) 0 -}; - -static uint64_t -sodium_hrtime(void) -{ - uint64_t ts; - -#ifdef _WIN32 - { - struct _timeb tb; -# pragma warning(push) -# pragma warning(disable: 4996) - _ftime(&tb); -# pragma warning(pop) - ts = ((uint64_t) tb.time) * 1000000U + ((uint64_t) tb.millitm) * 1000U; - } -#else - { - struct timeval tv; - - if (gettimeofday(&tv, NULL) != 0) { - abort(); /* LCOV_EXCL_LINE */ - } - ts = ((uint64_t) tv.tv_sec) * 1000000U + (uint64_t) tv.tv_usec; - } -#endif - return ts; -} - -#ifndef _WIN32 -static ssize_t -safe_read(const int fd, void * const buf_, size_t size) -{ - unsigned char *buf = (unsigned char *) buf_; - ssize_t readnb; - - assert(size > (size_t) 0U); - assert(size <= SSIZE_MAX); - do { - while ((readnb = read(fd, buf, size)) < (ssize_t) 0 && - (errno == EINTR || errno == EAGAIN)); /* LCOV_EXCL_LINE */ - if (readnb < (ssize_t) 0) { - return readnb; /* LCOV_EXCL_LINE */ - } - if (readnb == (ssize_t) 0) { - break; /* LCOV_EXCL_LINE */ - } - size -= (size_t) readnb; - buf += readnb; - } while (size > (ssize_t) 0); - - return (ssize_t) (buf - (unsigned char *) buf_); -} -#endif - -#ifndef _WIN32 -# if defined(__linux__) && !defined(USE_BLOCKING_RANDOM) && !defined(NO_BLOCKING_RANDOM_POLL) -static int -randombytes_block_on_dev_random(void) -{ - struct pollfd pfd; - int fd; - int pret; - - fd = open("/dev/random", O_RDONLY); - if (fd == -1) { - return 0; - } - pfd.fd = fd; - pfd.events = POLLIN; - pfd.revents = 0; - do { - pret = poll(&pfd, 1, -1); - } while (pret < 0 && (errno == EINTR || errno == EAGAIN)); - if (pret != 1) { - (void) close(fd); - errno = EIO; - return -1; - } - return close(fd); -} -# endif - -# ifndef HAVE_SAFE_ARC4RANDOM -static int -randombytes_salsa20_random_random_dev_open(void) -{ -/* LCOV_EXCL_START */ - struct stat st; - static const char *devices[] = { -# ifndef USE_BLOCKING_RANDOM - "/dev/urandom", -# endif - "/dev/random", NULL - }; - const char ** device = devices; - int fd; - -# if defined(__linux__) && !defined(USE_BLOCKING_RANDOM) && !defined(NO_BLOCKING_RANDOM_POLL) - if (randombytes_block_on_dev_random() != 0) { - return -1; - } -# endif - do { - fd = open(*device, O_RDONLY); - if (fd != -1) { - if (fstat(fd, &st) == 0 && -# ifdef __COMPCERT__ - 1 -# elif defined(S_ISNAM) - (S_ISNAM(st.st_mode) || S_ISCHR(st.st_mode)) -# else - S_ISCHR(st.st_mode) -# endif - ) { -# if defined(F_SETFD) && defined(FD_CLOEXEC) - (void) fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC); -# endif - return fd; - } - (void) close(fd); - } else if (errno == EINTR) { - continue; - } - device++; - } while (*device != NULL); - - errno = EIO; - return -1; -/* LCOV_EXCL_STOP */ -} -# endif - -# if defined(__dietlibc__) || (defined(SYS_getrandom) && defined(__NR_getrandom)) -static int -_randombytes_linux_getrandom(void * const buf, const size_t size) -{ - int readnb; - - assert(size <= 256U); - do { -# ifdef __dietlibc__ - readnb = getrandom(buf, size, 0); -# else - readnb = syscall(SYS_getrandom, buf, (int) size, 0); -# endif - } while (readnb < 0 && (errno == EINTR || errno == EAGAIN)); - - return (readnb == (int) size) - 1; -} - -static int -randombytes_linux_getrandom(void * const buf_, size_t size) -{ - unsigned char *buf = (unsigned char *) buf_; - size_t chunk_size = 256U; - - do { - if (size < chunk_size) { - chunk_size = size; - assert(chunk_size > (size_t) 0U); - } - if (_randombytes_linux_getrandom(buf, chunk_size) != 0) { - return -1; - } - size -= chunk_size; - buf += chunk_size; - } while (size > (size_t) 0U); - - return 0; -} -# endif - -static void -randombytes_salsa20_random_init(void) -{ - const int errno_save = errno; - - stream.nonce = sodium_hrtime(); - assert(stream.nonce != (uint64_t) 0U); - -# ifdef HAVE_SAFE_ARC4RANDOM - errno = errno_save; -# else - -# if defined(SYS_getrandom) && defined(__NR_getrandom) - { - unsigned char fodder[16]; - - if (randombytes_linux_getrandom(fodder, sizeof fodder) == 0) { - stream.getrandom_available = 1; - errno = errno_save; - return; - } - stream.getrandom_available = 0; - } -# endif /* SYS_getrandom */ - - if ((stream.random_data_source_fd = - randombytes_salsa20_random_random_dev_open()) == -1) { - abort(); /* LCOV_EXCL_LINE */ - } - errno = errno_save; -# endif /* HAVE_SAFE_ARC4RANDOM */ -} - -#else /* _WIN32 */ - -static void -randombytes_salsa20_random_init(void) -{ - stream.nonce = sodium_hrtime(); - assert(stream.nonce != (uint64_t) 0U); -} -#endif - -static void -randombytes_salsa20_random_rekey(const unsigned char * const mix) -{ - unsigned char *key = stream.key; - size_t i; - - for (i = (size_t) 0U; i < sizeof stream.key; i++) { - key[i] ^= mix[i]; - } -} - -static void -randombytes_salsa20_random_stir(void) -{ - /* constant to personalize the hash function */ - const unsigned char hsigma[crypto_generichash_KEYBYTES] = { - 0x54, 0x68, 0x69, 0x73, 0x49, 0x73, 0x4a, 0x75, - 0x73, 0x74, 0x41, 0x54, 0x68, 0x69, 0x72, 0x74, - 0x79, 0x54, 0x77, 0x6f, 0x42, 0x79, 0x74, 0x65, - 0x73, 0x53, 0x65, 0x65, 0x64, 0x2e, 0x2e, 0x2e - }; - unsigned char m0[crypto_stream_salsa20_KEYBYTES + HASH_BLOCK_SIZE]; - unsigned char *k0 = m0 + crypto_stream_salsa20_KEYBYTES; - size_t sizeof_k0 = sizeof m0 - crypto_stream_salsa20_KEYBYTES; - - memset(stream.rnd32, 0, sizeof stream.rnd32); - stream.rnd32_outleft = (size_t) 0U; - if (stream.initialized == 0) { - randombytes_salsa20_random_init(); - stream.initialized = 1; - } -#ifndef _WIN32 - -# ifdef HAVE_SAFE_ARC4RANDOM - arc4random_buf(m0, sizeof m0); -# elif defined(SYS_getrandom) && defined(__NR_getrandom) - if (stream.getrandom_available != 0) { - if (randombytes_linux_getrandom(m0, sizeof m0) != 0) { - abort(); /* LCOV_EXCL_LINE */ - } - } else if (stream.random_data_source_fd == -1 || - safe_read(stream.random_data_source_fd, m0, - sizeof m0) != (ssize_t) sizeof m0) { - abort(); /* LCOV_EXCL_LINE */ - } -# else - if (stream.random_data_source_fd == -1 || - safe_read(stream.random_data_source_fd, m0, - sizeof m0) != (ssize_t) sizeof m0) { - abort(); /* LCOV_EXCL_LINE */ - } -# endif - -#else /* _WIN32 */ - if (! RtlGenRandom((PVOID) m0, (ULONG) sizeof m0)) { - abort(); /* LCOV_EXCL_LINE */ - } -#endif - if (crypto_generichash(stream.key, sizeof stream.key, k0, sizeof_k0, - hsigma, sizeof hsigma) != 0) { - abort(); /* LCOV_EXCL_LINE */ - } - COMPILER_ASSERT(sizeof stream.key <= sizeof m0); - randombytes_salsa20_random_rekey(m0); - sodium_memzero(m0, sizeof m0); -#ifdef HAVE_GETPID - stream.pid = getpid(); -#endif -} - -static void -randombytes_salsa20_random_stir_if_needed(void) -{ -#ifdef HAVE_GETPID - if (stream.initialized == 0) { - randombytes_salsa20_random_stir(); - } else if (stream.pid != getpid()) { - abort(); - } -#else - if (stream.initialized == 0) { - randombytes_salsa20_random_stir(); - } -#endif -} - -static int -randombytes_salsa20_random_close(void) -{ - int ret = -1; - -#ifndef _WIN32 - if (stream.random_data_source_fd != -1 && - close(stream.random_data_source_fd) == 0) { - stream.random_data_source_fd = -1; - stream.initialized = 0; -# ifdef HAVE_GETPID - stream.pid = (pid_t) 0; -# endif - ret = 0; - } - -# ifdef HAVE_SAFE_ARC4RANDOM - ret = 0; -# endif - -# if defined(SYS_getrandom) && defined(__NR_getrandom) - if (stream.getrandom_available != 0) { - ret = 0; - } -# endif - -#else /* _WIN32 */ - if (stream.initialized != 0) { - stream.initialized = 0; - ret = 0; - } -#endif - return ret; -} - -static void -randombytes_salsa20_random_buf(void * const buf, const size_t size) -{ - size_t i; - int ret; - - randombytes_salsa20_random_stir_if_needed(); - COMPILER_ASSERT(sizeof stream.nonce == crypto_stream_salsa20_NONCEBYTES); -#if defined(ULONG_LONG_MAX) && defined(SIZE_MAX) -# if SIZE_MAX > ULONG_LONG_MAX - /* coverity[result_independent_of_operands] */ - assert(size <= ULONG_LONG_MAX); -# endif -#endif - ret = crypto_stream_salsa20((unsigned char *) buf, (unsigned long long) size, - (unsigned char *) &stream.nonce, stream.key); - assert(ret == 0); - for (i = 0U; i < sizeof size; i++) { - stream.key[i] ^= ((const unsigned char *) (const void *) &size)[i]; - } - stream.nonce++; - crypto_stream_salsa20_xor(stream.key, stream.key, sizeof stream.key, - (unsigned char *) &stream.nonce, stream.key); -} - -static uint32_t -randombytes_salsa20_random(void) -{ - uint32_t val; - int ret; - - COMPILER_ASSERT(sizeof stream.rnd32 >= (sizeof stream.key) + (sizeof val)); - COMPILER_ASSERT(((sizeof stream.rnd32) - (sizeof stream.key)) - % sizeof val == (size_t) 0U); - if (stream.rnd32_outleft <= (size_t) 0U) { - randombytes_salsa20_random_stir_if_needed(); - COMPILER_ASSERT(sizeof stream.nonce == crypto_stream_salsa20_NONCEBYTES); - ret = crypto_stream_salsa20((unsigned char *) stream.rnd32, - (unsigned long long) sizeof stream.rnd32, - (unsigned char *) &stream.nonce, - stream.key); - assert(ret == 0); - stream.rnd32_outleft = (sizeof stream.rnd32) - (sizeof stream.key); - randombytes_salsa20_random_rekey(&stream.rnd32[stream.rnd32_outleft]); - stream.nonce++; - } - stream.rnd32_outleft -= sizeof val; - memcpy(&val, &stream.rnd32[stream.rnd32_outleft], sizeof val); - memset(&stream.rnd32[stream.rnd32_outleft], 0, sizeof val); - - return val; -} - -static const char * -randombytes_salsa20_implementation_name(void) -{ - return "salsa20"; -} - -struct randombytes_implementation randombytes_salsa20_implementation = { - SODIUM_C99(.implementation_name =) randombytes_salsa20_implementation_name, - SODIUM_C99(.random =) randombytes_salsa20_random, - SODIUM_C99(.stir =) randombytes_salsa20_random_stir, - SODIUM_C99(.uniform =) NULL, - SODIUM_C99(.buf =) randombytes_salsa20_random_buf, - SODIUM_C99(.close =) randombytes_salsa20_random_close -}; diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c deleted file mode 100755 index feede4653..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c +++ /dev/null @@ -1,370 +0,0 @@ - -#include -#include -#include -#include -#include -#include -#ifndef _WIN32 -# include -#endif - -#include -#include -#ifndef _WIN32 -# include -# include -#endif -#ifdef __linux__ -# ifdef __dietlibc__ -# define _LINUX_SOURCE -# else -# include -# endif -# include -#endif - -#include "randombytes.h" -#include "randombytes_sysrandom.h" -#include "utils.h" - -#ifdef _WIN32 -/* `RtlGenRandom` is used over `CryptGenRandom` on Microsoft Windows based systems: - * - `CryptGenRandom` requires pulling in `CryptoAPI` which causes unnecessary - * memory overhead if this API is not being used for other purposes - * - `RtlGenRandom` is thus called directly instead. A detailed explanation - * can be found here: https://blogs.msdn.microsoft.com/michael_howard/2005/01/14/cryptographically-secure-random-number-on-windows-without-using-cryptoapi/ - */ -# include -# define RtlGenRandom SystemFunction036 -# if defined(__cplusplus) -extern "C" -# endif -BOOLEAN NTAPI RtlGenRandom(PVOID RandomBuffer, ULONG RandomBufferLength); -# pragma comment(lib, "advapi32.lib") -#endif - -#if defined(__OpenBSD__) || defined(__CloudABI__) -# define HAVE_SAFE_ARC4RANDOM 1 -#endif - -#ifndef SSIZE_MAX -# define SSIZE_MAX (SIZE_MAX / 2 - 1) -#endif - -#ifdef HAVE_SAFE_ARC4RANDOM - -static uint32_t -randombytes_sysrandom(void) -{ - return arc4random(); -} - -static void -randombytes_sysrandom_stir(void) -{ -} - -static void -randombytes_sysrandom_buf(void * const buf, const size_t size) -{ - return arc4random_buf(buf, size); -} - -static int -randombytes_sysrandom_close(void) -{ - return 0; -} - -#else /* __OpenBSD__ */ - -typedef struct SysRandom_ { - int random_data_source_fd; - int initialized; - int getrandom_available; -} SysRandom; - -static SysRandom stream = { - SODIUM_C99(.random_data_source_fd =) -1, - SODIUM_C99(.initialized =) 0, - SODIUM_C99(.getrandom_available =) 0 -}; - -#ifndef _WIN32 -static ssize_t -safe_read(const int fd, void * const buf_, size_t size) -{ - unsigned char *buf = (unsigned char *) buf_; - ssize_t readnb; - - assert(size > (size_t) 0U); - assert(size <= SSIZE_MAX); - do { - while ((readnb = read(fd, buf, size)) < (ssize_t) 0 && - (errno == EINTR || errno == EAGAIN)); /* LCOV_EXCL_LINE */ - if (readnb < (ssize_t) 0) { - return readnb; /* LCOV_EXCL_LINE */ - } - if (readnb == (ssize_t) 0) { - break; /* LCOV_EXCL_LINE */ - } - size -= (size_t) readnb; - buf += readnb; - } while (size > (ssize_t) 0); - - return (ssize_t) (buf - (unsigned char *) buf_); -} -#endif - -#ifndef _WIN32 -# if defined(__linux__) && !defined(USE_BLOCKING_RANDOM) && !defined(NO_BLOCKING_RANDOM_POLL) -static int -randombytes_block_on_dev_random(void) -{ - struct pollfd pfd; - int fd; - int pret; - - fd = open("/dev/random", O_RDONLY); - if (fd == -1) { - return 0; - } - pfd.fd = fd; - pfd.events = POLLIN; - pfd.revents = 0; - do { - pret = poll(&pfd, 1, -1); - } while (pret < 0 && (errno == EINTR || errno == EAGAIN)); - if (pret != 1) { - (void) close(fd); - errno = EIO; - return -1; - } - return close(fd); -} -# endif - -static int -randombytes_sysrandom_random_dev_open(void) -{ -/* LCOV_EXCL_START */ - struct stat st; - static const char *devices[] = { -# ifndef USE_BLOCKING_RANDOM - "/dev/urandom", -# endif - "/dev/random", NULL - }; - const char ** device = devices; - int fd; - -# if defined(__linux__) && !defined(USE_BLOCKING_RANDOM) && !defined(NO_BLOCKING_RANDOM_POLL) - if (randombytes_block_on_dev_random() != 0) { - return -1; - } -# endif - do { - fd = open(*device, O_RDONLY); - if (fd != -1) { - if (fstat(fd, &st) == 0 && -# ifdef __COMPCERT__ - 1 -# elif defined(S_ISNAM) - (S_ISNAM(st.st_mode) || S_ISCHR(st.st_mode)) -# else - S_ISCHR(st.st_mode) -# endif - ) { -# if defined(F_SETFD) && defined(FD_CLOEXEC) - (void) fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC); -# endif - return fd; - } - (void) close(fd); - } else if (errno == EINTR) { - continue; - } - device++; - } while (*device != NULL); - - errno = EIO; - return -1; -/* LCOV_EXCL_STOP */ -} - -# if defined(__dietlibc__) || (defined(SYS_getrandom) && defined(__NR_getrandom)) -static int -_randombytes_linux_getrandom(void * const buf, const size_t size) -{ - int readnb; - - assert(size <= 256U); - do { -# ifdef __dietlibc__ - readnb = getrandom(buf, size, 0); -# else - readnb = syscall(SYS_getrandom, buf, (int) size, 0); -# endif - } while (readnb < 0 && (errno == EINTR || errno == EAGAIN)); - - return (readnb == (int) size) - 1; -} - -static int -randombytes_linux_getrandom(void * const buf_, size_t size) -{ - unsigned char *buf = (unsigned char *) buf_; - size_t chunk_size = 256U; - - do { - if (size < chunk_size) { - chunk_size = size; - assert(chunk_size > (size_t) 0U); - } - if (_randombytes_linux_getrandom(buf, chunk_size) != 0) { - return -1; - } - size -= chunk_size; - buf += chunk_size; - } while (size > (size_t) 0U); - - return 0; -} -# endif - -static void -randombytes_sysrandom_init(void) -{ - const int errno_save = errno; - -# if defined(SYS_getrandom) && defined(__NR_getrandom) - { - unsigned char fodder[16]; - - if (randombytes_linux_getrandom(fodder, sizeof fodder) == 0) { - stream.getrandom_available = 1; - errno = errno_save; - return; - } - stream.getrandom_available = 0; - } -# endif - - if ((stream.random_data_source_fd = - randombytes_sysrandom_random_dev_open()) == -1) { - abort(); /* LCOV_EXCL_LINE */ - } - errno = errno_save; -} - -#else /* _WIN32 */ - -static void -randombytes_sysrandom_init(void) -{ -} -#endif - -static void -randombytes_sysrandom_stir(void) -{ - if (stream.initialized == 0) { - randombytes_sysrandom_init(); - stream.initialized = 1; - } -} - -static void -randombytes_sysrandom_stir_if_needed(void) -{ - if (stream.initialized == 0) { - randombytes_sysrandom_stir(); - } -} - -static int -randombytes_sysrandom_close(void) -{ - int ret = -1; - -#ifndef _WIN32 - if (stream.random_data_source_fd != -1 && - close(stream.random_data_source_fd) == 0) { - stream.random_data_source_fd = -1; - stream.initialized = 0; - ret = 0; - } -# if defined(SYS_getrandom) && defined(__NR_getrandom) - if (stream.getrandom_available != 0) { - ret = 0; - } -# endif -#else /* _WIN32 */ - if (stream.initialized != 0) { - stream.initialized = 0; - ret = 0; - } -#endif - return ret; -} - -static void -randombytes_sysrandom_buf(void * const buf, const size_t size) -{ - randombytes_sysrandom_stir_if_needed(); -#if defined(ULONG_LONG_MAX) && defined(SIZE_MAX) -# if SIZE_MAX > ULONG_LONG_MAX - /* coverity[result_independent_of_operands] */ - assert(size <= ULONG_LONG_MAX); -# endif -#endif -#ifndef _WIN32 -# if defined(SYS_getrandom) && defined(__NR_getrandom) - if (stream.getrandom_available != 0) { - if (randombytes_linux_getrandom(buf, size) != 0) { - abort(); - } - return; - } -# endif - if (stream.random_data_source_fd == -1 || - safe_read(stream.random_data_source_fd, buf, size) != (ssize_t) size) { - abort(); /* LCOV_EXCL_LINE */ - } -#else - if (size > (size_t) 0xffffffff) { - abort(); /* LCOV_EXCL_LINE */ - } - if (! RtlGenRandom((PVOID) buf, (ULONG) size)) { - abort(); /* LCOV_EXCL_LINE */ - } -#endif -} - -static uint32_t -randombytes_sysrandom(void) -{ - uint32_t r; - - randombytes_sysrandom_buf(&r, sizeof r); - - return r; -} - -#endif /* __OpenBSD__ */ - -static const char * -randombytes_sysrandom_implementation_name(void) -{ - return "sysrandom"; -} - -struct randombytes_implementation randombytes_sysrandom_implementation = { - SODIUM_C99(.implementation_name =) randombytes_sysrandom_implementation_name, - SODIUM_C99(.random =) randombytes_sysrandom, - SODIUM_C99(.stir =) randombytes_sysrandom_stir, - SODIUM_C99(.uniform =) NULL, - SODIUM_C99(.buf =) randombytes_sysrandom_buf, - SODIUM_C99(.close =) randombytes_sysrandom_close -}; diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/sodium/core.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/sodium/core.c deleted file mode 100755 index 9fdd09ec4..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/sodium/core.c +++ /dev/null @@ -1,171 +0,0 @@ - -#include -#include -#ifdef _WIN32 -# include -#elif defined(HAVE_PTHREAD) -# include -#endif - -#include "core.h" -#include "crypto_generichash.h" -#include "crypto_onetimeauth.h" -#include "crypto_pwhash_argon2i.h" -#include "crypto_scalarmult.h" -#include "crypto_stream_chacha20.h" -#include "crypto_stream_salsa20.h" -#include "randombytes.h" -#include "runtime.h" -#include "utils.h" -#include "private/mutex.h" - -#if !defined(_MSC_VER) && 0 -# warning *** This is unstable, untested, development code. -# warning It might not compile. It might not work as expected. -# warning It might be totally insecure. -# warning Do not use this in production. -# warning Use releases available at https://download.libsodium.org/libsodium/releases/ instead. -# warning Alternatively, use the "stable" branch in the git repository. -#endif - -#if !defined(_MSC_VER) && (!defined(CONFIGURED) || CONFIGURED != 1) -# warning *** The library is being compiled using an undocumented method. -# warning This is not supported. It has not been tested, it might not -# warning work as expected, and performance is likely to be suboptimal. -#endif - -static volatile int initialized; - -int -sodium_init(void) -{ - if (sodium_crit_enter() != 0) { - return -1; - } - if (initialized != 0) { - if (sodium_crit_leave() != 0) { - return -1; - } - return 1; - } - _sodium_runtime_get_cpu_features(); - randombytes_stir(); - _sodium_alloc_init(); - _crypto_pwhash_argon2i_pick_best_implementation(); - _crypto_generichash_blake2b_pick_best_implementation(); - _crypto_onetimeauth_poly1305_pick_best_implementation(); - _crypto_scalarmult_curve25519_pick_best_implementation(); - _crypto_stream_chacha20_pick_best_implementation(); - _crypto_stream_salsa20_pick_best_implementation(); - initialized = 1; - if (sodium_crit_leave() != 0) { - return -1; - } - return 0; -} - -#ifdef _WIN32 - -static CRITICAL_SECTION _sodium_lock; -static volatile LONG _sodium_lock_initialized; - -int -_sodium_crit_init(void) -{ - LONG status = 0L; - - while ((status = InterlockedCompareExchange(&_sodium_lock_initialized, - 1L, 0L)) == 1L) { - Sleep(0); - } - - switch (status) { - case 0L: - InitializeCriticalSection(&_sodium_lock); - return InterlockedExchange(&_sodium_lock_initialized, 2L) == 1L ? 0 : -1; - case 2L: - return 0; - default: /* should never be reached */ - return -1; - } -} - -int -sodium_crit_enter(void) -{ - if (_sodium_crit_init() != 0) { - return -1; - } - EnterCriticalSection(&_sodium_lock); - - return 0; -} - -int -sodium_crit_leave(void) -{ - LeaveCriticalSection(&_sodium_lock); - - return 0; -} - -#elif defined(HAVE_PTHREAD) && !defined(__EMSCRIPTEN__) - -static pthread_mutex_t _sodium_lock = PTHREAD_MUTEX_INITIALIZER; - -int -sodium_crit_enter(void) -{ - return pthread_mutex_lock(&_sodium_lock); -} - -int -sodium_crit_leave(void) -{ - return pthread_mutex_unlock(&_sodium_lock); -} - -#elif defined(HAVE_ATOMIC_OPS) && !defined(__EMSCRIPTEN__) && !defined(__native_client__) - -static volatile int _sodium_lock; - -int -sodium_crit_enter(void) -{ -# ifdef HAVE_NANOSLEEP - struct timespec q; - memset(&q, 0, sizeof q); -# endif - while (__sync_lock_test_and_set(&_sodium_lock, 1) != 0) { -# ifdef HAVE_NANOSLEEP - (void) nanosleep(&q, NULL); -# elif defined(__x86_64__) || defined(__i386__) - __asm__ __volatile__ ("pause"); -# endif - } - return 0; -} - -int -sodium_crit_leave(void) -{ - __sync_lock_release(&_sodium_lock); - - return 0; -} - -#else - -int -sodium_crit_enter(void) -{ - return 0; -} - -int -sodium_crit_leave(void) -{ - return 0; -} - -#endif diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/sodium/runtime.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/sodium/runtime.c deleted file mode 100755 index fd64003dd..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/sodium/runtime.c +++ /dev/null @@ -1,254 +0,0 @@ -#include -#include -#ifdef HAVE_ANDROID_GETCPUFEATURES -# include -#endif - -#include "private/common.h" -#include "runtime.h" - -typedef struct CPUFeatures_ { - int initialized; - int has_neon; - int has_sse2; - int has_sse3; - int has_ssse3; - int has_sse41; - int has_avx; - int has_avx2; - int has_pclmul; - int has_aesni; -} CPUFeatures; - -static CPUFeatures _cpu_features; - -#define CPUID_EBX_AVX2 0x00000020 - -#define CPUID_ECX_SSE3 0x00000001 -#define CPUID_ECX_PCLMUL 0x00000002 -#define CPUID_ECX_SSSE3 0x00000200 -#define CPUID_ECX_SSE41 0x00080000 -#define CPUID_ECX_AESNI 0x02000000 -#define CPUID_ECX_XSAVE 0x04000000 -#define CPUID_ECX_OSXSAVE 0x08000000 -#define CPUID_ECX_AVX 0x10000000 - -#define CPUID_EDX_SSE2 0x04000000 - -#define XCR0_SSE 0x00000002 -#define XCR0_AVX 0x00000004 - -static int -_sodium_runtime_arm_cpu_features(CPUFeatures * const cpu_features) -{ -#ifndef __arm__ - cpu_features->has_neon = 0; - return -1; -#else -# ifdef __APPLE__ -# ifdef __ARM_NEON__ - cpu_features->has_neon = 1; -# else - cpu_features->has_neon = 0; -# endif -# elif defined(HAVE_ANDROID_GETCPUFEATURES) && \ - defined(ANDROID_CPU_ARM_FEATURE_NEON) - cpu_features->has_neon = - (android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_NEON) != 0x0; -# else - cpu_features->has_neon = 0; -# endif - return 0; -#endif -} - -static void -_cpuid(unsigned int cpu_info[4U], const unsigned int cpu_info_type) -{ -#if defined(_MSC_VER) && \ - (defined(_M_X64) || defined(_M_AMD64) || defined(_M_IX86)) - __cpuid((int *) cpu_info, cpu_info_type); -#elif defined(HAVE_CPUID) - cpu_info[0] = cpu_info[1] = cpu_info[2] = cpu_info[3] = 0; -# ifdef __i386__ - __asm__ __volatile__( - "pushfl; pushfl; " - "popl %0; " - "movl %0, %1; xorl %2, %0; " - "pushl %0; " - "popfl; pushfl; popl %0; popfl" - : "=&r"(cpu_info[0]), "=&r"(cpu_info[1]) - : "i"(0x200000)); - if (((cpu_info[0] ^ cpu_info[1]) & 0x200000) == 0x0) { - return; /* LCOV_EXCL_LINE */ - } -# endif -# ifdef __i386__ - __asm__ __volatile__("xchgl %%ebx, %k1; cpuid; xchgl %%ebx, %k1" - : "=a"(cpu_info[0]), "=&r"(cpu_info[1]), - "=c"(cpu_info[2]), "=d"(cpu_info[3]) - : "0"(cpu_info_type), "2"(0U)); -# elif defined(__x86_64__) - __asm__ __volatile__("xchgq %%rbx, %q1; cpuid; xchgq %%rbx, %q1" - : "=a"(cpu_info[0]), "=&r"(cpu_info[1]), - "=c"(cpu_info[2]), "=d"(cpu_info[3]) - : "0"(cpu_info_type), "2"(0U)); -# else - __asm__ __volatile__("cpuid" - : "=a"(cpu_info[0]), "=b"(cpu_info[1]), - "=c"(cpu_info[2]), "=d"(cpu_info[3]) - : "0"(cpu_info_type), "2"(0U)); -# endif -#else - (void) cpu_info_type; - cpu_info[0] = cpu_info[1] = cpu_info[2] = cpu_info[3] = 0; -#endif -} - -static int -_sodium_runtime_intel_cpu_features(CPUFeatures * const cpu_features) -{ - unsigned int cpu_info[4]; - unsigned int id; - - _cpuid(cpu_info, 0x0); - if ((id = cpu_info[0]) == 0U) { - return -1; /* LCOV_EXCL_LINE */ - } - _cpuid(cpu_info, 0x00000001); -#ifdef HAVE_EMMINTRIN_H - cpu_features->has_sse2 = ((cpu_info[3] & CPUID_EDX_SSE2) != 0x0); -#else - cpu_features->has_sse2 = 0; -#endif - -#ifdef HAVE_PMMINTRIN_H - cpu_features->has_sse3 = ((cpu_info[2] & CPUID_ECX_SSE3) != 0x0); -#else - cpu_features->has_sse3 = 0; -#endif - -#ifdef HAVE_TMMINTRIN_H - cpu_features->has_ssse3 = ((cpu_info[2] & CPUID_ECX_SSSE3) != 0x0); -#else - cpu_features->has_ssse3 = 0; -#endif - -#ifdef HAVE_SMMINTRIN_H - cpu_features->has_sse41 = ((cpu_info[2] & CPUID_ECX_SSE41) != 0x0); -#else - cpu_features->has_sse41 = 0; -#endif - - cpu_features->has_avx = 0; -#ifdef HAVE_AVXINTRIN_H - if ((cpu_info[2] & (CPUID_ECX_AVX | CPUID_ECX_XSAVE | CPUID_ECX_OSXSAVE)) == - (CPUID_ECX_AVX | CPUID_ECX_XSAVE | CPUID_ECX_OSXSAVE)) { - uint32_t xcr0 = 0U; -# if defined(HAVE__XGETBV) || \ - (defined(_MSC_VER) && defined(_XCR_XFEATURE_ENABLED_MASK) && _MSC_FULL_VER >= 160040219) - xcr0 = (uint32_t) _xgetbv(0); -# elif defined(_MSC_VER) && defined(_M_IX86) - __asm { - xor ecx, ecx - _asm _emit 0x0f _asm _emit 0x01 _asm _emit 0xd0 - mov xcr0, eax - } -# elif defined(HAVE_AVX_ASM) - __asm__ __volatile__(".byte 0x0f, 0x01, 0xd0" /* XGETBV */ - : "=a"(xcr0) - : "c"((uint32_t) 0U) - : "%edx"); -# endif - if ((xcr0 & (XCR0_SSE | XCR0_AVX)) == (XCR0_SSE | XCR0_AVX)) { - cpu_features->has_avx = 1; - } - } -#endif - - cpu_features->has_avx2 = 0; -#ifdef HAVE_AVX2INTRIN_H - if (cpu_features->has_avx) { - unsigned int cpu_info7[4]; - - _cpuid(cpu_info7, 0x00000007); - cpu_features->has_avx2 = ((cpu_info7[1] & CPUID_EBX_AVX2) != 0x0); - } -#endif - -#ifdef HAVE_WMMINTRIN_H - cpu_features->has_pclmul = ((cpu_info[2] & CPUID_ECX_PCLMUL) != 0x0); - cpu_features->has_aesni = ((cpu_info[2] & CPUID_ECX_AESNI) != 0x0); -#else - cpu_features->has_pclmul = 0; - cpu_features->has_aesni = 0; -#endif - - return 0; -} - -int -_sodium_runtime_get_cpu_features(void) -{ - int ret = -1; - - ret &= _sodium_runtime_arm_cpu_features(&_cpu_features); - ret &= _sodium_runtime_intel_cpu_features(&_cpu_features); - _cpu_features.initialized = 1; - - return ret; -} - -int -sodium_runtime_has_neon(void) -{ - return _cpu_features.has_neon; -} - -int -sodium_runtime_has_sse2(void) -{ - return _cpu_features.has_sse2; -} - -int -sodium_runtime_has_sse3(void) -{ - return _cpu_features.has_sse3; -} - -int -sodium_runtime_has_ssse3(void) -{ - return _cpu_features.has_ssse3; -} - -int -sodium_runtime_has_sse41(void) -{ - return _cpu_features.has_sse41; -} - -int -sodium_runtime_has_avx(void) -{ - return _cpu_features.has_avx; -} - -int -sodium_runtime_has_avx2(void) -{ - return _cpu_features.has_avx2; -} - -int -sodium_runtime_has_pclmul(void) -{ - return _cpu_features.has_pclmul; -} - -int -sodium_runtime_has_aesni(void) -{ - return _cpu_features.has_aesni; -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/sodium/utils.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/sodium/utils.c deleted file mode 100755 index 3ac929d20..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/sodium/utils.c +++ /dev/null @@ -1,701 +0,0 @@ -#ifndef __STDC_WANT_LIB_EXT1__ -# define __STDC_WANT_LIB_EXT1__ 1 -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef HAVE_SYS_MMAN_H -# include -#endif - -#ifdef _WIN32 -# include -# include -#else -# include -#endif - -#include "randombytes.h" -#include "utils.h" - -#ifndef ENOSYS -# define ENOSYS ENXIO -#endif - -#if defined(_WIN32) && \ - (!defined(WINAPI_FAMILY) || WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP) -# define WINAPI_DESKTOP -#endif - -#define CANARY_SIZE 16U -#define GARBAGE_VALUE 0xdb - -#ifndef MAP_NOCORE -# define MAP_NOCORE 0 -#endif -#if !defined(MAP_ANON) && defined(MAP_ANONYMOUS) -# define MAP_ANON MAP_ANONYMOUS -#endif -#if defined(WINAPI_DESKTOP) || (defined(MAP_ANON) && defined(HAVE_MMAP)) || \ - defined(HAVE_POSIX_MEMALIGN) -# define HAVE_ALIGNED_MALLOC -#endif -#if defined(HAVE_MPROTECT) && \ - !(defined(PROT_NONE) && defined(PROT_READ) && defined(PROT_WRITE)) -# undef HAVE_MPROTECT -#endif -#if defined(HAVE_ALIGNED_MALLOC) && \ - (defined(WINAPI_DESKTOP) || defined(HAVE_MPROTECT)) -# define HAVE_PAGE_PROTECTION -#endif -#if !defined(MADV_DODUMP) && defined(MADV_CORE) -# define MADV_DODUMP MADV_CORE -# define MADV_DONTDUMP MADV_NOCORE -#endif - -static size_t page_size; -static unsigned char canary[CANARY_SIZE]; - -#ifdef HAVE_WEAK_SYMBOLS -__attribute__((weak)) void -_sodium_memzero_as_a_weak_symbol_to_prevent_lto(void *const pnt, - const size_t len) -{ - unsigned char *pnt_ = (unsigned char *) pnt; - size_t i = (size_t) 0U; - - while (i < len) { - pnt_[i++] = 0U; - } -} -#endif - -void -sodium_memzero(void *const pnt, const size_t len) -{ -#ifdef _WIN32 - SecureZeroMemory(pnt, len); -#elif defined(HAVE_MEMSET_S) - if (len > 0U && memset_s(pnt, (rsize_t) len, 0, (rsize_t) len) != 0) { - abort(); /* LCOV_EXCL_LINE */ - } -#elif defined(HAVE_EXPLICIT_BZERO) - explicit_bzero(pnt, len); -#elif HAVE_WEAK_SYMBOLS - _sodium_memzero_as_a_weak_symbol_to_prevent_lto(pnt, len); -#else - volatile unsigned char *volatile pnt_ = - (volatile unsigned char *volatile) pnt; - size_t i = (size_t) 0U; - - while (i < len) { - pnt_[i++] = 0U; - } -#endif -} - -#ifdef HAVE_WEAK_SYMBOLS -__attribute__((weak)) void -_sodium_dummy_symbol_to_prevent_memcmp_lto(const unsigned char *b1, - const unsigned char *b2, - const size_t len) -{ - (void) b1; - (void) b2; - (void) len; -} -#endif - -int -sodium_memcmp(const void *const b1_, const void *const b2_, size_t len) -{ -#ifdef HAVE_WEAK_SYMBOLS - const unsigned char *b1 = (const unsigned char *) b1_; - const unsigned char *b2 = (const unsigned char *) b2_; -#else - const volatile unsigned char *volatile b1 = - (const volatile unsigned char *volatile) b1_; - const volatile unsigned char *volatile b2 = - (const volatile unsigned char *volatile) b2_; -#endif - size_t i; - unsigned char d = (unsigned char) 0U; - -#if HAVE_WEAK_SYMBOLS - _sodium_dummy_symbol_to_prevent_memcmp_lto(b1, b2, len); -#endif - for (i = 0U; i < len; i++) { - d |= b1[i] ^ b2[i]; - } - return (1 & ((d - 1) >> 8)) - 1; -} - -#ifdef HAVE_WEAK_SYMBOLS -__attribute__((weak)) void -_sodium_dummy_symbol_to_prevent_compare_lto(const unsigned char *b1, - const unsigned char *b2, - const size_t len) -{ - (void) b1; - (void) b2; - (void) len; -} -#endif - -int -sodium_compare(const unsigned char *b1_, const unsigned char *b2_, size_t len) -{ -#ifdef HAVE_WEAK_SYMBOLS - const unsigned char *b1 = b1_; - const unsigned char *b2 = b2_; -#else - const volatile unsigned char *volatile b1 = - (const volatile unsigned char *volatile) b1_; - const volatile unsigned char *volatile b2 = - (const volatile unsigned char *volatile) b2_; -#endif - unsigned char gt = 0U; - unsigned char eq = 1U; - size_t i; - -#if HAVE_WEAK_SYMBOLS - _sodium_dummy_symbol_to_prevent_compare_lto(b1, b2, len); -#endif - i = len; - while (i != 0U) { - i--; - gt |= ((b2[i] - b1[i]) >> 8) & eq; - eq &= ((b2[i] ^ b1[i]) - 1) >> 8; - } - return (int) (gt + gt + eq) - 1; -} - -int -sodium_is_zero(const unsigned char *n, const size_t nlen) -{ - size_t i; - unsigned char d = 0U; - - for (i = 0U; i < nlen; i++) { - d |= n[i]; - } - return 1 & ((d - 1) >> 8); -} - -void -sodium_increment(unsigned char *n, const size_t nlen) -{ - size_t i = 0U; - uint_fast16_t c = 1U; - -#ifdef HAVE_AMD64_ASM - uint64_t t64, t64_2; - uint32_t t32; - - if (nlen == 12U) { - __asm__ __volatile__( - "xorq %[t64], %[t64] \n" - "xorl %[t32], %[t32] \n" - "stc \n" - "adcq %[t64], (%[out]) \n" - "adcl %[t32], 8(%[out]) \n" - : [t64] "=&r"(t64), [t32] "=&r"(t32) - : [out] "D"(n) - : "memory", "flags", "cc"); - return; - } else if (nlen == 24U) { - __asm__ __volatile__( - "movq $1, %[t64] \n" - "xorq %[t64_2], %[t64_2] \n" - "addq %[t64], (%[out]) \n" - "adcq %[t64_2], 8(%[out]) \n" - "adcq %[t64_2], 16(%[out]) \n" - : [t64] "=&r"(t64), [t64_2] "=&r"(t64_2) - : [out] "D"(n) - : "memory", "flags", "cc"); - return; - } else if (nlen == 8U) { - __asm__ __volatile__("incq (%[out]) \n" - : - : [out] "D"(n) - : "memory", "flags", "cc"); - return; - } -#endif - for (; i < nlen; i++) { - c += (uint_fast16_t) n[i]; - n[i] = (unsigned char) c; - c >>= 8; - } -} - -void -sodium_add(unsigned char *a, const unsigned char *b, const size_t len) -{ - size_t i = 0U; - uint_fast16_t c = 0U; - -#ifdef HAVE_AMD64_ASM - uint64_t t64, t64_2, t64_3; - uint32_t t32; - - if (len == 12U) { - __asm__ __volatile__( - "movq (%[in]), %[t64] \n" - "movl 8(%[in]), %[t32] \n" - "addq %[t64], (%[out]) \n" - "adcl %[t32], 8(%[out]) \n" - : [t64] "=&r"(t64), [t32] "=&r"(t32) - : [in] "S"(b), [out] "D"(a) - : "memory", "flags", "cc"); - return; - } else if (len == 24U) { - __asm__ __volatile__( - "movq (%[in]), %[t64] \n" - "movq 8(%[in]), %[t64_2] \n" - "movq 16(%[in]), %[t64_3] \n" - "addq %[t64], (%[out]) \n" - "adcq %[t64_2], 8(%[out]) \n" - "adcq %[t64_3], 16(%[out]) \n" - : [t64] "=&r"(t64), [t64_2] "=&r"(t64_2), [t64_3] "=&r"(t64_3) - : [in] "S"(b), [out] "D"(a) - : "memory", "flags", "cc"); - return; - } else if (len == 8U) { - __asm__ __volatile__( - "movq (%[in]), %[t64] \n" - "addq %[t64], (%[out]) \n" - : [t64] "=&r"(t64) - : [in] "S"(b), [out] "D"(a) - : "memory", "flags", "cc"); - return; - } -#endif - for (; i < len; i++) { - c += (uint_fast16_t) a[i] + (uint_fast16_t) b[i]; - a[i] = (unsigned char) c; - c >>= 8; - } -} - -/* Derived from original code by CodesInChaos */ -char * -sodium_bin2hex(char *const hex, const size_t hex_maxlen, - const unsigned char *const bin, const size_t bin_len) -{ - size_t i = (size_t) 0U; - unsigned int x; - int b; - int c; - - if (bin_len >= SIZE_MAX / 2 || hex_maxlen <= bin_len * 2U) { - abort(); /* LCOV_EXCL_LINE */ - } - while (i < bin_len) { - c = bin[i] & 0xf; - b = bin[i] >> 4; - x = (unsigned char) (87U + c + (((c - 10U) >> 8) & ~38U)) << 8 | - (unsigned char) (87U + b + (((b - 10U) >> 8) & ~38U)); - hex[i * 2U] = (char) x; - x >>= 8; - hex[i * 2U + 1U] = (char) x; - i++; - } - hex[i * 2U] = 0U; - - return hex; -} - -int -sodium_hex2bin(unsigned char *const bin, const size_t bin_maxlen, - const char *const hex, const size_t hex_len, - const char *const ignore, size_t *const bin_len, - const char **const hex_end) -{ - size_t bin_pos = (size_t) 0U; - size_t hex_pos = (size_t) 0U; - int ret = 0; - unsigned char c; - unsigned char c_acc = 0U; - unsigned char c_alpha0, c_alpha; - unsigned char c_num0, c_num; - unsigned char c_val; - unsigned char state = 0U; - - while (hex_pos < hex_len) { - c = (unsigned char) hex[hex_pos]; - c_num = c ^ 48U; - c_num0 = (c_num - 10U) >> 8; - c_alpha = (c & ~32U) - 55U; - c_alpha0 = ((c_alpha - 10U) ^ (c_alpha - 16U)) >> 8; - if ((c_num0 | c_alpha0) == 0U) { - if (ignore != NULL && state == 0U && strchr(ignore, c) != NULL) { - hex_pos++; - continue; - } - break; - } - c_val = (c_num0 & c_num) | (c_alpha0 & c_alpha); - if (bin_pos >= bin_maxlen) { - ret = -1; - errno = ERANGE; - break; - } - if (state == 0U) { - c_acc = c_val * 16U; - } else { - bin[bin_pos++] = c_acc | c_val; - } - state = ~state; - hex_pos++; - } - if (state != 0U) { - hex_pos--; - } - if (hex_end != NULL) { - *hex_end = &hex[hex_pos]; - } - if (bin_len != NULL) { - *bin_len = bin_pos; - } - return ret; -} - -int -_sodium_alloc_init(void) -{ -#ifdef HAVE_ALIGNED_MALLOC -# if defined(_SC_PAGESIZE) - long page_size_ = sysconf(_SC_PAGESIZE); - if (page_size_ > 0L) { - page_size = (size_t) page_size_; - } -# elif defined(WINAPI_DESKTOP) - SYSTEM_INFO si; - GetSystemInfo(&si); - page_size = (size_t) si.dwPageSize; -# endif - if (page_size < CANARY_SIZE || page_size < sizeof(size_t)) { - abort(); /* LCOV_EXCL_LINE */ - } -#endif - randombytes_buf(canary, sizeof canary); - - return 0; -} - -int -sodium_mlock(void *const addr, const size_t len) -{ -#if defined(MADV_DONTDUMP) && defined(HAVE_MADVISE) - (void) madvise(addr, len, MADV_DONTDUMP); -#endif -#ifdef HAVE_MLOCK - return mlock(addr, len); -#elif defined(WINAPI_DESKTOP) - return -(VirtualLock(addr, len) == 0); -#else - errno = ENOSYS; - return -1; -#endif -} - -int -sodium_munlock(void *const addr, const size_t len) -{ - sodium_memzero(addr, len); -#if defined(MADV_DODUMP) && defined(HAVE_MADVISE) - (void) madvise(addr, len, MADV_DODUMP); -#endif -#ifdef HAVE_MLOCK - return munlock(addr, len); -#elif defined(WINAPI_DESKTOP) - return -(VirtualUnlock(addr, len) == 0); -#else - errno = ENOSYS; - return -1; -#endif -} - -static int -_mprotect_noaccess(void *ptr, size_t size) -{ -#ifdef HAVE_MPROTECT - return mprotect(ptr, size, PROT_NONE); -#elif defined(WINAPI_DESKTOP) - DWORD old; - return -(VirtualProtect(ptr, size, PAGE_NOACCESS, &old) == 0); -#else - errno = ENOSYS; - return -1; -#endif -} - -static int -_mprotect_readonly(void *ptr, size_t size) -{ -#ifdef HAVE_MPROTECT - return mprotect(ptr, size, PROT_READ); -#elif defined(WINAPI_DESKTOP) - DWORD old; - return -(VirtualProtect(ptr, size, PAGE_READONLY, &old) == 0); -#else - errno = ENOSYS; - return -1; -#endif -} - -static int -_mprotect_readwrite(void *ptr, size_t size) -{ -#ifdef HAVE_MPROTECT - return mprotect(ptr, size, PROT_READ | PROT_WRITE); -#elif defined(WINAPI_DESKTOP) - DWORD old; - return -(VirtualProtect(ptr, size, PAGE_READWRITE, &old) == 0); -#else - errno = ENOSYS; - return -1; -#endif -} - -#ifdef HAVE_ALIGNED_MALLOC - -__attribute__((noreturn)) static void -_out_of_bounds(void) -{ -# ifdef SIGSEGV - raise(SIGSEGV); -# elif defined(SIGKILL) - raise(SIGKILL); -# endif - abort(); -} /* LCOV_EXCL_LINE */ - -static inline size_t -_page_round(const size_t size) -{ - const size_t page_mask = page_size - 1U; - - return (size + page_mask) & ~page_mask; -} - -static __attribute__((malloc)) unsigned char * -_alloc_aligned(const size_t size) -{ - void *ptr; - -# if defined(MAP_ANON) && defined(HAVE_MMAP) - if ((ptr = mmap(NULL, size, PROT_READ | PROT_WRITE, - MAP_ANON | MAP_PRIVATE | MAP_NOCORE, -1, 0)) == - MAP_FAILED) { - ptr = NULL; /* LCOV_EXCL_LINE */ - } /* LCOV_EXCL_LINE */ -# elif defined(HAVE_POSIX_MEMALIGN) - if (posix_memalign(&ptr, page_size, size) != 0) { - ptr = NULL; /* LCOV_EXCL_LINE */ - } /* LCOV_EXCL_LINE */ -# elif defined(WINAPI_DESKTOP) - ptr = VirtualAlloc(NULL, size, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE); -# else -# error Bug -# endif - return (unsigned char *) ptr; -} - -static void -_free_aligned(unsigned char *const ptr, const size_t size) -{ -# if defined(MAP_ANON) && defined(HAVE_MMAP) - (void) munmap(ptr, size); -# elif defined(HAVE_POSIX_MEMALIGN) - free(ptr); -# elif defined(WINAPI_DESKTOP) - VirtualFree(ptr, 0U, MEM_RELEASE); -# else -# error Bug -#endif -} - -static unsigned char * -_unprotected_ptr_from_user_ptr(void *const ptr) -{ - uintptr_t unprotected_ptr_u; - unsigned char *canary_ptr; - size_t page_mask; - - canary_ptr = ((unsigned char *) ptr) - sizeof canary; - page_mask = page_size - 1U; - unprotected_ptr_u = ((uintptr_t) canary_ptr & (uintptr_t) ~page_mask); - if (unprotected_ptr_u <= page_size * 2U) { - abort(); /* LCOV_EXCL_LINE */ - } - return (unsigned char *) unprotected_ptr_u; -} - -#endif /* HAVE_ALIGNED_MALLOC */ - -#ifndef HAVE_ALIGNED_MALLOC -static __attribute__((malloc)) void * -_sodium_malloc(const size_t size) -{ - return malloc(size > (size_t) 0U ? size : (size_t) 1U); -} -#else -static __attribute__((malloc)) void * -_sodium_malloc(const size_t size) -{ - void *user_ptr; - unsigned char *base_ptr; - unsigned char *canary_ptr; - unsigned char *unprotected_ptr; - size_t size_with_canary; - size_t total_size; - size_t unprotected_size; - - if (size >= (size_t) SIZE_MAX - page_size * 4U) { - errno = ENOMEM; - return NULL; - } - if (page_size <= sizeof canary || page_size < sizeof unprotected_size) { - abort(); /* LCOV_EXCL_LINE */ - } - size_with_canary = (sizeof canary) + size; - unprotected_size = _page_round(size_with_canary); - total_size = page_size + page_size + unprotected_size + page_size; - if ((base_ptr = _alloc_aligned(total_size)) == NULL) { - return NULL; /* LCOV_EXCL_LINE */ - } - unprotected_ptr = base_ptr + page_size * 2U; - _mprotect_noaccess(base_ptr + page_size, page_size); -# ifndef HAVE_PAGE_PROTECTION - memcpy(unprotected_ptr + unprotected_size, canary, sizeof canary); -# endif - _mprotect_noaccess(unprotected_ptr + unprotected_size, page_size); - sodium_mlock(unprotected_ptr, unprotected_size); - canary_ptr = - unprotected_ptr + _page_round(size_with_canary) - size_with_canary; - user_ptr = canary_ptr + sizeof canary; - memcpy(canary_ptr, canary, sizeof canary); - memcpy(base_ptr, &unprotected_size, sizeof unprotected_size); - _mprotect_readonly(base_ptr, page_size); - assert(_unprotected_ptr_from_user_ptr(user_ptr) == unprotected_ptr); - - return user_ptr; -} -#endif /* !HAVE_ALIGNED_MALLOC */ - -__attribute__((malloc)) void * -sodium_malloc(const size_t size) -{ - void *ptr; - - if ((ptr = _sodium_malloc(size)) == NULL) { - return NULL; - } - memset(ptr, (int) GARBAGE_VALUE, size); - - return ptr; -} - -__attribute__((malloc)) void * -sodium_allocarray(size_t count, size_t size) -{ - size_t total_size; - - if (count > (size_t) 0U && size >= (size_t) SIZE_MAX / count) { - errno = ENOMEM; - return NULL; - } - total_size = count * size; - - return sodium_malloc(total_size); -} - -#ifndef HAVE_ALIGNED_MALLOC -void -sodium_free(void *ptr) -{ - free(ptr); -} -#else -void -sodium_free(void *ptr) -{ - unsigned char *base_ptr; - unsigned char *canary_ptr; - unsigned char *unprotected_ptr; - size_t total_size; - size_t unprotected_size; - - if (ptr == NULL) { - return; - } - canary_ptr = ((unsigned char *) ptr) - sizeof canary; - unprotected_ptr = _unprotected_ptr_from_user_ptr(ptr); - base_ptr = unprotected_ptr - page_size * 2U; - memcpy(&unprotected_size, base_ptr, sizeof unprotected_size); - total_size = page_size + page_size + unprotected_size + page_size; - _mprotect_readwrite(base_ptr, total_size); - if (sodium_memcmp(canary_ptr, canary, sizeof canary) != 0) { - _out_of_bounds(); - } -# ifndef HAVE_PAGE_PROTECTION - if (sodium_memcmp(unprotected_ptr + unprotected_size, canary, - sizeof canary) != 0) { - _out_of_bounds(); - } -# endif - sodium_munlock(unprotected_ptr, unprotected_size); - _free_aligned(base_ptr, total_size); -} -#endif /* HAVE_ALIGNED_MALLOC */ - -#ifndef HAVE_PAGE_PROTECTION -static int -_sodium_mprotect(void *ptr, int (*cb)(void *ptr, size_t size)) -{ - (void) ptr; - (void) cb; - errno = ENOSYS; - return -1; -} -#else -static int -_sodium_mprotect(void *ptr, int (*cb)(void *ptr, size_t size)) -{ - unsigned char *base_ptr; - unsigned char *unprotected_ptr; - size_t unprotected_size; - - unprotected_ptr = _unprotected_ptr_from_user_ptr(ptr); - base_ptr = unprotected_ptr - page_size * 2U; - memcpy(&unprotected_size, base_ptr, sizeof unprotected_size); - - return cb(unprotected_ptr, unprotected_size); -} -#endif - -int -sodium_mprotect_noaccess(void *ptr) -{ - return _sodium_mprotect(ptr, _mprotect_noaccess); -} - -int -sodium_mprotect_readonly(void *ptr) -{ - return _sodium_mprotect(ptr, _mprotect_readonly); -} - -int -sodium_mprotect_readwrite(void *ptr) -{ - return _sodium_mprotect(ptr, _mprotect_readwrite); -} diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/sodium/version.c b/Example/web3swiftExample/Pods/libsodium/src/libsodium/sodium/version.c deleted file mode 100755 index 4e584a6ea..000000000 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/sodium/version.c +++ /dev/null @@ -1,30 +0,0 @@ - -#include "version.h" - -const char * -sodium_version_string(void) -{ - return SODIUM_VERSION_STRING; -} - -int -sodium_library_version_major(void) -{ - return SODIUM_LIBRARY_VERSION_MAJOR; -} - -int -sodium_library_version_minor(void) -{ - return SODIUM_LIBRARY_VERSION_MINOR; -} - -int -sodium_library_minimal(void) -{ -#ifdef SODIUM_LIBRARY_MINIMAL - return 1; -#else - return 0; -#endif -} diff --git a/Example/web3swiftExample/Pods/scrypt/LICENSE b/Example/web3swiftExample/Pods/scrypt/LICENSE new file mode 100755 index 000000000..d49e6aa41 --- /dev/null +++ b/Example/web3swiftExample/Pods/scrypt/LICENSE @@ -0,0 +1,13 @@ +Copyright 2018 Alex Vlasov + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/Example/web3swiftExample/Pods/scrypt/scrypt/module.modulemap b/Example/web3swiftExample/Pods/scrypt/scrypt/module.modulemap new file mode 100644 index 000000000..b184302fb --- /dev/null +++ b/Example/web3swiftExample/Pods/scrypt/scrypt/module.modulemap @@ -0,0 +1,4 @@ +module scryptC { + header "Cimpl.h" + export * +} diff --git a/Example/web3swiftExample/Pods/scrypt/scrypt/scrypt.h b/Example/web3swiftExample/Pods/scrypt/scrypt/scrypt.h new file mode 100755 index 000000000..adf224c44 --- /dev/null +++ b/Example/web3swiftExample/Pods/scrypt/scrypt/scrypt.h @@ -0,0 +1,23 @@ +// +// scrypt_cryptoswift.h +// scrypt-cryptoswift +// +// Created by Alexander Vlasov on 08.08.2018. +// Copyright © 2018 Alexander Vlasov. All rights reserved. +// + +#if TARGET_OS_IPHONE +#import +#else +#import +#endif + +//! Project version number for scrypt_cryptoswift. +FOUNDATION_EXPORT double scrypt_cryptoswiftVersionNumber; + +//! Project version string for scrypt_cryptoswift. +FOUNDATION_EXPORT const unsigned char scrypt_cryptoswiftVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/Example/web3swiftExample/Pods/scrypt/scrypt/scrypt/BufferStorage.swift b/Example/web3swiftExample/Pods/scrypt/scrypt/scrypt/BufferStorage.swift new file mode 100755 index 000000000..eccae9865 --- /dev/null +++ b/Example/web3swiftExample/Pods/scrypt/scrypt/scrypt/BufferStorage.swift @@ -0,0 +1,158 @@ +// +// BufferStorage.swift +// web3swift +// +// Created by Alexander Vlasov on 10.08.2018. +// Copyright © 2018 Bankex Foundation. All rights reserved. +// +import Foundation + +final class BufferStorage{ + + typealias Index = Int + typealias Indices = CountableRange + typealias Element = T + + struct refCountedPtr { + var ptr: UnsafeMutablePointer + var refCount: Int + } + + private var ptr: refCountedPtr + private let capacity: Int + + public var count : Int { + return self.capacity + } + + init(ptr: refCountedPtr, capacity: Int) { + self.ptr = refCountedPtr(ptr: ptr.ptr, refCount: 0) + self.capacity = capacity + } + + init(capacity: Int) { + let ptr = UnsafeMutablePointer.allocate(capacity: capacity) + self.ptr = refCountedPtr(ptr: ptr, refCount: 1) + self.capacity = capacity + } + + // copy with pointer being strong referenced + init(array: Array) { + self.capacity = array.count + let ptr = UnsafeMutablePointer.allocate(capacity: capacity) + self.ptr = refCountedPtr(ptr: ptr, refCount: 1) + for i in 0...allocate(capacity: capacity) + self.ptr = refCountedPtr(ptr: ptr, refCount: 1) + for i in 0.., count: Int) -> BufferStorage { + let storage = BufferStorage(capacity: buffer.capacity) + storage.ptr.ptr.initialize(from: buffer.ptr.ptr, count: count) + return storage + } + + func copy(to: BufferStorage, count: Int) { + precondition(to.capacity >= count) + to.ptr.ptr.initialize(from: self.ptr.ptr, count: count) + } + + // provide weak view + subscript(bounds: Range) -> BufferStorage { + precondition(bounds.lowerBound < self.capacity) + let shiftedPtr = self.ptr.ptr.advanced(by: bounds.lowerBound) + let reducedCapacity = bounds.count + return BufferStorage(ptr: refCountedPtr(ptr: shiftedPtr, refCount: 0), capacity: reducedCapacity) + } + + // provide weak view + subscript(bounds: CountablePartialRangeFrom) -> BufferStorage { + precondition(bounds.lowerBound < self.capacity) + let shiftedPtr = self.ptr.ptr.advanced(by: bounds.lowerBound) + let reducedCapacity = self.capacity - bounds.lowerBound + return BufferStorage(ptr: refCountedPtr(ptr: shiftedPtr, refCount: 0), capacity: reducedCapacity) + } + + subscript(_ at: Index) -> T { + get { + if at < self.capacity { + return self.ptr.ptr.advanced(by: at).pointee + } else { + preconditionFailure("Index beyond end of queue") + } + } + set (newValue) { + if at < self.capacity { + self.ptr.ptr.advanced(by: at).pointee = newValue + } else { + preconditionFailure("Index beyond end of queue") + } + } + } + + func replace(_ at: Index, with: T) { + if at < self.capacity { + self.ptr.ptr.advanced(by: at).pointee = with + } else { + preconditionFailure("Index beyond end of queue") + } + } + + func replaceSubrange(_ subrange: Range, with newElements: C) where C: Collection, C.Iterator.Element == T { + precondition(subrange.lowerBound >= 0, "Subrange lowerBound is negative") + precondition(subrange.upperBound < self.capacity, "Subrange upper bound is out of range") + for (offset, element) in newElements.enumerated() { + let at = subrange.lowerBound.advanced(by: offset) + self.ptr.ptr.advanced(by: at).pointee = element + } + } + + func replaceSubrange(_ subrange: Range, with newElements: BufferStorage) { + precondition(subrange.lowerBound >= 0, "Subrange lowerBound is negative") + precondition(subrange.upperBound <= self.capacity, "Subrange upper bound is out of range") + precondition(subrange.count <= newElements.capacity) + self.ptr.ptr.advanced(by: subrange.lowerBound).initialize(from: newElements.ptr.ptr, count: subrange.count) // copy assign + } + +// func replaceSubrange(_ subrange: CountableRange, with newElements: BufferStorage) { +// precondition(subrange.lowerBound >= 0, "Subrange lowerBound is negative") +// precondition(subrange.upperBound <= self.capacity, "Subrange upper bound is out of range") +// precondition(subrange.count <= newElements.capacity) +// self.ptr.ptr.advanced(by: subrange.lowerBound).initialize(from: newElements.ptr.ptr, count: subrange.count) // copy assign +// } + + func replaceSubrange(_ at: Index, with: T) { + if at < self.capacity { + self.ptr.ptr.advanced(by: at).pointee = with + } else { + preconditionFailure("Index beyond end of queue") + } + } + + func toArray() -> Array { + var result = Array() + result.reserveCapacity(self.count) + for i in 0 ..< self.count { + result.append(self.ptr.ptr.advanced(by: i).pointee) + } + return result + } + + deinit { + if self.ptr.refCount == 1 { +// print("Strong deinit") + self.ptr.ptr.deallocate() + } + } +} diff --git a/Example/web3swiftExample/Pods/scrypt/scrypt/scrypt/Salsa.swift b/Example/web3swiftExample/Pods/scrypt/scrypt/scrypt/Salsa.swift new file mode 100755 index 000000000..fbaec0986 --- /dev/null +++ b/Example/web3swiftExample/Pods/scrypt/scrypt/scrypt/Salsa.swift @@ -0,0 +1,198 @@ +// +// Salsa.swift +// scrypt-cryptoswift +// +// Created by Alexander Vlasov on 08.08.2018. +// Copyright © 2018 Alexander Vlasov. All rights reserved. +// + +import Foundation + +extension Array where Element == UInt8 { + func cast() -> Array { + let tSize = MemoryLayout.size + let (numElements, remainder) = self.count.quotientAndRemainder(dividingBy: tSize) + precondition(remainder == 0) + var result = Array() + result.reserveCapacity(numElements) + self.withUnsafeBytes { (bytes) -> Void in + for i in 0 ..< numElements { + let t = bytes.load(fromByteOffset: i*tSize, as: T.self) + result.append(t) + } + } + return result + } +} + +extension Array where Element == UInt8 { + func castToUInt32LE() -> Array { + let tSize = 4 + let (numElements, remainder) = self.count.quotientAndRemainder(dividingBy: tSize) + precondition(remainder == 0) + var result = Array(repeating: 0, count: numElements) + self.withUnsafeBytes { (bytes) -> Void in + for i in 0 ..< numElements { + result[i] = bytes.load(fromByteOffset: i*tSize, as: UInt32.self).littleEndian + } + } + return result + } +} + +extension Array where Element == UInt32 { + func castToBytes() -> Array { + let numElements = self.count * 4 + var result = Array(repeating: 0, count: numElements) + self.withUnsafeBytes { (bytes) -> Void in + for i in 0 ..< numElements { + result[i] = bytes.load(fromByteOffset: i, as: UInt8.self) + } + } + return result + } +} + +struct Salsa { + private static func R(_ a: UInt32, _ b: UInt32) -> UInt32 { + return (a << b) | (a >> (32 - b)) + } + + static func salsa20(_ B: inout Array, rounds: Int) { + var x = B.castToUInt32LE() + salsa20(&x, rounds: rounds) + B = x.castToBytes() + } + + static func fastSalsa20(_ B: inout Array, rounds: Int) { + let x = B.castToUInt32LE() + let buffer = BufferStorage(array: x) + salsa20(buffer, rounds: rounds) + B = buffer.toArray().castToBytes() + } + + static func quarterround(_ B: inout Array) { + B[1] ^= R(B[0] &+ B[3], 7); + B[2] ^= R(B[1] &+ B[0], 9); + B[3] ^= R(B[2] &+ B[1], 13); + B[0] ^= R(B[3] &+ B[2], 18); + } + + @inline(__always) static func doubleround(_ x: inout Array) { + // column rounds + x[4] ^= R(x[0] &+ x[12], 7); + x[8] ^= R(x[4] &+ x[0], 9); + x[12] ^= R(x[8] &+ x[4], 13); + x[0] ^= R(x[12] &+ x[8], 18); + + x[9] ^= R(x[5] &+ x[1], 7); + x[13] ^= R(x[9] &+ x[5], 9); + x[1] ^= R(x[13] &+ x[9], 13); + x[5] ^= R(x[1] &+ x[13], 18); + + x[14] ^= R(x[10] &+ x[6], 7); + x[2] ^= R(x[14] &+ x[10], 9); + x[6] ^= R(x[2] &+ x[14], 13); + x[10] ^= R(x[6] &+ x[2], 18); + + x[3] ^= R(x[15] &+ x[11], 7); + x[7] ^= R(x[3] &+ x[15], 9); + x[11] ^= R(x[7] &+ x[3], 13); + x[15] ^= R(x[11] &+ x[7], 18); + + // row rounds + x[1] ^= R(x[0] &+ x[3], 7); + x[2] ^= R(x[1] &+ x[0], 9); + x[3] ^= R(x[2] &+ x[1], 13); + x[0] ^= R(x[3] &+ x[2], 18); + + x[6] ^= R(x[5] &+ x[4], 7); + x[7] ^= R(x[6] &+ x[5], 9); + x[4] ^= R(x[7] &+ x[6], 13); + x[5] ^= R(x[4] &+ x[7], 18); + + x[11] ^= R(x[10] &+ x[9], 7); + x[8] ^= R(x[11] &+ x[10], 9); + x[9] ^= R(x[8] &+ x[11], 13); + x[10] ^= R(x[9] &+ x[8], 18); + + x[12] ^= R(x[15] &+ x[14], 7); + x[13] ^= R(x[12] &+ x[15], 9); + x[14] ^= R(x[13] &+ x[12], 13); + x[15] ^= R(x[14] &+ x[13], 18); + } + + static func salsa20(_ B: inout Array, rounds: Int) { + var x = B + for _ in stride(from: 0, to: rounds, by: 2) { + doubleround(&x) + } + for i in 0 ..< 16 { + B[i] = B[i] &+ x[i] + } + } + + @inline(__always) static func doubleround(_ x: BufferStorage) { + // column rounds + x[4] ^= R(x[0] &+ x[12], 7); + x[8] ^= R(x[4] &+ x[0], 9); + x[12] ^= R(x[8] &+ x[4], 13); + x[0] ^= R(x[12] &+ x[8], 18); + + x[9] ^= R(x[5] &+ x[1], 7); + x[13] ^= R(x[9] &+ x[5], 9); + x[1] ^= R(x[13] &+ x[9], 13); + x[5] ^= R(x[1] &+ x[13], 18); + + x[14] ^= R(x[10] &+ x[6], 7); + x[2] ^= R(x[14] &+ x[10], 9); + x[6] ^= R(x[2] &+ x[14], 13); + x[10] ^= R(x[6] &+ x[2], 18); + + x[3] ^= R(x[15] &+ x[11], 7); + x[7] ^= R(x[3] &+ x[15], 9); + x[11] ^= R(x[7] &+ x[3], 13); + x[15] ^= R(x[11] &+ x[7], 18); + + // row rounds + x[1] ^= R(x[0] &+ x[3], 7); + x[2] ^= R(x[1] &+ x[0], 9); + x[3] ^= R(x[2] &+ x[1], 13); + x[0] ^= R(x[3] &+ x[2], 18); + + x[6] ^= R(x[5] &+ x[4], 7); + x[7] ^= R(x[6] &+ x[5], 9); + x[4] ^= R(x[7] &+ x[6], 13); + x[5] ^= R(x[4] &+ x[7], 18); + + x[11] ^= R(x[10] &+ x[9], 7); + x[8] ^= R(x[11] &+ x[10], 9); + x[9] ^= R(x[8] &+ x[11], 13); + x[10] ^= R(x[9] &+ x[8], 18); + + x[12] ^= R(x[15] &+ x[14], 7); + x[13] ^= R(x[12] &+ x[15], 9); + x[14] ^= R(x[13] &+ x[12], 13); + x[15] ^= R(x[14] &+ x[13], 18); + } + + static func salsa20(_ B: BufferStorage, rounds: Int) { + let x = BufferStorage.copy(buffer: B, count: B.count) + for _ in stride(from: 0, to: rounds, by: 2) { + doubleround(x) + } + for i in 0 ..< 16 { + B[i] = B[i] &+ x[i] + } + } + + static func salsa20(_ B: BufferStorage, rounds: Int, tmp: BufferStorage) { + B.copy(to: tmp, count: B.count) + for _ in stride(from: 0, to: rounds, by: 2) { + doubleround(tmp) + } + for i in 0 ..< 16 { + B[i] = B[i] &+ tmp[i] + } + } +} diff --git a/Example/web3swiftExample/Pods/scrypt/scrypt/scrypt/Scrypt.swift b/Example/web3swiftExample/Pods/scrypt/scrypt/scrypt/Scrypt.swift new file mode 100755 index 000000000..a7d17fb0c --- /dev/null +++ b/Example/web3swiftExample/Pods/scrypt/scrypt/scrypt/Scrypt.swift @@ -0,0 +1,230 @@ +// +// Scrypt.swift +// scrypt-cryptoswift +// +// Created by Alexander Vlasov on 08.08.2018. +// Copyright © 2018 Alexander Vlasov. All rights reserved. +// + +// https://www.ietf.org/rfc/rfc7914.txt +// +import CryptoSwift +import scryptC + +/// A key derivation function. +/// +/// Scrypt - Password-Based Key Derivation Function. Key stretching technique. +// Passphrase: Bytes string of characters to be hashed +// Salt: Bytes random salt +// CostFactor (N): Integer CPU/memory cost parameter +// BlockSizeFactor (r): Integer blocksize parameter (8 is commonly used) +// ParallelizationFactor (p): Integer Parallelization parameter. (1..232-1 * hLen/MFlen) +// DesiredKeyLen: + +public struct Scrypt { + public enum Error: Swift.Error { + case invalidInput + case derivedKeyTooLong + case pValueTooLarge + case nValueNotPowerOf2 + } + + private let salt: Array // S + private let password: Array + fileprivate let blocksize: Int // 128 * r + private let dkLen: Int + private let N: Int + private let r: Int + private let p: Int + + public init(password: Array, salt: Array, dkLen: Int, N: Int, r: Int, p: Int) throws { + precondition(dkLen > 0) + precondition(N > 0) + precondition(r > 0) + precondition(p > 0) + + let MFLen = Double(r)*128 + let hLen = Double(32) + + if N & (N-1) != 0 { + throw Error.nValueNotPowerOf2 + } + + if Double(p) > (pow(2, 32) - 1) * hLen / MFLen { + throw Error.pValueTooLarge + } + + if Double(dkLen) > (pow(2, 32) - 1) * hLen { + throw Error.derivedKeyTooLong + } + + self.blocksize = 128 * r + self.N = N + self.r = r + self.p = p + self.password = password + self.salt = salt + self.dkLen = dkLen + } + + public func calculate() throws -> Array { + return try calculateUsingC() + } + + public func calculateNatively() throws -> Array { + var kdf = try CryptoSwift.PKCS5.PBKDF2(password: password, salt: salt, iterations: 1, keyLength: blocksize*p, variant: .sha256) + var B = try kdf.calculate() + let v = BufferStorage(repeating: 0, count: 32*N*r) + let xy = BufferStorage(repeating: 0, count: 64*r) // 128*2*r bytes + // no parallelization here for now + for i in 0 ..< p { + Scrypt.smix(b: &B[(i*128*r)...], N: N, r: r, v: v, xy: xy) + } + kdf = try CryptoSwift.PKCS5.PBKDF2(password: self.password, salt: B, iterations: 1, keyLength: dkLen, variant: .sha256) + let ret = try kdf.calculate() + return Array(ret) + } + + public func calculateUsingC() throws -> Array { + var kdf = try CryptoSwift.PKCS5.PBKDF2(password: password, salt: salt, iterations: 1, keyLength: blocksize*p, variant: .sha256) + var B = try kdf.calculate() + + let extraMemoryLength = 128 * r * N + 256 * r + 64 + var extraMemory = [UInt8](repeating: 0, count: extraMemoryLength) + + let res = partial_Scrypt(UInt64(N), UInt32(r), UInt32(p), &B, B.count, &extraMemory, extraMemoryLength) + if res != 0 { + throw Error.derivedKeyTooLong + } + kdf = try CryptoSwift.PKCS5.PBKDF2(password: self.password, salt: B, iterations: 1, keyLength: dkLen, variant: .sha256) + let ret = try kdf.calculate() + return Array(ret) + } + +} + +extension Scrypt { + static func blockCopy(destination: BufferStorage, source: BufferStorage, n: Int) { + destination.replaceSubrange(0 ..< n, with: source) + } + + static func blockXOR(destination: BufferStorage, source: BufferStorage, n: Int) { + for i in 0 ..< n { + destination[i] ^= source[i] + } + } + + static func blockMix(tmp: BufferStorage, source: BufferStorage, destination: BufferStorage, r: Int) { + blockCopy(destination: tmp, source: source[((2*r-1)*16)...], n: 16) + for i in stride(from: 0, to: 2*r, by: 2) { + salsaXOR(tmp: tmp, source: source[(i*16)...], destination: destination[(i*8)...]) + salsaXOR(tmp: tmp, source: source[(i*16 + 16)...], destination: destination[(i*8 + r*16)...]) + } + } + + static func salsaXOR(tmp: BufferStorage, source: BufferStorage, destination: BufferStorage) { + blockXOR(destination: tmp, source: source, n: 16) + // reuse destination as a temporary memory + Salsa.salsa20(tmp, rounds: 8, tmp: destination) + blockCopy(destination: destination, source: tmp, n: 16) + } + + static func integerify(b : BufferStorage, r: Int) -> UInt64 { + let j = (2*r - 1) * 16 + return UInt64(b[j]) | (UInt64(b[j+1]) << 32) // LE + } + + @inline(__always) static func smix(b: inout ArraySlice, N: Int, r: Int, v: BufferStorage, xy: BufferStorage) { + let tmp = BufferStorage(repeating: 0, count: 16) + let x = xy + let y = xy[(32*r)...] + + var j = b.startIndex + for i in 0 ..< 32*r { + x[i] = UInt32(b[j]) | UInt32(b[j+1])<<8 | UInt32(b[j+2])<<16 | UInt32(b[j+3])<<24 // decode as LE Uint32 + j += 4 + } + for i in stride(from: 0, to: N, by: 2) { + Scrypt.blockCopy(destination: v[(i*(32*r))...], source: x, n: 32*r) + // blockMix starts with copy, so tmp can be garbage + Scrypt.blockMix(tmp: tmp, source: x, destination: y, r: r) + + Scrypt.blockCopy(destination: v[((i+1)*(32*r))...], source: y, n: 32*r) + // blockMix starts with copy, so tmp can be garbage + Scrypt.blockMix(tmp: tmp, source: y, destination: x, r: r) + } + + for _ in stride(from: 0, to: N, by: 2) { + var j = Int(Scrypt.integerify(b: x, r: r) & UInt64(N-1) ) + Scrypt.blockXOR(destination: x, source: v[(j*(32*r))...], n: 32*r) + // blockMix starts with copy, so tmp can be garbage + Scrypt.blockMix(tmp: tmp, source: x, destination: y, r: r) + + j = Int(Scrypt.integerify(b: y, r: r) & UInt64(N-1) ) + Scrypt.blockXOR(destination: y, source: v[(j*(32*r))...], n: 32*r) + // blockMix starts with copy, so tmp can be garbage + Scrypt.blockMix(tmp: tmp, source: y, destination: x, r: r) + } + j = b.startIndex + for i in 0 ..< 32*r { + let v = x[i] + b[j+0] = UInt8(v >> 0 & 0xff) + b[j+1] = UInt8(v >> 8 & 0xff) + b[j+2] = UInt8(v >> 16 & 0xff) + b[j+3] = UInt8(v >> 24 & 0xff) + j += 4 + } + } + + static func smix(b: inout ArraySlice, N: Int, r: Int, v: BufferStorage, x: BufferStorage, y: BufferStorage) { + let tmp = BufferStorage(repeating: 0, count: 16) + + var j = b.startIndex + for i in 0 ..< 32*r { + x[i] = UInt32(b[j]) | UInt32(b[j+1])<<8 | UInt32(b[j+2])<<16 | UInt32(b[j+3])<<24 // decode as LE Uint32 + j += 4 + } + for i in stride(from: 0, to: N, by: 2) { + Scrypt.blockCopy(destination: v[(i*(32*r))...], source: x, n: 32*r) + // blockMix starts with copy, so tmp can be garbage + Scrypt.blockMix(tmp: tmp, source: x, destination: y, r: r) + + Scrypt.blockCopy(destination: v[((i+1)*(32*r))...], source: y, n: 32*r) + // blockMix starts with copy, so tmp can be garbage + Scrypt.blockMix(tmp: tmp, source: y, destination: x, r: r) + } + + for _ in stride(from: 0, to: N, by: 2) { + var j = Int(Scrypt.integerify(b: x, r: r) & UInt64(N-1) ) + Scrypt.blockXOR(destination: x, source: v[(j*(32*r))...], n: 32*r) + // blockMix starts with copy, so tmp can be garbage + Scrypt.blockMix(tmp: tmp, source: x, destination: y, r: r) + + j = Int(Scrypt.integerify(b: y, r: r) & UInt64(N-1) ) + Scrypt.blockXOR(destination: y, source: v[(j*(32*r))...], n: 32*r) + // blockMix starts with copy, so tmp can be garbage + Scrypt.blockMix(tmp: tmp, source: y, destination: x, r: r) + } + j = b.startIndex + for i in 0 ..< 32*r { + let v = x[i] + b[j+0] = UInt8(v >> 0 & 0xff) + b[j+1] = UInt8(v >> 8 & 0xff) + b[j+2] = UInt8(v >> 16 & 0xff) + b[j+3] = UInt8(v >> 24 & 0xff) + j += 4 + } + } + + static func integerify(_ X: Array) -> UInt64 { + precondition(X.count >= 8) + let count = X.count + var result = UInt64(0) + var shift = 56 + for i in (count-8 ..< count).reversed() { + result |= UInt64(X[i]) << shift + shift -= 8 + } + return result + } +} diff --git a/Example/web3swiftExample/Pods/web3swift/README.md b/Example/web3swiftExample/Pods/web3swift/README.md index 8c181ee38..6fbf4d9bc 100755 --- a/Example/web3swiftExample/Pods/web3swift/README.md +++ b/Example/web3swiftExample/Pods/web3swift/README.md @@ -1,10 +1,6 @@ -![bkx-foundation-github-swift](https://user-images.githubusercontent.com/3356474/34412791-5b58962c-ebf0-11e7-8460-5592b12e6e9d.png) - [Ask questions](https://stackoverflow.com/questions/tagged/web3swift) ## Important notices -With the version 0.3.0 API should be less volatile. All public functions should return a [Result](https://github.com/antitypical/Result) instead of `nil` or throwing. - -Example is updated for 0.5.0, although please prefer to use tests as an example for your code. +The work for 2.0 release is about to start. Ideas for new more Swift idiomatic API are welcome in issues. # web3swift @@ -13,80 +9,92 @@ Example is updated for 0.5.0, although please prefer to use tests as an example [![Platform](https://img.shields.io/cocoapods/p/web3swift.svg?style=flat)](http://cocoapods.org/pods/web3swift) [![support](https://brianmacdonald.github.io/Ethonate/svg/eth-support-blue.svg)](https://brianmacdonald.github.io/Ethonate/address#0x6394b37Cf80A7358b38068f0CA4760ad49983a1B) +**web3swift** is your toolbelt for any kind interactions with Ethereum network. + + +- [web3swift](#web3swift) ++ [Features:](#features-) +* [Design decisions](#design-decisions) +* [Example](#example) +* [Installation](#installation) ++ [Requirements](#requirements) ++ [CocoaPods](#cocoapods) +* [Getting started](#getting-started) ++ [Create Account](#create-account) ++ [Save keystore to the memory](#save-keystore-to-the-memory) ++ [Initializing Ethereum address](#initializing-ethereum-address) ++ [Setting options](#setting-options) ++ [Encoding Transaction](#encoding-transaction) ++ [Signing Transaction](#signing-transaction) ++ [Getting ETH balance](#getting-eth-balance) ++ [Getting gas price](#getting-gas-price) ++ [Sending ETH](#sending-eth) ++ [ERC20 Iteraction:](#erc20-iteraction-) +- [Getting ERC20 token balance](#getting-erc20-token-balance) +- [Sending ERC20](#sending-erc20) +* [Apps using this library](#apps-using-this-library) +* [Future plans](#future-plans) ++ [Extra features:](#extra-features-) +* [Stay in touch](#stay-in-touch) ++ [Contribution](#contribution) ++ [Communication](#communication) ++ [Special thanks to](#special-thanks-to) +* [Authors](#authors) +* [License](#license) + + +### Features: + - Swift implementation of [web3.js](https://github.com/ethereum/web3.js/) functionality :zap: - Interaction with remote node via JSON RPC :thought_balloon: - Smart-contract ABI parsing :book: - - ABI deconding (V2 is supported with return of structures from public functions. Part of 0.4.22 Solidity compiler) - - RLP encoding +- ABI deconding (V2 is supported with return of structures from public functions. Part of 0.4.22 Solidity compiler) +- RLP encoding - Interactions (read/write to Smart contracts) :arrows_counterclockwise: -- Local keystore management (geth compatible) -- Literally following the standarts: - - [BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) HD Wallets: Deterministic Wallet - - [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) (Seed phrases) - - [BIP44](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) (Key generation prefixes) - - [EIP-155](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md) (Replay attacks protection) *enforced!* - +- Local keystore management (`geth` compatible) +- Literally following the standards: +- [BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) HD Wallets: Deterministic Wallet +- [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) (Seed phrases) +- [BIP44](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) (Key generation prefixes) +- [EIP-155](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md) (Replay attacks protection) *enforced!* + +**Account Managment:** +- [x] Create Account +- [x] Import Account +- [x] Manage user's private keys through encrypted keystore abstractions -## Check this out +**Transactions operations:** +- [x] Sign transactions +- [x] Send transactions, call functions of smart-contracts, estimate gas costs +- [x] Serialize and deserialize transactions and results to native Swift types +- [x] Check transaction results and get the receipt +- [x] Parse event logs for the transaction +- [x] Convenience functions for chain state: block number, gas price +- [x] Batched requests in concurrent mode, check balances of 580 tokens (from the latest MyEtherWallet repo) over 3 seconds -- Private key and transaction were created directly on the iOS device and sent directly to [Infura](https://infura.io) node -- Native API -- Security (as cool as hard wallet! Right out-of-the-box! :box: ) -- No unnecessary dependencies -- Possibility to work with all existing smart contracts -- Referencing the newest features introduced in Solidity ## Design decisions -- Not every JSON RPC function is exposed yet, priority is gives to ones required for mobile devices -- Functionality was focused on serializing and signing transactions locally on device to send raw transaction to Ethereum network -- Requirements for password input on every transactions are indeed a design decision. Interface designers can save user passwords given user's consent -- Public function for private key export is exposed for user convenience, but marked as UNSAFE_ :) Normal workflow takes care of EIP155 compatibility and proper clearing of private key data from memory - -### Here it is -[https://rinkeby.etherscan.io/tx/0xc6eca60ecac004a1501a4323a10edb7fa4cd1a0896675f6b51704c84dedad056](https://rinkeby.etherscan.io/tx/0xc6eca60ecac004a1501a4323a10edb7fa4cd1a0896675f6b51704c84dedad056) - -``` -Transaction -Nonce: 35 -Gas price: 5000000000 -Gas limit: 21000 -To: 0x6394b37Cf80A7358b38068f0CA4760ad49983a1B -Value: 1000000000000000 -Data: 0x -v: 43 -r: 73059897783840535708732471549376620878882680550447969052675399628060606060727 -s: 12280625377431973240236065453692843538037349746280474092545114784968542260859 -Intrinsic chainID: Optional(4) -Infered chainID: Optional(4) -sender: Optional(web3swift.EthereumAddress(_address: "0x855adf524273c14b7260a188af0ae30e82e91959")) - -["id": 1514485925, "result": 0xc6eca60ecac004a1501a4323a10edb7fa4cd1a0896675f6b51704c84dedad056, "jsonrpc": 2.0] -On Rinkeby TXid = 0xc6eca60ecac004a1501a4323a10edb7fa4cd1a0896675f6b51704c84dedad056 -``` +- Not every JSON RPC function is exposed yet, and priority is given to the ones required for mobile devices +- Functionality was focused on serializing and signing transactions locally on the device to send raw transactions to Ethereum network +- Requirements for password input on every transaction are indeed a design decision. Interface designers can save user passwords with the user's consent +- Public function for private key export is exposed for user convenience but marked as UNSAFE_ :) Normal workflow takes care of EIP155 compatibility and proper clearing of private key data from memory ## Example -You can try it by yourself by running the example project: - -- Clone the repo -- `cd Example/web3swiftExample` -- run `pod install` from the `Example/web3swiftExample` directory. -- `open ./web3swiftExample.xcworkspace` +You can try it yourself by running the example project: -## Requirements +- Clone the repo: `git clone https://github.com/matterinc/web3swift.git` +- Move to the repo: `cd web3swift/Example/web3swiftExample` +- Install Dependencies: `pod install` +- Open: `open ./web3swiftExample.xcworkspace` -Web3swift requires Swift 4.1 and iOS 9.0 or macOS 10.13 although we recommend to use the latest iOS and MacOS versions for your own safety. Don't forget to set iOS version in a Podfile, otherwise you get an error if deployment target is less than the latest SDK. -## Communication +## Installation -- if you **need help**, use [Stack Overflow](https://stackoverflow.com/questions/tagged/web3swift) (tag 'web3swift') -- If you'd like to **ask a general question**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/web3swift). -- If you **found a bug**, [open an issue](https://github.com/BANKEX/web3swift/issues). -- If you **have a feature request**, [open an issue](https://github.com/BANKEX/web3swift/issues). -- If you **want to contribute**, [submit a pull request](https://github.com/BANKEX/web3swift/pulls). +### Requirements -## Installation +Web3swift requires `Swift 4.1` and `iOS 9.0` or `macOS 10.11` although we recommend using the latest iOS and MacOS versions for your safety. Don't forget to set the iOS version in a Podfile. Otherwise, you get an error if the deployment target is less than the latest SDK. ### CocoaPods @@ -96,17 +104,15 @@ Web3swift requires Swift 4.1 and iOS 9.0 or macOS 10.13 although we recommend to $ sudo gem install cocoapods ``` - To integrate web3swift into your Xcode project using CocoaPods, specify it in your `Podfile`: - ```ruby source 'https://github.com/CocoaPods/Specs.git' platform :ios, '9.0' target '' do use_frameworks! - pod 'web3swift', '~> 0.8.0' + pod 'web3swift' end ``` @@ -115,32 +121,62 @@ Then, run the following command: ```bash $ pod install ``` -## Features -- [x] Create Account -- [x] Import Account -- [x] Sign transictions -- [x] Send transactions, call functions of smart-contracts, estimate gas costs -- [x] Serialize and deserialize transactions and results to native Swift types -- [x] Convenience functions for chain state: block number, gas price -- [x] Check transaction results and get receipt -- [x] Parse event logs for transaction -- [x] Manage user's private keys through encrypted keystore abstractions -- [x] Batched requests in concurrent mode, checks balances of 580 tokens (from the latest MyEtherWallet repo) over 3 seconds +## Getting started + +Here are a few use cases: + +### Create Account + +```swift + // Create keystore and account with password. + + let keystore = try! EthereumKeystoreV3(password: "changeme"); // generates a private key internally if node "privateKey" parameter supplied + let account = keystore!.addresses![0] + print(account) + + let data = try! keystore!.serialize() // internally serializes to JSON + print(try! JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions(rawValue:0))) + let key = try! keystore!.UNSAFE_getPrivateKeyData(password: "changeme", account: account) // you should rarely use this and expose a key manually +``` + +### Save keystore to the memory + +```swift +//First you need a `KeystoreManager` instance: +guard let userDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first, + let keystoreManager = KeystoreManager.managerForPath(userDirectory + "/keystore") +else { + fatalError("Couldn't create a KeystoreManager.") +} + +//Next you create a new Keystore: + +let newKeystore = try? EthereumKeystoreV3(password: "YOUR_PASSWORD") -## Usage +// Then you save the created keystore to the file system: + +let newKeystoreJSON = try? JSONEncoder().encode(newKeystore.keystoreParams) +FileManager.default.createFile(atPath: "\(keystoreManager.path)/keystore.json", contents: newKeystoreJSON, attributes: nil) + +// Later you can retreive it: + +if let address = keystoreManager.addresses?.first, +let retrievedKeystore = keystoreManager.walletForAddress(address) as? EthereumKeystoreV3 { + return retrievedKeystore +} +``` -Here you can see a few examples of use of our library ### Initializing Ethereum address -```bash +```swift let coldWalletAddress = EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B") -let constractAddress = EthereumAddress("0x45245bc59219eeaaf6cd3f382e078a461ff9de7b") +let constractAddress = EthereumAddress("0x45245bc59219eeaaf6cd3f382e078a461ff9de7b", ignoreChecksum: true) ``` -Ethereum addresses are checksum checked if they are not lowercased and always length checked - +Ethereum addresses are checksum checked if they are not lowercased or uppercased and always length checked ### Setting options -```bash + +```swift var options = Web3Options.defaultOptions() // public var to: EthereumAddress? = nil - to what address transaction is aimed // public var from: EthereumAddress? = nil - form what address it should be sent (either signed locally or on the node) @@ -151,46 +187,61 @@ options.gasPrice = gasPrice options.gasLimit = gasLimit options.from = EthereumAddress("0xE6877A4d8806e9A9F12eB2e8561EA6c1db19978d") ``` + +### Encoding Transaction + +``` +//TODO +``` + +### Signing Transaction + +``` +//TODO +``` ### Getting ETH balance -```bash +```swift let address = EthereumAddress("0xE6877A4d8806e9A9F12eB2e8561EA6c1db19978d")! let web3Main = Web3.InfuraMainnetWeb3() let balanceResult = web3Main.eth.getBalance(address) guard case .success(let balance) = balanceResult else {return} ``` ### Getting gas price -```bash +```swift let web3Main = Web3.InfuraMainnetWeb3() let gasPriceResult = web3Main.eth.getGasPrice() guard case .success(let gasPrice) = gasPriceResult else {return} ``` -### Getting ERC20 token balance -```bash -let contractAddress = EthereumAddress("0x45245bc59219eeaaf6cd3f382e078a461ff9de7b")! // BKX token on Ethereum mainnet -let contract = web3.contract(Web3.Utils.erc20ABI, at: contractAddress, abiVersion: 2)! // utilize precompiled ERC20 ABI for your concenience -guard let bkxBalanceResult = contract.method("balanceOf", parameters: [coldWalletAddress] as [AnyObject], options: options)?.call(options: nil) else {return} // encode parameters for transaction -guard case .success(let bkxBalance) = bkxBalanceResult, let bal = bkxBalance["0"] as? BigUInt else {return} // bkxBalance is [String: Any], and parameters are enumerated as "0", "1", etc in order of being returned. If returned parameter has a name in ABI, it is also duplicated -print("BKX token balance = " + String(bal)) -``` ### Sending ETH -```bash +```swift let web3Rinkeby = Web3.InfuraRinkebyWeb3() web3Rinkeby.addKeystoreManager(bip32keystoreManager) // attach a keystore if you want to sign locally. Otherwise unsigned request will be sent to remote node options.from = bip32ks?.addresses?.first! // specify from what address you want to send it intermediateSend = web3Rinkeby.contract(Web3.Utils.coldWalletABI, at: coldWalletAddress, abiVersion: 2)!.method(options: options)! // an address with a private key attached in not different from any other address, just has very simple ABI -let sendResultBip32 = intermediateSend.send(password: "BANKEXFOUNDATION") +let sendResultBip32 = intermediateSend.send(password: "changeme") ``` -### Sending ERC20 -```bash +### ERC20 Iteraction: + +#### Getting ERC20 token balance +```swift +let contractAddress = EthereumAddress("0x45245bc59219eeaaf6cd3f382e078a461ff9de7b")! // BKX token on Ethereum mainnet +let contract = web3.contract(Web3.Utils.erc20ABI, at: contractAddress, abiVersion: 2)! // utilize precompiled ERC20 ABI for your concenience +guard let bkxBalanceResult = contract.method("balanceOf", parameters: [coldWalletAddress] as [AnyObject], options: options)?.call(options: nil) else {return} // encode parameters for transaction +guard case .success(let bkxBalance) = bkxBalanceResult, let bal = bkxBalance["0"] as? BigUInt else {return} // bkxBalance is [String: Any], and parameters are enumerated as "0", "1", etc in order of being returned. If returned parameter has a name in ABI, it is also duplicated +print("BKX token balance = " + String(bal)) +``` + +#### Sending ERC20 +```swift var convenienceTransferOptions = Web3Options.defaultOptions() convenienceTransferOptions.gasPrice = gasPriceRinkeby let convenienceTokenTransfer = web3Rinkeby.eth.sendERC20tokensWithNaturalUnits(tokenAddress: EthereumAddress("0xa407dd0cbc9f9d20cdbd557686625e586c85b20a")!, from: (ks?.addresses?.first!)!, to: EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B")!, amount: "0.0001", options: convenienceTransferOptions) // there are also convenience functions to send ETH and ERC20 under the .eth structure let gasEstimateResult = convenienceTokenTransfer!.estimateGas(options: nil) guard case .success(let gasEstimate) = gasEstimateResult else {return} convenienceTransferOptions.gasLimit = gasEstimate -let convenienceTransferResult = convenienceTokenTransfer!.send(password: "BANKEXFOUNDATION", options: convenienceTransferOptions) +let convenienceTransferResult = convenienceTokenTransfer!.send(password: "changeme", options: convenienceTransferOptions) switch convenienceTransferResult { case .success(let res): print("Token transfer successful") @@ -200,42 +251,76 @@ switch convenienceTransferResult { } ``` -## Global plans +## Apps using this library + +If you are using `web3swift` in your app or know of an app that uses it, please add it to this list: [Apps using this library](https://github.com/matterinc/web3swift/wiki/Apps-using-web3swift) +It would be much appreciated! 👍 + +Here is some examples: + +* [MEWconnect-iOS](https://github.com/MyEtherWallet/MEWconnect-iOS) +* [Peepeth iOS client](https://github.com/matterinc/PeepethClient) +* [Ethereum & ERC20Tokens Wallet](https://itunes.apple.com/us/app/ethereum-erc20tokens-wallet/id1386738877?ls=1&mt=8) +* [BankexWallet](https://github.com/BANKEX/Pay-iOS) +* [GeoChain](https://github.com/awallish/GeoChain) +* [TRX-Wallet](https://github.com/NewHorizonLabs/TRX-Wallet) +* [YOUR APP CAN BE THERE (click me)](https://github.com/matterinc/web3swift/wiki/Apps-using-web3swift/_edit) :wink: + +If you've used this project in a live app, please let us know! + +*If you are using `web3swift` in your app or know of an app that uses it, please add it to [this](https://github.com/matterinc/web3swift/wiki/Apps-using-web3swift) list.* + + + +## Plans + - Full reference `web3js` functionality - Light Ethereum subprotocol (LES) integration -## [Apps using this library](https://github.com/BANKEX/web3swift/wiki/Apps-using-web3swift) -If you've used this project in a live app, please let us know! +### Extra features: -*If you are using `web3swift` in your app or know of an app that uses it, please add it to [this](https://github.com/BANKEX/web3swift/wiki/Apps-using-web3swift) list.* +For the latest version, please check [develop](https://github.com/matterinc/web3swift/tree/develop) branch. +Changes made to this branch will be merged into the [master](https://github.com/matterinc/web3swift/tree/master) branch at some point. -## Special thanks to +--- + + +## Stay in touch + +When using this pod, please make references to this repo and give your start! :) +*Nothing makes developers happier than seeing someone else use our work and go wild with it.* + + +If you are using web3swift in your app or know of an app that uses it, please add it to [this list](https://github.com/matterinc/web3swift/wiki/Apps-using-web3swift). -- Gnosis team and their library [Bivrost-swift](https://github.com/gnosis/bivrost-swift) for inspiration for the ABI decoding approach -- [Trust iOS Wallet](https://github.com/TrustWallet/trust-wallet-ios) for collaboration and discussion for initial idea -- Official Ethereum and Solidity docs, everything was written from ground truth standards -## Contribution +### Contribution -For the latest version, please check [develop](https://github.com/BANKEX/web3swift/tree/develop) branch. -Changes from this branch will be merged into the [master](https://github.com/BANKEX/web3swift/tree/master) branch at some point. -- If you want to contribute, submit a [pull request](https://github.com/BANKEX/web3swift/pulls) against a development `develop` branch. -- If you found a bug, [open an issue](https://github.com/BANKEX/web3swift/issues). -- If you have a feature request, [open an issue](https://github.com/BANKEX/web3swift/issues). +- If you **have a feature request**, [open an issue](https://github.com/matterinc/web3swift/issues). +- If you **want to contribute**, [submit a pull request](https://github.com/matterinc/web3swift/pulls). -## Appreciation +### Communication + +- if you **need help**, use [Stack Overflow](https://stackoverflow.com/questions/tagged/web3swift) (tag 'web3swift') +- If you'd like to **ask a general question**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/web3swift). +- If you **found a bug**, [open an issue](https://github.com/matterinc/web3swift/issues). -When using this pod references to this repo, [BANKEX](http://bankex.com) and [BANKEX Foundation](http://bankexfoundation.org) are appreciated. +### Special thanks to + +- Gnosis team and their library [Bivrost-swift](https://github.com/gnosis/bivrost-swift) for inspiration for the ABI decoding approach +- [Trust iOS Wallet](https://github.com/TrustWallet/trust-wallet-ios) for the collaboration and discussion of the initial idea +- Official Ethereum and Solidity docs, everything was written from ground truth standards +- ## Authors -Alex Vlasov, [@shamatar](https://github.com/shamatar), av@bankexfoundation.org +Alex Vlasov, [@shamatar](https://github.com/shamatar), alex.m.vlasov@gmail.com -Petr Korolev, [@skywinder](https://github.com/skywinder), pk@bankexfoundation.org +Petr Korolev, [@skywinder](https://github.com/skywinder) ## License -web3swift is available under the Apache License 2.0 license. See the [LICENSE](https://github.com/BankEx/web3swift/blob/master/LICENSE) file for more info. +web3swift is available under the Apache License 2.0 license. See the [LICENSE](https://github.com/matterinc/web3swift/blob/master/LICENSE) file for more info. diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/ABIv2/Classes/ABIv2Elements.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/ABIv2/Classes/ABIv2Elements.swift index 29fd9cfad..ec6e455b3 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/ABIv2/Classes/ABIv2Elements.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/ABIv2/Classes/ABIv2Elements.swift @@ -9,7 +9,7 @@ import Foundation import BigInt -extension ABIv2 { +public extension ABIv2 { // JSON Decoding public struct Input: Decodable { var name: String? @@ -48,16 +48,16 @@ extension ABIv2 { case event(Event) public struct InOut { - let name: String - let type: ParameterType + public let name: String + public let type: ParameterType } public struct Function { - let name: String? - let inputs: [InOut] - let outputs: [InOut] - let constant: Bool - let payable: Bool + public let name: String? + public let inputs: [InOut] + public let outputs: [InOut] + public let constant: Bool + public let payable: Bool } public struct Constructor { diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/ABIv2/Classes/ABIv2TypeParser.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/ABIv2/Classes/ABIv2TypeParser.swift index 87182e3db..370dc26fe 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/ABIv2/Classes/ABIv2TypeParser.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/ABIv2/Classes/ABIv2TypeParser.swift @@ -49,7 +49,7 @@ public struct ABIv2TypeParser { public static func parseTypeString(_ string:String) throws -> ABIv2.Element.ParameterType { let (type, tail) = recursiveParseType(string) - guard let t = type, tail == nil else {throw ParsingError.elementTypeInvalid} + guard let t = type, tail == nil else {throw Web3Error.inputError(desc: "Failed to parse ABI element " + string)} return t } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Contract/Classes/ContractABIv2.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Contract/Classes/ContractABIv2.swift index a663a47b2..8526e7324 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Contract/Classes/ContractABIv2.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Contract/Classes/ContractABIv2.swift @@ -94,7 +94,6 @@ public struct ContractV2:ContractProtocol { } } catch{ - print(error) return nil } } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/CryptoExtensions.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/CryptoExtensions.swift index 79ced5f75..f633c572e 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/CryptoExtensions.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/CryptoExtensions.swift @@ -7,43 +7,45 @@ // import Foundation -import libsodium +//import libsodium +import scrypt func toByteArray(_ value: T) -> [UInt8] { var value = value return withUnsafeBytes(of: &value) { Array($0) } } -func fromByteArray(_ value: [UInt8], _: T.Type) -> T { - return value.withUnsafeBytes { - $0.baseAddress!.load(as: T.self) - } -} +//public func scryptLibSodium (password: String, salt: Data, length: Int, N: Int, R: Int, P: Int) -> Data? { +// let BytesMin = Int(crypto_generichash_bytes_min()) +// let BytesMax = Int(crypto_generichash_bytes_max()) +// if length < BytesMin || length > BytesMax { +// return nil +// } +// +// var output = Data(count: length) +// guard let passwordData = password.data(using: .utf8) else {return nil} +// let passwordLen = passwordData.count +// let saltLen = salt.count +// let result = output.withUnsafeMutableBytes { (outputPtr:UnsafeMutablePointer) -> Int32 in +// salt.withUnsafeBytes { (saltPointer:UnsafePointer) -> Int32 in +// passwordData.withUnsafeBytes{ (passwordPointer:UnsafePointer) -> Int32 in +// let res = crypto_pwhash_scryptsalsa208sha256_ll(passwordPointer, passwordLen, +// saltPointer, saltLen, +// UInt64(N), UInt32(R), UInt32(P), +// outputPtr, length) +// return res +// } +// } +// } +// if result != 0 { +// return nil +// } +// return output +//} public func scrypt (password: String, salt: Data, length: Int, N: Int, R: Int, P: Int) -> Data? { - let BytesMin = Int(crypto_generichash_bytes_min()) - let BytesMax = Int(crypto_generichash_bytes_max()) - if length < BytesMin || length > BytesMax { - return nil - } - - var output = Data(count: length) guard let passwordData = password.data(using: .utf8) else {return nil} - let passwordLen = passwordData.count - let saltLen = salt.count - let result = output.withUnsafeMutableBytes { (outputPtr:UnsafeMutablePointer) -> Int32 in - salt.withUnsafeBytes { (saltPointer:UnsafePointer) -> Int32 in - passwordData.withUnsafeBytes{ (passwordPointer:UnsafePointer) -> Int32 in - let res = crypto_pwhash_scryptsalsa208sha256_ll(passwordPointer, passwordLen, - saltPointer, saltLen, - UInt64(N), UInt32(R), UInt32(P), - outputPtr, length) - return res - } - } - } - if result != 0 { - return nil - } - return output + guard let deriver = try? Scrypt(password: passwordData.bytes, salt: salt.bytes, dkLen: length, N: N, r: R, p: P) else {return nil} + guard let result = try? deriver.calculate() else {return nil} + return Data(result) } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/Data+Extension.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/Data+Extension.swift index aaff52de3..e23cd4dc6 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/Data+Extension.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/Data+Extension.swift @@ -7,8 +7,7 @@ // import Foundation -import libsodium - +//import libsodium public extension Data { @@ -36,8 +35,9 @@ public extension Data { public static func zero(_ data: inout Data) { let count = data.count data.withUnsafeMutableBytes { (dataPtr: UnsafeMutablePointer) in - let rawPtr = UnsafeMutableRawPointer(dataPtr) - sodium_memzero(rawPtr, count) +// var rawPtr = UnsafeMutableRawPointer(dataPtr) + // sodium_memzero(rawPtr, count) + dataPtr.initialize(repeating: 0, count: count) } } public static func randomBytes(length: Int) -> Data? { diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/Dictionary+Extension.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/Dictionary+Extension.swift index 70a656c9a..3253247c7 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/Dictionary+Extension.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/Dictionary+Extension.swift @@ -8,12 +8,6 @@ import Foundation -extension Dictionary where Value: Equatable { - func containsValue(value : Value) -> Bool { - return self.contains { $0.1 == value } - } -} - extension Dictionary where Key == String, Value: Equatable { func keyForValue(value : Value) -> String? { for key in self.keys { diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/LibSecp256k1Extension.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/LibSecp256k1Extension.swift index f3028ca7e..bf41816f3 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/LibSecp256k1Extension.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/LibSecp256k1Extension.swift @@ -1,3 +1,11 @@ +// +// LibSecp256k1Extension.swift +// web3swift-iOS +// +// Created by Alexander Vlasov. +// Copyright © 2018 Bankex Foundation. All rights reserved. +// + import Foundation import secp256k1_ios @@ -19,7 +27,7 @@ public struct SECP256K1 { extension SECP256K1 { static var context = secp256k1_context_create(UInt32(SECP256K1_CONTEXT_SIGN|SECP256K1_CONTEXT_VERIFY)) - static func signForRecovery(hash: Data, privateKey: Data, useExtraEntropy: Bool = true) -> (serializedSignature:Data?, rawSignature: Data?) { + static func signForRecovery(hash: Data, privateKey: Data, useExtraEntropy: Bool = false) -> (serializedSignature:Data?, rawSignature: Data?) { if (hash.count != 32 || privateKey.count != 32) {return (nil, nil)} if !SECP256K1.verifyPrivateKey(privateKey: privateKey) { return (nil, nil) @@ -31,7 +39,7 @@ extension SECP256K1 { guard let truePublicKey = SECP256K1.privateKeyToPublicKey(privateKey: privateKey) else {continue} guard let recoveredPublicKey = SECP256K1.recoverPublicKey(hash: hash, recoverableSignature: &recoverableSignature) else {continue} if Data(toByteArray(truePublicKey.data)) != Data(toByteArray(recoveredPublicKey.data)) { - print("Didn't recover correctly!") +// print("Didn't recover correctly!") continue } guard let serializedSignature = SECP256K1.serializeSignature(recoverableSignature: &recoverableSignature) else {continue} @@ -221,7 +229,6 @@ extension SECP256K1 { } } if result == 0 { - print("Failed to sign!") return nil } return recoverableSignature @@ -266,7 +273,14 @@ extension SECP256K1 { let bytes = signatureData.bytes let r = Array(bytes[0..<32]) let s = Array(bytes[32..<64]) - return UnmarshaledSignature(v: bytes[64], r: r, s: s) + var v = bytes[64] + if v >= 27 { + v = v - 27 + } + if v > 3 { + return nil + } + return UnmarshaledSignature(v: v, r: r, s: s) } static func marshalSignature(v: UInt8, r: [UInt8], s: [UInt8]) -> Data? { @@ -278,7 +292,7 @@ extension SECP256K1 { } static func marshalSignature(v: Data, r: Data, s: Data) -> Data? { - guard r.count == 32, s.count == 32 else {return nil} + guard r.count == 32, s.count == 32, v.count == 1 else {return nil} var completeSignature = Data(r) completeSignature.append(s) completeSignature.append(v) diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/String+Extension.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/String+Extension.swift index 88ea8003f..7694838c9 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/String+Extension.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/String+Extension.swift @@ -1,3 +1,11 @@ +// +// String+Extension.swift +// web3swift-iOS +// +// Created by Alexander Vlasov. +// Copyright © 2018 Bankex Foundation. All rights reserved. +// + import Foundation extension String { @@ -8,13 +16,6 @@ extension String { var fullNSRange: NSRange { return NSRange(fullRange, in: self) } - - func lastIndex(of char: Character) -> Index? { - guard let range = range(of: String(char), options: .backwards) else { - return nil - } - return range.lowerBound - } func index(of char: Character) -> Index? { guard let range = range(of: String(char)) else { diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/HookedFunctions/Classes/Web3+BrowserFunctions.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/HookedFunctions/Classes/Web3+BrowserFunctions.swift index 055bf0a00..3384c2cba 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/HookedFunctions/Classes/Web3+BrowserFunctions.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/HookedFunctions/Classes/Web3+BrowserFunctions.swift @@ -27,25 +27,20 @@ extension web3.BrowserFunctions { return addresses[0] } - public func personalSign(_ personalMessage: String, account: String, password: String = "BANKEXFOUNDATION") -> String? { + public func personalSign(_ personalMessage: String, account: String, password: String = "web3swift") -> String? { return self.sign(personalMessage, account: account, password: password) } - public func sign(_ personalMessage: String, account: String, password: String = "BANKEXFOUNDATION") -> String? { + public func sign(_ personalMessage: String, account: String, password: String = "web3swift") -> String? { guard let data = Data.fromHex(personalMessage) else {return nil} return self.sign(data, account: account, password: password) } - public func sign(_ personalMessage: Data, account: String, password: String = "BANKEXFOUNDATION") -> String? { + public func sign(_ personalMessage: Data, account: String, password: String = "web3swift") -> String? { do { guard let keystoreManager = self.web3.provider.attachedKeystoreManager else {return nil} guard let signature = try Web3Signer.signPersonalMessage(personalMessage, keystore: keystoreManager, account: EthereumAddress(account)!, password: password) else {return nil} - guard let sender = self.personalECRecover(personalMessage, signature: signature) else {return nil} - print(sender) - if sender.lowercased() != account.lowercased() { - print("Invalid sender") - } return signature.toHexString().addHexPrefix() } catch{ @@ -79,13 +74,13 @@ extension web3.BrowserFunctions { } - public func sendTransaction(_ transactionJSON: [String: Any], password: String = "BANKEXFOUNDATION") -> [String:Any]? { + public func sendTransaction(_ transactionJSON: [String: Any], password: String = "web3swift") -> [String:Any]? { guard let transaction = EthereumTransaction.fromJSON(transactionJSON) else {return nil} guard let options = Web3Options.fromJSON(transactionJSON) else {return nil} return self.sendTransaction(transaction, options: options, password: password) } - public func sendTransaction(_ transaction: EthereumTransaction, options: Web3Options, password: String = "BANKEXFOUNDATION") -> [String:Any]? { + public func sendTransaction(_ transaction: EthereumTransaction, options: Web3Options, password: String = "web3swift") -> [String:Any]? { let result = self.web3.eth.sendTransaction(transaction, options: options, password: password) switch result { case .failure(_): @@ -134,13 +129,13 @@ extension web3.BrowserFunctions { return (transaction, options) } - public func signTransaction(_ transactionJSON: [String: Any], password: String = "BANKEXFOUNDATION") -> String? { + public func signTransaction(_ transactionJSON: [String: Any], password: String = "web3swift") -> String? { guard let transaction = EthereumTransaction.fromJSON(transactionJSON) else {return nil} guard let options = Web3Options.fromJSON(transactionJSON) else {return nil} return self.signTransaction(transaction, options: options, password: password) } - public func signTransaction(_ trans: EthereumTransaction, options: Web3Options, password: String = "BANKEXFOUNDATION") -> String? { + public func signTransaction(_ trans: EthereumTransaction, options: Web3Options, password: String = "web3swift") -> String? { do { var transaction = trans guard let from = options.from else {return nil} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/HookedFunctions/Classes/Web3+Wallet.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/HookedFunctions/Classes/Web3+Wallet.swift index fac21248f..49ce41dbd 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/HookedFunctions/Classes/Web3+Wallet.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/HookedFunctions/Classes/Web3+Wallet.swift @@ -3,8 +3,8 @@ // web3swift // // Created by Alexander Vlasov on 07.01.2018. +// Copyright © 2018 Bankex Foundation. All rights reserved. // - import Foundation import BigInt import Result @@ -34,23 +34,23 @@ extension web3.Web3Wallet { } } - public func signTX(transaction:inout EthereumTransaction, account: EthereumAddress, password: String = "BANKEXFOUNDATION") -> Result { + public func signTX(transaction:inout EthereumTransaction, account: EthereumAddress, password: String = "web3swift") -> Result { do { guard let keystoreManager = self.web3.provider.attachedKeystoreManager else { return Result.failure(Web3Error.walletError) } try Web3Signer.signTX(transaction: &transaction, keystore: keystoreManager, account: account, password: password) - print(transaction) +// print(transaction) return Result(true) } catch { if error is AbstractKeystoreError { - return Result.failure(Web3Error.keystoreError(error as! AbstractKeystoreError)) + return Result.failure(Web3Error.keystoreError(err: error as! AbstractKeystoreError)) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } - public func signPersonalMessage(_ personalMessage: String, account: EthereumAddress, password: String = "BANKEXFOUNDATION") -> Result { + public func signPersonalMessage(_ personalMessage: String, account: EthereumAddress, password: String = "web3swift") -> Result { guard let data = Data.fromHex(personalMessage) else { return Result.failure(Web3Error.dataError) @@ -58,7 +58,7 @@ extension web3.Web3Wallet { return self.signPersonalMessage(data, account: account, password: password) } - public func signPersonalMessage(_ personalMessage: Data, account: EthereumAddress, password: String = "BANKEXFOUNDATION") -> Result { + public func signPersonalMessage(_ personalMessage: Data, account: EthereumAddress, password: String = "web3swift") -> Result { do { guard let keystoreManager = self.web3.provider.attachedKeystoreManager else { @@ -71,9 +71,9 @@ extension web3.Web3Wallet { } catch{ if error is AbstractKeystoreError { - return Result.failure(Web3Error.keystoreError(error as! AbstractKeystoreError)) + return Result.failure(Web3Error.keystoreError(err: error as! AbstractKeystoreError)) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/BIP32HDNode.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/BIP32HDNode.swift index f0e99a383..8f8591c3c 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/BIP32HDNode.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/BIP32HDNode.swift @@ -3,6 +3,7 @@ // web3swift // // Created by Alexander Vlasov on 09.01.2018. +// Copyright © 2018 Bankex Foundation. All rights reserved. // import Foundation diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/BIP32Keystore.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/BIP32Keystore.swift index cd1579f1c..4220cdba6 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/BIP32Keystore.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/BIP32Keystore.swift @@ -70,19 +70,19 @@ public class BIP32Keystore: AbstractKeystore { rootPrefix = keystoreParams!.rootPath! } - public convenience init? (mnemonics: String, password: String = "BANKEXFOUNDATION", mnemonicsPassword: String = "", language: BIP39Language = BIP39Language.english, prefixPath: String = HDNode.defaultPathMetamaskPrefix) throws { + public convenience init? (mnemonics: String, password: String = "web3swift", mnemonicsPassword: String = "", language: BIP39Language = BIP39Language.english, prefixPath: String = HDNode.defaultPathMetamaskPrefix) throws { guard var seed = BIP39.seedFromMmemonics(mnemonics, password: mnemonicsPassword, language: language) else {throw AbstractKeystoreError.noEntropyError} defer{ Data.zero(&seed) } try self.init(seed: seed, password: password, prefixPath: prefixPath) } - public init? (seed: Data, password: String = "BANKEXFOUNDATION", prefixPath: String = HDNode.defaultPathMetamaskPrefix) throws { + public init? (seed: Data, password: String = "web3swift", prefixPath: String = HDNode.defaultPathMetamaskPrefix) throws { guard let prefixNode = HDNode(seed: seed)?.derive(path: prefixPath, derivePrivateKey: true) else {return nil} self.rootPrefix = prefixPath try createNewAccount(parentNode: prefixNode, password: password) } - public func createNewChildAccount(password: String = "BANKEXFOUNDATION") throws { + public func createNewChildAccount(password: String = "web3swift") throws { guard let decryptedRootNode = try? self.getPrefixNodeData(password), decryptedRootNode != nil else {throw AbstractKeystoreError.encryptionError("Failed to decrypt a keystore")} guard let rootNode = HDNode(decryptedRootNode!) else {throw AbstractKeystoreError.encryptionError("Failed to deserialize a root node")} let prefixPath = self.rootPrefix @@ -90,7 +90,7 @@ public class BIP32Keystore: AbstractKeystore { try createNewAccount(parentNode: rootNode, password: password) } - public func createNewAccount(parentNode: HDNode, password: String = "BANKEXFOUNDATION", aesMode: String = "aes-128-cbc") throws { + public func createNewAccount(parentNode: HDNode, password: String = "web3swift", aesMode: String = "aes-128-cbc") throws { var newIndex = UInt32(0) for (p, _) in paths { guard let idx = UInt32(p.components(separatedBy: "/").last!) else {continue} @@ -112,7 +112,7 @@ public class BIP32Keystore: AbstractKeystore { try encryptDataToStorage(password, data: serializedRootNode, aesMode: aesMode) } - public func createNewCustomChildAccount(password: String = "BANKEXFOUNDATION", path: String) throws { + public func createNewCustomChildAccount(password: String = "web3swift", path: String) throws { guard let decryptedRootNode = try? self.getPrefixNodeData(password), decryptedRootNode != nil else {throw AbstractKeystoreError.encryptionError("Failed to decrypt a keystore")} guard let rootNode = HDNode(decryptedRootNode!) else {throw AbstractKeystoreError.encryptionError("Failed to deserialize a root node")} let prefixPath = self.rootPrefix @@ -193,7 +193,7 @@ public class BIP32Keystore: AbstractKeystore { keystoreParams = keystorePars } - public func regenerate(oldPassword: String, newPassword: String, dkLen: Int=32, N: Int = 262144, R: Int = 8, P: Int = 1) throws { + public func regenerate(oldPassword: String, newPassword: String, dkLen: Int=32, N: Int = 4096, R: Int = 6, P: Int = 1) throws { var keyData = try self.getPrefixNodeData(oldPassword) if keyData == nil { throw AbstractKeystoreError.encryptionError("Failed to decrypt a keystore") @@ -268,7 +268,7 @@ public class BIP32Keystore: AbstractKeystore { return data } - public func serializeRootNodeToString(password: String = "BANKEXFOUNDATION") throws -> String { + public func serializeRootNodeToString(password: String = "web3swift") throws -> String { guard let decryptedRootNode = try? self.getPrefixNodeData(password), decryptedRootNode != nil else {throw AbstractKeystoreError.encryptionError("Failed to decrypt a keystore")} guard let rootNode = HDNode(decryptedRootNode!) else {throw AbstractKeystoreError.encryptionError("Failed to deserialize a root node")} guard let string = rootNode.serializeToString(serializePublic: false) else {throw AbstractKeystoreError.encryptionError("Failed to deserialize a root node")} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/BIP39.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/BIP39.swift index 3afd2909e..ba622c252 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/BIP39.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/BIP39.swift @@ -106,7 +106,7 @@ public class BIP39 { } static public func seedFromMmemonics(_ mnemonics: String, password: String = "", language: BIP39Language = BIP39Language.english) -> Data? { - let valid = BIP39.mnemonicsToEntropy(mnemonics) != nil + let valid = BIP39.mnemonicsToEntropy(mnemonics, language: language) != nil if (!valid) { print("Potentially invalid mnemonics") } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/EthereumAddress.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/EthereumAddress.swift index 6e4794d73..c2d260f3a 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/EthereumAddress.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/EthereumAddress.swift @@ -3,6 +3,7 @@ // web3swift // // Created by Alexander Vlasov on 07.01.2018. +// Copyright © 2018 Bankex Foundation. All rights reserved. // import Foundation @@ -79,12 +80,31 @@ public struct EthereumAddress: Equatable { case .normal: guard let data = Data.fromHex(addressString) else {return nil} guard data.count == 20 else {return nil} - if (!ignoreChecksum && data.toHexString().addHexPrefix() != addressString) { - let checksummedAddress = EthereumAddress.toChecksumAddress(data.toHexString().addHexPrefix()) - guard checksummedAddress == addressString else {return nil} + if !addressString.hasHexPrefix() { + return nil + } + if (!ignoreChecksum) { + // check for checksum + if data.toHexString() == addressString.stripHexPrefix() { + self._address = data.toHexString().addHexPrefix() + self.type = .normal + return + } else if data.toHexString().uppercased() == addressString.stripHexPrefix() { + self._address = data.toHexString().addHexPrefix() + self.type = .normal + return + } else { + let checksummedAddress = EthereumAddress.toChecksumAddress(data.toHexString().addHexPrefix()) + guard checksummedAddress == addressString else {return nil} + self._address = data.toHexString().addHexPrefix() + self.type = .normal + return + } + } else { + self._address = data.toHexString().addHexPrefix() + self.type = .normal + return } - self._address = data.toHexString().addHexPrefix() - self.type = .normal case .contractDeployment: self._address = "0x" self.type = .contractDeployment diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/EthereumKeystoreV3.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/EthereumKeystoreV3.swift index efb1ca906..8e3bcfed2 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/EthereumKeystoreV3.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/KeystoreManager/Classes/EthereumKeystoreV3.swift @@ -59,19 +59,19 @@ public class EthereumKeystoreV3: AbstractKeystore { if (keystoreParams.crypto.version != nil && keystoreParams.crypto.version != "1") {return nil} self.keystoreParams = keystoreParams if keystoreParams.address != nil { - self.address = EthereumAddress(keystoreParams.address!) + self.address = EthereumAddress(keystoreParams.address!.addHexPrefix()) } else { return nil } } - public init? (password: String = "BANKEXFOUNDATION", aesMode: String = "aes-128-cbc") throws { + public init? (password: String = "web3swift", aesMode: String = "aes-128-cbc") throws { guard var newPrivateKey = SECP256K1.generatePrivateKey() else {return nil} defer {Data.zero(&newPrivateKey)} try encryptDataToStorage(password, keyData: newPrivateKey, aesMode: aesMode) } - public init? (privateKey: Data, password: String = "BANKEXFOUNDATION", aesMode: String = "aes-128-cbc") throws { + public init? (privateKey: Data, password: String = "web3swift", aesMode: String = "aes-128-cbc") throws { guard privateKey.count == 32 else {return nil} guard SECP256K1.verifyPrivateKey(privateKey: privateKey) else {return nil} try encryptDataToStorage(password, keyData: privateKey, aesMode: aesMode) @@ -115,7 +115,7 @@ public class EthereumKeystoreV3: AbstractKeystore { self.keystoreParams = keystoreparams } - public func regenerate(oldPassword: String, newPassword: String, dkLen: Int=32, N: Int = 262144, R: Int = 8, P: Int = 1) throws { + public func regenerate(oldPassword: String, newPassword: String, dkLen: Int=32, N: Int = 4096, R: Int = 6, P: Int = 1) throws { var keyData = try self.getKeyData(oldPassword) if keyData == nil { throw AbstractKeystoreError.encryptionError("Failed to decrypt a keystore") diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Batching.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Batching.swift index c72dc4a1f..a8362d902 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Batching.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Batching.swift @@ -22,7 +22,8 @@ public class JSONRPCrequestDispatcher { self.provider = provider self.queue = queue self.policy = policy - self.lockQueue = DispatchQueue(label: "batchingQueue", qos: .userInitiated) + self.lockQueue = DispatchQueue.init(label: "batchingQueue") // serial simplest queue +// DispatchQueue(label: "batchingQueue", qos: .userInitiated) self.batches.append(Batch(provider: self.provider, capacity: 32, queue: self.queue, lockQueue: self.lockQueue)) } @@ -37,13 +38,13 @@ public class JSONRPCrequestDispatcher { var triggered : Bool = false func add(_ request: JSONRPCrequest, maxWaitTime: TimeInterval) throws -> Promise { if self.triggered { - throw Web3Error.nodeError("Batch is already in flight") + throw Web3Error.nodeError(desc: "Batch is already in flight") } let requestID = request.id let promiseToReturn = Promise.pending() - self.queue.async { + self.lockQueue.async { if self.promisesDict[requestID] != nil { - promiseToReturn.resolver.reject(Web3Error.processingError("Request ID collision")) + promiseToReturn.resolver.reject(Web3Error.processingError(desc: "Request ID collision")) } self.promisesDict[requestID] = promiseToReturn self.requests.append(request) @@ -70,7 +71,7 @@ public class JSONRPCrequestDispatcher { for response in batch.responses { if self.promisesDict[UInt64(response.id)] == nil { for k in self.promisesDict.keys { - self.promisesDict[k]?.resolver.reject(Web3Error.nodeError("Unknown request id")) + self.promisesDict[k]?.resolver.reject(Web3Error.nodeError(desc: "Unknown request id")) } return } @@ -97,7 +98,7 @@ public class JSONRPCrequestDispatcher { func getBatch() throws -> Batch { guard case .Batch(let batchLength) = self.policy else { - throw Web3Error.inputError("Trying to batch a request when policy is not to batch") + throw Web3Error.inputError(desc: "Trying to batch a request when policy is not to batch") } let currentBatch = self.batches.last! if currentBatch.requests.count % batchLength == 0 || currentBatch.triggered { diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+HttpProvider.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+HttpProvider.swift index 532ab97b5..bb6cd2c35 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+HttpProvider.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+HttpProvider.swift @@ -18,7 +18,8 @@ extension Web3HttpProvider { do { let encoder = JSONEncoder() let requestData = try encoder.encode(request) - var urlRequest = try URLRequest(url: providerURL, method: .post) + var urlRequest = URLRequest(url: providerURL, cachePolicy: URLRequest.CachePolicy.reloadIgnoringCacheData) + urlRequest.httpMethod = "POST" urlRequest.setValue("application/json", forHTTPHeaderField: "Content-Type") urlRequest.setValue("application/json", forHTTPHeaderField: "Accept") urlRequest.httpBody = requestData @@ -32,7 +33,7 @@ extension Web3HttpProvider { return } guard data != nil else { - rp.resolver.reject(Web3Error.nodeError("Node response is empty")) + rp.resolver.reject(Web3Error.nodeError(desc: "Node response is empty")) return } rp.resolver.fulfill(data!) @@ -47,7 +48,7 @@ extension Web3HttpProvider { }.map(on: queue){ (data: Data) throws -> JSONRPCresponse in let parsedResponse = try JSONDecoder().decode(JSONRPCresponse.self, from: data) if parsedResponse.error != nil { - throw Web3Error.nodeError("Received an error message from node\n" + String(describing: parsedResponse.error!)) + throw Web3Error.nodeError(desc: "Received an error message from node\n" + String(describing: parsedResponse.error!)) } return parsedResponse } @@ -60,7 +61,8 @@ extension Web3HttpProvider { do { let encoder = JSONEncoder() let requestData = try encoder.encode(request) - var urlRequest = try URLRequest(url: providerURL, method: .post) + var urlRequest = URLRequest(url: providerURL, cachePolicy: URLRequest.CachePolicy.reloadIgnoringCacheData) + urlRequest.httpMethod = "POST" urlRequest.setValue("application/json", forHTTPHeaderField: "Content-Type") urlRequest.setValue("application/json", forHTTPHeaderField: "Accept") urlRequest.httpBody = requestData @@ -74,7 +76,7 @@ extension Web3HttpProvider { return } guard data != nil, data!.count != 0 else { - rp.resolver.reject(Web3Error.nodeError("Node response is empty")) + rp.resolver.reject(Web3Error.nodeError(desc: "Node response is empty")) return } rp.resolver.fulfill(data!) @@ -87,8 +89,8 @@ extension Web3HttpProvider { return rp.promise.ensure(on: queue) { task = nil }.map(on: queue){ (data: Data) throws -> JSONRPCresponseBatch in - let debugValue = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions(rawValue: 0)) - print(debugValue) +// let debugValue = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions(rawValue: 0)) +// print(debugValue) let parsedResponse = try JSONDecoder().decode(JSONRPCresponseBatch.self, from: data) return parsedResponse } @@ -96,7 +98,7 @@ extension Web3HttpProvider { public func sendAsync(_ request: JSONRPCrequest, queue: DispatchQueue = .main) -> Promise { if request.method == nil { - return Promise(error: Web3Error.nodeError("RPC method is nill")) + return Promise(error: Web3Error.nodeError(desc: "RPC method is nill")) } return Web3HttpProvider.post(request, providerURL: self.url, queue: queue, session: self.session) diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+Call.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+Call.swift index 1e4abeb2e..b6cb71af0 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+Call.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+Call.swift @@ -15,15 +15,15 @@ extension web3.Eth { let queue = web3.requestDispatcher.queue do { guard let request = EthereumTransaction.createRequest(method: .call, transaction: transaction, onBlock: onBlock, options: options) else { - throw Web3Error.processingError("Transaction is invalid") + throw Web3Error.processingError(desc: "Transaction is invalid") } let rp = web3.dispatch(request) return rp.map(on: queue ) { response in guard let value: Data = response.getValue() else { if response.error != nil { - throw Web3Error.nodeError(response.error!.message) + throw Web3Error.nodeError(desc: response.error!.message) } - throw Web3Error.nodeError("Invalid value from Ethereum node") + throw Web3Error.nodeError(desc: "Invalid value from Ethereum node") } return value } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+EstimateGas.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+EstimateGas.swift index 968330218..db001f96d 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+EstimateGas.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+EstimateGas.swift @@ -16,15 +16,15 @@ extension web3.Eth { let queue = web3.requestDispatcher.queue do { guard let request = EthereumTransaction.createRequest(method: .estimateGas, transaction: transaction, onBlock: onBlock, options: options) else { - throw Web3Error.processingError("Transaction is invalid") + throw Web3Error.processingError(desc: "Transaction is invalid") } let rp = web3.dispatch(request) return rp.map(on: queue ) { response in guard let value: BigUInt = response.getValue() else { if response.error != nil { - throw Web3Error.nodeError(response.error!.message) + throw Web3Error.nodeError(desc: response.error!.message) } - throw Web3Error.nodeError("Invalid value from Ethereum node") + throw Web3Error.nodeError(desc: "Invalid value from Ethereum node") } return value } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetAccounts.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetAccounts.swift index 1e3885c4f..eadac28a6 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetAccounts.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetAccounts.swift @@ -31,9 +31,9 @@ extension web3.Eth { return rp.map(on: queue ) { response in guard let value: [EthereumAddress] = response.getValue() else { if response.error != nil { - throw Web3Error.nodeError(response.error!.message) + throw Web3Error.nodeError(desc: response.error!.message) } - throw Web3Error.nodeError("Invalid value from Ethereum node") + throw Web3Error.nodeError(desc: "Invalid value from Ethereum node") } return value } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetBalance.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetBalance.swift index 5e46e7b0f..6d8271e27 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetBalance.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetBalance.swift @@ -22,9 +22,9 @@ extension web3.Eth { return rp.map(on: queue ) { response in guard let value: BigUInt = response.getValue() else { if response.error != nil { - throw Web3Error.nodeError(response.error!.message) + throw Web3Error.nodeError(desc: response.error!.message) } - throw Web3Error.nodeError("Invalid value from Ethereum node") + throw Web3Error.nodeError(desc: "Invalid value from Ethereum node") } return value } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByHash.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByHash.swift index cbbc83097..7fbd0e2c2 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByHash.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByHash.swift @@ -23,9 +23,9 @@ extension web3.Eth { return rp.map(on: queue ) { response in guard let value: Block = response.getValue() else { if response.error != nil { - throw Web3Error.nodeError(response.error!.message) + throw Web3Error.nodeError(desc: response.error!.message) } - throw Web3Error.nodeError("Invalid value from Ethereum node") + throw Web3Error.nodeError(desc: "Invalid value from Ethereum node") } return value } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByNumber.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByNumber.swift index 9d1bac6e2..dc7ae46ce 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByNumber.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByNumber.swift @@ -28,9 +28,9 @@ extension web3.Eth { return rp.map(on: queue ) { response in guard let value: Block = response.getValue() else { if response.error != nil { - throw Web3Error.nodeError(response.error!.message) + throw Web3Error.nodeError(desc: response.error!.message) } - throw Web3Error.nodeError("Invalid value from Ethereum node") + throw Web3Error.nodeError(desc: "Invalid value from Ethereum node") } return value } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockNumber.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockNumber.swift index 2ff137279..45807b125 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockNumber.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockNumber.swift @@ -18,9 +18,9 @@ extension web3.Eth { return rp.map(on: queue ) { response in guard let value: BigUInt = response.getValue() else { if response.error != nil { - throw Web3Error.nodeError(response.error!.message) + throw Web3Error.nodeError(desc: response.error!.message) } - throw Web3Error.nodeError("Invalid value from Ethereum node") + throw Web3Error.nodeError(desc: "Invalid value from Ethereum node") } return value } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetGasPrice.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetGasPrice.swift index d4da2f8c4..4a4611697 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetGasPrice.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetGasPrice.swift @@ -18,9 +18,9 @@ extension web3.Eth { return rp.map(on: queue ) { response in guard let value: BigUInt = response.getValue() else { if response.error != nil { - throw Web3Error.nodeError(response.error!.message) + throw Web3Error.nodeError(desc: response.error!.message) } - throw Web3Error.nodeError("Invalid value from Ethereum node") + throw Web3Error.nodeError(desc: "Invalid value from Ethereum node") } return value } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionCount.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionCount.swift index a27d171ad..0ed83e186 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionCount.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionCount.swift @@ -23,9 +23,9 @@ extension web3.Eth { return rp.map(on: queue ) { response in guard let value: BigUInt = response.getValue() else { if response.error != nil { - throw Web3Error.nodeError(response.error!.message) + throw Web3Error.nodeError(desc: response.error!.message) } - throw Web3Error.nodeError("Invalid value from Ethereum node") + throw Web3Error.nodeError(desc: "Invalid value from Ethereum node") } return value } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionDetails.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionDetails.swift index 844c40e30..bc9444135 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionDetails.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionDetails.swift @@ -23,9 +23,9 @@ extension web3.Eth { return rp.map(on: queue ) { response in guard let value: TransactionDetails = response.getValue() else { if response.error != nil { - throw Web3Error.nodeError(response.error!.message) + throw Web3Error.nodeError(desc: response.error!.message) } - throw Web3Error.nodeError("Invalid value from Ethereum node") + throw Web3Error.nodeError(desc: "Invalid value from Ethereum node") } return value } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionReceipt.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionReceipt.swift index d59399e7c..6b61a1009 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionReceipt.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionReceipt.swift @@ -23,9 +23,9 @@ extension web3.Eth { return rp.map(on: queue ) { response in guard let value: TransactionReceipt = response.getValue() else { if response.error != nil { - throw Web3Error.nodeError(response.error!.message) + throw Web3Error.nodeError(desc: response.error!.message) } - throw Web3Error.nodeError("Invalid value from Ethereum node") + throw Web3Error.nodeError(desc: "Invalid value from Ethereum node") } return value } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+SendRawTransaction.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+SendRawTransaction.swift index 33ab6d1cd..efbfca932 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+SendRawTransaction.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+SendRawTransaction.swift @@ -13,26 +13,26 @@ extension web3.Eth { func sendRawTransactionPromise(_ transaction: Data) -> Promise { guard let deserializedTX = EthereumTransaction.fromRaw(transaction) else { let promise = Promise.pending() - promise.resolver.reject(Web3Error.processingError("Serialized TX is invalid")) + promise.resolver.reject(Web3Error.processingError(desc: "Serialized TX is invalid")) return promise.promise } return sendRawTransactionPromise(deserializedTX) } func sendRawTransactionPromise(_ transaction: EthereumTransaction) -> Promise{ - print(transaction) +// print(transaction) let queue = web3.requestDispatcher.queue do { guard let request = EthereumTransaction.createRawTransaction(transaction: transaction) else { - throw Web3Error.processingError("Transaction is invalid") + throw Web3Error.processingError(desc: "Transaction is invalid") } let rp = web3.dispatch(request) return rp.map(on: queue ) { response in guard let value: String = response.getValue() else { if response.error != nil { - throw Web3Error.nodeError(response.error!.message) + throw Web3Error.nodeError(desc: response.error!.message) } - throw Web3Error.nodeError("Invalid value from Ethereum node") + throw Web3Error.nodeError(desc: "Invalid value from Ethereum node") } let result = TransactionSendingResult(transaction: transaction, hash: value) return result diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+SendTransaction.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+SendTransaction.swift index 4b73813cd..376312ca0 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+SendTransaction.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Eth+SendTransaction.swift @@ -12,34 +12,34 @@ import PromiseKit extension web3.Eth { - func sendTransactionPromise(_ transaction: EthereumTransaction, options: Web3Options, password:String = "BANKEXFOUNDATION") -> Promise { - print(transaction) + func sendTransactionPromise(_ transaction: EthereumTransaction, options: Web3Options, password:String = "web3swift") -> Promise { +// print(transaction) var assembledTransaction : EthereumTransaction = transaction.mergedWithOptions(options) let queue = web3.requestDispatcher.queue do { if self.web3.provider.attachedKeystoreManager == nil { guard let request = EthereumTransaction.createRequest(method: JSONRPCmethod.sendTransaction, transaction: assembledTransaction, onBlock: nil, options: options) else { - throw Web3Error.processingError("Failed to create a request to send transaction") + throw Web3Error.processingError(desc: "Failed to create a request to send transaction") } return self.web3.dispatch(request).map(on: queue) {response in guard let value: String = response.getValue() else { if response.error != nil { - throw Web3Error.nodeError(response.error!.message) + throw Web3Error.nodeError(desc: response.error!.message) } - throw Web3Error.nodeError("Invalid value from Ethereum node") + throw Web3Error.nodeError(desc: "Invalid value from Ethereum node") } let result = TransactionSendingResult(transaction: assembledTransaction, hash: value) return result } } guard let from = options.from else { - throw Web3Error.inputError("No 'from' field provided") + throw Web3Error.inputError(desc: "No 'from' field provided") } do { try Web3Signer.signTX(transaction: &assembledTransaction, keystore: self.web3.provider.attachedKeystoreManager!, account: from, password: password) } catch { - throw Web3Error.inputError("Failed to locally sign a transaction") + throw Web3Error.inputError(desc: "Failed to locally sign a transaction") } return self.web3.eth.sendRawTransactionPromise(assembledTransaction) } catch { @@ -49,8 +49,5 @@ extension web3.Eth { } return returnPromise.promise } - - - } } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Personal+Sign.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Personal+Sign.swift index fe69dc22f..552c3f266 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Personal+Sign.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Personal+Sign.swift @@ -12,7 +12,7 @@ import PromiseKit extension web3.Personal { - func signPersonalMessagePromise(message: Data, from: EthereumAddress, password:String = "BANKEXFOUNDATION") -> Promise { + func signPersonalMessagePromise(message: Data, from: EthereumAddress, password:String = "web3swift") -> Promise { let queue = web3.requestDispatcher.queue do { if self.web3.provider.attachedKeystoreManager == nil { @@ -21,14 +21,14 @@ extension web3.Personal { return self.web3.dispatch(request).map(on: queue) {response in guard let value: Data = response.getValue() else { if response.error != nil { - throw Web3Error.nodeError(response.error!.message) + throw Web3Error.nodeError(desc: response.error!.message) } - throw Web3Error.nodeError("Invalid value from Ethereum node") + throw Web3Error.nodeError(desc: "Invalid value from Ethereum node") } return value } } - guard let signature = try Web3Signer.signPersonalMessage(message, keystore: self.web3.provider.attachedKeystoreManager!, account: from, password: password) else { throw Web3Error.inputError("Failed to locally sign a message") } + guard let signature = try Web3Signer.signPersonalMessage(message, keystore: self.web3.provider.attachedKeystoreManager!, account: from, password: password) else { throw Web3Error.inputError(desc: "Failed to locally sign a message") } let returnPromise = Promise.pending() queue.async { returnPromise.resolver.fulfill(signature) diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Personal+UnlockAccount.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Personal+UnlockAccount.swift index f396145b5..ceed0c8e6 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Personal+UnlockAccount.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Promises/Classes/Promise+Web3+Personal+UnlockAccount.swift @@ -11,13 +11,13 @@ import BigInt import PromiseKit extension web3.Personal { - func unlockAccountPromise(account: EthereumAddress, password:String = "BANKEXFOUNDATION", seconds: UInt64 = 300) -> Promise { + func unlockAccountPromise(account: EthereumAddress, password:String = "web3swift", seconds: UInt64 = 300) -> Promise { let addr = account.address return unlockAccountPromise(account: addr, password: password, seconds: seconds) } - func unlockAccountPromise(account: String, password:String = "BANKEXFOUNDATION", seconds: UInt64 = 300) -> Promise { + func unlockAccountPromise(account: String, password:String = "web3swift", seconds: UInt64 = 300) -> Promise { let queue = web3.requestDispatcher.queue do { if self.web3.provider.attachedKeystoreManager == nil { @@ -25,14 +25,14 @@ extension web3.Personal { return self.web3.dispatch(request).map(on: queue) {response in guard let value: Bool = response.getValue() else { if response.error != nil { - throw Web3Error.nodeError(response.error!.message) + throw Web3Error.nodeError(desc: response.error!.message) } - throw Web3Error.nodeError("Invalid value from Ethereum node") + throw Web3Error.nodeError(desc: "Invalid value from Ethereum node") } return value } } - throw Web3Error.inputError("Can not unlock a local keystore") + throw Web3Error.inputError(desc: "Can not unlock a local keystore") } catch { let returnPromise = Promise.pending() queue.async { diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Transaction/Classes/EthereumTransaction.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Transaction/Classes/EthereumTransaction.swift index 83f6be0dd..cb7b45e3e 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Transaction/Classes/EthereumTransaction.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Transaction/Classes/EthereumTransaction.swift @@ -271,21 +271,10 @@ public struct EthereumTransaction: CustomStringConvertible { if (transaction.inferedChainID != nil && transaction.v >= BigUInt(37)) { transaction.chainID = inferedChainID } -// let hash = json["hash"] as? String -// if hash != nil { -// let calculatedHash = transaction.hash -// let receivedHash = Data.fromHex(hash!) -// if (receivedHash != calculatedHash) { -// print("hash mismatch, dat") -// print(String(describing: transaction)) -// print(json) -// return nil -// } -// } return transaction } - static func fromRaw(_ raw: Data) -> EthereumTransaction? { + public static func fromRaw(_ raw: Data) -> EthereumTransaction? { guard let totalItem = RLP.decode(raw) else {return nil} guard let rlpItem = totalItem[0] else {return nil} switch rlpItem.count { diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Transaction/Classes/TransactionSigner.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Transaction/Classes/TransactionSigner.swift index 9849fa2d9..71c63fc4f 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Transaction/Classes/TransactionSigner.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Transaction/Classes/TransactionSigner.swift @@ -15,7 +15,7 @@ public enum TransactionSignerError: Error { } public struct Web3Signer { - public static func signTX(transaction:inout EthereumTransaction, keystore: AbstractKeystore, account: EthereumAddress, password: String, useExtraEntropy: Bool = true) throws { + public static func signTX(transaction:inout EthereumTransaction, keystore: AbstractKeystore, account: EthereumAddress, password: String, useExtraEntropy: Bool = false) throws { var privateKey = try keystore.UNSAFE_getPrivateKeyData(password: password, account: account) defer {Data.zero(&privateKey)} if (transaction.chainID != nil) { @@ -24,12 +24,12 @@ public struct Web3Signer { try FallbackSigner.sign(transaction: &transaction, privateKey: privateKey, useExtraEntropy: useExtraEntropy) } } - public static func signIntermediate(intermediate:inout TransactionIntermediate, keystore: AbstractKeystore, account: EthereumAddress, password: String, useExtraEntropy: Bool = true) throws { + public static func signIntermediate(intermediate:inout TransactionIntermediate, keystore: AbstractKeystore, account: EthereumAddress, password: String, useExtraEntropy: Bool = false) throws { var tx = intermediate.transaction try Web3Signer.signTX(transaction: &tx, keystore: keystore, account: account, password: password, useExtraEntropy: useExtraEntropy) intermediate.transaction = tx } - public static func signPersonalMessage(_ personalMessage: Data, keystore: AbstractKeystore, account: EthereumAddress, password: String, useExtraEntropy: Bool = true) throws -> Data? { + public static func signPersonalMessage(_ personalMessage: Data, keystore: AbstractKeystore, account: EthereumAddress, password: String, useExtraEntropy: Bool = false) throws -> Data? { var privateKey = try keystore.UNSAFE_getPrivateKeyData(password: password, account: account) defer {Data.zero(&privateKey)} guard let hash = Web3.Utils.hashPersonalMessage(personalMessage) else {return nil} @@ -38,7 +38,7 @@ public struct Web3Signer { } public struct EIP155Signer { - public static func sign(transaction:inout EthereumTransaction, privateKey: Data, useExtraEntropy: Bool = true) throws { + public static func sign(transaction:inout EthereumTransaction, privateKey: Data, useExtraEntropy: Bool = false) throws { for _ in 0..<1024 { let result = self.attemptSignature(transaction: &transaction, privateKey: privateKey, useExtraEntropy: useExtraEntropy) if (result) { @@ -48,7 +48,7 @@ public struct Web3Signer { throw AbstractKeystoreError.invalidAccountError } - private static func attemptSignature(transaction:inout EthereumTransaction, privateKey: Data, useExtraEntropy: Bool = true) -> Bool { + private static func attemptSignature(transaction:inout EthereumTransaction, privateKey: Data, useExtraEntropy: Bool = false) -> Bool { guard let chainID = transaction.chainID else {return false} guard let hash = transaction.hashForSignature(chainID: chainID) else {return false} let signature = SECP256K1.signForRecovery(hash: hash, privateKey: privateKey, useExtraEntropy: useExtraEntropy) @@ -69,7 +69,7 @@ public struct Web3Signer { } public struct FallbackSigner { - public static func sign(transaction:inout EthereumTransaction, privateKey: Data, useExtraEntropy: Bool = true) throws { + public static func sign(transaction:inout EthereumTransaction, privateKey: Data, useExtraEntropy: Bool = false) throws { for _ in 0..<1024 { let result = self.attemptSignature(transaction: &transaction, privateKey: privateKey) if (result) { @@ -79,7 +79,7 @@ public struct Web3Signer { throw AbstractKeystoreError.invalidAccountError } - private static func attemptSignature(transaction:inout EthereumTransaction, privateKey: Data, useExtraEntropy: Bool = true) -> Bool { + private static func attemptSignature(transaction:inout EthereumTransaction, privateKey: Data, useExtraEntropy: Bool = false) -> Bool { guard let hash = transaction.hashForSignature(chainID: nil) else {return false} let signature = SECP256K1.signForRecovery(hash: hash, privateKey: privateKey, useExtraEntropy: useExtraEntropy) guard let serializedSignature = signature.serializedSignature else {return false} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Contract.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Contract.swift index 464e81ce7..4ff94023d 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Contract.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Contract.swift @@ -7,27 +7,32 @@ // import Foundation -import Alamofire import BigInt extension web3 { + /// The contract instance. Initialized in runtime from ABI string (that is a JSON array). In addition an existing contract address can be supplied to provide the default "to" address in all the following requests. ABI version is 2 by default and should not be changed. public func contract(_ abiString: String, at: EthereumAddress? = nil, abiVersion: Int = 2) -> web3contract? { return web3contract(web3: self, abiString: abiString, at: at, options: self.options, abiVersion: abiVersion) } + /// Web3 instance bound contract instance. public class web3contract { var contract: ContractProtocol var web3 : web3 public var options: Web3Options? = nil + + /// Initialize the bound contract instance by supplying the Web3 provider bound object, ABI, Ethereum address and some default + /// options for further function calls. By default the contract inherits options from the web3 object. Additionally supplied "options" + /// do override inherited ones. public init?(web3 web3Instance:web3, abiString: String, at: EthereumAddress? = nil, options: Web3Options? = nil, abiVersion: Int = 2) { self.web3 = web3Instance self.options = web3.options switch abiVersion { case 1: - guard let c = Contract(abiString, at: at) else {return nil} - contract = c + print("ABIv1 bound contract is now deprecated") + return nil case 2: guard let c = ContractV2(abiString, at: at) else {return nil} contract = c @@ -44,6 +49,10 @@ extension web3 { self.options = mergedOptions } + /// Deploys a constact instance using the previously provided (at initialization) ABI, some bytecode, constructor parameters and options. + /// If extraData is supplied it is appended to encoded bytecode and constructor parameters. + /// + /// Returns a "Transaction intermediate" object. public func deploy(bytecode: Data, parameters: [AnyObject] = [AnyObject](), extraData: Data = Data(), options: Web3Options?) -> TransactionIntermediate? { let mergedOptions = Web3Options.merge(self.options, with: options) @@ -53,6 +62,12 @@ extension web3 { return intermediate } + /// Creates and object responsible for calling a particular function of the contract. If method name is not found in ABI - returns nil. + /// If extraData is supplied it is appended to encoded function parameters. Can be usefull if one wants to call + /// the function not listed in ABI. "Parameters" should be an array corresponding to the list of parameters of the function. + /// Elements of "parameters" can be other arrays or instances of String, Data, BigInt, BigUInt, Int or EthereumAddress. + /// + /// Returns a "Transaction intermediate" object. public func method(_ method:String = "fallback", parameters: [AnyObject] = [AnyObject](), extraData: Data = Data(), options: Web3Options?) -> TransactionIntermediate? { let mergedOptions = Web3Options.merge(self.options, with: options) guard var tx = self.contract.method(method, parameters: parameters, extraData: extraData, options: mergedOptions) else {return nil} @@ -61,10 +76,12 @@ extension web3 { return intermediate } + /// Parses an EventLog object by using a description from the contract's ABI. public func parseEvent(_ eventLog: EventLog) -> (eventName:String?, eventData:[String:Any]?) { return self.contract.parseEvent(eventLog) } + /// Creates an "EventParserProtocol" compliant object to use it for parsing particular block or transaction for events. public func createEventParser(_ eventName:String, filter:EventFilter?) -> EventParserProtocol? { let parser = EventParser(web3: self.web3, eventName: eventName, contract: self.contract, filter: filter) return parser diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Eth.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Eth.swift index d5645c47c..dcc02e2e9 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Eth.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Eth.swift @@ -12,15 +12,16 @@ import Result extension web3.Eth { - @available(*, deprecated) - func sendTransaction(_ transaction: EthereumTransaction, options: Web3Options, password:String = "BANKEXFOUNDATION", callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - print(transaction) - let operation = SendTransactionOperation.init(self.web3, queue: self.web3.queue, transaction: transaction, options: options, password: password) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - - func sendTransaction(_ transaction: EthereumTransaction, options: Web3Options, password:String = "BANKEXFOUNDATION") -> Result { + /// Send an EthereumTransaction object to the network. Transaction is either signed locally if there is a KeystoreManager + /// object bound to the web3 instance, or sent unsigned to the node. For local signing the password is required. + /// + /// "options" object can override the "to", "gasPrice", "gasLimit" and "value" parameters is pre-formed transaction. + /// "from" field in "options" is mandatory for both local and remote signing. + /// + /// This function is synchronous! + /// + /// Returns the Result object that indicates either success of failure. + public func sendTransaction(_ transaction: EthereumTransaction, options: Web3Options, password:String = "web3swift") -> Result { do { let result = try self.sendTransactionPromise(transaction, options: options, password: password).wait() return Result(result) @@ -28,78 +29,21 @@ extension web3.Eth { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } -// func sendTransaction(_ transaction: EthereumTransaction, options: Web3Options, password:String = "BANKEXFOUNDATION") -> Result<[String: String], Web3Error> { -// var externalResult: Result<[String:String], Web3Error>! -// let semaphore = DispatchSemaphore(value: 0) -// let callback = { (res: Result) -> () in -// switch res { -// case .success(let result): -// guard let unwrappedResult = result as? [String: String] else { -// externalResult = Result.failure(Web3Error.dataError) -// break -// } -// externalResult = Result<[String: String], Web3Error>(unwrappedResult) -// case .failure(let error): -// externalResult = Result.failure(error) -// break -// } -// semaphore.signal() -// } -// sendTransaction(transaction, options: options, password: password, callback: callback, queue: self.web3.queue) -// _ = semaphore.wait(timeout: .distantFuture) -// return externalResult -// -//// print(transaction) -//// guard let mergedOptions = Web3Options.merge(self.options, with: options) else { -//// return Result.failure(Web3Error.inputError("Check supplied options")) -//// } -//// guard let from = mergedOptions.from else { -//// return Result.failure(Web3Error.walletError) -//// } -//// if let keystoreManager = self.web3.provider.attachedKeystoreManager { -//// var tx = transaction -//// do { -//// try Web3Signer.signTX(transaction: &tx, keystore: keystoreManager, account: from, password: password) -//// } -//// catch { -//// if error is AbstractKeystoreError { -//// return Result.failure(Web3Error.keystoreError(error as! AbstractKeystoreError)) -//// } -//// return Result.failure(Web3Error.generalError(error)) -//// } -//// print(tx) -//// return self.sendRawTransaction(tx) -//// } -//// guard let request = EthereumTransaction.createRequest(method: JSONRPCmethod.sendTransaction, transaction: transaction, onBlock: nil, options: mergedOptions) else -//// { -//// return Result.failure(Web3Error.transactionSerializationError) -//// } -//// let response = self.provider.send(request: request) -//// let result = ResultUnwrapper.getResponse(response) -//// switch result { -//// case .failure(let error): -//// return Result.failure(error) -//// case .success(let payload): -//// guard let resultString = payload as? String else { -//// return Result.failure(Web3Error.dataError) -//// } -//// let hash = resultString.addHexPrefix().lowercased() -//// return Result(["txhash": hash, "txhashCalculated" : transaction.hash!.toHexString().addHexPrefix()] as [String: String]) -//// } -// } - - @available(*, deprecated) - func call(_ transaction: EthereumTransaction, options: Web3Options, onBlock:String = "latest", callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - print(transaction) - let operation = CallOperation.init(self.web3, queue: self.web3.queue, transaction: transaction, options: options, onBlock: onBlock) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - + /// Performs a non-mutating "call" to some smart-contract. EthereumTransaction bears all function parameters required for the call. + /// Does NOT decode the data returned from the smart-contract. + /// "options" object can override the "to", "gasPrice", "gasLimit" and "value" parameters is pre-formed transaction. + /// "from" field in "options" is mandatory for both local and remote signing. + /// + /// "onString" field determines if value is returned based on the state of a blockchain on the latest mined block ("latest") + /// or the expected state after all the transactions in memory pool are applied ("pending"). + /// + /// This function is synchronous! + /// + /// Returns the Result object that indicates either success of failure. func call(_ transaction: EthereumTransaction, options: Web3Options, onBlock:String = "latest") -> Result { do { let result = try self.callPromise(transaction, options: options, onBlock: onBlock).wait() @@ -108,60 +52,16 @@ extension web3.Eth { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } -// func call(_ transaction: EthereumTransaction, options: Web3Options, onBlock:String = "latest") -> Result<[String: String], Web3Error> { -// var externalResult: Result<[String:String], Web3Error>! -// let semaphore = DispatchSemaphore(value: 0) -// let callback = { (res: Result) -> () in -// switch res { -// case .success(let result): -// guard let unwrappedResult = result as? [String:String] else { -// externalResult = Result.failure(Web3Error.dataError) -// break -// } -// externalResult = Result<[String: String], Web3Error>(unwrappedResult) -// case .failure(let error): -// externalResult = Result.failure(error) -// break -// } -// semaphore.signal() -// } -// call(transaction, options: options, onBlock: onBlock, callback:callback, queue: self.web3.queue) -// _ = semaphore.wait(timeout: .distantFuture) -// return externalResult -// -// -//// print(transaction) -//// let mergedOptions = Web3Options.merge(self.web3.options, with: options) -//// guard let request = EthereumTransaction.createRequest(method: .call, transaction: transaction, onBlock: onBlock, options: mergedOptions) else -//// { -//// return Result.failure(Web3Error.inputError("Transaction or options are malformed")) -//// } -//// let response = self.web3.provider.send(request: request) -//// let result = ResultUnwrapper.getResponse(response) -//// switch result { -//// case .failure(let error): -//// return Result.failure(error) -//// case .success(let res): -//// if let dict = res as? [String:String] { -//// return Result(dict) -//// } -//// return Result.failure(Web3Error.dataError) -//// } -// } - - @available(*, deprecated) - func sendRawTransaction(_ transaction: EthereumTransaction, callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - print(transaction) - let operation = SendRawTransactionOperation.init(self.web3, queue: self.web3.queue, transaction: transaction) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - - func sendRawTransaction(_ transaction: Data) -> Result { + /// Send raw Ethereum transaction data to the network. + /// + /// This function is synchronous! + /// + /// Returns the Result object that indicates either success of failure. + public func sendRawTransaction(_ transaction: Data) -> Result { do { let result = try self.sendRawTransactionPromise(transaction).wait() return Result(result) @@ -169,11 +69,16 @@ extension web3.Eth { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } - func sendRawTransaction(_ transaction: EthereumTransaction) -> Result { + /// Send raw Ethereum transaction data to the network by first serializing the EthereumTransaction object. + /// + /// This function is synchronous! + /// + /// Returns the Result object that indicates either success of failure. + public func sendRawTransaction(_ transaction: EthereumTransaction) -> Result { do { let result = try self.sendRawTransactionPromise(transaction).wait() return Result(result) @@ -181,55 +86,18 @@ extension web3.Eth { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } - -// func sendRawTransaction(_ transaction: EthereumTransaction) -> Result<[String: String], Web3Error> { -// var externalResult: Result<[String:String], Web3Error>! -// let semaphore = DispatchSemaphore(value: 0) -// let callback = { (res: Result) -> () in -// switch res { -// case .success(let result): -// guard let unwrappedResult = result as? [String:String] else { -// externalResult = Result.failure(Web3Error.dataError) -// break -// } -// externalResult = Result<[String: String], Web3Error>(unwrappedResult) -// case .failure(let error): -// externalResult = Result.failure(error) -// break -// } -// semaphore.signal() -// } -// sendRawTransaction(transaction, callback:callback, queue: self.web3.queue) -// _ = semaphore.wait(timeout: .distantFuture) -// return externalResult -// -//// print(transaction) -//// guard let request = EthereumTransaction.createRawTransaction(transaction: transaction) else {return Result.failure(Web3Error.transactionSerializationError)} -//// let response = self.provider.send(request: request) -//// let result = ResultUnwrapper.getResponse(response) -//// switch result { -//// case .failure(let error): -//// return Result.failure(error) -//// case .success(let payload): -//// guard let resultString = payload as? String else { -//// return Result.failure(Web3Error.dataError) -//// } -//// let hash = resultString.addHexPrefix().lowercased() -//// return Result(["txhash": hash, "txhashCalculated" : transaction.hash!.toHexString().addHexPrefix()] as [String: String]) -//// } -// } - - @available(*, deprecated) - public func getTransactionCount(address: EthereumAddress, onBlock: String = "latest", callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - let operation = GetTransactionCountOperation.init(self.web3, queue: self.web3.queue, address: address, onBlock: onBlock) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - + /// Returns a total number of transactions sent by the particular Ethereum address. + /// + /// "onBlock" field determines if value is returned based on the state of a blockchain on the latest mined block ("latest") + /// or the expected state after all the transactions in memory pool are applied ("pending"). + /// + /// This function is synchronous! + /// + /// Returns the Result object that indicates either success of failure. public func getTransactionCount(address: EthereumAddress, onBlock: String = "latest") -> Result { do { let result = try self.getTransactionCountPromise(address: address, onBlock: onBlock).wait() @@ -238,51 +106,18 @@ extension web3.Eth { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } -// public func getTransactionCount(address: EthereumAddress, onBlock: String = "latest") -> Result { -// var externalResult: Result! -// let semaphore = DispatchSemaphore(value: 0) -// let callback = { (res: Result) -> () in -// switch res { -// case .success(let result): -// guard let unwrappedResult = result as? BigUInt else { -// externalResult = Result.failure(Web3Error.dataError) -// break -// } -// externalResult = Result(unwrappedResult) -// case .failure(let error): -// externalResult = Result.failure(error) -// break -// } -// semaphore.signal() -// } -// getTransactionCount(address: address, onBlock: onBlock, callback: callback, queue: self.web3.queue) -// _ = semaphore.wait(timeout: .distantFuture) -// return externalResult -// -//// guard address.isValid else { -//// return Result.failure(Web3Error.inputError("Please check the supplied address")) -//// } -//// let request = JSONRPCRequestFabric.prepareRequest(.getTransactionCount, parameters: [address.address.lowercased(), onBlock]) -//// let response = self.provider.send(request: request) -//// let result = ResultUnwrapper.getResponse(response) -//// switch result { -//// case .failure(let error): -//// return Result.failure(error) -//// case .success(let payload): -//// guard let resultString = payload as? String else { -//// return Result.failure(Web3Error.dataError) -//// } -//// guard let biguint = BigUInt(resultString.stripHexPrefix().lowercased(), radix: 16) else { -//// return Result.failure(Web3Error.dataError) -//// } -//// return Result(biguint) -//// } -// } - + /// Returns a balance of particular Ethereum address in Wei units (1 ETH = 10^18 Wei). + /// + /// "onString" field determines if value is returned based on the state of a blockchain on the latest mined block ("latest") + /// or the expected state after all the transactions in memory pool are applied ("pending"). + /// + /// This function is synchronous! + /// + /// Returns the Result object that indicates either success of failure. public func getBalance(address: EthereumAddress, onBlock: String = "latest") -> Result { do { let result = try self.getBalancePromise(address: address, onBlock: onBlock).wait() @@ -291,58 +126,15 @@ extension web3.Eth { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } -// public func getBalance(address: EthereumAddress, onBlock: String = "latest") -> Result { -// var externalResult: Result! -// let semaphore = DispatchSemaphore(value: 0) -// let callback = { (res: Result) -> () in -// switch res { -// case .success(let result): -// guard let unwrappedResult = result as? BigUInt else { -// externalResult = Result.failure(Web3Error.dataError) -// break -// } -// externalResult = Result(unwrappedResult) -// case .failure(let error): -// externalResult = Result.failure(error) -// break -// } -// semaphore.signal() -// } -// getBalance(address: address, onBlock: onBlock, callback: callback, queue: self.web3.queue) -// _ = semaphore.wait(timeout: .distantFuture) -// return externalResult -// -//// guard address.isValid else { -//// return Result.failure(Web3Error.inputError("Please check the supplied address")) -//// } -//// let request = JSONRPCRequestFabric.prepareRequest(.getBalance, parameters: [address.address.lowercased(), onBlock]) -//// let response = self.provider.send(request: request) -//// let result = ResultUnwrapper.getResponse(response) -//// switch result { -//// case .failure(let error): -//// return Result.failure(error) -//// case .success(let payload): -//// guard let resultString = payload as? String else { -//// return Result.failure(Web3Error.dataError) -//// } -//// guard let biguint = BigUInt(resultString.stripHexPrefix().lowercased(), radix: 16) else { -//// return Result.failure(Web3Error.dataError) -//// } -//// return Result(biguint) -//// } -// } - - @available(*, deprecated) - public func getBalance(address: EthereumAddress, onBlock: String = "latest", callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - let operation = GetBalanceOperation.init(self.web3, queue: self.web3.queue, address: address, onBlock: onBlock) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - + /// Returns a block number of the last mined block that Ethereum node knows about. + /// + /// This function is synchronous! + /// + /// Returns the Result object that indicates either success of failure. public func getBlockNumber() -> Result { do { let result = try self.getBlockNumberPromise().wait() @@ -351,55 +143,15 @@ extension web3.Eth { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } -// public func getBlockNumber() -> Result { -// var externalResult: Result! -// let semaphore = DispatchSemaphore(value: 0) -// let callback = { (res: Result) -> () in -// switch res { -// case .success(let result): -// guard let unwrappedResult = result as? BigUInt else { -// externalResult = Result.failure(Web3Error.dataError) -// break -// } -// externalResult = Result(unwrappedResult) -// case .failure(let error): -// externalResult = Result.failure(error) -// break -// } -// semaphore.signal() -// } -// getBlockNumber(callback: callback, queue: self.web3.queue) -// _ = semaphore.wait(timeout: .distantFuture) -// return externalResult -// -//// let request = JSONRPCRequestFabric.prepareRequest(.blockNumber, parameters: []) -//// let response = self.provider.send(request: request) -//// let result = ResultUnwrapper.getResponse(response) -//// switch result { -//// case .failure(let error): -//// return Result.failure(error) -//// case .success(let payload): -//// guard let resultString = payload as? String else { -//// return Result.failure(Web3Error.dataError) -//// } -//// guard let biguint = BigUInt(resultString.stripHexPrefix().lowercased(), radix: 16) else { -//// return Result.failure(Web3Error.dataError) -//// } -//// return Result(biguint) -//// } -// } - - @available(*, deprecated) - public func getBlockNumber(callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - let operation = GetBlockNumberOperation.init(self.web3, queue: self.web3.queue) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - + /// Returns a current gas price in the units of Wei. The node has internal algorithms for averaging over the last few blocks. + /// + /// This function is synchronous! + /// + /// Returns the Result object that indicates either success of failure. public func getGasPrice() -> Result { do { let result = try self.getGasPricePromise().wait() @@ -408,71 +160,16 @@ extension web3.Eth { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } -// public func getGasPrice() -> Result { -//// guard let queue = OperationQueue.current else {return Result.failure(Web3Error.dataError)} -// var externalResult: Result! -// let semaphore = DispatchSemaphore(value: 0) -// let callback = { (res: Result) -> () in -// switch res { -// case .success(let result): -// guard let unwrappedResult = result as? BigUInt else { -// externalResult = Result.failure(Web3Error.dataError) -// break -// } -// externalResult = Result(unwrappedResult) -// case .failure(let error): -// externalResult = Result.failure(error) -// break -// } -// semaphore.signal() -// } -// getGasPrice(callback: callback, queue: self.web3.queue) -// _ = semaphore.wait(timeout: .distantFuture) -// return externalResult -// -//// let request = JSONRPCRequestFabric.prepareRequest(.gasPrice, parameters: []) -//// let response = self.provider.send(request: request) -//// let result = ResultUnwrapper.getResponse(response) -//// switch result { -//// case .failure(let error): -//// return Result.failure(error) -//// case .success(let payload): -//// guard let resultString = payload as? String else { -//// return Result.failure(Web3Error.dataError) -//// } -//// guard let biguint = BigUInt(resultString.stripHexPrefix().lowercased(), radix: 16) else { -//// return Result.failure(Web3Error.dataError) -//// } -//// return Result(biguint) -//// } -// } -// - - @available(*, deprecated) - public func getGasPrice(callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - let operation = GetGasPriceOperation.init(self.web3, queue: self.web3.queue) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - - @available(*, deprecated) - public func getTransactionDetails(_ txhash: String, callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - let operation = GetTransactionDetailsOperation.init(self.web3, queue: self.web3.queue, txHash: txhash) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - - @available(*, deprecated) - public func getTransactionDetails(_ txhash: Data, callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - let operation = GetTransactionDetailsOperation.init(self.web3, queue: self.web3.queue, txHash: txhash) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - + /// Returns transaction details for particular transaction hash. Details indicate position of the transaction in a particular block, + /// as well as original transaction details such as value, gas limit, gas price, etc. + /// + /// This function is synchronous! + /// + /// Returns the Result object that indicates either success of failure. public func getTransactionDetails(_ txhash: Data) -> Result { do { let result = try self.getTransactionDetailsPromise(txhash).wait() @@ -481,10 +178,16 @@ extension web3.Eth { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } + /// Returns transaction details for particular transaction hash. Details indicate position of the transaction in a particular block, + /// as well as original transaction details such as value, gas limit, gas price, etc. + /// + /// This function is synchronous! + /// + /// Returns the Result object that indicates either success of failure. public func getTransactionDetails(_ txhash: String) -> Result { do { let result = try self.getTransactionDetailsPromise(txhash).wait() @@ -493,68 +196,16 @@ extension web3.Eth { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } -// public func getTransactionDetails(_ txhash: Data) -> Result { -// let hashString = txhash.toHexString().addHexPrefix() -// return self.getTransactionDetails(hashString) -// } -// -// public func getTransactionDetails(_ txhash: String) -> Result { -// var externalResult: Result! -// let semaphore = DispatchSemaphore(value: 0) -// let callback = { (res: Result) -> () in -// switch res { -// case .success(let result): -// guard let unwrappedResult = result as? TransactionDetails else { -// externalResult = Result.failure(Web3Error.dataError) -// break -// } -// externalResult = Result(unwrappedResult) -// case .failure(let error): -// externalResult = Result.failure(error) -// break -// } -// semaphore.signal() -// } -// getTransactionDetails(txhash, callback: callback, queue: self.web3.queue) -// _ = semaphore.wait(timeout: .distantFuture) -// return externalResult -// -// -//// let request = JSONRPCRequestFabric.prepareRequest(.getTransactionByHash, parameters: [txhash]) -//// let response = self.provider.send(request: request) -//// let result = ResultUnwrapper.getResponse(response) -//// switch result { -//// case .failure(let error): -//// return Result.failure(error) -//// case .success(let payload): -//// guard let resultJSON = payload as? [String: AnyObject] else { -//// return Result.failure(Web3Error.dataError) -//// } -//// guard let details = TransactionDetails(resultJSON) else { -//// return Result.failure(Web3Error.dataError) -//// } -//// return Result(details) -//// } -// } - - @available(*, deprecated) - public func getTransactionReceipt(_ txhash: String, callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - let operation = GetTransactionReceiptOperation.init(self.web3, queue: self.web3.queue, txHash: txhash) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - - @available(*, deprecated) - public func getTransactionReceipt(_ txhash: Data, callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - let operation = GetTransactionReceiptOperation.init(self.web3, queue: self.web3.queue, txHash: txhash) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - + /// Returns transaction receipt for particular transaction hash. Receipt indicate what has happened when the transaction + /// was included in block, so it contains logs and status, such as succesful or failed transaction. + /// + /// This function is synchronous! + /// + /// Returns the Result object that indicates either success of failure. public func getTransactionReceipt(_ txhash: Data) -> Result { do { let result = try self.getTransactionReceiptPromise(txhash).wait() @@ -563,10 +214,16 @@ extension web3.Eth { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } + /// Returns transaction receipt for particular transaction hash. Receipt indicate what has happened when the transaction + /// was included in block, so it contains logs and status, such as succesful or failed transaction. + /// + /// This function is synchronous! + /// + /// Returns the Result object that indicates either success of failure. public func getTransactionReceipt(_ txhash: String) -> Result { do { let result = try self.getTransactionReceiptPromise(txhash).wait() @@ -575,63 +232,22 @@ extension web3.Eth { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } -// public func getTransactionReceipt(_ txhash: Data) -> Result { -// let hashString = txhash.toHexString().addHexPrefix() -// return self.getTransactionReceipt(hashString) -// } -// -// public func getTransactionReceipt(_ txhash: String) -> Result { -// var externalResult: Result! -// let semaphore = DispatchSemaphore(value: 0) -// let callback = { (res: Result) -> () in -// switch res { -// case .success(let result): -// guard let unwrappedResult = result as? TransactionReceipt else { -// externalResult = Result.failure(Web3Error.dataError) -// break -// } -// externalResult = Result(unwrappedResult) -// case .failure(let error): -// externalResult = Result.failure(error) -// break -// } -// semaphore.signal() -// } -// getTransactionReceipt(txhash, callback: callback, queue: self.web3.queue) -// _ = semaphore.wait(timeout: .distantFuture) -// return externalResult -// -//// let request = JSONRPCRequestFabric.prepareRequest(.getTransactionReceipt, parameters: [txhash]) -//// let response = self.provider.send(request: request) -//// let result = ResultUnwrapper.getResponse(response) -//// switch result { -//// case .failure(let error): -//// return Result.failure(error) -//// case .success(let payload): -//// if payload is NSNull { -//// return Result(TransactionReceipt.notProcessed(transactionHash: Data())) -//// } -//// guard let resultJSON = payload as? [String: AnyObject] else { -//// return Result.failure(Web3Error.dataError) -//// } -//// guard let details = TransactionReceipt(resultJSON) else { -//// return Result.failure(Web3Error.dataError) -//// } -//// return Result(details) -//// } -// } - - @available(*, deprecated) - public func estimateGas(_ transaction: EthereumTransaction, options: Web3Options?, onBlock: String = "latest", callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - let operation = EstimateGasOperation.init(self.web3, queue: self.web3.queue, transaction: transaction, options: options, onBlock: onBlock) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - + /// Estimates a minimal amount of gas required to run a transaction. To do it the Ethereum node tries to run it and counts + /// how much gas it consumes for computations. Setting the transaction gas limit lower than the estimate will most likely + /// result in a failing transaction. + /// + /// "onString" field determines if value is returned based on the state of a blockchain on the latest mined block ("latest") + /// or the expected state after all the transactions in memory pool are applied ("pending"). + /// + /// This function is synchronous! + /// + /// Returns the Result object that indicates either success of failure. + /// Error can also indicate that transaction is invalid in the current state, so formally it's gas limit is infinite. + /// An example of such transaction can be sending an amount of ETH that is larger than the current account balance. public func estimateGas(_ transaction: EthereumTransaction, options: Web3Options?, onBlock: String = "latest") -> Result { do { let result = try self.estimateGasPromise(transaction, options: options, onBlock: onBlock).wait() @@ -640,59 +256,16 @@ extension web3.Eth { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } -// public func estimateGas(_ transaction: EthereumTransaction, options: Web3Options?, onBlock: String = "latest") -> Result { -//// var mergedOptions = Web3Options.merge(self.options, with: options) -// var externalResult: Result! -// let semaphore = DispatchSemaphore(value: 0) -// let callback = { (res: Result) -> () in -// switch res { -// case .success(let result): -// guard let unwrappedResult = result as? BigUInt else { -// externalResult = Result.failure(Web3Error.dataError) -// break -// } -// externalResult = Result(unwrappedResult) -// case .failure(let error): -// externalResult = Result.failure(error) -// break -// } -// semaphore.signal() -// } -// estimateGas(transaction, options: options, onBlock: onBlock, callback: callback, queue: self.web3.queue) -// _ = semaphore.wait(timeout: .distantFuture) -// return externalResult -// -//// mergedOptions?.gasLimit = nil // use gas limit of the previous block -//// guard let request = EthereumTransaction.createRequest(method: JSONRPCmethod.estimateGas, transaction: transaction, onBlock: onBlock, options: mergedOptions) else { -//// return Result.failure(Web3Error.inputError("Transaction serialization failed")) -//// } -//// let response = self.provider.send(request: request) -//// let result = ResultUnwrapper.getResponse(response) -//// switch result { -//// case .failure(let error): -//// return Result.failure(error) -//// case .success(let payload): -//// guard let resultString = payload as? String else { -//// return Result.failure(Web3Error.dataError) -//// } -//// guard let biguint = BigUInt(resultString.stripHexPrefix().lowercased(), radix: 16) else { -//// return Result.failure(Web3Error.dataError) -//// } -//// return Result(biguint) -//// } -// } - - @available(*, deprecated) - public func getAccounts(callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - let operation = GetAccountsOperation.init(self.web3, queue: self.web3.queue) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - + /// Get a list of Ethereum accounts that a node knows about. + /// If one has attached a Keystore Manager to the web3 object it returns accounts known to the keystore. + /// + /// This function is synchronous! + /// + /// Returns the Result object that indicates either success of failure. public func getAccounts() -> Result<[EthereumAddress],Web3Error> { do { let result = try self.getAccountsPromise().wait() @@ -701,70 +274,18 @@ extension web3.Eth { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } -// public func getAccounts() -> Result<[EthereumAddress],Web3Error> { -// if (self.provider.attachedKeystoreManager != nil) { -// return self.web3.wallet.getAccounts() -// } -// -// var externalResult: Result<[EthereumAddress], Web3Error>! -// let semaphore = DispatchSemaphore(value: 0) -// let callback = { (res: Result) -> () in -// switch res { -// case .success(let result): -// guard let unwrappedResult = result as? [EthereumAddress] else { -// externalResult = Result.failure(Web3Error.dataError) -// break -// } -// externalResult = Result<[EthereumAddress], Web3Error>(unwrappedResult) -// case .failure(let error): -// externalResult = Result.failure(error) -// break -// } -// semaphore.signal() -// } -// getAccounts(callback: callback, queue: self.web3.queue) -// _ = semaphore.wait(timeout: .distantFuture) -// return externalResult -// -//// let request = JSONRPCRequestFabric.prepareRequest(.getAccounts, parameters: []) -//// let response = self.provider.send(request: request) -//// let result = ResultUnwrapper.getResponse(response) -//// switch result { -//// case .failure(let error): -//// return Result.failure(error) -//// case .success(let payload): -//// guard let resultArray = payload as? [String] else { -//// return Result.failure(Web3Error.dataError) -//// } -//// var toReturn = [EthereumAddress]() -//// for addrString in resultArray { -//// guard let addr = EthereumAddress(addrString) else { -//// return Result.failure(Web3Error.dataError) -//// } -//// toReturn.append(addr) -//// } -//// return Result(toReturn) -//// } -// } - - @available(*, deprecated) - public func getBlockByHash(_ hash: Data, fullTransactions: Bool = false, callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - let operation = GetBlockByHashOperation.init(self.web3, queue: self.web3.queue, hash: hash, fullTransactions: fullTransactions) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - - @available(*, deprecated) - public func getBlockByHash(_ hash: String, fullTransactions: Bool = false, callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - let operation = GetBlockByHashOperation.init(self.web3, queue: self.web3.queue, hash: hash, fullTransactions: fullTransactions) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } + /// Get information about the particular block in Ethereum network. If "fullTransactions" parameter is set to "true" + /// this call fill do a virtual join and fetch not just transaction hashes from this block, + /// but full decoded EthereumTransaction objects. + /// + /// This function is synchronous! + /// + /// Returns the Result object that indicates either success of failure. public func getBlockByHash(_ hash: String, fullTransactions: Bool = false) -> Result { do { let result = try self.getBlockByHashPromise(hash, fullTransactions: fullTransactions).wait() @@ -773,10 +294,17 @@ extension web3.Eth { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } + /// Get information about the particular block in Ethereum network. If "fullTransactions" parameter is set to "true" + /// this call fill do a virtual join and fetch not just transaction hashes from this block, + /// but full decoded EthereumTransaction objects. + /// + /// This function is synchronous! + /// + /// Returns the Result object that indicates either success of failure. public func getBlockByHash(_ hash: Data, fullTransactions: Bool = false) -> Result { do { let result = try self.getBlockByHashPromise(hash, fullTransactions: fullTransactions).wait() @@ -785,78 +313,17 @@ extension web3.Eth { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } -// public func getBlockByHash(_ hash: String, fullTransactions: Bool = false) -> Result { -// guard let h = Data.fromHex(hash) else {return Result.failure(Web3Error.inputError("Hash should be a hex string"))} -// return getBlockByHash(h, fullTransactions: fullTransactions) -// } -// -// public func getBlockByHash(_ hash: Data, fullTransactions: Bool = false) -> Result { -// var externalResult: Result! -// let semaphore = DispatchSemaphore(value: 0) -// let callback = { (res: Result) -> () in -// switch res { -// case .success(let result): -// guard let unwrappedResult = result as? Block else { -// externalResult = Result.failure(Web3Error.dataError) -// break -// } -// externalResult = Result(unwrappedResult) -// case .failure(let error): -// externalResult = Result.failure(error) -// break -// } -// semaphore.signal() -// } -// getBlockByHash(hash, fullTransactions: fullTransactions, callback: callback, queue: self.web3.queue) -// _ = semaphore.wait(timeout: .distantFuture) -// return externalResult -// -// -//// let request = JSONRPCRequestFabric.prepareRequest(.getBlockByHash, parameters: [hash.toHexString().addHexPrefix(), fullTransactions]) -//// let response = self.provider.send(request: request) -//// let result = ResultUnwrapper.getResponse(response) -//// switch result { -//// case .failure(let error): -//// return Result.failure(error) -//// case .success(let payload): -//// guard let resultJSON = payload as? [String:AnyObject] else { -//// return Result.failure(Web3Error.dataError) -//// } -//// guard let resultData = try? JSONSerialization.data(withJSONObject: resultJSON) else { -//// return Result.failure(Web3Error.dataError) -//// } -//// guard let block = try? JSONDecoder().decode(Block.self, from: resultData) else { -//// return Result.failure(Web3Error.dataError) -//// } -//// return Result(block) -//// } -// } - - @available(*, deprecated) - public func getBlockByNumber(_ number: String, fullTransactions: Bool = false, callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - let operation = GetBlockByNumberOperation.init(self.web3, queue: self.web3.queue, blockNumber: number, fullTransactions: fullTransactions) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - - @available(*, deprecated) - public func getBlockByNumber(_ number: UInt64, fullTransactions: Bool = false, callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - let operation = GetBlockByNumberOperation.init(self.web3, queue: self.web3.queue, blockNumber: number, fullTransactions: fullTransactions) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - - @available(*, deprecated) - public func getBlockByNumber(_ number: BigUInt, fullTransactions: Bool = false, callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - let operation = GetBlockByNumberOperation.init(self.web3, queue: self.web3.queue, blockNumber: number, fullTransactions: fullTransactions) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - + /// Get information about the particular block in Ethereum network. If "fullTransactions" parameter is set to "true" + /// this call fill do a virtual join and fetch not just transaction hashes from this block, + /// but full decoded EthereumTransaction objects. + /// + /// This function is synchronous! + /// + /// Returns the Result object that indicates either success of failure. public func getBlockByNumber(_ number: UInt64, fullTransactions: Bool = false) -> Result { do { let result = try self.getBlockByNumberPromise(number, fullTransactions: fullTransactions).wait() @@ -865,10 +332,17 @@ extension web3.Eth { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } + /// Get information about the particular block in Ethereum network. If "fullTransactions" parameter is set to "true" + /// this call fill do a virtual join and fetch not just transaction hashes from this block, + /// but full decoded EthereumTransaction objects. + /// + /// This function is synchronous! + /// + /// Returns the Result object that indicates either success of failure. public func getBlockByNumber(_ number: BigUInt, fullTransactions: Bool = false) -> Result { do { let result = try self.getBlockByNumberPromise(number, fullTransactions: fullTransactions).wait() @@ -877,10 +351,17 @@ extension web3.Eth { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } + /// Get information about the particular block in Ethereum network. If "fullTransactions" parameter is set to "true" + /// this call fill do a virtual join and fetch not just transaction hashes from this block, + /// but full decoded EthereumTransaction objects. + /// + /// This function is synchronous! + /// + /// public func getBlockByNumber(_ block:String, fullTransactions: Bool = false) -> Result { do { let result = try self.getBlockByNumberPromise(block, fullTransactions: fullTransactions).wait() @@ -889,61 +370,23 @@ extension web3.Eth { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } -// public func getBlockByNumber(_ number: UInt64, fullTransactions: Bool = false) -> Result { -// let block = String(number, radix: 16).addHexPrefix() -// return getBlockByNumber(block, fullTransactions: fullTransactions) -// } -// -// public func getBlockByNumber(_ number: BigUInt, fullTransactions: Bool = false) -> Result { -// let block = String(number, radix: 16).addHexPrefix() -// return getBlockByNumber(block, fullTransactions: fullTransactions) -// } -// -// public func getBlockByNumber(_ block:String, fullTransactions: Bool = false) -> Result { -// var externalResult: Result! -// let semaphore = DispatchSemaphore(value: 0) -// let callback = { (res: Result) -> () in -// switch res { -// case .success(let result): -// guard let unwrappedResult = result as? Block else { -// externalResult = Result.failure(Web3Error.dataError) -// break -// } -// externalResult = Result(unwrappedResult) -// case .failure(let error): -// externalResult = Result.failure(error) -// break -// } -// semaphore.signal() -// } -// getBlockByNumber(block, fullTransactions: fullTransactions, callback: callback, queue: self.web3.queue) -// _ = semaphore.wait(timeout: .distantFuture) -// return externalResult -// -//// let request = JSONRPCRequestFabric.prepareRequest(.getBlockByNumber, parameters: [block, fullTransactions]) -//// let response = self.provider.send(request: request) -//// let result = ResultUnwrapper.getResponse(response) -//// switch result { -//// case .failure(let error): -//// return Result.failure(error) -//// case .success(let payload): -//// guard let resultJSON = payload as? [String:AnyObject] else { -//// return Result.failure(Web3Error.dataError) -//// } -//// guard let resultData = try? JSONSerialization.data(withJSONObject: resultJSON) else { -//// return Result.failure(Web3Error.dataError) -//// } -//// guard let block = try? JSONDecoder().decode(Block.self, from: resultData) else { -//// return Result.failure(Web3Error.dataError) -//// } -//// return Result(block) -//// } -// } + /** + Convenience wrapper to send Ethereum to another address. Internally it creates a virtual contract and encodes all the options and data. + - Parameters: + - to: EthereumAddress to send funds to + - amount: BigUInt indicating the amount in wei + - extraData: Additional data to attach to the transaction + - options: Web3Options to override the default gas price, gas limit. "Value" field of the options is ignored and the "amount" parameter is used instead + + - returns: + - TransactionIntermediate object + + */ public func sendETH(to: EthereumAddress, amount: BigUInt, extraData: Data = Data(), options: Web3Options? = nil) -> TransactionIntermediate? { let contract = self.web3.contract(Web3.Utils.coldWalletABI, at: to, abiVersion: 2) guard var mergedOptions = Web3Options.merge(self.options, with: options) else {return nil} @@ -952,11 +395,42 @@ extension web3.Eth { return intermediate } + /** + *Convenience wrapper to send Ethereum to another address. Internally it creates a virtual contract and encodes all the options and data.* + + - parameters: + - to: EthereumAddress to send funds to + - amount: String in "units" demonimation. It can contain either "," or "." decimal separator. + - units: Ethereum units indicating the denomination of amout about + - extraData: Additional data to attach to the transaction + - options: Web3Options to override the default gas price, gas limit. "Value" field of the options is ignored and the "amount" parameter is used instead + + - returns: + - TransactionIntermediate object + + * String "1.01" and units: .eth will result in sending 1.01 ETH to another address* + */ public func sendETH(to: EthereumAddress, amount: String, units: Web3.Utils.Units = .eth, extraData: Data = Data(), options: Web3Options? = nil) -> TransactionIntermediate? { guard let value = Web3.Utils.parseToBigUInt(amount, units: .eth) else {return nil} return sendETH(to: to, amount: value, extraData: extraData, options: options) } + /** + *Convenience wrapper to send Ethereum to another address. Internally it creates a virtual contract and encodes all the options and data.* + + - parameters: + - from: EthereumAddress to send funds from + - to: EthereumAddress to send funds to + - amount: String in "units" demonimation. It can contain either "," or "." decimal separator. + - units: Ethereum units indicating the denomination of amout about + - extraData: Additional data to attach to the transaction + - options: Web3Options to override the default gas price, gas limit. "Value" field of the options is ignored and the "amount" parameter is used instead. "From" parameter is also ignored. + + - returns: + - TransactionIntermediate object + + * String "1.01" and units: .eth will result in sending 1.01 ETH to another address* + */ public func sendETH(from: EthereumAddress, to: EthereumAddress, amount: String, units: Web3.Utils.Units = .eth, extraData: Data = Data(), options: Web3Options? = nil) -> TransactionIntermediate? { guard let value = Web3.Utils.parseToBigUInt(amount, units: .eth) else {return nil} guard var mergedOptions = Web3Options.merge(self.options, with: options) else {return nil} @@ -964,6 +438,20 @@ extension web3.Eth { return sendETH(to: to, amount: value, extraData: extraData, options: mergedOptions) } + /** + *Convenience wrapper to send ERC20 tokens to another address. Internally it creates a virtual contract and encodes all the options and data. Assumes that the sender knows the decimal units of the underlying token.* + + - parameters: + - tokenAddress: EthereumAddress of the token contract + - from: EthereumAddress to send tokens from + - to: EthereumAddress to send tokens to + - amount: BigUInt indicating the number of tokens in the the smallest indivisible units (mind that sender knows the number of decimals) + - options: Web3Options to override the default gas price, gas limit. "Value" field of the options is ignored and the "amount" parameter is used instead. "From" parameter is also ignored. + + - returns: + - TransactionIntermediate object + + */ public func sendERC20tokensWithKnownDecimals(tokenAddress: EthereumAddress, from: EthereumAddress, to: EthereumAddress, amount: BigUInt, options: Web3Options? = nil) -> TransactionIntermediate? { let contract = self.web3.contract(Web3.Utils.erc20ABI, at: tokenAddress, abiVersion: 2) guard var mergedOptions = Web3Options.merge(self.options, with: options) else {return nil} @@ -972,6 +460,23 @@ extension web3.Eth { return intermediate } + /** + *Convenience wrapper to send ERC20 tokens to another address. Internally it creates a virtual contract and encodes all the options and data. Pulls the number of decimals of the token under the hood.* + + - parameters: + - tokenAddress: EthereumAddress of the token contract + - from: EthereumAddress to send tokens from + - to: EthereumAddress to send tokens to + - amount: String in "natura" demonimation. It can contain either "," or "." decimal separator. + - options: Web3Options to override the default gas price, gas limit. "Value" field of the options is ignored and the "amount" parameter is used instead. "From" parameter is also ignored. + + - returns: + - TransactionIntermediate object + + - important: This call is synchronous + + * If the amount is "1.01" and token has 9 decimals it will result in sending 1010000000 of the smallest invidisible token units.* + */ public func sendERC20tokensWithNaturalUnits(tokenAddress: EthereumAddress, from: EthereumAddress, to: EthereumAddress, amount: String, options: Web3Options? = nil) -> TransactionIntermediate? { let contract = self.web3.contract(Web3.Utils.erc20ABI, at: tokenAddress, abiVersion: 2) guard var mergedOptions = Web3Options.merge(self.options, with: options) else {return nil} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+EventParser.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+EventParser.swift index 0a9c64d66..08b5fe827 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+EventParser.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+EventParser.swift @@ -13,6 +13,7 @@ import PromiseKit fileprivate typealias PromiseResult = PromiseKit.Result extension web3.web3contract { + /// An event parser to fetch events produced by smart-contract related transactions. Should not be constructed manually, but rather by calling the corresponding function on the web3contract object. public struct EventParser: EventParserProtocol { public var contract: ContractProtocol @@ -27,6 +28,18 @@ extension web3.web3contract { self.filter = filter } + /** + *Parses the block for events matching the EventParser settings.* + + - parameters: + - blockNumber: Ethereum network block number + + - returns: + - Result object + + - important: This call is synchronous + + */ public func parseBlockByNumber(_ blockNumber: UInt64) -> Result<[EventParserResultProtocol], Web3Error> { do { let result = try self.parseBlockByNumberPromise(blockNumber).wait() @@ -35,10 +48,22 @@ extension web3.web3contract { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } + /** + *Parses the block for events matching the EventParser settings.* + + - parameters: + - block: Native web3swift block object + + - returns: + - Result object + + - important: This call is synchronous + + */ public func parseBlock(_ block: Block) -> Result<[EventParserResultProtocol], Web3Error> { do { let result = try self.parseBlockPromise(block).wait() @@ -47,10 +72,22 @@ extension web3.web3contract { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } + /** + *Parses the transaction for events matching the EventParser settings.* + + - parameters: + - hash: Transaction hash + + - returns: + - Result object + + - important: This call is synchronous + + */ public func parseTransactionByHash(_ hash: Data) -> Result<[EventParserResultProtocol], Web3Error> { do { let result = try self.parseTransactionByHashPromise(hash).wait() @@ -59,10 +96,22 @@ extension web3.web3contract { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } + /** + *Parses the transaction for events matching the EventParser settings.* + + - parameters: + - transaction: web3swift native EthereumTransaction object + + - returns: + - Result object + + - important: This call is synchronous + + */ public func parseTransaction(_ transaction: EthereumTransaction) -> Result<[EventParserResultProtocol], Web3Error> { do { let result = try self.parseTransactionPromise(transaction).wait() @@ -71,90 +120,18 @@ extension web3.web3contract { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } } } -// public func parseBlockByNumber(_ blockNumber: UInt64) -> Result<[EventParserResultProtocol], Web3Error> { -// if self.filter != nil && (self.filter?.fromBlock != nil || self.filter?.toBlock != nil) { -// return Result([EventParserResultProtocol]()) -// } -// let response = web3.eth.getBlockByNumber(blockNumber) -// switch response { -// case .success(let block): -// return parseBlock(block) -// case .failure(let error): -// return Result.failure(error) -// } -// } -// -// public func parseBlock(_ block: Block) -> Result<[EventParserResultProtocol], Web3Error> { -// guard let bloom = block.logsBloom else {return Result.failure(Web3Error.dataError)} -// if self.contract.address != nil { -// let addressPresent = block.logsBloom?.test(topic: self.contract.address!.addressData) -// if (addressPresent != true) { -// return Result([EventParserResultProtocol]()) -// } -// } -// guard let eventOfSuchTypeIsPresent = self.contract.testBloomForEventPrecence(eventName: self.eventName, bloom: bloom) else {return Result.failure(Web3Error.dataError)} -// if (!eventOfSuchTypeIsPresent) { -// return Result([EventParserResultProtocol]()) -// } -// var allResults = [EventParserResultProtocol]() -// for transaction in block.transactions { -// switch transaction { -// case .null: -// return Result.failure(Web3Error.dataError) -// case .transaction(let tx): -// guard let hash = tx.hash else {return Result.failure(Web3Error.dataError)} -// let subresult = parseTransactionByHash(hash) -// switch subresult { -// case .failure(let error): -// return Result.failure(error) -// case .success(let subsetOfEvents): -// allResults += subsetOfEvents -// } -// case .hash(let hash): -// let subresult = parseTransactionByHash(hash) -// switch subresult { -// case .failure(let error): -// return Result.failure(error) -// case .success(let subsetOfEvents): -// allResults += subsetOfEvents -// } -// } -// } -// return Result(allResults) -// } -// -// public func parseTransactionByHash(_ hash: Data) -> Result<[EventParserResultProtocol], Web3Error> { -// if self.filter != nil && (self.filter?.fromBlock != nil || self.filter?.toBlock != nil) { -// return Result([EventParserResultProtocol]()) -// } -// let response = web3.eth.getTransactionReceipt(hash) -// switch response { -// case .failure(let error): -// return Result.failure(error) -// case .success(let receipt): -// guard let results = parseReceiptForLogs(receipt: receipt, contract: self.contract, eventName: self.eventName, filter: self.filter) else {return Result.failure(Web3Error.dataError)} -// return Result(results) -// } -// } -// -// public func parseTransaction(_ transaction: EthereumTransaction) -> Result<[EventParserResultProtocol], Web3Error> { -// guard let hash = transaction.hash else {return Result.failure(Web3Error.dataError)} -// return self.parseTransactionByHash(hash) -// } -// -//} extension web3.web3contract.EventParser { public func parseTransactionPromise(_ transaction: EthereumTransaction) -> Promise<[EventParserResultProtocol]> { let queue = self.web3.requestDispatcher.queue do { guard let hash = transaction.hash else { - throw Web3Error.processingError("Failed to get transaction hash")} + throw Web3Error.processingError(desc: "Failed to get transaction hash")} return self.parseTransactionByHashPromise(hash) } catch { let returnPromise = Promise<[EventParserResultProtocol]>.pending() @@ -169,7 +146,7 @@ extension web3.web3contract.EventParser { let queue = self.web3.requestDispatcher.queue return self.web3.eth.getTransactionReceiptPromise(hash).map(on:queue) {receipt throws -> [EventParserResultProtocol] in guard let results = parseReceiptForLogs(receipt: receipt, contract: self.contract, eventName: self.eventName, filter: self.filter) else { - throw Web3Error.processingError("Failed to parse receipt for events") + throw Web3Error.processingError(desc: "Failed to parse receipt for events") } return results } @@ -179,7 +156,7 @@ extension web3.web3contract.EventParser { let queue = self.web3.requestDispatcher.queue do { if self.filter != nil && (self.filter?.fromBlock != nil || self.filter?.toBlock != nil) { - throw Web3Error.inputError("Can not mix parsing specific block and using block range filter") + throw Web3Error.inputError(desc: "Can not mix parsing specific block and using block range filter") } return self.web3.eth.getBlockByNumberPromise(blockNumber).then(on: queue) {res in return self.parseBlockPromise(res) @@ -197,7 +174,7 @@ extension web3.web3contract.EventParser { let queue = self.web3.requestDispatcher.queue do { guard let bloom = block.logsBloom else { - throw Web3Error.processingError("Block doesn't have a bloom filter log") + throw Web3Error.processingError(desc: "Block doesn't have a bloom filter log") } if self.contract.address != nil { let addressPresent = block.logsBloom?.test(topic: self.contract.address!.addressData) @@ -210,7 +187,7 @@ extension web3.web3contract.EventParser { } } guard let eventOfSuchTypeIsPresent = self.contract.testBloomForEventPrecence(eventName: self.eventName, bloom: bloom) else { - throw Web3Error.processingError("Error processing bloom for events") + throw Web3Error.processingError(desc: "Error processing bloom for events") } if (!eventOfSuchTypeIsPresent) { let returnPromise = Promise<[EventParserResultProtocol]>.pending() @@ -225,11 +202,11 @@ extension web3.web3contract.EventParser { for transaction in block.transactions { switch transaction { case .null: - seal.reject(Web3Error.processingError("No information about transactions in block")) + seal.reject(Web3Error.processingError(desc: "No information about transactions in block")) return case .transaction(let tx): guard let hash = tx.hash else { - seal.reject(Web3Error.processingError("Failed to get transaction hash")) + seal.reject(Web3Error.processingError(desc: "Failed to get transaction hash")) return } let subresultPromise = self.parseTransactionByHashPromise(hash) @@ -243,7 +220,7 @@ extension web3.web3contract.EventParser { var allResults = [EventParserResultProtocol]() for res in results { guard case .fulfilled(let subresult) = res else { - throw Web3Error.processingError("Failed to parse event for one transaction in block") + throw Web3Error.processingError(desc: "Failed to parse event for one transaction in block") } allResults.append(contentsOf: subresult) } @@ -269,51 +246,30 @@ extension web3.web3contract.EventParser { } extension web3.web3contract { - public func getIndexedEvents(eventName: String?, filter: EventFilter) -> Result<[EventParserResultProtocol], Web3Error> { - guard let rawContract = self.contract as? ContractV2 else {return Result.failure(Web3Error.nodeError("ABIv1 is not supported for this method"))} - guard let preEncoding = encodeTopicToGetLogs(contract: rawContract, eventName: eventName, filter: filter) else { - return Result.failure(Web3Error.dataError) - } - var event: ABIv2.Element.Event? = nil - if eventName != nil { - guard let ev = rawContract.events[eventName!] else {return Result.failure(Web3Error.dataError)} - event = ev - } - let request = JSONRPCRequestFabric.prepareRequest(.getLogs, parameters: [preEncoding]) - let response = self.web3.provider.send(request: request) - let result = ResultUnwrapper.getResponse(response) - switch result { - case .failure(let error): - return Result.failure(error) - case .success(let payload): - if payload is NSNull { - return Result.failure(Web3Error.nodeError("Empty response")) - } - guard let resultArray = payload as? [[String: AnyObject]] else { - return Result.failure(Web3Error.dataError) - } - var allLogs = [EventLog]() - for log in resultArray { - guard let parsedLog = EventLog.init(log) else {return Result.failure(Web3Error.dataError)} - allLogs.append(parsedLog) - } - if event != nil { - let decodedLogs = allLogs.compactMap({ (log) -> EventParserResultProtocol? in - let (n, d) = contract.parseEvent(log) - guard let evName = n, let evData = d else {return nil} - return EventParserResult(eventName: evName, transactionReceipt: nil, contractAddress: log.address, decodedResult: evData) - }).filter { (res:EventParserResultProtocol?) -> Bool in - if eventName != nil { - return res != nil && res?.eventName == eventName - } else { - return res != nil - } - } - var allResults = [EventParserResultProtocol]() - allResults = decodedLogs - return Result(allResults) + + /** + *Fetches events by doing a lookup on "indexed" parameters of the event. Smart-contract developer can make some of event values "indexed" for such fast queries.* + + - parameters: + - eventName: Event name, should be present in ABI interface of the contract + - filter: EventFilter object setting the block limits for query + - joinWithReceipts: Bool indicating whether TransactionReceipt should be fetched separately for every matched transaction + + - returns: + - Result object + + - important: This call is synchronous + + */ + public func getIndexedEvents(eventName: String?, filter: EventFilter, joinWithReceipts: Bool = false) -> Result<[EventParserResultProtocol], Web3Error> { + do { + let result = try self.getIndexedEventsPromise(eventName: eventName, filter: filter, joinWithReceipts: joinWithReceipts).wait() + return Result(result) + } catch { + if let err = error as? Web3Error { + return Result.failure(err) } - return Result([EventParserResultProtocol]()) + return Result.failure(Web3Error.generalError(err: error)) } } } @@ -323,15 +279,15 @@ extension web3.web3contract { let queue = self.web3.requestDispatcher.queue do { guard let rawContract = self.contract as? ContractV2 else { - throw Web3Error.nodeError("ABIv1 is not supported for this method") + throw Web3Error.nodeError(desc: "ABIv1 is not supported for this method") } guard let preEncoding = encodeTopicToGetLogs(contract: rawContract, eventName: eventName, filter: filter) else { - throw Web3Error.processingError("Failed to encode topic for request") + throw Web3Error.processingError(desc: "Failed to encode topic for request") } // var event: ABIv2.Element.Event? = nil if eventName != nil { guard let _ = rawContract.events[eventName!] else { - throw Web3Error.processingError("No such event in a contract") + throw Web3Error.processingError(desc: "No such event in a contract") } // event = ev } @@ -339,9 +295,9 @@ extension web3.web3contract { let fetchLogsPromise = self.web3.dispatch(request).map(on: queue) {response throws -> [EventParserResult] in guard let value: [EventLog] = response.getValue() else { if response.error != nil { - throw Web3Error.nodeError(response.error!.message) + throw Web3Error.nodeError(desc: response.error!.message) } - throw Web3Error.nodeError("Empty or malformed response") + throw Web3Error.nodeError(desc: "Empty or malformed response") } let allLogs = value let decodedLogs = allLogs.compactMap({ (log) -> EventParserResult? in diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+HttpProvider.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+HttpProvider.swift index 576673a4c..e32abcfb9 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+HttpProvider.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+HttpProvider.swift @@ -7,15 +7,11 @@ // import Foundation -import Alamofire -import Alamofire_Synchronous import BigInt import PromiseKit +/// Providers abstraction for custom providers (websockets, other custom private key managers). At the moment should not be used. public protocol Web3Provider { - func send(request: JSONRPCrequest) -> [String:Any]? - func send(requests: [JSONRPCrequest]) -> [[String: Any]?]? - func sendWithRawResult(request: JSONRPCrequest) -> Data? func sendAsync(_ request: JSONRPCrequest, queue: DispatchQueue) -> Promise func sendAsync(_ requests: JSONRPCrequestBatch, queue: DispatchQueue) -> Promise var network: Networks? {get set} @@ -24,6 +20,8 @@ public protocol Web3Provider { var session: URLSession {get} } + +/// The default http provider. public class Web3HttpProvider: Web3Provider { public var url: URL public var network: Networks? @@ -34,121 +32,28 @@ public class Web3HttpProvider: Web3Provider { return urlSession }() public init?(_ httpProviderURL: URL, network net: Networks? = nil, keystoreManager manager: KeystoreManager? = nil) { - guard httpProviderURL.scheme == "http" || httpProviderURL.scheme == "https" else {return nil} - url = httpProviderURL - if net == nil { - let request = JSONRPCRequestFabric.prepareRequest(.getNetwork, parameters: []) - let response = Web3HttpProvider.syncPost(request, providerURL: httpProviderURL) - if response == nil { - return nil - } - guard let res = response as? [String: Any] else {return nil} - if let error = res["error"] as? String { - print(error as String) - return nil - } - guard let result = res["result"] as? String, let intNetworkNumber = Int(result) else {return nil} - network = Networks.fromInt(intNetworkNumber) - if network == nil {return nil} - } else { - network = net - } - attachedKeystoreManager = manager - } - - public func send(request: JSONRPCrequest) -> [String: Any]? { - if request.method == nil { - return nil - } - guard let response = self.syncPost(request) else {return nil} - guard let res = response as? [String: AnyObject] else {return nil} -// print(res) - return res - } - - public func send(requests: [JSONRPCrequest]) -> [[String: Any]?]? { - for request in requests { - if request.method == nil { - return nil + do { + guard httpProviderURL.scheme == "http" || httpProviderURL.scheme == "https" else {return nil} + url = httpProviderURL + if net == nil { + let request = JSONRPCRequestFabric.prepareRequest(.getNetwork, parameters: []) + let response = try Web3HttpProvider.post(request, providerURL: httpProviderURL, queue: DispatchQueue.global(qos: .userInteractive), session: session).wait() + if response.error != nil { + if response.message != nil { + print(response.message!) + } + return nil + } + guard let result: String = response.getValue(), let intNetworkNumber = Int(result) else {return nil} + network = Networks.fromInt(intNetworkNumber) + if network == nil {return nil} + } else { + network = net } - } - guard let response = self.syncPost(requests) else {return nil} - guard let res = response as? [[String: AnyObject]?] else {return nil} -// print(res) - return res - } - - public func sendWithRawResult(request: JSONRPCrequest) -> Data? { - if request.method == nil { - return nil - } - guard let response = self.syncPostRaw(request) else {return nil} - guard let res = response as? Data else {return nil} - return res - } - - internal func syncPostRaw(_ request: JSONRPCrequest) -> Any? { - return Web3HttpProvider.syncPost(request, providerURL: self.url) - } - - static func syncPostRaw(_ request: JSONRPCrequest, providerURL: URL) -> Any? { - guard let _ = try? JSONEncoder().encode(request) else {return nil} - // print(String(data: try! JSONEncoder().encode(request), encoding: .utf8)) - let headers: HTTPHeaders = [ - "Content-Type": "application/json", - "Accept": "application/json" - ] - let response = Alamofire.request(providerURL, method: .post, parameters: nil, encoding: request, headers: headers).responseData() - switch response.result { - case .success(let resp): - return resp - case .failure(let err): - print(err) - return nil - } - } - - internal func syncPost(_ request: JSONRPCrequest) -> Any? { - return Web3HttpProvider.syncPost(request, providerURL: self.url) - } - - internal func syncPost(_ requests: [JSONRPCrequest]) -> Any? { - let batch = JSONRPCrequestBatch(requests: requests) - return Web3HttpProvider.syncPost(batch, providerURL: self.url) - } - - static func syncPost(_ request: JSONRPCrequest, providerURL: URL) -> Any? { - guard let _ = try? JSONEncoder().encode(request) else {return nil} -// print(String(data: try! JSONEncoder().encode(request), encoding: .utf8)) - let headers: HTTPHeaders = [ - "Content-Type": "application/json", - "Accept": "application/json" - ] - let response = Alamofire.request(providerURL, method: .post, parameters: nil, encoding: request, headers: headers).responseJSON() - switch response.result { - case .success(let resp): - return resp - case .failure(let err): - print(err) - return nil - } - } - - static func syncPost(_ request: JSONRPCrequestBatch, providerURL: URL) -> Any? { - guard let _ = try? JSONEncoder().encode(request) else {return nil} -// print(String(data: try! JSONEncoder().encode(request), encoding: .utf8)) - let headers: HTTPHeaders = [ - "Content-Type": "application/json", - "Accept": "application/json" - ] - let response = Alamofire.request(providerURL, method: .post, parameters: nil, encoding: request, headers: headers).responseJSON() - switch response.result { - case .success(let resp): - return resp - case .failure(let err): - print(err) + } catch { return nil } + attachedKeystoreManager = manager } } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Infura.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Infura.swift index 531fdf8e3..e6a92b049 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Infura.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Infura.swift @@ -7,11 +7,10 @@ // import Foundation -import Alamofire -import Alamofire_Synchronous import BigInt -public class InfuraProvider: Web3HttpProvider { +/// Custom Web3 HTTP provider of Infura nodes. +public final class InfuraProvider: Web3HttpProvider { public init?(_ net:Networks, accessToken token: String? = nil, keystoreManager manager: KeystoreManager? = nil) { var requestURLstring = "https://" + net.name + ".infura.io/" if token != nil { @@ -20,89 +19,5 @@ public class InfuraProvider: Web3HttpProvider { let providerURL = URL(string: requestURLstring) super.init(providerURL!, network: net, keystoreManager: manager) } - - enum supportedPostMethods: String { - case eth_estimateGas = "eth_estimateGas" - case eth_sendRawTransaction = "eth_sendRawTransaction" - } - - enum supportedGetMethods: String{ - case eth_call = "eth_call" - case eth_getTransactionCount = "eth_getTransactionCount" - } - -// public func send(request: JSONRPCrequest) -> Promise<[String: Any]?> { -// return async { -// if request.method == nil { -// return nil -// } -// let response = try await(self.postToInfura(request)!) -// guard let res = response as? [String: Any] else {return nil} -// print(res) -// return res -// } -// } - -// public func sendSync(request: JSONRPCrequest) -> [String: Any]? { -// if request.method == nil { -// return nil -// } -// guard let response = self.syncPostToInfura(request) else {return nil} -// guard let res = response as? [String: Any] else {return nil} -// print(res) -// return res -// } -// -// internal func syncPostToInfura(_ request: JSONRPCrequest) -> Any? { -// guard let network = self.network else {return nil} -// var requestURL = "https://" + network.name + ".infura.io/" -// if self.accessToken != nil { -// requestURL = requestURL + self.accessToken! -// } -// guard let _ = try? JSONEncoder().encode(request) else {return nil} -// let headers: HTTPHeaders = [ -// "Content-Type": "application/json", -// "Accept": "application/json" -// ] -// let response = Alamofire.request(requestURL, method: .post, parameters: nil, encoding: request, headers: headers).responseJSON() -// switch response.result { -// case .success(let resp): -// return resp -// case .failure(let err): -// print(err) -// return nil -// } -// } - - -// internal func getToInfura(_ request: JSONRPCrequest) -> Promise? { -// guard request.isValid else {return nil} -// guard let method = request.method else {return nil} -// let requestURL = "https://api.infura.io/v1/jsonrpc/"+(self.network?.name)!+"/"+method.rawValue -// guard let pars = request.params else {return nil} -// guard let encoded = try? JSONEncoder().encode(pars) else {return nil} -// guard let serialized = String(data: encoded, encoding: .utf8) else {return nil} -// var requestParameters = ["params" : serialized as Any] -// if self.accessToken != nil { -// requestParameters["token"] = self.accessToken! -// } -// return Alamofire.request(requestURL, parameters: requestParameters, encoding: URLEncoding.default).responseJSON() -// } -// -// internal func postToInfura(_ request: JSONRPCrequest) -> Promise? { -//// let requestURL = "https://api.infura.io/v1/jsonrpc/"+network.name -// var requestURL = "https://"+(self.network?.name)! + ".infura.io/" -// if self.accessToken != nil { -// requestURL = requestURL + self.accessToken! -// } -// guard let _ = try? JSONEncoder().encode(request) else {return nil} -//// print(String(data: requestJSON, encoding: .utf8)) -// let headers: HTTPHeaders = [ -// "Content-Type": "application/json", -// "Accept": "application/json" -// ] -// return Alamofire.request(requestURL, method: .post, parameters: nil, encoding: request, headers: headers).responseJSON() -// } - } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Instance.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Instance.swift index 8593c0e35..ccd54ba9c 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Instance.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Instance.swift @@ -10,50 +10,37 @@ import Foundation import BigInt import PromiseKit +/// A web3 instance bound to provider. All further functionality is provided under web.*. namespaces. public class web3: Web3OptionsInheritable { public var provider : Web3Provider public var options : Web3Options = Web3Options.defaultOptions() public var defaultBlock = "latest" - public var queue: OperationQueue public var requestDispatcher: JSONRPCrequestDispatcher - - var dispatcher: OperationDispatcher - public func send(request: JSONRPCrequest) -> [String: Any]? { - return self.provider.send(request: request) - } + /// Add a provider request to the dispatch queue. public func dispatch(_ request: JSONRPCrequest) -> Promise { return self.requestDispatcher.addToQueue(request: request) } - public init(provider prov: Web3Provider, queue: OperationQueue? = nil, dispatcher: OperationDispatcher? = nil, requestDispatcher: JSONRPCrequestDispatcher? = nil) { - provider = prov - if queue == nil { - self.queue = OperationQueue.init() - self.queue.maxConcurrentOperationCount = 32 - self.queue.underlyingQueue = DispatchQueue.global(qos: .userInteractive) - - } else { - self.queue = queue! - } - if dispatcher == nil { - self.dispatcher = OperationDispatcher(provider: provider, queue: self.queue, policy: .Batch(16)) - } else { - self.dispatcher = dispatcher! - } + /// Raw initializer using a Web3Provider protocol object, dispatch queue and request dispatcher. + public init(provider prov: Web3Provider, queue: OperationQueue? = nil, requestDispatcher: JSONRPCrequestDispatcher? = nil) { + provider = prov if requestDispatcher == nil { - self.requestDispatcher = JSONRPCrequestDispatcher(provider: provider, queue: self.queue.underlyingQueue!, policy: .Batch(32)) + self.requestDispatcher = JSONRPCrequestDispatcher(provider: provider, queue: DispatchQueue.global(qos: .userInteractive), policy: .Batch(32)) } else { self.requestDispatcher = requestDispatcher! } } - + /// Keystore manager can be bound to Web3 instance. If some manager is bound all further account related functions, such + /// as account listing, transaction signing, etc. are done locally using private keys and accounts found in a manager. public func addKeystoreManager(_ manager: KeystoreManager?) { self.provider.attachedKeystoreManager = manager } var ethInstance: web3.Eth? + + /// Public web3.eth.* namespace. public var eth: web3.Eth { if (self.ethInstance != nil) { return self.ethInstance! @@ -76,6 +63,8 @@ public class web3: Web3OptionsInheritable { } var personalInstance: web3.Personal? + + /// Public web3.personal.* namespace. public var personal: web3.Personal { if (self.personalInstance != nil) { return self.personalInstance! @@ -98,6 +87,8 @@ public class web3: Web3OptionsInheritable { } var walletInstance: web3.Web3Wallet? + + /// Public web3.wallet.* namespace. public var wallet: web3.Web3Wallet { if (self.walletInstance != nil) { return self.walletInstance! @@ -117,7 +108,9 @@ public class web3: Web3OptionsInheritable { } var browserFunctionsInstance: web3.BrowserFunctions? - public var browserFunctionsFunctions: web3.BrowserFunctions { + + /// Public web3.browserFunctions.* namespace. + public var browserFunctions: web3.BrowserFunctions { if (self.browserFunctionsInstance != nil) { return self.browserFunctionsInstance! } @@ -138,4 +131,27 @@ public class web3: Web3OptionsInheritable { } } + var erc721Instance: web3.ERC721? + + /// Public web3.browserFunctions.* namespace. + public var erc721: web3.ERC721 { + if (self.erc721Instance != nil) { + return self.erc721Instance! + } + self.erc721Instance = web3.ERC721(provider : self.provider, web3: self) + return self.erc721Instance! + } + + public class ERC721: Web3OptionsInheritable { + var provider:Web3Provider + // weak var web3: web3? + var web3: web3 + public var options: Web3Options { + return self.web3.options + } + public init(provider prov: Web3Provider, web3 web3instance: web3) { + provider = prov + web3 = web3instance + } + } } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+JSONRPC.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+JSONRPC.swift index 9231c2a78..9fdf50f4d 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+JSONRPC.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+JSONRPC.swift @@ -7,9 +7,9 @@ // import Foundation -import Alamofire import BigInt +/// Global counter object to enumerate JSON RPC requests. public struct Counter { public static var counter = UInt64(1) public static var lockQueue = DispatchQueue(label: "counterQueue") @@ -23,8 +23,8 @@ public struct Counter { } } - -public struct JSONRPCrequest: Encodable, ParameterEncoding { +/// JSON RPC request structure for serialization and deserialization purposes. +public struct JSONRPCrequest: Encodable { var jsonrpc: String = "2.0" var method: JSONRPCmethod? var params: JSONRPCparams? @@ -45,13 +45,6 @@ public struct JSONRPCrequest: Encodable, ParameterEncoding { try container.encode(id, forKey: .id) } - public func encode(_ urlRequest: URLRequestConvertible, with parameters: Parameters?) throws -> URLRequest { - let jsonSerialization = try JSONEncoder().encode(self) - var request = try urlRequest.asURLRequest() - request.httpBody = jsonSerialization - return request - } - public var isValid: Bool { get { if self.method == nil { @@ -63,22 +56,17 @@ public struct JSONRPCrequest: Encodable, ParameterEncoding { } } -public struct JSONRPCrequestBatch: Encodable, ParameterEncoding { +/// JSON RPC batch request structure for serialization and deserialization purposes. +public struct JSONRPCrequestBatch: Encodable { var requests: [JSONRPCrequest] - public func encode(_ urlRequest: URLRequestConvertible, with parameters: Parameters?) throws -> URLRequest { - let jsonSerialization = try JSONEncoder().encode(requests) - var request = try urlRequest.asURLRequest() - request.httpBody = jsonSerialization - return request - } - public func encode(to encoder: Encoder) throws { var container = encoder.singleValueContainer() try container.encode(self.requests) } } +/// JSON RPC response structure for serialization and deserialization purposes. public struct JSONRPCresponse: Decodable{ public var id: Int public var jsonrpc = "2.0" @@ -132,12 +120,6 @@ public struct JSONRPCresponse: Decodable{ return } var result: Any? = nil -// for type in decodableTypes { -// if let rawValue = try? container.decodeIfPresent(type, forKey: .result) { -// result = rawValue -// break -// } -// } if let rawValue = try? container.decodeIfPresent(String.self, forKey: .result) { result = rawValue } else if let rawValue = try? container.decodeIfPresent(Int.self, forKey: .result) { @@ -174,6 +156,9 @@ public struct JSONRPCresponse: Decodable{ self.init(id: id, jsonrpc: jsonrpc, result: result, error: nil) } + /// Get the JSON RCP reponse value by deserializing it into some native class. + /// + /// Returns nil if serialization fails public func getValue() -> T? { let slf = T.self if slf == BigUInt.self { @@ -225,28 +210,12 @@ public struct JSONRPCresponse: Decodable{ } return values as? T } -// else if slf == [String].self { -// guard let value = self.result as? T else {return nil} -// return value -// } else if slf == [Int].self { -// guard let value = self.result as? T else {return nil} -// return value -// } else if slf == [String: String].self{ -// guard let value = self.result as? T else {return nil} -// return value -// } -// else if slf == [String: AnyObject].self{ -// guard let value = self.result as? T else {return nil} -// return value -// } else if slf == [String: Any].self{ -// guard let value = self.result as? T else {return nil} -// return value -// } guard let value = self.result as? T else {return nil} return value } } +/// JSON RPC batch response structure for serialization and deserialization purposes. public struct JSONRPCresponseBatch: Decodable { var responses: [JSONRPCresponse] @@ -257,6 +226,7 @@ public struct JSONRPCresponseBatch: Decodable { } } +/// Transaction parameters JSON structure for interaction with Ethereum node. public struct TransactionParameters: Codable { public var data: String? public var from: String? @@ -271,6 +241,7 @@ public struct TransactionParameters: Codable { } } +/// Event filter parameters JSON structure for interaction with Ethereum node. public struct EventFilterParameters: Codable { public var fromBlock: String? public var toBlock: String? @@ -278,6 +249,7 @@ public struct EventFilterParameters: Codable { public var address: [String?]? } +/// Raw JSON RCP 2.0 internal flattening wrapper. public struct JSONRPCparams: Encodable{ public var params = [Any]() diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Options.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Options.swift index df01d23cc..dfd353b5d 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Options.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Options.swift @@ -13,26 +13,44 @@ public protocol Web3OptionsInheritable { var options: Web3Options {get} } +/// Options for sending or calling a particular Ethereum transaction public struct Web3Options { + /// Sets the transaction destination. It can either be a contract address or a private key controlled wallet address. + /// + /// Usually should never be nil. public var to: EthereumAddress? = nil + /// Sets from what account a transaction should be sent. Used only internally as the sender of Ethereum transaction + /// is determined purely from the transaction signature. Indicates to the Ethereum node or to the local keystore what private key + /// should be used to sign a transaction. + /// + /// Can be nil if one reads the information from the blockchain. public var from: EthereumAddress? = nil + /// Sets the gas limit for a transaction. + /// + /// If set to nil it's usually determined automatically. public var gasLimit: BigUInt? = nil + /// Sets the gas price for a transaction. + /// + /// If set to nil it's usually determined automatically. public var gasPrice: BigUInt? = nil + /// Sets the value (amount of Wei) sent along the transaction. + /// + /// If set to nil it's equal to zero public var value: BigUInt? = nil public init() { } + /// Default options filler. Sets gas limit, gas price and value to zeroes. public static func defaultOptions() -> Web3Options{ var options = Web3Options() -// options.gasLimit = BigUInt("90000", radix: 10)! -// options.gasPrice = BigUInt("5000000000", radix:10)! options.gasLimit = BigUInt(0) options.gasPrice = BigUInt(0) options.value = BigUInt(0) return options } + public static func fromJSON(_ json: [String: Any]) -> Web3Options? { var options = Web3Options() if let gas = json["gas"] as? String, let gasBiguint = BigUInt(gas.stripHexPrefix().lowercased(), radix: 16) { @@ -51,6 +69,10 @@ public struct Web3Options { return options } + /// Merges two sets of topions by overriding the parameters from the first set by parameters from the second + /// set if those are not nil. + /// + /// Returns default options if both parameters are nil. public static func merge(_ options:Web3Options?, with other:Web3Options?) -> Web3Options? { if (other == nil && options == nil) { return Web3Options.defaultOptions() @@ -84,22 +106,41 @@ public struct Web3Options { return newOptions } - public static func smartMergeGasLimit(originalOptions: Web3Options?, extraOptions: Web3Options?, gasEstimage: BigUInt) -> BigUInt? { + /// merges two sets of options along with a gas estimate to try to guess the final gas limit value required by user. + /// + /// Please refer to the source code for a logic. + public static func smartMergeGasLimit(originalOptions: Web3Options?, extraOptions: Web3Options?, gasEstimate: BigUInt) -> BigUInt? { guard let mergedOptions = Web3Options.merge(originalOptions, with: extraOptions) else {return nil} //just require any non-nils if mergedOptions.gasLimit == nil { - return gasEstimage // for user's convenience we just use an estimate + return gasEstimate // for user's convenience we just use an estimate // return nil // there is no opinion from user, so we can not proceed } else { - if originalOptions != nil, originalOptions!.gasLimit != nil, originalOptions!.gasLimit! < gasEstimage { // original gas estimate was less than what's required, so we check extra options - if extraOptions != nil, extraOptions!.gasLimit != nil, extraOptions!.gasLimit! >= gasEstimage { + if originalOptions != nil, originalOptions!.gasLimit != nil, originalOptions!.gasLimit! < gasEstimate { // original gas estimate was less than what's required, so we check extra options + if extraOptions != nil, extraOptions!.gasLimit != nil, extraOptions!.gasLimit! >= gasEstimate { return extraOptions!.gasLimit! } else { - return gasEstimage // for user's convenience we just use an estimate + return gasEstimate // for user's convenience we just use an estimate // return nil // estimate is lower than allowed } } else { - return gasEstimage + if extraOptions != nil, extraOptions!.gasLimit != nil, extraOptions!.gasLimit! >= gasEstimate { + return extraOptions!.gasLimit! + } else { + return gasEstimate // for user's convenience we just use an estimate + // return nil // estimate is lower than allowed + } } } } + + public static func smartMergeGasPrice(originalOptions: Web3Options?, extraOptions: Web3Options?, priceEstimate: BigUInt) -> BigUInt? { + guard let mergedOptions = Web3Options.merge(originalOptions, with: extraOptions) else {return nil} //just require any non-nils + if mergedOptions.gasPrice == nil { + return priceEstimate + } else if mergedOptions.gasPrice == 0 { + return priceEstimate + } else { + return mergedOptions.gasPrice! + } + } } diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Personal.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Personal.swift index 85f5e582c..47b0aea7e 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Personal.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Personal.swift @@ -12,14 +12,21 @@ import Result extension web3.Personal { - @available(*, deprecated) - func signPersonalMessage(message: Data, from: EthereumAddress, password:String = "BANKEXFOUNDATION", callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - let operation = PersonalSignOperation.init(self.web3, queue: self.web3.queue, message: message, from: from, password: password) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - - public func signPersonalMessage(message: Data, from: EthereumAddress, password:String = "BANKEXFOUNDATION") -> Result { + /** + *Locally or remotely sign a message (arbitrary data) with the private key. To avoid potential signing of a transaction the message is first prepended by a special header and then hashed.* + + - parameters: + - message: Message Data + - from: Use a private key that corresponds to this account + - password: Password for account if signing locally + + - returns: + - Result object + + - important: This call is synchronous + + */ + public func signPersonalMessage(message: Data, from: EthereumAddress, password:String = "web3swift") -> Result { do { let result = try self.signPersonalMessagePromise(message: message, from: from, password: password).wait() return Result(result) @@ -28,49 +35,21 @@ extension web3.Personal { } } -// public func signPersonalMessage(message: Data, from: EthereumAddress, password:String = "BANKEXFOUNDATION") -> Result { -// if let keystoreManager = self.web3.provider.attachedKeystoreManager { -// var signature: Data? -// do { -// signature = try Web3Signer.signPersonalMessage(message, keystore: keystoreManager, account: from, password: password) -// } -// catch { -// if error is AbstractKeystoreError { -// return Result.failure(Web3Error.keystoreError(error as! AbstractKeystoreError)) -// } -// return Result.failure(Web3Error.generalError(error)) -// } -// if signature == nil { -// return Result.failure(Web3Error.dataError) -// } -// return Result(signature!) -// } -// let hexData = message.toHexString().addHexPrefix() -// let request = JSONRPCRequestFabric.prepareRequest(.personalSign, parameters: [from.address.lowercased(), hexData]) -// let response = self.provider.send(request: request) -// let result = ResultUnwrapper.getResponse(response) -// switch result { -// case .failure(let error): -// return Result.failure(error) -// case .success(let payload): -// guard let resultString = payload as? String else { -// return Result.failure(Web3Error.dataError) -// } -// guard let sigData = Data.fromHex(resultString) else { -// return Result.failure(Web3Error.dataError) -// } -// return Result(sigData) -// } -// } - - @available(*, deprecated) - func unlockAccount(account: EthereumAddress, password:String = "BANKEXFOUNDATION", seconds: UInt64 = 300, callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - let operation = PersonalUnlockAccountOperation.init(self.web3, queue: self.web3.queue, account: account, password: password, seconds: seconds) - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - - public func unlockAccount(account: EthereumAddress, password:String = "BANKEXFOUNDATION", seconds: UInt64 = 300) -> Result { + /** + *Unlock an account on the remote node to be able to send transactions and sign messages.* + + - parameters: + - account: EthereumAddress of the account to unlock + - password: Password to use for the account + - seconds: Time inteval before automatic account lock by Ethereum node + + - returns: + - Result object + + - important: This call is synchronous. Does nothing if private keys are stored locally. + + */ + public func unlockAccount(account: EthereumAddress, password:String = "web3swift", seconds: UInt64 = 300) -> Result { do { let result = try self.unlockAccountPromise(account: account).wait() return Result(result) @@ -79,45 +58,17 @@ extension web3.Personal { } } -// public func unlockAccount(account: EthereumAddress, password:String = "BANKEXFOUNDATION", seconds: UInt64 = 300) -> Result { -// var externalResult: Result! -// let semaphore = DispatchSemaphore(value: 0) -// let callback = { (res: Result) -> () in -// switch res { -// case .success(let result): -// guard let unwrappedResult = result as? Bool else { -// externalResult = Result.failure(Web3Error.dataError) -// break -// } -// externalResult = Result(unwrappedResult) -// case .failure(let error): -// externalResult = Result.failure(error) -// break -// } -// semaphore.signal() -// } -// unlockAccount(account: account, password: password, seconds: seconds, callback: callback, queue: self.web3.queue) -// _ = semaphore.wait(timeout: .distantFuture) -// return externalResult -// -// -//// if let _ = self.web3.provider.attachedKeystoreManager { -//// return Result.failure(Web3Error.walletError) -//// } -//// let request = JSONRPCRequestFabric.prepareRequest(.unlockAccount, parameters: [account.address.lowercased(), password, seconds]) -//// let response = self.provider.send(request: request) -//// let result = ResultUnwrapper.getResponse(response) -//// switch result { -//// case .failure(let error): -//// return Result.failure(error) -//// case .success(let payload): -//// guard let resultBool = payload as? Bool else { -//// return Result.failure(Web3Error.dataError) -//// } -//// return Result(resultBool) -//// } -// } - + /** + *Recovers a signer of some message. Message is first prepended by special prefix (check the "signPersonalMessage" method description) and then hashed.* + + - parameters: + - personalMessage: Message Data + - signature: Serialized signature, 65 bytes + + - returns: + - Result object + + */ public func ecrecover(personalMessage: Data, signature: Data) -> Result { guard let recovered = Web3.Utils.personalECRecover(personalMessage, signature: signature) else { return Result.failure(Web3Error.dataError) @@ -125,6 +76,17 @@ extension web3.Personal { return Result(recovered) } + /** + *Recovers a signer of some hash. Checking what is under this hash is on behalf of the user.* + + - parameters: + - hash: Signed hash + - signature: Serialized signature, 65 bytes + + - returns: + - Result object + + */ public func ecrecover(hash: Data, signature: Data) -> Result { guard let recovered = Web3.Utils.hashECRecover(hash: hash, signature: signature) else { return Result.failure(Web3Error.dataError) diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Protocols.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Protocols.swift index e9fa315bb..47f9c4f21 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Protocols.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Protocols.swift @@ -11,6 +11,7 @@ import BigInt import Result import class PromiseKit.Promise +/// Protocol for generic Ethereum event parsing results public protocol EventParserResultProtocol { var eventName: String {get} var decodedResult: [String:Any] {get} @@ -19,6 +20,7 @@ public protocol EventParserResultProtocol { var eventLog: EventLog? {get} } +/// Protocol for generic Ethereum event parser public protocol EventParserProtocol { func parseTransaction(_ transaction: EthereumTransaction) -> Result<[EventParserResultProtocol], Web3Error> func parseTransactionByHash(_ hash: Data) -> Result<[EventParserResultProtocol], Web3Error> @@ -30,6 +32,7 @@ public protocol EventParserProtocol { func parseBlockPromise(_ block: Block) -> Promise<[EventParserResultProtocol]> } +/// Enum for the most-used Ethereum networks. Network ID is crucial for EIP155 support public enum Networks { case Rinkeby case Mainnet @@ -37,7 +40,7 @@ public enum Networks { case Kovan case Custom(networkID: BigUInt) - var name: String { + public var name: String { switch self { case .Rinkeby: return "rinkeby" case .Ropsten: return "ropsten" @@ -47,7 +50,7 @@ public enum Networks { } } - var chainID: BigUInt { + public var chainID: BigUInt { switch self { case .Custom(let networkID): return networkID case .Mainnet: return BigUInt(1) diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Structures.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Structures.swift index 2d6b2747f..f5f478982 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Structures.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Structures.swift @@ -1,8 +1,8 @@ // // Web3+Structures.swift -// Alamofire // // Created by Alexander Vlasov on 26.12.2017. +// Copyright © 2017 Bankex Foundation. All rights reserved. // import Foundation @@ -56,12 +56,13 @@ extension Web3Options:Decodable { let gasPrice = try decodeHexToBigUInt(container, key: .gasPrice) self.gasPrice = gasPrice - let toString = try container.decode(String.self, forKey: .to) + let toString = try container.decode(String?.self, forKey: .to) var to: EthereumAddress? - if toString == "0x" || toString == "0x0" { + if toString == nil || toString == "0x" || toString == "0x0" { to = EthereumAddress.contractDeploymentAddress() } else { - guard let ethAddr = EthereumAddress(toString) else {throw Web3Error.dataError} + guard let addressString = toString else {throw Web3Error.dataError} + guard let ethAddr = EthereumAddress(addressString) else {throw Web3Error.dataError} to = ethAddr } self.to = to @@ -272,54 +273,6 @@ public struct TransactionReceipt: Decodable { self.logsBloom = logsBloom } - public init? (_ json: [String: AnyObject]) { - guard let th = json["transactionHash"] as? String else {return nil} - guard let transactionHash = Data.fromHex(th) else {return nil} - self.transactionHash = transactionHash - guard let bh = json["blockHash"] as? String else {return nil} - guard let blockHash = Data.fromHex(bh) else {return nil} - self.blockHash = blockHash - guard let bn = json["blockNumber"] as? String else {return nil} - guard let ti = json["transactionIndex"] as? String else {return nil} - let ca = json["contractAddress"] as? String - guard let cgu = json["cumulativeGasUsed"] as? String else {return nil} - guard let gu = json["gasUsed"] as? String else {return nil} - guard let ls = json["logs"] as? Array<[String:AnyObject]> else {return nil} - let lbl = json["logsBloom"] as? String - let st = json["status"] as? String - - guard let bnUnwrapped = BigUInt(bn.stripHexPrefix(), radix: 16) else {return nil} - blockNumber = bnUnwrapped - guard let tiUnwrapped = BigUInt(ti.stripHexPrefix(), radix: 16) else {return nil} - transactionIndex = tiUnwrapped - if ca != nil { - contractAddress = EthereumAddress(ca!.addHexPrefix()) - } - guard let cguUnwrapped = BigUInt(cgu.stripHexPrefix(), radix: 16) else {return nil} - cumulativeGasUsed = cguUnwrapped - guard let guUnwrapped = BigUInt(gu.stripHexPrefix(), radix: 16) else {return nil} - gasUsed = guUnwrapped - var allLogs = [EventLog]() - for l in ls { - guard let log = EventLog(l) else {return nil} - allLogs.append(log) - } - logs = allLogs - if (st == nil) { - status = TXStatus.notYetProcessed - } else if st == "0x1" { - status = TXStatus.ok - } else { - status = TXStatus.failed - } - if lbl != nil { - let logsData = Data.fromHex(lbl!) - if logsData != nil && logsData!.count > 0 { - logsBloom = EthereumBloomFilter(logsData!) - } - } - } - static func notProcessed(transactionHash: Data) -> TransactionReceipt { let receipt = TransactionReceipt.init(transactionHash: transactionHash, blockHash: Data(), blockNumber: BigUInt(0), transactionIndex: BigUInt(0), contractAddress: nil, cumulativeGasUsed: BigUInt(0), gasUsed: BigUInt(0), logs: [EventLog](), status: .notYetProcessed, logsBloom: nil) return receipt @@ -417,38 +370,6 @@ public struct EventLog : Decodable { } self.topics = allTopics } - - - public init? (_ json: [String: AnyObject]) { - guard let ad = json["address"] as? String else {return nil} - guard let d = json["data"] as? String else {return nil} - guard let li = json["logIndex"] as? String else {return nil} - let rm = json["removed"] as? Int ?? 0 - guard let tpc = json["topics"] as? [String] else {return nil} - guard let addr = EthereumAddress(ad) else {return nil} - address = addr - guard let txhash = json["transactionHash"] as? String else{return nil} - let hash = Data.fromHex(txhash) - if hash != nil { - transactionHash = hash! - } else { - transactionHash = Data() - } - data = Data.fromHex(d)! - guard let liUnwrapped = BigUInt(li.stripHexPrefix(), radix: 16) else {return nil} - logIndex = liUnwrapped - removed = rm == 1 ? true : false - var tops = [Data]() - for t in tpc { - guard let topic = Data.fromHex(t) else {return nil} - tops.append(topic) - } - topics = tops - // TODO - blockNumber = 0 - blockHash = Data() - transactionIndex = 0 - } } public enum TransactionInBlock:Decodable { @@ -529,35 +450,6 @@ public struct Block:Decodable { } public init(from decoder: Decoder) throws { -// func decodeHexToData(_ container: KeyedDecodingContainer, key: KeyedDecodingContainer.Key, allowOptional:Bool = false) throws -> Data? { -// if (allowOptional) { -// let string = try? container.decode(String.self, forKey: key) -// if string != nil { -// guard let data = Data.fromHex(string!) else {throw Web3Error.dataError} -// return data -// } -// return nil -// } else { -// let string = try container.decode(String.self, forKey: key) -// guard let data = Data.fromHex(string) else {throw Web3Error.dataError} -// return data -// } -// } -// -// func decodeHexToBigUInt(_ container: KeyedDecodingContainer, key: KeyedDecodingContainer.Key, allowOptional:Bool = false) throws -> BigUInt? { -// if (allowOptional) { -// let string = try? container.decode(String.self, forKey: key) -// if string != nil { -// guard let number = BigUInt(string!.stripHexPrefix(), radix: 16) else {throw Web3Error.dataError} -// return number -// } -// return nil -// } else { -// let string = try container.decode(String.self, forKey: key) -// guard let number = BigUInt(string.stripHexPrefix(), radix: 16) else {throw Web3Error.dataError} -// return number -// } -// } let container = try decoder.container(keyedBy: CodingKeys.self) guard let number = try decodeHexToBigUInt(container, key: .number) else {throw Web3Error.dataError} self.number = number diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+TransactionIntermediate.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+TransactionIntermediate.swift index c33a65c60..f8f9c88ba 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+TransactionIntermediate.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+TransactionIntermediate.swift @@ -14,6 +14,9 @@ fileprivate typealias PromiseResult = PromiseKit.Result extension web3.web3contract { + /// TransactionIntermediate is an almost-ready transaction or a smart-contract function call. It bears all the required information + /// to call the smart-contract and decode the returned information, or estimate gas required for transaction, or send a transaciton + /// to the blockchain. public class TransactionIntermediate{ public var transaction:EthereumTransaction public var contract: ContractProtocol @@ -32,27 +35,21 @@ extension web3.web3contract { } } - @available(*, deprecated) - public func setNonce(_ nonce: BigUInt) throws { - self.transaction.nonce = nonce - if (self.web3.provider.network != nil) { - self.transaction.chainID = self.web3.provider.network?.chainID - } - } - - @available(*, deprecated) - public func send(password: String = "BANKEXFOUNDATION", options: Web3Options? = nil, onBlock: String = "pending", callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - guard let operation = ContractSendOperation.init(web3, queue: web3.queue, intermediate: self, options: options, onBlock: onBlock, password: password) else { - guard let dispatchQueue = queue.underlyingQueue else {return} - return dispatchQueue.async { - callback(Result.failure(Web3Error.dataError)) - } - } - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) - } - - public func send(password: String = "BANKEXFOUNDATION", options: Web3Options? = nil, onBlock: String = "pending") -> Result { + /** + *Send a prepared transaction to the blockchain. Internally checks the nonce for a sending account, assigns it, get a gas estimate and signs a transaction either locally or on the remote node.* + + - parameters: + - password: Password for a private key if transaction is signed locally + - options: Web3Options to override the previously assigned gas price, gas limit and value. + - onBlock: String field determines if nonce value and the gas estimate are based on the state of a blockchain on the latest mined block ("latest") or the expected state after all the transactions in memory pool are applied ("pending"). Using "pending" allows to send transactions one after another without waiting for inclusion of the previous one in some block. + + - returns: + - Result object + + - important: This call is synchronous + + */ + public func send(password: String = "web3swift", options: Web3Options? = nil, onBlock: String = "pending") -> Result { do { let result = try self.sendPromise(password: password, options: options, onBlock: onBlock).wait() return Result(result) @@ -60,82 +57,23 @@ extension web3.web3contract { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } -// public func send(password: String = "BANKEXFOUNDATION", options: Web3Options? = nil, onBlock: String = "pending") -> Result<[String:String], Web3Error> { -// -// var externalResult: Result<[String:String], Web3Error>! -// let semaphore = DispatchSemaphore(value: 0) -// let callback = { (res: Result) -> () in -// switch res { -// case .success(let result): -// guard let unwrappedResult = result as? String else { -// externalResult = Result.failure(Web3Error.dataError) -// break -// } -// let resultDict = ["txhash" : unwrappedResult] as [String: String] -// externalResult = Result<[String:String], Web3Error>(resultDict) -// case .failure(let error): -// externalResult = Result.failure(error) -// break -// } -// semaphore.signal() -// } -// send(password: password, options: options, onBlock: onBlock, callback: callback, queue: self.web3.queue) -// _ = semaphore.wait(timeout: .distantFuture) -// return externalResult -// -//// do { -//// guard var mergedOptions = Web3Options.merge(self.options, with: options) else -//// { -//// return Result.failure(Web3Error.inputError("Invalid options supplied")) -//// } -//// guard let from = mergedOptions.from else -//// { -//// return Result.failure(Web3Error.inputError("Invalid options supplied")) -//// } -//// let nonceResult = self.web3.eth.getTransactionCount(address: from, onBlock: onBlock) -//// if case .failure(let err) = nonceResult { -//// return Result.failure(err) -//// } -//// try self.setNonce(nonceResult.value!) -//// let estimatedGasResult = self.estimateGas(options: mergedOptions) -//// if case .failure(let err) = estimatedGasResult { -//// return Result.failure(err) -//// } -//// if mergedOptions.gasLimit == nil { -//// mergedOptions.gasLimit = estimatedGasResult.value! -//// } else { -//// if (mergedOptions.gasLimit! < estimatedGasResult.value!) { -//// if (options?.gasLimit != nil && options!.gasLimit != nil && options!.gasLimit! >= estimatedGasResult.value!) { -//// mergedOptions.gasLimit = estimatedGasResult.value! -//// } else { -//// return Result.failure(Web3Error.inputError("Estimated gas is larger than the gas limit")) -//// } -//// } -//// } -//// var transaction = self.transaction -//// if mergedOptions.gasLimit != nil { -//// transaction.gasLimit = mergedOptions.gasLimit! -//// self.transaction = transaction -//// } -//// self.options = mergedOptions -//// if let keystoreManager = self.web3.provider.attachedKeystoreManager { -//// try Web3Signer.signTX(transaction: &self.transaction, keystore: keystoreManager, account: from, password: password) -//// print(self.transaction) -//// return self.web3.eth.sendRawTransaction(self.transaction) -//// } else { -//// return self.web3.eth.sendTransaction(self.transaction, options: mergedOptions) -//// } -//// } -//// catch { -//// return Result.failure(Web3Error.generalError(error)) -//// } -// } - - + /** + *Calls a function of the smart-contract and parses the returned data to native objects.* + + - parameters: + - options: Web3Options to override the previously assigned gas price, gas limit and value. + - onBlock: String field determines if nonce value and the gas estimate are based on the state of a blockchain on the latest mined block ("latest") or the expected state after all the transactions in memory pool are applied ("pending"). Using "pending" allows to send transactions one after another without waiting for inclusion of the previous one in some block. + + - returns: + - Result object + + - important: This call is synchronous + + */ public func call(options: Web3Options?, onBlock: String = "latest") -> Result<[String:Any], Web3Error> { do { let result = try self.callPromise(options: options, onBlock: onBlock).wait() @@ -144,79 +82,23 @@ extension web3.web3contract { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) - } - } - - -// public func call(options: Web3Options?, onBlock: String = "latest") -> Result<[String:Any], Web3Error> { -// -// var externalResult: Result<[String:Any], Web3Error>! -// let semaphore = DispatchSemaphore(value: 0) -// let callback = { (res: Result) -> () in -// switch res { -// case .success(let result): -// guard let unwrappedResult = result as? [String:Any] else { -// externalResult = Result.failure(Web3Error.dataError) -// break -// } -// externalResult = Result<[String:Any], Web3Error>(unwrappedResult) -// case .failure(let error): -// externalResult = Result.failure(error) -// break -// } -// semaphore.signal() -// } -// call(options: options, onBlock: onBlock, callback: callback, queue: self.web3.queue) -// _ = semaphore.wait(timeout: .distantFuture) -// return externalResult -// -// -// -//// let mergedOptions = Web3Options.merge(self.options, with: options) -//// guard let request = EthereumTransaction.createRequest(method: JSONRPCmethod.call, transaction: self.transaction, onBlock: onBlock, options: mergedOptions) else -//// { -//// return Result.failure(Web3Error.inputError("Transaction or options are malformed")) -//// } -//// let response = self.web3.provider.send(request: request) -//// let result = ResultUnwrapper.getResponse(response) -//// switch result { -//// case .failure(let error): -//// return Result.failure(error) -//// case .success(let payload): -//// guard let resultString = payload as? String else { -//// return Result.failure(Web3Error.dataError) -//// } -//// if (self.method == "fallback") { -//// let resultAsBigUInt = BigUInt(resultString.stripHexPrefix(), radix : 16) -//// return Result(["result": resultAsBigUInt as Any]) -//// } -//// guard let responseData = Data.fromHex(resultString) else -//// { -//// return Result.failure(Web3Error.dataError) -//// } -//// guard let decodedData = contract.decodeReturnData(self.method, data: responseData) else -//// { -//// return Result.failure(Web3Error.dataError) -//// } -//// return Result(decodedData) -//// } -// } - - @available(*, deprecated) - public func call(options: Web3Options?, onBlock: String = "latest", callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { -// let mergedOptions = Web3Options.merge(self.options, with: options) -// self.options = mergedOptions - guard let operation = ContractCallOperation(web3, queue: web3.queue, intermediate: self, onBlock: onBlock, options: options) else { - guard let dispatchQueue = queue.underlyingQueue else {return} - return dispatchQueue.async { - callback(Result.failure(Web3Error.dataError)) - } + return Result.failure(Web3Error.generalError(err: error)) } - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) } + /** + *Estimates gas required to execute the transaction. Setting a gas limit lower than the estimate will most likely result in a failed transaction. If this call returns an error it can also indicate that transaction is invalid as itself.* + + - parameters: + - options: Web3Options to override the previously assigned gas price, gas limit and value. + - onBlock: String field determines if nonce value and the gas estimate are based on the state of a blockchain on the latest mined block ("latest") or the expected state after all the transactions in memory pool are applied ("pending"). Using "pending" allows to send transactions one after another without waiting for inclusion of the previous one in some block. + + - returns: + - Result object + + - important: This call is synchronous + + */ public func estimateGas(options: Web3Options?, onBlock: String = "latest") -> Result { do { let result = try self.estimateGasPromise(options: options, onBlock: onBlock).wait() @@ -225,38 +107,32 @@ extension web3.web3contract { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) - } - } - -// public func estimateGas(options: Web3Options?, onBlock: String = "latest") -> Result { -// let mergedOptions = Web3Options.merge(self.options, with: options) -// return self.web3.eth.estimateGas(self.transaction, options: mergedOptions, onBlock: onBlock) -// } - - @available(*, deprecated) - public func estimateGas(options: Web3Options?, onBlock: String = "latest", callback: @escaping Callback, queue: OperationQueue = OperationQueue.main) { - let mergedOptions = Web3Options.merge(self.options, with: options) - self.options = mergedOptions - guard let operation = ContractEstimateGasOperation.init(web3, queue: web3.queue, intermediate: self, onBlock: onBlock) else { - guard let dispatchQueue = queue.underlyingQueue else {return} - return dispatchQueue.async { - callback(Result.failure(Web3Error.dataError)) - } + return Result.failure(Web3Error.generalError(err: error)) } - operation.next = OperationChainingType.callback(callback, queue) - self.web3.queue.addOperation(operation) } - func assemble(password:String = "BANKEXFOUNDATION", options: Web3Options? = nil, onBlock: String = "pending") -> Result { + /** + *Assembles (but does not sign!) a transaction by fetching the nonce value and applying provided options.* + + - parameters: + - options: Web3Options to override the previously assigned gas price, gas limit and value. + - onBlock: String field determines if nonce value and the gas estimate are based on the state of a blockchain on the latest mined block ("latest") or the expected state after all the transactions in memory pool are applied ("pending"). Using "pending" allows to send transactions one after another without waiting for inclusion of the previous one in some block. + + - returns: + - Result object + + - important: This call is synchronous + + */ + public func assemble(options: Web3Options? = nil, onBlock: String = "pending") -> Result { do { - let result = try self.assemblePromise(password:password, options: options, onBlock: onBlock).wait() + let result = try self.assemblePromise(options: options, onBlock: onBlock).wait() return Result(result) } catch { if let err = error as? Web3Error { return Result.failure(err) } - return Result.failure(Web3Error.generalError(error)) + return Result.failure(Web3Error.generalError(err: error)) } } @@ -265,16 +141,16 @@ extension web3.web3contract { extension web3.web3contract.TransactionIntermediate { - func assemblePromise(password:String = "BANKEXFOUNDATION", options: Web3Options? = nil, onBlock: String = "pending") -> Promise { + public func assemblePromise(options: Web3Options? = nil, onBlock: String = "pending") -> Promise { var assembledTransaction : EthereumTransaction = self.transaction let queue = self.web3.requestDispatcher.queue let returnPromise = Promise { seal in guard let mergedOptions = Web3Options.merge(self.options, with: options) else { - seal.reject(Web3Error.inputError("Provided options are invalid")) + seal.reject(Web3Error.inputError(desc: "Provided options are invalid")) return } guard let from = mergedOptions.from else { - seal.reject(Web3Error.inputError("No 'from' field provided")) + seal.reject(Web3Error.inputError(desc: "No 'from' field provided")) return } var optionsForGasEstimation = Web3Options() @@ -289,22 +165,30 @@ extension web3.web3contract.TransactionIntermediate { promisesToFulfill.removeAll() guard case .fulfilled(let nonce) = results[0] else { - throw Web3Error.processingError("Failed to fetch nonce") + throw Web3Error.processingError(desc: "Failed to fetch nonce") } guard case .fulfilled(let gasEstimate) = results[1] else { - throw Web3Error.processingError("Failed to fetch gas estimate") + throw Web3Error.processingError(desc: "Failed to fetch gas estimate") } guard case .fulfilled(let gasPrice) = results[2] else { - throw Web3Error.processingError("Failed to fetch gas price") + throw Web3Error.processingError(desc: "Failed to fetch gas price") } - guard let estimate = Web3Options.smartMergeGasLimit(originalOptions: options, extraOptions: nil, gasEstimage: gasEstimate) else { - throw Web3Error.processingError("Failed to calculate gas estimate that satisfied options") + guard let estimate = Web3Options.smartMergeGasLimit(originalOptions: options, extraOptions: mergedOptions, gasEstimate: gasEstimate) else { + throw Web3Error.processingError(desc: "Failed to calculate gas estimate that satisfied options") } assembledTransaction.nonce = nonce assembledTransaction.gasLimit = estimate - if assembledTransaction.gasPrice == 0 { - assembledTransaction.gasPrice = gasPrice + guard let finalGasPrice = Web3Options.smartMergeGasPrice(originalOptions: options, extraOptions: mergedOptions, priceEstimate: gasPrice) else { + throw Web3Error.processingError(desc: "Missing parameter of gas price for transaction") } + assembledTransaction.gasPrice = finalGasPrice +// if assembledTransaction.gasPrice == 0 { +// if mergedOptions.gasPrice != nil { +// assembledTransaction.gasPrice = mergedOptions.gasPrice! +// } else { +// assembledTransaction.gasPrice = gasPrice +// } +// } return assembledTransaction }).done(on: queue) {tx in seal.fulfill(tx) @@ -315,78 +199,25 @@ extension web3.web3contract.TransactionIntermediate { return returnPromise } - func sendPromise(password:String = "BANKEXFOUNDATION", options: Web3Options? = nil, onBlock: String = "pending") -> Promise{ - let queue = self.web3.requestDispatcher.queue - return self.assemblePromise(password: password, options: options, onBlock: onBlock).then(on: queue) { transaction throws -> Promise in - guard let mergedOptions = Web3Options.merge(self.options, with: options) else { - throw Web3Error.inputError("Provided options are invalid") - } - var cleanedOptions = Web3Options() - cleanedOptions.from = mergedOptions.from - cleanedOptions.to = mergedOptions.to - return self.web3.eth.sendTransactionPromise(transaction, options: cleanedOptions, password: password) + public func sendPromise(password:String = "web3swift", options: Web3Options? = nil, onBlock: String = "pending") -> Promise{ + let queue = self.web3.requestDispatcher.queue + return self.assemblePromise(options: options, onBlock: onBlock).then(on: queue) { transaction throws -> Promise in + guard let mergedOptions = Web3Options.merge(self.options, with: options) else { + throw Web3Error.inputError(desc: "Provided options are invalid") } + var cleanedOptions = Web3Options() + cleanedOptions.from = mergedOptions.from + cleanedOptions.to = mergedOptions.to + return self.web3.eth.sendTransactionPromise(transaction, options: cleanedOptions, password: password) } + } -// var assembledTransaction : EthereumTransaction = self.transaction -// let returnPromise = Promise { seal in -// guard let mergedOptions = Web3Options.merge(self.options, with: options) else { -// seal.reject(Web3Error.inputError("Provided options are invalid")) -// return -// } -// guard let from = mergedOptions.from else { -// seal.reject(Web3Error.inputError("No 'from' field provided")) -// return -// } -// var optionsForGasEstimation = Web3Options() -// optionsForGasEstimation.from = mergedOptions.from -// optionsForGasEstimation.to = mergedOptions.to -// optionsForGasEstimation.value = mergedOptions.value -// let getNoncePromise : Promise = self.web3.eth.getTransactionCountPromise(address: from, onBlock: onBlock) -// let gasEstimatePromise : Promise = self.web3.eth.estimateGasPromise(assembledTransaction, options: optionsForGasEstimation, onBlock: onBlock) -// let gasPricePromise : Promise = self.web3.eth.getGasPricePromise() -// var promisesToFulfill: [Promise] = [getNoncePromise, gasPricePromise, gasPricePromise] -// when(resolved: getNoncePromise, gasEstimatePromise, gasPricePromise).map(on: queue, { (results:[PromiseResult]) throws -> EthereumTransaction in -// -// promisesToFulfill.removeAll() -// guard case .fulfilled(let nonce) = results[0] else { -// throw Web3Error.processingError("Failed to fetch nonce") -// } -// guard case .fulfilled(let gasEstimate) = results[1] else { -// throw Web3Error.processingError("Failed to fetch gas estimate") -// } -// guard case .fulfilled(let gasPrice) = results[2] else { -// throw Web3Error.processingError("Failed to fetch gas price") -// } -// guard let estimate = Web3Options.smartMergeGasLimit(originalOptions: options, extraOptions: nil, gasEstimage: gasEstimate) else { -// throw Web3Error.processingError("Failed to calculate gas estimate that satisfied options") -// } -// assembledTransaction.nonce = nonce -// assembledTransaction.gasLimit = estimate -// if assembledTransaction.gasPrice == 0 { -// assembledTransaction.gasPrice = gasPrice -// } -// return assembledTransaction -// }).then(on: queue) { transaction -> Promise in -// var cleanedOptions = Web3Options() -// cleanedOptions.from = mergedOptions.from -// cleanedOptions.to = mergedOptions.to -// return self.web3.eth.sendTransactionPromise(assembledTransaction, options: cleanedOptions) -// }.done(on: queue) {transactionSendingResult in -// seal.fulfill(transactionSendingResult) -// }.catch(on: queue) {err in -// seal.reject(err) -// } -// } -// return returnPromise -// } - - func callPromise(options: Web3Options? = nil, onBlock: String = "latest") -> Promise<[String: Any]>{ + public func callPromise(options: Web3Options? = nil, onBlock: String = "latest") -> Promise<[String: Any]>{ let assembledTransaction : EthereumTransaction = self.transaction let queue = self.web3.requestDispatcher.queue let returnPromise = Promise<[String:Any]> { seal in guard let mergedOptions = Web3Options.merge(self.options, with: options) else { - seal.reject(Web3Error.inputError("Provided options are invalid")) + seal.reject(Web3Error.inputError(desc: "Provided options are invalid")) return } var optionsForCall = Web3Options() @@ -403,7 +234,7 @@ extension web3.web3contract.TransactionIntermediate { } guard let decodedData = self.contract.decodeReturnData(self.method, data: data) else { - throw Web3Error.processingError("Can not decode returned parameters") + throw Web3Error.processingError(desc: "Can not decode returned parameters") } seal.fulfill(decodedData) } catch{ @@ -416,12 +247,12 @@ extension web3.web3contract.TransactionIntermediate { return returnPromise } - func estimateGasPromise(options: Web3Options? = nil, onBlock: String = "latest") -> Promise{ + public func estimateGasPromise(options: Web3Options? = nil, onBlock: String = "latest") -> Promise{ let assembledTransaction : EthereumTransaction = self.transaction let queue = self.web3.requestDispatcher.queue let returnPromise = Promise { seal in guard let mergedOptions = Web3Options.merge(self.options, with: options) else { - seal.reject(Web3Error.inputError("Provided options are invalid")) + seal.reject(Web3Error.inputError(desc: "Provided options are invalid")) return } var optionsForGasEstimation = Web3Options() diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Utils.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Utils.swift index c1781a4fa..79e448e74 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Utils.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Utils.swift @@ -13,6 +13,8 @@ import CryptoSwift public typealias Web3Utils = Web3.Utils extension Web3 { + + /// Namespaced Utils functions. Are not bound to particular web3 instance, so capitalization matters. public struct Utils { typealias Iban = IBAN @@ -20,6 +22,9 @@ extension Web3 { } extension Web3.Utils { + + /// Calculate address of deployed contract deterministically based on the address of the deploying Ethereum address + /// and the nonce of this address public static func calcualteContractAddress(from: EthereumAddress, nonce: BigUInt) -> EthereumAddress? { guard let normalizedAddress = from.addressData.setLengthLeft(32) else {return nil} guard let data = RLP.encode([normalizedAddress, nonce] as [Any]) else {return nil} @@ -28,6 +33,7 @@ extension Web3.Utils { return contractAddress } + /// Various units used in Ethereum ecosystem public enum Units { case eth case wei @@ -59,17 +65,35 @@ extension Web3.Utils { } } + /// Precoded "cold wallet" (private key controlled) address. Basically - only a payable fallback function. public static var coldWalletABI = "[{\"payable\":true,\"type\":\"fallback\"}]" + + /// Precoded ERC20 contracts ABI. Output parameters are named for ease of use. public static var erc20ABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"remaining\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"inputs\":[{\"name\":\"_initialAmount\",\"type\":\"uint256\"},{\"name\":\"_tokenName\",\"type\":\"string\"},{\"name\":\"_decimalUnits\",\"type\":\"uint8\"},{\"name\":\"_tokenSymbol\",\"type\":\"string\"}],\"type\":\"constructor\"},{\"payable\":false,\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},]" + + public static var erc721ABI = "[{\"constant\":true,\"inputs\":[{\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"_name\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_approved\",\"type\":\"address\"},{\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"_symbol\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_operator\",\"type\":\"address\"},{\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_approved\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"}]" + public static var ensRegistryABI = """ +[{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"resolver","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"node","type":"bytes32"},{"name":"label","type":"bytes32"},{"name":"owner","type":"address"}],"name":"setSubnodeOwner","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"node","type":"bytes32"},{"name":"ttl","type":"uint64"}],"name":"setTTL","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"ttl","outputs":[{"name":"","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"node","type":"bytes32"},{"name":"resolver","type":"address"}],"name":"setResolver","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"node","type":"bytes32"},{"name":"owner","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"node","type":"bytes32"},{"indexed":false,"name":"owner","type":"address"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"node","type":"bytes32"},{"indexed":true,"name":"label","type":"bytes32"},{"indexed":false,"name":"owner","type":"address"}],"name":"NewOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"node","type":"bytes32"},{"indexed":false,"name":"resolver","type":"address"}],"name":"NewResolver","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"node","type":"bytes32"},{"indexed":false,"name":"ttl","type":"uint64"}],"name":"NewTTL","type":"event"}] +""" + + public static var resolverABI = """ +[{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"addr","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"},{"name":"contentType","type": "uint256"}],"name":"ABI","outputs":[{"name":"","type":"uint256"},{"name":"","type":"bytes"}],"payable":false,"type":"function"}] +""" + } extension Web3.Utils { + /// Convert the private key (32 bytes of Data) to compressed (33 bytes) or non-compressed (65 bytes) public key. public static func privateToPublic(_ privateKey: Data, compressed: Bool = false) -> Data? { guard let publicKey = SECP256K1.privateToPublic(privateKey: privateKey, compressed: compressed) else {return nil} return publicKey } + /// Convert a public key to the corresponding EthereumAddress. Accepts public keys in compressed (33 bytes), non-compressed (65 bytes) + /// or raw concat(X,Y) (64 bytes) format. + /// + /// Returns 20 bytes of address data. public static func publicToAddressData(_ publicKey: Data) -> Data? { if publicKey.count == 33 { guard let decompressedKey = SECP256K1.combineSerializedPublicKeys(keys: [publicKey], outputCompressed: false) else {return nil} @@ -90,22 +114,35 @@ extension Web3.Utils { return addressData } + /// Convert a public key to the corresponding EthereumAddress. Accepts public keys in compressed (33 bytes), non-compressed (65 bytes) + /// or raw concat(X,Y) (64 bytes) format. + /// + /// Returns the EthereumAddress object. public static func publicToAddress(_ publicKey: Data) -> EthereumAddress? { guard let addressData = Web3.Utils.publicToAddressData(publicKey) else {return nil} let address = addressData.toHexString().addHexPrefix().lowercased() return EthereumAddress(address) } + /// Convert a public key to the corresponding EthereumAddress. Accepts public keys in compressed (33 bytes), non-compressed (65 bytes) + /// or raw concat(X,Y) (64 bytes) format. + /// + /// Returns a 0x prefixed hex string. public static func publicToAddressString(_ publicKey: Data) -> String? { guard let addressData = Web3.Utils.publicToAddressData(publicKey) else {return nil} let address = addressData.toHexString().addHexPrefix().lowercased() return address } - public static func addressDataToString(_ addressData: Data) -> String { + /// Converts address data (20 bytes) to the 0x prefixed hex string. Does not perform checksumming. + public static func addressDataToString(_ addressData: Data) -> String? { + guard addressData.count == 20 else {return nil} return addressData.toHexString().addHexPrefix().lowercased() } + /// Hashes a personal message by first padding it with the "\u{19}Ethereum Signed Message:\n" string and message length string. + /// Should be used if some arbitrary information should be hashed and signed to prevent signing an Ethereum transaction + /// by accident. public static func hashPersonalMessage(_ personalMessage: Data) -> Data? { var prefix = "\u{19}Ethereum Signed Message:\n" prefix += String(personalMessage.count) @@ -121,11 +158,17 @@ extension Web3.Utils { return hash } + /// Parse a user-supplied string using the number of decimals for particular Ethereum unit. + /// If input is non-numeric or precision is not sufficient - returns nil. + /// Allowed decimal separators are ".", ",". public static func parseToBigUInt(_ amount: String, units: Web3.Utils.Units = .eth) -> BigUInt? { let unitDecimals = units.decimals return parseToBigUInt(amount, decimals: unitDecimals) } + /// Parse a user-supplied string using the number of decimals. + /// If input is non-numeric or precision is not sufficient - returns nil. + /// Allowed decimal separators are ".", ",". public static func parseToBigUInt(_ amount: String, decimals: Int = 18) -> BigUInt? { let separators = CharacterSet(charactersIn: ".,") let components = amount.trimmingCharacters(in: .whitespacesAndNewlines).components(separatedBy: separators) @@ -143,6 +186,10 @@ extension Web3.Utils { return mainPart } + /// Formats a BigInt object to String. The supplied number is first divided into integer and decimal part based on "toUnits", + /// then limit the decimal part to "decimals" symbols and uses a "decimalSeparator" as a separator. + /// + /// Returns nil of formatting is not possible to satisfy. public static func formatToEthereumUnits(_ bigNumber: BigInt, toUnits: Web3.Utils.Units = .eth, decimals: Int = 4, decimalSeparator: String = ".") -> String? { let magnitude = bigNumber.magnitude guard let formatted = formatToEthereumUnits(magnitude, toUnits: toUnits, decimals: decimals, decimalSeparator: decimalSeparator) else {return nil} @@ -154,6 +201,11 @@ extension Web3.Utils { } } + /// Formats a BigInt object to String. The supplied number is first divided into integer and decimal part based on "toUnits", + /// then limit the decimal part to "decimals" symbols and uses a "decimalSeparator" as a separator. + /// Fallbacks to scientific format if higher precision is required. + /// + /// Returns nil of formatting is not possible to satisfy. public static func formatToPrecision(_ bigNumber: BigInt, numberDecimals: Int = 18, formattingDecimals: Int = 4, decimalSeparator: String = ".", fallbackToScientific: Bool = false) -> String? { let magnitude = bigNumber.magnitude guard let formatted = formatToPrecision(magnitude, numberDecimals: numberDecimals, formattingDecimals: formattingDecimals, decimalSeparator: decimalSeparator, fallbackToScientific: fallbackToScientific) else {return nil} @@ -165,10 +217,19 @@ extension Web3.Utils { } } + /// Formats a BigUInt object to String. The supplied number is first divided into integer and decimal part based on "toUnits", + /// then limit the decimal part to "decimals" symbols and uses a "decimalSeparator" as a separator. + /// + /// Returns nil of formatting is not possible to satisfy. public static func formatToEthereumUnits(_ bigNumber: BigUInt, toUnits: Web3.Utils.Units = .eth, decimals: Int = 4, decimalSeparator: String = ".", fallbackToScientific: Bool = false) -> String? { return formatToPrecision(bigNumber, numberDecimals: toUnits.decimals, formattingDecimals: decimals, decimalSeparator: decimalSeparator, fallbackToScientific: fallbackToScientific); } + /// Formats a BigUInt object to String. The supplied number is first divided into integer and decimal part based on "toUnits", + /// then limit the decimal part to "decimals" symbols and uses a "decimalSeparator" as a separator. + /// Fallbacks to scientific format if higher precision is required. + /// + /// Returns nil of formatting is not possible to satisfy. public static func formatToPrecision(_ bigNumber: BigUInt, numberDecimals: Int = 18, formattingDecimals: Int = 4, decimalSeparator: String = ".", fallbackToScientific: Bool = false) -> String? { if bigNumber == 0 { return "0" @@ -205,12 +266,20 @@ extension Web3.Utils { return String(quotient) + decimalSeparator + remainderPadded } + /// Recover the Ethereum address from recoverable secp256k1 signature. Message is first hashed using the "personal hash" protocol. + /// BE WARNED - changing a message will result in different Ethereum address, but not in error. + /// + /// Input parameters should be hex Strings. static public func personalECRecover(_ personalMessage: String, signature: String) -> EthereumAddress? { guard let data = Data.fromHex(personalMessage) else {return nil} guard let sig = Data.fromHex(signature) else {return nil} return Web3.Utils.personalECRecover(data, signature:sig) } + /// Recover the Ethereum address from recoverable secp256k1 signature. Message is first hashed using the "personal hash" protocol. + /// BE WARNED - changing a message will result in different Ethereum address, but not in error. + /// + /// Input parameters should be Data objects. static public func personalECRecover(_ personalMessage: Data, signature: Data) -> EthereumAddress? { if signature.count != 65 { return nil} let rData = signature[0..<32].bytes @@ -222,6 +291,11 @@ extension Web3.Utils { return Web3.Utils.publicToAddress(publicKey) } + + /// Recover the Ethereum address from recoverable secp256k1 signature. + /// Takes a hash of some message. What message is hashed should be checked by user separately. + /// + /// Input parameters should be Data objects. static public func hashECRecover(hash: Data, signature: Data) -> EthereumAddress? { if signature.count != 65 { return nil} let rData = signature[0..<32].bytes @@ -250,6 +324,7 @@ extension Web3.Utils { return data.sha256() } + /// Unmarshals a 65 byte recoverable EC signature into internal structure. static func unmarshalSignature(signatureData:Data) -> SECP256K1.UnmarshaledSignature? { if (signatureData.count != 65) {return nil} let bytes = signatureData.bytes @@ -258,6 +333,7 @@ extension Web3.Utils { return SECP256K1.UnmarshaledSignature(v: bytes[64], r: r, s: s) } + /// Marshals the V, R and S signature parameters into a 65 byte recoverable EC signature. static func marshalSignature(v: UInt8, r: [UInt8], s: [UInt8]) -> Data? { guard r.count == 32, s.count == 32 else {return nil} var completeSignature = Data(bytes: r) @@ -266,7 +342,8 @@ extension Web3.Utils { return completeSignature } - static func marshalSignature(unmarshalledSignature: SECP256K1.UnmarshaledSignature) -> Data? { + /// Marshals internal signature structure into a 65 byte recoverable EC signature. + static func marshalSignature(unmarshalledSignature: SECP256K1.UnmarshaledSignature) -> Data { var completeSignature = Data(bytes: unmarshalledSignature.r) completeSignature.append(Data(bytes: unmarshalledSignature.s)) completeSignature.append(Data(bytes: [unmarshalledSignature.v])) diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3.swift index 705242c0d..59d548401 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3.swift @@ -8,36 +8,75 @@ import Foundation import Result -import BigInt public enum Web3Error: Error { case transactionSerializationError case connectionError case dataError case walletError - case inputError(String) - case nodeError(String) - case processingError(String) - case keystoreError(AbstractKeystoreError) - case generalError(Error) + case inputError(desc:String) + case nodeError(desc:String) + case processingError(desc:String) + case keystoreError(err:AbstractKeystoreError) + case generalError(err:Error) case unknownError + + var description : String { + switch self { + + case .transactionSerializationError: + return "Transaction Serialization Error" + case .connectionError: + return "Connection Error" + case .dataError: + return "Data Error" + case .walletError: + return "Wallet Error" + case .inputError(let desc): + return desc + case .nodeError(let desc): + return desc + case .processingError(let desc): + return desc + case .keystoreError(let err): + return err.localizedDescription + case .generalError(let err): + return err.localizedDescription + case .unknownError: + return "Unknown Error" + } + } } +/// An arbitary Web3 object. Is used only to construct provider bound fully functional object by either supplying provider URL +/// or using pre-coded Infura nodes public struct Web3 { + /// Initialized provider-bound Web3 instance using a provider's URL. Under the hood it performs a synchronous call to get + /// the Network ID for EIP155 purposes public static func new(_ providerURL: URL) -> web3? { guard let provider = Web3HttpProvider(providerURL) else {return nil} return web3(provider: provider) } + /// Initialized Web3 instance bound to Infura's mainnet provider. + public static func InfuraMainnetWeb3(accessToken: String? = nil) -> web3 { + let infura = InfuraProvider(Networks.Mainnet, accessToken: accessToken)! + return web3(provider: infura) + } + + /// Initialized Web3 instance bound to Infura's rinkeby provider. public static func InfuraRinkebyWeb3(accessToken: String? = nil) -> web3 { let infura = InfuraProvider(Networks.Rinkeby, accessToken: accessToken)! return web3(provider: infura) } - public static func InfuraMainnetWeb3(accessToken: String? = nil) -> web3 { - let infura = InfuraProvider(Networks.Mainnet, accessToken: accessToken)! + + /// Initialized Web3 instance bound to Infura's ropsten provider. + public static func InfuraRopstenWeb3(accessToken: String? = nil) -> web3 { + let infura = InfuraProvider(Networks.Ropsten, accessToken: accessToken)! return web3(provider: infura) } + } struct ResultUnwrapper { @@ -47,10 +86,10 @@ struct ResultUnwrapper { } if let error = res["error"] { if let errString = error as? String { - return Result.failure(Web3Error.nodeError(errString)) + return Result.failure(Web3Error.nodeError(desc: errString)) } else if let errDict = error as? [String:Any] { if errDict["message"] != nil, let descr = errDict["message"]! as? String { - return Result.failure(Web3Error.nodeError(descr)) + return Result.failure(Web3Error.nodeError(desc: descr)) } } return Result.failure(Web3Error.unknownError) @@ -62,10 +101,6 @@ struct ResultUnwrapper { } } -func isInstanceOf (instance: Any, of kind: T.Type) -> Bool { - return instance is T; -} - diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/web3swift.h b/Example/web3swiftExample/Pods/web3swift/web3swift/web3swift.h index 46462d5ec..fe4270f58 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/web3swift.h +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/web3swift.h @@ -20,4 +20,3 @@ FOUNDATION_EXPORT const unsigned char web3swiftVersionString[]; // In this header, you should import all the public headers of your framework using statements like #import - From 88a23137b67b1aab69588fc7203917763507cb7d Mon Sep 17 00:00:00 2001 From: Alex Vlasov Date: Wed, 19 Sep 2018 13:08:11 +0300 Subject: [PATCH 02/66] add missing files --- .../RandomAccessBlockModeWorker.swift | 18 - .../PromiseKit/PromiseKit-umbrella.h | 26 ++ .../PromiseKit/PromiseKit.modulemap | 6 + .../Target Support Files/libsodium/Info.plist | 26 -- .../libsodium/libsodium-dummy.m | 5 - .../libsodium/libsodium-umbrella.h | 78 ---- .../libsodium/libsodium.modulemap | 6 - .../libsodium/libsodium.xcconfig | 11 - .../scrypt/scrypt-dummy.m | 5 + .../scrypt/scrypt-umbrella.h | 17 + .../scrypt/scrypt.modulemap | 6 + .../scrypt/scrypt.xcconfig | 19 + .../web3swift/ABI/Classes/ABIDecoder.swift | 292 ------------ .../web3swift/ABI/Classes/ABIEncoder.swift | 224 --------- .../ABI/Classes/ABIRecordParser.swift | 398 ---------------- .../web3swift/ABI/Classes/ABITypes.swift | 427 ------------------ .../web3swift/ABI/Classes/TypesEncoder.swift | 55 --- .../BlockExplorer+GetTransactionHistory.swift | 244 ++++++++++ .../BlockExplorer/Classes/BlockExplorer.swift | 18 + .../Classes/Web3+Concurrency.swift | 266 ----------- .../Classes/Web3+ConversionOperations.swift | 282 ------------ .../Classes/Web3+DataFetchOperation.swift | 41 -- .../Classes/Web3+EthOperations.swift | 272 ----------- .../Classes/Web3+EventOperations.swift | 134 ------ ...NativePrimitivesConversionOperations.swift | 65 --- .../Classes/Web3+PersonalOperations.swift | 88 ---- ...TransactionAndBlockDetailsOperations.swift | 138 ------ .../Classes/Web3+TransactionOperations.swift | 240 ---------- .../web3swift/Contract/Classes/Contract.swift | 218 --------- .../DictionaryLiteralJSONSerializer.swift | 38 -- .../Classes/SynchronizedQueue.swift | 257 ----------- .../Classes/BigUInt+ObjC.swift | 32 ++ .../Classes/EthereumAddress+ObjC.swift | 30 ++ .../Classes/KeystoreManager+ObjC.swift | 23 + .../Classes/PlainKeystore+ObjC.swift | 30 ++ .../Classes/Web3+Eth+ObjC.swift | 37 ++ .../Classes/Web3+HttpProvider+ObjC.swift | 33 ++ .../Classes/Web3+Instance+ObjC.swift | 22 + .../ObjectiveCbridge/Classes/Web3+ObjC.swift | 28 ++ .../ERC20/Web3+ERC20.swift | 207 +++++++++ .../web3swift/Utils/Classes/EIP681.swift | 258 +++++++++++ .../web3swift/Utils/Classes/ENS.swift | 155 +++++++ .../web3swift/Utils/Classes/NameHash.swift | 54 +++ .../Web3/Classes/Web3+Deprecated.swift | 143 ------ .../web3swift/web3swift-Bridging-Header.h | 13 + 45 files changed, 1263 insertions(+), 3722 deletions(-) delete mode 100755 Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/RandomAccessBlockModeWorker.swift create mode 100644 Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit-umbrella.h create mode 100644 Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.modulemap delete mode 100755 Example/web3swiftExample/Pods/Target Support Files/libsodium/Info.plist delete mode 100755 Example/web3swiftExample/Pods/Target Support Files/libsodium/libsodium-dummy.m delete mode 100755 Example/web3swiftExample/Pods/Target Support Files/libsodium/libsodium-umbrella.h delete mode 100755 Example/web3swiftExample/Pods/Target Support Files/libsodium/libsodium.modulemap delete mode 100755 Example/web3swiftExample/Pods/Target Support Files/libsodium/libsodium.xcconfig create mode 100644 Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt-dummy.m create mode 100644 Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt-umbrella.h create mode 100644 Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.modulemap create mode 100644 Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.xcconfig delete mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/ABIDecoder.swift delete mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/ABIEncoder.swift delete mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/ABIRecordParser.swift delete mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/ABITypes.swift delete mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/TypesEncoder.swift create mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/BlockExplorer/Classes/BlockExplorer+GetTransactionHistory.swift create mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/BlockExplorer/Classes/BlockExplorer.swift delete mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+Concurrency.swift delete mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+ConversionOperations.swift delete mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+DataFetchOperation.swift delete mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+EthOperations.swift delete mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+EventOperations.swift delete mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+NativePrimitivesConversionOperations.swift delete mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+PersonalOperations.swift delete mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+TransactionAndBlockDetailsOperations.swift delete mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+TransactionOperations.swift delete mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/Contract/Classes/Contract.swift delete mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/DictionaryLiteralJSONSerializer.swift delete mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/SynchronizedQueue.swift create mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/BigUInt+ObjC.swift create mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/EthereumAddress+ObjC.swift create mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/KeystoreManager+ObjC.swift create mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/PlainKeystore+ObjC.swift create mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/Web3+Eth+ObjC.swift create mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/Web3+HttpProvider+ObjC.swift create mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/Web3+Instance+ObjC.swift create mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/Web3+ObjC.swift create mode 100644 Example/web3swiftExample/Pods/web3swift/web3swift/PrecompiledContracts/ERC20/Web3+ERC20.swift create mode 100644 Example/web3swiftExample/Pods/web3swift/web3swift/Utils/Classes/EIP681.swift create mode 100644 Example/web3swiftExample/Pods/web3swift/web3swift/Utils/Classes/ENS.swift create mode 100644 Example/web3swiftExample/Pods/web3swift/web3swift/Utils/Classes/NameHash.swift delete mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Deprecated.swift create mode 100755 Example/web3swiftExample/Pods/web3swift/web3swift/web3swift-Bridging-Header.h diff --git a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/RandomAccessBlockModeWorker.swift b/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/RandomAccessBlockModeWorker.swift deleted file mode 100755 index aa143295d..000000000 --- a/Example/web3swiftExample/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/RandomAccessBlockModeWorker.swift +++ /dev/null @@ -1,18 +0,0 @@ -// -// CryptoSwift -// -// Copyright (C) 2014-2017 Marcin Krzyżanowski -// This software is provided 'as-is', without any express or implied warranty. -// -// In no event will the authors be held liable for any damages arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: -// -// - The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. -// - Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. -// - This notice may not be removed or altered from any source or binary distribution. -// - -protocol RandomAccessBlockModeWorker: BlockModeWorker { - var counter: UInt { set get } -} diff --git a/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit-umbrella.h b/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit-umbrella.h new file mode 100644 index 000000000..4a0b02de6 --- /dev/null +++ b/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit-umbrella.h @@ -0,0 +1,26 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "fwd.h" +#import "AnyPromise.h" +#import "PromiseKit.h" +#import "NSURLSession+AnyPromise.h" +#import "NSTask+AnyPromise.h" +#import "NSNotificationCenter+AnyPromise.h" +#import "PMKFoundation.h" +#import "PMKUIKit.h" +#import "UIView+AnyPromise.h" +#import "UIViewController+AnyPromise.h" + +FOUNDATION_EXPORT double PromiseKitVersionNumber; +FOUNDATION_EXPORT const unsigned char PromiseKitVersionString[]; + diff --git a/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.modulemap b/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.modulemap new file mode 100644 index 000000000..9ecd09e3d --- /dev/null +++ b/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.modulemap @@ -0,0 +1,6 @@ +module PromiseKit { + umbrella header "PromiseKit-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/web3swiftExample/Pods/Target Support Files/libsodium/Info.plist b/Example/web3swiftExample/Pods/Target Support Files/libsodium/Info.plist deleted file mode 100755 index b8236f13a..000000000 --- a/Example/web3swiftExample/Pods/Target Support Files/libsodium/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.12 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Example/web3swiftExample/Pods/Target Support Files/libsodium/libsodium-dummy.m b/Example/web3swiftExample/Pods/Target Support Files/libsodium/libsodium-dummy.m deleted file mode 100755 index 78b37d3c4..000000000 --- a/Example/web3swiftExample/Pods/Target Support Files/libsodium/libsodium-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_libsodium : NSObject -@end -@implementation PodsDummy_libsodium -@end diff --git a/Example/web3swiftExample/Pods/Target Support Files/libsodium/libsodium-umbrella.h b/Example/web3swiftExample/Pods/Target Support Files/libsodium/libsodium-umbrella.h deleted file mode 100755 index 3890121b7..000000000 --- a/Example/web3swiftExample/Pods/Target Support Files/libsodium/libsodium-umbrella.h +++ /dev/null @@ -1,78 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "core.h" -#import "crypto_aead_aes256gcm.h" -#import "crypto_aead_chacha20poly1305.h" -#import "crypto_aead_xchacha20poly1305.h" -#import "crypto_auth.h" -#import "crypto_auth_hmacsha256.h" -#import "crypto_auth_hmacsha512.h" -#import "crypto_auth_hmacsha512256.h" -#import "crypto_box.h" -#import "crypto_box_curve25519xchacha20poly1305.h" -#import "crypto_box_curve25519xsalsa20poly1305.h" -#import "crypto_core_hchacha20.h" -#import "crypto_core_hsalsa20.h" -#import "crypto_core_salsa20.h" -#import "crypto_core_salsa2012.h" -#import "crypto_core_salsa208.h" -#import "crypto_generichash.h" -#import "crypto_generichash_blake2b.h" -#import "crypto_hash.h" -#import "crypto_hash_sha256.h" -#import "crypto_hash_sha512.h" -#import "crypto_kdf.h" -#import "crypto_kdf_blake2b.h" -#import "crypto_kx.h" -#import "crypto_onetimeauth.h" -#import "crypto_onetimeauth_poly1305.h" -#import "crypto_pwhash.h" -#import "crypto_pwhash_argon2i.h" -#import "crypto_pwhash_scryptsalsa208sha256.h" -#import "crypto_scalarmult.h" -#import "crypto_scalarmult_curve25519.h" -#import "crypto_secretbox.h" -#import "crypto_secretbox_xchacha20poly1305.h" -#import "crypto_secretbox_xsalsa20poly1305.h" -#import "crypto_shorthash.h" -#import "crypto_shorthash_siphash24.h" -#import "crypto_sign.h" -#import "crypto_sign_ed25519.h" -#import "crypto_sign_edwards25519sha512batch.h" -#import "crypto_stream.h" -#import "crypto_stream_aes128ctr.h" -#import "crypto_stream_chacha20.h" -#import "crypto_stream_salsa20.h" -#import "crypto_stream_salsa2012.h" -#import "crypto_stream_salsa208.h" -#import "crypto_stream_xchacha20.h" -#import "crypto_stream_xsalsa20.h" -#import "crypto_verify_16.h" -#import "crypto_verify_32.h" -#import "crypto_verify_64.h" -#import "export.h" -#import "common.h" -#import "curve25519_ref10.h" -#import "mutex.h" -#import "sse2_64_32.h" -#import "randombytes.h" -#import "randombytes_nativeclient.h" -#import "randombytes_salsa20_random.h" -#import "randombytes_sysrandom.h" -#import "runtime.h" -#import "utils.h" -#import "version.h" - -FOUNDATION_EXPORT double libsodiumVersionNumber; -FOUNDATION_EXPORT const unsigned char libsodiumVersionString[]; - diff --git a/Example/web3swiftExample/Pods/Target Support Files/libsodium/libsodium.modulemap b/Example/web3swiftExample/Pods/Target Support Files/libsodium/libsodium.modulemap deleted file mode 100755 index 90782ee65..000000000 --- a/Example/web3swiftExample/Pods/Target Support Files/libsodium/libsodium.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module libsodium { - umbrella header "libsodium-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/web3swiftExample/Pods/Target Support Files/libsodium/libsodium.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/libsodium/libsodium.xcconfig deleted file mode 100755 index 3f4de28c8..000000000 --- a/Example/web3swiftExample/Pods/Target Support Files/libsodium/libsodium.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/libsodium -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/libsodium" "${PODS_ROOT}/Headers/Public" "$(PODS_ROOT)/libsodium/src/libsodium/include/sodium" "$(PODS_ROOT)/libsodium/src/libsodium/include" -OTHER_CFLAGS = $(inherited) -DNATIVE_LITTLE_ENDIAN=1 -DHAVE_MADVISE -DHAVE_MMAP -DHAVE_MPROTECT -DHAVE_POSIX_MEMALIGN -DHAVE_WEAK_SYMBOLS -OTHER_SWIFT_FLAGS = $(inherited) -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/libsodium -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES diff --git a/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt-dummy.m b/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt-dummy.m new file mode 100644 index 000000000..8976dcd72 --- /dev/null +++ b/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_scrypt : NSObject +@end +@implementation PodsDummy_scrypt +@end diff --git a/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt-umbrella.h b/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt-umbrella.h new file mode 100644 index 000000000..5dccb1b3e --- /dev/null +++ b/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt-umbrella.h @@ -0,0 +1,17 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "scrypt.h" + +FOUNDATION_EXPORT double scryptVersionNumber; +FOUNDATION_EXPORT const unsigned char scryptVersionString[]; + diff --git a/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.modulemap b/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.modulemap new file mode 100644 index 000000000..eaa26fa34 --- /dev/null +++ b/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.modulemap @@ -0,0 +1,6 @@ +module scrypt { + umbrella header "scrypt-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.xcconfig new file mode 100644 index 000000000..46b0d7da4 --- /dev/null +++ b/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.xcconfig @@ -0,0 +1,19 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/scrypt +DEFINES_MODULE = YES +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +GCC_UNROLL_LOOPS = YES +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/scrypt" "${PODS_ROOT}/Headers/Public" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/scrypt +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +SWIFT_COMPILATION_MODE = wholemodule +SWIFT_DISABLE_SAFETY_CHECKS = YES +SWIFT_ENFORCE_EXCLUSIVE_ACCESS = compile-time +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" $(PODS_TARGET_SRCROOT)/scrypt +SWIFT_OPTIMIZATION_LEVEL = -O +SWIFT_WHOLE_MODULE_OPTIMIZATION = YES diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/ABIDecoder.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/ABIDecoder.swift deleted file mode 100755 index 0eb0e762a..000000000 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/ABIDecoder.swift +++ /dev/null @@ -1,292 +0,0 @@ -// -// ABIDecoder.swift -// web3swift -// -// Created by Alexander Vlasov on 05.12.2017. -// Copyright © 2017 Alexander Vlasov. All rights reserved. -// - -import Foundation -import BigInt - -extension ABIElement.ParameterType.StaticType { - func decode(expectedType: ABIElement.ParameterType.StaticType, data: Data, tailPointer: BigUInt) -> (bytesConsumed: Int?, value: Any?) { - switch self { - case .uint(let bits): - guard data.count >= 32 else {break} - let dataSlice = Data(data[0..<32]) - let biguint = BigUInt(dataSlice) - guard biguint.bitWidth <= bits else {break} - return (32, biguint) - case .int(let bits): - guard data.count >= 32 else {break} - let dataSlice = Data(data[0..<32]) - let bigint = BigInt.fromTwosComplement(data: dataSlice) - guard bigint.bitWidth <= bits else {break} - return (32, bigint) - case .address: - guard data.count >= 32 else {break} - let dataSlice = Data(data[0..<32]) - guard Data(dataSlice[0..<12]) == Data(count: 12) else {break} - let addressData = Data(dataSlice[12..<32]) - let hexAddress = addressData.toHexString().addHexPrefix().lowercased() - return (32, EthereumAddress(hexAddress)) - case .bool: - guard data.count >= 32 else {break} - let dataSlice = Data(data[0..<32]) - let biguint = BigUInt(dataSlice) - guard biguint.bitWidth == 1 else {break} - return (32, biguint == BigUInt(1)) - case .bytes(let length): - guard data.count <= length else {break} - return (32, data) - case .array(let type, let length): - guard data.count <= length*32 else {break} - var returnArray = [Any]() - var len = 0 - for i in 0.. (bytesConsumed: Int?, value: Any?) { - switch self { - case .bytes: - var totalConsumed = 0 - let pointer = Data(data[0..<32]) - totalConsumed = totalConsumed + 32 - let originalTail = BigUInt(pointer) - let realTail = originalTail - tailPointer - guard realTail >= BigUInt(32) else {break} - guard let sliceStart = Int(String(realTail)) else {break} - let lengthData = Data(data[sliceStart ..< sliceStart+32]) - guard let length = Int(String(BigUInt(lengthData))) else {break} - let realData = Data(data[sliceStart+32 ..< sliceStart+32+length]) - return (totalConsumed, realData) - case .string: - var totalConsumed = 0 - let pointer = Data(data[0..<32]) - totalConsumed = totalConsumed + 32 - let originalTail = BigUInt(pointer) - let realTail = originalTail - tailPointer - if realTail == BigUInt(0) { - return (32, "") - } -// guard realTail >= BigUInt(32) else {break} - guard let sliceStart = Int(String(realTail)) else {break} - let lengthData = Data(data[sliceStart ..< sliceStart+32]) - guard let length = Int(String(BigUInt(lengthData))) else {break} - let realData = Data(data[sliceStart+32 ..< sliceStart+32+length]) - return (totalConsumed, String(data: realData, encoding: .utf8)) - case .dynamicArray(let type): - var totalConsumed = 0 - let pointer = Data(data[0..<32]) - totalConsumed = totalConsumed + 32 - let originalTail = BigUInt(pointer) - let realTail = originalTail - tailPointer - guard realTail >= BigUInt(32) else {break} - guard let sliceStart = Int(String(realTail)) else {break} - let lengthData = Data(data[sliceStart ..< sliceStart+32]) - guard let length = Int(String(BigUInt(lengthData))) else {break} - var returnArray = [Any]() - var len = 0 - for i in 0..= BigUInt(32) else {break} - guard let sliceStart = Int(String(realTail)) else {break} - let lengthData = Data(data[sliceStart ..< sliceStart+32]) - guard let length = Int(String(BigUInt(lengthData))) else {break} - var returnArray = [Any]() - var len = 0 - for i in 0.. [String:Any]? { - switch self { - case .constructor(_): - return nil - case .event(_): - return nil - case .fallback(_): - return nil - case .function(let function): - if (data.count == 0 && function.outputs.count == 1) { - let name = "0" - var value:Any - switch function.outputs[0].type { - case .dynamicABIType(let type) : - value = type.emptyValue - case .staticABIType(let type) : - value = type.emptyValue - } - var returnArray = [String:Any]() - returnArray[name] = value - if function.outputs[0].name != "" { - returnArray[function.outputs[0].name] = value - } - return returnArray - } - guard function.outputs.count*32 <= data.count else {return nil} - var dataForProcessing = data - var tailPointer = BigUInt(0) - var returnArray = [String:Any]() - var i = 0; - for output in function.outputs{ - let expectedType = output.type - switch expectedType { - case .staticABIType(let type): - let decoded = type.decode(expectedType: type, data: dataForProcessing, tailPointer: BigUInt(0)) - guard let value = decoded.value, let consumed = decoded.bytesConsumed else {break} - let name = "\(i)" - returnArray[name] = value - if output.name != "" { - returnArray[output.name] = value - } - i = i + 1 - if dataForProcessing.count >= consumed { - dataForProcessing = Data(dataForProcessing[consumed...]) - tailPointer = tailPointer + BigUInt(consumed) - } else { - return nil - } - case .dynamicABIType(let type): - let decoded = type.decode(expectedType: type, data: dataForProcessing, tailPointer: tailPointer) - guard let value = decoded.value, let consumed = decoded.bytesConsumed else {break} - let name = "\(i)" - returnArray[name] = value - if output.name != "" { - returnArray[output.name] = value - } - i = i + 1 - if dataForProcessing.count >= consumed { - dataForProcessing = Data(dataForProcessing[consumed...]) - tailPointer = tailPointer + BigUInt(consumed) - } else { - return nil - } - } - } - return returnArray - } - } -} - -extension ABIElement { - func decodeReturnedLogs(_ eventLog: EventLog) -> [String:Any]? { - switch self { - case .constructor(_): - return nil - case .event(let event): - if event.anonymous {return nil} - if event.topic != eventLog.topics[0] { - return nil - } - var eventContent = [String: Any]() - eventContent["name"]=event.name - let logs = eventLog.topics - var dataForProcessing = eventLog.data - var tailPointer = BigUInt(0) - if (logs.count == 1 && event.inputs.count > 0) { - return nil - } - for i in 0 ..< event.inputs.count { - let el = event.inputs[i] - if el.indexed { - if (i+1 >= logs.count) { - return nil - } - let elementData = logs[i+1] - let expectedType = el.type - switch expectedType { - case .staticABIType(let type): - let decoded = type.decode(expectedType: type, data: elementData, tailPointer: BigUInt(0)) - guard let value = decoded.value, let _ = decoded.bytesConsumed else {break} - let name = "\(i)" - eventContent[name] = value - if el.name != "" { - eventContent[el.name] = value - } - case .dynamicABIType(let type): - let decoded = type.decode(expectedType: type, data: elementData, tailPointer: BigUInt(0)) - guard let value = decoded.value, let _ = decoded.bytesConsumed else {break} - let name = "\(i)" - eventContent[name] = value - if el.name != "" { - eventContent[el.name] = value - } - } - } else { - let expectedType = el.type - switch expectedType { - case .staticABIType(let type): - let decoded = type.decode(expectedType: type, data: dataForProcessing, tailPointer: BigUInt(0)) - guard let value = decoded.value, let consumed = decoded.bytesConsumed else {break} - let name = "\(i)" - eventContent[name] = value - if el.name != "" { - eventContent[el.name] = value - } - if dataForProcessing.count >= consumed { - dataForProcessing = Data(dataForProcessing[consumed...]) - tailPointer = tailPointer + BigUInt(consumed) - } else { - return nil - } - case .dynamicABIType(let type): - let decoded = type.decode(expectedType: type, data: dataForProcessing, tailPointer: tailPointer) - guard let value = decoded.value, let consumed = decoded.bytesConsumed else {break} - let name = "\(i)" - eventContent[name] = value - if el.name != "" { - eventContent[el.name] = value - } - if dataForProcessing.count >= consumed { - dataForProcessing = Data(dataForProcessing[consumed...]) - tailPointer = tailPointer + BigUInt(consumed) - } else { - return nil - } - } - } - } - return eventContent - case .fallback(_): - return nil - case .function(_): - return nil - } - } -} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/ABIEncoder.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/ABIEncoder.swift deleted file mode 100755 index 6b01caf05..000000000 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/ABIEncoder.swift +++ /dev/null @@ -1,224 +0,0 @@ -// -// ABIEncoder.swift -// web3swift -// -// Created by Alexander Vlasov on 05.12.2017. -// Copyright © 2017 Alexander Vlasov. All rights reserved. -// - -import Foundation -import BigInt - -extension ABIElement.ParameterType { - func encode(_ value: AnyObject) -> Data? { - switch self { - case .staticABIType(let type): - return type.encode(value) - case .dynamicABIType(let type): - return type.encode(value) - } - } - func encode(_ values: [AnyObject]) -> Data? { - switch self { - case .staticABIType(let type): - return type.encode(values) - case .dynamicABIType(let type): - return type.encode(values) - } - } -} - -extension ABIElement.ParameterType.StaticType { - - func encode(_ value: AnyObject) -> Data? { - switch self { - case .uint(_): - if let biguint = value as? BigUInt { - return biguint.abiEncode(bits: 256); - } - if let bigint = value as? BigInt { - return bigint.abiEncode(bits: 256); - } - case .int(_): - if let biguint = value as? BigUInt { - return biguint.abiEncode(bits: 256); - } - if let bigint = value as? BigInt { - return bigint.abiEncode(bits: 256); - } - case .address: - if let string = value as? String { - guard let address = EthereumAddress(string) else {return nil} - let data = address.addressData - return data.setLengthLeft(32) - } else if let address = value as? EthereumAddress { - guard address.isValid else {return nil} - let data = address.addressData - return data.setLengthLeft(32) - } else if let data = value as? Data { - return data.setLengthLeft(32) - } - case .bool: - if let bool = value as? Bool { - if (bool) { - return BigUInt(1).abiEncode(bits: 256) - } else { - return BigUInt(0).abiEncode(bits: 256) - } - } - case .bytes(let length): - if let string = value as? String { - var dataGuess: Data? - if string.hasHexPrefix() { - dataGuess = Data.fromHex(string.lowercased().stripHexPrefix()) - } - else { - dataGuess = string.data(using: .utf8) - } - guard let data = dataGuess else {return nil} - if data.count > length {return nil} - return data.setLengthRight(32) - } else if let addr = value as? EthereumAddress { - guard addr.isValid else {return nil} - let data = addr.addressData - return data.setLengthRight(32) - } else if let data = value as? Data { - return data.setLengthRight(32) - } - default: - return nil - } - return nil - } - - func encode(_ values: [AnyObject]) -> Data? { - switch self { - case let .array(type, length): - if (values.count != length) { - return nil - } - var data = Data() - for value in values { - if let arrayOfValues = value as? [AnyObject] { - guard case .array(let subtype, length: let sublength) = type else {return nil} - guard sublength == arrayOfValues.count else {return nil} - guard let encoded = TypesEncoder.encode(types: Array(repeating: ABIElement.ParameterType.staticABIType(subtype), count: Int(sublength)), parameters: arrayOfValues) else { - return nil - } -// guard let encoded = type.encode(arrayOfValues) else { -// return nil -// } - data.append(encoded) - } else { - guard let encoded = type.encode(value) else { - return nil - } - data.append(encoded) - } - } - return data - default: - return nil - } - } - - -} - -extension ABIElement.ParameterType.DynamicType { - func encode(_ value: AnyObject) -> Data? { - switch self { - case .string: - if let string = value as? String { - guard let data = string.data(using: .utf8) else {return nil} - let lengthToPad = UInt64(ceil(Double(data.count) / 32.0)) * 32 - guard let lengthEncoded = BigUInt(data.count).abiEncode(bits: 256) else {return nil} - guard let paddedData = data.setLengthRight(lengthToPad) else {return nil} - return lengthEncoded + paddedData - } else if let data = value as? Data { - let lengthToPad = UInt64(ceil(Double(data.count) / 32.0)) * 32 - guard let lengthEncoded = BigUInt(data.count).abiEncode(bits: 256) else {return nil} - guard let paddedData = data.setLengthRight(lengthToPad) else {return (nil)} - return lengthEncoded + paddedData - } - return nil - case .bytes: - if let string = value as? String { - var dataGuess: Data? - if string.hasHexPrefix() { - dataGuess = Data.fromHex(string.lowercased().stripHexPrefix()) - } - else { - dataGuess = string.data(using: .utf8) - } - guard let data = dataGuess else {return nil} - let lengthToPad = UInt64(ceil(Double(data.count) / 32.0)) * 32 - guard let lengthEncoded = BigUInt(data.count).abiEncode(bits: 256) else {return nil} - guard let paddedData = data.setLengthRight(lengthToPad) else {return nil} - return lengthEncoded + paddedData - } else if let data = value as? Data { - let lengthToPad = UInt64(ceil(Double(data.count) / 32.0)) * 32 - guard let lengthEncoded = BigUInt(data.count).abiEncode(bits: 256) else {return nil} - guard let paddedData = data.setLengthRight(lengthToPad) else {return (nil)} - return lengthEncoded + paddedData - } - default: - return nil - } - return nil - } - - func encode(_ values: [AnyObject]) -> Data? { - switch self { - case let .dynamicArray(type): - var data = Data() - for value in values { - guard let encoded = type.encode(value) else {return nil} - data.append(encoded) - } - let length = values.count - guard let encodedLen = BigUInt(length).abiEncode(bits: 256) else {return nil} - return encodedLen + data - case let .arrayOfDynamicTypes(type, length: length): - let typesArray = Array(repeating: ABIElement.ParameterType.dynamicABIType(type), count: Int(length)) - guard let data = TypesEncoder.encode(types: typesArray, parameters: values) else {return nil} - return data -// var data = Data() -// for value in values { -// guard let encoded = type.encode(value) else {return nil} -// data.append(encoded) -// } -// guard let encodedLen = BigUInt(length).abiEncode(bits: 256) else {return nil} -// return encodedLen + data - default: - return nil - } - } -} - -extension ABIElement { - func encodeParameters(_ parameters: [AnyObject]) -> Data? { - switch self { - case .constructor(let constructor): - guard parameters.count == constructor.inputs.count else {return nil} - let allTypes = constructor.inputs.compactMap({ (input) -> ABIElement.ParameterType in - return input.type - }) - guard let data = TypesEncoder.encode(types: allTypes, parameters: parameters) else {return nil} - return data - case .event(_): - return nil - case .fallback(_): - return nil - case .function(let function): - guard parameters.count == function.inputs.count else {return nil} - let allTypes = function.inputs.compactMap({ (input) -> ABIElement.ParameterType in - return input.type - }) - let signature = function.methodEncoding - guard let data = TypesEncoder.encode(types: allTypes, parameters: parameters) else {return nil} - return signature + data - } - } -} - diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/ABIRecordParser.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/ABIRecordParser.swift deleted file mode 100755 index f23715753..000000000 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/ABIRecordParser.swift +++ /dev/null @@ -1,398 +0,0 @@ -// -// ABIRecordParser.swift -// web3swift -// -// Created by Alexander Vlasov on 06.12.2017. -// Copyright © 2017 Bankex Foundation. All rights reserved. -// - -import Foundation - -//fileprivate typealias ParameterType = ABIElement.ParameterType - -public enum ParsingError: Error { - case invalidJsonFile - case elementTypeInvalid - case elementNameInvalid - case functionInputInvalid - case functionOutputInvalid - case eventInputInvalid - case parameterTypeInvalid - case parameterTypeNotFound - case abiInvalid -} - -enum TypeMatchingExpressions { -// static var typeRegex = "^(?[^0-9\\s]*?)(?[1-9][0-9]*)?$" - static var typeRegex = "^([^0-9\\s]*?)([1-9][0-9]*)?$" -// static var arrayRegex = "^(?[^0-9\\s]*?)(?[1-9][0-9]*)?\\[(?[1-9][0-9]*)?\\]$" - static var arrayRegex = "^([^0-9\\s]*?)([1-9][0-9]*)?(\\[([1-9][0-9]*)?\\])*?$" -} - - -fileprivate enum ElementType: String { - case function - case constructor - case fallback - case event -} - - - -extension ABIRecord { - public func parse() throws -> ABIElement { - let typeString = self.type != nil ? self.type! : "function" - guard let type = ElementType(rawValue: typeString) else { - throw ParsingError.elementTypeInvalid - } - return try parseToElement(from: self, type: type) - } -} - -fileprivate func parseToElement(from abiRecord: ABIRecord, type: ElementType) throws -> ABIElement { - switch type { - case .function: - let function = try parseFunction(abiRecord: abiRecord) - return ABIElement.function(function) - case .constructor: - let constructor = try parseConstructor(abiRecord: abiRecord) - return ABIElement.constructor(constructor) - case .fallback: - let fallback = try parseFallback(abiRecord: abiRecord) - return ABIElement.fallback(fallback) - case .event: - let event = try parseEvent(abiRecord: abiRecord) - return ABIElement.event(event) - } -} - -fileprivate func parseFunction(abiRecord:ABIRecord) throws -> ABIElement.Function { - let inputs = try abiRecord.inputs?.map({ (input:ABIInput) throws -> ABIElement.Function.Input in - let name = input.name != nil ? input.name! : "" - let parameterType = try parseType(from: input.type) - let nativeInput = ABIElement.Function.Input(name: name, type: parameterType) - return nativeInput - }) - let abiInputs = inputs != nil ? inputs! : [ABIElement.Function.Input]() - let outputs = try abiRecord.outputs?.map({ (output:ABIOutput) throws -> ABIElement.Function.Output in - let name = output.name != nil ? output.name! : "" - let parameterType = try parseType(from: output.type) - let nativeOutput = ABIElement.Function.Output(name: name, type: parameterType) - return nativeOutput - }) - let abiOutputs = outputs != nil ? outputs! : [ABIElement.Function.Output]() - let name = abiRecord.name != nil ? abiRecord.name! : "" - let payable = abiRecord.stateMutability != nil ? - (abiRecord.stateMutability == "payable" || abiRecord.payable!) : false - let constant = (abiRecord.constant! || abiRecord.stateMutability == "view" || abiRecord.stateMutability == "pure") - let functionElement = ABIElement.Function(name: name, inputs: abiInputs, outputs: abiOutputs, constant: constant, payable: payable) - return functionElement -} - -fileprivate func parseFallback(abiRecord:ABIRecord) throws -> ABIElement.Fallback { - let payable = (abiRecord.stateMutability == "payable" || abiRecord.payable!) - var constant = false - if (abiRecord.constant != nil) { - constant = abiRecord.constant! - } - if (abiRecord.stateMutability == "view" || abiRecord.stateMutability == "pure") { - constant = true - } - let functionElement = ABIElement.Fallback(constant: constant, payable: payable) - return functionElement -} - -fileprivate func parseConstructor(abiRecord:ABIRecord) throws -> ABIElement.Constructor { - let inputs = try abiRecord.inputs?.map({ (input:ABIInput) throws -> ABIElement.Function.Input in - let name = input.name != nil ? input.name! : "" - let parameterType = try parseType(from: input.type) - let nativeInput = ABIElement.Function.Input(name: name, type: parameterType) - return nativeInput - }) - let abiInputs = inputs != nil ? inputs! : [ABIElement.Function.Input]() - var payable = false - if (abiRecord.payable != nil) { - payable = abiRecord.payable! - } - if (abiRecord.stateMutability == "payable") { - payable = true - } - let constant = false - let functionElement = ABIElement.Constructor(inputs: abiInputs, constant: constant, payable: payable) - return functionElement -} - -fileprivate func parseEvent(abiRecord:ABIRecord) throws -> ABIElement.Event { - let inputs = try abiRecord.inputs?.map({ (input:ABIInput) throws -> ABIElement.Event.Input in - let name = input.name != nil ? input.name! : "" - let parameterType = try parseType(from: input.type) - let indexed = input.indexed != nil ? input.indexed! : false - let nativeInput = ABIElement.Event.Input(name: name, type: parameterType, indexed: indexed) - return nativeInput - }) - let abiInputs = inputs != nil ? inputs! : [ABIElement.Event.Input]() - let name = abiRecord.name != nil ? abiRecord.name! : "" - let anonymous = abiRecord.anonymous != nil ? abiRecord.anonymous! : false - let functionElement = ABIElement.Event(name: name, inputs: abiInputs, anonymous: anonymous) - return functionElement -} - -extension ABIInput { - func parse() throws -> ABIElement.Function.Input{ - let name = self.name != nil ? self.name! : "" - let paramType = try parseType(from: self.type) - return ABIElement.Function.Input(name:name, type: paramType) - } - - func parseForEvent() throws -> ABIElement.Event.Input{ - let name = self.name != nil ? self.name! : "" - let paramType = try parseType(from: self.type) - let indexed = self.indexed != nil ? self.indexed! : false - return ABIElement.Event.Input(name:name, type: paramType, indexed: indexed) - } -} - -public struct ABITypeParser { - public static func parseTypeString(_ string:String) throws -> ABIElement.ParameterType { - return try parseType(from: string) - } -} - -fileprivate func parseType(from string: String) throws -> ABIElement.ParameterType { - let possibleType = try typeMatch(from: string) ?? arrayMatch(from: string) - guard let foundType = possibleType else { - throw ParsingError.parameterTypeInvalid - } - guard foundType.isValid else { - throw ParsingError.parameterTypeInvalid - } - return foundType -} - -/// Types that are "atomic" can be matched exactly to these strings -fileprivate enum ExactMatchParameterType: String { - // Static Types - case address - case uint - case int - case bool - case function - - // Dynamic Types - case bytes - case string -} - -fileprivate func exactMatchType(from string: String, length:UInt64? = nil, staticArrayLength:UInt64? = nil) -> ABIElement.ParameterType? { - // Check all the exact matches by trying to create a ParameterTypeKey from it. - switch ExactMatchParameterType(rawValue: string) { - - // Static Types - case .address?: - return .staticABIType(.address) - case .uint?: - return .staticABIType(.uint(bits: length != nil ? UInt64(length!) : 256)) - case .int?: - return .staticABIType(.int(bits: length != nil ? UInt64(length!) : 256)) - case .bool?: - return .staticABIType(.bool) -// case .function?: -// return .staticABIType(.function) - - // Dynamic Types - case .bytes?: - if (length != nil) { return .staticABIType(.bytes(length: UInt64(length!))) } - return .dynamicABIType(.bytes) - case .string?: - return .dynamicABIType(.string) - default: - guard let arrayLen = staticArrayLength else {return nil} - guard let baseType = exactMatchType(from: string, length: length) else {return nil} - switch baseType{ - case .staticABIType(let unwrappedType): - if (staticArrayLength == 0) { - return .dynamicABIType(.dynamicArray(unwrappedType)) - } - return .staticABIType(.array(unwrappedType, length: UInt64(arrayLen))) - case .dynamicABIType(let unwrappedType): - if (staticArrayLength == 0) { - return .dynamicABIType(.arrayOfDynamicTypes(unwrappedType, length: UInt64(arrayLen))) - } - return nil - } - } -} - -//fileprivate func typeMatch(from string: String) throws -> ABIElement.ParameterType?{ -// let matcher = try NSRegularExpression(pattern: TypeMatchingExpressions.typeRegex, options: NSRegularExpression.Options.dotMatchesLineSeparators) -// let match = matcher.captureGroups(string: string, options: NSRegularExpression.MatchingOptions.anchored) -// guard let typeString = match["type"] else {return nil} -// guard let type = exactMatchType(from: typeString) else {return nil} -// if (match.keys.contains("typeLength")) { -// guard let typeLength = Int(match["typeLength"]!) else {throw ParsingError.parameterTypeInvalid} -// guard let canonicalType = exactMatchType(from: typeString, length: typeLength) else {throw ParsingError.parameterTypeInvalid} -// return canonicalType -// } -// return type -//} - -fileprivate func typeMatch(from string: String) throws -> ABIElement.ParameterType? { - let matcher = try NSRegularExpression(pattern: TypeMatchingExpressions.typeRegex, options: NSRegularExpression.Options.dotMatchesLineSeparators) - let match = matcher.matches(in: string, options: NSRegularExpression.MatchingOptions.anchored, range: string.fullNSRange) - guard match.count == 1 else {return nil} - guard match[0].numberOfRanges == 3 else {return nil} - let typeString = String(string[Range(match[0].range(at: 1), in: string)!]) - guard let type = exactMatchType(from: typeString) else {return nil} - guard let typeRange = Range(match[0].range(at: 2), in: string) else {return type} - let typeLengthString = String(string[typeRange]) - guard let typeLength = UInt64(typeLengthString) else {throw ParsingError.parameterTypeInvalid} - guard let canonicalType = exactMatchType(from: typeString, length: typeLength) else {throw ParsingError.parameterTypeInvalid} - return canonicalType -} - - -//fileprivate func arrayMatch(from string: String) throws -> ABIElement.ParameterType?{ -// let matcher = try NSRegularExpression(pattern: TypeMatchingExpressions.arrayRegex, options: []) -// let match = matcher.captureGroups(string: string, options: NSRegularExpression.MatchingOptions.anchored) -// if match.keys.contains("arrayLength") { -// guard let typeString = match["type"] else {return nil} -// guard let arrayLength = Int(match["arrayLength"]!) else {throw ParsingError.parameterTypeInvalid} -// guard var type = exactMatchType(from: typeString, staticArrayLength: arrayLength) else {return nil} -// guard case .staticABIType(_) = type else {throw ParsingError.parameterTypeInvalid} -// if (match.keys.contains("typeLength")) { -// guard let typeLength = Int(match["typeLength"]!) else {throw ParsingError.parameterTypeInvalid} -// guard let canonicalType = exactMatchType(from: typeString, length: typeLength, staticArrayLength: arrayLength) else {throw ParsingError.parameterTypeInvalid} -// type = canonicalType -// } -// return type -// } else { -// guard let typeString = match["type"] else {return nil} -// var typeLength: Int? = nil -// if let typeLengthString = match["typeLength"] { -// typeLength = Int(typeLengthString) -// } -// guard var type = exactMatchType(from: typeString, length: typeLength, staticArrayLength: 0) else {throw ParsingError.parameterTypeInvalid} -// guard case .staticABIType(_) = type else {return nil} -// if (match.keys.contains("typeLength")) { -// guard let typeLength = Int(match["typeLength"]!) else {throw ParsingError.parameterTypeInvalid} -// guard let canonicalType = exactMatchType(from: typeString, length: typeLength, staticArrayLength: 0) else {throw ParsingError.parameterTypeInvalid} -// type = canonicalType -// } -// return type -// } - - fileprivate func arrayMatch(from string: String) throws -> ABIElement.ParameterType?{ - let matcher = try NSRegularExpression(pattern: TypeMatchingExpressions.arrayRegex, options: NSRegularExpression.Options.dotMatchesLineSeparators) - let match = matcher.matches(in: string, options: NSRegularExpression.MatchingOptions.anchored, range: string.fullNSRange) - guard match.count == 1 else {return nil} - guard match[0].numberOfRanges >= 4 else {return nil} - var arrayOfRanges = [NSRange]() - var totallyIsDynamic = false - for i in 3 ..< match[0].numberOfRanges { - let t = Range(match[0].range(at: i), in: string) - if (t == nil && i > 3) { - continue - } - guard let arrayRange = t else { - throw ParsingError.parameterTypeInvalid - } - let arraySizeString = String(string[arrayRange]) - arrayOfRanges.append(match[0].range(at: i)) - if (arraySizeString.trimmingCharacters(in: CharacterSet(charactersIn: "[]")) == "") { - if (totallyIsDynamic == false) { - totallyIsDynamic = true // one level of dynamicity - } else { - throw ParsingError.parameterTypeInvalid // nested dynamic arrays are not allowed (yet) - } - } - } - if (!totallyIsDynamic) { // all arrays are static - guard let typeRange = Range(match[0].range(at: 1), in: string) else {return nil} - let typeString = String(string[typeRange]) - guard var type = exactMatchType(from: typeString) else {return nil} - let typeLengthRange = Range(match[0].range(at: 2), in: string) - if (typeLengthRange != nil) { - let typeLengthString = String(string[typeLengthRange!]) - guard let typeLength = UInt64(typeLengthString) else {throw ParsingError.parameterTypeInvalid} - guard let canonicalType = exactMatchType(from: typeString, length: typeLength) else {throw ParsingError.parameterTypeInvalid} - type = canonicalType - } - switch type { - case .staticABIType(let unwrappedType): // all arrays are static and type is static, so we return static variable - var finalStaticSubtype: ABIElement.ParameterType.StaticType? = nil - for range in arrayOfRanges { - guard let r = Range(range, in: string) else {return nil} - let arraySizeString = String(string[r]) - guard let arraySize = UInt64(arraySizeString.trimmingCharacters(in: CharacterSet(charactersIn: "[]"))) else {throw ParsingError.parameterTypeInvalid} - if (finalStaticSubtype == nil) { - let subtype = ABIElement.ParameterType.StaticType.array(unwrappedType, length: arraySize) - finalStaticSubtype = subtype - } else { - let subtype = ABIElement.ParameterType.StaticType.array(finalStaticSubtype!, length: arraySize) - finalStaticSubtype = subtype - } - guard finalStaticSubtype != nil else {throw ParsingError.parameterTypeInvalid} - return ABIElement.ParameterType.staticABIType(finalStaticSubtype!) - } - case .dynamicABIType(let unwrappedType): // all arrays are static but type is dynamic, so we return dynamic - var finalDynamicSubtype: ABIElement.ParameterType.DynamicType? = nil - for range in arrayOfRanges { - guard let r = Range(range, in: string) else {return nil} - let arraySizeString = String(string[r]) - guard let arraySize = UInt64(arraySizeString.trimmingCharacters(in: CharacterSet(charactersIn: "[]"))) else {throw ParsingError.parameterTypeInvalid} - if (finalDynamicSubtype == nil) { - let subtype = ABIElement.ParameterType.DynamicType.arrayOfDynamicTypes(unwrappedType, length: arraySize) - finalDynamicSubtype = subtype - } else { - let subtype = ABIElement.ParameterType.DynamicType.arrayOfDynamicTypes(finalDynamicSubtype!, length: arraySize) - finalDynamicSubtype = subtype - } - guard finalDynamicSubtype != nil else {throw ParsingError.parameterTypeInvalid} - return ABIElement.ParameterType.dynamicABIType(finalDynamicSubtype!) - } - } - } else { // one of the arrays is dynamic - guard let typeRange = Range(match[0].range(at: 1), in: string) else {return nil} - let typeString = String(string[typeRange]) - guard var type = exactMatchType(from: typeString) else {return nil} - let typeLengthRange = Range(match[0].range(at: 2), in: string) - if (typeLengthRange != nil) { - let typeLengthString = String(string[typeLengthRange!]) - guard let typeLength = UInt64(typeLengthString) else {throw ParsingError.parameterTypeInvalid} - guard let canonicalType = exactMatchType(from: typeString, length: typeLength) else {throw ParsingError.parameterTypeInvalid} - type = canonicalType - } - switch type { - case .staticABIType(let unwrappedType): // array is dynamic and type is static, so we return dynamic - var finalDynamicSubtype: ABIElement.ParameterType.DynamicType? = nil - var tempStaticSubtype: ABIElement.ParameterType.StaticType = unwrappedType - for range in arrayOfRanges { - guard let r = Range(range, in: string) else {return nil} - let arraySizeString = String(string[r]).trimmingCharacters(in: CharacterSet(charactersIn: "[]")) - if (arraySizeString == "") { - if (finalDynamicSubtype == nil) { // current depth is dynamic, although we didn't yet start wrapping the static type in arrays - let subtype = ABIElement.ParameterType.DynamicType.dynamicArray(tempStaticSubtype) - finalDynamicSubtype = subtype - } else { // current depth is dynamic and previous one is already dynamic, so throw - throw ParsingError.parameterTypeInvalid - } - } else { - guard let arraySize = UInt64(arraySizeString) else {throw ParsingError.parameterTypeInvalid} - if (finalDynamicSubtype == nil) { // array size is static and we didn't yet start wrapping static type, so wrap in static - let subtype = ABIElement.ParameterType.StaticType.array(tempStaticSubtype, length: arraySize) - tempStaticSubtype = subtype - } else { // current depth is static, but we have at least ones wrapped in dynamic, so it's statically sized array of dynamic variables - let subtype = ABIElement.ParameterType.DynamicType.arrayOfDynamicTypes(finalDynamicSubtype!, length: arraySize) - finalDynamicSubtype = subtype - } - } - guard finalDynamicSubtype != nil else {throw ParsingError.parameterTypeInvalid} - return ABIElement.ParameterType.dynamicABIType(finalDynamicSubtype!) - } - case .dynamicABIType(_): // variable is dynamic and array is dynamic, not yet allowed - throw ParsingError.parameterTypeInvalid - } - } - throw ParsingError.parameterTypeInvalid -} - diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/ABITypes.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/ABITypes.swift deleted file mode 100755 index 380162a15..000000000 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/ABITypes.swift +++ /dev/null @@ -1,427 +0,0 @@ -// -// ABITpees.swift -// web3swift -// -// Created by Alexander Vlasov on 06.12.2017. -// Copyright © 2017 Bankex Foundation. All rights reserved. -// - -import Foundation -import BigInt - -// JSON Decoding -public struct ABIInput: Decodable { - var name: String? - var type: String - var indexed: Bool? -} - -public struct ABIOutput: Decodable { - var name: String? - var type: String -} - -public struct ABIRecord: Decodable { - var name: String? - var type: String? - var payable: Bool? - var constant: Bool? - var stateMutability: String? - var inputs: [ABIInput]? - var outputs: [ABIOutput]? - var anonymous: Bool? -} - -public struct EventLogJSON { - -} - -// Native parsing - -protocol AbiValidating { - var isValid: Bool { get } -} - -protocol ABIElementPropertiesProtocol { - var isArray: Bool {get} - var arraySize: ABIElement.ArraySize {get} - var subtype: ABIElement.ParameterType? {get} - var memoryUsage: UInt64 {get} - var emptyValue: Any {get} -} - -public enum ABIElement { - - enum ArraySize { //bytes for convenience - case staticSize(UInt64) - case dynamicSize - case notArray - } - - case function(Function) - case constructor(Constructor) - case fallback(Fallback) - case event(Event) - - public struct Function { - let name: String? - let inputs: [Input] - let outputs: [Output] - let constant: Bool - let payable: Bool - struct Output { - let name: String - let type: ParameterType - } - - struct Input { - let name: String - let type: ParameterType - } - } - - public struct Constructor { - let inputs: [Function.Input] - let constant: Bool - let payable: Bool - } - - public struct Fallback { - let constant: Bool - let payable: Bool - } - - public struct Event { - let name: String - let inputs: [Input] - let anonymous: Bool - - struct Input { - let name: String - let type: ParameterType - let indexed: Bool - } - } - - /// Specifies the type that parameters in a contract have. - public enum ParameterType { - case dynamicABIType(DynamicType) - case staticABIType(StaticType) - - /// Denotes any type that has a fixed length. - public enum StaticType:ABIElementPropertiesProtocol { - var isArray: Bool { - switch self { - case .array(_, length: _): - return true - default: - return false - } - } - - var arraySize: ABIElement.ArraySize { - switch self { - case .array(_, length: let length): - return ABIElement.ArraySize.staticSize(length) - default: - return ABIElement.ArraySize.notArray - } - } - - var subtype: ABIElement.ParameterType? { - switch self { - case .array(let type, length: _): - return ParameterType.staticABIType(type) - default: - return nil - } - } - - var memoryUsage: UInt64 { - switch self { - case .array(_, length: let length): - return 32*length - default: - return 32 - } - } - - var emptyValue: Any { - switch self { - case .uint(bits: _): - return BigUInt(0) - case .int(bits: _): - return BigUInt(0) - case .address: - return EthereumAddress("0x0000000000000000000000000000000000000000")! - case .bool: - return false - case .bytes(length: _): - return Data() - case .array(_, length: _): - return [StaticType]() - } - } - - /// uint: unsigned integer type of M bits, 0 < M <= 256, M % 8 == 0. e.g. uint32, uint8, uint256. - case uint(bits: UInt64) - /// int: two's complement signed integer type of M bits, 0 < M <= 256, M % 8 == 0. - case int(bits: UInt64) - /// address: equivalent to uint160, except for the assumed interpretation and language typing. - case address - /// bool: equivalent to uint8 restricted to the values 0 and 1 - case bool - /// bytes: binary type of M bytes, 0 < M <= 32. - case bytes(length: UInt64) - /// function: equivalent to bytes24: an address, followed by a function selector -// case function - /// [M]: a fixed-length array of the given fixed-length type. - indirect case array(StaticType, length: UInt64) - - // The specification also defines the following types: - // uint, int: synonyms for uint256, int256 respectively (not to be used for computing the function selector). - // We do not include these in this enum, as we will just be mapping those - // to .uint(bits: 256) and .int(bits: 256) directly. - } - - /// Denotes any type that has a variable length. - public enum DynamicType { - var isArray: Bool { - switch self { - case .dynamicArray(_): - return true - case .arrayOfDynamicTypes(length: _): - return true - default: - return false - } - } - - var arraySize: ABIElement.ArraySize { - switch self { - case .dynamicArray(_): - return ABIElement.ArraySize.dynamicSize - case .arrayOfDynamicTypes(_, length: let length): - return ABIElement.ArraySize.staticSize(length) - default: - return ABIElement.ArraySize.notArray - } - } - - var subtype: ABIElement.ParameterType? { - switch self { - case .dynamicArray(let type): - return ParameterType.staticABIType(type) - case .arrayOfDynamicTypes(let type, length: _): - return ParameterType.dynamicABIType(type) - default: - return nil - } - } - - var memoryUsage: UInt64 { - switch self { -// case .dynamicArray(_): -// return 32 -// case .arrayOfDynamicTypes(_, length: _): -// return 32 - default: - return 32 - } - } - - var emptyValue: Any { - switch self { - case .bytes: - return Data() - case .string: - return "" - case .arrayOfDynamicTypes(_, length: _): - return [DynamicType]() - case .dynamicArray(_): - return [StaticType]() - } - } - - /// bytes: dynamic sized byte sequence. - case bytes - /// string: dynamic sized unicode string assumed to be UTF-8 encoded. - case string - /// []: a variable-length array of the given fixed-length type. - case dynamicArray(StaticType) - /// fixed length array of dynamic types is considered as dynamic type. - indirect case arrayOfDynamicTypes(DynamicType, length: UInt64) - } - } -} - -// MARK: - DynamicType Equatable -extension ABIElement.ParameterType.DynamicType: Equatable { - public static func ==(lhs: ABIElement.ParameterType.DynamicType, rhs: ABIElement.ParameterType.DynamicType) -> Bool { - switch (lhs, rhs) { - case (.bytes, .bytes): - return true - case (.string, .string): - return true - case (.dynamicArray(let value1), .dynamicArray(let value2)): - return value1 == value2 - case (.arrayOfDynamicTypes(let type1, let len1), .arrayOfDynamicTypes(let type2, let len2)): - return type1 == type2 && len1 == len2 - default: - return false - } - } -} - -// MARK: - ParameterType Equatable -extension ABIElement.ParameterType: Equatable { - public static func ==(lhs: ABIElement.ParameterType, rhs: ABIElement.ParameterType) -> Bool { - switch (lhs, rhs) { - case (.dynamicABIType(let value1), .dynamicABIType(let value2)): - return value1 == value2 - case (.staticABIType(let value1), .staticABIType(let value2)): - return value1 == value2 - default: - return false - } - } -} - -// MARK: - StaticType Equatable -extension ABIElement.ParameterType.StaticType: Equatable { - public static func ==(lhs: ABIElement.ParameterType.StaticType, rhs: ABIElement.ParameterType.StaticType) -> Bool { - switch (lhs, rhs) { - case let (.uint(length1), .uint(length2)): - return length1 == length2 - case let (.int(length1), .int(length2)): - return length1 == length2 - case (.address, .address): - return true - case (.bool, .bool): - return true - case let (.bytes(length1), .bytes(length2)): - return length1 == length2 -// case (.function, .function): -// return true - case let (.array(type1, length1), .array(type2, length2)): - return type1 == type2 && length1 == length2 - default: - return false - } - } -} - -// MARK: - ParameterType Validity -extension ABIElement.ParameterType: AbiValidating { - public var isValid: Bool { - switch self { - case .staticABIType(let type): - return type.isValid - case .dynamicABIType(let type): - return type.isValid - } - } -} - -// MARK: - ParameterType.StaticType Validity -extension ABIElement.ParameterType.StaticType: AbiValidating { - public var isValid: Bool { - switch self { - case .uint(let bits), .int(let bits): - return bits > 0 && bits <= 256 && bits % 8 == 0 - case .bytes(let length): - return length > 0 && length <= 32 - case let .array(type, _): - return type.isValid - default: - return true - } - } -} - -// MARK: - ParameterType.DynamicType Validity -extension ABIElement.ParameterType.DynamicType: AbiValidating { - public var isValid: Bool { - // Right now we cannot create invalid dynamic types. - return true - } -} - -// MARK: - Method ID for Contract -extension ABIElement.Function { - public var signature: String { - return "\(name ?? "")(\(inputs.map { $0.type.abiRepresentation }.joined(separator: ",")))" - } - - public var methodString: String { - return String(signature.sha3(.keccak256).prefix(8)) - } - - public var methodEncoding: Data { - return signature.data(using: .ascii)!.sha3(.keccak256)[0...3] - } -} - -// MARK: - Event topic -extension ABIElement.Event { - public var signature: String { - return "\(name)(\(inputs.map { $0.type.abiRepresentation }.joined(separator: ",")))" - } - - public var topic: Data { - return signature.data(using: .ascii)!.sha3(.keccak256) - } -} - -protocol AbiEncoding { - var abiRepresentation: String { get } -} - - -extension ABIElement.ParameterType: AbiEncoding { - public var abiRepresentation: String { - switch self { - case .staticABIType(let type): - return type.abiRepresentation - case .dynamicABIType(let type): - return type.abiRepresentation - } - } -} - -extension ABIElement.ParameterType.StaticType: AbiEncoding { - public var abiRepresentation: String { - switch self { - case .uint(let bits): - return "uint\(bits)" - case .int(let bits): - return "int\(bits)" - case .address: - return "address" - case .bool: - return "bool" - case .bytes(let length): - return "bytes\(length)" -// case .function: -// return "function" - case let .array(type, length): - return "\(type.abiRepresentation)[\(length)]" - } - } -} - -extension ABIElement.ParameterType.DynamicType: AbiEncoding { - public var abiRepresentation: String { - switch self { - case .bytes: - return "bytes" - case .string: - return "string" - case .dynamicArray(let type): - return "\(type.abiRepresentation)[]" - case .arrayOfDynamicTypes(let type, let length): - return "\(type.abiRepresentation)[\(length)]" - } - } -} - diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/TypesEncoder.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/TypesEncoder.swift deleted file mode 100755 index 6c506d2fc..000000000 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/TypesEncoder.swift +++ /dev/null @@ -1,55 +0,0 @@ -// -// TypesEncoder.swift -// web3swift -// -// Created by Alexander Vlasov on 01.03.2018. -// Copyright © 2018 Bankex Foundation. All rights reserved. -// - -import Foundation -import BigInt - -public struct TypesEncoder { - -} - -extension TypesEncoder { - public static func encode(types: [ABIElement.ParameterType], parameters: [AnyObject]) -> Data? { - guard types.count == parameters.count else {return nil} - var head = Data() - var tail = Data() -// let headExpectedLength = 32*parameters.count - var tailPointer = BigUInt(32)*BigUInt(types.count) - - for index in 0.. 0 else { - return nil - } - switch input { - case .dynamicABIType(let type): -// print("Dynamic encoding for data length of " + String(encodedParameter.count)) - guard let pointer = tailPointer.abiEncode(bits: 256) else {return nil} - head.append(pointer) - tail.append(encodedParameter) - tailPointer = tailPointer + BigUInt(encodedParameter.count) - case .staticABIType(let type): -// print("Static encoding for data length of " + String(encodedParameter.count)) - head.append(encodedParameter) - } - } - //TODO find another way -// guard head.count == headExpectedLength else {return nil} - head.append(tail) - return head - } -} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/BlockExplorer/Classes/BlockExplorer+GetTransactionHistory.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/BlockExplorer/Classes/BlockExplorer+GetTransactionHistory.swift new file mode 100755 index 000000000..ea373d36e --- /dev/null +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/BlockExplorer/Classes/BlockExplorer+GetTransactionHistory.swift @@ -0,0 +1,244 @@ +// +// BlockExporter+GetTransactionHistory.swift +// web3swift-iOS +// +// Created by Георгий Фесенко on 19/06/2018. +// Copyright © 2018 Bankex Foundation. All rights reserved. +// + +import Foundation +import PromiseKit +import BigInt + +@available(*, deprecated) +extension BlockExplorer { + public func getTransactionHistory(address: EthereumAddress, tokenName name: String = "Ether", page: Int = 1, size: Int = 50) -> Promise<[TransactionHistoryRecord]> { + let address = address.address + return getTransactionsHistory(address: address, tokenName: name, page: page, size: size) + } + + public func getTransactionsHistory(address publicAddress: String, tokenName name: String = "Ether", page: Int = 1, size: Int = 50) -> Promise<[TransactionHistoryRecord]> { + + //Configuring http request + let listId: ListId = (name == "Ether") ? .listOfETH : .listOfTokens + let url = URL(string: urlStringList)! + var request = URLRequest(url: url) + request.httpMethod = "POST" + let internalParams = InternalParam(entityId: publicAddress, page: page, size: size) + let parameters = Body(listId: listId.rawValue, moduleId: "address", params: internalParams) + + return Promise<[TransactionHistoryRecord]> {seal in + do { + request.httpBody = try JSONEncoder().encode(parameters) + } catch { + seal.reject(error) + } + //Performing the request + let task = URLSession.shared.dataTask(with: request, completionHandler: { (data, response, error) in + if let error = error { seal.reject(error); return } + guard let data = data else { return } + + do { + //Parsing JSON + let jsonResponce = try JSONDecoder().decode(Response.self, from: data) + if listId == .listOfETH { + seal.fulfill(jsonResponce.rows) + } else { + seal.fulfill( jsonResponce.rows.filter { $0.token.name == name } ) + } + } catch { + seal.reject(error) + } + }) + task.resume() + } + } +} + +//MARK: - Decodable structures + +public struct Response: Decodable { + let rows: [TransactionHistoryRecord] + let head: Head +} + +public struct TransactionHistoryRecord: Decodable { + + public let id: String + public let hash: Data + public let block: BigUInt + public let addressFrom: EthereumAddress + public let addressTo: EthereumAddress + public let isoTime: String + public let type: TransactionType + public let status: TransactionStatus + public let error: String + public let isContract: Bool + public let isInner: Bool + public let value: BigUInt // in wei + public let token: Token + public let txFee: BigUInt // in wei + public let gasUsed: BigUInt // in wei + public let gasCost: BigUInt // in wei + + public init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + id = try container.decode(String.self, forKey: CodingKeys.id) + let hashString = try container.decode(String.self, forKey: CodingKeys.hash) + guard let hashData = Data.fromHex(hashString) else { + throw Web3Error.transactionSerializationError + } + hash = hashData + let intBlock = try container.decode(UInt64.self, forKey: CodingKeys.block) + block = BigUInt.init(integerLiteral: intBlock) + var stringAddressFrom = try container.decode(String.self, forKey: CodingKeys.addressFrom) + if !stringAddressFrom.hasHexPrefix() { + stringAddressFrom = stringAddressFrom.addHexPrefix() + } + guard let nativeAddressFrom = EthereumAddress(stringAddressFrom) else { + throw Web3Error.transactionSerializationError + } + addressFrom = nativeAddressFrom + var stringAddressTo = try container.decode(String.self, forKey: CodingKeys.addressTo) + if !stringAddressTo.hasHexPrefix() { + stringAddressTo = stringAddressTo.addHexPrefix() + } + guard let nativeAddressTo = EthereumAddress(stringAddressTo) else { + throw Web3Error.transactionSerializationError + } + addressTo = nativeAddressTo + isoTime = try container.decode(String.self, forKey: CodingKeys.isoTime) + let stringType = try container.decode(String.self, forKey: CodingKeys.type) + var nativeType: TransactionType + switch stringType { + case "tx": + nativeType = .tx + case "call": + nativeType = .call + case "create": + nativeType = .create + case "suicide": + nativeType = .suicide + case "token": + nativeType = .token + default: + nativeType = .tx + } + type = nativeType + + let intStatus = try container.decode(Int.self, forKey: CodingKeys.status) + status = intStatus == 0 ? .failed : .succeeded + error = try container.decode(String.self, forKey: CodingKeys.error) + let intIsContract = try container.decode(Int.self, forKey: CodingKeys.isContract) + isContract = intIsContract == 0 ? false : true + let intIsInner = try container.decode(Int.self, forKey: CodingKeys.isInner) + isInner = intIsInner == 0 ? false : true + let stringValue = try container.decode(String.self, forKey: CodingKeys.value) + guard let uintValue = UInt64(stringValue, radix: 16) else { + throw Web3Error.transactionSerializationError + } + value = BigUInt(integerLiteral: uintValue) + token = try container.decode(Token.self, forKey: CodingKeys.token) + let stringTxFee = try container.decode(String.self, forKey: CodingKeys.txFee) + guard let uintTxFee = UInt64(stringTxFee, radix: 16) else { + throw Web3Error.transactionSerializationError + } + + txFee = BigUInt.init(integerLiteral: uintTxFee) + let intGasUsed = try container.decode(UInt64.self, forKey: CodingKeys.gasUsed) + gasUsed = BigUInt(integerLiteral: intGasUsed) + let intGasCost = try container.decode(UInt64.self, forKey: CodingKeys.gasCost) + gasCost = BigUInt(integerLiteral: intGasCost) + } + + + enum CodingKeys: String, CodingKey { + case id = "_id" + case hash + case block + case addressFrom = "addrfrom" + case addressTo = "addrto" + case isoTime = "isotime" + case type + case status + case error + case isContract = "iscontract" + case isInner = "isinner" + case value + case token + case txFee = "txfee" + case gasUsed = "gasused" + case gasCost = "gascost" + } + +} + +public struct Token: Decodable { + public let address: EthereumAddress? + public let name: String + public let symbol: String + public let decimal: Int + + enum CodingKeys: String, CodingKey { + case address = "addr" + case name + case symbol = "smbl" + case decimal = "dcm" + } + + public init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: CodingKeys.self) + let stringAddress = try container.decode(String.self, forKey: CodingKeys.address) + if !stringAddress.isEmpty { + guard let nativeAddress = EthereumAddress(stringAddress, type: .normal, ignoreChecksum: true) else { + throw Web3Error.transactionSerializationError + } + address = nativeAddress + } else { + address = nil + } + name = try container.decode(String.self, forKey: .name) + symbol = try container.decode(String.self, forKey: .symbol) + decimal = try container.decode(Int.self, forKey: .decimal) + } +} + +public struct Head: Decodable { + let totalEntities: Int + let pageNumber: Int + let pageSize: Int + let listId: String + let moduleId: String + let entityId: String + let updateTime: String +} + +//MARK: - enums +public enum TransactionType { + case tx, call, create, suicide, token +} + +public enum TransactionStatus { + case failed, succeeded +} + +public enum ListId: String { + case listOfETH + case listOfTokens +} + +//MARK: - HTTP body structures +public struct Body:Codable { + let listId:String + let moduleId:String + let params:InternalParam +} + +public struct InternalParam:Codable { + let entityId:String + let page:Int + let size:Int +} + + + diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/BlockExplorer/Classes/BlockExplorer.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/BlockExplorer/Classes/BlockExplorer.swift new file mode 100755 index 000000000..43b5a673c --- /dev/null +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/BlockExplorer/Classes/BlockExplorer.swift @@ -0,0 +1,18 @@ +// +// BlockExporter.swift +// web3swift-iOS +// +// Created by Георгий Фесенко on 19/06/2018. +// Copyright © 2018 Bankex Foundation. All rights reserved. +// + +import Foundation + +@available(*, deprecated) +public class BlockExplorer { + public var urlStringList: String + + public init() { + urlStringList = "https://scan.bankex.com/api/list" + } +} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+Concurrency.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+Concurrency.swift deleted file mode 100755 index 38b45f2ec..000000000 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+Concurrency.swift +++ /dev/null @@ -1,266 +0,0 @@ -// -// Web3+Concurrency.swift -// web3swift -// -// Created by Alexander Vlasov on 05.04.2018. -// Copyright © 2018 Bankex Foundation. All rights reserved. -// - -import Foundation -import Result - -public typealias Callback = ((Result) -> ()) - -public class OperationDispatcher { - public var MAX_WAIT_TIME: TimeInterval = 0.2 - private var provider: Web3Provider - private var queue: OperationQueue - public var policy: DispatchPolicy - private var pendingRequests = [Request]() - private var schedulingOperation: Operation? = nil - private var lockQueue: DispatchQueue - - init(provider: Web3Provider, queue: OperationQueue, policy: DispatchPolicy) { - self.provider = provider - self.queue = queue - self.policy = policy - self.lockQueue = DispatchQueue(label: "batchingQueue", qos: .userInitiated) - } - - struct Request { - var request: JSONRPCrequest - var next: OperationChainingType - } - - public enum DispatchPolicy { - case Batch(UInt64) - case NoBatching - } - - final class ScheduleOperation: Operation { - private var target: OperationDispatcher - init(target: OperationDispatcher) { - self.target = target - } - - override func main() { - Thread.sleep(forTimeInterval: target.MAX_WAIT_TIME) - if self.isCancelled { - return - } - target.lockQueue.async { - self.target.triggerExecution() - } - } - } - - func addToQueue(request: JSONRPCrequest, next: OperationChainingType) { - switch self.policy { - case .NoBatching: - guard let result = self.provider.send(request: request) else {return processError(Web3Error.connectionError, next: next)} - processSuccess(result as AnyObject, next: next) - case .Batch(let maxLength): - lockQueue.async { - if self.pendingRequests.count == 0 { - let req = Request(request: request, next: next) - self.pendingRequests.append(req) - if (self.schedulingOperation == nil) { - let op = ScheduleOperation(target: self) - self.schedulingOperation = op - self.queue.addOperation(op) - } - } else { - let req = Request(request: request, next: next) - self.pendingRequests.append(req) - if self.pendingRequests.count == maxLength { - if self.schedulingOperation != nil { - self.schedulingOperation?.cancel() - self.schedulingOperation = nil - } - self.triggerExecution() - } - return - } - } - } - } - - func triggerExecution() { - lockQueue.async { - if self.schedulingOperation != nil { - self.schedulingOperation = nil - } - let allRequests = self.pendingRequests.compactMap { (r) -> Request in - return r - } - self.pendingRequests.removeAll() - let requestIDs = allRequests.map { (req) -> UInt64 in - return req.request.id - } - let requests = allRequests.map{ (req) -> JSONRPCrequest in - return req.request - } - let nexts = allRequests.map{ (req) -> OperationChainingType in - return req.next - } - var mapping = [UInt64: OperationChainingType]() - for i in 0 ..< requestIDs.count { - if mapping[requestIDs[i]] == nil { - mapping[requestIDs[i]] = nexts[i] - } else { - for next in nexts { - self.processError(Web3Error.nodeError("Concurrency error"), next: next) - } - return - } - } - guard let responses = self.provider.send(requests: requests) else { - for next in nexts { - self.processError(Web3Error.dataError, next: next) - } - return - } - for response in responses { - if response != nil { - guard let id = response!["id"], let idUint = id as? UInt64 else { - for (_, v) in mapping { - self.processError(Web3Error.dataError, next: v) - } - return - } - guard let next = mapping[idUint] else {continue} - mapping.remove(at: mapping.index(forKey: idUint)!) - self.processSuccess(response as AnyObject, next: next) - } - } - for (_, v) in mapping { - self.processError(Web3Error.dataError, next: v) - } - } - } - - func processError(_ error: Web3Error, next: OperationChainingType) { - switch next { - case .callback(let callback, let callbackQueue): - callbackQueue.addOperation { - let res = Result.failure(error) - callback(res) - } - return - case .operation(let op): - op.error = error - op.expectedQueue.addOperation(op) - return - case .endOfChain: - return - } - } - - func processSuccess(_ result: AnyObject, next: OperationChainingType) { - switch next { - case .callback(let callback, let callbackQueue): - callbackQueue.addOperation { - callback(Result.success(result)) - } - return - case .operation(let op): - op.inputData = result as AnyObject - op.expectedQueue.addOperation(op) - return - case .endOfChain: - return - } - } -} - - - -public enum OperationChainingType { - case callback(Callback, OperationQueue) - case operation(Web3Operation) - case endOfChain -} - -protocol OperationProtocol{ - var inputData: AnyObject? {get set} - var next: OperationChainingType? {get set} - var expectedQueue: OperationQueue {get set} - var error: Web3Error? {get set} -} - -public class Web3Operation: Operation, OperationProtocol { - var web3: web3 - - var next: OperationChainingType? - var inputData: AnyObject? - var expectedQueue: OperationQueue - var error: Web3Error? - - init(_ web3Instance: web3, queue: OperationQueue? = nil, inputData: AnyObject? = nil ) { - web3 = web3Instance - if queue == nil { - expectedQueue = self.web3.queue - } else { - expectedQueue = queue! - } - self.inputData = inputData - } - - func processError(_ err: Web3Error) { - guard let nextOp = next else {return} - switch nextOp { - case .callback(let callback, let callbackQueue): - callbackQueue.addOperation { - let res = Result.failure(err) - callback(res) - } - return - case .operation(let op): - op.error = err - op.expectedQueue.addOperation(op) - return - case .endOfChain: - return - } - } - - func processResult(_ result: Result) { - guard let nextOp = next else {return} - switch nextOp { - case .callback(let callback, let callbackQueue): - callbackQueue.addOperation { - callback(result) - } - return - case .operation(let op): - switch result{ - case .success(let res): - op.inputData = res as AnyObject - case .failure(let error): - op.error = error - } - op.expectedQueue.addOperation(op) - return - case .endOfChain: - return - } - } - - func processSuccess(_ result: AnyObject) { - guard let nextOp = next else {return} - switch nextOp { - case .callback(let callback, let callbackQueue): - callbackQueue.addOperation { - callback(Result.success(result)) - } - return - case .operation(let op): - op.inputData = result as AnyObject - op.expectedQueue.addOperation(op) - return - case .endOfChain: - return - } - } -} - diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+ConversionOperations.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+ConversionOperations.swift deleted file mode 100755 index 06980136d..000000000 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+ConversionOperations.swift +++ /dev/null @@ -1,282 +0,0 @@ -// -// Web3+ConversionOperations.swift -// web3swift -// -// Created by Alexander Vlasov on 05.04.2018. -// Copyright © 2018 Bankex Foundation. All rights reserved. -// - -import Foundation -import Result -import BigInt - -final class ResultUnwrapOperation: Web3Operation { - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let _ = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [String: Any] else {return processError(Web3Error.dataError)} - let result = ResultUnwrapper.getResponse(input) - switch result { - case .failure(let error): - return processError(error) - case .success(let payload): - return processSuccess(payload as AnyObject) - } - } -} - -final class ConversionOperation: Web3Operation { - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let _ = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? T else {return processError(Web3Error.dataError)} - return processSuccess(input as AnyObject) - } -} - -final class BigUIntConversionOperation: Web3Operation { - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let _ = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [String: Any] else {return processError(Web3Error.dataError)} - let result = ResultUnwrapper.getResponse(input) - switch result { - case .failure(let error): - return processError(error) - case .success(let payload): - guard let resultString = payload as? String else { - return processError(Web3Error.dataError) - } - guard let biguint = BigUInt(resultString.stripHexPrefix().lowercased(), radix: 16) else { - return processError(Web3Error.dataError) - } - return processSuccess(biguint as AnyObject) - } - } -} - -final class JSONasDataConversionOperation: Web3Operation { - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let _ = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [String: Any] else {return processError(Web3Error.dataError)} - let result = ResultUnwrapper.getResponse(input) - switch result { - case .failure(let error): - return processError(error) - case .success(let payload): - guard let resultJSON = payload as? [String:AnyObject] else { - return processError(Web3Error.dataError) - } - guard let resultData = try? JSONSerialization.data(withJSONObject: resultJSON) else { - return processError(Web3Error.dataError) - } - return processSuccess(resultData as AnyObject) - } - } -} - -final class DictionaryConversionOperation: Web3Operation { - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let _ = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [String: Any] else {return processError(Web3Error.dataError)} - let result = ResultUnwrapper.getResponse(input) - switch result { - case .failure(let error): - return processError(error) - case .success(let payload): - guard let dict = payload as? [String:Any] else { - return processError(Web3Error.dataError) - } - return processSuccess(dict as AnyObject) - } - } -} - -final class StringDictionaryConversionOperation: Web3Operation { - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let _ = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [String: Any] else {return processError(Web3Error.dataError)} - let result = ResultUnwrapper.getResponse(input) - switch result { - case .failure(let error): - return processError(error) - case .success(let payload): - guard let dict = payload as? [String:String] else { - return processError(Web3Error.dataError) - } - return processSuccess(dict as AnyObject) - } - } -} - -final class AddressArrayConversionOperation: Web3Operation { - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let _ = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [String: Any] else {return processError(Web3Error.dataError)} - let result = ResultUnwrapper.getResponse(input) - switch result { - case .failure(let error): - return processError(error) - case .success(let payload): - guard let resultArray = payload as? [String] else { - return processError(Web3Error.dataError) - } - var toReturn = [EthereumAddress]() - for addrString in resultArray { - guard let addr = EthereumAddress(addrString) else { - return processError(Web3Error.dataError) - } - if (addr.isValid) { - toReturn.append(addr) - } - } - return processSuccess(toReturn as AnyObject) - } - } -} - -final class DataConversionOperation: Web3Operation { - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let _ = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [String: Any] else {return processError(Web3Error.dataError)} - let result = ResultUnwrapper.getResponse(input) - switch result { - case .failure(let error): - return processError(error) - case .success(let payload): - guard let dataString = payload as? String else { - return processError(Web3Error.dataError) - } - guard let data = Data.fromHex(dataString) else { - return processError(Web3Error.dataError) - } - return processSuccess(data as AnyObject) - } - } -} - -final class StringConversionOperation: Web3Operation { - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let _ = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [String: Any] else {return processError(Web3Error.dataError)} - let result = ResultUnwrapper.getResponse(input) - switch result { - case .failure(let error): - return processError(error) - case .success(let payload): - guard let resultString = payload as? String else { - return processError(Web3Error.dataError) - } - return processSuccess(resultString as AnyObject) - } - } -} - -final class JoinOperation: Web3Operation { - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, operations: [Web3Operation]) { - self.init(web3Instance, queue: queue, inputData: operations as AnyObject) - } - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let _ = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let operations = inputData! as? [Web3Operation] else {return processError(Web3Error.dataError)} - var resultsArray = [AnyObject]() - let lockQueue = DispatchQueue.init(label: "joinQueue") - var expectedOperations = operations.count - var earlyReturn = false - - let joiningCallback = { (res: Result) -> () in - switch res { - case .success(let result): - lockQueue.sync() { - expectedOperations = expectedOperations - 1 - guard let ev = result as? [AnyObject] else { - if (!earlyReturn) { - earlyReturn = true - return self.processError(Web3Error.dataError) - } else { - return - } - } - resultsArray.append(contentsOf: ev) - guard let currentQueue = OperationQueue.current else { - if (!earlyReturn) { - earlyReturn = true - return self.processError(Web3Error.dataError) - } else { - return - } - } - - if expectedOperations == 0 { - if (!earlyReturn) { - earlyReturn = true - currentQueue.underlyingQueue?.async(execute: { - self.processSuccess(resultsArray as AnyObject) - }) - } else { - return - } - } - } - case .failure(let error): - lockQueue.sync() { - if (!earlyReturn) { - earlyReturn = true - return self.processError(error) - } else { - return - } - } - } - } - for op in operations { - op.next = OperationChainingType.callback(joiningCallback, self.expectedQueue) - } - self.expectedQueue.addOperations(operations, waitUntilFinished: false) - } -} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+DataFetchOperation.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+DataFetchOperation.swift deleted file mode 100755 index b09354029..000000000 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+DataFetchOperation.swift +++ /dev/null @@ -1,41 +0,0 @@ -// -// Web3+DataFetchOperation.swift -// web3swift -// -// Created by Alexander Vlasov on 05.04.2018. -// Copyright © 2018 Bankex Foundation. All rights reserved. -// - -import Foundation -import Result - -final class DataFetchOperation: Web3Operation { - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let completion = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? JSONRPCrequest else {return processError(Web3Error.inputError("Invalid input supplied"))} - let dispatcher = self.web3.dispatcher - dispatcher.addToQueue(request: input, next: completion) - return - } -} - -final class NoBatchingDataFetchOperation: Web3Operation { - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - - guard let _ = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? JSONRPCrequest else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let result = self.web3.provider.send(request: input) else {return processError(Web3Error.connectionError)} - processSuccess(result as AnyObject) - return - } -} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+EthOperations.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+EthOperations.swift deleted file mode 100755 index 7b3628962..000000000 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+EthOperations.swift +++ /dev/null @@ -1,272 +0,0 @@ -// -// Web3+ProcessingOperations.swift -// web3swift -// -// Created by Alexander Vlasov on 05.04.2018. -// Copyright © 2018 Bankex Foundation. All rights reserved. -// - -import Foundation -import Result -import BigInt - - -final class GetAccountsOperation: Web3Operation { - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let completion = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - if (self.web3.provider.attachedKeystoreManager != nil) { - let result = self.web3.wallet.getAccounts() - switch result { - case .success(let allAccounts): - return processSuccess(allAccounts as AnyObject) - case .failure(let error): - return processError(error) - } - } - let request = JSONRPCRequestFabric.prepareRequest(.getAccounts, parameters: []) - let dataOp = DataFetchOperation(self.web3, queue: self.expectedQueue) - dataOp.inputData = request as AnyObject - let parsingOp = AddressArrayConversionOperation(self.web3, queue: self.expectedQueue) - dataOp.next = OperationChainingType.operation(parsingOp) - parsingOp.next = completion - self.expectedQueue.addOperation(dataOp) - } -} - -final class GetTransactionCountOperation: Web3Operation { - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, address: EthereumAddress, onBlock: String = "latest") { - let addressString = address.address.lowercased() - self.init(web3Instance, queue: queue, inputData: [addressString, onBlock] as AnyObject) - } - - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, address: String, onBlock: String = "latest") { - self.init(web3Instance, queue: queue, inputData: [address, onBlock] as AnyObject) - } - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let completion = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [AnyObject] else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard input.count == 2 else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let address = input[0] as? String else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let onBlock = input[1] as? String else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let _ = EthereumAddress(address) else {return processError(Web3Error.inputError("Invalid input supplied"))} - let request = JSONRPCRequestFabric.prepareRequest(.getTransactionCount, parameters: [address, onBlock]) - let dataOp = DataFetchOperation(self.web3, queue: self.expectedQueue) - dataOp.inputData = request as AnyObject - let convOp = BigUIntConversionOperation(self.web3, queue: self.expectedQueue) - dataOp.next = OperationChainingType.operation(convOp) - convOp.next = completion - self.expectedQueue.addOperation(dataOp) - } -} - -final class GetBalanceOperation: Web3Operation { - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, address: EthereumAddress, onBlock: String = "latest") { - let addressString = address.address.lowercased() - self.init(web3Instance, queue: queue, inputData: [addressString, onBlock] as AnyObject) - } - - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, address: String, onBlock: String = "latest") { - self.init(web3Instance, queue: queue, inputData: [address, onBlock] as AnyObject) - } - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let completion = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [AnyObject] else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard input.count == 2 else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let address = input[0] as? String else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let onBlock = input[1] as? String else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let _ = EthereumAddress(address) else {return processError(Web3Error.inputError("Invalid input supplied"))} - let request = JSONRPCRequestFabric.prepareRequest(.getBalance, parameters: [address, onBlock]) - let dataOp = DataFetchOperation(self.web3, queue: self.expectedQueue) - dataOp.inputData = request as AnyObject - let convOp = BigUIntConversionOperation(self.web3, queue: self.expectedQueue) - dataOp.next = OperationChainingType.operation(convOp) - convOp.next = completion - self.expectedQueue.addOperation(dataOp) - } -} - -final class GetBlockNumberOperation: Web3Operation { - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let completion = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - let request = JSONRPCRequestFabric.prepareRequest(.blockNumber, parameters: []) - let dataOp = DataFetchOperation(self.web3, queue: self.expectedQueue) - dataOp.inputData = request as AnyObject - let parsingOp = BigUIntConversionOperation(self.web3, queue: self.expectedQueue) - dataOp.next = OperationChainingType.operation(parsingOp) - parsingOp.next = completion - self.expectedQueue.addOperation(dataOp) - } -} - -final class GetGasPriceOperation: Web3Operation { - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let completion = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - let request = JSONRPCRequestFabric.prepareRequest(.gasPrice, parameters: []) - let dataOp = DataFetchOperation(self.web3, queue: self.expectedQueue) - dataOp.inputData = request as AnyObject - let parsingOp = BigUIntConversionOperation(self.web3, queue: self.expectedQueue) - dataOp.next = OperationChainingType.operation(parsingOp) - parsingOp.next = completion - self.expectedQueue.addOperation(dataOp) - } -} - -final class EstimateGasOperation: Web3Operation { - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, transaction: EthereumTransaction, options: Web3Options?, onBlock: String = "latest") { - self.init(web3Instance, queue: queue, inputData: [transaction, options as Any, onBlock] as AnyObject) - } - - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, transactionIntermediate: TransactionIntermediate, onBlock: String = "latest") { - self.init(web3Instance, queue: queue, inputData: [transactionIntermediate.transaction, transactionIntermediate.options as Any, onBlock] as AnyObject) - } - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let completion = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [AnyObject] else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard input.count == 3 else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let transaction = input[0] as? EthereumTransaction else {return processError(Web3Error.inputError("Invalid input supplied"))} - let options = input[1] as? Web3Options - guard let onBlock = input[2] as? String else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard var mergedOptions = Web3Options.merge(Web3Options.defaultOptions(), with: options) else {return processError(Web3Error.inputError("Invalid input supplied"))} - mergedOptions.gasLimit = nil - let tx = transaction.mergedWithOptions(mergedOptions) - guard let request = EthereumTransaction.createRequest(method: JSONRPCmethod.estimateGas, transaction: tx, onBlock: onBlock, options: mergedOptions) else {return processError(Web3Error.inputError("Invalid input supplied"))} - let dataOp = DataFetchOperation(self.web3, queue: self.expectedQueue) - dataOp.inputData = request as AnyObject - let parsingOp = BigUIntConversionOperation(self.web3, queue: self.expectedQueue) - dataOp.next = OperationChainingType.operation(parsingOp) - parsingOp.next = completion - self.expectedQueue.addOperation(dataOp) - } -} - -final class CallOperation: Web3Operation { - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, transaction: EthereumTransaction, options: Web3Options?, onBlock: String = "latest") { - self.init(web3Instance, queue: queue, inputData: [transaction, options as Any, onBlock] as AnyObject) - } - - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, transactionIntermediate: TransactionIntermediate, onBlock: String = "latest") { - self.init(web3Instance, queue: queue, inputData: [transactionIntermediate.transaction, transactionIntermediate.options as Any, onBlock] as AnyObject) - } - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let completion = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [AnyObject] else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard input.count == 3 else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let transaction = input[0] as? EthereumTransaction else {return processError(Web3Error.inputError("Invalid input supplied"))} - let options = input[1] as? Web3Options - guard let onBlock = input[2] as? String else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let mergedOptions = Web3Options.merge(Web3Options.defaultOptions(), with: options) else { - return processError(Web3Error.inputError("Invalid input supplied")) - } - let tx = transaction.mergedWithOptions(mergedOptions) - guard let request = EthereumTransaction.createRequest(method: JSONRPCmethod.call, transaction: tx, onBlock: onBlock, options: mergedOptions) else {return processError(Web3Error.inputError("Invalid input supplied"))} - let dataOp = DataFetchOperation(self.web3, queue: self.expectedQueue) - dataOp.inputData = request as AnyObject - let parsingOp = DataConversionOperation(self.web3, queue: self.expectedQueue) - dataOp.next = OperationChainingType.operation(parsingOp) - parsingOp.next = completion - self.expectedQueue.addOperation(dataOp) - } -} - -final class SendTransactionOperation: Web3Operation { - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, transaction: EthereumTransaction, options: Web3Options?, password:String = "BANKEXFOUNDATION") { - self.init(web3Instance, queue: queue, inputData: [transaction, options as Any, password] as AnyObject) - } - - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, transactionIntermediate: TransactionIntermediate, password:String = "BANKEXFOUNDATION") { - self.init(web3Instance, queue: queue, inputData: [transactionIntermediate.transaction, transactionIntermediate.options as Any, password] as AnyObject) - } - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let completion = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [AnyObject] else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard input.count == 3 else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let transaction = input[0] as? EthereumTransaction else {return processError(Web3Error.inputError("Invalid input supplied"))} - let options = input[1] as? Web3Options - guard let password = input[2] as? String else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let mergedOptions = Web3Options.merge(Web3Options.defaultOptions(), with: options) else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let from = mergedOptions.from else {return processError(Web3Error.walletError)} - var tx = transaction - tx = tx.mergedWithOptions(mergedOptions) - if let keystoreManager = self.web3.provider.attachedKeystoreManager { - do { - try Web3Signer.signTX(transaction: &tx, keystore: keystoreManager, account: from, password: password) - } - catch { - if error is AbstractKeystoreError { - return processError(Web3Error.keystoreError(error as! AbstractKeystoreError)) - } - return processError(Web3Error.generalError(error)) - } - print(tx) - let sendRawTxOp = SendRawTransactionOperation(self.web3, queue: self.expectedQueue, transaction: tx) - sendRawTxOp.next = completion - self.expectedQueue.addOperation(sendRawTxOp) - return - } - guard let request = EthereumTransaction.createRequest(method: JSONRPCmethod.sendTransaction, transaction: tx, onBlock: nil, options: mergedOptions) else - { - return processError(Web3Error.transactionSerializationError) - } - let dataOp = DataFetchOperation(self.web3, queue: self.expectedQueue) - dataOp.inputData = request as AnyObject - let parsingOp = DataConversionOperation(self.web3, queue: self.expectedQueue) - dataOp.next = OperationChainingType.operation(parsingOp) - parsingOp.next = completion - self.expectedQueue.addOperation(dataOp) - } -} - -final class SendRawTransactionOperation: Web3Operation { - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, transaction: EthereumTransaction) { - self.init(web3Instance, queue: queue, inputData: transaction as AnyObject) - } - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let completion = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let transaction = inputData! as? EthereumTransaction else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let request = EthereumTransaction.createRawTransaction(transaction: transaction) else {return processError(Web3Error.transactionSerializationError)} - let dataOp = DataFetchOperation(self.web3, queue: self.expectedQueue) - dataOp.inputData = request as AnyObject - let parsingOp = StringConversionOperation(self.web3, queue: self.expectedQueue) - dataOp.next = OperationChainingType.operation(parsingOp) - parsingOp.next = completion - self.expectedQueue.addOperation(dataOp) - } -} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+EventOperations.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+EventOperations.swift deleted file mode 100755 index 58bbe586a..000000000 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+EventOperations.swift +++ /dev/null @@ -1,134 +0,0 @@ -// -// Web3+EventOperations.swift -// web3swift -// -// Created by Alexander Vlasov on 06.04.2018. -// Copyright © 2018 Bankex Foundation. All rights reserved. -// - -import Foundation -import Result -import BigInt - -final class ParseBlockForEventsOperation: Web3Operation { - - convenience init?(_ web3Instance: web3, queue: OperationQueue? = nil, contract: ContractProtocol, eventName: String, filter: EventFilter? = nil, block: UInt64) { - let blockString = String(block, radix: 16).addHexPrefix() - self.init(web3Instance, queue: queue, contract: contract, eventName: eventName, filter: filter, block: blockString) - } - - convenience init?(_ web3Instance: web3, queue: OperationQueue? = nil, contract: ContractProtocol, eventName: String, filter: EventFilter? = nil, block: BigUInt) { - let blockString = String(block, radix: 16).addHexPrefix() - self.init(web3Instance, queue: queue, contract: contract, eventName: eventName, filter: filter, block: blockString) - } - - convenience init?(_ web3Instance: web3, queue: OperationQueue? = nil, contract: ContractProtocol, eventName: String, filter: EventFilter? = nil, block: String = "latest") { - guard let _ = contract.allEvents.index(of: eventName) else {return nil} - self.init(web3Instance, queue: queue, inputData: [contract, eventName, filter as Any, block] as AnyObject) - } - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let completion = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [AnyObject] else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard input.count == 4 else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let contract = input[0] as? ContractProtocol else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let eventName = input[1] as? String else {return processError(Web3Error.inputError("Invalid input supplied"))} - let filter = input[2] as? EventFilter - guard let blockNumber = input[3] as? String else {return processError(Web3Error.inputError("Invalid input supplied"))} - let getBlockOperation = GetBlockByNumberOperation.init(self.web3, queue: self.expectedQueue, blockNumber: blockNumber, fullTransactions: false) - let resultsArray = [EventParserResultProtocol]() - - let blockCallback = { (res: Result) -> () in - switch res { - case .success(let result): - guard let block = result as? Block else { - return self.processError(Web3Error.dataError) - } - guard let bloom = block.logsBloom else {return self.processError(Web3Error.dataError)} - if contract.address != nil { - let addressPresent = block.logsBloom?.test(topic: contract.address!.addressData) - if (addressPresent != true) { - return self.processSuccess(resultsArray as AnyObject) - } - } - guard let eventOfSuchTypeIsPresent = contract.testBloomForEventPrecence(eventName: eventName, bloom: bloom) else {return self.processError(Web3Error.dataError)} - if (!eventOfSuchTypeIsPresent) { - return self.processSuccess(resultsArray as AnyObject) - } - var allOps = [Web3Operation]() - for transaction in block.transactions { - guard case .hash(let hash) = transaction else { - self.processError(Web3Error.dataError) - return - } - guard let parseOperation = ParseTransactionForEventsOperation.init(self.web3, contract: contract, eventName: eventName, filter: filter, transactionHash: hash) else { - self.processError(Web3Error.dataError) - return - } - allOps.append(parseOperation) - } - let joinOperation = JoinOperation(self.web3, queue: self.expectedQueue, operations: allOps) - let conversionOp = ConversionOperation<[EventParserResultProtocol]>(self.web3, queue: self.expectedQueue) - joinOperation.next = OperationChainingType.operation(conversionOp) - conversionOp.next = completion - self.expectedQueue.addOperation(joinOperation) - case .failure(let error): - return self.processError(error) - } - } - getBlockOperation.next = OperationChainingType.callback(blockCallback, self.expectedQueue) - self.expectedQueue.addOperation(getBlockOperation) - } -} - - -final class ParseTransactionForEventsOperation: Web3Operation { - - convenience init?(_ web3Instance: web3, queue: OperationQueue? = nil, contract: ContractProtocol, eventName: String, filter: EventFilter? = nil, transactionHash: Data) { - let hash = transactionHash.toHexString().addHexPrefix() - self.init(web3Instance, queue: queue, contract: contract, eventName: eventName, filter: filter, transactionHash: hash) - } - - convenience init?(_ web3Instance: web3, queue: OperationQueue? = nil, contract: ContractProtocol, eventName: String, filter: EventFilter? = nil, transaction: EthereumTransaction) { - guard let hash = transaction.hash else {return nil} - self.init(web3Instance, queue: queue, contract: contract, eventName: eventName, filter: filter, transactionHash: hash) - } - - convenience init?(_ web3Instance: web3, queue: OperationQueue? = nil, contract: ContractProtocol, eventName: String, filter: EventFilter? = nil, transactionHash: String) { - self.init(web3Instance, queue: queue, inputData: [contract, eventName, filter as Any, transactionHash] as AnyObject) - } - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let _ = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [AnyObject] else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard input.count == 4 else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let contract = input[0] as? ContractProtocol else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let eventName = input[1] as? String else {return processError(Web3Error.inputError("Invalid input supplied"))} - let filter = input[2] as? EventFilter - guard let transactionHash = input[3] as? String else {return processError(Web3Error.inputError("Invalid input supplied"))} - let receiptOperation = GetTransactionReceiptOperation.init(self.web3, queue: self.expectedQueue, txHash: transactionHash) - - let receiptCallback = { (res: Result) -> () in - switch res { - case .success(let result): - guard let receipt = result as? TransactionReceipt else { - return self.processError(Web3Error.dataError) - } - guard let allEvents = parseReceiptForLogs(receipt: receipt, contract: contract, eventName: eventName, filter: filter) else {return self.processError(Web3Error.dataError)} - return self.processSuccess(allEvents as AnyObject) - case .failure(let error): - return self.processError(error) - } - } - receiptOperation.next = OperationChainingType.callback(receiptCallback, self.expectedQueue) - self.expectedQueue.addOperation(receiptOperation) - } -} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+NativePrimitivesConversionOperations.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+NativePrimitivesConversionOperations.swift deleted file mode 100755 index 9cbb93e43..000000000 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+NativePrimitivesConversionOperations.swift +++ /dev/null @@ -1,65 +0,0 @@ -// -// Web3+NativePrimitivesConversionOperations.swift -// web3swift -// -// Created by Alexander Vlasov on 06.04.2018. -// Copyright © 2018 Bankex Foundation. All rights reserved. -// - -import Foundation -import Result -import BigInt - -final class TransactionReceiptConversionOperation: Web3Operation { - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let _ = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - if inputData == nil || inputData! is NSNull { - return processSuccess(TransactionReceipt.notProcessed(transactionHash: Data()) as AnyObject) - } - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [String: AnyObject] else {return processError(Web3Error.dataError)} - guard let receipt = TransactionReceipt(input) else { - return processError(Web3Error.dataError) - } - return processSuccess(receipt as AnyObject) - } -} - -final class TransactionDetailsConversionOperation: Web3Operation { - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let _ = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - if inputData == nil || inputData! is NSNull { - return processSuccess(TransactionReceipt.notProcessed(transactionHash: Data()) as AnyObject) - } - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [String: AnyObject] else {return processError(Web3Error.dataError)} - guard let receipt = TransactionDetails(input) else { - return processError(Web3Error.dataError) - } - return processSuccess(receipt as AnyObject) - } -} - -final class BlockConversionOperation: Web3Operation { - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let _ = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? Data else {return processError(Web3Error.dataError)} - guard let block = try? JSONDecoder().decode(Block.self, from: input) else { - return processError(Web3Error.dataError) - } - return processSuccess(block as AnyObject) - } -} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+PersonalOperations.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+PersonalOperations.swift deleted file mode 100755 index fee78f63b..000000000 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+PersonalOperations.swift +++ /dev/null @@ -1,88 +0,0 @@ -// -// Web3+PersonalOperations.swift -// web3swift -// -// Created by Alexander Vlasov on 16.04.2018. -// Copyright © 2018 Bankex Foundation. All rights reserved. -// - -import Foundation - - -final class PersonalUnlockAccountOperation: Web3Operation { - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, account: EthereumAddress, password: String = "BANKEXFOUNDATION", seconds: UInt64 = 300) { - let addressString = account.address.lowercased() - self.init(web3Instance, queue: queue, inputData: [addressString, password, seconds] as AnyObject) - } - - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, account: String, password: String = "BANKEXFOUNDATION", seconds: UInt64 = 300) { - self.init(web3Instance, queue: queue, inputData: [account, password, seconds] as AnyObject) - } - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let completion = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [AnyObject] else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard input.count == 3 else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let address = input[0] as? String else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let password = input[1] as? String else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let seconds = input[2] as? UInt64 else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let _ = EthereumAddress(address) else {return processError(Web3Error.inputError("Invalid input supplied"))} - let request = JSONRPCRequestFabric.prepareRequest(.unlockAccount, parameters: [address, password, seconds]) - let dataOp = DataFetchOperation(self.web3, queue: self.expectedQueue) - dataOp.inputData = request as AnyObject - let convOp = ConversionOperation(self.web3, queue: self.expectedQueue) - dataOp.next = OperationChainingType.operation(convOp) - convOp.next = completion - self.expectedQueue.addOperation(dataOp) - } -} - -final class PersonalSignOperation: Web3Operation { - - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, message: Data, from: EthereumAddress, password:String = "BANKEXFOUNDATION") { - self.init(web3Instance, queue: queue, inputData: [message, from, password] as AnyObject) - } - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let completion = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [AnyObject] else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard input.count == 3 else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let message = input[0] as? Data else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let from = input[1] as? EthereumAddress else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let password = input[2] as? String else {return processError(Web3Error.inputError("Invalid input supplied"))} - - if let keystoreManager = self.web3.provider.attachedKeystoreManager { - var signatureData:Data? = nil - do { - signatureData = try Web3Signer.signPersonalMessage(message, keystore: keystoreManager, account: from, password: password) - } - catch { - if error is AbstractKeystoreError { - return processError(Web3Error.keystoreError(error as! AbstractKeystoreError)) - } - return processError(Web3Error.generalError(error)) - } - guard let sig = signatureData else { - return processError(Web3Error.dataError) - } - return processSuccess(sig as AnyObject) - } - let hexData = message.toHexString().addHexPrefix() - let request = JSONRPCRequestFabric.prepareRequest(.personalSign, parameters: [from.address.lowercased(), hexData]) - let dataOp = DataFetchOperation(self.web3, queue: self.expectedQueue) - dataOp.inputData = request as AnyObject - let parsingOp = DataConversionOperation(self.web3, queue: self.expectedQueue) - dataOp.next = OperationChainingType.operation(parsingOp) - parsingOp.next = completion - self.expectedQueue.addOperation(dataOp) - - } -} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+TransactionAndBlockDetailsOperations.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+TransactionAndBlockDetailsOperations.swift deleted file mode 100755 index dd196cf3d..000000000 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+TransactionAndBlockDetailsOperations.swift +++ /dev/null @@ -1,138 +0,0 @@ -// -// Web3+TransactionAndBlockDetailsOperations.swift -// web3swift -// -// Created by Alexander Vlasov on 06.04.2018. -// Copyright © 2018 Bankex Foundation. All rights reserved. -// - -import Foundation -import BigInt - -final class GetTransactionDetailsOperation: Web3Operation { - - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, txHash: String) { - self.init(web3Instance, queue: queue, inputData: txHash as AnyObject) - } - - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, txHash: Data) { - self.init(web3Instance, queue: queue, inputData: txHash.toHexString().addHexPrefix() as AnyObject) - } - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let completion = self.next else {return} - guard inputData != nil else {return} - guard let txhash = inputData! as? String else {return processError(Web3Error.inputError("Invalid transaction hash supplied"))} - let request = JSONRPCRequestFabric.prepareRequest(.getTransactionByHash, parameters: [txhash]) - let dataOp = DataFetchOperation(self.web3, queue: self.expectedQueue) - dataOp.inputData = request as AnyObject - let convOp = DictionaryConversionOperation(self.web3, queue: self.expectedQueue) - dataOp.next = OperationChainingType.operation(convOp) - let parsingOp = TransactionDetailsConversionOperation(self.web3, queue: self.expectedQueue) - convOp.next = OperationChainingType.operation(parsingOp) - parsingOp.next = completion - self.expectedQueue.addOperation(dataOp) - } -} - - -final class GetTransactionReceiptOperation: Web3Operation { - - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, txHash: String) { - self.init(web3Instance, queue: queue, inputData: txHash as AnyObject) - } - - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, txHash: Data) { - self.init(web3Instance, queue: queue, inputData: txHash.toHexString().addHexPrefix() as AnyObject) - } - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let completion = self.next else {return} - guard inputData != nil else {return} - guard let txhash = inputData! as? String else {return processError(Web3Error.inputError("Invalid transaction hash supplied"))} - let request = JSONRPCRequestFabric.prepareRequest(.getTransactionReceipt, parameters: [txhash]) - let dataOp = DataFetchOperation(self.web3, queue: self.expectedQueue) - dataOp.inputData = request as AnyObject - let convOp = DictionaryConversionOperation(self.web3, queue: self.expectedQueue) - dataOp.next = OperationChainingType.operation(convOp) - let parsingOp = TransactionReceiptConversionOperation(self.web3, queue: self.expectedQueue) - convOp.next = OperationChainingType.operation(parsingOp) - parsingOp.next = completion - self.expectedQueue.addOperation(dataOp) - } -} - -final class GetBlockByNumberOperation: Web3Operation { - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, blockNumber: UInt64, fullTransactions: Bool = false) { - let blockNumberString = String(blockNumber, radix: 16).addHexPrefix() - self.init(web3Instance, queue: queue, blockNumber: blockNumberString, fullTransactions: fullTransactions) - } - - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, blockNumber: BigUInt, fullTransactions: Bool = false) { - let blockNumberString = String(blockNumber, radix: 16).addHexPrefix() - self.init(web3Instance, queue: queue, blockNumber: blockNumberString, fullTransactions: fullTransactions) - } - - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, blockNumber: String, fullTransactions: Bool = false) { - self.init(web3Instance, queue: queue, inputData: [blockNumber, fullTransactions] as AnyObject) - } - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let completion = self.next else {return} - guard inputData != nil else {return} - guard let input = inputData! as? [AnyObject] else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard input.count == 2 else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let block = input[0] as? String else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let fullTX = input[1] as? Bool else {return processError(Web3Error.inputError("Invalid input supplied"))} - let request = JSONRPCRequestFabric.prepareRequest(.getBlockByNumber, parameters: [block, fullTX]) - let dataOp = DataFetchOperation(self.web3, queue: self.expectedQueue) - dataOp.inputData = request as AnyObject - let convOp = JSONasDataConversionOperation(self.web3, queue: self.expectedQueue) - dataOp.next = OperationChainingType.operation(convOp) - let parsingOp = BlockConversionOperation(self.web3, queue: self.expectedQueue) - convOp.next = OperationChainingType.operation(parsingOp) - parsingOp.next = completion - self.expectedQueue.addOperation(dataOp) - } -} - -final class GetBlockByHashOperation: Web3Operation { - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, hash: String, fullTransactions: Bool = false) { - self.init(web3Instance, queue: queue, inputData: [hash, fullTransactions] as AnyObject) - } - - convenience init(_ web3Instance: web3, queue: OperationQueue? = nil, hash: Data, fullTransactions: Bool = false) { - let h = hash.toHexString().addHexPrefix() - self.init(web3Instance, queue: queue, inputData: [h, fullTransactions] as AnyObject) - } - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let completion = self.next else {return} - guard inputData != nil else {return} - guard let input = inputData! as? [AnyObject] else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard input.count == 2 else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let block = input[0] as? String else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let fullTX = input[1] as? Bool else {return processError(Web3Error.inputError("Invalid input supplied"))} - let request = JSONRPCRequestFabric.prepareRequest(.getBlockByHash, parameters: [block, fullTX]) - let dataOp = DataFetchOperation(self.web3, queue: self.expectedQueue) - dataOp.inputData = request as AnyObject - let convOp = JSONasDataConversionOperation(self.web3, queue: self.expectedQueue) - dataOp.next = OperationChainingType.operation(convOp) - let parsingOp = BlockConversionOperation(self.web3, queue: self.expectedQueue) - convOp.next = OperationChainingType.operation(parsingOp) - parsingOp.next = completion - self.expectedQueue.addOperation(dataOp) - } -} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+TransactionOperations.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+TransactionOperations.swift deleted file mode 100755 index 67830dbaf..000000000 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Concurrency/Classes/Web3+TransactionOperations.swift +++ /dev/null @@ -1,240 +0,0 @@ -// -// Web3+TransactionOperations.swift -// web3swift -// -// Created by Alexander Vlasov on 06.04.2018. -// Copyright © 2018 Bankex Foundation. All rights reserved. -// - -import Foundation -import Result -import BigInt - -final class ContractCallOperation: Web3Operation { - var method: String? - - convenience init?(_ web3Instance: web3, queue: OperationQueue? = nil, intermediate: TransactionIntermediate, onBlock: String = "latest", options: Web3Options? = nil) { - self.init(web3Instance, queue: queue, inputData: [intermediate, options as Any, onBlock] as AnyObject) - self.method = intermediate.method - } - - convenience init?(_ web3Instance: web3, queue: OperationQueue? = nil, contract: web3.web3contract, method: String = "fallback", parameters: [AnyObject] = [], extraData: Data = Data(), options: Web3Options? = nil, onBlock: String = "latest") { - guard let intermediate = contract.method(method, parameters: parameters, extraData: extraData, options: options) else {return nil} - self.init(web3Instance, queue: queue, inputData: [intermediate, options as Any, onBlock] as AnyObject) - self.method = method - } - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let _ = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [AnyObject] else {return processError(Web3Error.inputError("Invalid input supplied"))} - - guard input.count == 3 else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let intermediate = input[0] as? TransactionIntermediate else {return processError(Web3Error.inputError("Invalid input supplied"))} - let options = input[1] as? Web3Options - guard let onBlock = input[2] as? String else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard var mergedOptions = Web3Options.merge(intermediate.options, with: options) else {return processError(Web3Error.inputError("Invalid input supplied"))} - mergedOptions.gasLimit = nil - if (options?.gasLimit != nil) { - mergedOptions.gasLimit = options?.gasLimit - } -// guard let _ = mergedOptions.from else {return processError(Web3Error.inputError("Invalid input supplied"))} - let transaction = intermediate.transaction - - let parsingCallback = { (res: Result) -> () in - switch res { - case .success(let result): - guard let resultData = result as? Data else { - return self.processError(Web3Error.dataError) - } - if (self.method == "fallback") { - let resultHex = resultData.toHexString().addHexPrefix() - return self.processSuccess(["result": resultHex as Any] as AnyObject) - } - guard let method = self.method else { - return self.processError(Web3Error.dataError) - } - guard let decodedData = intermediate.contract.decodeReturnData(method, data: resultData) else - { - return self.processError(Web3Error.dataError) - } - return self.processSuccess(decodedData as AnyObject) - case .failure(let error): - return self.processError(error) - } - } - let tx = transaction.mergedWithOptions(mergedOptions) - guard let request = EthereumTransaction.createRequest(method: JSONRPCmethod.call, transaction: tx, onBlock: onBlock, options: mergedOptions) else {return self.processError(Web3Error.inputError("Invalid input supplied"))} - let dataOp = DataFetchOperation(self.web3, queue: self.expectedQueue) - dataOp.inputData = request as AnyObject - let parsingOp = DataConversionOperation(self.web3, queue: self.expectedQueue) - dataOp.next = OperationChainingType.operation(parsingOp) - parsingOp.next = OperationChainingType.callback(parsingCallback, self.expectedQueue) - self.expectedQueue.addOperation(dataOp) - -// let gasEstimationCallback = { (res: Result) -> () in -// switch res { -// case .success(let result): -// guard let gasEstimate = result as? BigUInt else { -// return self.processError(Web3Error.dataError) -// } -//// if mergedOptions.gasLimit == nil { -//// mergedOptions.gasLimit = gasEstimate -//// } else { -//// if (mergedOptions.gasLimit! < gasEstimate) { -//// if (options?.gasLimit != nil && options!.gasLimit != nil && options!.gasLimit! >= gasEstimate) { -//// mergedOptions.gasLimit = options!.gasLimit! -//// } else { -//// return self.processError(Web3Error.inputError("Estimated gas is larger than the gas limit")) -//// } -//// } -//// } -// guard let request = EthereumTransaction.createRequest(method: JSONRPCmethod.call, transaction: transaction, onBlock: onBlock, options: mergedOptions) else {return self.processError(Web3Error.inputError("Invalid input supplied"))} -// let dataOp = DataFetchOperation(self.web3, queue: self.expectedQueue) -// dataOp.inputData = request as AnyObject -// let parsingOp = DataConversionOperation(self.web3, queue: self.expectedQueue) -// dataOp.next = OperationChainingType.operation(parsingOp) -// parsingOp.next = OperationChainingType.callback(parsingCallback, self.expectedQueue) -// self.expectedQueue.addOperation(dataOp) -// return -// case .failure(let error): -// return self.processError(error) -// } -// } -// -// guard let gasEstimateOperation = ContractEstimateGasOperation.init(self.web3, queue: self.expectedQueue, intermediate: intermediate, onBlock: onBlock) else {return self.processError(Web3Error.dataError)} -// gasEstimateOperation.next = OperationChainingType.callback(gasEstimationCallback, self.expectedQueue) -// self.expectedQueue.addOperation(gasEstimateOperation) - - } -} - - -final class ContractEstimateGasOperation: Web3Operation { - - convenience init?(_ web3Instance: web3, queue: OperationQueue? = nil, contract: web3.web3contract, method: String = "fallback", parameters: [AnyObject] = [], extraData: Data = Data(), options: Web3Options?, onBlock: String = "latest") { - guard let intermediate = contract.method(method, parameters: parameters, extraData: extraData, options: options) else {return nil} - self.init(web3Instance, queue: queue, inputData: [intermediate, onBlock] as AnyObject) - } - - convenience init?(_ web3Instance: web3, queue: OperationQueue? = nil, intermediate: TransactionIntermediate, onBlock: String = "latest") { - self.init(web3Instance, queue: queue, inputData: [intermediate, onBlock] as AnyObject) - } - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let completion = self.next else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let input = inputData! as? [AnyObject] else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard input.count == 2 else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let intermediate = input[0] as? TransactionIntermediate else {return processError(Web3Error.inputError("Invalid input supplied"))} - guard let onBlock = input[1] as? String else {return processError(Web3Error.inputError("Invalid input supplied"))} - let sendOp = EstimateGasOperation(web3, queue: expectedQueue, transactionIntermediate: intermediate, onBlock: onBlock) - sendOp.next = completion - self.expectedQueue.addOperation(sendOp) - } -} - -final class ContractSendOperation: Web3Operation { - - convenience init?(_ web3Instance: web3, queue: OperationQueue? = nil, contract: web3.web3contract, method: String = "fallback", parameters: [AnyObject] = [], extraData: Data = Data(), options: Web3Options?, onBlock: String = "pending", password: String = "BANKEXFOUNDATION") { - guard let intermediate = contract.method(method, parameters: parameters, extraData: extraData, options: options) else {return nil} - self.init(web3Instance, queue: queue, inputData: [intermediate, password, onBlock, options as Any] as AnyObject) - } - - convenience init?(_ web3Instance: web3, queue: OperationQueue? = nil, intermediate: TransactionIntermediate, options: Web3Options? = nil, onBlock: String = "pending", password: String = "BANKEXFOUNDATION") { - self.init(web3Instance, queue: queue, inputData: [intermediate, password, onBlock, options as Any] as AnyObject) - } - - override func main() { - if (error != nil) { - return self.processError(self.error!) - } - guard let completion = self.next else {return processError(Web3Error.inputError("No completion handler supplied"))} - guard inputData != nil else {return processError(Web3Error.inputError("No input data supploed"))} - guard let input = inputData! as? [AnyObject] else {return processError(Web3Error.inputError("Invalid input data supplied"))} - guard input.count == 4 else {return processError(Web3Error.inputError("Invalid number of inputs supplied"))} - guard let intermediate = input[0] as? TransactionIntermediate else {return processError(Web3Error.inputError("Invalid transaction intermediate supplied"))} - guard let password = input[1] as? String else {return processError(Web3Error.inputError("Invalid (no) password supplied"))} - guard let onBlock = input[2] as? String else {return processError(Web3Error.inputError("Invalid onBlock supplied"))} - let options = input[3] as? Web3Options - guard var mergedOptions = Web3Options.merge(intermediate.options, with: options) else {return processError(Web3Error.inputError("Can not merge options"))} - guard let from = mergedOptions.from else {return processError(Web3Error.inputError("Invalid from supplied"))} - - - let gasEstimationCallback = { (res: Result) -> () in - switch res { - case .success(let result): - guard let gasEstimate = result as? BigUInt else { - return self.processError(Web3Error.dataError) - } - guard let gasEstimateMerged = Web3Options.smartMergeGasLimit(originalOptions: intermediate.options, extraOptions: options, gasEstimage: gasEstimate) else { - return self.processError(Web3Error.inputError("Estimated gas is larger than the gas limit")) - } - mergedOptions.gasLimit = gasEstimateMerged - let transaction = intermediate.transaction - intermediate.transaction = transaction.mergedWithOptions(mergedOptions) - intermediate.options = mergedOptions - - let sendOp = SendTransactionOperation.init(self.web3, queue: self.expectedQueue, transactionIntermediate: intermediate, password: password) - sendOp.next = completion - self.expectedQueue.addOperation(sendOp) - return - case .failure(let error): - return self.processError(error) - } - } - - let nonceCallback = { (res: Result) -> () in - switch res { - case .success(let result): - guard let nonce = result as? BigUInt else { - return self.processError(Web3Error.dataError) - } - var transaction = intermediate.transaction - if self.web3.provider.network != nil { - transaction.chainID = self.web3.provider.network?.chainID - } - transaction.nonce = nonce - intermediate.transaction = transaction - guard let gasEstimateOperation = ContractEstimateGasOperation.init(self.web3, queue: self.expectedQueue, intermediate: intermediate, onBlock: onBlock) else {return self.processError(Web3Error.dataError)} - gasEstimateOperation.next = OperationChainingType.callback(gasEstimationCallback, self.expectedQueue) - self.expectedQueue.addOperation(gasEstimateOperation) - return - case .failure(let error): - return self.processError(error) - } - } - - let gasPriceCallback = { (res: Result) -> () in - switch res { - case .success(let result): - guard let gasPrice = result as? BigUInt else { - return self.processError(Web3Error.dataError) - } - if mergedOptions.gasPrice == nil { - mergedOptions.gasPrice = gasPrice - } - let transaction = intermediate.transaction - intermediate.transaction = transaction.mergedWithOptions(mergedOptions) - intermediate.options = mergedOptions - - let nonceOp = GetTransactionCountOperation.init(self.web3, queue: self.expectedQueue, address: from, onBlock: onBlock) - nonceOp.next = OperationChainingType.callback(nonceCallback, self.expectedQueue) - self.expectedQueue.addOperation(nonceOp) - return - case .failure(let error): - return self.processError(error) - } - } - - let gasPriceOp = GetGasPriceOperation.init(self.web3, queue: self.expectedQueue) - gasPriceOp.next = OperationChainingType.callback(gasPriceCallback, self.expectedQueue) - self.expectedQueue.addOperation(gasPriceOp) - } -} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Contract/Classes/Contract.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Contract/Classes/Contract.swift deleted file mode 100755 index 9f553ec40..000000000 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Contract/Classes/Contract.swift +++ /dev/null @@ -1,218 +0,0 @@ -// -// Contract.swift -// web3swift -// -// Created by Alexander Vlasov on 10.12.2017. -// Copyright © 2017 Bankex Foundation. All rights reserved. -// - -import Foundation -import BigInt - -@available(*, deprecated) -public struct Contract:ContractProtocol { - - public var allEvents: [String] { - return events.keys.flatMap({ (s) -> String in - return s - }) - } - public var allMethods: [String] { - return methods.keys.flatMap({ (s) -> String in - return s - }) - } - - public var address: EthereumAddress? = nil - var _abi: [ABIElement] - public var methods: [String: ABIElement] { - var toReturn = [String: ABIElement]() - for m in self._abi { - switch m { - case .function(let function): - guard let name = function.name else {continue} - toReturn[name] = m - default: - continue - } - } - return toReturn - } - - public var constructor: ABIElement? { - var toReturn : ABIElement? = nil - for m in self._abi { - if toReturn != nil { - break - } - switch m { - case .constructor(_): - toReturn = m - break - default: - continue - } - } - if toReturn == nil { - let defaultConstructor = ABIElement.constructor(ABIElement.Constructor.init(inputs: [], constant: false, payable: false)) - return defaultConstructor - } - return toReturn - } - - public var events: [String: ABIElement] { - var toReturn = [String: ABIElement]() - for m in self._abi { - switch m { - case .event(let event): - let name = event.name - toReturn[name] = m - default: - continue - } - } - return toReturn - } - - public var options: Web3Options? = Web3Options.defaultOptions() - - public init?(_ abiString: String, at: EthereumAddress? = nil) { - do { - let jsonData = abiString.data(using: .utf8) - let abi = try JSONDecoder().decode([ABIRecord].self, from: jsonData!) - let abiNative = try abi.map({ (record) -> ABIElement in - return try record.parse() - }) - _abi = abiNative - if at != nil { - self.address = at - } - } - catch{ - print(error) - return nil - } - } - - public init(abi: [ABIElement]) { - _abi = abi - } - - public init(abi: [ABIElement], at: EthereumAddress) { - _abi = abi - address = at - } - - public func deploy(bytecode:Data, parameters: [AnyObject] = [AnyObject](), extraData: Data = Data(), options: Web3Options?) -> EthereumTransaction? { - let to:EthereumAddress = EthereumAddress.contractDeploymentAddress() - let mergedOptions = Web3Options.merge(self.options, with: options) - - var gasLimit:BigUInt - if let gasInOptions = mergedOptions?.gasLimit { - gasLimit = gasInOptions - } else { - return nil - } - - var gasPrice:BigUInt - if let gasPriceInOptions = mergedOptions?.gasPrice { - gasPrice = gasPriceInOptions - } else { - return nil - } - - var value:BigUInt - if let valueInOptions = mergedOptions?.value { - value = valueInOptions - } else { - value = BigUInt(0) - } - guard let constructor = self.constructor else {return nil} - guard let encodedData = constructor.encodeParameters(parameters) else {return nil} - var fullData = bytecode - if encodedData != Data() { - fullData.append(encodedData) - } else if extraData != Data() { - fullData.append(extraData) - } - let transaction = EthereumTransaction(gasPrice: gasPrice, gasLimit: gasLimit, to: to, value: value, data: fullData) - return transaction - } - - public func method(_ method:String = "fallback", parameters: [AnyObject] = [AnyObject](), extraData: Data = Data(), options: Web3Options?) -> EthereumTransaction? { - var to:EthereumAddress - let mergedOptions = Web3Options.merge(self.options, with: options) - if (self.address != nil) { - to = self.address! - } else if let toFound = mergedOptions?.to, toFound.isValid { - to = toFound - } else { - return nil - } - - var gasLimit:BigUInt - if let gasInOptions = mergedOptions?.gasLimit { - gasLimit = gasInOptions - } else { - return nil - } - - var gasPrice:BigUInt - if let gasPriceInOptions = mergedOptions?.gasPrice { - gasPrice = gasPriceInOptions - } else { - return nil - } - - var value:BigUInt - if let valueInOptions = mergedOptions?.value { - value = valueInOptions - } else { - value = BigUInt(0) - } - - if (method == "fallback") { - let transaction = EthereumTransaction(gasPrice: gasPrice, gasLimit: gasLimit, to: to, value: value, data: extraData) - return transaction - } - let foundMethod = self.methods.filter { (key, value) -> Bool in - return key == method - } - guard foundMethod.count == 1 else {return nil} - let abiMethod = foundMethod[method] - guard let encodedData = abiMethod?.encodeParameters(parameters) else {return nil} - let transaction = EthereumTransaction(gasPrice: gasPrice, gasLimit: gasLimit, to: to, value: value, data: encodedData) - return transaction - } - - public func parseEvent(_ eventLog: EventLog) -> (eventName:String?, eventData:[String:Any]?) { - for (eName, ev) in self.events { - let parsed = ev.decodeReturnedLogs(eventLog) - if parsed != nil { - return (eName, parsed!) - } - } - return (nil, nil) - } - - public func decodeReturnData(_ method:String, data: Data) -> [String:Any]? { - if method == "fallback" { - return [String:Any]() - } - guard let function = methods[method] else {return nil} - guard case .function(_) = function else {return nil} - return function.decodeReturnData(data) - } - - public func testBloomForEventPrecence(eventName: String, bloom: EthereumBloomFilter) -> Bool? { - return false - } - - public func decodeInputData(_ method: String, data: Data) -> [String : Any]? { - return nil - } - - public func decodeInputData(_ data: Data) -> [String : Any]? { - return nil - } -} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/DictionaryLiteralJSONSerializer.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/DictionaryLiteralJSONSerializer.swift deleted file mode 100755 index 4bcffdc26..000000000 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/DictionaryLiteralJSONSerializer.swift +++ /dev/null @@ -1,38 +0,0 @@ -// -// DictionaryLiteralJSONSERIALIZER.swift -// web3swift -// -// Created by Alexander Vlasov on 05.12.2017. -// Copyright © 2017 Alexander Vlasov. All rights reserved. -// - -import Foundation - -extension DictionaryLiteral { - - public func toJSONString () throws -> String { - var jsonString = "{" - for (idx, _) in self.enumerated() { - let v = self[idx] - let key = v.key - let val = v.value - switch val { - case is Int : - jsonString.append("\"\(key)\":\(val)") - jsonString.append(",") - case is String : - jsonString.append("\"\(key)\":\"\(val)\"") - jsonString.append(",") - case is DictionaryLiteral : - let casted = val as! DictionaryLiteral - let nestedString = try casted.toJSONString() - jsonString.append("\"\(key)\":\(nestedString),") - default: - break - } - } - jsonString.removeLast(1) - jsonString.append("}") - return jsonString - } -} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/SynchronizedQueue.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/SynchronizedQueue.swift deleted file mode 100755 index a085c9e02..000000000 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Convenience/Classes/SynchronizedQueue.swift +++ /dev/null @@ -1,257 +0,0 @@ -// -// SynchronizedQueue.swift -// web3swift -// -// Created by Alexander Vlasov on 06.04.2018. -// Copyright © 2018 Bankex Foundation. All rights reserved. -// - -import Foundation - -/// A thread-safe array. -public class SynchronizedArray { - fileprivate let queue = DispatchQueue(label: "io.zamzam.ZamzamKit.SynchronizedArray", attributes: .concurrent) - fileprivate var array = [Element]() -} - -// MARK: - Properties -public extension SynchronizedArray { - - /// The first element of the collection. - var first: Element? { - var result: Element? - queue.sync { result = self.array.first } - return result - } - - /// The last element of the collection. - var last: Element? { - var result: Element? - queue.sync { result = self.array.last } - return result - } - - /// The number of elements in the array. - var count: Int { - var result = 0 - queue.sync { result = self.array.count } - return result - } - - /// A Boolean value indicating whether the collection is empty. - var isEmpty: Bool { - var result = false - queue.sync { result = self.array.isEmpty } - return result - } - - /// A textual representation of the array and its elements. - var description: String { - var result = "" - queue.sync { result = self.array.description } - return result - } -} - -// MARK: - Immutable -public extension SynchronizedArray { - /// Returns the first element of the sequence that satisfies the given predicate or nil if no such element is found. - /// - /// - Parameter predicate: A closure that takes an element of the sequence as its argument and returns a Boolean value indicating whether the element is a match. - /// - Returns: The first match or nil if there was no match. - func first(where predicate: (Element) -> Bool) -> Element? { - var result: Element? - queue.sync { result = self.array.first(where: predicate) } - return result - } - - /// Returns an array containing, in order, the elements of the sequence that satisfy the given predicate. - /// - /// - Parameter isIncluded: A closure that takes an element of the sequence as its argument and returns a Boolean value indicating whether the element should be included in the returned array. - /// - Returns: An array of the elements that includeElement allowed. - func filter(_ isIncluded: (Element) -> Bool) -> [Element] { - var result = [Element]() - queue.sync { result = self.array.filter(isIncluded) } - return result - } - - /// Returns the first index in which an element of the collection satisfies the given predicate. - /// - /// - Parameter predicate: A closure that takes an element as its argument and returns a Boolean value that indicates whether the passed element represents a match. - /// - Returns: The index of the first element for which predicate returns true. If no elements in the collection satisfy the given predicate, returns nil. - func index(where predicate: (Element) -> Bool) -> Int? { - var result: Int? - queue.sync { result = self.array.index(where: predicate) } - return result - } - - /// Returns the elements of the collection, sorted using the given predicate as the comparison between elements. - /// - /// - Parameter areInIncreasingOrder: A predicate that returns true if its first argument should be ordered before its second argument; otherwise, false. - /// - Returns: A sorted array of the collection’s elements. - func sorted(by areInIncreasingOrder: (Element, Element) -> Bool) -> [Element] { - var result = [Element]() - queue.sync { result = self.array.sorted(by: areInIncreasingOrder) } - return result - } - - /// Returns an array containing the non-nil results of calling the given transformation with each element of this sequence. - /// - /// - Parameter transform: A closure that accepts an element of this sequence as its argument and returns an optional value. - /// - Returns: An array of the non-nil results of calling transform with each element of the sequence. - func flatMap(_ transform: (Element) -> ElementOfResult?) -> [ElementOfResult] { - var result = [ElementOfResult]() - queue.sync { result = self.array.compactMap(transform) } - return result - } - - /// Calls the given closure on each element in the sequence in the same order as a for-in loop. - /// - /// - Parameter body: A closure that takes an element of the sequence as a parameter. - func forEach(_ body: (Element) -> Void) { - queue.sync { self.array.forEach(body) } - } - - /// Returns a Boolean value indicating whether the sequence contains an element that satisfies the given predicate. - /// - /// - Parameter predicate: A closure that takes an element of the sequence as its argument and returns a Boolean value that indicates whether the passed element represents a match. - /// - Returns: true if the sequence contains an element that satisfies predicate; otherwise, false. - func contains(where predicate: (Element) -> Bool) -> Bool { - var result = false - queue.sync { result = self.array.contains(where: predicate) } - return result - } -} - -// MARK: - Mutable -public extension SynchronizedArray { - - /// Adds a new element at the end of the array. - /// - /// - Parameter element: The element to append to the array. - func append( _ element: Element) { - queue.async(flags: .barrier) { - self.array.append(element) - } - } - - /// Adds a new element at the end of the array. - /// - /// - Parameter element: The element to append to the array. - func append( _ elements: [Element]) { - queue.async(flags: .barrier) { - self.array += elements - } - } - - /// Inserts a new element at the specified position. - /// - /// - Parameters: - /// - element: The new element to insert into the array. - /// - index: The position at which to insert the new element. - func insert( _ element: Element, at index: Int) { - queue.async(flags: .barrier) { - self.array.insert(element, at: index) - } - } - - /// Removes and returns the element at the specified position. - /// - /// - Parameters: - /// - index: The position of the element to remove. - /// - completion: The handler with the removed element. - func remove(at index: Int, completion: ((Element) -> Void)? = nil) { - queue.async(flags: .barrier) { - let element = self.array.remove(at: index) - - DispatchQueue.main.async { - completion?(element) - } - } - } - - /// Removes and returns the element at the specified position. - /// - /// - Parameters: - /// - predicate: A closure that takes an element of the sequence as its argument and returns a Boolean value indicating whether the element is a match. - /// - completion: The handler with the removed element. - func remove(where predicate: @escaping (Element) -> Bool, completion: ((Element) -> Void)? = nil) { - queue.async(flags: .barrier) { - guard let index = self.array.index(where: predicate) else { return } - let element = self.array.remove(at: index) - - DispatchQueue.main.async { - completion?(element) - } - } - } - - /// Removes all elements from the array. - /// - /// - Parameter completion: The handler with the removed elements. - func removeAll(completion: (([Element]) -> Void)? = nil) { - queue.async(flags: .barrier) { - let elements = self.array - self.array.removeAll() - - DispatchQueue.main.async { - completion?(elements) - } - } - } -} - -public extension SynchronizedArray { - - /// Accesses the element at the specified position if it exists. - /// - /// - Parameter index: The position of the element to access. - /// - Returns: optional element if it exists. - subscript(index: Int) -> Element? { - get { - var result: Element? - - queue.sync { - guard self.array.startIndex.. Bool { - var result = false - queue.sync { result = self.array.contains(element) } - return result - } -} - -// MARK: - Infix operators -public extension SynchronizedArray { - - static func +=(left: inout SynchronizedArray, right: Element) { - left.append(right) - } - - static func +=(left: inout SynchronizedArray, right: [Element]) { - left.append(right) - } -} - diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/BigUInt+ObjC.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/BigUInt+ObjC.swift new file mode 100755 index 000000000..252a86727 --- /dev/null +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/BigUInt+ObjC.swift @@ -0,0 +1,32 @@ +// +// BigUInt+ObjC.swift +// web3swift +// +// Created by Alexander Vlasov on 08.08.2018. +// Copyright © 2018 Bankex Foundation. All rights reserved. +// + +import Foundation +import BigInt + +//@objc(BigUInt) +public final class _ObjCBigUInt: NSObject{ + private (set) var biguint: BigUInt? + + public init(value: String) { + self.biguint = BigUInt(value) + } + + public init(value: String, radix: Int) { + self.biguint = BigUInt(value, radix: radix) + } + + init(value: BigUInt) { + self.biguint = value + } + + public func toString(radix: Int = 10) -> NSString { + guard let val = self.biguint else {return "" as NSString} + return String(val, radix: radix) as NSString + } +} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/EthereumAddress+ObjC.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/EthereumAddress+ObjC.swift new file mode 100755 index 000000000..8c55538c3 --- /dev/null +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/EthereumAddress+ObjC.swift @@ -0,0 +1,30 @@ +// +// EthereumAddress+ObjC.swift +// web3swift +// +// Created by Alexander Vlasov on 08.08.2018. +// Copyright © 2018 Bankex Foundation. All rights reserved. +// + +import Foundation + +//@objc(EthereumAddress) +public final class _ObjCEthereumAddress: NSObject{ + private (set) var address: EthereumAddress? + + public init(address: String) { + self.address = EthereumAddress(address) + } + + public init(address: Data) { + self.address = EthereumAddress(address) + } + + init(address: EthereumAddress) { + self.address = address + } + + public static var contractDeploymentAddress: _ObjCEthereumAddress { + return _ObjCEthereumAddress(address: EthereumAddress.contractDeploymentAddress()) + } +} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/KeystoreManager+ObjC.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/KeystoreManager+ObjC.swift new file mode 100755 index 000000000..487391253 --- /dev/null +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/KeystoreManager+ObjC.swift @@ -0,0 +1,23 @@ +// +// KeystoreManager+ObjC.swift +// web3swift +// +// Created by Alexander Vlasov on 08.08.2018. +// Copyright © 2018 Bankex Foundation. All rights reserved. +// + +import Foundation + +//@objc(KeystoreManager) +public final class _ObjCKeystoreManager: NSObject{ + private (set) var keystoreManager: KeystoreManager? + + init(plainKeystore: _ObjCPlainKeystore) { + guard let ks = plainKeystore.keystore else {return} + self.keystoreManager = KeystoreManager([ks]) + } + + init(plainKeystore: PlainKeystore) { + self.keystoreManager = KeystoreManager([plainKeystore]) + } +} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/PlainKeystore+ObjC.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/PlainKeystore+ObjC.swift new file mode 100755 index 000000000..20218fcd6 --- /dev/null +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/PlainKeystore+ObjC.swift @@ -0,0 +1,30 @@ +// +// PlainKeystore+ObjC.swift +// web3swift +// +// Created by Alexander Vlasov on 08.08.2018. +// Copyright © 2018 Bankex Foundation. All rights reserved. +// + +import Foundation + +//@objc(PlainKeystore) +public final class _ObjCPlainKeystore: NSObject{ + private (set) var keystore: PlainKeystore? + + init(privateKey: String) { + self.keystore = PlainKeystore(privateKey: privateKey) + } + + init(privateKey: Data) { + self.keystore = PlainKeystore(privateKey: privateKey) + } + + init(privateKey: NSData) { + self.keystore = PlainKeystore(privateKey: privateKey as Data) + } + + init(keystore: PlainKeystore) { + self.keystore = keystore + } +} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/Web3+Eth+ObjC.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/Web3+Eth+ObjC.swift new file mode 100755 index 000000000..251bb05c9 --- /dev/null +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/Web3+Eth+ObjC.swift @@ -0,0 +1,37 @@ +// +// Web3+Eth+ObjC.swift +// web3swift +// +// Created by Alexander Vlasov on 08.08.2018. +// Copyright © 2018 Bankex Foundation. All rights reserved. +// + +import Foundation + +//@objc(web3Eth) +public final class _ObjCweb3Eth: NSObject { + private (set) weak var web3: web3? + + init(web3: web3?) { + self.web3 = web3 + } + + public func getBalance(address: _ObjCEthereumAddress, onBlock: NSString = "latest", error: NSErrorPointer) -> _ObjCBigUInt? { + guard let addr = address.address else { + error?.pointee = Web3Error.inputError(desc: "Address is empty") as NSError + return nil + } + guard let result = self.web3?.eth.getBalance(address: addr, onBlock: onBlock as String) else { + error?.pointee = Web3Error.processingError(desc: "Web3 object was not properly initialized") as NSError + return nil + } + switch result { + case .success(let balance): + let biguint = _ObjCBigUInt(value: balance) + return biguint + case .failure(let web3error): + error?.pointee = web3error as NSError + return nil + } + } +} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/Web3+HttpProvider+ObjC.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/Web3+HttpProvider+ObjC.swift new file mode 100755 index 000000000..f6ed77a11 --- /dev/null +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/Web3+HttpProvider+ObjC.swift @@ -0,0 +1,33 @@ +// +// Web3+Provider+ObjC.swift +// web3swift +// +// Created by Alexander Vlasov on 08.08.2018. +// Copyright © 2018 Bankex Foundation. All rights reserved. +// + +import Foundation + +//@objc(Web3HttpProvider) +final class _ObjCWeb3HttpProvider: NSObject{ + private (set) var web3Provider: Web3HttpProvider? + + init(providerURL: NSURL, network: _ObjCNetwork, keystoreManager: _ObjCKeystoreManager){ + let network = Networks.fromInt(network.networkID) + guard let ks = keystoreManager.keystoreManager else {return} + self.web3Provider = Web3HttpProvider(providerURL as URL, network: network, keystoreManager: ks) + } + + init(web3Provider: Web3HttpProvider) { + self.web3Provider = web3Provider + } +} + +@objc(Network) +final class _ObjCNetwork: NSObject { + let networkID: Int + + init(networkID: Int) { + self.networkID = networkID + } +} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/Web3+Instance+ObjC.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/Web3+Instance+ObjC.swift new file mode 100755 index 000000000..6fa159b6a --- /dev/null +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/Web3+Instance+ObjC.swift @@ -0,0 +1,22 @@ +// +// Web3Instnace+ObjectiveC.swift +// web3swift +// +// Created by Alexander Vlasov on 08.08.2018. +// Copyright © 2018 Bankex Foundation. All rights reserved. +// + +import Foundation + +//@objc(web3) +public final class _ObjCweb3: NSObject { + private (set) var web3: web3? + + init(web3: web3?) { + self.web3 = web3 + } + + public var web3Eth: _ObjCweb3Eth { + return _ObjCweb3Eth(web3: self.web3) + } +} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/Web3+ObjC.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/Web3+ObjC.swift new file mode 100755 index 000000000..44463df6e --- /dev/null +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/ObjectiveCbridge/Classes/Web3+ObjC.swift @@ -0,0 +1,28 @@ +// +// Web3+ObjectiveC.swift +// web3swift +// +// Created by Alexander Vlasov on 08.08.2018. +// Copyright © 2018 Bankex Foundation. All rights reserved. +// + +import Foundation + +//@objc(Web3) +public final class _ObjCWeb3: NSObject { + public static func InfuraMainnetWeb3() -> _ObjCweb3 { + let web3 = Web3.InfuraMainnetWeb3() + return _ObjCweb3(web3: web3) + } + + public static func InfuraRinkebyWeb3() -> _ObjCweb3 { + let web3 = Web3.InfuraRinkebyWeb3() + return _ObjCweb3(web3: web3) + } + + public static func new(providerURL: NSURL) -> _ObjCweb3 { + let web3 = Web3.new(providerURL as URL) + return _ObjCweb3(web3: web3) + } +} + diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/PrecompiledContracts/ERC20/Web3+ERC20.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/PrecompiledContracts/ERC20/Web3+ERC20.swift new file mode 100644 index 000000000..005f5ce1a --- /dev/null +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/PrecompiledContracts/ERC20/Web3+ERC20.swift @@ -0,0 +1,207 @@ +// +// Web3+ERC721.swift +// web3swift +// +// Created by Alex Vlasov on 28.08.2018. +// Copyright © 2018 Alex Vlasov. All rights reserved. +// + +import Foundation +import BigInt +import Result + +// This namespace contains functions to work with ERC20 tokens. +// variables are lazyly evaluated or global token information (name, ticker, total supply) +// can be imperatively read and saved +class ERC20 { + private var _name: String? = nil + private var _symbol: String? = nil + private var _decimals: UInt8? = nil + private var _hasReadProperties: Bool = false + + public var options: Web3Options + public var web3: web3 + public var provider: Web3Provider + public var address: EthereumAddress + + lazy var contract: web3.web3contract = { + let contract = self.web3.contract(Web3.Utils.erc20ABI, at: self.address, abiVersion: 2) + precondition(contract != nil) + return contract! + }() + + public init(web3: web3, provider: Web3Provider, address: EthereumAddress) { + self.web3 = web3 + self.provider = provider + self.address = address + var mergedOptions = web3.options + mergedOptions.to = address + self.options = mergedOptions + } + + public var name: String { + self.readProperties() + if self._name != nil { + return self._name! + } + return "" + } + + public var symbol: String { + self.readProperties() + if self._symbol != nil { + return self._symbol! + } + return "" + } + + public var decimals: UInt8 { + self.readProperties() + if self._decimals != nil { + return self._decimals! + } + return 255 + } + + public func readProperties() { + if self._hasReadProperties { + return + } + defer { self._hasReadProperties = true } + let contract = self.contract + guard contract.contract.address != nil else {return} + guard let nameResult = contract.method("name", parameters: [] as [AnyObject], extraData: Data(), options: self.options)?.call(options: nil, onBlock: "latest") else {return} + switch nameResult { + case .success(let returned): + guard let res = returned["0"] as? String else {break} + self._name = res + default: + self._name = "" + } + + guard let symbol = contract.method("symbol", parameters: [] as [AnyObject], extraData: Data(), options: self.options)?.call(options: nil, onBlock: "latest") else {return} + switch symbol { + case .success(let returned): + guard let res = returned["0"] as? String else {break} + self._symbol = res + default: + self._symbol = "" + } + + guard let decimalsResult = contract.method("decimals", parameters: [] as [AnyObject], extraData: Data(), options: self.options)?.call(options: nil, onBlock: "latest") else {return} + switch decimalsResult { + case .success(let returned): + guard let res = returned["0"] as? BigUInt else {return} + self._decimals = UInt8(res) + default: + self._decimals = 255 + } + } + + func getBalance(account: EthereumAddress) -> Result { + let contract = self.contract + let result = contract.method("balanceOf", parameters: [account] as [AnyObject], extraData: Data(), options: self.options)!.call(options: nil, onBlock: "latest") + switch result { + case .success(let returned): + guard let res = returned["0"] as? BigUInt else {return Result.failure(Web3Error.processingError(desc: "Failed to get result of expected type from the Ethereum node"))} + return Result(res) + case .failure(let error): + return Result.failure(error) + } + } + + func getAllowance(originalOwner: EthereumAddress, delegate: EthereumAddress) -> Result { + let contract = self.contract + let result = contract.method("allowance", parameters: [originalOwner, delegate] as [AnyObject], extraData: Data(), options: self.options)!.call(options: nil, onBlock: "latest") + switch result { + case .success(let returned): + guard let res = returned["0"] as? BigUInt else {return Result.failure(Web3Error.processingError(desc: "Failed to get result of expected type from the Ethereum node"))} + return Result(res) + case .failure(let error): + return Result.failure(error) + } + } + + func transfer(from: EthereumAddress, to: EthereumAddress, amount: String) -> Result { + let contract = self.contract + var basicOptions = Web3Options() + basicOptions.from = from + basicOptions.to = self.address + + // get the decimals manually + let intermediate = contract.method("decimals", options: basicOptions)! + let callResult = intermediate.call(options: basicOptions, onBlock: "latest") + var decimals = BigUInt(0) + switch callResult { + case .success(let response): + guard let dec = response["0"], let decTyped = dec as? BigUInt else { + return Result.failure(Web3Error.inputError(desc: "Contract may be not ERC20 compatible, can not get decimals"))} + decimals = decTyped + break + case .failure(let error): + return Result.failure(error) + } + let intDecimals = Int(decimals) + guard let value = Web3.Utils.parseToBigUInt(amount, decimals: intDecimals) else { + return Result.failure(Web3Error.inputError(desc: "Can not parse inputted amount")) + } + let intermediateToSend = contract.method("transfer", parameters: [to, value] as [AnyObject], options: basicOptions)! + return Result(intermediateToSend) + } + + func transferFrom(from: EthereumAddress, to: EthereumAddress, originalOwner: EthereumAddress, amount: String) -> Result { + let contract = self.contract + var basicOptions = Web3Options() + basicOptions.from = from + basicOptions.to = self.address + + // get the decimals manually + let intermediate = contract.method("decimals", options: basicOptions)! + let callResult = intermediate.call(options: basicOptions, onBlock: "latest") + var decimals = BigUInt(0) + switch callResult { + case .success(let response): + guard let dec = response["0"], let decTyped = dec as? BigUInt else { + return Result.failure(Web3Error.inputError(desc: "Contract may be not ERC20 compatible, can not get decimals"))} + decimals = decTyped + break + case .failure(let error): + return Result.failure(error) + } + let intDecimals = Int(decimals) + guard let value = Web3.Utils.parseToBigUInt(amount, decimals: intDecimals) else { + return Result.failure(Web3Error.inputError(desc: "Can not parse inputted amount")) + } + let intermediateToSend = contract.method("transferFrom", parameters: [originalOwner, to, value] as [AnyObject], options: basicOptions)! + return Result(intermediateToSend) + } + + func setAllowance(from: EthereumAddress, to: EthereumAddress, newAmount: String) -> Result { + let contract = self.contract + var basicOptions = Web3Options() + basicOptions.from = from + basicOptions.to = self.address + + // get the decimals manually + let intermediate = contract.method("setAllowance", options: basicOptions)! + let callResult = intermediate.call(options: basicOptions, onBlock: "latest") + var decimals = BigUInt(0) + switch callResult { + case .success(let response): + guard let dec = response["0"], let decTyped = dec as? BigUInt else { + return Result.failure(Web3Error.inputError(desc: "Contract may be not ERC20 compatible, can not get decimals"))} + decimals = decTyped + break + case .failure(let error): + return Result.failure(error) + } + let intDecimals = Int(decimals) + guard let value = Web3.Utils.parseToBigUInt(newAmount, decimals: intDecimals) else { + return Result.failure(Web3Error.inputError(desc: "Can not parse inputted amount")) + } + let intermediateToSend = contract.method("setAllowance", parameters: [to, value] as [AnyObject], options: basicOptions)! + return Result(intermediateToSend) + } + + +} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Utils/Classes/EIP681.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Utils/Classes/EIP681.swift new file mode 100644 index 000000000..f0b20a6e5 --- /dev/null +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Utils/Classes/EIP681.swift @@ -0,0 +1,258 @@ +// +// EIP681.swift +// web3swift +// +// Created by Alex Vlasov on 08.09.2018. +// Copyright © 2018 Bankex Foundation. All rights reserved. +// + +import Foundation +import BigInt + +extension Web3 { + +// request = "ethereum" ":" [ "pay-" ]target_address [ "@" chain_id ] [ "/" function_name ] [ "?" parameters ] +// target_address = ethereum_address +// chain_id = 1*DIGIT +// function_name = STRING +// ethereum_address = ( "0x" 40*40HEXDIG ) / ENS_NAME +// parameters = parameter *( "&" parameter ) +// parameter = key "=" value +// key = "value" / "gas" / "gasLimit" / "gasPrice" / TYPE +// value = number / ethereum_address / STRING +// number = [ "-" / "+" ] *DIGIT [ "." 1*DIGIT ] [ ( "e" / "E" ) [ 1*DIGIT ] [ "+" UNIT ] + + public struct EIP681Code { + public struct EIP681Parameter { + public var type: ABIv2.Element.ParameterType + public var value: AnyObject + } + public var isPayRequest: Bool + public var targetAddress: TargetAddress + public var chainID: BigUInt? + public var functionName: String? + public var parameters: [EIP681Parameter] = [EIP681Parameter]() + public var gasLimit: BigUInt? + public var gasPrice: BigUInt? + public var amount: BigUInt? + public var function: ABIv2.Element.Function? + + public enum TargetAddress { + case ethereumAddress(EthereumAddress) + case ensAddress(String) + public init(_ string: String) { + if let ethereumAddress = EthereumAddress(string) { + self = TargetAddress.ethereumAddress(ethereumAddress) + } else { + self = TargetAddress.ensAddress(string) + } + } + } + + public init(_ targetAddress: TargetAddress, isPayRequest: Bool = false) { + self.isPayRequest = isPayRequest + self.targetAddress = targetAddress + } + +// public struct Function { +// public var method: String +// public var parameters: [(ABIv2.Element.ParameterType, AnyObject)] +// +// public func toString() -> String? { +// let encoding = method + "(" + parameters.map({ (el) -> String in +// if let string = el.1 as? String { +// return el.0.abiRepresentation + " " + string +// } else if let number = el.1 as? BigUInt { +// return el.0.abiRepresentation + " " + String(number, radix: 10) +// } else if let number = el.1 as? BigInt { +// return el.0.abiRepresentation + " " + String(number, radix: 10) +// } else if let data = el.1 as? Data { +// return el.0.abiRepresentation + " " + data.toHexString().addHexPrefix() +// } +// return "" +// }).joined(separator: ", ") + ")" +// return encoding +// } +// } + } + + public struct EIP681CodeParser { +// static var addressRegex = "^(pay-)?([0-9a-zA-Z]+)(@[0-9]+)?" + static var addressRegex = "^(pay-)?([0-9a-zA-Z.]+)(@[0-9]+)?\\/?(.*)?$" + + public static func parse(_ data: Data) -> EIP681Code? { + guard let string = String(data: data, encoding: .utf8) else {return nil} + return parse(string) + } + + public static func parse(_ string: String) -> EIP681Code? { + guard string.hasPrefix("ethereum:") else {return nil} + let striped = string.components(separatedBy: "ethereum:") + guard striped.count == 2 else {return nil} + guard let encoding = striped[1].removingPercentEncoding else {return nil} +// guard let url = URL.init(string: encoding) else {return nil} + let matcher = try! NSRegularExpression(pattern: addressRegex, options: NSRegularExpression.Options.dotMatchesLineSeparators) + let match = matcher.matches(in: encoding, options: NSRegularExpression.MatchingOptions.anchored, range: encoding.fullNSRange) + guard match.count == 1 else {return nil} + guard match[0].numberOfRanges == 5 else {return nil} + var addressString: String? = nil + var chainIDString: String? = nil + var tail: String? = nil +// if let payModifierRange = Range(match[0].range(at: 1), in: encoding) { +// let payModifierString = String(encoding[payModifierRange]) +// print(payModifierString) +// } + if let addressRange = Range(match[0].range(at: 2), in: encoding) { + addressString = String(encoding[addressRange]) + } + if let chainIDRange = Range(match[0].range(at: 3), in: encoding) { + chainIDString = String(encoding[chainIDRange]) + } + if let tailRange = Range(match[0].range(at: 4), in: encoding) { + tail = String(encoding[tailRange]) + } + guard let address = addressString else {return nil} + let targetAddress = EIP681Code.TargetAddress(address) + + var code = EIP681Code(targetAddress) + if chainIDString != nil { + chainIDString!.remove(at: chainIDString!.startIndex) + code.chainID = BigUInt(chainIDString!) + } + if tail == nil { + return code + } + guard let components = URLComponents(string: tail!) else {return code} + if components.path == "" { + code.isPayRequest = true + } else { + code.functionName = components.path + } + guard let queryItems = components.queryItems else {return code} + var inputNumber: Int = 0 + var inputs = [ABIv2.Element.InOut]() + for comp in queryItems { + if let inputType = try? ABIv2TypeParser.parseTypeString(comp.name) { + guard let value = comp.value else {continue} + var nativeValue: AnyObject? = nil + switch inputType { + case .address: + let val = EIP681Code.TargetAddress(value) + switch val { + case .ethereumAddress(let ethereumAddress): + nativeValue = ethereumAddress as AnyObject + case .ensAddress(let ens): + let web = web3(provider: InfuraProvider(Networks.fromInt(Int(code.chainID ?? 1)) ?? Networks.Mainnet)!) + var ensModel = ENS(web3: web) + let resolver = ensModel.resolver(forDomain: ens) + switch resolver { + case .failure(_): + nativeValue = ens as AnyObject + case .success(var res): + let address = res.addr(forDomain: ens) + switch address { + case .failure(_): + nativeValue = ens as AnyObject + case .success(let res): + nativeValue = res as AnyObject + } + } + + } + case .uint(bits: _): + if let val = BigUInt(value, radix: 10) { + nativeValue = val as AnyObject + } else if let val = BigUInt(value.stripHexPrefix(), radix: 16) { + nativeValue = val as AnyObject + } + case .int(bits: _): + if let val = BigInt(value, radix: 10) { + nativeValue = val as AnyObject + } else if let val = BigInt(value.stripHexPrefix(), radix: 16) { + nativeValue = val as AnyObject + } + case .string: + nativeValue = value as AnyObject + case .dynamicBytes: + if let val = Data.fromHex(value) { + nativeValue = val as AnyObject + } else if let val = value.data(using: .utf8) { + nativeValue = val as AnyObject + } + case .bytes(length: _): + if let val = Data.fromHex(value) { + nativeValue = val as AnyObject + } else if let val = value.data(using: .utf8) { + nativeValue = val as AnyObject + } + case .bool: + switch value { + case "true","True", "TRUE", "1": + nativeValue = true as AnyObject + case "false", "False", "FALSE", "0": + nativeValue = false as AnyObject + default: + nativeValue = true as AnyObject + } + default: + continue + } + if nativeValue != nil { + inputs.append(ABIv2.Element.InOut(name: String(inputNumber), type: inputType)) + code.parameters.append(EIP681Code.EIP681Parameter(type: inputType, value: nativeValue!)) + inputNumber = inputNumber + 1 + } else { + return nil + } + } else { + switch comp.name { + case "value": + guard let value = comp.value else {return nil} + let splittedValue = value.split(separator: "e") + if splittedValue.count <= 1 { + guard let val = BigUInt(value, radix: 10) else {return nil } + code.amount = val + } else if splittedValue.count == 2 { + guard let power = Double(splittedValue[1]) else { return nil } + let splittedNumber = String(splittedValue[0]).replacingOccurrences(of: ",", with: ".").split(separator: ".") + var a = BigUInt(pow(10, power)) + if splittedNumber.count == 1 { + guard let number = BigUInt(splittedNumber[0], radix: 10) else { return nil } + code.amount = number * a + } else if splittedNumber.count == 2 { + let stringNumber = String(splittedNumber[0]) + String(splittedNumber[1]) + let am = BigUInt(pow(10, Double(splittedNumber[1].count))) + a = a / am + guard let number = BigUInt(stringNumber, radix: 10) else { return nil } + code.amount = number * a + } else { return nil } + } else { return nil } + + case "gas": + guard let value = comp.value else {return nil} + guard let val = BigUInt(value, radix: 10) else {return nil} + code.gasLimit = val + case "gasLimit": + guard let value = comp.value else {return nil} + guard let val = BigUInt(value, radix: 10) else {return nil} + code.gasLimit = val + case "gasPrice": + guard let value = comp.value else {return nil} + guard let val = BigUInt(value, radix: 10) else {return nil} + code.gasPrice = val + default: + continue + } + } + } + + if code.functionName != nil { + let functionEncoding = ABIv2.Element.Function(name: code.functionName!, inputs: inputs, outputs: [ABIv2.Element.InOut](), constant: false, payable: code.amount != nil) + code.function = functionEncoding + } + + print(code) + return code + } + } +} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Utils/Classes/ENS.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Utils/Classes/ENS.swift new file mode 100644 index 000000000..1f02f62c5 --- /dev/null +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Utils/Classes/ENS.swift @@ -0,0 +1,155 @@ +// +// ENS.swift +// web3swift-iOS +// + +import Foundation +import BigInt +import Result + +public struct ENS { + + let web3: web3 + let ensContractAddress: EthereumAddress? + + init(web3: web3) { + self.web3 = web3 + switch web3.provider.network { + case .Mainnet?: + ensContractAddress = EthereumAddress("0x314159265dd8dbb310642f98f50c066173c1259b") + case .Rinkeby?: + ensContractAddress = EthereumAddress("0xe7410170f87102df0055eb195163a03b7f2bff4a") + case .Ropsten?: + ensContractAddress = EthereumAddress("0x112234455c3a32fd11230c42e7bccd4a84e02010") + default: + ensContractAddress = nil + } + } + + private lazy var registryContract: web3.web3contract = { + let contract = self.web3.contract(Web3.Utils.ensRegistryABI, at: self.ensContractAddress, abiVersion: 2) + precondition(contract != nil) + return contract! + }() + + + //MARK: - Returns resolver for the given domain + mutating func resolver(forDomain domain: String) -> Result { + guard let nameHash = NameHash.nameHash(domain) else { return Result.failure(Web3Error.dataError) } + let options = Web3Options.defaultOptions() + guard let transaction = self.registryContract.method("resolver", parameters: [nameHash as AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = transaction.call(options: options) + switch result { + case .success(let res): + guard let resolverAddress = res["0"] as? EthereumAddress else { return Result.failure(Web3Error.dataError) } + return Result(ResolverENS(web3: self.web3, resolverAddress: resolverAddress)) + case .failure(let error): + return Result.failure(error) + } + } + + //TODO: - + /* + 1. Write a function that allows map domain to the name + */ +} + +public struct ResolverENS { + let web3: web3 + let resolverAddress: EthereumAddress + + public enum InterfaceName { + case addr + case name + case ABI + case pubkey + + func hash() -> String { + switch self { + case .ABI: + return "0x2203ab56" + case .addr: + return "0x3b3b57de" + case .name: + return "0x691f3431" + case .pubkey: + return "0xc8690233" + } + } + } + + private lazy var resolverContract: web3.web3contract = { + let contract = self.web3.contract(Web3.Utils.resolverABI, at: self.resolverAddress, abiVersion: 2) + precondition(contract != nil) + return contract! + }() + + init(web3: web3, resolverAddress: EthereumAddress) { + self.web3 = web3 + self.resolverAddress = resolverAddress + } + + mutating func supportsInterface(interfaceID: Data) -> Result { + return supportsInterface(interfaceID: interfaceID.toHexString()) + } + + //MARK: - returns true if the contract supports given interface + mutating func supportsInterface(interfaceID: String) -> Result { + let options = Web3Options.defaultOptions() + guard let transaction = self.resolverContract.method("supportsInterface", parameters: [interfaceID as AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = transaction.call(options: options) + switch result { + case .success(let res): + guard let supports = res["0"] as? Bool else { return Result.failure(Web3Error.dataError) } + return Result(supports) + case .failure(let error): + return Result.failure(error) + } + } + + //MARK: - returns address for the given domain at given resolver + mutating func addr(forDomain domain: String) -> Result { + guard let nameHash = NameHash.nameHash(domain) else { return Result.failure(Web3Error.dataError) } + let options = Web3Options.defaultOptions() + guard let transaction = self.resolverContract.method("addr", parameters: [nameHash as AnyObject], options: options) else { return Result.failure(Web3Error.dataError) } + let result = transaction.call(options: options) + switch result { + case .success(let res): + return Result(res["0"] as! EthereumAddress) + case .failure(let error): + return Result.failure(error) + } + } + + //MARK: - returns corresponding ENS to the requested node + mutating func name(node: String) -> Result { + let options = Web3Options.defaultOptions() + guard let transaction = self.resolverContract.method("name", parameters: [node.lowercased() as AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError)} + let result = transaction.call(options: options) + switch result { + case .success(let res): + return Result(res["0"] as! String) + case .failure(let error): + return Result.failure(error) + } + + } + + //MARK: - returns ABI in the requested encodings + mutating func ABI(node: String, contentType: BigUInt) -> Result<(BigUInt, Data), Web3Error> { + let options = Web3Options.defaultOptions() + guard let transaction = self.resolverContract.method("ABI", parameters: [node, contentType] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = transaction.call(options: options) + switch result { + case .success(let res): + guard let encoding = res["0"] as? BigUInt else { return Result.failure(Web3Error.dataError) } + guard let data = res["1"] as? Data else { return Result.failure(Web3Error.dataError) } + return Result((encoding, data)) + case .failure(let error): + return Result.failure(error) + } + } + + //TODO: - func pubkey() +} + diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Utils/Classes/NameHash.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Utils/Classes/NameHash.swift new file mode 100644 index 000000000..cf4a889ce --- /dev/null +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Utils/Classes/NameHash.swift @@ -0,0 +1,54 @@ +// +// NameHash.swift +// web3swift +// +// Created by Alex Vlasov on 08.09.2018. +// Copyright © 2018 Bankex Foundation. All rights reserved. +// + +import Foundation +import CryptoSwift + +public struct NameHash { + public static func normalizeDomainName(_ domain: String) -> String? { + // TODO use ICU4C library later for domain name normalization, althoug f**k it for now, it's few megabytes large piece + let normalized = domain.lowercased() + return normalized + } + + public static func nameHash(_ domain: String) -> Data? { + guard let normalized = NameHash.normalizeDomainName(domain) else {return nil} + return namehash(normalized) + } + + static func namehash(_ name: String) -> Data? { + if name == "" { + return Data(repeating: 0, count: 32) + } + let parts = name.split(separator: ".") + guard parts.count > 0 else { + return nil + } + guard let lowerLevel = parts.first else { + return nil + } + var remainder = "" + if parts.count > 1 { + remainder = parts[1 ..< parts.count].joined(separator: ".") + } + // TODO here some better normalization can happen + var hashData = Data() + guard let remainderHash = namehash(remainder) else { + return nil + } + guard let labelData = lowerLevel.data(using: .utf8) else { + return nil + } + hashData.append(remainderHash) + hashData.append(labelData.sha3(.keccak256)) + let hash = hashData.sha3(.keccak256) + print(name) + print(hash.toHexString()) + return hash + } +} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Deprecated.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Deprecated.swift deleted file mode 100755 index 78f2c1aaf..000000000 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/Web3/Classes/Web3+Deprecated.swift +++ /dev/null @@ -1,143 +0,0 @@ -// -// Web3+Deprecated.swift -// web3swift -// -// Created by Alexander Vlasov on 06.04.2018. -// Copyright © 2018 Bankex Foundation. All rights reserved. -// - -import Foundation -import Result -import BigInt - -@available(*, deprecated) -public struct EventParser { - public struct EventParsingResult { - public var event: ABIElement - public var receipt: TransactionReceipt - public var decodedResult: [String:Any] - } - - public var contract: ContractProtocol - public var contractAddress: EthereumAddress? - public var event: ABIElement - public var filter: EventFilter? - var web3: web3 - public init? (web3 web3Instance: web3, event: ABIElement, contract: ContractProtocol, filter: EventFilter? = nil, forAddress: EthereumAddress? = nil) { - guard case .event(_) = event else {return nil} - self.event = event - self.web3 = web3Instance - self.contract = contract - self.filter = filter - self.contractAddress = forAddress - } - - - public func parseBlock(_ block: Block) -> Result<[EventParsingResult], Web3Error> { - guard case .event(let ev) = event else {return Result.failure(Web3Error.dataError)} - guard let eventOfSuchTypeIsPresent = block.logsBloom?.test(topic: ev.topic) else {return Result.failure(Web3Error.dataError)} - if (!eventOfSuchTypeIsPresent) { - return Result([]) - } - var allResults = [EventParsingResult]() - if (self.contractAddress == nil) { - for transaction in block.transactions { - switch transaction { - case .null: - return Result.failure(Web3Error.dataError) - case .transaction(let tx): - guard let hash = tx.hash else {return Result.failure(Web3Error.dataError)} - let subresult = parseTransactionByHash(hash) - switch subresult { - case .failure(let error): - return Result.failure(error) - case .success(let subsetOfEvents): - allResults += subsetOfEvents - } - case .hash(let hash): - let subresult = parseTransactionByHash(hash) - switch subresult { - case .failure(let error): - return Result.failure(error) - case .success(let subsetOfEvents): - allResults += subsetOfEvents - } - } - } - } else { - for transaction in block.transactions { - switch transaction { - case .null: - return Result.failure(Web3Error.dataError) - case .transaction(let tx): - guard let hash = tx.hash else {return Result.failure(Web3Error.dataError)} - if (tx.to != self.contractAddress) { - continue - } - let subresult = parseTransactionByHash(hash) - switch subresult { - case .failure(let error): - return Result.failure(error) - case .success(let subsetOfEvents): - allResults += subsetOfEvents - } - case .hash(let hash): - let response = self.web3.eth.getTransactionDetails(hash) - switch response { - case .failure(let error): - return Result.failure(error) - case .success(let details): - guard let hash = details.transaction.hash else {return Result.failure(Web3Error.dataError)} - let to = details.transaction.to - if (to != self.contractAddress) { - continue - } - let subresult = parseTransactionByHash(hash) - switch subresult { - case .failure(let error): - return Result.failure(error) - case .success(let subsetOfEvents): - allResults += subsetOfEvents - } - } - } - } - } - return Result(allResults) - } - - public func parseTransactionByHash(_ hash: Data) -> Result<[EventParsingResult], Web3Error> { - let response = web3.eth.getTransactionReceipt(hash) - switch response { - case .failure(let error): - return Result.failure(error) - case .success(let receipt): - guard case .event(let ev) = event else {return Result.failure(Web3Error.dataError)} - guard let eventOfSuchTypeIsPresent = receipt.logsBloom?.test(topic: ev.topic) else {return Result.failure(Web3Error.dataError)} - if (!eventOfSuchTypeIsPresent) { - return Result([]) - } - let decodedLogs = receipt.logs.flatMap({ (log) -> [String:Any]? in - self.event.decodeReturnedLogs(log) - }) - var allResults = [EventParsingResult]() - if (self.filter != nil) { - for log in decodedLogs { - let parsingResult = EventParsingResult(event: self.event, receipt: receipt, decodedResult: log) - allResults.append(parsingResult) - } - } else { - for log in decodedLogs { - let parsingResult = EventParsingResult(event: self.event, receipt: receipt, decodedResult: log) - allResults.append(parsingResult) - } - } - return Result(allResults) - } - } - - public func parseTransaction(_ transaction: EthereumTransaction) -> Result<[EventParsingResult], Web3Error> { - guard let hash = transaction.hash else {return Result.failure(Web3Error.dataError)} - return self.parseTransactionByHash(hash) - } -} diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/web3swift-Bridging-Header.h b/Example/web3swiftExample/Pods/web3swift/web3swift/web3swift-Bridging-Header.h new file mode 100755 index 000000000..4eb75bede --- /dev/null +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/web3swift-Bridging-Header.h @@ -0,0 +1,13 @@ +// +// web3swift-Bridging-Header.h +// web3swift +// +// Created by Alexander Vlasov on 08.08.2018. +// Copyright © 2018 Bankex Foundation. All rights reserved. +// + +#ifndef web3swift_Bridging_Header_h +#define web3swift_Bridging_Header_h + + +#endif /* web3swift_Bridging_Header_h */ From 562c0226e087ca87c38ee7614bf8301ae604c510 Mon Sep 17 00:00:00 2001 From: BaldyAsh Date: Wed, 19 Sep 2018 16:29:51 +0300 Subject: [PATCH 03/66] continue working on objC bridge --- web3swift.xcodeproj/project.pbxproj | 4 ++ .../Classes/BigUInt+ObjC.swift | 2 +- .../Classes/EthereumAddress+ObjC.swift | 2 +- .../JSONRPCrequestDispatcher+ObjC.swift | 41 +++++++++++++++++++ .../Classes/KeystoreManager+ObjC.swift | 2 +- .../Classes/PlainKeystore+ObjC.swift | 2 +- .../Classes/Web3+Eth+ObjC.swift | 40 +++++++++++++++--- .../Classes/Web3+HttpProvider+ObjC.swift | 2 +- .../Classes/Web3+Instance+ObjC.swift | 17 +++++--- .../ObjectiveCbridge/Classes/Web3+ObjC.swift | 10 +++-- web3swiftTests/web3swift_ObjC_Tests.swift | 17 ++++++++ 11 files changed, 121 insertions(+), 18 deletions(-) create mode 100644 web3swift/ObjectiveCbridge/Classes/JSONRPCrequestDispatcher+ObjC.swift diff --git a/web3swift.xcodeproj/project.pbxproj b/web3swift.xcodeproj/project.pbxproj index 9597e5962..7b2c60c38 100755 --- a/web3swift.xcodeproj/project.pbxproj +++ b/web3swift.xcodeproj/project.pbxproj @@ -210,6 +210,7 @@ E23B5AE120EA695400DC7F32 /* web3swift_rinkeby_personalSignature_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E23B5AE020EA695400DC7F32 /* web3swift_rinkeby_personalSignature_Tests.swift */; }; E23B5AE320EA69B900DC7F32 /* web3swift_numberFormattingUtil_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E23B5AE220EA69B900DC7F32 /* web3swift_numberFormattingUtil_Tests.swift */; }; E23B5AE520EA6A0A00DC7F32 /* web3swift_contractV2_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E23B5AE420EA6A0A00DC7F32 /* web3swift_contractV2_Tests.swift */; }; + E2C590762152835400FF53D3 /* JSONRPCrequestDispatcher+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2C590752152835400FF53D3 /* JSONRPCrequestDispatcher+ObjC.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -377,6 +378,7 @@ E23B5AE020EA695400DC7F32 /* web3swift_rinkeby_personalSignature_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = web3swift_rinkeby_personalSignature_Tests.swift; sourceTree = ""; }; E23B5AE220EA69B900DC7F32 /* web3swift_numberFormattingUtil_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = web3swift_numberFormattingUtil_Tests.swift; sourceTree = ""; }; E23B5AE420EA6A0A00DC7F32 /* web3swift_contractV2_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = web3swift_contractV2_Tests.swift; sourceTree = ""; }; + E2C590752152835400FF53D3 /* JSONRPCrequestDispatcher+ObjC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "JSONRPCrequestDispatcher+ObjC.swift"; sourceTree = ""; }; FB43EC035C593F9E5A3644B6 /* Pods-web3swift-macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-web3swift-macOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.debug.xcconfig"; sourceTree = ""; }; FC1E6C115639177F2629E42A /* Pods_web3swift_osx.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_web3swift_osx.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -822,6 +824,7 @@ isa = PBXGroup; children = ( 81FECD44211ADE51006DA367 /* Web3+ObjC.swift */, + E2C590752152835400FF53D3 /* JSONRPCrequestDispatcher+ObjC.swift */, 81FECD48211ADEB1006DA367 /* Web3+Instance+ObjC.swift */, 81FECD4B211ADF70006DA367 /* Web3+HttpProvider+ObjC.swift */, 81FECD4E211AE100006DA367 /* KeystoreManager+ObjC.swift */, @@ -1120,6 +1123,7 @@ 81195AB020D7FF8500ABC6B1 /* Promise+Web3+Contract+GetIndexedEvents.swift in Sources */, 8113D2C61FD7E1590074282C /* LibSecp256k1Extension.swift in Sources */, 81EB1E4B208173D7003BD47F /* Web3+Personal.swift in Sources */, + E2C590762152835400FF53D3 /* JSONRPCrequestDispatcher+ObjC.swift in Sources */, 81A1824B20D7DF1B0016741F /* Promise+Web3+Personal+UnlockAccount.swift in Sources */, 81A1823A20D79AD40016741F /* Promise+Web3+Eth+SendRawTransaction.swift in Sources */, 81D7D97520A3240900A193EC /* EthereumFilterEncodingExtensions.swift in Sources */, diff --git a/web3swift/ObjectiveCbridge/Classes/BigUInt+ObjC.swift b/web3swift/ObjectiveCbridge/Classes/BigUInt+ObjC.swift index 252a86727..220a4735e 100755 --- a/web3swift/ObjectiveCbridge/Classes/BigUInt+ObjC.swift +++ b/web3swift/ObjectiveCbridge/Classes/BigUInt+ObjC.swift @@ -9,7 +9,7 @@ import Foundation import BigInt -//@objc(BigUInt) +@objc(BigUInt) public final class _ObjCBigUInt: NSObject{ private (set) var biguint: BigUInt? diff --git a/web3swift/ObjectiveCbridge/Classes/EthereumAddress+ObjC.swift b/web3swift/ObjectiveCbridge/Classes/EthereumAddress+ObjC.swift index 8c55538c3..d03bc832c 100755 --- a/web3swift/ObjectiveCbridge/Classes/EthereumAddress+ObjC.swift +++ b/web3swift/ObjectiveCbridge/Classes/EthereumAddress+ObjC.swift @@ -8,7 +8,7 @@ import Foundation -//@objc(EthereumAddress) +@objc(EthereumAddress) public final class _ObjCEthereumAddress: NSObject{ private (set) var address: EthereumAddress? diff --git a/web3swift/ObjectiveCbridge/Classes/JSONRPCrequestDispatcher+ObjC.swift b/web3swift/ObjectiveCbridge/Classes/JSONRPCrequestDispatcher+ObjC.swift new file mode 100644 index 000000000..d8289a961 --- /dev/null +++ b/web3swift/ObjectiveCbridge/Classes/JSONRPCrequestDispatcher+ObjC.swift @@ -0,0 +1,41 @@ +// +// JSONRPCrequestDispatcher.swift +// web3swift-iOS +// +// Created by Anton Grigorev on 19.09.2018. +// Copyright © 2018 Bankex Foundation. All rights reserved. +// + +import Foundation + +@objc(JSONRPCrequestDispatcher) +public final class _ObjCJSONRPCrequestDispatcher: NSObject { + + private (set) weak var jsonRPCrequestDispatcher: JSONRPCrequestDispatcher? + + // TODO: -DispatchQueue + init(provider: _ObjCWeb3HttpProvider, queue: DispatchQueue, policy: _ObjCDispatchPolicy) { + guard let provider = provider.web3Provider else {return} + let _policy: JSONRPCrequestDispatcher.DispatchPolicy + switch policy.value { + case 0: + _policy = JSONRPCrequestDispatcher.DispatchPolicy.NoBatching + default: + _policy = JSONRPCrequestDispatcher.DispatchPolicy.Batch(Int(policy.batchValue)) + } + self.jsonRPCrequestDispatcher = JSONRPCrequestDispatcher(provider: provider, queue: queue, policy: _policy) + } + + struct _ObjCDispatchPolicy { + var value: UInt32 = 0 + var batchValue: UInt32 = 0 + init(_ val: UInt32, batchVal: UInt32 = 0) { + value = val + if val != 0 { + batchValue = batchVal + } + } + + } + +} diff --git a/web3swift/ObjectiveCbridge/Classes/KeystoreManager+ObjC.swift b/web3swift/ObjectiveCbridge/Classes/KeystoreManager+ObjC.swift index 487391253..0a3891933 100755 --- a/web3swift/ObjectiveCbridge/Classes/KeystoreManager+ObjC.swift +++ b/web3swift/ObjectiveCbridge/Classes/KeystoreManager+ObjC.swift @@ -8,7 +8,7 @@ import Foundation -//@objc(KeystoreManager) +@objc(KeystoreManager) public final class _ObjCKeystoreManager: NSObject{ private (set) var keystoreManager: KeystoreManager? diff --git a/web3swift/ObjectiveCbridge/Classes/PlainKeystore+ObjC.swift b/web3swift/ObjectiveCbridge/Classes/PlainKeystore+ObjC.swift index 20218fcd6..d698fcb96 100755 --- a/web3swift/ObjectiveCbridge/Classes/PlainKeystore+ObjC.swift +++ b/web3swift/ObjectiveCbridge/Classes/PlainKeystore+ObjC.swift @@ -8,7 +8,7 @@ import Foundation -//@objc(PlainKeystore) +@objc(PlainKeystore) public final class _ObjCPlainKeystore: NSObject{ private (set) var keystore: PlainKeystore? diff --git a/web3swift/ObjectiveCbridge/Classes/Web3+Eth+ObjC.swift b/web3swift/ObjectiveCbridge/Classes/Web3+Eth+ObjC.swift index 251bb05c9..e9f75e346 100755 --- a/web3swift/ObjectiveCbridge/Classes/Web3+Eth+ObjC.swift +++ b/web3swift/ObjectiveCbridge/Classes/Web3+Eth+ObjC.swift @@ -8,21 +8,21 @@ import Foundation -//@objc(web3Eth) +@objc(web3Eth) public final class _ObjCweb3Eth: NSObject { private (set) weak var web3: web3? - init(web3: web3?) { - self.web3 = web3 + init(web3: _ObjCweb3?) { + self.web3 = web3?._web3 } public func getBalance(address: _ObjCEthereumAddress, onBlock: NSString = "latest", error: NSErrorPointer) -> _ObjCBigUInt? { guard let addr = address.address else { - error?.pointee = Web3Error.inputError(desc: "Address is empty") as NSError + error?.pointee = Web3Error.inputError("Address is empty") as NSError return nil } guard let result = self.web3?.eth.getBalance(address: addr, onBlock: onBlock as String) else { - error?.pointee = Web3Error.processingError(desc: "Web3 object was not properly initialized") as NSError + error?.pointee = Web3Error.processingError("Web3 object was not properly initialized") as NSError return nil } switch result { @@ -34,4 +34,34 @@ public final class _ObjCweb3Eth: NSObject { return nil } } + + public func getBlockNumber(error: NSErrorPointer) -> _ObjCBigUInt? { + guard let result = self.web3?.eth.getBlockNumber() else { + error?.pointee = Web3Error.inputError("Web3 object was not properly initialized") as NSError + return nil + } + switch result { + case .success(let blockNumber): + let biguint = _ObjCBigUInt(value: blockNumber) + return biguint + case .failure(let web3error): + error?.pointee = web3error as NSError + return nil + } + } + + public func getGasPrice(error: NSErrorPointer) -> _ObjCBigUInt? { + guard let result = self.web3?.eth.getGasPrice() else { + error?.pointee = Web3Error.inputError("Web3 object was not properly initialized") as NSError + return nil + } + switch result { + case .success(let blockNumber): + let biguint = _ObjCBigUInt(value: blockNumber) + return biguint + case .failure(let web3error): + error?.pointee = web3error as NSError + return nil + } + } } diff --git a/web3swift/ObjectiveCbridge/Classes/Web3+HttpProvider+ObjC.swift b/web3swift/ObjectiveCbridge/Classes/Web3+HttpProvider+ObjC.swift index f6ed77a11..f626ba792 100755 --- a/web3swift/ObjectiveCbridge/Classes/Web3+HttpProvider+ObjC.swift +++ b/web3swift/ObjectiveCbridge/Classes/Web3+HttpProvider+ObjC.swift @@ -8,7 +8,7 @@ import Foundation -//@objc(Web3HttpProvider) +@objc(Web3HttpProvider) final class _ObjCWeb3HttpProvider: NSObject{ private (set) var web3Provider: Web3HttpProvider? diff --git a/web3swift/ObjectiveCbridge/Classes/Web3+Instance+ObjC.swift b/web3swift/ObjectiveCbridge/Classes/Web3+Instance+ObjC.swift index 6fa159b6a..d6390aa0b 100755 --- a/web3swift/ObjectiveCbridge/Classes/Web3+Instance+ObjC.swift +++ b/web3swift/ObjectiveCbridge/Classes/Web3+Instance+ObjC.swift @@ -8,15 +8,22 @@ import Foundation -//@objc(web3) +@objc(web3) public final class _ObjCweb3: NSObject { - private (set) var web3: web3? + private (set) var _web3: web3? - init(web3: web3?) { - self.web3 = web3 + // TODO: - OperationQueue + init(provider prov: _ObjCWeb3HttpProvider, requestDispatcher: _ObjCJSONRPCrequestDispatcher = Optional.none!) { + guard let prov = prov.web3Provider else {return} + self._web3 = web3(provider: prov, queue: nil, requestDispatcher: requestDispatcher.jsonRPCrequestDispatcher) + } + + init(web3: web3) { + self._web3 = web3 } public var web3Eth: _ObjCweb3Eth { - return _ObjCweb3Eth(web3: self.web3) + return _ObjCweb3Eth(web3: self) } } + diff --git a/web3swift/ObjectiveCbridge/Classes/Web3+ObjC.swift b/web3swift/ObjectiveCbridge/Classes/Web3+ObjC.swift index 44463df6e..7efe025c1 100755 --- a/web3swift/ObjectiveCbridge/Classes/Web3+ObjC.swift +++ b/web3swift/ObjectiveCbridge/Classes/Web3+ObjC.swift @@ -8,7 +8,7 @@ import Foundation -//@objc(Web3) +@objc(Web3) public final class _ObjCWeb3: NSObject { public static func InfuraMainnetWeb3() -> _ObjCweb3 { let web3 = Web3.InfuraMainnetWeb3() @@ -20,9 +20,13 @@ public final class _ObjCWeb3: NSObject { return _ObjCweb3(web3: web3) } - public static func new(providerURL: NSURL) -> _ObjCweb3 { - let web3 = Web3.new(providerURL as URL) + public static func new(providerURL: NSURL, error: NSErrorPointer) -> _ObjCweb3? { + guard let web3 = Web3.new(providerURL as URL) else { + error?.pointee = Web3Error.inputError("Wrong URL") as NSError + return nil + } return _ObjCweb3(web3: web3) } } + diff --git a/web3swiftTests/web3swift_ObjC_Tests.swift b/web3swiftTests/web3swift_ObjC_Tests.swift index 4c46f5e9a..aadd409f4 100755 --- a/web3swiftTests/web3swift_ObjC_Tests.swift +++ b/web3swiftTests/web3swift_ObjC_Tests.swift @@ -18,4 +18,21 @@ class web3swift_ObjC_Tests: XCTestCase { XCTAssert(err?.pointee == nil) XCTAssert(balance != nil) } + + func testGettingBlockNumber() { + let web3 = _ObjCWeb3.InfuraMainnetWeb3() + let err: NSErrorPointer = NSErrorPointer(nilLiteral: ()) + let blockNumber = web3.web3Eth.getBlockNumber(error: err) + XCTAssert(err?.pointee == nil) + XCTAssert(blockNumber != nil) + + } + + func testGasPrice(){ + let web3 = _ObjCWeb3.InfuraMainnetWeb3() + let err: NSErrorPointer = NSErrorPointer(nilLiteral: ()) + let gasPrice = web3.web3Eth.getGasPrice(error: err) + XCTAssert(err?.pointee == nil) + XCTAssert(gasPrice != nil) + } } From c4de9b75c2c01b6c98c014bba177d9e50c061f43 Mon Sep 17 00:00:00 2001 From: BaldyAsh Date: Wed, 19 Sep 2018 17:21:52 +0300 Subject: [PATCH 04/66] updated pods and fixes for xcode10 --- Podfile.lock | 6 +- Pods/CryptoSwift/LICENSE | 0 Pods/CryptoSwift/README.md | 6 + .../Sources/CryptoSwift/AEAD/AEAD.swift | 0 .../AEAD/AEADChaCha20Poly1305.swift | 0 .../Sources/CryptoSwift/AES.Cryptors.swift | 0 .../CryptoSwift/Sources/CryptoSwift/AES.swift | 0 .../Sources/CryptoSwift/Array+Extension.swift | 0 .../Sources/CryptoSwift/Authenticator.swift | 0 .../CryptoSwift/BatchedCollection.swift | 0 .../CryptoSwift/Sources/CryptoSwift/Bit.swift | 0 .../Sources/CryptoSwift/BlockCipher.swift | 0 .../Sources/CryptoSwift/BlockDecryptor.swift | 0 .../Sources/CryptoSwift/BlockEncryptor.swift | 0 .../CryptoSwift/BlockMode/BlockMode.swift | 0 .../BlockMode/BlockModeOptions.swift | 0 .../Sources/CryptoSwift/BlockMode/CBC.swift | 0 .../Sources/CryptoSwift/BlockMode/CFB.swift | 0 .../Sources/CryptoSwift/BlockMode/CTR.swift | 0 .../BlockMode/CipherModeWorker.swift | 0 .../Sources/CryptoSwift/BlockMode/ECB.swift | 0 .../Sources/CryptoSwift/BlockMode/GCM.swift | 0 .../Sources/CryptoSwift/BlockMode/OFB.swift | 0 .../Sources/CryptoSwift/BlockMode/PCBC.swift | 0 .../Sources/CryptoSwift/Blowfish.swift | 0 .../Sources/CryptoSwift/CMAC.swift | 0 .../Sources/CryptoSwift/ChaCha20.swift | 0 .../Sources/CryptoSwift/Checksum.swift | 0 .../Sources/CryptoSwift/Cipher.swift | 0 .../CryptoSwift/Collection+Extension.swift | 0 .../Sources/CryptoSwift/CompactMap.swift | 0 .../Sources/CryptoSwift/Cryptor.swift | 0 .../Sources/CryptoSwift/Cryptors.swift | 0 .../Sources/CryptoSwift/Digest.swift | 0 .../Sources/CryptoSwift/DigestType.swift | 0 .../Foundation/AES+Foundation.swift | 0 .../Foundation/Array+Foundation.swift | 0 .../Foundation/Blowfish+Foundation.swift | 0 .../Foundation/ChaCha20+Foundation.swift | 0 .../Foundation/Data+Extension.swift | 0 .../Foundation/HMAC+Foundation.swift | 0 .../Foundation/Rabbit+Foundation.swift | 0 .../String+FoundationExtension.swift | 0 .../Foundation/Utils+Foundation.swift | 0 .../Sources/CryptoSwift/Generics.swift | 0 .../Sources/CryptoSwift/HKDF.swift | 0 .../Sources/CryptoSwift/HMAC.swift | 0 .../Sources/CryptoSwift/Int+Extension.swift | 0 .../CryptoSwift/Sources/CryptoSwift/MD5.swift | 0 .../Sources/CryptoSwift/NoPadding.swift | 0 .../Sources/CryptoSwift/Operators.swift | 0 .../Sources/CryptoSwift/PKCS/PBKDF1.swift | 0 .../Sources/CryptoSwift/PKCS/PBKDF2.swift | 0 .../Sources/CryptoSwift/PKCS/PKCS5.swift | 0 .../Sources/CryptoSwift/PKCS/PKCS7.swift | 0 .../CryptoSwift/PKCS/PKCS7Padding.swift | 0 .../Sources/CryptoSwift/Padding.swift | 0 .../Sources/CryptoSwift/Poly1305.swift | 0 .../Sources/CryptoSwift/Rabbit.swift | 0 .../CryptoSwift/RandomBytesSequence.swift | 0 .../Sources/CryptoSwift/SHA1.swift | 0 .../Sources/CryptoSwift/SHA2.swift | 0 .../Sources/CryptoSwift/SHA3.swift | 0 .../Sources/CryptoSwift/SecureBytes.swift | 0 .../Sources/CryptoSwift/StreamEncryptor.swift | 0 .../CryptoSwift/String+Extension.swift | 0 .../Sources/CryptoSwift/UInt128.swift | 0 .../CryptoSwift/UInt16+Extension.swift | 0 .../CryptoSwift/UInt32+Extension.swift | 0 .../CryptoSwift/UInt64+Extension.swift | 0 .../Sources/CryptoSwift/UInt8+Extension.swift | 0 .../Sources/CryptoSwift/Updatable.swift | 0 .../Sources/CryptoSwift/Utils.swift | 0 .../Sources/CryptoSwift/ZeroPadding.swift | 0 .../Public/BigInt/BigInt-iOS-umbrella.h | 17 +- .../Public/BigInt/BigInt-iOS.modulemap | 8 +- .../Public/BigInt/BigInt-macOS-umbrella.h | 17 +- .../Public/BigInt/BigInt-macOS.modulemap | 8 +- .../CryptoSwift/CryptoSwift-iOS-umbrella.h | 17 +- .../CryptoSwift/CryptoSwift-iOS.modulemap | 8 +- .../CryptoSwift/CryptoSwift-macOS-umbrella.h | 17 +- .../CryptoSwift/CryptoSwift-macOS.modulemap | 8 +- .../Public/PromiseKit/PromiseKit-umbrella.h | 27 +- .../Public/PromiseKit/PromiseKit.modulemap | 8 +- ...Kit.root-CorePromise-Foundation-umbrella.h | 24 +- ...eKit.root-CorePromise-Foundation.modulemap | 8 +- .../Public/Result/Result-iOS-umbrella.h | 17 +- .../Public/Result/Result-iOS.modulemap | 8 +- .../Public/Result/Result-macOS-umbrella.h | 17 +- .../Public/Result/Result-macOS.modulemap | 8 +- .../Public/SipHash/SipHash-iOS-umbrella.h | 17 +- .../Public/SipHash/SipHash-iOS.modulemap | 8 +- .../Public/SipHash/SipHash-macOS-umbrella.h | 17 +- .../Public/SipHash/SipHash-macOS.modulemap | 8 +- .../Public/scrypt/scrypt-iOS-umbrella.h | 18 +- .../Public/scrypt/scrypt-iOS.modulemap | 8 +- .../Public/scrypt/scrypt-macOS-umbrella.h | 18 +- .../Public/scrypt/scrypt-macOS.modulemap | 8 +- .../secp256k1_ios-iOS-umbrella.h | 20 +- .../secp256k1_ios/secp256k1_ios-iOS.modulemap | 8 +- .../secp256k1_ios-macOS-umbrella.h | 20 +- .../secp256k1_ios-macOS.modulemap | 8 +- Pods/Manifest.lock | 6 +- Pods/Pods.xcodeproj/project.pbxproj | 2054 +++++++++-------- .../BigInt-iOS/BigInt-iOS.xcconfig | 3 +- .../BigInt-macOS/BigInt-macOS.xcconfig | 3 +- .../CryptoSwift-iOS/CryptoSwift-iOS.xcconfig | 2 +- .../CryptoSwift-macOS.xcconfig | 2 +- .../Pods-web3swift-iOS-acknowledgements.plist | 218 +- .../Pods-web3swift-iOS.debug.xcconfig | 4 +- .../Pods-web3swift-iOS.release.xcconfig | 4 +- ...3swift-iOS_Tests-acknowledgements.markdown | 150 ++ ...web3swift-iOS_Tests-acknowledgements.plist | 218 +- .../Pods-web3swift-iOS_Tests.debug.xcconfig | 6 +- .../Pods-web3swift-iOS_Tests.release.xcconfig | 6 +- ...ods-web3swift-macOS-acknowledgements.plist | 218 +- .../Pods-web3swift-macOS.debug.xcconfig | 4 +- .../Pods-web3swift-macOS.release.xcconfig | 4 +- ...wift-macOS_Tests-acknowledgements.markdown | 150 ++ ...b3swift-macOS_Tests-acknowledgements.plist | 218 +- .../Pods-web3swift-macOS_Tests.debug.xcconfig | 6 +- ...ods-web3swift-macOS_Tests.release.xcconfig | 6 +- ...seKit.root-CorePromise-Foundation.xcconfig | 3 +- .../PromiseKit/PromiseKit.xcconfig | 3 +- .../Result-iOS/Result-iOS.xcconfig | 2 +- .../Result-macOS/Result-macOS.xcconfig | 2 +- .../SipHash-iOS/SipHash-iOS.xcconfig | 2 +- .../SipHash-macOS/SipHash-macOS.xcconfig | 2 +- .../scrypt-iOS/scrypt-iOS.xcconfig | 5 +- .../scrypt-macOS/scrypt-macOS.xcconfig | 5 +- .../secp256k1_ios-iOS.xcconfig | 5 +- .../secp256k1_ios-macOS.xcconfig | 5 +- .../Classes/Web3+Eth+ObjC.swift | 8 +- .../ObjectiveCbridge/Classes/Web3+ObjC.swift | 2 +- 134 files changed, 2730 insertions(+), 983 deletions(-) mode change 100755 => 100644 Pods/CryptoSwift/LICENSE mode change 100755 => 100644 Pods/CryptoSwift/README.md mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/AEAD/AEAD.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/AES.Cryptors.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/AES.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Array+Extension.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Authenticator.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/BatchedCollection.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Bit.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/BlockCipher.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/BlockDecryptor.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/BlockEncryptor.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/BlockMode.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/BlockModeOptions.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CBC.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CFB.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CTR.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CipherModeWorker.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/ECB.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/GCM.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/OFB.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/PCBC.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Blowfish.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/CMAC.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/ChaCha20.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Checksum.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Cipher.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Collection+Extension.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/CompactMap.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Cryptor.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Cryptors.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Digest.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/DigestType.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Foundation/AES+Foundation.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Array+Foundation.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Data+Extension.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Foundation/HMAC+Foundation.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Foundation/String+FoundationExtension.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Utils+Foundation.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Generics.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/HKDF.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/HMAC.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Int+Extension.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/MD5.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/NoPadding.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Operators.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PBKDF1.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PBKDF2.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PKCS5.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PKCS7.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PKCS7Padding.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Padding.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Poly1305.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Rabbit.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/RandomBytesSequence.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/SHA1.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/SHA2.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/SHA3.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/SecureBytes.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/StreamEncryptor.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/String+Extension.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/UInt128.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/UInt16+Extension.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/UInt32+Extension.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/UInt64+Extension.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/UInt8+Extension.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Updatable.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/Utils.swift mode change 100755 => 100644 Pods/CryptoSwift/Sources/CryptoSwift/ZeroPadding.swift mode change 120000 => 100644 Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h mode change 120000 => 100644 Pods/Headers/Public/BigInt/BigInt-iOS.modulemap mode change 120000 => 100644 Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h mode change 120000 => 100644 Pods/Headers/Public/BigInt/BigInt-macOS.modulemap mode change 120000 => 100644 Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h mode change 120000 => 100644 Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap mode change 120000 => 100644 Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h mode change 120000 => 100644 Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap mode change 120000 => 100644 Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h mode change 120000 => 100644 Pods/Headers/Public/PromiseKit/PromiseKit.modulemap mode change 120000 => 100644 Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h mode change 120000 => 100644 Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap mode change 120000 => 100644 Pods/Headers/Public/Result/Result-iOS-umbrella.h mode change 120000 => 100644 Pods/Headers/Public/Result/Result-iOS.modulemap mode change 120000 => 100644 Pods/Headers/Public/Result/Result-macOS-umbrella.h mode change 120000 => 100644 Pods/Headers/Public/Result/Result-macOS.modulemap mode change 120000 => 100644 Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h mode change 120000 => 100644 Pods/Headers/Public/SipHash/SipHash-iOS.modulemap mode change 120000 => 100644 Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h mode change 120000 => 100644 Pods/Headers/Public/SipHash/SipHash-macOS.modulemap mode change 120000 => 100644 Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h mode change 120000 => 100644 Pods/Headers/Public/scrypt/scrypt-iOS.modulemap mode change 120000 => 100644 Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h mode change 120000 => 100644 Pods/Headers/Public/scrypt/scrypt-macOS.modulemap mode change 120000 => 100644 Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h mode change 120000 => 100644 Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap mode change 120000 => 100644 Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h mode change 120000 => 100644 Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap mode change 100755 => 100644 Pods/Target Support Files/BigInt-iOS/BigInt-iOS.xcconfig mode change 100755 => 100644 Pods/Target Support Files/BigInt-macOS/BigInt-macOS.xcconfig mode change 100755 => 100644 Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS.xcconfig mode change 100755 => 100644 Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS.xcconfig mode change 100755 => 100644 Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.plist mode change 100755 => 100644 Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.markdown mode change 100755 => 100644 Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.plist mode change 100755 => 100644 Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.plist mode change 100755 => 100644 Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.markdown mode change 100755 => 100644 Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.plist mode change 100755 => 100644 Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.xcconfig mode change 100755 => 100644 Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig mode change 100755 => 100644 Pods/Target Support Files/Result-iOS/Result-iOS.xcconfig mode change 100755 => 100644 Pods/Target Support Files/Result-macOS/Result-macOS.xcconfig mode change 100755 => 100644 Pods/Target Support Files/SipHash-iOS/SipHash-iOS.xcconfig mode change 100755 => 100644 Pods/Target Support Files/SipHash-macOS/SipHash-macOS.xcconfig mode change 100755 => 100644 Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.xcconfig mode change 100755 => 100644 Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig diff --git a/Podfile.lock b/Podfile.lock index 698f6d7bc..1bdca0d3f 100755 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,7 +1,7 @@ PODS: - BigInt (3.1.0): - SipHash (~> 1.2) - - CryptoSwift (0.11.0) + - CryptoSwift (0.12.0) - PromiseKit (6.4.0): - PromiseKit/CorePromise (= 6.4.0) - PromiseKit/Foundation (= 6.4.0) @@ -45,7 +45,7 @@ CHECKOUT OPTIONS: SPEC CHECKSUMS: BigInt: 76b5dfdfa3e2e478d4ffdf161aeede5502e2742f - CryptoSwift: ad5208dd2aae0a764ea4ce2c2d34bd067cae67f0 + CryptoSwift: 1c07ca50843dd48bc54e6ea53d7a4dba3b645716 PromiseKit: ae3616f45d7bb9bf4ff1e91abc9b7a8c48a340e0 Result: 7645bb3f50c2ce726dd0ff2fa7b6f42bbe6c3713 scrypt: 3fe5b1a3b0976f97cd87488673a8f7c65708cc84 @@ -54,4 +54,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: f6c71566157938ba8afa59f1e6a3ffc11d709d7b -COCOAPODS: 1.6.0.beta.1 +COCOAPODS: 1.5.3 diff --git a/Pods/CryptoSwift/LICENSE b/Pods/CryptoSwift/LICENSE old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/README.md b/Pods/CryptoSwift/README.md old mode 100755 new mode 100644 index bc790aa13..45dead904 --- a/Pods/CryptoSwift/README.md +++ b/Pods/CryptoSwift/README.md @@ -474,6 +474,12 @@ CryptoSwift is owned and maintained by [Marcin Krzyżanowski](http://www.krzyzan You can follow me on Twitter at [@krzyzanowskim](http://twitter.com/krzyzanowskim) for project updates and releases. +# Cryptography Notice + +This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information. + +The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code. + ## License Copyright (C) 2014-2017 Marcin Krzyżanowski diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/AEAD/AEAD.swift b/Pods/CryptoSwift/Sources/CryptoSwift/AEAD/AEAD.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift b/Pods/CryptoSwift/Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/AES.Cryptors.swift b/Pods/CryptoSwift/Sources/CryptoSwift/AES.Cryptors.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/AES.swift b/Pods/CryptoSwift/Sources/CryptoSwift/AES.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Array+Extension.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Array+Extension.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Authenticator.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Authenticator.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/BatchedCollection.swift b/Pods/CryptoSwift/Sources/CryptoSwift/BatchedCollection.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Bit.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Bit.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/BlockCipher.swift b/Pods/CryptoSwift/Sources/CryptoSwift/BlockCipher.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/BlockDecryptor.swift b/Pods/CryptoSwift/Sources/CryptoSwift/BlockDecryptor.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/BlockEncryptor.swift b/Pods/CryptoSwift/Sources/CryptoSwift/BlockEncryptor.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/BlockMode.swift b/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/BlockMode.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/BlockModeOptions.swift b/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/BlockModeOptions.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CBC.swift b/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CBC.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CFB.swift b/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CFB.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CTR.swift b/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CTR.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CipherModeWorker.swift b/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CipherModeWorker.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/ECB.swift b/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/ECB.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/GCM.swift b/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/GCM.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/OFB.swift b/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/OFB.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/PCBC.swift b/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/PCBC.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Blowfish.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Blowfish.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/CMAC.swift b/Pods/CryptoSwift/Sources/CryptoSwift/CMAC.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/ChaCha20.swift b/Pods/CryptoSwift/Sources/CryptoSwift/ChaCha20.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Checksum.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Checksum.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Cipher.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Cipher.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Collection+Extension.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Collection+Extension.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/CompactMap.swift b/Pods/CryptoSwift/Sources/CryptoSwift/CompactMap.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Cryptor.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Cryptor.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Cryptors.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Cryptors.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Digest.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Digest.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/DigestType.swift b/Pods/CryptoSwift/Sources/CryptoSwift/DigestType.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/AES+Foundation.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/AES+Foundation.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Array+Foundation.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Array+Foundation.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Data+Extension.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Data+Extension.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/HMAC+Foundation.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/HMAC+Foundation.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/String+FoundationExtension.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/String+FoundationExtension.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Utils+Foundation.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Foundation/Utils+Foundation.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Generics.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Generics.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/HKDF.swift b/Pods/CryptoSwift/Sources/CryptoSwift/HKDF.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/HMAC.swift b/Pods/CryptoSwift/Sources/CryptoSwift/HMAC.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Int+Extension.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Int+Extension.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/MD5.swift b/Pods/CryptoSwift/Sources/CryptoSwift/MD5.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/NoPadding.swift b/Pods/CryptoSwift/Sources/CryptoSwift/NoPadding.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Operators.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Operators.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PBKDF1.swift b/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PBKDF1.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PBKDF2.swift b/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PBKDF2.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PKCS5.swift b/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PKCS5.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PKCS7.swift b/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PKCS7.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PKCS7Padding.swift b/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PKCS7Padding.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Padding.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Padding.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Poly1305.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Poly1305.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Rabbit.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Rabbit.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/RandomBytesSequence.swift b/Pods/CryptoSwift/Sources/CryptoSwift/RandomBytesSequence.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/SHA1.swift b/Pods/CryptoSwift/Sources/CryptoSwift/SHA1.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/SHA2.swift b/Pods/CryptoSwift/Sources/CryptoSwift/SHA2.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/SHA3.swift b/Pods/CryptoSwift/Sources/CryptoSwift/SHA3.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/SecureBytes.swift b/Pods/CryptoSwift/Sources/CryptoSwift/SecureBytes.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/StreamEncryptor.swift b/Pods/CryptoSwift/Sources/CryptoSwift/StreamEncryptor.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/String+Extension.swift b/Pods/CryptoSwift/Sources/CryptoSwift/String+Extension.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/UInt128.swift b/Pods/CryptoSwift/Sources/CryptoSwift/UInt128.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/UInt16+Extension.swift b/Pods/CryptoSwift/Sources/CryptoSwift/UInt16+Extension.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/UInt32+Extension.swift b/Pods/CryptoSwift/Sources/CryptoSwift/UInt32+Extension.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/UInt64+Extension.swift b/Pods/CryptoSwift/Sources/CryptoSwift/UInt64+Extension.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/UInt8+Extension.swift b/Pods/CryptoSwift/Sources/CryptoSwift/UInt8+Extension.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Updatable.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Updatable.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/Utils.swift b/Pods/CryptoSwift/Sources/CryptoSwift/Utils.swift old mode 100755 new mode 100644 diff --git a/Pods/CryptoSwift/Sources/CryptoSwift/ZeroPadding.swift b/Pods/CryptoSwift/Sources/CryptoSwift/ZeroPadding.swift old mode 100755 new mode 100644 diff --git a/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h b/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h deleted file mode 120000 index d04d0f479..000000000 --- a/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/BigInt-iOS/BigInt-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h b/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h new file mode 100644 index 000000000..e3d2506e1 --- /dev/null +++ b/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double BigIntVersionNumber; +FOUNDATION_EXPORT const unsigned char BigIntVersionString[]; + diff --git a/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap b/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap deleted file mode 120000 index 5e3ba93be..000000000 --- a/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/BigInt-iOS/BigInt-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap b/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap new file mode 100644 index 000000000..4eae580c5 --- /dev/null +++ b/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap @@ -0,0 +1,7 @@ +module BigInt { + umbrella header "BigInt-iOS-umbrella.h" + exclude header "BigInt-macOS-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h b/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h deleted file mode 120000 index 7c100fb6e..000000000 --- a/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/BigInt-macOS/BigInt-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h b/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h new file mode 100644 index 000000000..bde66664c --- /dev/null +++ b/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double BigIntVersionNumber; +FOUNDATION_EXPORT const unsigned char BigIntVersionString[]; + diff --git a/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap b/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap deleted file mode 120000 index 309999e26..000000000 --- a/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/BigInt-macOS/BigInt-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap b/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap new file mode 100644 index 000000000..63d12e8af --- /dev/null +++ b/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap @@ -0,0 +1,7 @@ +module BigInt { + umbrella header "BigInt-macOS-umbrella.h" + exclude header "BigInt-iOS-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h deleted file mode 120000 index 53d6c211e..000000000 --- a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h new file mode 100644 index 000000000..e93efa884 --- /dev/null +++ b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double CryptoSwiftVersionNumber; +FOUNDATION_EXPORT const unsigned char CryptoSwiftVersionString[]; + diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap deleted file mode 120000 index c3e3c3a34..000000000 --- a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap new file mode 100644 index 000000000..33880aa56 --- /dev/null +++ b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap @@ -0,0 +1,7 @@ +module CryptoSwift { + umbrella header "CryptoSwift-iOS-umbrella.h" + exclude header "CryptoSwift-macOS-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h deleted file mode 120000 index 1bf7d4d73..000000000 --- a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h new file mode 100644 index 000000000..ad69315c4 --- /dev/null +++ b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double CryptoSwiftVersionNumber; +FOUNDATION_EXPORT const unsigned char CryptoSwiftVersionString[]; + diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap deleted file mode 120000 index 19cb03653..000000000 --- a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap new file mode 100644 index 000000000..76cf15e80 --- /dev/null +++ b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap @@ -0,0 +1,7 @@ +module CryptoSwift { + umbrella header "CryptoSwift-macOS-umbrella.h" + exclude header "CryptoSwift-iOS-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h b/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h deleted file mode 120000 index 54a39550a..000000000 --- a/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/PromiseKit/PromiseKit-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h b/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h new file mode 100644 index 000000000..4a0b02de6 --- /dev/null +++ b/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h @@ -0,0 +1,26 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "fwd.h" +#import "AnyPromise.h" +#import "PromiseKit.h" +#import "NSURLSession+AnyPromise.h" +#import "NSTask+AnyPromise.h" +#import "NSNotificationCenter+AnyPromise.h" +#import "PMKFoundation.h" +#import "PMKUIKit.h" +#import "UIView+AnyPromise.h" +#import "UIViewController+AnyPromise.h" + +FOUNDATION_EXPORT double PromiseKitVersionNumber; +FOUNDATION_EXPORT const unsigned char PromiseKitVersionString[]; + diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap b/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap deleted file mode 120000 index 03e17826b..000000000 --- a/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/PromiseKit/PromiseKit.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap b/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap new file mode 100644 index 000000000..31f1aa5b4 --- /dev/null +++ b/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap @@ -0,0 +1,7 @@ +module PromiseKit { + umbrella header "PromiseKit-umbrella.h" + exclude header "PromiseKit.root-CorePromise-Foundation-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h deleted file mode 120000 index 2202ae821..000000000 --- a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h new file mode 100644 index 000000000..90525d22e --- /dev/null +++ b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h @@ -0,0 +1,23 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "fwd.h" +#import "AnyPromise.h" +#import "PromiseKit.h" +#import "NSURLSession+AnyPromise.h" +#import "NSTask+AnyPromise.h" +#import "NSNotificationCenter+AnyPromise.h" +#import "PMKFoundation.h" + +FOUNDATION_EXPORT double PromiseKitVersionNumber; +FOUNDATION_EXPORT const unsigned char PromiseKitVersionString[]; + diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap deleted file mode 120000 index 377be965b..000000000 --- a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap new file mode 100644 index 000000000..8831a9e8c --- /dev/null +++ b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap @@ -0,0 +1,7 @@ +module PromiseKit { + umbrella header "PromiseKit.root-CorePromise-Foundation-umbrella.h" + exclude header "PromiseKit-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Headers/Public/Result/Result-iOS-umbrella.h b/Pods/Headers/Public/Result/Result-iOS-umbrella.h deleted file mode 120000 index a7f847b9e..000000000 --- a/Pods/Headers/Public/Result/Result-iOS-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/Result-iOS/Result-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/Result/Result-iOS-umbrella.h b/Pods/Headers/Public/Result/Result-iOS-umbrella.h new file mode 100644 index 000000000..25f5eb129 --- /dev/null +++ b/Pods/Headers/Public/Result/Result-iOS-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double ResultVersionNumber; +FOUNDATION_EXPORT const unsigned char ResultVersionString[]; + diff --git a/Pods/Headers/Public/Result/Result-iOS.modulemap b/Pods/Headers/Public/Result/Result-iOS.modulemap deleted file mode 120000 index bc4f23ca4..000000000 --- a/Pods/Headers/Public/Result/Result-iOS.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/Result-iOS/Result-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/Result/Result-iOS.modulemap b/Pods/Headers/Public/Result/Result-iOS.modulemap new file mode 100644 index 000000000..a5389d10c --- /dev/null +++ b/Pods/Headers/Public/Result/Result-iOS.modulemap @@ -0,0 +1,7 @@ +module Result { + umbrella header "Result-iOS-umbrella.h" + exclude header "Result-macOS-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Headers/Public/Result/Result-macOS-umbrella.h b/Pods/Headers/Public/Result/Result-macOS-umbrella.h deleted file mode 120000 index 5c92b47bc..000000000 --- a/Pods/Headers/Public/Result/Result-macOS-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/Result-macOS/Result-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/Result/Result-macOS-umbrella.h b/Pods/Headers/Public/Result/Result-macOS-umbrella.h new file mode 100644 index 000000000..43e81ac3c --- /dev/null +++ b/Pods/Headers/Public/Result/Result-macOS-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double ResultVersionNumber; +FOUNDATION_EXPORT const unsigned char ResultVersionString[]; + diff --git a/Pods/Headers/Public/Result/Result-macOS.modulemap b/Pods/Headers/Public/Result/Result-macOS.modulemap deleted file mode 120000 index a1725381e..000000000 --- a/Pods/Headers/Public/Result/Result-macOS.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/Result-macOS/Result-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/Result/Result-macOS.modulemap b/Pods/Headers/Public/Result/Result-macOS.modulemap new file mode 100644 index 000000000..68af722db --- /dev/null +++ b/Pods/Headers/Public/Result/Result-macOS.modulemap @@ -0,0 +1,7 @@ +module Result { + umbrella header "Result-macOS-umbrella.h" + exclude header "Result-iOS-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h b/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h deleted file mode 120000 index 909a01c80..000000000 --- a/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/SipHash-iOS/SipHash-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h b/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h new file mode 100644 index 000000000..65aec28d8 --- /dev/null +++ b/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double SipHashVersionNumber; +FOUNDATION_EXPORT const unsigned char SipHashVersionString[]; + diff --git a/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap b/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap deleted file mode 120000 index 60dbe3748..000000000 --- a/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/SipHash-iOS/SipHash-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap b/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap new file mode 100644 index 000000000..fd9c26573 --- /dev/null +++ b/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap @@ -0,0 +1,7 @@ +module SipHash { + umbrella header "SipHash-iOS-umbrella.h" + exclude header "SipHash-macOS-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h b/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h deleted file mode 120000 index b1f95e224..000000000 --- a/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/SipHash-macOS/SipHash-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h b/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h new file mode 100644 index 000000000..ae5b2f0b7 --- /dev/null +++ b/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double SipHashVersionNumber; +FOUNDATION_EXPORT const unsigned char SipHashVersionString[]; + diff --git a/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap b/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap deleted file mode 120000 index 5ea25fc9c..000000000 --- a/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/SipHash-macOS/SipHash-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap b/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap new file mode 100644 index 000000000..045b59e80 --- /dev/null +++ b/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap @@ -0,0 +1,7 @@ +module SipHash { + umbrella header "SipHash-macOS-umbrella.h" + exclude header "SipHash-iOS-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h b/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h deleted file mode 120000 index e82a48440..000000000 --- a/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/scrypt-iOS/scrypt-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h b/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h new file mode 100644 index 000000000..5dccb1b3e --- /dev/null +++ b/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h @@ -0,0 +1,17 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "scrypt.h" + +FOUNDATION_EXPORT double scryptVersionNumber; +FOUNDATION_EXPORT const unsigned char scryptVersionString[]; + diff --git a/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap b/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap deleted file mode 120000 index 082fbbbba..000000000 --- a/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/scrypt-iOS/scrypt-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap b/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap new file mode 100644 index 000000000..e95e8b4fc --- /dev/null +++ b/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap @@ -0,0 +1,7 @@ +module scrypt { + umbrella header "scrypt-iOS-umbrella.h" + exclude header "scrypt-macOS-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h b/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h deleted file mode 120000 index 7a0dabd86..000000000 --- a/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/scrypt-macOS/scrypt-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h b/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h new file mode 100644 index 000000000..5a2597a63 --- /dev/null +++ b/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h @@ -0,0 +1,17 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "scrypt.h" + +FOUNDATION_EXPORT double scryptVersionNumber; +FOUNDATION_EXPORT const unsigned char scryptVersionString[]; + diff --git a/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap b/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap deleted file mode 120000 index 9ec4c6ed1..000000000 --- a/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/scrypt-macOS/scrypt-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap b/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap new file mode 100644 index 000000000..16ca0df08 --- /dev/null +++ b/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap @@ -0,0 +1,7 @@ +module scrypt { + umbrella header "scrypt-macOS-umbrella.h" + exclude header "scrypt-iOS-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h deleted file mode 120000 index 91346de1e..000000000 --- a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h new file mode 100644 index 000000000..5fdc91610 --- /dev/null +++ b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h @@ -0,0 +1,19 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "secp256k1.h" +#import "secp256k1_ecdh.h" +#import "secp256k1_recovery.h" + +FOUNDATION_EXPORT double secp256k1_iosVersionNumber; +FOUNDATION_EXPORT const unsigned char secp256k1_iosVersionString[]; + diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap deleted file mode 120000 index 69f6618b1..000000000 --- a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap new file mode 100644 index 000000000..0c686d34e --- /dev/null +++ b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap @@ -0,0 +1,7 @@ +module secp256k1_ios { + umbrella header "secp256k1_ios-iOS-umbrella.h" + exclude header "secp256k1_ios-macOS-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h deleted file mode 120000 index 69c30d1f0..000000000 --- a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h new file mode 100644 index 000000000..117a91bcd --- /dev/null +++ b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h @@ -0,0 +1,19 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "secp256k1.h" +#import "secp256k1_ecdh.h" +#import "secp256k1_recovery.h" + +FOUNDATION_EXPORT double secp256k1_iosVersionNumber; +FOUNDATION_EXPORT const unsigned char secp256k1_iosVersionString[]; + diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap deleted file mode 120000 index a17cd889e..000000000 --- a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap new file mode 100644 index 000000000..772f659d7 --- /dev/null +++ b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap @@ -0,0 +1,7 @@ +module secp256k1_ios { + umbrella header "secp256k1_ios-macOS-umbrella.h" + exclude header "secp256k1_ios-iOS-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock index 698f6d7bc..1bdca0d3f 100755 --- a/Pods/Manifest.lock +++ b/Pods/Manifest.lock @@ -1,7 +1,7 @@ PODS: - BigInt (3.1.0): - SipHash (~> 1.2) - - CryptoSwift (0.11.0) + - CryptoSwift (0.12.0) - PromiseKit (6.4.0): - PromiseKit/CorePromise (= 6.4.0) - PromiseKit/Foundation (= 6.4.0) @@ -45,7 +45,7 @@ CHECKOUT OPTIONS: SPEC CHECKSUMS: BigInt: 76b5dfdfa3e2e478d4ffdf161aeede5502e2742f - CryptoSwift: ad5208dd2aae0a764ea4ce2c2d34bd067cae67f0 + CryptoSwift: 1c07ca50843dd48bc54e6ea53d7a4dba3b645716 PromiseKit: ae3616f45d7bb9bf4ff1e91abc9b7a8c48a340e0 Result: 7645bb3f50c2ce726dd0ff2fa7b6f42bbe6c3713 scrypt: 3fe5b1a3b0976f97cd87488673a8f7c65708cc84 @@ -54,4 +54,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: f6c71566157938ba8afa59f1e6a3ffc11d709d7b -COCOAPODS: 1.6.0.beta.1 +COCOAPODS: 1.5.3 diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj index b8a0f5b58..9081a5011 100644 --- a/Pods/Pods.xcodeproj/project.pbxproj +++ b/Pods/Pods.xcodeproj/project.pbxproj @@ -7,66 +7,65 @@ objects = { /* Begin PBXBuildFile section */ + 00EC6CC102B21BF7CF37B100F377BBFB /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D93F53AAD0FD5DB616A5E1C69164F0D7 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 01E683D1A55DCC27F48AC9CF8CDCBF03 /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF467792E24FCB49390F293678C2E231 /* ZeroPadding.swift */; }; - 020D14793215AFE896BE555B9C76CBDF /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FDB2A79B118B2F003B3E6F5A708B701 /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; 039A85C483D812BBB34BCD2AB2A5790B /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC8CE2AC7222CA948CFA3E9FEF002800 /* Error.swift */; }; - 03DFE13C6697848C21F4EB647BC55AA5 /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = 86010FFDC0CB0732CC170A6EB5EC36A5 /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 044355BCF9A51F03F92DA9A4955EDDF8 /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = F68419F17E2CC2073DDAC992BC39EF47 /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 03CB7EC1DDE57422A40714B0A6953630 /* scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DC2E6214BB1EB95403BF7608DAF872D /* scrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 047B1F4282EAAB64616F11FF842AA22B /* Cimpl.h in Headers */ = {isa = PBXBuildFile; fileRef = CC773B77A5A65E3C63F4C5305CAD01D1 /* Cimpl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 051E39EF701E24AC7E524C9D82A28215 /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = C9D0105E6F7855534D035E089FAACA84 /* NSURLSession+AnyPromise.m */; }; 0545829A927B4BB00A483BBE6244387D /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A6199EF8A43EB0E1F3C0EB7228F575C /* HKDF.swift */; }; - 07DF5F806B224E861175A2B54A157F4E /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E865E2465317D7395EFFC3E15BE3B82 /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 06350C28C665E96DF5F96FB93B1C35CE /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FDB2A79B118B2F003B3E6F5A708B701 /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; 080ADA20C98E5C462DA5BC8AB3858320 /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 32804240A56A511992C9AA367655CDBA /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 08AF14BE0C0ED7820C191EAF51A11029 /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 42EA8B8CA97A07CABD4DBAC9F8610993 /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 08D84886240259762D5D2E88FE06BAB2 /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AF444B003D1A7B9026D1AF8B3B5B699 /* HMAC+Foundation.swift */; }; 08EE8946F9CB7AA37352C46DA4BD75EE /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = D24853136C9E866538093205C6E4A90A /* when.m */; }; 092FA91C224FA67526944D6026C42719 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F407B4684E6934554D8F4910242620 /* Int+Extension.swift */; }; + 0A9EFCFFAD8EECF12118CC979D041729 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F3D7D0776B9B3FF06601DD39FA599C90 /* UIKit.framework */; }; 0AD8E3063BA9777F2313604C49FB35DC /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B864BCFD33F0A7ABED7DBA75C963A51A /* BlockCipher.swift */; }; 0AE93856CF7FADFFADBE88A5A2D92A2A /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D93F53AAD0FD5DB616A5E1C69164F0D7 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0B9A91423AFC0ACA837C4E56A1AA588A /* Result-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = DCE95DEFE59A8D4B1CC921351954D118 /* Result-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 0BBCC69CD1D17E80AE051FB477BDD3D5 /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321B194E1B8A3A3929C651A01648EF4A /* Array+Foundation.swift */; }; 0CE27E8F6A719CE5E0889EB78FF28719 /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894312908815C8518B59156B045BB049 /* Thenable.swift */; }; 0D581B37DEE69673B5F6AF763BEAF9F0 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BC5492B1E1506F3725992C713A907DF /* SHA3.swift */; }; + 0E4C0ADD74FD8AF9B12C27B6687EB234 /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EF2B2E6A827BEB4095C69760A095228 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; 0E84110CE577CEBD75E277EA01003F9B /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = 778AAAE605119A0341DA4378ED873181 /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0EC23A496E7520709A8EF71182D4A977 /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DDEB5B32B77FC78B04321FABF19FAF64 /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0E8C948E26CAA74B6E9C53529481D064 /* Pods-web3swift-iOS_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D96A0A368BE15EEEB27A3F77B5F74533 /* Pods-web3swift-iOS_Tests-dummy.m */; }; 0F027DD3DCF059DCB9E33D0B562B5A39 /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 57BE35B8EF2F430EE1A093A4E43F8243 /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 0FB79BA6789A195C987F2180A58B6AFC /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2290B9153347A3369FAF03E04A19326E /* CBC.swift */; }; 10650E08C4710FC9327EA77E080EAFBD /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8EAA4A69D5AC1E3D89D6D25C9496C75 /* Cryptors.swift */; }; + 10905BAD6CBD3CF5157EB9CE65BEC64B /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = 0297F48C8677A1EAF05256ECF6AE81D5 /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; 11C9F315CE87BFD09E465ADE9C355473 /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5946E85C35328004F1FD0D65ABF93B4 /* Process+Promise.swift */; }; 1222711B1AB711D6206EED1F2580A623 /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A137B5E1D739B2D491F2842EFFBD559 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1241921863951D082F323302080CBDFF /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = 4965C40E8438A02BE82C485420845345 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 124C34B2652696617A011E8FECFE0C3B /* Result-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B75257897ACBD9567F00827C544D722 /* Result-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 133747794F37E3A739F51CB04EAEC784 /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8602F37D59CD9AD65EEF65DF7AA62A3 /* UInt16+Extension.swift */; }; + 140DDDDD78010DBE84E1FE23615C64DF /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8575ADFAFEFEFEDACDC32D01960AE2AB /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; 1530076E5FEDDBAB798D9AD56B228181 /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D8A60B0639785EE266ACA62D536DD199 /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 158F6BC9635AF0C4F8FCAD1FB913BB45 /* Division.swift in Sources */ = {isa = PBXBuildFile; fileRef = 054B52AFE6F7A33802393B6F7E8B9807 /* Division.swift */; }; 1666B20DE9E0ABBBCF96F4DDD5B281F8 /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = D37DEA7A8B3EBEC27D9109471669A4BF /* secp256k1.c */; }; + 16B67A3D0D023FF3299B1CB0A7292D31 /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 394A497CBDC2A602E9E5A0A0E4A7C231 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1714C4C4BC531842DE31A3FD8F912949 /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D8A60B0639785EE266ACA62D536DD199 /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 172F8A31708E2C427BF616D9B2E5A52F /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = 110AED7E75239B43DC836BF06AF22BCE /* afterlife.swift */; }; - 187B191D2E4399E1567DB24BD93F0486 /* SipHash-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B0423C9D9E49080ACEF73C985FBB221F /* SipHash-macOS-dummy.m */; }; + 187B191D2E4399E1567DB24BD93F0486 /* SipHash-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A252C33BAE7931B130EF619B55FCC0F5 /* SipHash-macOS-dummy.m */; }; 1904E18F6CE01618BBBC1B31E43B64EA /* BigUInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14B10E35F3FEA07B3ED6132C871686B9 /* BigUInt.swift */; }; 192BA88956DA574C01410D937DFF5098 /* UIView+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 45FFA251444F7DBCE99E0099A3F19A6D /* UIView+AnyPromise.m */; }; 193CE1B123F216F0140298A506854F9D /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65E54F31ACC1397C1485DF5C7B5FA928 /* Random.swift */; }; - 19E005C60300BACBE467130A64746A0F /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = F1F1BD0CE2445F35A20783082C9D4775 /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1A931FA6D7623661E6793527D71A4967 /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 07F62FD29EAB7298762C10A21294A6B1 /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 1AAC341916DC64CD28D08BDFED57AC9C /* Shifts.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1166BCE9995875A190DA0C329DD6F3E /* Shifts.swift */; }; - 1AF1B798714A34D38B61CF7C7B5C185F /* scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DC2E6214BB1EB95403BF7608DAF872D /* scrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1B532920CD5ACB6A6E9B44AD7759774F /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 370C998F97BBB1397D09CD78C43A9919 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1CC09F75AC87A194EBB50A8750BAAE94 /* CryptoSwift-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = AB4A0ADEE88B224FCFB999E14A3FC3BA /* CryptoSwift-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1C884A28FA083B2145425BB4D3369A0B /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 3736F60D986568A8151FD480D9648F38 /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; 1D96448F1FFF0E5449F67332C543EE32 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 2385B17AD9190A207792185ECE5CD9C7 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; 1DD88ADB2458E38D5106042F0B958DFA /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A4A461EE06699EE78B2DCA6B7B73F16 /* NSTask+AnyPromise.m */; }; 1E11D4AB7D83F30DC55ED31131C62967 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9111A66A9DB609E927159CEFB76D4E76 /* String+Extension.swift */; }; - 1E5F1CD6111EA4A4CFC001236E4F2447 /* Pods-web3swift-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E91F337EA3979DB5DD84C325A340270 /* Pods-web3swift-macOS-dummy.m */; }; - 1FC51E63E62DD14E4E0F7422FE40E716 /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = FBEFBB38BBB87913FDCF892141C0AC8D /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 210E681DBFA8097A999F196A7BF59A6E /* secp256k1_ios-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D4E771C1368EA72DE7D24C281E6D674 /* secp256k1_ios-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1E5F1CD6111EA4A4CFC001236E4F2447 /* Pods-web3swift-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CCD178AF0C0283D14572A07109AABF34 /* Pods-web3swift-macOS-dummy.m */; }; + 1E9786C210C3093074CAA71FB3C5350F /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = FBEFBB38BBB87913FDCF892141C0AC8D /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1FE7FEC8F5DDD701FD3AE246AD01B367 /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CE3EEB40B82A07623C8EC58D511BDA8 /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; 2161948858307EC6EEFCED5554369172 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = 15C56E2FA28A6BC277C2F1DF71DE010C /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; 216986247596660CFCD4D997C374D548 /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B32F8420CC3DEDA3DC7BB0407B26FDF /* Collection+Extension.swift */; }; 216E8A7C42E0512734DBAA38BD573262 /* dispatch_promise.m in Sources */ = {isa = PBXBuildFile; fileRef = 01E16ADA85843E6D30083930685D07D1 /* dispatch_promise.m */; }; + 2267748C1FB1D590488F1B9101FB05C9 /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = 16B7C824120675B47E14A2A872A6DFDC /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; 22D8DF4F46BDC2292C1AE9B4AC3717DC /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = C9D0105E6F7855534D035E089FAACA84 /* NSURLSession+AnyPromise.m */; }; 22FB7357D696E831ABFF6CDE1BC35757 /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E75AE5FFEFA361D707CC354FF1EB3D52 /* Updatable.swift */; }; - 238EF3B8B56806CC020FF044317E57F2 /* UIView+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = E7CC622C1D24D718342B05051554A93A /* UIView+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; 238EF427CBC24F658E1C1FA4E53099CF /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8866E3418AA74CD02353B3E373ACEFA9 /* PMKFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; 239D8E853FDFD3C09B0B3A5E85FB64E8 /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11B33EE72A6FBE59A2A5064DAF6FFC4F /* AES.swift */; }; 244E287BB7934E5AB37BB61D5C587814 /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07692AF4D5F0A8907862595FBCB74ECB /* firstly.swift */; }; - 26A36281153F7D8DF3A79BDBA897DF26 /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = 778AAAE605119A0341DA4378ED873181 /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2704B064A229223D40B136571F157C09 /* PromiseKit.root-CorePromise-Foundation-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E14AE09BC14CD1D5C3AD72803E39C00F /* PromiseKit.root-CorePromise-Foundation-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 28C3E22A6B7DDE77EFF9E56199884D40 /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EF2B2E6A827BEB4095C69760A095228 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 27157B51378CFF4AD0DF3139827418D2 /* Result-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C166DBC3A2FF6FC7FB066E0142D70FCA /* Result-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2889854855882D799FD2CE472B17A9BA /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 506C81F04F45BF82E339BD28FB9A6252 /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 290854FFD3516C0BA20E66AD41986C4C /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AF444B003D1A7B9026D1AF8B3B5B699 /* HMAC+Foundation.swift */; }; 29A615F1F902BA0EEE2F11FCE2784435 /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CDBE2B78BCAA950F79B74C3FB2E228C /* when.swift */; }; 2BA16B5D2DD651E485E5496216F6996F /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93880388A03A6AEAEBFC90F7F533AAD /* StreamEncryptor.swift */; }; @@ -74,75 +73,74 @@ 2C9D9A8F2D6CC312D0001D0BB11DEC71 /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B7931AA08AA6E50FAE2325FDFEC9669 /* ResultProtocol.swift */; }; 2CD358B6D6909178593465B26D6A6E53 /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEEB8AE79B5DA3255A444BD9E125CC15 /* Utils+Foundation.swift */; }; 2DD480A5DBA913244A3AF776CECCDCF7 /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FF537F705CA3D41D9798A4511A8F24D /* Authenticator.swift */; }; + 2E6A9E3F8DB35BB64FF546A27C79A813 /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 744D68A2C1A6A6136663892BD5967CEF /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; 2E9282AB77EBAEE8B8BA2BAADF6E533E /* after.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302BA93FAE34FC2BAD89C5501C21611C /* after.swift */; }; 2E988C0A4E1C468D0AFA43A95482D911 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F87371895A84370E0ECB153DA5CFF62 /* PBKDF1.swift */; }; 2EDCE4A3A80772C88E0B4031FE4D86C6 /* Words and Bits.swift in Sources */ = {isa = PBXBuildFile; fileRef = 268F48810699A9A9AD79047FD000B499 /* Words and Bits.swift */; }; 2FB34A1FAE745E38E438FA434B64D592 /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = 184318AC3420D7DB5A094F601C869C72 /* Checksum.swift */; }; 3041A5B7E53D75209A5C347950817958 /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = A414F7D6F59CB6D7C5696F98992E80A2 /* BatchedCollection.swift */; }; - 3076C2BFCE18E87E466B62F19D59F57E /* scrypt-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B28A30F352D7AD1E7E83DFB9BAB49C0 /* scrypt-macOS-dummy.m */; }; + 3076C2BFCE18E87E466B62F19D59F57E /* scrypt-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EE37CE5A8E6206A611EC619B66EC2E0D /* scrypt-macOS-dummy.m */; }; 30A46D981AF2AC75EDB85CC3C5C7FAF2 /* AnyError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26A07B357C5F42ABC4E5A41480B9B5E0 /* AnyError.swift */; }; 31200E73742F8C75471A9E1E934AFD6C /* hang.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAB3BF2C1D04839054658D7999609AFA /* hang.swift */; }; 312FED65DD6B7D4E4C0AF196082B4292 /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BBCEC526DF7F5F6A046CBAA7F93B530 /* SecureBytes.swift */; }; 314D8B2F7ACB1285289701FA44D49A3B /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D7C8185E119AF505859D0B27973E57E /* AES.Cryptors.swift */; }; 315E61FA169A73000F63292BBAE8457F /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1EA13DCEFA32B29351F75416999B53B /* DigestType.swift */; }; 337EA355DE058979DB126870227A42DF /* Floating Point Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FAB45044F3A646E2488529698B14387 /* Floating Point Conversion.swift */; }; - 339018FACD17608CC28A77397F15523B /* UIViewController+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DFFEB20DCD9CFCA06DAE16B4367F1B9 /* UIViewController+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; 34D61980DF37C53741DC15DEEDCFAC25 /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCDA16C2155C3C3AC4C4D3C23A57EC12 /* UInt8+Extension.swift */; }; 354D68B8C8B6D4C003BDB91E8A1D680A /* String Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7DFFB650AB055EA65177877A4837E93 /* String Conversion.swift */; }; 359269757B7FED4424DD9489F42BBB49 /* SipHashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2C42F3DFC4E6CC75140A86DF8616CC3 /* SipHashable.swift */; }; - 35DAD73CA3D181C3820B7A48AAF6B788 /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 32804240A56A511992C9AA367655CDBA /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 35F5C4B5CE3A02EA4B3FBDD6746ADA74 /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = F1F1BD0CE2445F35A20783082C9D4775 /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; 36DB5AEC759BAA7C4222B36C8790FA8A /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = A414F7D6F59CB6D7C5696F98992E80A2 /* BatchedCollection.swift */; }; 370C7FFEAB64F443F216B37A2B33F106 /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = E88F02B72D0ADCFDAA37C5D63ABB3679 /* NoPadding.swift */; }; 3755C12BE9E88D2D7E5765B3CDC80DD9 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1961CDC6282709B9B35B8F757754E1A /* CompactMap.swift */; }; 377C6046F93E7409F3996D06ADAD4CC7 /* SipHashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2C42F3DFC4E6CC75140A86DF8616CC3 /* SipHashable.swift */; }; + 381C6587FE16247159980E6AD7346AF3 /* CryptoSwift-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EE0308F276A9A14635D7A83AB1F5F78 /* CryptoSwift-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 38B6E072F812605CF0B4FA03B3528A82 /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E865E2465317D7395EFFC3E15BE3B82 /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 38D8B82703E87B790A4D8C9B749644DF /* Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D159242CC5E8F83FDBE6973BE570CA54 /* Comparable.swift */; }; - 391B4F1D6A8EBFD3317BD7B4637E0B42 /* PromiseKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A75A46146F4FF1C0CB840CA36D75492 /* PromiseKit-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3A0BDEA886E92E674AB63F02A38A9044 /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 97CA37D99BC06AE9B4704C72A22686E5 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3A611A77C4E834E1E7F375E6362DB0D7 /* Pods-web3swift-iOS_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B56F6A20A0CF698ECA0EDF6CF4CDD74 /* Pods-web3swift-iOS_Tests-dummy.m */; }; + 3A47021BD84B2E73B822B69102C2BCCD /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 413EEACF83712E321F24944C021FEB53 /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3A7D4D17062363D0D7DE5405827EB6D1 /* Guarantee.swift in Sources */ = {isa = PBXBuildFile; fileRef = 991C827F3BBAAEE28EE416BE38F76DD0 /* Guarantee.swift */; }; + 3AB4243277B67763E8C819980881BA44 /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 97CA37D99BC06AE9B4704C72A22686E5 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3AC07C0FB85EDC81532D78FAB99C85B1 /* BigUInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14B10E35F3FEA07B3ED6132C871686B9 /* BigUInt.swift */; }; 3AC689CBB3DC3931542904E58800704C /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEF9AB34E06A2A4078A0C87B37B1CD0F /* RandomBytesSequence.swift */; }; 3AEDA0F0A0D1B6B201C42C72941FCE3F /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0E096DA6BBC65953BD97D1BD9FDC13A /* Blowfish+Foundation.swift */; }; 3B3C7BC5E53C195B74B659C5D3445385 /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 07F62FD29EAB7298762C10A21294A6B1 /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3B41981C0A080D47C5C9EC0F3FFB7611 /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C0825E5C07CD2AD15EADE1A4F132C24 /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3BD9A23A6A10CF688F51418A5C0A926C /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 30F699976B957E8821EB632AF092C14C /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3E08A96B92AD3C76A8C13B5444DDB23B /* NoError.swift in Sources */ = {isa = PBXBuildFile; fileRef = C57F8890E519BE45C84FBCD5E06453AF /* NoError.swift */; }; 3E20F5E2C7DA6C8B4AF7D05CA526183F /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EE7CBB8299AB71F5275827AA34C853A /* Cryptor.swift */; }; 3E5D7D6D073F33181BEE8BBAA47E427E /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 3736F60D986568A8151FD480D9648F38 /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3EFA188E4DB94F776E9769B16C85FDD7 /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D93F53AAD0FD5DB616A5E1C69164F0D7 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3F474D94A325AFDB74206B0CD0790920 /* SipHasher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 602BCDD7A6B60ADA7204658627037B22 /* SipHasher.swift */; }; 3F78D2AC31E0DF3F1BF6300484D449AB /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = D37DEA7A8B3EBEC27D9109471669A4BF /* secp256k1.c */; }; - 4012B628413F1BB0A86D23CEF67DDB93 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8575ADFAFEFEFEDACDC32D01960AE2AB /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3F959C8CCB1AF132682B6BB4D1306CB3 /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 32804240A56A511992C9AA367655CDBA /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 40EFCF53AC23E42E8CE500F73237112F /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 42EA8B8CA97A07CABD4DBAC9F8610993 /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4262E028B1F9886FD1163C16D5E39C88 /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = FAA8118238A7270948998466F81E6253 /* after.m */; }; + 42AD653190052E600C4C4CE1DE6ACE20 /* Result-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E225EB05FD399DD7D7BE642605DF6932 /* Result-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 42C6DB05A3663AC4AB08317F9287797A /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 231D53FA7D46749E94693152ECA561B4 /* AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; 42FF2C1D3648C354550AC88EE5E64B80 /* Data Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C8A77BEACE815406E69A6AC5A86CAD0 /* Data Conversion.swift */; }; - 431B4A873377BAA0B7101CA62F243F69 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 2385B17AD9190A207792185ECE5CD9C7 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 43211F1E91C824A5FC64E00B62E5AB95 /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = BAD09E8EE27EB4BA87F1F0237E0D7537 /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4394019D91B5D15A9BB24CE7CA201410 /* NSObject+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15059FCA7454E93E51AFB7275C28A335 /* NSObject+Promise.swift */; }; 4407ACFACA948CBA51F56B96A99EE4CE /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38CE3ACA4B29354641417DECF1CDC5CF /* PKCS7Padding.swift */; }; 44DF067E138C7E2662D76052B1D15932 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9612CFC925C44DA818604C666EB454C /* Operators.swift */; }; + 44EF160E7C344881C2BA9C1A108A7310 /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 30F699976B957E8821EB632AF092C14C /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 45482DED636330B9BCE4493225B66813 /* Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D159242CC5E8F83FDBE6973BE570CA54 /* Comparable.swift */; }; 4562B917950C9F7E1CE07191DFDA096D /* race.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9C90F0F0F9A0115AC326304EB131CA4 /* race.swift */; }; 49BABAEF57C8A617DA34C25DB757180B /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D7C8185E119AF505859D0B27973E57E /* AES.Cryptors.swift */; }; - 4A5F92735335EE5F55A619EDD9382812 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C9596E2D0164256EFB0F1673E724BB1 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4ABE0DFEC60E5ADE9205151D88B2F08B /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 309EDA4AEC3E9553B1C5228CB1CB760F /* Result.swift */; }; + 4B7175E173407B71508A864A033EC107 /* SipHash-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F02F7BA4CE0D08B4598AA01224ED76C /* SipHash-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4BA76EF32D81038B1AD2E8C555A3C985 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9612CFC925C44DA818604C666EB454C /* Operators.swift */; }; + 4C4766DBF2D7901BC1CD2C5DFBD76A5E /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = 15C56E2FA28A6BC277C2F1DF71DE010C /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4D424F348E7A03D67FCBFD968F07E772 /* hang.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAB3BF2C1D04839054658D7999609AFA /* hang.swift */; }; - 4D7DEDC820A1EF913455BC0FBE72FBD6 /* BigInt-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 10236EF8647E9F61C53670449679E133 /* BigInt-iOS-dummy.m */; }; + 4D7DEDC820A1EF913455BC0FBE72FBD6 /* BigInt-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 70EC0C5B63B6AFB5C821750D9F6A516C /* BigInt-iOS-dummy.m */; }; 4E4F07B24DAB1E29AC81AD866A43C376 /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = EC2691B355719F37BCE2B9EB79640902 /* lax_der_privatekey_parsing.c */; }; 4E8C968B4D8B860668C9C36CA819BF70 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1961CDC6282709B9B35B8F757754E1A /* CompactMap.swift */; }; 4FCF1CB933BEBAC5D0892C543D68E658 /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7FE282781FCA8360DCC5EEC2DFC9045 /* BlockDecryptor.swift */; }; 5063FE3FE1C30A73A073F3533C508D64 /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BC87D5802ED83EA9011FD6A3EB7B4D3 /* AES+Foundation.swift */; }; - 50FF7D4212CB39686DFD6FEAA3C5FEC1 /* scrypt-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C3C66A0B084556BD285AA44CBCA65202 /* scrypt-iOS-dummy.m */; }; + 50FF7D4212CB39686DFD6FEAA3C5FEC1 /* scrypt-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 99B84A386A434CF038072CF11DE08F34 /* scrypt-iOS-dummy.m */; }; 5104F193E7D7CB179A24BF3E5235FD3F /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1EA13DCEFA32B29351F75416999B53B /* DigestType.swift */; }; 51CAAE01BFF59F085BC9B34842E3C7C2 /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07692AF4D5F0A8907862595FBCB74ECB /* firstly.swift */; }; 51DADAE211CE77CDDD762DF1F5FAA236 /* Exponentiation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 129F0BDD5D5540B28243DA06090AEC11 /* Exponentiation.swift */; }; + 528C5C69D4815F5FC83E3D5BBE41271D /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 07F62FD29EAB7298762C10A21294A6B1 /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 52FB4B4296FA803827D3F78B1EA7FF8C /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = 110AED7E75239B43DC836BF06AF22BCE /* afterlife.swift */; }; - 5378A6D7FB3F30FD0F2D5EBF728C481F /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 42EA8B8CA97A07CABD4DBAC9F8610993 /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 53FBBFD161D6A1C13A33616571645C5E /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 520379C6715340D2674500ACBD1C4502 /* Catchable.swift */; }; 5518BD53D7F73216E2695680ACBAC221 /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = FAA8118238A7270948998466F81E6253 /* after.m */; }; + 553EB75D5DF57D74E8408D29DF6F8F3D /* secp256k1_ios-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F9FAC5C083C513006168E954E709EB9 /* secp256k1_ios-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 557E070EDC1D983960128B12A77AA293 /* GCD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17049D2192C6CCC8A8BE362B66ED01E6 /* GCD.swift */; }; 57A82484117095DCA73446B1E6ECFC32 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 894C3E3F18C4D842D9E35A6A69851AF0 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 5A5911FA8E88B73CCAFBFFA88D5B9E35 /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = 030837B4EF44BB6736CDF5FBF205E93E /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; @@ -152,15 +150,17 @@ 5C173DF75AE4F4E54EB9DD7D68D44568 /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3C749DBE031D5CD32F6F718288C1AC0 /* Promise.swift */; }; 5CA03C34BCCCA0FC29653E6A50C0277C /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 30F699976B957E8821EB632AF092C14C /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 5CA9E73F8349BAC9F5EBD1F0589C91AD /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CB44D970BC24207B7D4CA4DD2644E2B /* ChaCha20+Foundation.swift */; }; - 5D44B3C73A389261EB15DCD7849BE6DF /* PMKUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = D175F930B0613AAEB35FE3D02276CA4D /* PMKUIKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; 5E0F76D46A3F14CC3903F4D072D6652C /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C74C1E23D6AF919642E4F6E55FD308 /* BlockModeOptions.swift */; }; 5EABC52C76A5F7DD29136E5C10CAA368 /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A699FEC4F0274F833ECDEB986CAABBD2 /* UInt32+Extension.swift */; }; 5EBCC3EF4D3AEDA8DE7D24EAF054A21D /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF5CF52D91122CF7B77E75FAF93251C3 /* UInt64+Extension.swift */; }; + 5F6C3C9162B3C0A00863D73DE9F264E4 /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B7D33AF1AE938A46700885645D7B0C6 /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; 619A7209AF68E44B937A8C030287B0CA /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = D6FBFF07C73E9B536C49D3D32A989327 /* join.m */; }; 61C9BCD007508C2CB8959FA50BF0F53F /* Addition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F24C4B729147ABA4455041FEDE41FE00 /* Addition.swift */; }; 61D043FD677FACF7F382F67A430A7F62 /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 400C4535441BC4EF157E1C50C654B28E /* SHA2.swift */; }; - 63FFA36A34A36A797BEA3D7EDF4CC3C8 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 33EBDEB3CCBA0EA3C7F7CB093743643E /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 64310DB95A0B71D32365CB6D88944A03 /* SipHash-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B37E3EA16DFF85A33306C879D27B6C3 /* SipHash-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 6483A6AC993D8C5F8983064789F220B8 /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2290B9153347A3369FAF03E04A19326E /* CBC.swift */; }; + 64F86EC9C5F4F9BA6A73B501B1B84262 /* UIView+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = E7CC622C1D24D718342B05051554A93A /* UIView+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 66C39E6D8A7FDD96FE537FBCF8E2E96B /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = 4965C40E8438A02BE82C485420845345 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; 67722A22A203CDADAD4B402AED93007B /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6AD63B104B462BD7A0812CF8D8089 /* Resolver.swift */; }; 6817327279945D8425268EF14CDDAC21 /* Primitive Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = F685B50C77BC588736193EFC93B3FAFA /* Primitive Types.swift */; }; 68F0D885CE489382878D120C3BA4B7A8 /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B7931AA08AA6E50FAE2325FDFEC9669 /* ResultProtocol.swift */; }; @@ -174,10 +174,11 @@ 6D92208E7FD3D5F577A4CE8CB9408544 /* Cimpl.h in Headers */ = {isa = PBXBuildFile; fileRef = CC773B77A5A65E3C63F4C5305CAD01D1 /* Cimpl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 6DBF333CC01A4E9765AFF12263B05CF3 /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3C749DBE031D5CD32F6F718288C1AC0 /* Promise.swift */; }; 6ED4064256289FBBEBDBF2C1D4C347CA /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BC87D5802ED83EA9011FD6A3EB7B4D3 /* AES+Foundation.swift */; }; + 6EEC29ACFC2BEE23CC88A7DFD2637969 /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AF087435CFE453BE94CFAE116CC7661 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; 6EFDB00864D7D2230D576768C0C445F3 /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = 96BC14C5CF69F4D24A02B045A7A1BB7E /* fwd.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6F05C030F1EA0E9ADF729E6E647CACFE /* Pods-web3swift-macOS_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B3A8A1265A6932800FDF40A5E65FEC7 /* Pods-web3swift-macOS_Tests-dummy.m */; }; 6F5B521B508C0230EF8488842DE2C905 /* SipHasher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 602BCDD7A6B60ADA7204658627037B22 /* SipHasher.swift */; }; 6FD417369E56DA302F107E9478D4A735 /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 9419704F82CEC9143EC36DDD7E0B5565 /* NSNotificationCenter+AnyPromise.m */; }; - 70DA4C91DB3C9D2179662801D68386A0 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 894C3E3F18C4D842D9E35A6A69851AF0 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 717B05FECD48B3ED8481296EF0CCF350 /* RandomUInt64.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5571DA87BD8084546DB65E212E690849 /* RandomUInt64.swift */; }; 7193D179572C3FAD861BD281EBBE0794 /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2FA1DA6CAEC899929310534A250E53B /* OFB.swift */; }; 7239F0AB8B86ECA736377C06ADA831F9 /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 97CA37D99BC06AE9B4704C72A22686E5 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; @@ -186,34 +187,32 @@ 736BB84780916C964F46C4B77671A1AF /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29DC94582C8F4626E7BBD65A075FDBD5 /* NSURLSession+Promise.swift */; }; 74602FF913EBE7791DE8B091DBFC2D6E /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3BEE25ACB7B1714E52C057B725B022B /* ChaCha20.swift */; }; 7478C4AB680096975DA0F3885DE5128C /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E8B805F5680EBA0F99C37AB55DF371A /* Blowfish.swift */; }; + 74A7F683ED642B57FD66AF3452F366A4 /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E865E2465317D7395EFFC3E15BE3B82 /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 75383208B98A4BFB61B7418E8B546CCC /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2D922779E502A6EFC12530D47844477 /* AEAD.swift */; }; - 753EBD02641E8F6F23CAC9B8BE1AB870 /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 7399560A570538454DCA6FC42E879809 /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; 75603E077E70073F479AE5B3F89CDC8B /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D22F70DCC90E8FE0E9EC24A5DBABE79C /* Rabbit+Foundation.swift */; }; - 75DFBA4078AA16B9762F25A2068F8266 /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BD07DFA1EC0FD8CF78E837D5A0051A6D /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 768B8E3C8A41ACDBF1607EAD1013301D /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1143B8F0055C240BA0D05D50FC1CC020 /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 76C870EB2A458DD871074597EBF85551 /* Salsa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45C2BE6D1118A5C0F2E549CE3527D602 /* Salsa.swift */; }; 76F56049518D4E3F2868ECB003F2990A /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5E5C5193E731A76273A1ADACD50AB81 /* PCBC.swift */; }; - 7727C417D26C1F6EBC5668D0FF7E24BF /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 480A526DDBB009A3C8A843239CA3D080 /* PromiseKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; 773013B84E21E3867773BCAB6E171CBC /* Shifts.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1166BCE9995875A190DA0C329DD6F3E /* Shifts.swift */; }; 77EBF711C1B88D92CFC3AFCE6293E015 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 092C4E684DC275279EC695C30F05982A /* Array+Extension.swift */; }; 789A3DD0AA3D7580E0FCF6389C037D56 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BC5492B1E1506F3725992C713A907DF /* SHA3.swift */; }; - 78A661EDD584574FE574F9F5442C1D19 /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 506C81F04F45BF82E339BD28FB9A6252 /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 78BB8536FFE3547FBB5E621141E01F84 /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 480A526DDBB009A3C8A843239CA3D080 /* PromiseKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; 78CF0243E783BB84E94C69AEE8CB1E8F /* AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 6565B9A6640E27ECBBF27A2AB8E07117 /* AnyPromise.m */; }; 78DB68659C3EA82DD2DAF980F8E703BB /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = 16B7C824120675B47E14A2A872A6DFDC /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 79CA11C1BDDC386FF2A4ADBB513892CF /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8866E3418AA74CD02353B3E373ACEFA9 /* PMKFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; 79FA79BA765DEEF172BC0384B7E5CE84 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = D89263E801FAC6A34F7C9D4E3A3066A9 /* UInt128.swift */; }; 7A0702EE936C773C38F5E4B7F21AB26C /* Multiplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14A3B9C8EDE35875C552679A990B05FA /* Multiplication.swift */; }; 7A95B0BC386E8AF888E81C3A766D509F /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C0825E5C07CD2AD15EADE1A4F132C24 /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7AC2E47719C68FABBDF2DF9E567086AF /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CE50C1C3EED312C9E2B7129A77B305B /* SHA1.swift */; }; + 7B1BE0AB735B19AC77A7EC6490675D5A /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 33EBDEB3CCBA0EA3C7F7CB093743643E /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7BA326DD0CB90C3E9B6459E45258514A /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B7D33AF1AE938A46700885645D7B0C6 /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7C36C0D98CE341BB254E6F2B63A604F6 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C9596E2D0164256EFB0F1673E724BB1 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7C414865BEC16506132F9910DBD62F3B /* Division.swift in Sources */ = {isa = PBXBuildFile; fileRef = 054B52AFE6F7A33802393B6F7E8B9807 /* Division.swift */; }; 7C84CA8569B6C593005324DE5F49621E /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D956E4D797535DA55BFACC56BAE7232E /* BlockMode.swift */; }; 7CEBCAAE658C0E0716B41E40BEF8FB3D /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD4D44D1A4A0B550CAB6D8C2AED04AD3 /* CMAC.swift */; }; 7DAD16539BA5194CA6515AEA28BC29CA /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C74C1E23D6AF919642E4F6E55FD308 /* BlockModeOptions.swift */; }; 7DB10EF26A0A2F6768F695BE03C0AB86 /* Multiplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14A3B9C8EDE35875C552679A990B05FA /* Multiplication.swift */; }; - 7ED61B6F717591CD9AEE78153233E125 /* CryptoSwift-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 95FA6138713C5F6E2FBBB866D8A4C6E0 /* CryptoSwift-macOS-dummy.m */; }; - 7F20A41D40643A5EE1FB3E64F1BB44BB /* Cimpl.h in Headers */ = {isa = PBXBuildFile; fileRef = CC773B77A5A65E3C63F4C5305CAD01D1 /* Cimpl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7E7B5FFB45B34D030569DB117921D0A2 /* PromiseKit.root-CorePromise-Foundation-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 448D25E7648FA3DE003C577C4A2A5DCC /* PromiseKit.root-CorePromise-Foundation-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7ED61B6F717591CD9AEE78153233E125 /* CryptoSwift-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D637897EFADFCEE3659DF22E194C4ABD /* CryptoSwift-macOS-dummy.m */; }; 7F46D5244B59340D5B0A7E454860D689 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 33EBDEB3CCBA0EA3C7F7CB093743643E /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7F754A09D7EA3165D9758A80F307227E /* Floating Point Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FAB45044F3A646E2488529698B14387 /* Floating Point Conversion.swift */; }; 7F8D8FBC1A9C67B326A7F5A04BC3658B /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91836319B3FCCB5A2B1BCE6EF7415F68 /* CFB.swift */; }; @@ -223,37 +222,38 @@ 8384A7D8940BDD9B50ABF44358E12847 /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3BEE25ACB7B1714E52C057B725B022B /* ChaCha20.swift */; }; 848EFB4F6CDA94AAAD25CCB2283E9EAA /* Integer Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD4C6A3CDC6FA3F322EA1C393C5CC89E /* Integer Conversion.swift */; }; 84CCEF3B86065A6C299BE772199B73C1 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FDB2A79B118B2F003B3E6F5A708B701 /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 85BE6E38DF5EF78306F1A4AA5D9BDFFA /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B7D33AF1AE938A46700885645D7B0C6 /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; 8601AFFE38D08BA40B4AED33D04654E4 /* Strideable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00E44D081910E0A312C3A2879F658B01 /* Strideable.swift */; }; + 8632EC1A529DFEE13BF97399F45FFEE3 /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A137B5E1D739B2D491F2842EFFBD559 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 86AB793BCF8161E36142EA221E00E33C /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = 51FFE70E98E00B14A7CEDBC9878713E7 /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; 874698320130745EC1465E308033D024 /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B32F8420CC3DEDA3DC7BB0407B26FDF /* Collection+Extension.swift */; }; - 8838B2C8BD6B40891B3DCF118A17026D /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D8A60B0639785EE266ACA62D536DD199 /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 88BF6E9DAD1C8B0508E8CFFEDE03C163 /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 506C81F04F45BF82E339BD28FB9A6252 /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 89AD1BFCA3B307CD78AFB34118AC031D /* Addition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F24C4B729147ABA4455041FEDE41FE00 /* Addition.swift */; }; - 8A5E008391D8321CFFAF8C16780EFA36 /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = FD3FC379B5028687E388AD09CFE88832 /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 8ABEC41E232F354C6DF2DB60B4AEDF49 /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5E831984223821B4643964E0D16375 /* AEADChaCha20Poly1305.swift */; }; 8BB491EE5C33542F02AAC503E876F8D9 /* UIView+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 560B0B96D98FDEEAA1623C02B9F6ACC6 /* UIView+Promise.swift */; }; + 8BDA6DB765F25A0DB641BAE9BE4B3159 /* scrypt-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BF229E2F5523E62D853248DA0E5AA38 /* scrypt-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 8CA95863A4A71897EE45477A562A16B3 /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEEB8AE79B5DA3255A444BD9E125CC15 /* Utils+Foundation.swift */; }; + 8CF2686010D558BD03C7CED505C11C9C /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DDEB5B32B77FC78B04321FABF19FAF64 /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 8DE8FDE423347EA29D896211A3C2C7CB /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74C8E7BC7B9A663969DC6A1FAE5AD6C6 /* Bit.swift */; }; 8E189B54FFC987969C2A26D21DB0FB42 /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74C8E7BC7B9A663969DC6A1FAE5AD6C6 /* Bit.swift */; }; 8EF9B8FF607B9FD70D85D95EA60C804D /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E75AE5FFEFA361D707CC354FF1EB3D52 /* Updatable.swift */; }; 8F6828B66EC68D2878CEACC7D234DCED /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29DC94582C8F4626E7BBD65A075FDBD5 /* NSURLSession+Promise.swift */; }; 908767B8A8D3AB83A352870C44DBF7FF /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DC80BC8175DF95AF5AC0777B4379466F /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 90B8891EA1CDC0E2CB923E349FC54D85 /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 3736F60D986568A8151FD480D9648F38 /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 919245ABE3324EC4EC8E675AB9592327 /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 370C998F97BBB1397D09CD78C43A9919 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 923235788E467394092CE2018C5FAEB2 /* UIViewController+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DFFEB20DCD9CFCA06DAE16B4367F1B9 /* UIViewController+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; 934311E0A7ED33AF227CA6236BE194FA /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9111A66A9DB609E927159CEFB76D4E76 /* String+Extension.swift */; }; 9346676038E479F7475D304CD3939A0F /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91836319B3FCCB5A2B1BCE6EF7415F68 /* CFB.swift */; }; - 93A04B36AE3206350B85D19862F5F62A /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = 0297F48C8677A1EAF05256ECF6AE81D5 /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; 93AD3CA5F13CFF076A06516E303A61C9 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F87371895A84370E0ECB153DA5CFF62 /* PBKDF1.swift */; }; - 95532035A7D2C05E9D78194EF284D038 /* secp256k1_ios-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E769D47A96005469A7B39F23E9281D6D /* secp256k1_ios-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 969BD4FC9172F82D66E704BF544A30AC /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = F618CC73DE8826F0386137F6584B6A57 /* GCM.swift */; }; 96C6125FB939C1C06CE63AD1E59F88B7 /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E45449F26960667F9B102A7F62C60D31 /* Digest.swift */; }; 9712E5BC7B1EEE1A02EEA6DC76325BEA /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AB377C96E323960FB5F59BE70C7DDFA /* Poly1305.swift */; }; 971CF5DA4334D6FC9E1DE7E8118BF088 /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FA266C4746C1D8469AC609FF653BED1 /* Cipher.swift */; }; 9780B00892C127C1916229C06A751F7E /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 400C4535441BC4EF157E1C50C654B28E /* SHA2.swift */; }; + 98602E727D3013D4EA8D28E0B796F914 /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = 030837B4EF44BB6736CDF5FBF205E93E /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; 991C48377FE8653491950997A605201D /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39CF9703323096F120BB7C18AC3CDD7E /* CipherModeWorker.swift */; }; 9940F65AAACFEDF8634F4017D31420A4 /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCDA16C2155C3C3AC4C4D3C23A57EC12 /* UInt8+Extension.swift */; }; 9AF4F6F40F110FAFE3BAC951C7099D74 /* dispatch_promise.m in Sources */ = {isa = PBXBuildFile; fileRef = 01E16ADA85843E6D30083930685D07D1 /* dispatch_promise.m */; }; - 9C93294CF1F7E31E9BCF02381B17FAF5 /* scrypt-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F76DF7D8AADE94E0258CC9A76C4A2C8F /* scrypt-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 9CA622EDF0E225A5FE37350E93E7B757 /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8602F37D59CD9AD65EEF65DF7AA62A3 /* UInt16+Extension.swift */; }; + 9CD7AB59AA056063FC32AB28C3B0C2B4 /* secp256k1_ios-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = BDB424BDD775458975A06633ABB1E890 /* secp256k1_ios-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 9CF22D4A3B62E62B50881D0DE45FBDF9 /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2D922779E502A6EFC12530D47844477 /* AEAD.swift */; }; 9DAE14B88EE655354CACE65717FA211E /* Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51008209B67B821AFF37051156E8A7FD /* Hashable.swift */; }; 9E85EE2DD5C2A60DF3DE739BD1218C76 /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = E82A76E0CD40E20D9FEC34DAF7889ECB /* MD5.swift */; }; @@ -262,39 +262,41 @@ 9EBA376F929F46495FD004AC09201059 /* AnyError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26A07B357C5F42ABC4E5A41480B9B5E0 /* AnyError.swift */; }; 9ECA90F3DC3F75B1A6491658418173EC /* Salsa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45C2BE6D1118A5C0F2E549CE3527D602 /* Salsa.swift */; }; 9EE54627ED72870C58157B76B89AC3AF /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38CE3ACA4B29354641417DECF1CDC5CF /* PKCS7Padding.swift */; }; + 9F64F076880B1E6A80C8D1D3090C687C /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1143B8F0055C240BA0D05D50FC1CC020 /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; A01F875E651CCF1697C02EA9BF034852 /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5E5C5193E731A76273A1ADACD50AB81 /* PCBC.swift */; }; A065300D974D4C50642BF3687E0E6C37 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = EECA7B8CA13556F051DCBF44B5E5092B /* ECB.swift */; }; A19A5C73B405B96CE009AA14C54C9455 /* Cimpl.c in Sources */ = {isa = PBXBuildFile; fileRef = A0BB9A3E4E29EBA29F99C94BBEEEC1F2 /* Cimpl.c */; }; - A2B27FA4D25CFCC93C70B9BB5A5963C6 /* secp256k1_ios-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C85BA37239973340D1056F3EBC7F4F8 /* secp256k1_ios-iOS-dummy.m */; }; + A2031F83FFFD6EA4255E12B092376081 /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C0825E5C07CD2AD15EADE1A4F132C24 /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A2B27FA4D25CFCC93C70B9BB5A5963C6 /* secp256k1_ios-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3255C8E1AC982676ACABE0D7C8C501C6 /* secp256k1_ios-iOS-dummy.m */; }; A301F522108F0A22EFA241EBCC8F5AA6 /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D028C35CBC913E3AF71B22E4A3C7D14 /* CTR.swift */; }; - A39E98BB6ACEECBAF672A52457035B06 /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = 21DDCB6C56CEF1430122DCD6370180B8 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; A40822AC61959F70D2834E5F4A9A331C /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = F68419F17E2CC2073DDAC992BC39EF47 /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; A48902823DC75349716A4753B1E660DA /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DDF10E5AA3EE0D0028933F977F5BF96 /* Generics.swift */; }; - A4A59B0BA1E4153A6BF2917EB2C1AF06 /* CryptoSwift-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C86011CD926858E717E5D92380F2838 /* CryptoSwift-iOS-dummy.m */; }; + A4A59B0BA1E4153A6BF2917EB2C1AF06 /* CryptoSwift-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D2EF378EFDB3948F453ED590E1CE3A0 /* CryptoSwift-iOS-dummy.m */; }; A4F8D815D07249B30E393C63694BF3D7 /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CC26F0B1E75C50586670C90CB45F824 /* Codable.swift */; }; A5FF9C090C00EE25B1035F603F1C3558 /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 370C998F97BBB1397D09CD78C43A9919 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A6ACACF0C2E9DF22C5477F6FE45DA8FD /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CE3EEB40B82A07623C8EC58D511BDA8 /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A851E4E866251283BE250466CCA8F05D /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A137B5E1D739B2D491F2842EFFBD559 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A848E609F5973AB324AA66A786BE378B /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = F68419F17E2CC2073DDAC992BC39EF47 /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; A8995C0B368AF79026265F486D640985 /* Primitive Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = F685B50C77BC588736193EFC93B3FAFA /* Primitive Types.swift */; }; A8FB03192116C7259BDC47B4ED7A1770 /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7FE282781FCA8360DCC5EEC2DFC9045 /* BlockDecryptor.swift */; }; A93F309C7285ACB8ECAA14903BC85237 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3AE421756716EB8DAA945495A2EC5DD /* Rabbit.swift */; }; A953ACC3543A00D51383ED73301139A4 /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7540EADD3520F1ECD4BAD23FF29400F /* String+FoundationExtension.swift */; }; AA08FA2EB9DB4E98494BFDDE5D4B4936 /* Bitwise Ops.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55188AE8B0452B68B54A84FABFBA1BBF /* Bitwise Ops.swift */; }; + AA0B40D52D40A8BC397B51FF6C9B3C90 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 185ADAFCE5AF39098787D861673779B8 /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; AA3403E09DAD47A2C9FCE81A9AB40EA5 /* AnyPromise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C537644BF5D1735EC0FF5E1EAD5A94F /* AnyPromise.swift */; }; AA40ABA19C4E8BBE370471E77BAFC842 /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B864BCFD33F0A7ABED7DBA75C963A51A /* BlockCipher.swift */; }; AA48D3B3A44CD568D493A0326D60EEAC /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E45449F26960667F9B102A7F62C60D31 /* Digest.swift */; }; AB02DBB24DBB4F98005C0C14C342F8FF /* Prime Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C91FB228B4F0EFFE0BB1C457B26A6E3 /* Prime Test.swift */; }; AB34427D03874A67ED273F44E27CAFEB /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CDBE2B78BCAA950F79B74C3FB2E228C /* when.swift */; }; - ABA18C643B7B9DAE45127BAB6763ED84 /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = 96BC14C5CF69F4D24A02B045A7A1BB7E /* fwd.h */; settings = {ATTRIBUTES = (Project, ); }; }; AC19417412E8F69BD232DB6370BE9AC3 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 185ADAFCE5AF39098787D861673779B8 /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; AC6D836A8BEBC67FAD48B43B80382794 /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B10016CC925878BCF8C1423A7EAD6A6 /* Padding.swift */; }; AC7E09D1F43A94AEC729A8D8486B85CE /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = B9BCFC62DFEA1FC233306B897C15DE84 /* lax_der_parsing.c */; }; - AEDB6F7FF6DB897F36B275F65C330C41 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 185ADAFCE5AF39098787D861673779B8 /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; AFDA9E12CC7195153491C8CD1C0AAD8B /* Integer Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD4C6A3CDC6FA3F322EA1C393C5CC89E /* Integer Conversion.swift */; }; - B15B604450291A246C8420194AFF4B2C /* Result-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 58D38A9B84FEE36DA02159AEC6611C17 /* Result-macOS-dummy.m */; }; + B01D4A804FE382180CCF4053E794C24E /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 894C3E3F18C4D842D9E35A6A69851AF0 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B15B604450291A246C8420194AFF4B2C /* Result-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 757A37D7E29817F44F2AA11410470DCE /* Result-macOS-dummy.m */; }; B264AC2DFBBC420DEE1695859273E0E6 /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39CF9703323096F120BB7C18AC3CDD7E /* CipherModeWorker.swift */; }; B27AC8F7FCD59B1C8879D64E939D9737 /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0E096DA6BBC65953BD97D1BD9FDC13A /* Blowfish+Foundation.swift */; }; + B2921F5CDE5C5C82346964060B258525 /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DC80BC8175DF95AF5AC0777B4379466F /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; B375AE4058EC8E7A69B2D448B7F36019 /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = 51FFE70E98E00B14A7CEDBC9878713E7 /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B42F58792A1A735AD69BB60C4EF4DC58 /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = 778AAAE605119A0341DA4378ED873181 /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; B43A930051FDC74CE6667856407BD5CF /* Exponentiation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 129F0BDD5D5540B28243DA06090AEC11 /* Exponentiation.swift */; }; B47081880A03F74BE985722C4EB78E20 /* scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DC2E6214BB1EB95403BF7608DAF872D /* scrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; B48C458D1CB67A6B566AEFBADAE6DE8A /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B10016CC925878BCF8C1423A7EAD6A6 /* Padding.swift */; }; @@ -302,24 +304,21 @@ B534D1DE7C6E7115E6A75EE8BAA4819C /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = E82A76E0CD40E20D9FEC34DAF7889ECB /* MD5.swift */; }; B5F389D0404F3ADA27EF686F42722D5B /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60F78E26D6ABB8534A27E28D45FBFF71 /* Scrypt.swift */; }; B6047589B7129612A0BD9070C008FF3E /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F3C6D22D31BFCC4FBF02C3E813AE0EC /* hang.m */; }; - B640565E1593B250390597C2651078A4 /* BigInt-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C4FBD9EED7C8E73E16CA9B5DC621F56 /* BigInt-macOS-dummy.m */; }; - B6699C206D4772B76BEAF1722CB04572 /* Pods-web3swift-macOS_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 522015696E45158812DD4C5CF37CD544 /* Pods-web3swift-macOS_Tests-dummy.m */; }; - B70EF82165930092663A4177C5F1FE4F /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 2468F7B4A6695BB009B5A2AE35A167C8 /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B71596F2C722143ACE243217699C8B26 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = 15C56E2FA28A6BC277C2F1DF71DE010C /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B640565E1593B250390597C2651078A4 /* BigInt-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 06184F1E92B8B61D4A9719D662641B02 /* BigInt-macOS-dummy.m */; }; + B773946DE5FFBE30EDF07970211D0F6E /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8866E3418AA74CD02353B3E373ACEFA9 /* PMKFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; B7D7CA91C141C38015B1148059914F81 /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = D24853136C9E866538093205C6E4A90A /* when.m */; }; - B85578BD6CA740FA275B7FCB49ABCE30 /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = 51FFE70E98E00B14A7CEDBC9878713E7 /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BA33E96D5FF50CFFA5727208AC91DF2B /* SipHash-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F59529DA4EC37C03768A930A570FC20 /* SipHash-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BB06FC86A3B62397AE0E07B00471F6AE /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 231D53FA7D46749E94693152ECA561B4 /* AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; BB91D03B628F9A7BAEE9330E7FEE58DB /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C9596E2D0164256EFB0F1673E724BB1 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; BCDE72CE8069BF09131F983ACA411B8B /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = EC2691B355719F37BCE2B9EB79640902 /* lax_der_privatekey_parsing.c */; }; + BD866838930E0CDAF1107A381781B643 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2A9882D7606624DB09D137DA346B890 /* Foundation.framework */; }; BE17E68524E049C26BFA30707DFF6E9E /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = F1F1BD0CE2445F35A20783082C9D4775 /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BEF500ABA92617FC244C36F2DD7E47D2 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 2385B17AD9190A207792185ECE5CD9C7 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; BF6A2DC96F54CE8B73454C8C2C00381B /* BufferStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75108DB9FE7BABCC05526BD92059DC5A /* BufferStorage.swift */; }; BF9C1C12AD3560167B0800059B4A6D6E /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AB377C96E323960FB5F59BE70C7DDFA /* Poly1305.swift */; }; C0101FD19738FB97383D1C0CF5EEBF77 /* String Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7DFFB650AB055EA65177877A4837E93 /* String Conversion.swift */; }; C0E38CC3E9A47DD76092CA50CEEEAE12 /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFA9EC9779A914A67653CFFF9142318C /* Deprecations.swift */; }; C0F8B164DDA6157937A300C207D56E4E /* Subtraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6942B9400A6731CB14455C8AE7F0C6A7 /* Subtraction.swift */; }; - C15CF4CD764C303BB61C1908A5088EB9 /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = 16B7C824120675B47E14A2A872A6DFDC /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; C1693DEA3241820346B6392F419BE86A /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DDA4FB25A4C58942E352156AFA0F29E /* PKCS7.swift */; }; - C223A7A68CC3C3E35C5BAF673FC6422C /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AF087435CFE453BE94CFAE116CC7661 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; C420F74F411178FB20F79B022567A36F /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = 184318AC3420D7DB5A094F601C869C72 /* Checksum.swift */; }; C45AB3CBDC8E80549A5258F1EF33B5E4 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = D89263E801FAC6A34F7C9D4E3A3066A9 /* UInt128.swift */; }; C4A91D774EFB424EF2F25970BBE498E2 /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A4A461EE06699EE78B2DCA6B7B73F16 /* NSTask+AnyPromise.m */; }; @@ -331,7 +330,8 @@ C7546B1AF7022FE1D1D4E974A890D03F /* UIViewPropertyAnimator+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF8763C25A8C471712C07FDF71929703 /* UIViewPropertyAnimator+Promise.swift */; }; C76A85C8526F33C17488B1ED3E96E2B8 /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = FBEFBB38BBB87913FDCF892141C0AC8D /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; C81D77ED3B884C5F8FF333D7E73D2760 /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 520379C6715340D2674500ACBD1C4502 /* Catchable.swift */; }; - C8727CBC2DF558D6A8432C374FC6C20D /* secp256k1_ios-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8574390012E8F0C54B5B8C7A68D484 /* secp256k1_ios-macOS-dummy.m */; }; + C8727CBC2DF558D6A8432C374FC6C20D /* secp256k1_ios-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C3B8A43F9D491A5A6F79AEC7B3ABF7C4 /* secp256k1_ios-macOS-dummy.m */; }; + C986469BA18AD3CA99A0340B7ACDCEF9 /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = FD3FC379B5028687E388AD09CFE88832 /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; CA0A3399A3F3DE0313571B05CCACB00B /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AF087435CFE453BE94CFAE116CC7661 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; CA4AF1EA89A313035FBCF8BAF73AE5E3 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58ED9DC4116D9A46B7047B9F3EE44E18 /* Configuration.swift */; }; CA5BBB4A81D6C18A87B54AD3E3CB1DDD /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EE7CBB8299AB71F5275827AA34C853A /* Cryptor.swift */; }; @@ -340,6 +340,7 @@ CBAB02308405D4C1CB4271EC4AB971F6 /* Words and Bits.swift in Sources */ = {isa = PBXBuildFile; fileRef = 268F48810699A9A9AD79047FD000B499 /* Words and Bits.swift */; }; CC53CC49FDD4748924F21B50E485DBBD /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7540EADD3520F1ECD4BAD23FF29400F /* String+FoundationExtension.swift */; }; CE2BCA099CEA37688059295108D416AD /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65E54F31ACC1397C1485DF5C7B5FA928 /* Random.swift */; }; + CECB62463393D641C7A1813FF0BB3C7B /* scrypt-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F102D610A357DBD3CDC4E97671DE62A0 /* scrypt-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; CF2EC01022EDE78D4A2A1EE28519BB24 /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = BAD09E8EE27EB4BA87F1F0237E0D7537 /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; D01DA48DF6AD0E0C496D261444C43E30 /* after.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302BA93FAE34FC2BAD89C5501C21611C /* after.swift */; }; D03604350C4AD6E462633ACEF03DE182 /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D956E4D797535DA55BFACC56BAE7232E /* BlockMode.swift */; }; @@ -349,7 +350,7 @@ D1F0182968E66E044F80A9822BE772F0 /* Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51008209B67B821AFF37051156E8A7FD /* Hashable.swift */; }; D2CE75EC329AAE7EE0E4BAA7458EF9D5 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC8CE2AC7222CA948CFA3E9FEF002800 /* Error.swift */; }; D32712369A0978E2F272F6ED44E13D09 /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DDA4FB25A4C58942E352156AFA0F29E /* PKCS7.swift */; }; - D4FBEF46E2616F942B65FF779B374513 /* BigInt-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 60EE65019B7B0977FF9331F020D957CD /* BigInt-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D367FA306F3D716B5B26AB7ABC28B82F /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 57BE35B8EF2F430EE1A093A4E43F8243 /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; D51658C88F64814325AFD7E26FF01C58 /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81D592C69182CE946419FE4D30C2690E /* PBKDF2.swift */; }; D629596D140514F80B7E96FC37625CAB /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BD07DFA1EC0FD8CF78E837D5A0051A6D /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; D69EB24A00A90DE5EB08D773551E36A6 /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = D6FBFF07C73E9B536C49D3D32A989327 /* join.m */; }; @@ -357,90 +358,101 @@ D77D59D158D2FBA4B6AA53805363DB1E /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF5CF52D91122CF7B77E75FAF93251C3 /* UInt64+Extension.swift */; }; D81D753CE65D4B1E0F26F57606BD0F6C /* Bitwise Ops.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55188AE8B0452B68B54A84FABFBA1BBF /* Bitwise Ops.swift */; }; D91F249AD8EFADBBF3CA1C4F3F1EC689 /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5946E85C35328004F1FD0D65ABF93B4 /* Process+Promise.swift */; }; + D97D4F779CE4301CD25BDE66904D1F9A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 75E5EE20B9BFFFDFC7AC813752336250 /* Foundation.framework */; }; D9B3D20980002DAFC3783F7A6B1C91BA /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = E88F02B72D0ADCFDAA37C5D63ABB3679 /* NoPadding.swift */; }; - DB4121B9C2C88108CFD4BF622DD22793 /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 57BE35B8EF2F430EE1A093A4E43F8243 /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; DB5D77CB1116685129F0E9DFC9AC9779 /* NoError.swift in Sources */ = {isa = PBXBuildFile; fileRef = C57F8890E519BE45C84FBCD5E06453AF /* NoError.swift */; }; DBCADB8931FC3A1305E622FCD41DBB71 /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07EBEF7A80D308EEE9B00C81E7BA82EE /* CustomStringConvertible.swift */; }; - DC07B1317F80D339C68CCBF3D31566D9 /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 5ADFA6DD652FDF2433DB8FB46C2B02CA /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DC21D5B2B6EB7B15B0BBCEB3836868C4 /* PromiseKit.root-CorePromise-Foundation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F38735F968F3506E4EACD22DC1175F06 /* PromiseKit.root-CorePromise-Foundation-dummy.m */; }; + DC21D5B2B6EB7B15B0BBCEB3836868C4 /* PromiseKit.root-CorePromise-Foundation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4023529EFB6CDA4D7368E425E4F84453 /* PromiseKit.root-CorePromise-Foundation-dummy.m */; }; DD419D08F1AEE92AC819A14720ECD62C /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DDF10E5AA3EE0D0028933F977F5BF96 /* Generics.swift */; }; - DDA12AF713A1310BDC4A90183CBB1594 /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 394A497CBDC2A602E9E5A0A0E4A7C231 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; DDF54071C21579D559BDEE8D08189CF1 /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CE3EEB40B82A07623C8EC58D511BDA8 /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DF3C881F6AA58663EA27A37DDC93CBD1 /* SipHash-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 06A021254E60B0C7F3ADB156F97D8EF1 /* SipHash-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DE8ADD9F39627224ADF47AFF18B0EA29 /* Pods-web3swift-macOS_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 553C1445D10FA04E682FE1674D6AF9EB /* Pods-web3swift-macOS_Tests-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; DF927452C685F72071057C8843C01706 /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = 0297F48C8677A1EAF05256ECF6AE81D5 /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; DFD70F894CFF9B61FF717C1443E95601 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC1129F2E85B44E362DF4E5C827C8DD7 /* Box.swift */; }; DFF0B3B6C8696B29A8B79E1C76E9D76F /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = FD3FC379B5028687E388AD09CFE88832 /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; E007271BF4C4F9B9D464193F85793C50 /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11B33EE72A6FBE59A2A5064DAF6FFC4F /* AES.swift */; }; E04BBE8E404D1CC27E4D74B8894479BD /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4942974D6603D53C4E7A5A1EE454090A /* NSNotificationCenter+Promise.swift */; }; + E1B6F21FA966C5EF912CFFA03322B922 /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CCD88E197198C9C888139A0E2A2CD50 /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; E1BD1671D6E0A0FDAC9298373486DA9F /* Square Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D44A825E8CB9200059521A9C941F712 /* Square Root.swift */; }; E24619AC5BEB6C6F40A086FBC713953F /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2806EF87AE8A9188FC203D40F55755F3 /* HMAC.swift */; }; E254A91C69969B33ED1BF9BDE5B19AED /* Data Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C8A77BEACE815406E69A6AC5A86CAD0 /* Data Conversion.swift */; }; E330D6002B747B8DFE92C9EF6A252AB1 /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 7399560A570538454DCA6FC42E879809 /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E3E7DAA98C0D84340DA492FDA9A32149 /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BD07DFA1EC0FD8CF78E837D5A0051A6D /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E43B98F13FCD3B5DB5F276A823A9354D /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 2468F7B4A6695BB009B5A2AE35A167C8 /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; E4693B68EB480BAA15C7AEFEF584ABEC /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894312908815C8518B59156B045BB049 /* Thenable.swift */; }; E48FE65994D2FDB3496020B0AED10062 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1BEA6E913A811987196FC02097A1F5C /* Data+Extension.swift */; }; E496E4A9940D9E53F87FC94F6FBA613F /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1BEA6E913A811987196FC02097A1F5C /* Data+Extension.swift */; }; - E4DFF19D9D0DCD7944CCDD5E7D49E700 /* PromiseKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 011F6C47C6E88AE3E66264D1FEB85A87 /* PromiseKit-dummy.m */; }; + E4DFF19D9D0DCD7944CCDD5E7D49E700 /* PromiseKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 30357CC27C341269BCCE3C19E4FE8FE5 /* PromiseKit-dummy.m */; }; E54F41039B5C497AEE8D9A2305063624 /* Cimpl.c in Sources */ = {isa = PBXBuildFile; fileRef = A0BB9A3E4E29EBA29F99C94BBEEEC1F2 /* Cimpl.c */; }; E5F6F258065CC6C97832138F09AAE49B /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 309EDA4AEC3E9553B1C5228CB1CB760F /* Result.swift */; }; - E620808A6B6483DD90D1DF1DD9F399ED /* Pods-web3swift-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E8C19543EF3AA4D9801DBE55E22E211 /* Pods-web3swift-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E620808A6B6483DD90D1DF1DD9F399ED /* Pods-web3swift-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D8C2202C63BDA7C0F7AF6C89B6273FD /* Pods-web3swift-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; E6A3822607D69367B5FC864FB7A3BD73 /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DDEB5B32B77FC78B04321FABF19FAF64 /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; E7CD62024C5874B3F67B266815D7CAC4 /* race.m in Sources */ = {isa = PBXBuildFile; fileRef = B592EEFCCF7F964D0B60F749B17B7658 /* race.m */; }; E8A145AFD00468A4C9549E156F7A4327 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3AE421756716EB8DAA945495A2EC5DD /* Rabbit.swift */; }; - E900FB2DA6B0F0F63CE82466566FCD68 /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CCD88E197198C9C888139A0E2A2CD50 /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; E9E664FD3415EAFF7CDFFD33254902E3 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = EECA7B8CA13556F051DCBF44B5E5092B /* ECB.swift */; }; EA1A3BB85FC5453DEA5AE302324D4DAA /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FF537F705CA3D41D9798A4511A8F24D /* Authenticator.swift */; }; EA3B78E39182A056E17833E10C5DE2E6 /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CB44D970BC24207B7D4CA4DD2644E2B /* ChaCha20+Foundation.swift */; }; EA7EC84C113B5F75F5D77F792DE3B6ED /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = 21DDCB6C56CEF1430122DCD6370180B8 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EAA80D55D188ACC0DA29BD0186E80FAD /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = 21DDCB6C56CEF1430122DCD6370180B8 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; EB5C9979901C255CD26AAD9C2908FC4D /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEF9AB34E06A2A4078A0C87B37B1CD0F /* RandomBytesSequence.swift */; }; + EB6B58F71E3D5BAB4ECE9430B17E8851 /* PromiseKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = EF09F78B3249ABD67C39117542CFFB87 /* PromiseKit-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EB89F559AA39AB8B74AC19DCD09A0AF0 /* Pods-web3swift-iOS_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1938EA02A3971FFC506F4AE3E29121A6 /* Pods-web3swift-iOS_Tests-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; EBC1181767AADF30189982641F9B9648 /* Prime Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C91FB228B4F0EFFE0BB1C457B26A6E3 /* Prime Test.swift */; }; EC17D63723242B036D6B342AB1853468 /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 394A497CBDC2A602E9E5A0A0E4A7C231 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EC1CD56EB11B85BC0AB0927EC3A37BBE /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = BAD09E8EE27EB4BA87F1F0237E0D7537 /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; EC308ACB0BA1C145CC005AA4186B9EB0 /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5E831984223821B4643964E0D16375 /* AEADChaCha20Poly1305.swift */; }; EC8CEEA1FF4CC7455796055B38C806B8 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8575ADFAFEFEFEDACDC32D01960AE2AB /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ECDEF2626BC123966104C5F0B4830936 /* CryptoSwift-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B02B055F45990BB015AB494AE625A793 /* CryptoSwift-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; ECF5A5E67884B9F6B19675CC43188C04 /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = 4965C40E8438A02BE82C485420845345 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; ECFCD95180C3DD7095902786BB56299A /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F3C6D22D31BFCC4FBF02C3E813AE0EC /* hang.m */; }; + EDA077007EEB5A44FAC5AFD3C1836B04 /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = 96BC14C5CF69F4D24A02B045A7A1BB7E /* fwd.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EDE96BB2FF7AA6C6C947F19526E168A4 /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 5ADFA6DD652FDF2433DB8FB46C2B02CA /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; EE0C5BE970F77B1A1478E64F164DDB99 /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D22F70DCC90E8FE0E9EC24A5DBABE79C /* Rabbit+Foundation.swift */; }; - EE83304C33E8D28C3321FCF4F3E952AC /* scrypt-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = DF437C6BA87CD115FFAF9F58E13F530F /* scrypt-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; EF56A1A9A97666C4D03AA9AAF5A37918 /* Strideable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00E44D081910E0A312C3A2879F658B01 /* Strideable.swift */; }; + EF62E2EFC77C073FE4E28108723ACF4B /* BigInt-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CAF1A1CA61F0B5E096092946067071C5 /* BigInt-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; EFDC04F64EB4766D33AC8058E12B4561 /* GCD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17049D2192C6CCC8A8BE362B66ED01E6 /* GCD.swift */; }; F0072E292EA165864D21EA126253FD4D /* BufferStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75108DB9FE7BABCC05526BD92059DC5A /* BufferStorage.swift */; }; F1713A581AF450456EAEC87DE47CDA88 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 092C4E684DC275279EC695C30F05982A /* Array+Extension.swift */; }; - F1A07A920329A779F5DE4422E744651B /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DC80BC8175DF95AF5AC0777B4379466F /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; F1B591E730508664D1D744A9B5356027 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC1129F2E85B44E362DF4E5C827C8DD7 /* Box.swift */; }; F238EF032BC5A70219603EA97FF3FED8 /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D028C35CBC913E3AF71B22E4A3C7D14 /* CTR.swift */; }; - F2CEA0F86BECA15D8730D3D53D9EAF69 /* SipHash-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 22BBC9E03E0BAFD51E78A932B584D135 /* SipHash-iOS-dummy.m */; }; - F40D5648952C6403898BBA6EBDA00BE3 /* Result-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FE9A22DCC269160D36ABB6B7AF260C2A /* Result-iOS-dummy.m */; }; + F2CEA0F86BECA15D8730D3D53D9EAF69 /* SipHash-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 17C50841AEC7F820B5A9B738E19218FE /* SipHash-iOS-dummy.m */; }; + F35FA24B1FC1A4340CB6903B3FDD95A7 /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = 86010FFDC0CB0732CC170A6EB5EC36A5 /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F40D5648952C6403898BBA6EBDA00BE3 /* Result-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EE45321EF7229C67B1384B69BC09C9A /* Result-iOS-dummy.m */; }; F420C3B6A5179B3A3AE6CA1661AC1D09 /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60F78E26D6ABB8534A27E28D45FBFF71 /* Scrypt.swift */; }; F4D09855E68D1FD71D77BC55A727D4A3 /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EF2B2E6A827BEB4095C69760A095228 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F4D1F737295AE1152488E8C62B8B07CC /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 413EEACF83712E321F24944C021FEB53 /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; F56FE8F3E8E168BE03C4966EEAA91C1B /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 413EEACF83712E321F24944C021FEB53 /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; F5AB8AD08E9E0AD8237FC486B02D3AE9 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F407B4684E6934554D8F4910242620 /* Int+Extension.swift */; }; F66269854D86921BE970C5FF6C20CC51 /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFA9EC9779A914A67653CFFF9142318C /* Deprecations.swift */; }; F6ABB13AD16C583ED44B0635C22C5B1D /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07EBEF7A80D308EEE9B00C81E7BA82EE /* CustomStringConvertible.swift */; }; F6C04F880164DA1647FDF6654CD65CBE /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CC26F0B1E75C50586670C90CB45F824 /* Codable.swift */; }; F6EEBE907D9BF3B0332ED86D67236441 /* BigInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0955D39FEEF45C034D6A32CD819DA77A /* BigInt.swift */; }; - F753E13D3D4A29BF27E48A2303E55253 /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = 030837B4EF44BB6736CDF5FBF205E93E /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; F7637401A66A3768E3AFB4725B5A68CE /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = C996378C4E5A24B09E9399A757B8257E /* PKCS5.swift */; }; F76CD6A74599B946F2BEB2CFD466DCF8 /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93880388A03A6AEAEBFC90F7F533AAD /* StreamEncryptor.swift */; }; - F7FEDCC800360A1311C42EFE80CD207D /* Pods-web3swift-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D8F688145BCFE1FB8B76299CC261A05E /* Pods-web3swift-iOS-dummy.m */; }; + F7FEDCC800360A1311C42EFE80CD207D /* Pods-web3swift-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 201CB380345E9D668D690C12DA30C425 /* Pods-web3swift-iOS-dummy.m */; }; F854EACBF11549213B26B4748FBB94A0 /* Subtraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6942B9400A6731CB14455C8AE7F0C6A7 /* Subtraction.swift */; }; - F8C762D809370D0B01A8BDE46AE1E336 /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 231D53FA7D46749E94693152ECA561B4 /* AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F9A83224C63AF5F18AED311461D71668 /* BigInt-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = BECB9224CBFC1D8A1E8486BB06BBC621 /* BigInt-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F8ADDE1FBDA3E24BCBA08A6AE91A61FE /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 7399560A570538454DCA6FC42E879809 /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F8FD768535346E2CF68666669776442A /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 480A526DDBB009A3C8A843239CA3D080 /* PromiseKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F9697E5E03294F84CDF66EBBDB3FC67E /* CryptoSwift-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F1E5E87AFE60D743CD6E11B84ABD8F8D /* CryptoSwift-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; FA13F504AF0E2A1B5540B69241BDA525 /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4942974D6603D53C4E7A5A1EE454090A /* NSNotificationCenter+Promise.swift */; }; - FA750855C8E963C8BDF3CB98B66F2223 /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 744D68A2C1A6A6136663892BD5967CEF /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; FA9AEF2C8D8495DFBB7D202A04CD4C7B /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59EE5FF05C3E791A7F8398D6FCF80055 /* BlockEncryptor.swift */; }; FB15EFD9B279E96538754752538F6F2D /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E8B805F5680EBA0F99C37AB55DF371A /* Blowfish.swift */; }; + FBA0C0B9F810F412F1B19B633DF77D78 /* BigInt-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E4970F0550D2C60457B433185620200F /* BigInt-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; FBB8E2DFA421E54A1F954651D46E3E87 /* UIViewController+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 690E91794401ED87EB104B7BE8059DD2 /* UIViewController+AnyPromise.m */; }; FBCF699856A16E347AFE56DF1E4B798F /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 744D68A2C1A6A6136663892BD5967CEF /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; FBFE167922921EA3CB8BBE48F6FA3B54 /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = B9BCFC62DFEA1FC233306B897C15DE84 /* lax_der_parsing.c */; }; FCCB2E2C0281EDCAD1C5E13070298711 /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 2468F7B4A6695BB009B5A2AE35A167C8 /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FCCEC31B1FC9971E3DA967E44E81A0D2 /* Pods-web3swift-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 25F72E78DF48560F5D210E57844ACDED /* Pods-web3swift-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FCCEC31B1FC9971E3DA967E44E81A0D2 /* Pods-web3swift-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 23BB48B62BD11AE739C695D5E07DF23B /* Pods-web3swift-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; FDB43EA5FEFA9BC5B4ED67591C4D6958 /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 9419704F82CEC9143EC36DDD7E0B5565 /* NSNotificationCenter+AnyPromise.m */; }; - FE5B85739B771377AF32128CC981B882 /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1143B8F0055C240BA0D05D50FC1CC020 /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FEA85558F428093EA3B68A2FB1C71D2A /* PMKUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = D175F930B0613AAEB35FE3D02276CA4D /* PMKUIKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; FFE4A177B13CFEBE37F77661D03FDE45 /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BBCEC526DF7F5F6A046CBAA7F93B530 /* SecureBytes.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ + 1534DAD4B031EBB9EB9ECFF9A0272039 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 717A6C5D2749A62529F91EEEFE9D7643; + remoteInfo = "scrypt-iOS"; + }; 17B4A9AEA97AD7E79C58E8433B39E08E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -455,12 +467,12 @@ remoteGlobalIDString = D65B13BFF251965985F677C194C0CACF; remoteInfo = "Result-macOS"; }; - 1E5017C3A1512E67B0318DD1DACDE515 /* PBXContainerItemProxy */ = { + 22DD5B8659B60E31EEF9FA61FF70F620 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = BB68F9B80C22C74C528A2A837F77C592; - remoteInfo = "Pods-web3swift-macOS"; + remoteGlobalIDString = B4C770D41049AF2A6AAF1D99D0B08152; + remoteInfo = "Result-iOS"; }; 284C9AFC38A225A506CB24973AEFB321 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; @@ -490,12 +502,26 @@ remoteGlobalIDString = 2FE2011DA32CEB3AE7A817A294041570; remoteInfo = "secp256k1_ios-iOS"; }; - 366CCE30759EB3C0FF8E45BE9572B007 /* PBXContainerItemProxy */ = { + 352364F0383233F4CC7C27744D6969FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 242D7A70DFF4194FB7B7DA7C1AA5384E; - remoteInfo = "Pods-web3swift-iOS"; + remoteGlobalIDString = 2FE2011DA32CEB3AE7A817A294041570; + remoteInfo = "secp256k1_ios-iOS"; + }; + 360BC8035FDA2684D3D224FE94563CD5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 3B79F6DB09B597AAE9D3EB939DA463D8; + remoteInfo = "SipHash-iOS"; + }; + 435993337DC7ED14E3B81E444FA17FFF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = FC621AC7D03DDE6D391CACBAF8CA054E; + remoteInfo = "secp256k1_ios-macOS"; }; 5C4F2ED3F13D3478905D555D2B67CD1E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; @@ -504,6 +530,13 @@ remoteGlobalIDString = 44D204414133961DD4B492AFB5C4DEEB; remoteInfo = "CryptoSwift-iOS"; }; + 5D305E4E35D6FFC5F0B493DC1272B0EE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = D618CA243075F5EB0C89F808DD7756D8; + remoteInfo = "CryptoSwift-macOS"; + }; 767E586CEA5CAB20EBE1EA7AB3631553 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -511,6 +544,13 @@ remoteGlobalIDString = 00370D91F8D61EB1B486DA6056B32406; remoteInfo = PromiseKit; }; + 78020117C086D2646E8237DA59CF8059 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 44D204414133961DD4B492AFB5C4DEEB; + remoteInfo = "CryptoSwift-iOS"; + }; 781352D1D58C89F6D17164C60C65F70B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -539,6 +579,20 @@ remoteGlobalIDString = 4FCBE56BC5E931FDC43C642250037C1F; remoteInfo = "SipHash-macOS"; }; + 8EAEE80824AC260B45892170FD94FFA9 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = BB68F9B80C22C74C528A2A837F77C592; + remoteInfo = "Pods-web3swift-macOS"; + }; + 8EB9105FCFFB3B026DF8D04211F344F9 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 242D7A70DFF4194FB7B7DA7C1AA5384E; + remoteInfo = "Pods-web3swift-iOS"; + }; 95EBCBEDA8C09F798A8B0AAC2A665789 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -546,6 +600,20 @@ remoteGlobalIDString = B4C770D41049AF2A6AAF1D99D0B08152; remoteInfo = "Result-iOS"; }; + 9708F8CBA381DF40339F65A62C5299F3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9646F4C6B5DB5298F5EEE5871120A244; + remoteInfo = "BigInt-macOS"; + }; + 972D1D5783F52F9D41D5545982623D83 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 07841E92CB371DB60A1803D68D0B6814; + remoteInfo = "scrypt-macOS"; + }; AC378E3E20AF5D424B6D68F67641CFC3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -553,6 +621,20 @@ remoteGlobalIDString = 3B79F6DB09B597AAE9D3EB939DA463D8; remoteInfo = "SipHash-iOS"; }; + B6E1ACAF6088DCEB605C6E0A670B2881 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 00370D91F8D61EB1B486DA6056B32406; + remoteInfo = PromiseKit; + }; + B9315564689272999D44E50694EC0449 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = D65B13BFF251965985F677C194C0CACF; + remoteInfo = "Result-macOS"; + }; C753A37721FD85DCC8725FC13D90D8F4 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -567,6 +649,27 @@ remoteGlobalIDString = 9646F4C6B5DB5298F5EEE5871120A244; remoteInfo = "BigInt-macOS"; }; + D26D83FD52873C0724F3563C9D973BC0 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = AF9F48E6961507C0E2FD7A3CDBC652DA; + remoteInfo = "BigInt-iOS"; + }; + D327745110CF6AAD186CFD3D40F2CBC6 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8FBD6D69D989701B31E1FE3221BEE90E; + remoteInfo = "PromiseKit.root-CorePromise-Foundation"; + }; + D6399F92B7E7FFC27E2EC6AB44FC20E5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 4FCBE56BC5E931FDC43C642250037C1F; + remoteInfo = "SipHash-macOS"; + }; D9B409BD1965CD2C916FF3BD0529876F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -585,34 +688,35 @@ /* Begin PBXFileReference section */ 00E44D081910E0A312C3A2879F658B01 /* Strideable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Strideable.swift; path = sources/Strideable.swift; sourceTree = ""; }; - 011F6C47C6E88AE3E66264D1FEB85A87 /* PromiseKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PromiseKit-dummy.m"; sourceTree = ""; }; 01E16ADA85843E6D30083930685D07D1 /* dispatch_promise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = dispatch_promise.m; path = Sources/dispatch_promise.m; sourceTree = ""; }; + 02408D11F33503E2122742BBD9381C6D /* SipHash-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "SipHash-macOS.xcconfig"; path = "../SipHash-macOS/SipHash-macOS.xcconfig"; sourceTree = ""; }; 0297F48C8677A1EAF05256ECF6AE81D5 /* util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = util.h; path = secp256k1_ios/src/util.h; sourceTree = ""; }; + 02BEF937ADDFC393286931ED4C648955 /* secp256k1_ios-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "secp256k1_ios-iOS.modulemap"; path = "../../Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap"; sourceTree = ""; }; 030837B4EF44BB6736CDF5FBF205E93E /* ecmult_gen.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen.h; path = secp256k1_ios/src/ecmult_gen.h; sourceTree = ""; }; - 042CC2D185140E7D725D22562A3E307F /* Pods-web3swift-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS.debug.xcconfig"; sourceTree = ""; }; + 03BD39A3C7331FE5A8003EF47345E789 /* scrypt-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-iOS-prefix.pch"; sourceTree = ""; }; 054B52AFE6F7A33802393B6F7E8B9807 /* Division.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Division.swift; path = sources/Division.swift; sourceTree = ""; }; - 06A021254E60B0C7F3ADB156F97D8EF1 /* SipHash-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-iOS-umbrella.h"; sourceTree = ""; }; + 06184F1E92B8B61D4A9719D662641B02 /* 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 = ""; }; + 062D69C437E04FE7A990ACBC476B4B53 /* CryptoSwift-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CryptoSwift-macOS-prefix.pch"; path = "../CryptoSwift-macOS/CryptoSwift-macOS-prefix.pch"; sourceTree = ""; }; + 06AC0C18C20BEB0CFF4386CE35E5CFC9 /* Pods-web3swift-iOS_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-iOS_Tests-acknowledgements.markdown"; sourceTree = ""; }; 07692AF4D5F0A8907862595FBCB74ECB /* firstly.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = firstly.swift; path = Sources/firstly.swift; sourceTree = ""; }; 07EBEF7A80D308EEE9B00C81E7BA82EE /* CustomStringConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomStringConvertible.swift; path = Sources/CustomStringConvertible.swift; sourceTree = ""; }; 07F62FD29EAB7298762C10A21294A6B1 /* field_5x52_asm_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_asm_impl.h; path = secp256k1_ios/src/field_5x52_asm_impl.h; sourceTree = ""; }; 092C4E684DC275279EC695C30F05982A /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "Sources/CryptoSwift/Array+Extension.swift"; sourceTree = ""; }; 0955D39FEEF45C034D6A32CD819DA77A /* BigInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigInt.swift; path = sources/BigInt.swift; sourceTree = ""; }; + 098E4539FFEB1EB276A76F56D0829434 /* scrypt-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "scrypt-iOS.xcconfig"; sourceTree = ""; }; + 09E6F0E17B524D5203BB82F0927DED7C /* Pods-web3swift-iOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-iOS-acknowledgements.markdown"; sourceTree = ""; }; + 0B3A8A1265A6932800FDF40A5E65FEC7 /* Pods-web3swift-macOS_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-macOS_Tests-dummy.m"; sourceTree = ""; }; 0BC5492B1E1506F3725992C713A907DF /* SHA3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA3.swift; path = Sources/CryptoSwift/SHA3.swift; sourceTree = ""; }; 0BC87D5802ED83EA9011FD6A3EB7B4D3 /* AES+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AES+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/AES+Foundation.swift"; sourceTree = ""; }; 0CCD88E197198C9C888139A0E2A2CD50 /* ecmult_const.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const.h; path = secp256k1_ios/src/ecmult_const.h; sourceTree = ""; }; 0CDBE2B78BCAA950F79B74C3FB2E228C /* when.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = when.swift; path = Sources/when.swift; sourceTree = ""; }; 0CE3EEB40B82A07623C8EC58D511BDA8 /* NSURLSession+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLSession+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.h"; sourceTree = ""; }; - 0D88C9D56C3885598E20D9718F3B8F16 /* Pods-web3swift-macOS_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS_Tests.release.xcconfig"; sourceTree = ""; }; - 0E53DB967EB67E52296B83C1BB91E1A4 /* scrypt-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "scrypt-macOS.modulemap"; path = "../scrypt-macOS/scrypt-macOS.modulemap"; sourceTree = ""; }; - 0ED7F0C1978F3EEA00F7A4AF09FEC2E8 /* secp256k1_ios-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "secp256k1_ios-iOS.modulemap"; sourceTree = ""; }; - 0F59529DA4EC37C03768A930A570FC20 /* SipHash-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SipHash-macOS-umbrella.h"; path = "../SipHash-macOS/SipHash-macOS-umbrella.h"; sourceTree = ""; }; - 10236EF8647E9F61C53670449679E133 /* BigInt-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BigInt-iOS-dummy.m"; sourceTree = ""; }; - 10261D7140AF8D6F9E6545BC5D894761 /* secp256k1_ios-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "secp256k1_ios-macOS.xcconfig"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig"; sourceTree = ""; }; - 110589BD0B75B2C4166DE94487100A49 /* SipHash-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-iOS-prefix.pch"; sourceTree = ""; }; + 0DA4D63407696D8CA849D320826D9213 /* CryptoSwift-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "CryptoSwift-iOS.modulemap"; path = "../../Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap"; sourceTree = ""; }; + 0FFB0028B5C6DEECC2A5511C92B70ADF /* PromiseKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-prefix.pch"; sourceTree = ""; }; + 1036A87543D9056B354BAB59D2D61AA4 /* SipHash-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SipHash-macOS-prefix.pch"; path = "../SipHash-macOS/SipHash-macOS-prefix.pch"; sourceTree = ""; }; 110AED7E75239B43DC836BF06AF22BCE /* afterlife.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = afterlife.swift; path = Extensions/Foundation/Sources/afterlife.swift; sourceTree = ""; }; 1143B8F0055C240BA0D05D50FC1CC020 /* scalar_8x32_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32_impl.h; path = secp256k1_ios/src/scalar_8x32_impl.h; sourceTree = ""; }; 11B33EE72A6FBE59A2A5064DAF6FFC4F /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/CryptoSwift/AES.swift; sourceTree = ""; }; - 125189558361630DF92C53413530E3E9 /* secp256k1_ios-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "secp256k1_ios-iOS.xcconfig"; sourceTree = ""; }; 129F0BDD5D5540B28243DA06090AEC11 /* Exponentiation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Exponentiation.swift; path = sources/Exponentiation.swift; sourceTree = ""; }; 14A3B9C8EDE35875C552679A990B05FA /* Multiplication.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multiplication.swift; path = sources/Multiplication.swift; sourceTree = ""; }; 14B10E35F3FEA07B3ED6132C871686B9 /* BigUInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigUInt.swift; path = sources/BigUInt.swift; sourceTree = ""; }; @@ -620,285 +724,297 @@ 15C56E2FA28A6BC277C2F1DF71DE010C /* group.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group.h; path = secp256k1_ios/src/group.h; sourceTree = ""; }; 16B7C824120675B47E14A2A872A6DFDC /* field_10x26.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26.h; path = secp256k1_ios/src/field_10x26.h; sourceTree = ""; }; 17049D2192C6CCC8A8BE362B66ED01E6 /* GCD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCD.swift; path = sources/GCD.swift; sourceTree = ""; }; - 176078626D7316260BA02A61B91E5EF2 /* secp256k1_ios-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_ios-macOS-prefix.pch"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch"; sourceTree = ""; }; + 17C50841AEC7F820B5A9B738E19218FE /* SipHash-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SipHash-iOS-dummy.m"; sourceTree = ""; }; 184318AC3420D7DB5A094F601C869C72 /* Checksum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Checksum.swift; path = Sources/CryptoSwift/Checksum.swift; sourceTree = ""; }; 185ADAFCE5AF39098787D861673779B8 /* scalar_4x64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64.h; path = secp256k1_ios/src/scalar_4x64.h; sourceTree = ""; }; - 18B70619E5AAE8D1782A060F2B6362F5 /* Result-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Result-macOS-prefix.pch"; path = "../Result-macOS/Result-macOS-prefix.pch"; sourceTree = ""; }; - 1A9A53F547A648B113145FD483E1572D /* secp256k1_ios-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-iOS-prefix.pch"; sourceTree = ""; }; + 1938EA02A3971FFC506F4AE3E29121A6 /* Pods-web3swift-iOS_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swift-iOS_Tests-umbrella.h"; sourceTree = ""; }; 1C8A77BEACE815406E69A6AC5A86CAD0 /* Data Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data Conversion.swift"; path = "sources/Data Conversion.swift"; sourceTree = ""; }; - 1C8F00AC871FE0EC2FBD9A40F62753CD /* Pods-web3swift-macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS.debug.xcconfig"; sourceTree = ""; }; 1CB44D970BC24207B7D4CA4DD2644E2B /* ChaCha20+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ChaCha20+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift"; sourceTree = ""; }; 1CE50C1C3EED312C9E2B7129A77B305B /* SHA1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA1.swift; path = Sources/CryptoSwift/SHA1.swift; sourceTree = ""; }; 1D028C35CBC913E3AF71B22E4A3C7D14 /* CTR.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CTR.swift; path = Sources/CryptoSwift/BlockMode/CTR.swift; sourceTree = ""; }; 1EE7CBB8299AB71F5275827AA34C853A /* Cryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptor.swift; path = Sources/CryptoSwift/Cryptor.swift; sourceTree = ""; }; 1F213EA122AE5157AD579B519B42CAA5 /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = Sources/CryptoSwift/Utils.swift; sourceTree = ""; }; + 1F9FAC5C083C513006168E954E709EB9 /* secp256k1_ios-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_ios-macOS-umbrella.h"; path = "../../Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h"; sourceTree = ""; }; + 201CB380345E9D668D690C12DA30C425 /* Pods-web3swift-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-iOS-dummy.m"; sourceTree = ""; }; 21DDCB6C56CEF1430122DCD6370180B8 /* scalar_low.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low.h; path = secp256k1_ios/src/scalar_low.h; sourceTree = ""; }; - 224FBA77C2D18846EE62FD6A22E3B120 /* PromiseKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-prefix.pch"; sourceTree = ""; }; 2290B9153347A3369FAF03E04A19326E /* CBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBC.swift; path = Sources/CryptoSwift/BlockMode/CBC.swift; sourceTree = ""; }; - 22BBC9E03E0BAFD51E78A932B584D135 /* SipHash-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SipHash-iOS-dummy.m"; sourceTree = ""; }; 231D53FA7D46749E94693152ECA561B4 /* AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AnyPromise.h; path = Sources/AnyPromise.h; sourceTree = ""; }; 2385B17AD9190A207792185ECE5CD9C7 /* libsecp256k1-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "libsecp256k1-config.h"; path = "secp256k1_ios/libsecp256k1-config.h"; sourceTree = ""; }; - 2452C598AA33B18F81F1D5FE847DF8C7 /* Result-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Result-macOS.xcconfig"; path = "../Result-macOS/Result-macOS.xcconfig"; sourceTree = ""; }; + 23BB48B62BD11AE739C695D5E07DF23B /* Pods-web3swift-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swift-macOS-umbrella.h"; sourceTree = ""; }; 2468F7B4A6695BB009B5A2AE35A167C8 /* basic-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "basic-config.h"; path = "secp256k1_ios/src/basic-config.h"; sourceTree = ""; }; - 24B5C2F89100EAE084E4AF83DDE6303D /* Pods-web3swift-iOS_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS_Tests.debug.xcconfig"; sourceTree = ""; }; - 25F72E78DF48560F5D210E57844ACDED /* Pods-web3swift-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swift-macOS-umbrella.h"; sourceTree = ""; }; 268F48810699A9A9AD79047FD000B499 /* Words and Bits.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Words and Bits.swift"; path = "sources/Words and Bits.swift"; sourceTree = ""; }; 26A07B357C5F42ABC4E5A41480B9B5E0 /* AnyError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyError.swift; path = Result/AnyError.swift; sourceTree = ""; }; 2806EF87AE8A9188FC203D40F55755F3 /* HMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HMAC.swift; path = Sources/CryptoSwift/HMAC.swift; sourceTree = ""; }; 29DC94582C8F4626E7BBD65A075FDBD5 /* NSURLSession+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSURLSession+Promise.swift"; path = "Extensions/Foundation/Sources/NSURLSession+Promise.swift"; sourceTree = ""; }; 2A137B5E1D739B2D491F2842EFFBD559 /* ecmult_const_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const_impl.h; path = secp256k1_ios/src/ecmult_const_impl.h; sourceTree = ""; }; 2A4A461EE06699EE78B2DCA6B7B73F16 /* NSTask+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSTask+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.m"; sourceTree = ""; }; - 2A75A46146F4FF1C0CB840CA36D75492 /* PromiseKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-umbrella.h"; sourceTree = ""; }; - 2B28A30F352D7AD1E7E83DFB9BAB49C0 /* scrypt-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "scrypt-macOS-dummy.m"; path = "../scrypt-macOS/scrypt-macOS-dummy.m"; sourceTree = ""; }; 2B80D3AA1BDBB1E0CF52567C4F9FB777 /* libscrypt-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libscrypt-iOS.a"; path = "libscrypt-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2B9A068D7995C83D3F75D4CD25D2735E /* Pods-web3swift-iOS_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swift-iOS_Tests.modulemap"; sourceTree = ""; }; + 2C06CEB32F04CBF303CC2562A16F7241 /* Pods-web3swift-macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS.release.xcconfig"; sourceTree = ""; }; 2CC26F0B1E75C50586670C90CB45F824 /* Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Codable.swift; path = sources/Codable.swift; sourceTree = ""; }; 2DC2E6214BB1EB95403BF7608DAF872D /* scrypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scrypt.h; path = scrypt/scrypt.h; sourceTree = ""; }; 2DDA4FB25A4C58942E352156AFA0F29E /* PKCS7.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7.swift; path = Sources/CryptoSwift/PKCS/PKCS7.swift; sourceTree = ""; }; - 2FEF470F51471EBE421469A16A76F35A /* BigInt-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-iOS-prefix.pch"; sourceTree = ""; }; + 2F5F058DBD6EA05A860EB5A2481950F9 /* Pods-web3swift-iOS_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-iOS_Tests-acknowledgements.plist"; sourceTree = ""; }; + 2FC68718A68C6212B73ECD1E04C03B9E /* SipHash-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "SipHash-iOS.xcconfig"; sourceTree = ""; }; 302BA93FAE34FC2BAD89C5501C21611C /* after.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = after.swift; path = Sources/after.swift; sourceTree = ""; }; + 30357CC27C341269BCCE3C19E4FE8FE5 /* PromiseKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PromiseKit-dummy.m"; sourceTree = ""; }; 309EDA4AEC3E9553B1C5228CB1CB760F /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Result/Result.swift; sourceTree = ""; }; 30F699976B957E8821EB632AF092C14C /* scalar_low_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low_impl.h; path = secp256k1_ios/src/scalar_low_impl.h; sourceTree = ""; }; - 30FDF56132F92204ACAD922366ABC434 /* scrypt-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "scrypt-macOS.xcconfig"; path = "../scrypt-macOS/scrypt-macOS.xcconfig"; sourceTree = ""; }; + 30FDF14BD303D5A006DF5E2AFC3C5689 /* Pods-web3swift-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swift-iOS.modulemap"; sourceTree = ""; }; 31E6AD63B104B462BD7A0812CF8D8089 /* Resolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Resolver.swift; path = Sources/Resolver.swift; sourceTree = ""; }; 321B194E1B8A3A3929C651A01648EF4A /* Array+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Array+Foundation.swift"; sourceTree = ""; }; + 3255C8E1AC982676ACABE0D7C8C501C6 /* secp256k1_ios-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "secp256k1_ios-iOS-dummy.m"; sourceTree = ""; }; 32804240A56A511992C9AA367655CDBA /* scalar_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_impl.h; path = secp256k1_ios/src/scalar_impl.h; sourceTree = ""; }; + 33567FA516E4179D0F29870D154D2B47 /* CryptoSwift-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-iOS-prefix.pch"; sourceTree = ""; }; 33EBDEB3CCBA0EA3C7F7CB093743643E /* scratch_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch_impl.h; path = secp256k1_ios/src/scratch_impl.h; sourceTree = ""; }; - 342482D0962E817B844EE7E6446AF932 /* PromiseKit.root-CorePromise-Foundation.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "PromiseKit.root-CorePromise-Foundation.xcconfig"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.xcconfig"; sourceTree = ""; }; + 348634C64E93D1AE27324E5B803C7D02 /* BigInt-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "BigInt-iOS.modulemap"; path = "../../Headers/Public/BigInt/BigInt-iOS.modulemap"; sourceTree = ""; }; 370C998F97BBB1397D09CD78C43A9919 /* secp256k1_ios.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ios.h; path = secp256k1_ios/secp256k1_ios.h; sourceTree = ""; }; + 37285A75B12306326B0EF6AD23148A66 /* Pods-web3swift-iOS_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-web3swift-iOS_Tests-resources.sh"; sourceTree = ""; }; 3736F60D986568A8151FD480D9648F38 /* NSNotificationCenter+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.h"; sourceTree = ""; }; 37F407B4684E6934554D8F4910242620 /* Int+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Int+Extension.swift"; path = "Sources/CryptoSwift/Int+Extension.swift"; sourceTree = ""; }; + 38611A8B5CBD6969A86C88ABBAD0B7F9 /* scrypt-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "scrypt-macOS-prefix.pch"; path = "../scrypt-macOS/scrypt-macOS-prefix.pch"; sourceTree = ""; }; 38CE3ACA4B29354641417DECF1CDC5CF /* PKCS7Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7Padding.swift; path = Sources/CryptoSwift/PKCS/PKCS7Padding.swift; sourceTree = ""; }; 394A497CBDC2A602E9E5A0A0E4A7C231 /* field_5x52_int128_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_int128_impl.h; path = secp256k1_ios/src/field_5x52_int128_impl.h; sourceTree = ""; }; 399DA5BA0438EA58494518BA41744529 /* libCryptoSwift-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libCryptoSwift-macOS.a"; path = "libCryptoSwift-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 39CF9703323096F120BB7C18AC3CDD7E /* CipherModeWorker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CipherModeWorker.swift; path = Sources/CryptoSwift/BlockMode/CipherModeWorker.swift; sourceTree = ""; }; + 3C18FE09DB747D4F64CDC4EBF07A6AF0 /* Pods-web3swift-macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS.debug.xcconfig"; sourceTree = ""; }; + 3C515870A748CB470E9FBA7186297FFC /* Pods-web3swift-macOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-macOS-acknowledgements.markdown"; sourceTree = ""; }; + 3D37A86FCD5D0735EBF9DA4224B06C53 /* Pods-web3swift-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swift-macOS.modulemap"; sourceTree = ""; }; + 3D8C2202C63BDA7C0F7AF6C89B6273FD /* Pods-web3swift-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swift-iOS-umbrella.h"; sourceTree = ""; }; 3DE45F74327BBE43455BF3A326A48B73 /* libPods-web3swift-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-macOS.a"; path = "libPods-web3swift-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 3E8B805F5680EBA0F99C37AB55DF371A /* Blowfish.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blowfish.swift; path = Sources/CryptoSwift/Blowfish.swift; sourceTree = ""; }; - 3E91F337EA3979DB5DD84C325A340270 /* Pods-web3swift-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-macOS-dummy.m"; sourceTree = ""; }; 3FA266C4746C1D8469AC609FF653BED1 /* Cipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cipher.swift; path = Sources/CryptoSwift/Cipher.swift; sourceTree = ""; }; 400C4535441BC4EF157E1C50C654B28E /* SHA2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA2.swift; path = Sources/CryptoSwift/SHA2.swift; sourceTree = ""; }; + 4023529EFB6CDA4D7368E425E4F84453 /* PromiseKit.root-CorePromise-Foundation-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "PromiseKit.root-CorePromise-Foundation-dummy.m"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-dummy.m"; sourceTree = ""; }; 40D27BDFCD317E69149F3DFAFB7543A9 /* libSipHash-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libSipHash-iOS.a"; path = "libSipHash-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 40D9819200FF2C3F5E60469040AA4DB6 /* secp256k1_ios-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "secp256k1_ios-macOS.modulemap"; path = "../../Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap"; sourceTree = ""; }; 413EEACF83712E321F24944C021FEB53 /* ecmult_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_impl.h; path = secp256k1_ios/src/ecmult_impl.h; sourceTree = ""; }; + 427CDF99DA88A7D8247722B6CD3116F3 /* BigInt-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-iOS-prefix.pch"; sourceTree = ""; }; 42EA8B8CA97A07CABD4DBAC9F8610993 /* num_gmp_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp_impl.h; path = secp256k1_ios/src/num_gmp_impl.h; sourceTree = ""; }; + 435DE1805E9BEBA86E3E920D1E9EE451 /* SipHash-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "SipHash-iOS.modulemap"; path = "../../Headers/Public/SipHash/SipHash-iOS.modulemap"; sourceTree = ""; }; + 448D25E7648FA3DE003C577C4A2A5DCC /* PromiseKit.root-CorePromise-Foundation-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PromiseKit.root-CorePromise-Foundation-umbrella.h"; path = "../../Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h"; sourceTree = ""; }; 4530120DD6B0DBFF5F660844F8E1C873 /* libPods-web3swift-macOS_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-macOS_Tests.a"; path = "libPods-web3swift-macOS_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 45C2BE6D1118A5C0F2E549CE3527D602 /* Salsa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Salsa.swift; path = scrypt/scrypt/Salsa.swift; sourceTree = ""; }; 45FFA251444F7DBCE99E0099A3F19A6D /* UIView+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.m"; sourceTree = ""; }; - 4646CC97CDC73D8A7E940BD068873A84 /* CryptoSwift-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-iOS-prefix.pch"; sourceTree = ""; }; 480A526DDBB009A3C8A843239CA3D080 /* PromiseKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PromiseKit.h; path = Sources/PromiseKit.h; sourceTree = ""; }; 4942974D6603D53C4E7A5A1EE454090A /* NSNotificationCenter+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSNotificationCenter+Promise.swift"; path = "Extensions/Foundation/Sources/NSNotificationCenter+Promise.swift"; sourceTree = ""; }; - 494D5312F7C1D194997E562BD1B13904 /* SipHash-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SipHash-macOS-prefix.pch"; path = "../SipHash-macOS/SipHash-macOS-prefix.pch"; sourceTree = ""; }; 4965C40E8438A02BE82C485420845345 /* scalar_8x32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32.h; path = secp256k1_ios/src/scalar_8x32.h; sourceTree = ""; }; - 4A2E0AD738D348DDA03396C623D814CD /* Pods-web3swift-macOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-macOS-acknowledgements.plist"; sourceTree = ""; }; + 4A08D8470DE64C23488C86AED4E43593 /* SipHash-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-iOS-prefix.pch"; sourceTree = ""; }; 4B32F8420CC3DEDA3DC7BB0407B26FDF /* Collection+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Collection+Extension.swift"; path = "Sources/CryptoSwift/Collection+Extension.swift"; sourceTree = ""; }; - 4B75257897ACBD9567F00827C544D722 /* Result-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Result-macOS-umbrella.h"; path = "../Result-macOS/Result-macOS-umbrella.h"; sourceTree = ""; }; 4BBCEC526DF7F5F6A046CBAA7F93B530 /* SecureBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SecureBytes.swift; path = Sources/CryptoSwift/SecureBytes.swift; sourceTree = ""; }; + 4D019DB5C502C0B2F56DC85B925D7B7E /* Pods-web3swift-macOS_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-web3swift-macOS_Tests-frameworks.sh"; sourceTree = ""; }; 4D7C8185E119AF505859D0B27973E57E /* AES.Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.Cryptors.swift; path = Sources/CryptoSwift/AES.Cryptors.swift; sourceTree = ""; }; 4DFFEB20DCD9CFCA06DAE16B4367F1B9 /* UIViewController+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.h"; sourceTree = ""; }; 4EF2B2E6A827BEB4095C69760A095228 /* ecdsa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa.h; path = secp256k1_ios/src/ecdsa.h; sourceTree = ""; }; + 4F02F7BA4CE0D08B4598AA01224ED76C /* SipHash-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SipHash-macOS-umbrella.h"; path = "../../Headers/Public/SipHash/SipHash-macOS-umbrella.h"; sourceTree = ""; }; 506C81F04F45BF82E339BD28FB9A6252 /* ecmult_gen_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen_impl.h; path = secp256k1_ios/src/ecmult_gen_impl.h; sourceTree = ""; }; + 50832FC4B2337F53A6F628D514DA730A /* Pods-web3swift-macOS_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS_Tests.release.xcconfig"; sourceTree = ""; }; 51008209B67B821AFF37051156E8A7FD /* Hashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Hashable.swift; path = sources/Hashable.swift; sourceTree = ""; }; + 5196D2D10E23A81EE37F9B0026AF0320 /* CryptoSwift-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "CryptoSwift-macOS.modulemap"; path = "../../Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap"; sourceTree = ""; }; + 51E1DD9A1F30A69F32B03EED89A68BE4 /* scrypt-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "scrypt-iOS.modulemap"; path = "../../Headers/Public/scrypt/scrypt-iOS.modulemap"; sourceTree = ""; }; 51FFE70E98E00B14A7CEDBC9878713E7 /* num.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num.h; path = secp256k1_ios/src/num.h; sourceTree = ""; }; 520379C6715340D2674500ACBD1C4502 /* Catchable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catchable.swift; path = Sources/Catchable.swift; sourceTree = ""; }; - 522015696E45158812DD4C5CF37CD544 /* Pods-web3swift-macOS_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-macOS_Tests-dummy.m"; sourceTree = ""; }; 52755885B4D2951532D257A2FEF6BCCF /* libsecp256k1_ios-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libsecp256k1_ios-macOS.a"; path = "libsecp256k1_ios-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 52984D45ED4815A5B6748A82F48DB8FD /* BigInt-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "BigInt-macOS.modulemap"; path = "../BigInt-macOS/BigInt-macOS.modulemap"; sourceTree = ""; }; - 534009974277EC43330183E1CF3A73A3 /* CryptoSwift-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "CryptoSwift-macOS.xcconfig"; path = "../CryptoSwift-macOS/CryptoSwift-macOS.xcconfig"; sourceTree = ""; }; - 54DEB815C6A515714B4A838D414C3241 /* Pods-web3swift-macOS_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-macOS_Tests-acknowledgements.markdown"; sourceTree = ""; }; + 549BC77FB563C5F7078EEF621568360D /* Pods-web3swift-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS.debug.xcconfig"; sourceTree = ""; }; 55188AE8B0452B68B54A84FABFBA1BBF /* Bitwise Ops.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bitwise Ops.swift"; path = "sources/Bitwise Ops.swift"; sourceTree = ""; }; + 553C1445D10FA04E682FE1674D6AF9EB /* Pods-web3swift-macOS_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swift-macOS_Tests-umbrella.h"; sourceTree = ""; }; 5571DA87BD8084546DB65E212E690849 /* RandomUInt64.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomUInt64.swift; path = SipHash/RandomUInt64.swift; sourceTree = ""; }; 560B0B96D98FDEEAA1623C02B9F6ACC6 /* UIView+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Promise.swift"; path = "Extensions/UIKit/Sources/UIView+Promise.swift"; sourceTree = ""; }; 57BE35B8EF2F430EE1A093A4E43F8243 /* eckey_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey_impl.h; path = secp256k1_ios/src/eckey_impl.h; sourceTree = ""; }; - 5875BBBED3A4765B1D355C2AD095978A /* SipHash-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "SipHash-macOS.modulemap"; path = "../SipHash-macOS/SipHash-macOS.modulemap"; sourceTree = ""; }; - 58D38A9B84FEE36DA02159AEC6611C17 /* Result-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "Result-macOS-dummy.m"; path = "../Result-macOS/Result-macOS-dummy.m"; sourceTree = ""; }; 58ED9DC4116D9A46B7047B9F3EE44E18 /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Configuration.swift; sourceTree = ""; }; + 59C1DC3D5575A99F3ADF81C0AA26D993 /* Result-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "Result-macOS.modulemap"; path = "../../Headers/Public/Result/Result-macOS.modulemap"; sourceTree = ""; }; 59C74C1E23D6AF919642E4F6E55FD308 /* BlockModeOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockModeOptions.swift; path = Sources/CryptoSwift/BlockMode/BlockModeOptions.swift; sourceTree = ""; }; 59EE5FF05C3E791A7F8398D6FCF80055 /* BlockEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockEncryptor.swift; path = Sources/CryptoSwift/BlockEncryptor.swift; sourceTree = ""; }; 5AB377C96E323960FB5F59BE70C7DDFA /* Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Poly1305.swift; path = Sources/CryptoSwift/Poly1305.swift; sourceTree = ""; }; 5ADFA6DD652FDF2433DB8FB46C2B02CA /* ecmult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult.h; path = secp256k1_ios/src/ecmult.h; sourceTree = ""; }; 5C0825E5C07CD2AD15EADE1A4F132C24 /* field_5x52_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_impl.h; path = secp256k1_ios/src/field_5x52_impl.h; sourceTree = ""; }; - 5C4FBD9EED7C8E73E16CA9B5DC621F56 /* 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 = ""; }; 5C91FB228B4F0EFFE0BB1C457B26A6E3 /* Prime Test.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Prime Test.swift"; path = "sources/Prime Test.swift"; sourceTree = ""; }; - 5D3D189B9D399D3E4E4DA52E21D02925 /* BigInt-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "BigInt-macOS-prefix.pch"; path = "../BigInt-macOS/BigInt-macOS-prefix.pch"; sourceTree = ""; }; + 5D207FB930AAAC6DA0CA7AAB0EBA40EE /* Pods-web3swift-macOS_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-web3swift-macOS_Tests-resources.sh"; sourceTree = ""; }; + 5D2EF378EFDB3948F453ED590E1CE3A0 /* CryptoSwift-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CryptoSwift-iOS-dummy.m"; sourceTree = ""; }; + 5E0CF3B2DBBE8BE4869291A759FF8F08 /* PromiseKit.root-CorePromise-Foundation.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "PromiseKit.root-CorePromise-Foundation.xcconfig"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.xcconfig"; sourceTree = ""; }; + 5E2462063FC148C85C6D00F08680239E /* Pods-web3swift-macOS_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-macOS_Tests-acknowledgements.markdown"; sourceTree = ""; }; 5F5E831984223821B4643964E0D16375 /* AEADChaCha20Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEADChaCha20Poly1305.swift; path = Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift; sourceTree = ""; }; 5F98A4FCB73949EC4A239F93A6380393 /* libscrypt-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libscrypt-macOS.a"; path = "libscrypt-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 602BCDD7A6B60ADA7204658627037B22 /* SipHasher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHasher.swift; path = SipHash/SipHasher.swift; sourceTree = ""; }; - 60EE65019B7B0977FF9331F020D957CD /* BigInt-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "BigInt-macOS-umbrella.h"; path = "../BigInt-macOS/BigInt-macOS-umbrella.h"; sourceTree = ""; }; 60F78E26D6ABB8534A27E28D45FBFF71 /* Scrypt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scrypt.swift; path = scrypt/scrypt/Scrypt.swift; sourceTree = ""; }; - 64389E571A401AFB1A430A11C7053757 /* SipHash-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "SipHash-macOS.xcconfig"; path = "../SipHash-macOS/SipHash-macOS.xcconfig"; sourceTree = ""; }; + 62B45A0A7D2B98407F79CED6516206F9 /* PromiseKit.root-CorePromise-Foundation-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PromiseKit.root-CorePromise-Foundation-prefix.pch"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch"; sourceTree = ""; }; 6565B9A6640E27ECBBF27A2AB8E07117 /* AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AnyPromise.m; path = Sources/AnyPromise.m; sourceTree = ""; }; + 659B7C3591F263F05E23E3A49D8DBF88 /* Result-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "Result-iOS.modulemap"; path = "../../Headers/Public/Result/Result-iOS.modulemap"; sourceTree = ""; }; 65E54F31ACC1397C1485DF5C7B5FA928 /* Random.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Random.swift; path = sources/Random.swift; sourceTree = ""; }; - 673FFC4D2B959AB8AEC35D646A85CDCD /* Pods-web3swift-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS.release.xcconfig"; sourceTree = ""; }; 690E91794401ED87EB104B7BE8059DD2 /* UIViewController+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.m"; sourceTree = ""; }; 6942B9400A6731CB14455C8AE7F0C6A7 /* Subtraction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Subtraction.swift; path = sources/Subtraction.swift; sourceTree = ""; }; 6B7D33AF1AE938A46700885645D7B0C6 /* secp256k1_recovery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_recovery.h; path = secp256k1_ios/include/secp256k1_recovery.h; sourceTree = ""; }; - 6C85BA37239973340D1056F3EBC7F4F8 /* secp256k1_ios-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "secp256k1_ios-iOS-dummy.m"; sourceTree = ""; }; - 6C86011CD926858E717E5D92380F2838 /* CryptoSwift-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CryptoSwift-iOS-dummy.m"; sourceTree = ""; }; - 6D4A716592C208D7429CE19B82094FA8 /* Pods-web3swift-iOS_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-iOS_Tests-acknowledgements.plist"; sourceTree = ""; }; + 6D76E01714111860B1A58E945BFEDC3A /* Pods-web3swift-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS.release.xcconfig"; sourceTree = ""; }; 6DDF10E5AA3EE0D0028933F977F5BF96 /* Generics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generics.swift; path = Sources/CryptoSwift/Generics.swift; sourceTree = ""; }; + 6EE0308F276A9A14635D7A83AB1F5F78 /* CryptoSwift-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CryptoSwift-iOS-umbrella.h"; path = "../../Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h"; sourceTree = ""; }; + 6EE45321EF7229C67B1384B69BC09C9A /* Result-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Result-iOS-dummy.m"; sourceTree = ""; }; + 70EC0C5B63B6AFB5C821750D9F6A516C /* BigInt-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BigInt-iOS-dummy.m"; sourceTree = ""; }; + 7201AB4205DACC1A886D0B4FE0F68E52 /* PromiseKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromiseKit.xcconfig; sourceTree = ""; }; 7399560A570538454DCA6FC42E879809 /* num_gmp.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp.h; path = secp256k1_ios/src/num_gmp.h; sourceTree = ""; }; 744D68A2C1A6A6136663892BD5967CEF /* lax_der_privatekey_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_privatekey_parsing.h; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.h; sourceTree = ""; }; 74C8E7BC7B9A663969DC6A1FAE5AD6C6 /* Bit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bit.swift; path = Sources/CryptoSwift/Bit.swift; sourceTree = ""; }; 75108DB9FE7BABCC05526BD92059DC5A /* BufferStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BufferStorage.swift; path = scrypt/scrypt/BufferStorage.swift; sourceTree = ""; }; - 753E3CD3CF2AA32CDB11305D429F3C96 /* Pods-web3swift-iOS_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-iOS_Tests-acknowledgements.markdown"; sourceTree = ""; }; + 757A37D7E29817F44F2AA11410470DCE /* Result-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "Result-macOS-dummy.m"; path = "../Result-macOS/Result-macOS-dummy.m"; sourceTree = ""; }; + 75E5EE20B9BFFFDFC7AC813752336250 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; 778AAAE605119A0341DA4378ED873181 /* scalar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar.h; path = secp256k1_ios/src/scalar.h; sourceTree = ""; }; - 79E925BEAA0533C58B6D9871B886DD8A /* Pods-web3swift-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swift-iOS.modulemap"; sourceTree = ""; }; + 79F3D8E746AF01E98DE20BD2C1572F35 /* scrypt-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "scrypt-macOS.xcconfig"; path = "../scrypt-macOS/scrypt-macOS.xcconfig"; sourceTree = ""; }; 7AF087435CFE453BE94CFAE116CC7661 /* field_5x52.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52.h; path = secp256k1_ios/src/field_5x52.h; sourceTree = ""; }; 7AF444B003D1A7B9026D1AF8B3B5B699 /* HMAC+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "HMAC+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/HMAC+Foundation.swift"; sourceTree = ""; }; + 7AFD921B51CC772DFF9688DE99B7480B /* BigInt-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "BigInt-macOS-prefix.pch"; path = "../BigInt-macOS/BigInt-macOS-prefix.pch"; sourceTree = ""; }; 7B10016CC925878BCF8C1423A7EAD6A6 /* Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Padding.swift; path = Sources/CryptoSwift/Padding.swift; sourceTree = ""; }; 7B7931AA08AA6E50FAE2325FDFEC9669 /* ResultProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResultProtocol.swift; path = Result/ResultProtocol.swift; sourceTree = ""; }; + 7BF229E2F5523E62D853248DA0E5AA38 /* scrypt-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "scrypt-iOS-umbrella.h"; path = "../../Headers/Public/scrypt/scrypt-iOS-umbrella.h"; sourceTree = ""; }; 7C9596E2D0164256EFB0F1673E724BB1 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/recovery/main_impl.h; sourceTree = ""; }; - 7D4E771C1368EA72DE7D24C281E6D674 /* secp256k1_ios-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_ios-macOS-umbrella.h"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS-umbrella.h"; sourceTree = ""; }; - 7E8C19543EF3AA4D9801DBE55E22E211 /* Pods-web3swift-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swift-iOS-umbrella.h"; sourceTree = ""; }; 7F3C6D22D31BFCC4FBF02C3E813AE0EC /* hang.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = hang.m; path = Sources/hang.m; sourceTree = ""; }; 7FDB2A79B118B2F003B3E6F5A708B701 /* hash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash.h; path = secp256k1_ios/src/hash.h; sourceTree = ""; }; 81D592C69182CE946419FE4D30C2690E /* PBKDF2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF2.swift; path = Sources/CryptoSwift/PKCS/PBKDF2.swift; sourceTree = ""; }; - 822F20C56BDAEAB1D9B8A0CE5D552188 /* BigInt-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "BigInt-iOS.modulemap"; sourceTree = ""; }; + 838E20D48ECBA3CCA073FF52AA6BD234 /* Pods-web3swift-iOS_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS_Tests.debug.xcconfig"; sourceTree = ""; }; 8575ADFAFEFEFEDACDC32D01960AE2AB /* scratch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch.h; path = secp256k1_ios/src/scratch.h; sourceTree = ""; }; - 85ACA7DBB43194398C4BBE72803AB0A9 /* Result-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Result-iOS.modulemap"; sourceTree = ""; }; + 8586511FF7418AB646B21C1E86D480A7 /* Result-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-iOS-prefix.pch"; sourceTree = ""; }; 86010FFDC0CB0732CC170A6EB5EC36A5 /* field.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field.h; path = secp256k1_ios/src/field.h; sourceTree = ""; }; + 8694D87EAC35605010892313429D6622 /* Pods-web3swift-iOS_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-web3swift-iOS_Tests-frameworks.sh"; sourceTree = ""; }; 878207B522C3B5C4C78ECAC3AA87663A /* libBigInt-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libBigInt-iOS.a"; path = "libBigInt-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 8866E3418AA74CD02353B3E373ACEFA9 /* PMKFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKFoundation.h; path = Extensions/Foundation/Sources/PMKFoundation.h; sourceTree = ""; }; 894312908815C8518B59156B045BB049 /* Thenable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Thenable.swift; path = Sources/Thenable.swift; sourceTree = ""; }; 894C3E3F18C4D842D9E35A6A69851AF0 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/ecdh/main_impl.h; sourceTree = ""; }; - 897A68EA53AA050AFE4583C364D6C1CF /* PromiseKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = PromiseKit.modulemap; sourceTree = ""; }; 8A6199EF8A43EB0E1F3C0EB7228F575C /* HKDF.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HKDF.swift; path = Sources/CryptoSwift/HKDF.swift; sourceTree = ""; }; - 8B56F6A20A0CF698ECA0EDF6CF4CDD74 /* Pods-web3swift-iOS_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-iOS_Tests-dummy.m"; sourceTree = ""; }; + 8B37E3EA16DFF85A33306C879D27B6C3 /* SipHash-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SipHash-iOS-umbrella.h"; path = "../../Headers/Public/SipHash/SipHash-iOS-umbrella.h"; sourceTree = ""; }; 8C537644BF5D1735EC0FF5E1EAD5A94F /* AnyPromise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyPromise.swift; path = Sources/AnyPromise.swift; sourceTree = ""; }; - 8E629DABC6293E872B2A48DE12DC3D99 /* PromiseKit.root-CorePromise-Foundation.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "PromiseKit.root-CorePromise-Foundation.modulemap"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.modulemap"; sourceTree = ""; }; 8E865E2465317D7395EFFC3E15BE3B82 /* field_10x26_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26_impl.h; path = secp256k1_ios/src/field_10x26_impl.h; sourceTree = ""; }; + 8F3D3202602E52028B31A9BC0E40E4BE /* BigInt-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "BigInt-macOS.xcconfig"; path = "../BigInt-macOS/BigInt-macOS.xcconfig"; sourceTree = ""; }; 8F87371895A84370E0ECB153DA5CFF62 /* PBKDF1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF1.swift; path = Sources/CryptoSwift/PKCS/PBKDF1.swift; sourceTree = ""; }; - 90B410829D6E70A45A22CC62F187A11B /* Pods-web3swift-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swift-macOS.modulemap"; sourceTree = ""; }; 90CF4F3CD46BB810B73F6BAF362CB47A /* libPromiseKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libPromiseKit.a; path = libPromiseKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; 9111A66A9DB609E927159CEFB76D4E76 /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "Sources/CryptoSwift/String+Extension.swift"; sourceTree = ""; }; 91836319B3FCCB5A2B1BCE6EF7415F68 /* CFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CFB.swift; path = Sources/CryptoSwift/BlockMode/CFB.swift; sourceTree = ""; }; + 9356EB07FFA37D9FCA3FFDF81AE8F362 /* secp256k1_ios-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-iOS-prefix.pch"; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 9419704F82CEC9143EC36DDD7E0B5565 /* NSNotificationCenter+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.m"; sourceTree = ""; }; - 95C397E16B314F921F7784F00C8F183B /* Pods-web3swift-iOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-iOS-acknowledgements.plist"; sourceTree = ""; }; - 95E6916802B9A0D029D336A91E220830 /* Result-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Result-iOS.xcconfig"; sourceTree = ""; }; - 95FA6138713C5F6E2FBBB866D8A4C6E0 /* 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 = ""; }; + 952751793FE823F69C417971D443D0DA /* Pods-web3swift-macOS-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-web3swift-macOS-resources.sh"; sourceTree = ""; }; + 962E9B0C3462596BB9DF0C64D327A4DD /* Result-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Result-macOS-prefix.pch"; path = "../Result-macOS/Result-macOS-prefix.pch"; sourceTree = ""; }; 96BC14C5CF69F4D24A02B045A7A1BB7E /* fwd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fwd.h; path = Sources/fwd.h; sourceTree = ""; }; - 9705AB5431247715C48FE5E652D005AE /* CryptoSwift-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "CryptoSwift-iOS.modulemap"; sourceTree = ""; }; 97CA37D99BC06AE9B4704C72A22686E5 /* lax_der_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_parsing.h; path = secp256k1_ios/contrib/lax_der_parsing.h; sourceTree = ""; }; 991C827F3BBAAEE28EE416BE38F76DD0 /* Guarantee.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Guarantee.swift; path = Sources/Guarantee.swift; sourceTree = ""; }; - 9B4E57AA7FB0E002998D6424CB608E32 /* PromiseKit.root-CorePromise-Foundation-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PromiseKit.root-CorePromise-Foundation-prefix.pch"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch"; sourceTree = ""; }; + 99B84A386A434CF038072CF11DE08F34 /* scrypt-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "scrypt-iOS-dummy.m"; sourceTree = ""; }; + 9B90CA6D6950E5059F37E860339B46F6 /* SipHash-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "SipHash-macOS.modulemap"; path = "../../Headers/Public/SipHash/SipHash-macOS.modulemap"; sourceTree = ""; }; 9D44A825E8CB9200059521A9C941F712 /* Square Root.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Square Root.swift"; path = "sources/Square Root.swift"; sourceTree = ""; }; 9FAB45044F3A646E2488529698B14387 /* Floating Point Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Floating Point Conversion.swift"; path = "sources/Floating Point Conversion.swift"; sourceTree = ""; }; 9FF537F705CA3D41D9798A4511A8F24D /* Authenticator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Authenticator.swift; path = Sources/CryptoSwift/Authenticator.swift; sourceTree = ""; }; A0BB9A3E4E29EBA29F99C94BBEEEC1F2 /* Cimpl.c */ = {isa = PBXFileReference; includeInIndex = 1; name = Cimpl.c; path = scrypt/Cimpl.c; sourceTree = ""; }; + A252C33BAE7931B130EF619B55FCC0F5 /* SipHash-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SipHash-macOS-dummy.m"; path = "../SipHash-macOS/SipHash-macOS-dummy.m"; sourceTree = ""; }; + A2A9882D7606624DB09D137DA346B890 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; A414F7D6F59CB6D7C5696F98992E80A2 /* BatchedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BatchedCollection.swift; path = Sources/CryptoSwift/BatchedCollection.swift; sourceTree = ""; }; A5946E85C35328004F1FD0D65ABF93B4 /* Process+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Process+Promise.swift"; path = "Extensions/Foundation/Sources/Process+Promise.swift"; sourceTree = ""; }; - A5D9B32B104EA0A137D78B89D4D19D40 /* Pods-web3swift-macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS.release.xcconfig"; sourceTree = ""; }; A699FEC4F0274F833ECDEB986CAABBD2 /* UInt32+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt32+Extension.swift"; path = "Sources/CryptoSwift/UInt32+Extension.swift"; sourceTree = ""; }; + A828AD3F9672B4D9BA255FA0618E01A3 /* secp256k1_ios-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_ios-macOS-prefix.pch"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch"; sourceTree = ""; }; A93880388A03A6AEAEBFC90F7F533AAD /* StreamEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StreamEncryptor.swift; path = Sources/CryptoSwift/StreamEncryptor.swift; sourceTree = ""; }; A9C90F0F0F9A0115AC326304EB131CA4 /* race.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = race.swift; path = Sources/race.swift; sourceTree = ""; }; AAF423028DF35854B3087F873B6965E4 /* libPods-web3swift-iOS_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-iOS_Tests.a"; path = "libPods-web3swift-iOS_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - AB4A0ADEE88B224FCFB999E14A3FC3BA /* CryptoSwift-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CryptoSwift-macOS-umbrella.h"; path = "../CryptoSwift-macOS/CryptoSwift-macOS-umbrella.h"; sourceTree = ""; }; + AC53F2E963D210DCBAC0E8AAD2682664 /* CryptoSwift-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "CryptoSwift-macOS.xcconfig"; path = "../CryptoSwift-macOS/CryptoSwift-macOS.xcconfig"; sourceTree = ""; }; AD4D44D1A4A0B550CAB6D8C2AED04AD3 /* CMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CMAC.swift; path = Sources/CryptoSwift/CMAC.swift; sourceTree = ""; }; - AE26C9121A9F08A8934B37AD374D39F4 /* scrypt-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "scrypt-macOS-prefix.pch"; path = "../scrypt-macOS/scrypt-macOS-prefix.pch"; sourceTree = ""; }; + AD8F452107AA790939311FAFE9E2434D /* scrypt-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "scrypt-macOS.modulemap"; path = "../../Headers/Public/scrypt/scrypt-macOS.modulemap"; sourceTree = ""; }; AEF9AB34E06A2A4078A0C87B37B1CD0F /* RandomBytesSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomBytesSequence.swift; path = Sources/CryptoSwift/RandomBytesSequence.swift; sourceTree = ""; }; + AF2BFA66D8E08420367813AD2F6BE5D3 /* Pods-web3swift-macOS_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-macOS_Tests-acknowledgements.plist"; sourceTree = ""; }; AF807959CD9376AAE20892C1143FF9E6 /* libResult-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libResult-macOS.a"; path = "libResult-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - B02B055F45990BB015AB494AE625A793 /* CryptoSwift-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-iOS-umbrella.h"; sourceTree = ""; }; - B0423C9D9E49080ACEF73C985FBB221F /* SipHash-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SipHash-macOS-dummy.m"; path = "../SipHash-macOS/SipHash-macOS-dummy.m"; sourceTree = ""; }; + B12A75E0FD8B52123CBAE9EEB4A42F3B /* Pods-web3swift-iOS_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS_Tests.release.xcconfig"; sourceTree = ""; }; B3BEE25ACB7B1714E52C057B725B022B /* ChaCha20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChaCha20.swift; path = Sources/CryptoSwift/ChaCha20.swift; sourceTree = ""; }; B3C749DBE031D5CD32F6F718288C1AC0 /* Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Promise.swift; path = Sources/Promise.swift; sourceTree = ""; }; B592EEFCCF7F964D0B60F749B17B7658 /* race.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = race.m; path = Sources/race.m; sourceTree = ""; }; B7540EADD3520F1ECD4BAD23FF29400F /* String+FoundationExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+FoundationExtension.swift"; path = "Sources/CryptoSwift/Foundation/String+FoundationExtension.swift"; sourceTree = ""; }; - B7762E4245191B27674EB7EB82DCFFF1 /* Pods-web3swift-macOS_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS_Tests.debug.xcconfig"; sourceTree = ""; }; B7DFFB650AB055EA65177877A4837E93 /* String Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String Conversion.swift"; path = "sources/String Conversion.swift"; sourceTree = ""; }; B864BCFD33F0A7ABED7DBA75C963A51A /* BlockCipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockCipher.swift; path = Sources/CryptoSwift/BlockCipher.swift; sourceTree = ""; }; B9BCFC62DFEA1FC233306B897C15DE84 /* lax_der_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_parsing.c; path = secp256k1_ios/contrib/lax_der_parsing.c; sourceTree = ""; }; - BAC15C8E1DC42A3C6D2AF7A4BACD9D9A /* scrypt-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "scrypt-iOS.modulemap"; sourceTree = ""; }; BAD09E8EE27EB4BA87F1F0237E0D7537 /* secp256k1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1.h; path = secp256k1_ios/include/secp256k1.h; sourceTree = ""; }; - BB8574390012E8F0C54B5B8C7A68D484 /* secp256k1_ios-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "secp256k1_ios-macOS-dummy.m"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS-dummy.m"; sourceTree = ""; }; BC8CE2AC7222CA948CFA3E9FEF002800 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = Sources/Error.swift; sourceTree = ""; }; BD07DFA1EC0FD8CF78E837D5A0051A6D /* num_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_impl.h; path = secp256k1_ios/src/num_impl.h; sourceTree = ""; }; BD4C6A3CDC6FA3F322EA1C393C5CC89E /* Integer Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Integer Conversion.swift"; path = "sources/Integer Conversion.swift"; sourceTree = ""; }; - BECB9224CBFC1D8A1E8486BB06BBC621 /* BigInt-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-iOS-umbrella.h"; sourceTree = ""; }; + BDB424BDD775458975A06633ABB1E890 /* secp256k1_ios-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_ios-iOS-umbrella.h"; path = "../../Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h"; sourceTree = ""; }; BF467792E24FCB49390F293678C2E231 /* ZeroPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZeroPadding.swift; path = Sources/CryptoSwift/ZeroPadding.swift; sourceTree = ""; }; - C085FF97293CA817998555A347A3CF20 /* CryptoSwift-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CryptoSwift-macOS-prefix.pch"; path = "../CryptoSwift-macOS/CryptoSwift-macOS-prefix.pch"; sourceTree = ""; }; + BF46D6C2599B16723E497A8B1C526766 /* PromiseKit.root-CorePromise-Foundation.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "PromiseKit.root-CorePromise-Foundation.modulemap"; path = "../../Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap"; sourceTree = ""; }; C0E096DA6BBC65953BD97D1BD9FDC13A /* Blowfish+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Blowfish+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift"; sourceTree = ""; }; - C15E72CDA7675543ABA19953EF2D6A50 /* CryptoSwift-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "CryptoSwift-macOS.modulemap"; path = "../CryptoSwift-macOS/CryptoSwift-macOS.modulemap"; sourceTree = ""; }; - C1B8E55A13B5B74C5E80CA45BC86E457 /* Result-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "Result-macOS.modulemap"; path = "../Result-macOS/Result-macOS.modulemap"; sourceTree = ""; }; + C166DBC3A2FF6FC7FB066E0142D70FCA /* Result-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Result-macOS-umbrella.h"; path = "../../Headers/Public/Result/Result-macOS-umbrella.h"; sourceTree = ""; }; C2D922779E502A6EFC12530D47844477 /* AEAD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEAD.swift; path = Sources/CryptoSwift/AEAD/AEAD.swift; sourceTree = ""; }; - C3C66A0B084556BD285AA44CBCA65202 /* scrypt-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "scrypt-iOS-dummy.m"; sourceTree = ""; }; + C3B8A43F9D491A5A6F79AEC7B3ABF7C4 /* secp256k1_ios-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "secp256k1_ios-macOS-dummy.m"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS-dummy.m"; sourceTree = ""; }; C57F8890E519BE45C84FBCD5E06453AF /* NoError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoError.swift; path = Result/NoError.swift; sourceTree = ""; }; - C60F71A13E6B38C36897688C101E2C9C /* BigInt-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "BigInt-macOS.xcconfig"; path = "../BigInt-macOS/BigInt-macOS.xcconfig"; sourceTree = ""; }; - C6E075CB2894DDF612F14363C5317B93 /* SipHash-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "SipHash-iOS.modulemap"; sourceTree = ""; }; C7346693A0E94FF0C860F161CDFCE96E /* libsecp256k1_ios-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libsecp256k1_ios-iOS.a"; path = "libsecp256k1_ios-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + C7E7D85D04AEF994D90632F66E660A6B /* Pods-web3swift-macOS_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swift-macOS_Tests.modulemap"; sourceTree = ""; }; C996378C4E5A24B09E9399A757B8257E /* PKCS5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS5.swift; path = Sources/CryptoSwift/PKCS/PKCS5.swift; sourceTree = ""; }; C9D0105E6F7855534D035E089FAACA84 /* NSURLSession+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURLSession+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.m"; sourceTree = ""; }; CAB3BF2C1D04839054658D7999609AFA /* hang.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = hang.swift; path = Sources/hang.swift; sourceTree = ""; }; + CAEC94D8F0FC43E808BA5F9ADB61CD96 /* Pods-web3swift-iOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-iOS-acknowledgements.plist"; sourceTree = ""; }; + CAF1A1CA61F0B5E096092946067071C5 /* BigInt-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "BigInt-iOS-umbrella.h"; path = "../../Headers/Public/BigInt/BigInt-iOS-umbrella.h"; sourceTree = ""; }; CB6A81C2298843C461F65B8D11106F72 /* libPods-web3swift-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-iOS.a"; path = "libPods-web3swift-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - CBD30E41FF94A920A122386C08637B7A /* secp256k1_ios-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "secp256k1_ios-macOS.modulemap"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS.modulemap"; sourceTree = ""; }; CC773B77A5A65E3C63F4C5305CAD01D1 /* Cimpl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Cimpl.h; path = scrypt/Cimpl.h; sourceTree = ""; }; + CCD178AF0C0283D14572A07109AABF34 /* Pods-web3swift-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-macOS-dummy.m"; sourceTree = ""; }; CCDA16C2155C3C3AC4C4D3C23A57EC12 /* UInt8+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt8+Extension.swift"; path = "Sources/CryptoSwift/UInt8+Extension.swift"; sourceTree = ""; }; CF5CF52D91122CF7B77E75FAF93251C3 /* UInt64+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt64+Extension.swift"; path = "Sources/CryptoSwift/UInt64+Extension.swift"; sourceTree = ""; }; CFA9EC9779A914A67653CFFF9142318C /* Deprecations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecations.swift; path = Sources/Deprecations.swift; sourceTree = ""; }; + CFF935D0FA27DF791E8FDBB6D5D68CB2 /* Pods-web3swift-macOS_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS_Tests.debug.xcconfig"; sourceTree = ""; }; D159242CC5E8F83FDBE6973BE570CA54 /* Comparable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Comparable.swift; path = sources/Comparable.swift; sourceTree = ""; }; D175F930B0613AAEB35FE3D02276CA4D /* PMKUIKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKUIKit.h; path = Extensions/UIKit/Sources/PMKUIKit.h; sourceTree = ""; }; D1BEA6E913A811987196FC02097A1F5C /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "Sources/CryptoSwift/Foundation/Data+Extension.swift"; sourceTree = ""; }; + D1C14722F45B3D63B1FB360F6F553FF5 /* BigInt-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "BigInt-iOS.xcconfig"; sourceTree = ""; }; D22F70DCC90E8FE0E9EC24A5DBABE79C /* Rabbit+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Rabbit+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift"; sourceTree = ""; }; D24853136C9E866538093205C6E4A90A /* when.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = when.m; path = Sources/when.m; sourceTree = ""; }; D2FA1DA6CAEC899929310534A250E53B /* OFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OFB.swift; path = Sources/CryptoSwift/BlockMode/OFB.swift; sourceTree = ""; }; D37DEA7A8B3EBEC27D9109471669A4BF /* secp256k1.c */ = {isa = PBXFileReference; includeInIndex = 1; name = secp256k1.c; path = secp256k1_ios/src/secp256k1.c; sourceTree = ""; }; + D637897EFADFCEE3659DF22E194C4ABD /* 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 = ""; }; D6FBFF07C73E9B536C49D3D32A989327 /* join.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = join.m; path = Sources/join.m; sourceTree = ""; }; + D78F1D1F6EB23F362E664280AC0B5F29 /* secp256k1_ios-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "secp256k1_ios-macOS.xcconfig"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig"; sourceTree = ""; }; D8602F37D59CD9AD65EEF65DF7AA62A3 /* UInt16+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt16+Extension.swift"; path = "Sources/CryptoSwift/UInt16+Extension.swift"; sourceTree = ""; }; D89263E801FAC6A34F7C9D4E3A3066A9 /* UInt128.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UInt128.swift; path = Sources/CryptoSwift/UInt128.swift; sourceTree = ""; }; D8A60B0639785EE266ACA62D536DD199 /* hash_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash_impl.h; path = secp256k1_ios/src/hash_impl.h; sourceTree = ""; }; D8EAA4A69D5AC1E3D89D6D25C9496C75 /* Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptors.swift; path = Sources/CryptoSwift/Cryptors.swift; sourceTree = ""; }; - D8F688145BCFE1FB8B76299CC261A05E /* Pods-web3swift-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-iOS-dummy.m"; sourceTree = ""; }; D93F53AAD0FD5DB616A5E1C69164F0D7 /* group_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group_impl.h; path = secp256k1_ios/src/group_impl.h; sourceTree = ""; }; D956E4D797535DA55BFACC56BAE7232E /* BlockMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockMode.swift; path = Sources/CryptoSwift/BlockMode/BlockMode.swift; sourceTree = ""; }; - DA900039B5D199745C785144030E7BF9 /* Pods-web3swift-macOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-macOS-acknowledgements.markdown"; sourceTree = ""; }; + D96A0A368BE15EEEB27A3F77B5F74533 /* Pods-web3swift-iOS_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-iOS_Tests-dummy.m"; sourceTree = ""; }; DB87E523FFE6DE6B135FDDCF9D25E434 /* libBigInt-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libBigInt-macOS.a"; path = "libBigInt-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; DC1129F2E85B44E362DF4E5C827C8DD7 /* Box.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Box.swift; path = Sources/Box.swift; sourceTree = ""; }; DC80BC8175DF95AF5AC0777B4379466F /* scalar_4x64_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64_impl.h; path = secp256k1_ios/src/scalar_4x64_impl.h; sourceTree = ""; }; - DCCD9B75F811575B41254E2EACE6F115 /* Pods-web3swift-macOS_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-macOS_Tests-acknowledgements.plist"; sourceTree = ""; }; - DCE95DEFE59A8D4B1CC921351954D118 /* Result-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-iOS-umbrella.h"; sourceTree = ""; }; + DD61FCA6B92DBB61BD0CE0268DBAA790 /* Pods-web3swift-iOS-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-web3swift-iOS-resources.sh"; sourceTree = ""; }; DDEB5B32B77FC78B04321FABF19FAF64 /* ecdsa_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa_impl.h; path = secp256k1_ios/src/ecdsa_impl.h; sourceTree = ""; }; - DE552F4DC19246DE02459BBEAECE3070 /* PromiseKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromiseKit.xcconfig; sourceTree = ""; }; - DF437C6BA87CD115FFAF9F58E13F530F /* scrypt-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "scrypt-macOS-umbrella.h"; path = "../scrypt-macOS/scrypt-macOS-umbrella.h"; sourceTree = ""; }; + DF7B01CA7ACC331E63AB800D165E15AF /* Result-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Result-macOS.xcconfig"; path = "../Result-macOS/Result-macOS.xcconfig"; sourceTree = ""; }; DF8763C25A8C471712C07FDF71929703 /* UIViewPropertyAnimator+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewPropertyAnimator+Promise.swift"; path = "Extensions/UIKit/Sources/UIViewPropertyAnimator+Promise.swift"; sourceTree = ""; }; - E0002BF7495DF77615C17C435108BAC4 /* scrypt-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "scrypt-iOS.xcconfig"; sourceTree = ""; }; E1166BCE9995875A190DA0C329DD6F3E /* Shifts.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Shifts.swift; path = sources/Shifts.swift; sourceTree = ""; }; - E14AE09BC14CD1D5C3AD72803E39C00F /* PromiseKit.root-CorePromise-Foundation-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PromiseKit.root-CorePromise-Foundation-umbrella.h"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-umbrella.h"; sourceTree = ""; }; - E228BA1C68962471174AF53D116026C3 /* CryptoSwift-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "CryptoSwift-iOS.xcconfig"; sourceTree = ""; }; + E225EB05FD399DD7D7BE642605DF6932 /* Result-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Result-iOS-umbrella.h"; path = "../../Headers/Public/Result/Result-iOS-umbrella.h"; sourceTree = ""; }; E2C42F3DFC4E6CC75140A86DF8616CC3 /* SipHashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHashable.swift; path = SipHash/SipHashable.swift; sourceTree = ""; }; - E3ADB0156604A4FD7CD47B25248088C2 /* Pods-web3swift-iOS_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS_Tests.release.xcconfig"; sourceTree = ""; }; E45449F26960667F9B102A7F62C60D31 /* Digest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Digest.swift; path = Sources/CryptoSwift/Digest.swift; sourceTree = ""; }; + E4970F0550D2C60457B433185620200F /* BigInt-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "BigInt-macOS-umbrella.h"; path = "../../Headers/Public/BigInt/BigInt-macOS-umbrella.h"; sourceTree = ""; }; + E4B7CA27A16C36354B610B52AE86A10D /* CryptoSwift-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "CryptoSwift-iOS.xcconfig"; sourceTree = ""; }; + E6251CD3609D0F5F96F459E0B9699CC1 /* Pods-web3swift-macOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-macOS-acknowledgements.plist"; sourceTree = ""; }; E75AE5FFEFA361D707CC354FF1EB3D52 /* Updatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Updatable.swift; path = Sources/CryptoSwift/Updatable.swift; sourceTree = ""; }; - E769D47A96005469A7B39F23E9281D6D /* secp256k1_ios-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-iOS-umbrella.h"; sourceTree = ""; }; E7CC622C1D24D718342B05051554A93A /* UIView+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.h"; sourceTree = ""; }; E7FE282781FCA8360DCC5EEC2DFC9045 /* BlockDecryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockDecryptor.swift; path = Sources/CryptoSwift/BlockDecryptor.swift; sourceTree = ""; }; E82A76E0CD40E20D9FEC34DAF7889ECB /* MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MD5.swift; path = Sources/CryptoSwift/MD5.swift; sourceTree = ""; }; E82F9A99E44E0AB55B16F720C69B947B /* libSipHash-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libSipHash-macOS.a"; path = "libSipHash-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; E88F02B72D0ADCFDAA37C5D63ABB3679 /* NoPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoPadding.swift; path = Sources/CryptoSwift/NoPadding.swift; sourceTree = ""; }; - EAC47FA975BD89D9C68F3C958A58964C /* BigInt-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "BigInt-iOS.xcconfig"; sourceTree = ""; }; + E962BC8D4DB16BC7DECDA0FA691774E2 /* Result-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Result-iOS.xcconfig"; sourceTree = ""; }; + EB696CF5BB96FFB89395E6F2FF0E57AA /* secp256k1_ios-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "secp256k1_ios-iOS.xcconfig"; sourceTree = ""; }; EC2691B355719F37BCE2B9EB79640902 /* lax_der_privatekey_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_privatekey_parsing.c; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.c; sourceTree = ""; }; EC305FA12BE030117A6E97568345036C /* libPromiseKit.root-CorePromise-Foundation.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPromiseKit.root-CorePromise-Foundation.a"; path = "libPromiseKit.root-CorePromise-Foundation.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + EE37CE5A8E6206A611EC619B66EC2E0D /* scrypt-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "scrypt-macOS-dummy.m"; path = "../scrypt-macOS/scrypt-macOS-dummy.m"; sourceTree = ""; }; EECA7B8CA13556F051DCBF44B5E5092B /* ECB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ECB.swift; path = Sources/CryptoSwift/BlockMode/ECB.swift; sourceTree = ""; }; EEEB8AE79B5DA3255A444BD9E125CC15 /* Utils+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Utils+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Utils+Foundation.swift"; sourceTree = ""; }; + EF09F78B3249ABD67C39117542CFFB87 /* PromiseKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PromiseKit-umbrella.h"; path = "../../Headers/Public/PromiseKit/PromiseKit-umbrella.h"; sourceTree = ""; }; + F102D610A357DBD3CDC4E97671DE62A0 /* scrypt-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "scrypt-macOS-umbrella.h"; path = "../../Headers/Public/scrypt/scrypt-macOS-umbrella.h"; sourceTree = ""; }; F1961CDC6282709B9B35B8F757754E1A /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = Sources/CryptoSwift/CompactMap.swift; sourceTree = ""; }; + F1A7CED4F6EA1CDC0899559B3F7EAE69 /* PromiseKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = PromiseKit.modulemap; path = ../../Headers/Public/PromiseKit/PromiseKit.modulemap; sourceTree = ""; }; + F1E5E87AFE60D743CD6E11B84ABD8F8D /* CryptoSwift-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CryptoSwift-macOS-umbrella.h"; path = "../../Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h"; sourceTree = ""; }; F1EA13DCEFA32B29351F75416999B53B /* DigestType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DigestType.swift; path = Sources/CryptoSwift/DigestType.swift; sourceTree = ""; }; F1F1BD0CE2445F35A20783082C9D4775 /* secp256k1_ecdh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ecdh.h; path = secp256k1_ios/include/secp256k1_ecdh.h; sourceTree = ""; }; F24C4B729147ABA4455041FEDE41FE00 /* Addition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Addition.swift; path = sources/Addition.swift; sourceTree = ""; }; - F28F3031AD42194EEF81032553A11D97 /* scrypt-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-iOS-prefix.pch"; sourceTree = ""; }; - F38735F968F3506E4EACD22DC1175F06 /* PromiseKit.root-CorePromise-Foundation-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "PromiseKit.root-CorePromise-Foundation-dummy.m"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-dummy.m"; sourceTree = ""; }; F3AE421756716EB8DAA945495A2EC5DD /* Rabbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rabbit.swift; path = Sources/CryptoSwift/Rabbit.swift; sourceTree = ""; }; - F45D1FF9B0F3BEACB34D069C6F3561F8 /* Pods-web3swift-iOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-iOS-acknowledgements.markdown"; sourceTree = ""; }; - F537843D9119912314B3F5275A629E06 /* Result-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-iOS-prefix.pch"; sourceTree = ""; }; + F3D7D0776B9B3FF06601DD39FA599C90 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; F5E5C5193E731A76273A1ADACD50AB81 /* PCBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PCBC.swift; path = Sources/CryptoSwift/BlockMode/PCBC.swift; sourceTree = ""; }; F618CC73DE8826F0386137F6584B6A57 /* GCM.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCM.swift; path = Sources/CryptoSwift/BlockMode/GCM.swift; sourceTree = ""; }; F68419F17E2CC2073DDAC992BC39EF47 /* eckey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey.h; path = secp256k1_ios/src/eckey.h; sourceTree = ""; }; F685B50C77BC588736193EFC93B3FAFA /* Primitive Types.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Primitive Types.swift"; path = "SipHash/Primitive Types.swift"; sourceTree = ""; }; - F76DF7D8AADE94E0258CC9A76C4A2C8F /* scrypt-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-iOS-umbrella.h"; sourceTree = ""; }; F7709F12D0210A64607C215D35A245CF /* libResult-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libResult-iOS.a"; path = "libResult-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; F9612CFC925C44DA818604C666EB454C /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/CryptoSwift/Operators.swift; sourceTree = ""; }; FAA8118238A7270948998466F81E6253 /* after.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = after.m; path = Sources/after.m; sourceTree = ""; }; - FAE5BF28C394D398788317F877E314ED /* SipHash-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "SipHash-iOS.xcconfig"; sourceTree = ""; }; + FBEA9606E3827366E8A35C8AD685FA38 /* BigInt-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "BigInt-macOS.modulemap"; path = "../../Headers/Public/BigInt/BigInt-macOS.modulemap"; sourceTree = ""; }; FBEFBB38BBB87913FDCF892141C0AC8D /* NSTask+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSTask+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.h"; sourceTree = ""; }; FC6002A6D434E59E6D00025F21BA36FF /* libCryptoSwift-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libCryptoSwift-iOS.a"; path = "libCryptoSwift-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; FD3FC379B5028687E388AD09CFE88832 /* field_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_impl.h; path = secp256k1_ios/src/field_impl.h; sourceTree = ""; }; - FE9A22DCC269160D36ABB6B7AF260C2A /* Result-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Result-iOS-dummy.m"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -916,10 +1032,12 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3D1B05378F186E57C4B940F71C083C0F /* Frameworks */ = { + 325D67F097EE2746E73CE73074B490F5 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D97D4F779CE4301CD25BDE66904D1F9A /* Foundation.framework in Frameworks */, + 0A9EFCFFAD8EECF12118CC979D041729 /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -930,14 +1048,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 56EC7C06C400F808A27DE468D01518F4 /* Frameworks */ = { + 5A5442897A70588AF9565D5F074C6B92 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 5A5442897A70588AF9565D5F074C6B92 /* Frameworks */ = { + 6DFB6B55ACDC8896004424C72E661A13 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -951,10 +1069,11 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 803328A4C9D919A350F04AB5D9FBBC0A /* Frameworks */ = { + 7F6A486645004AAAB0DCFD9434E95C8A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + BD866838930E0CDAF1107A381781B643 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -986,14 +1105,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 99245CA93B0B66E3E442328913763B1A /* Frameworks */ = { + 97890EC8483173ED089DE8440537DFB3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 9FA0F642AE177D3FA07814A41F264B1A /* Frameworks */ = { + 99245CA93B0B66E3E442328913763B1A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -1031,17 +1150,6 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0016905C45F8F01C6D080425028330F0 /* Targets Support Files */ = { - isa = PBXGroup; - children = ( - AAB417525B4AA28CC55EECA7CFDAB251 /* Pods-web3swift-iOS */, - 088CBEDD2E17F09CAC27FDABD9102BD4 /* Pods-web3swift-iOS_Tests */, - 6FE5839A998F9D581E5060F0675BF53C /* Pods-web3swift-macOS */, - 074B5AF920A574FC168DA49C8D334690 /* Pods-web3swift-macOS_Tests */, - ); - name = "Targets Support Files"; - sourceTree = ""; - }; 01DAA51A707D1C3EAB5D0EE11DCC432A /* BigInt */ = { isa = PBXGroup; children = ( @@ -1067,81 +1175,12 @@ B7DFFB650AB055EA65177877A4837E93 /* String Conversion.swift */, 6942B9400A6731CB14455C8AE7F0C6A7 /* Subtraction.swift */, 268F48810699A9A9AD79047FD000B499 /* Words and Bits.swift */, - 40BAD90543DC6CCDCC23E38123EED033 /* Support Files */, + 5FE625731AA9E8B42E028A4F066A9481 /* Support Files */, ); name = BigInt; path = BigInt; sourceTree = ""; }; - 074B5AF920A574FC168DA49C8D334690 /* Pods-web3swift-macOS_Tests */ = { - isa = PBXGroup; - children = ( - 54DEB815C6A515714B4A838D414C3241 /* Pods-web3swift-macOS_Tests-acknowledgements.markdown */, - DCCD9B75F811575B41254E2EACE6F115 /* Pods-web3swift-macOS_Tests-acknowledgements.plist */, - 522015696E45158812DD4C5CF37CD544 /* Pods-web3swift-macOS_Tests-dummy.m */, - B7762E4245191B27674EB7EB82DCFFF1 /* Pods-web3swift-macOS_Tests.debug.xcconfig */, - 0D88C9D56C3885598E20D9718F3B8F16 /* Pods-web3swift-macOS_Tests.release.xcconfig */, - ); - name = "Pods-web3swift-macOS_Tests"; - path = "Target Support Files/Pods-web3swift-macOS_Tests"; - sourceTree = ""; - }; - 088CBEDD2E17F09CAC27FDABD9102BD4 /* Pods-web3swift-iOS_Tests */ = { - isa = PBXGroup; - children = ( - 753E3CD3CF2AA32CDB11305D429F3C96 /* Pods-web3swift-iOS_Tests-acknowledgements.markdown */, - 6D4A716592C208D7429CE19B82094FA8 /* Pods-web3swift-iOS_Tests-acknowledgements.plist */, - 8B56F6A20A0CF698ECA0EDF6CF4CDD74 /* Pods-web3swift-iOS_Tests-dummy.m */, - 24B5C2F89100EAE084E4AF83DDE6303D /* Pods-web3swift-iOS_Tests.debug.xcconfig */, - E3ADB0156604A4FD7CD47B25248088C2 /* Pods-web3swift-iOS_Tests.release.xcconfig */, - ); - name = "Pods-web3swift-iOS_Tests"; - path = "Target Support Files/Pods-web3swift-iOS_Tests"; - sourceTree = ""; - }; - 0F8D2E47FE03D3B91B51069F7C273AF4 /* Frameworks */ = { - isa = PBXGroup; - children = ( - ); - name = Frameworks; - sourceTree = ""; - }; - 13E70B817C059BEC698F6DC0FDA07E9E /* Support Files */ = { - isa = PBXGroup; - children = ( - BAC15C8E1DC42A3C6D2AF7A4BACD9D9A /* scrypt-iOS.modulemap */, - E0002BF7495DF77615C17C435108BAC4 /* scrypt-iOS.xcconfig */, - C3C66A0B084556BD285AA44CBCA65202 /* scrypt-iOS-dummy.m */, - F28F3031AD42194EEF81032553A11D97 /* scrypt-iOS-prefix.pch */, - F76DF7D8AADE94E0258CC9A76C4A2C8F /* scrypt-iOS-umbrella.h */, - 0E53DB967EB67E52296B83C1BB91E1A4 /* scrypt-macOS.modulemap */, - 30FDF56132F92204ACAD922366ABC434 /* scrypt-macOS.xcconfig */, - 2B28A30F352D7AD1E7E83DFB9BAB49C0 /* scrypt-macOS-dummy.m */, - AE26C9121A9F08A8934B37AD374D39F4 /* scrypt-macOS-prefix.pch */, - DF437C6BA87CD115FFAF9F58E13F530F /* scrypt-macOS-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/scrypt-iOS"; - sourceTree = ""; - }; - 15C25A3B386CD90F69E6C295C07BA52C /* Support Files */ = { - isa = PBXGroup; - children = ( - 85ACA7DBB43194398C4BBE72803AB0A9 /* Result-iOS.modulemap */, - 95E6916802B9A0D029D336A91E220830 /* Result-iOS.xcconfig */, - FE9A22DCC269160D36ABB6B7AF260C2A /* Result-iOS-dummy.m */, - F537843D9119912314B3F5275A629E06 /* Result-iOS-prefix.pch */, - DCE95DEFE59A8D4B1CC921351954D118 /* Result-iOS-umbrella.h */, - C1B8E55A13B5B74C5E80CA45BC86E457 /* Result-macOS.modulemap */, - 2452C598AA33B18F81F1D5FE847DF8C7 /* Result-macOS.xcconfig */, - 58D38A9B84FEE36DA02159AEC6611C17 /* Result-macOS-dummy.m */, - 18B70619E5AAE8D1782A060F2B6362F5 /* Result-macOS-prefix.pch */, - 4B75257897ACBD9567F00827C544D722 /* Result-macOS-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/Result-iOS"; - sourceTree = ""; - }; 16ABC4753B5234DBE5986A3C5545CD07 /* Products */ = { isa = PBXGroup; children = ( @@ -1167,22 +1206,37 @@ name = Products; sourceTree = ""; }; - 40BAD90543DC6CCDCC23E38123EED033 /* Support Files */ = { + 1BA893BB24AE0640C83A4E43734D905A /* Pods-web3swift-iOS */ = { isa = PBXGroup; children = ( - 822F20C56BDAEAB1D9B8A0CE5D552188 /* BigInt-iOS.modulemap */, - EAC47FA975BD89D9C68F3C958A58964C /* BigInt-iOS.xcconfig */, - 10236EF8647E9F61C53670449679E133 /* BigInt-iOS-dummy.m */, - 2FEF470F51471EBE421469A16A76F35A /* BigInt-iOS-prefix.pch */, - BECB9224CBFC1D8A1E8486BB06BBC621 /* BigInt-iOS-umbrella.h */, - 52984D45ED4815A5B6748A82F48DB8FD /* BigInt-macOS.modulemap */, - C60F71A13E6B38C36897688C101E2C9C /* BigInt-macOS.xcconfig */, - 5C4FBD9EED7C8E73E16CA9B5DC621F56 /* BigInt-macOS-dummy.m */, - 5D3D189B9D399D3E4E4DA52E21D02925 /* BigInt-macOS-prefix.pch */, - 60EE65019B7B0977FF9331F020D957CD /* BigInt-macOS-umbrella.h */, + 30FDF14BD303D5A006DF5E2AFC3C5689 /* Pods-web3swift-iOS.modulemap */, + 09E6F0E17B524D5203BB82F0927DED7C /* Pods-web3swift-iOS-acknowledgements.markdown */, + CAEC94D8F0FC43E808BA5F9ADB61CD96 /* Pods-web3swift-iOS-acknowledgements.plist */, + 201CB380345E9D668D690C12DA30C425 /* Pods-web3swift-iOS-dummy.m */, + DD61FCA6B92DBB61BD0CE0268DBAA790 /* Pods-web3swift-iOS-resources.sh */, + 3D8C2202C63BDA7C0F7AF6C89B6273FD /* Pods-web3swift-iOS-umbrella.h */, + 549BC77FB563C5F7078EEF621568360D /* Pods-web3swift-iOS.debug.xcconfig */, + 6D76E01714111860B1A58E945BFEDC3A /* Pods-web3swift-iOS.release.xcconfig */, ); - name = "Support Files"; - path = "../Target Support Files/BigInt-iOS"; + name = "Pods-web3swift-iOS"; + path = "Target Support Files/Pods-web3swift-iOS"; + sourceTree = ""; + }; + 215612CDDB6F3883846CBDFDDF0900D9 /* Pods-web3swift-iOS_Tests */ = { + isa = PBXGroup; + children = ( + 2B9A068D7995C83D3F75D4CD25D2735E /* Pods-web3swift-iOS_Tests.modulemap */, + 06AC0C18C20BEB0CFF4386CE35E5CFC9 /* Pods-web3swift-iOS_Tests-acknowledgements.markdown */, + 2F5F058DBD6EA05A860EB5A2481950F9 /* Pods-web3swift-iOS_Tests-acknowledgements.plist */, + D96A0A368BE15EEEB27A3F77B5F74533 /* Pods-web3swift-iOS_Tests-dummy.m */, + 8694D87EAC35605010892313429D6622 /* Pods-web3swift-iOS_Tests-frameworks.sh */, + 37285A75B12306326B0EF6AD23148A66 /* Pods-web3swift-iOS_Tests-resources.sh */, + 1938EA02A3971FFC506F4AE3E29121A6 /* Pods-web3swift-iOS_Tests-umbrella.h */, + 838E20D48ECBA3CCA073FF52AA6BD234 /* Pods-web3swift-iOS_Tests.debug.xcconfig */, + B12A75E0FD8B52123CBAE9EEB4A42F3B /* Pods-web3swift-iOS_Tests.release.xcconfig */, + ); + name = "Pods-web3swift-iOS_Tests"; + path = "Target Support Files/Pods-web3swift-iOS_Tests"; sourceTree = ""; }; 4DEBE1393AE00ECAAF9F6945E53E40D5 /* CryptoSwift */ = { @@ -1259,46 +1313,28 @@ 1F213EA122AE5157AD579B519B42CAA5 /* Utils.swift */, EEEB8AE79B5DA3255A444BD9E125CC15 /* Utils+Foundation.swift */, BF467792E24FCB49390F293678C2E231 /* ZeroPadding.swift */, - 69C1434A4421E41070A18AC989C189D1 /* Support Files */, + DFE7441EF4C7B841749E6DCFC6274CF3 /* Support Files */, ); name = CryptoSwift; path = CryptoSwift; sourceTree = ""; }; - 58C88166C95A09EA9648AB3B62ADA11A /* Support Files */ = { - isa = PBXGroup; - children = ( - C6E075CB2894DDF612F14363C5317B93 /* SipHash-iOS.modulemap */, - FAE5BF28C394D398788317F877E314ED /* SipHash-iOS.xcconfig */, - 22BBC9E03E0BAFD51E78A932B584D135 /* SipHash-iOS-dummy.m */, - 110589BD0B75B2C4166DE94487100A49 /* SipHash-iOS-prefix.pch */, - 06A021254E60B0C7F3ADB156F97D8EF1 /* SipHash-iOS-umbrella.h */, - 5875BBBED3A4765B1D355C2AD095978A /* SipHash-macOS.modulemap */, - 64389E571A401AFB1A430A11C7053757 /* SipHash-macOS.xcconfig */, - B0423C9D9E49080ACEF73C985FBB221F /* SipHash-macOS-dummy.m */, - 494D5312F7C1D194997E562BD1B13904 /* SipHash-macOS-prefix.pch */, - 0F59529DA4EC37C03768A930A570FC20 /* SipHash-macOS-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/SipHash-iOS"; - sourceTree = ""; - }; - 69C1434A4421E41070A18AC989C189D1 /* Support Files */ = { + 5FE625731AA9E8B42E028A4F066A9481 /* Support Files */ = { isa = PBXGroup; children = ( - 9705AB5431247715C48FE5E652D005AE /* CryptoSwift-iOS.modulemap */, - E228BA1C68962471174AF53D116026C3 /* CryptoSwift-iOS.xcconfig */, - 6C86011CD926858E717E5D92380F2838 /* CryptoSwift-iOS-dummy.m */, - 4646CC97CDC73D8A7E940BD068873A84 /* CryptoSwift-iOS-prefix.pch */, - B02B055F45990BB015AB494AE625A793 /* CryptoSwift-iOS-umbrella.h */, - C15E72CDA7675543ABA19953EF2D6A50 /* CryptoSwift-macOS.modulemap */, - 534009974277EC43330183E1CF3A73A3 /* CryptoSwift-macOS.xcconfig */, - 95FA6138713C5F6E2FBBB866D8A4C6E0 /* CryptoSwift-macOS-dummy.m */, - C085FF97293CA817998555A347A3CF20 /* CryptoSwift-macOS-prefix.pch */, - AB4A0ADEE88B224FCFB999E14A3FC3BA /* CryptoSwift-macOS-umbrella.h */, + 348634C64E93D1AE27324E5B803C7D02 /* BigInt-iOS.modulemap */, + D1C14722F45B3D63B1FB360F6F553FF5 /* BigInt-iOS.xcconfig */, + 70EC0C5B63B6AFB5C821750D9F6A516C /* BigInt-iOS-dummy.m */, + 427CDF99DA88A7D8247722B6CD3116F3 /* BigInt-iOS-prefix.pch */, + CAF1A1CA61F0B5E096092946067071C5 /* BigInt-iOS-umbrella.h */, + FBEA9606E3827366E8A35C8AD685FA38 /* BigInt-macOS.modulemap */, + 8F3D3202602E52028B31A9BC0E40E4BE /* BigInt-macOS.xcconfig */, + 06184F1E92B8B61D4A9719D662641B02 /* BigInt-macOS-dummy.m */, + 7AFD921B51CC772DFF9688DE99B7480B /* BigInt-macOS-prefix.pch */, + E4970F0550D2C60457B433185620200F /* BigInt-macOS-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/CryptoSwift-iOS"; + path = "../Target Support Files/BigInt-iOS"; sourceTree = ""; }; 6A1F5C2595979A06A935E4D072F311A5 /* Foundation */ = { @@ -1320,19 +1356,15 @@ name = Foundation; sourceTree = ""; }; - 6FE5839A998F9D581E5060F0675BF53C /* Pods-web3swift-macOS */ = { + 7242BDFE4EC925876A40027F19A698B6 /* Targets Support Files */ = { isa = PBXGroup; children = ( - 90B410829D6E70A45A22CC62F187A11B /* Pods-web3swift-macOS.modulemap */, - DA900039B5D199745C785144030E7BF9 /* Pods-web3swift-macOS-acknowledgements.markdown */, - 4A2E0AD738D348DDA03396C623D814CD /* Pods-web3swift-macOS-acknowledgements.plist */, - 3E91F337EA3979DB5DD84C325A340270 /* Pods-web3swift-macOS-dummy.m */, - 25F72E78DF48560F5D210E57844ACDED /* Pods-web3swift-macOS-umbrella.h */, - 1C8F00AC871FE0EC2FBD9A40F62753CD /* Pods-web3swift-macOS.debug.xcconfig */, - A5D9B32B104EA0A137D78B89D4D19D40 /* Pods-web3swift-macOS.release.xcconfig */, + 1BA893BB24AE0640C83A4E43734D905A /* Pods-web3swift-iOS */, + 215612CDDB6F3883846CBDFDDF0900D9 /* Pods-web3swift-iOS_Tests */, + DC6B114F31B3864D24CE8C7004F75AC4 /* Pods-web3swift-macOS */, + 7F847878EB176BCCB9AED41625DDC135 /* Pods-web3swift-macOS_Tests */, ); - name = "Pods-web3swift-macOS"; - path = "Target Support Files/Pods-web3swift-macOS"; + name = "Targets Support Files"; sourceTree = ""; }; 7781AB5413B1D2BC12AD674C70A85683 /* CorePromise */ = { @@ -1372,11 +1404,28 @@ isa = PBXGroup; children = ( 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - 0F8D2E47FE03D3B91B51069F7C273AF4 /* Frameworks */, + BFEF163CB0C80F5BE6FDC6A6BD227D67 /* Frameworks */, A63D334DF076AE8625934C5AB8CCFC1B /* Pods */, 16ABC4753B5234DBE5986A3C5545CD07 /* Products */, - 0016905C45F8F01C6D080425028330F0 /* Targets Support Files */, + 7242BDFE4EC925876A40027F19A698B6 /* Targets Support Files */, + ); + sourceTree = ""; + }; + 7F847878EB176BCCB9AED41625DDC135 /* Pods-web3swift-macOS_Tests */ = { + isa = PBXGroup; + children = ( + C7E7D85D04AEF994D90632F66E660A6B /* Pods-web3swift-macOS_Tests.modulemap */, + 5E2462063FC148C85C6D00F08680239E /* Pods-web3swift-macOS_Tests-acknowledgements.markdown */, + AF2BFA66D8E08420367813AD2F6BE5D3 /* Pods-web3swift-macOS_Tests-acknowledgements.plist */, + 0B3A8A1265A6932800FDF40A5E65FEC7 /* Pods-web3swift-macOS_Tests-dummy.m */, + 4D019DB5C502C0B2F56DC85B925D7B7E /* Pods-web3swift-macOS_Tests-frameworks.sh */, + 5D207FB930AAAC6DA0CA7AAB0EBA40EE /* Pods-web3swift-macOS_Tests-resources.sh */, + 553C1445D10FA04E682FE1674D6AF9EB /* Pods-web3swift-macOS_Tests-umbrella.h */, + CFF935D0FA27DF791E8FDBB6D5D68CB2 /* Pods-web3swift-macOS_Tests.debug.xcconfig */, + 50832FC4B2337F53A6F628D514DA730A /* Pods-web3swift-macOS_Tests.release.xcconfig */, ); + name = "Pods-web3swift-macOS_Tests"; + path = "Target Support Files/Pods-web3swift-macOS_Tests"; sourceTree = ""; }; 804E9F18A201CF035B07D2CDE435B7DC /* Result */ = { @@ -1386,7 +1435,7 @@ C57F8890E519BE45C84FBCD5E06453AF /* NoError.swift */, 309EDA4AEC3E9553B1C5228CB1CB760F /* Result.swift */, 7B7931AA08AA6E50FAE2325FDFEC9669 /* ResultProtocol.swift */, - 15C25A3B386CD90F69E6C295C07BA52C /* Support Files */, + C3EE283593D25D7C75EE48E26B0BAE8D /* Support Files */, ); name = Result; path = Result; @@ -1399,28 +1448,37 @@ 5571DA87BD8084546DB65E212E690849 /* RandomUInt64.swift */, E2C42F3DFC4E6CC75140A86DF8616CC3 /* SipHashable.swift */, 602BCDD7A6B60ADA7204658627037B22 /* SipHasher.swift */, - 58C88166C95A09EA9648AB3B62ADA11A /* Support Files */, + 93E701E289739285D8AD3754215AFC01 /* Support Files */, ); name = SipHash; path = SipHash; sourceTree = ""; }; - 9A0C65907B887C6AA085BA46A48F0571 /* Support Files */ = { + 90ABF97ADF207E0260CC66367A9305C5 /* iOS */ = { + isa = PBXGroup; + children = ( + 75E5EE20B9BFFFDFC7AC813752336250 /* Foundation.framework */, + F3D7D0776B9B3FF06601DD39FA599C90 /* UIKit.framework */, + ); + name = iOS; + sourceTree = ""; + }; + 93E701E289739285D8AD3754215AFC01 /* Support Files */ = { isa = PBXGroup; children = ( - 897A68EA53AA050AFE4583C364D6C1CF /* PromiseKit.modulemap */, - DE552F4DC19246DE02459BBEAECE3070 /* PromiseKit.xcconfig */, - 011F6C47C6E88AE3E66264D1FEB85A87 /* PromiseKit-dummy.m */, - 224FBA77C2D18846EE62FD6A22E3B120 /* PromiseKit-prefix.pch */, - 2A75A46146F4FF1C0CB840CA36D75492 /* PromiseKit-umbrella.h */, - 8E629DABC6293E872B2A48DE12DC3D99 /* PromiseKit.root-CorePromise-Foundation.modulemap */, - 342482D0962E817B844EE7E6446AF932 /* PromiseKit.root-CorePromise-Foundation.xcconfig */, - F38735F968F3506E4EACD22DC1175F06 /* PromiseKit.root-CorePromise-Foundation-dummy.m */, - 9B4E57AA7FB0E002998D6424CB608E32 /* PromiseKit.root-CorePromise-Foundation-prefix.pch */, - E14AE09BC14CD1D5C3AD72803E39C00F /* PromiseKit.root-CorePromise-Foundation-umbrella.h */, + 435DE1805E9BEBA86E3E920D1E9EE451 /* SipHash-iOS.modulemap */, + 2FC68718A68C6212B73ECD1E04C03B9E /* SipHash-iOS.xcconfig */, + 17C50841AEC7F820B5A9B738E19218FE /* SipHash-iOS-dummy.m */, + 4A08D8470DE64C23488C86AED4E43593 /* SipHash-iOS-prefix.pch */, + 8B37E3EA16DFF85A33306C879D27B6C3 /* SipHash-iOS-umbrella.h */, + 9B90CA6D6950E5059F37E860339B46F6 /* SipHash-macOS.modulemap */, + 02408D11F33503E2122742BBD9381C6D /* SipHash-macOS.xcconfig */, + A252C33BAE7931B130EF619B55FCC0F5 /* SipHash-macOS-dummy.m */, + 1036A87543D9056B354BAB59D2D61AA4 /* SipHash-macOS-prefix.pch */, + 4F02F7BA4CE0D08B4598AA01224ED76C /* SipHash-macOS-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/PromiseKit"; + path = "../Target Support Files/SipHash-iOS"; sourceTree = ""; }; 9F85BC46BF78193A4015B427CB510BAC /* UIKit */ = { @@ -1451,19 +1509,39 @@ name = Pods; sourceTree = ""; }; - AAB417525B4AA28CC55EECA7CFDAB251 /* Pods-web3swift-iOS */ = { + B3718E35C7244DB8874A0494263C8E6C /* OS X */ = { isa = PBXGroup; children = ( - 79E925BEAA0533C58B6D9871B886DD8A /* Pods-web3swift-iOS.modulemap */, - F45D1FF9B0F3BEACB34D069C6F3561F8 /* Pods-web3swift-iOS-acknowledgements.markdown */, - 95C397E16B314F921F7784F00C8F183B /* Pods-web3swift-iOS-acknowledgements.plist */, - D8F688145BCFE1FB8B76299CC261A05E /* Pods-web3swift-iOS-dummy.m */, - 7E8C19543EF3AA4D9801DBE55E22E211 /* Pods-web3swift-iOS-umbrella.h */, - 042CC2D185140E7D725D22562A3E307F /* Pods-web3swift-iOS.debug.xcconfig */, - 673FFC4D2B959AB8AEC35D646A85CDCD /* Pods-web3swift-iOS.release.xcconfig */, + A2A9882D7606624DB09D137DA346B890 /* Foundation.framework */, ); - name = "Pods-web3swift-iOS"; - path = "Target Support Files/Pods-web3swift-iOS"; + name = "OS X"; + sourceTree = ""; + }; + BFEF163CB0C80F5BE6FDC6A6BD227D67 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 90ABF97ADF207E0260CC66367A9305C5 /* iOS */, + B3718E35C7244DB8874A0494263C8E6C /* OS X */, + ); + name = Frameworks; + sourceTree = ""; + }; + C3EE283593D25D7C75EE48E26B0BAE8D /* Support Files */ = { + isa = PBXGroup; + children = ( + 659B7C3591F263F05E23E3A49D8DBF88 /* Result-iOS.modulemap */, + E962BC8D4DB16BC7DECDA0FA691774E2 /* Result-iOS.xcconfig */, + 6EE45321EF7229C67B1384B69BC09C9A /* Result-iOS-dummy.m */, + 8586511FF7418AB646B21C1E86D480A7 /* Result-iOS-prefix.pch */, + E225EB05FD399DD7D7BE642605DF6932 /* Result-iOS-umbrella.h */, + 59C1DC3D5575A99F3ADF81C0AA26D993 /* Result-macOS.modulemap */, + DF7B01CA7ACC331E63AB800D165E15AF /* Result-macOS.xcconfig */, + 757A37D7E29817F44F2AA11410470DCE /* Result-macOS-dummy.m */, + 962E9B0C3462596BB9DF0C64D327A4DD /* Result-macOS-prefix.pch */, + C166DBC3A2FF6FC7FB066E0142D70FCA /* Result-macOS-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/Result-iOS"; sourceTree = ""; }; C451CAEA2200E64AF129DB404228CFA3 /* scrypt */ = { @@ -1475,28 +1553,62 @@ 45C2BE6D1118A5C0F2E549CE3527D602 /* Salsa.swift */, 2DC2E6214BB1EB95403BF7608DAF872D /* scrypt.h */, 60F78E26D6ABB8534A27E28D45FBFF71 /* Scrypt.swift */, - 13E70B817C059BEC698F6DC0FDA07E9E /* Support Files */, + FEE81B1DCB0306B906D4017CF75347BE /* Support Files */, ); name = scrypt; path = scrypt; sourceTree = ""; }; - D793EBB3DAA962286977E5BD97EAAB37 /* Support Files */ = { + D283BAAB5D85825CC25403FD14C5328C /* Support Files */ = { isa = PBXGroup; children = ( - 0ED7F0C1978F3EEA00F7A4AF09FEC2E8 /* secp256k1_ios-iOS.modulemap */, - 125189558361630DF92C53413530E3E9 /* secp256k1_ios-iOS.xcconfig */, - 6C85BA37239973340D1056F3EBC7F4F8 /* secp256k1_ios-iOS-dummy.m */, - 1A9A53F547A648B113145FD483E1572D /* secp256k1_ios-iOS-prefix.pch */, - E769D47A96005469A7B39F23E9281D6D /* secp256k1_ios-iOS-umbrella.h */, - CBD30E41FF94A920A122386C08637B7A /* secp256k1_ios-macOS.modulemap */, - 10261D7140AF8D6F9E6545BC5D894761 /* secp256k1_ios-macOS.xcconfig */, - BB8574390012E8F0C54B5B8C7A68D484 /* secp256k1_ios-macOS-dummy.m */, - 176078626D7316260BA02A61B91E5EF2 /* secp256k1_ios-macOS-prefix.pch */, - 7D4E771C1368EA72DE7D24C281E6D674 /* secp256k1_ios-macOS-umbrella.h */, + F1A7CED4F6EA1CDC0899559B3F7EAE69 /* PromiseKit.modulemap */, + 7201AB4205DACC1A886D0B4FE0F68E52 /* PromiseKit.xcconfig */, + 30357CC27C341269BCCE3C19E4FE8FE5 /* PromiseKit-dummy.m */, + 0FFB0028B5C6DEECC2A5511C92B70ADF /* PromiseKit-prefix.pch */, + EF09F78B3249ABD67C39117542CFFB87 /* PromiseKit-umbrella.h */, + BF46D6C2599B16723E497A8B1C526766 /* PromiseKit.root-CorePromise-Foundation.modulemap */, + 5E0CF3B2DBBE8BE4869291A759FF8F08 /* PromiseKit.root-CorePromise-Foundation.xcconfig */, + 4023529EFB6CDA4D7368E425E4F84453 /* PromiseKit.root-CorePromise-Foundation-dummy.m */, + 62B45A0A7D2B98407F79CED6516206F9 /* PromiseKit.root-CorePromise-Foundation-prefix.pch */, + 448D25E7648FA3DE003C577C4A2A5DCC /* PromiseKit.root-CorePromise-Foundation-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/secp256k1_ios-iOS"; + path = "../Target Support Files/PromiseKit"; + sourceTree = ""; + }; + DC6B114F31B3864D24CE8C7004F75AC4 /* Pods-web3swift-macOS */ = { + isa = PBXGroup; + children = ( + 3D37A86FCD5D0735EBF9DA4224B06C53 /* Pods-web3swift-macOS.modulemap */, + 3C515870A748CB470E9FBA7186297FFC /* Pods-web3swift-macOS-acknowledgements.markdown */, + E6251CD3609D0F5F96F459E0B9699CC1 /* Pods-web3swift-macOS-acknowledgements.plist */, + CCD178AF0C0283D14572A07109AABF34 /* Pods-web3swift-macOS-dummy.m */, + 952751793FE823F69C417971D443D0DA /* Pods-web3swift-macOS-resources.sh */, + 23BB48B62BD11AE739C695D5E07DF23B /* Pods-web3swift-macOS-umbrella.h */, + 3C18FE09DB747D4F64CDC4EBF07A6AF0 /* Pods-web3swift-macOS.debug.xcconfig */, + 2C06CEB32F04CBF303CC2562A16F7241 /* Pods-web3swift-macOS.release.xcconfig */, + ); + name = "Pods-web3swift-macOS"; + path = "Target Support Files/Pods-web3swift-macOS"; + sourceTree = ""; + }; + DFE7441EF4C7B841749E6DCFC6274CF3 /* Support Files */ = { + isa = PBXGroup; + children = ( + 0DA4D63407696D8CA849D320826D9213 /* CryptoSwift-iOS.modulemap */, + E4B7CA27A16C36354B610B52AE86A10D /* CryptoSwift-iOS.xcconfig */, + 5D2EF378EFDB3948F453ED590E1CE3A0 /* CryptoSwift-iOS-dummy.m */, + 33567FA516E4179D0F29870D154D2B47 /* CryptoSwift-iOS-prefix.pch */, + 6EE0308F276A9A14635D7A83AB1F5F78 /* CryptoSwift-iOS-umbrella.h */, + 5196D2D10E23A81EE37F9B0026AF0320 /* CryptoSwift-macOS.modulemap */, + AC53F2E963D210DCBAC0E8AAD2682664 /* CryptoSwift-macOS.xcconfig */, + D637897EFADFCEE3659DF22E194C4ABD /* CryptoSwift-macOS-dummy.m */, + 062D69C437E04FE7A990ACBC476B4B53 /* CryptoSwift-macOS-prefix.pch */, + F1E5E87AFE60D743CD6E11B84ABD8F8D /* CryptoSwift-macOS-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/CryptoSwift-iOS"; sourceTree = ""; }; EE1D6B59A34A257EF3135B8B9F42BF8E /* secp256k1_ios */ = { @@ -1552,24 +1664,60 @@ 370C998F97BBB1397D09CD78C43A9919 /* secp256k1_ios.h */, 6B7D33AF1AE938A46700885645D7B0C6 /* secp256k1_recovery.h */, 0297F48C8677A1EAF05256ECF6AE81D5 /* util.h */, - D793EBB3DAA962286977E5BD97EAAB37 /* Support Files */, + F05B522B50197E795E55DA40358E0965 /* Support Files */, ); name = secp256k1_ios; path = secp256k1_ios; sourceTree = ""; }; + F05B522B50197E795E55DA40358E0965 /* Support Files */ = { + isa = PBXGroup; + children = ( + 02BEF937ADDFC393286931ED4C648955 /* secp256k1_ios-iOS.modulemap */, + EB696CF5BB96FFB89395E6F2FF0E57AA /* secp256k1_ios-iOS.xcconfig */, + 3255C8E1AC982676ACABE0D7C8C501C6 /* secp256k1_ios-iOS-dummy.m */, + 9356EB07FFA37D9FCA3FFDF81AE8F362 /* secp256k1_ios-iOS-prefix.pch */, + BDB424BDD775458975A06633ABB1E890 /* secp256k1_ios-iOS-umbrella.h */, + 40D9819200FF2C3F5E60469040AA4DB6 /* secp256k1_ios-macOS.modulemap */, + D78F1D1F6EB23F362E664280AC0B5F29 /* secp256k1_ios-macOS.xcconfig */, + C3B8A43F9D491A5A6F79AEC7B3ABF7C4 /* secp256k1_ios-macOS-dummy.m */, + A828AD3F9672B4D9BA255FA0618E01A3 /* secp256k1_ios-macOS-prefix.pch */, + 1F9FAC5C083C513006168E954E709EB9 /* secp256k1_ios-macOS-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/secp256k1_ios-iOS"; + sourceTree = ""; + }; F0707F8777DDFD81A8215F12EF6547F2 /* PromiseKit */ = { isa = PBXGroup; children = ( 7781AB5413B1D2BC12AD674C70A85683 /* CorePromise */, 6A1F5C2595979A06A935E4D072F311A5 /* Foundation */, - 9A0C65907B887C6AA085BA46A48F0571 /* Support Files */, + D283BAAB5D85825CC25403FD14C5328C /* Support Files */, 9F85BC46BF78193A4015B427CB510BAC /* UIKit */, ); name = PromiseKit; path = PromiseKit; sourceTree = ""; }; + FEE81B1DCB0306B906D4017CF75347BE /* Support Files */ = { + isa = PBXGroup; + children = ( + 51E1DD9A1F30A69F32B03EED89A68BE4 /* scrypt-iOS.modulemap */, + 098E4539FFEB1EB276A76F56D0829434 /* scrypt-iOS.xcconfig */, + 99B84A386A434CF038072CF11DE08F34 /* scrypt-iOS-dummy.m */, + 03BD39A3C7331FE5A8003EF47345E789 /* scrypt-iOS-prefix.pch */, + 7BF229E2F5523E62D853248DA0E5AA38 /* scrypt-iOS-umbrella.h */, + AD8F452107AA790939311FAFE9E2434D /* scrypt-macOS.modulemap */, + 79F3D8E746AF01E98DE20BD2C1572F35 /* scrypt-macOS.xcconfig */, + EE37CE5A8E6206A611EC619B66EC2E0D /* scrypt-macOS-dummy.m */, + 38611A8B5CBD6969A86C88ABBAD0B7F9 /* scrypt-macOS-prefix.pch */, + F102D610A357DBD3CDC4E97671DE62A0 /* scrypt-macOS-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/scrypt-iOS"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -1578,15 +1726,71 @@ buildActionMask = 2147483647; files = ( 6D92208E7FD3D5F577A4CE8CB9408544 /* Cimpl.h in Headers */, - EE83304C33E8D28C3321FCF4F3E952AC /* scrypt-macOS-umbrella.h in Headers */, + CECB62463393D641C7A1813FF0BB3C7B /* scrypt-macOS-umbrella.h in Headers */, B47081880A03F74BE985722C4EB78E20 /* scrypt.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2F394AD2ED0A538D456609456DB15F4B /* Headers */ = { + 2EC4EB59401712A7E5314AD87CA30BEC /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + E43B98F13FCD3B5DB5F276A823A9354D /* basic-config.h in Headers */, + 0E4C0ADD74FD8AF9B12C27B6687EB234 /* ecdsa.h in Headers */, + 8CF2686010D558BD03C7CED505C11C9C /* ecdsa_impl.h in Headers */, + A848E609F5973AB324AA66A786BE378B /* eckey.h in Headers */, + D367FA306F3D716B5B26AB7ABC28B82F /* eckey_impl.h in Headers */, + EDE96BB2FF7AA6C6C947F19526E168A4 /* ecmult.h in Headers */, + E1B6F21FA966C5EF912CFFA03322B922 /* ecmult_const.h in Headers */, + 8632EC1A529DFEE13BF97399F45FFEE3 /* ecmult_const_impl.h in Headers */, + 98602E727D3013D4EA8D28E0B796F914 /* ecmult_gen.h in Headers */, + 2889854855882D799FD2CE472B17A9BA /* ecmult_gen_impl.h in Headers */, + 3A47021BD84B2E73B822B69102C2BCCD /* ecmult_impl.h in Headers */, + F35FA24B1FC1A4340CB6903B3FDD95A7 /* field.h in Headers */, + 2267748C1FB1D590488F1B9101FB05C9 /* field_10x26.h in Headers */, + 74A7F683ED642B57FD66AF3452F366A4 /* field_10x26_impl.h in Headers */, + 6EEC29ACFC2BEE23CC88A7DFD2637969 /* field_5x52.h in Headers */, + 528C5C69D4815F5FC83E3D5BBE41271D /* field_5x52_asm_impl.h in Headers */, + A2031F83FFFD6EA4255E12B092376081 /* field_5x52_impl.h in Headers */, + 16B67A3D0D023FF3299B1CB0A7292D31 /* field_5x52_int128_impl.h in Headers */, + C986469BA18AD3CA99A0340B7ACDCEF9 /* field_impl.h in Headers */, + 4C4766DBF2D7901BC1CD2C5DFBD76A5E /* group.h in Headers */, + 00EC6CC102B21BF7CF37B100F377BBFB /* group_impl.h in Headers */, + 06350C28C665E96DF5F96FB93B1C35CE /* hash.h in Headers */, + 1714C4C4BC531842DE31A3FD8F912949 /* hash_impl.h in Headers */, + 3AB4243277B67763E8C819980881BA44 /* lax_der_parsing.h in Headers */, + 2E6A9E3F8DB35BB64FF546A27C79A813 /* lax_der_privatekey_parsing.h in Headers */, + BEF500ABA92617FC244C36F2DD7E47D2 /* libsecp256k1-config.h in Headers */, + 7C36C0D98CE341BB254E6F2B63A604F6 /* main_impl.h in Headers */, + B01D4A804FE382180CCF4053E794C24E /* main_impl.h in Headers */, + 86AB793BCF8161E36142EA221E00E33C /* num.h in Headers */, + F8ADDE1FBDA3E24BCBA08A6AE91A61FE /* num_gmp.h in Headers */, + 08AF14BE0C0ED7820C191EAF51A11029 /* num_gmp_impl.h in Headers */, + E3E7DAA98C0D84340DA492FDA9A32149 /* num_impl.h in Headers */, + B42F58792A1A735AD69BB60C4EF4DC58 /* scalar.h in Headers */, + AA0B40D52D40A8BC397B51FF6C9B3C90 /* scalar_4x64.h in Headers */, + B2921F5CDE5C5C82346964060B258525 /* scalar_4x64_impl.h in Headers */, + 66C39E6D8A7FDD96FE537FBCF8E2E96B /* scalar_8x32.h in Headers */, + 9F64F076880B1E6A80C8D1D3090C687C /* scalar_8x32_impl.h in Headers */, + 3F959C8CCB1AF132682B6BB4D1306CB3 /* scalar_impl.h in Headers */, + EAA80D55D188ACC0DA29BD0186E80FAD /* scalar_low.h in Headers */, + 44EF160E7C344881C2BA9C1A108A7310 /* scalar_low_impl.h in Headers */, + 140DDDDD78010DBE84E1FE23615C64DF /* scratch.h in Headers */, + 7B1BE0AB735B19AC77A7EC6490675D5A /* scratch_impl.h in Headers */, + EC1CD56EB11B85BC0AB0927EC3A37BBE /* secp256k1.h in Headers */, + 35F5C4B5CE3A02EA4B3FBDD6746ADA74 /* secp256k1_ecdh.h in Headers */, + 9CD7AB59AA056063FC32AB28C3B0C2B4 /* secp256k1_ios-iOS-umbrella.h in Headers */, + 919245ABE3324EC4EC8E675AB9592327 /* secp256k1_ios.h in Headers */, + 5F6C3C9162B3C0A00863D73DE9F264E4 /* secp256k1_recovery.h in Headers */, + 10905BAD6CBD3CF5157EB9CE65BEC64B /* util.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2EDD7E461E1FBA982E185083EBF76EB5 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + DE8ADD9F39627224ADF47AFF18B0EA29 /* Pods-web3swift-macOS_Tests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1638,44 +1842,26 @@ 7F46D5244B59340D5B0A7E454860D689 /* scratch_impl.h in Headers */, CF2EC01022EDE78D4A2A1EE28519BB24 /* secp256k1.h in Headers */, BE17E68524E049C26BFA30707DFF6E9E /* secp256k1_ecdh.h in Headers */, - 210E681DBFA8097A999F196A7BF59A6E /* secp256k1_ios-macOS-umbrella.h in Headers */, + 553EB75D5DF57D74E8408D29DF6F8F3D /* secp256k1_ios-macOS-umbrella.h in Headers */, A5FF9C090C00EE25B1035F603F1C3558 /* secp256k1_ios.h in Headers */, 7BA326DD0CB90C3E9B6459E45258514A /* secp256k1_recovery.h in Headers */, DF927452C685F72071057C8843C01706 /* util.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3A62C11C69001C7BF554031AE5C3194C /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - F9A83224C63AF5F18AED311461D71668 /* BigInt-iOS-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 3F3E31084DE48684219A12D9720C7C84 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - D4FBEF46E2616F942B65FF779B374513 /* BigInt-macOS-umbrella.h in Headers */, + FBA0C0B9F810F412F1B19B633DF77D78 /* BigInt-macOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5E46D4F35756A5E79CB8A30F27C708F3 /* Headers */ = { + 563CC70E1611A174C3FA6B3642258D47 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - F8C762D809370D0B01A8BDE46AE1E336 /* AnyPromise.h in Headers */, - ABA18C643B7B9DAE45127BAB6763ED84 /* fwd.h in Headers */, - 90B8891EA1CDC0E2CB923E349FC54D85 /* NSNotificationCenter+AnyPromise.h in Headers */, - 1FC51E63E62DD14E4E0F7422FE40E716 /* NSTask+AnyPromise.h in Headers */, - A6ACACF0C2E9DF22C5477F6FE45DA8FD /* NSURLSession+AnyPromise.h in Headers */, - 79CA11C1BDDC386FF2A4ADBB513892CF /* PMKFoundation.h in Headers */, - 5D44B3C73A389261EB15DCD7849BE6DF /* PMKUIKit.h in Headers */, - 391B4F1D6A8EBFD3317BD7B4637E0B42 /* PromiseKit-umbrella.h in Headers */, - 7727C417D26C1F6EBC5668D0FF7E24BF /* PromiseKit.h in Headers */, - 238EF3B8B56806CC020FF044317E57F2 /* UIView+AnyPromise.h in Headers */, - 339018FACD17608CC28A77397F15523B /* UIViewController+AnyPromise.h in Headers */, + 381C6587FE16247159980E6AD7346AF3 /* CryptoSwift-iOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1683,70 +1869,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 124C34B2652696617A011E8FECFE0C3B /* Result-macOS-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 69CFD1A9D6581A0977AECF719363FF30 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - B70EF82165930092663A4177C5F1FE4F /* basic-config.h in Headers */, - 28C3E22A6B7DDE77EFF9E56199884D40 /* ecdsa.h in Headers */, - 0EC23A496E7520709A8EF71182D4A977 /* ecdsa_impl.h in Headers */, - 044355BCF9A51F03F92DA9A4955EDDF8 /* eckey.h in Headers */, - DB4121B9C2C88108CFD4BF622DD22793 /* eckey_impl.h in Headers */, - DC07B1317F80D339C68CCBF3D31566D9 /* ecmult.h in Headers */, - E900FB2DA6B0F0F63CE82466566FCD68 /* ecmult_const.h in Headers */, - A851E4E866251283BE250466CCA8F05D /* ecmult_const_impl.h in Headers */, - F753E13D3D4A29BF27E48A2303E55253 /* ecmult_gen.h in Headers */, - 78A661EDD584574FE574F9F5442C1D19 /* ecmult_gen_impl.h in Headers */, - F4D1F737295AE1152488E8C62B8B07CC /* ecmult_impl.h in Headers */, - 03DFE13C6697848C21F4EB647BC55AA5 /* field.h in Headers */, - C15CF4CD764C303BB61C1908A5088EB9 /* field_10x26.h in Headers */, - 07DF5F806B224E861175A2B54A157F4E /* field_10x26_impl.h in Headers */, - C223A7A68CC3C3E35C5BAF673FC6422C /* field_5x52.h in Headers */, - 1A931FA6D7623661E6793527D71A4967 /* field_5x52_asm_impl.h in Headers */, - 3B41981C0A080D47C5C9EC0F3FFB7611 /* field_5x52_impl.h in Headers */, - DDA12AF713A1310BDC4A90183CBB1594 /* field_5x52_int128_impl.h in Headers */, - 8A5E008391D8321CFFAF8C16780EFA36 /* field_impl.h in Headers */, - B71596F2C722143ACE243217699C8B26 /* group.h in Headers */, - 3EFA188E4DB94F776E9769B16C85FDD7 /* group_impl.h in Headers */, - 020D14793215AFE896BE555B9C76CBDF /* hash.h in Headers */, - 8838B2C8BD6B40891B3DCF118A17026D /* hash_impl.h in Headers */, - 3A0BDEA886E92E674AB63F02A38A9044 /* lax_der_parsing.h in Headers */, - FA750855C8E963C8BDF3CB98B66F2223 /* lax_der_privatekey_parsing.h in Headers */, - 431B4A873377BAA0B7101CA62F243F69 /* libsecp256k1-config.h in Headers */, - 4A5F92735335EE5F55A619EDD9382812 /* main_impl.h in Headers */, - 70DA4C91DB3C9D2179662801D68386A0 /* main_impl.h in Headers */, - B85578BD6CA740FA275B7FCB49ABCE30 /* num.h in Headers */, - 753EBD02641E8F6F23CAC9B8BE1AB870 /* num_gmp.h in Headers */, - 5378A6D7FB3F30FD0F2D5EBF728C481F /* num_gmp_impl.h in Headers */, - 75DFBA4078AA16B9762F25A2068F8266 /* num_impl.h in Headers */, - 26A36281153F7D8DF3A79BDBA897DF26 /* scalar.h in Headers */, - AEDB6F7FF6DB897F36B275F65C330C41 /* scalar_4x64.h in Headers */, - F1A07A920329A779F5DE4422E744651B /* scalar_4x64_impl.h in Headers */, - 1241921863951D082F323302080CBDFF /* scalar_8x32.h in Headers */, - FE5B85739B771377AF32128CC981B882 /* scalar_8x32_impl.h in Headers */, - 35DAD73CA3D181C3820B7A48AAF6B788 /* scalar_impl.h in Headers */, - A39E98BB6ACEECBAF672A52457035B06 /* scalar_low.h in Headers */, - 3BD9A23A6A10CF688F51418A5C0A926C /* scalar_low_impl.h in Headers */, - 4012B628413F1BB0A86D23CEF67DDB93 /* scratch.h in Headers */, - 63FFA36A34A36A797BEA3D7EDF4CC3C8 /* scratch_impl.h in Headers */, - 43211F1E91C824A5FC64E00B62E5AB95 /* secp256k1.h in Headers */, - 19E005C60300BACBE467130A64746A0F /* secp256k1_ecdh.h in Headers */, - 95532035A7D2C05E9D78194EF284D038 /* secp256k1_ios-iOS-umbrella.h in Headers */, - 1B532920CD5ACB6A6E9B44AD7759774F /* secp256k1_ios.h in Headers */, - 85BE6E38DF5EF78306F1A4AA5D9BDFFA /* secp256k1_recovery.h in Headers */, - 93A04B36AE3206350B85D19862F5F62A /* util.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 7477F92785CFE4A257605FF325BEDCA8 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - DF3C881F6AA58663EA27A37DDC93CBD1 /* SipHash-iOS-umbrella.h in Headers */, + 27157B51378CFF4AD0DF3139827418D2 /* Result-macOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1769,7 +1892,7 @@ DDF54071C21579D559BDEE8D08189CF1 /* NSURLSession+AnyPromise.h in Headers */, 238EF427CBC24F658E1C1FA4E53099CF /* PMKFoundation.h in Headers */, 78BB8536FFE3547FBB5E621141E01F84 /* PromiseKit.h in Headers */, - 2704B064A229223D40B136571F157C09 /* PromiseKit.root-CorePromise-Foundation-umbrella.h in Headers */, + 7E7B5FFB45B34D030569DB117921D0A2 /* PromiseKit.root-CorePromise-Foundation-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1781,44 +1904,45 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 9A87699A079E63916F2A22ACA7AE1750 /* Headers */ = { + A184A179AC87F571D98F6EE26F3E4706 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 0B9A91423AFC0ACA837C4E56A1AA588A /* Result-iOS-umbrella.h in Headers */, + 64310DB95A0B71D32365CB6D88944A03 /* SipHash-iOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9B8ADFBF36DDF43901B00021F97C7974 /* Headers */ = { + AB508AB6DA110D8EA9894EB86FDC1501 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 7F20A41D40643A5EE1FB3E64F1BB44BB /* Cimpl.h in Headers */, - 9C93294CF1F7E31E9BCF02381B17FAF5 /* scrypt-iOS-umbrella.h in Headers */, - 1AF1B798714A34D38B61CF7C7B5C185F /* scrypt.h in Headers */, + F9697E5E03294F84CDF66EBBDB3FC67E /* CryptoSwift-macOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9DBF6F339E3B937E0E0927FF3B30F915 /* Headers */ = { + AC38F7E8EEE3FCDAA87660EF26251C69 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - ECDEF2626BC123966104C5F0B4830936 /* CryptoSwift-iOS-umbrella.h in Headers */, + 047B1F4282EAAB64616F11FF842AA22B /* Cimpl.h in Headers */, + 8BDA6DB765F25A0DB641BAE9BE4B3159 /* scrypt-iOS-umbrella.h in Headers */, + 03CB7EC1DDE57422A40714B0A6953630 /* scrypt.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - A84BA0453988997BEFD8DEA9765B62E6 /* Headers */ = { + BA17525E72EFD72AB4A5CEE5D1DE9913 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + EB89F559AA39AB8B74AC19DCD09A0AF0 /* Pods-web3swift-iOS_Tests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - AB508AB6DA110D8EA9894EB86FDC1501 /* Headers */ = { + E6F669BE3BCF96FD16DC82FAD9B85CD0 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 1CC09F75AC87A194EBB50A8750BAAE94 /* CryptoSwift-macOS-umbrella.h in Headers */, + 42AD653190052E600C4C4CE1DE6ACE20 /* Result-iOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1826,7 +1950,33 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - BA33E96D5FF50CFFA5727208AC91DF2B /* SipHash-macOS-umbrella.h in Headers */, + 4B7175E173407B71508A864A033EC107 /* SipHash-macOS-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F29EC8E739F9852F086EF5BCFF543A3C /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + EF62E2EFC77C073FE4E28108723ACF4B /* BigInt-iOS-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F82DD0F73758C7731BABA37472844562 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + BB06FC86A3B62397AE0E07B00471F6AE /* AnyPromise.h in Headers */, + EDA077007EEB5A44FAC5AFD3C1836B04 /* fwd.h in Headers */, + 1C884A28FA083B2145425BB4D3369A0B /* NSNotificationCenter+AnyPromise.h in Headers */, + 1E9786C210C3093074CAA71FB3C5350F /* NSTask+AnyPromise.h in Headers */, + 1FE7FEC8F5DDD701FD3AE246AD01B367 /* NSURLSession+AnyPromise.h in Headers */, + B773946DE5FFBE30EDF07970211D0F6E /* PMKFoundation.h in Headers */, + FEA85558F428093EA3B68A2FB1C71D2A /* PMKUIKit.h in Headers */, + EB6B58F71E3D5BAB4ECE9430B17E8851 /* PromiseKit-umbrella.h in Headers */, + F8FD768535346E2CF68666669776442A /* PromiseKit.h in Headers */, + 64F86EC9C5F4F9BA6A73B501B1B84262 /* UIView+AnyPromise.h in Headers */, + 923235788E467394092CE2018C5FAEB2 /* UIViewController+AnyPromise.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1837,9 +1987,9 @@ isa = PBXNativeTarget; buildConfigurationList = 8DA93CABD9DFF36F5A035545E1AC0E03 /* Build configuration list for PBXNativeTarget "PromiseKit" */; buildPhases = ( - 5E46D4F35756A5E79CB8A30F27C708F3 /* Headers */, + F82DD0F73758C7731BABA37472844562 /* Headers */, D80C4041C26B271E170B58234C893615 /* Sources */, - 3D1B05378F186E57C4B940F71C083C0F /* Frameworks */, + 325D67F097EE2746E73CE73074B490F5 /* Frameworks */, 0F4E0CC32C96C7A7A460459DCA8251FF /* Copy generated compatibility header */, ); buildRules = ( @@ -1898,7 +2048,7 @@ isa = PBXNativeTarget; buildConfigurationList = BA7D8C997C878CC9750FD6BEA3F67C1A /* Build configuration list for PBXNativeTarget "secp256k1_ios-iOS" */; buildPhases = ( - 69CFD1A9D6581A0977AECF719363FF30 /* Headers */, + 2EC4EB59401712A7E5314AD87CA30BEC /* Headers */, E476093B5E955BE3D7129652BCA20AE0 /* Sources */, 5A5442897A70588AF9565D5F074C6B92 /* Frameworks */, ); @@ -1915,7 +2065,7 @@ isa = PBXNativeTarget; buildConfigurationList = F8A195F0CD637B21B4FABEA84B502663 /* Build configuration list for PBXNativeTarget "SipHash-iOS" */; buildPhases = ( - 7477F92785CFE4A257605FF325BEDCA8 /* Headers */, + A184A179AC87F571D98F6EE26F3E4706 /* Headers */, 6950A9AD0D066BC48BB15390EA10BE78 /* Sources */, D2A4B152651F01134ED378054CE50C8D /* Frameworks */, EDC821DB128FBEFA92BC6BC351D2709A /* Copy generated compatibility header */, @@ -1929,11 +2079,36 @@ productReference = 40D27BDFCD317E69149F3DFAFB7543A9 /* libSipHash-iOS.a */; productType = "com.apple.product-type.library.static"; }; + 3E398E9E64DEB2271B9D8FDDFED73BD4 /* Pods-web3swift-macOS_Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 7C6361B9759E1BA4AD88E9A851A42894 /* Build configuration list for PBXNativeTarget "Pods-web3swift-macOS_Tests" */; + buildPhases = ( + 2EDD7E461E1FBA982E185083EBF76EB5 /* Headers */, + 7A01331384E69561B35E1B17927CF339 /* Sources */, + 97890EC8483173ED089DE8440537DFB3 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + D1082A5270870F4606D6C175E249EA5C /* PBXTargetDependency */, + 87A9622383708208060343907EABFD5E /* PBXTargetDependency */, + EFE957A099ACAD26F04AD100FEE855DF /* PBXTargetDependency */, + 1884C486EFCD3632140C9DA981269622 /* PBXTargetDependency */, + 28A91A27FCB812BF53CE1FA12D06AE3E /* PBXTargetDependency */, + 49CB980932C976A944482646B3EC2CBA /* PBXTargetDependency */, + C8BC042896E6C3D76E0A86A63368E3F8 /* PBXTargetDependency */, + 387C287A34ADC9409A8BEEF451C17496 /* PBXTargetDependency */, + ); + name = "Pods-web3swift-macOS_Tests"; + productName = "Pods-web3swift-macOS_Tests"; + productReference = 4530120DD6B0DBFF5F660844F8E1C873 /* libPods-web3swift-macOS_Tests.a */; + productType = "com.apple.product-type.library.static"; + }; 44D204414133961DD4B492AFB5C4DEEB /* CryptoSwift-iOS */ = { isa = PBXNativeTarget; buildConfigurationList = 6FBBA029AFB86EC5F02D2B578121B307 /* Build configuration list for PBXNativeTarget "CryptoSwift-iOS" */; buildPhases = ( - 9DBF6F339E3B937E0E0927FF3B30F915 /* Headers */, + 563CC70E1611A174C3FA6B3642258D47 /* Headers */, 713698705E8D1E339E70B30159672ECB /* Sources */, 70A99D175AB74D144C6CFD96B60AA491 /* Frameworks */, ABE5E8CE69A961334EF804948F80AE71 /* Copy generated compatibility header */, @@ -1965,29 +2140,11 @@ productReference = E82F9A99E44E0AB55B16F720C69B947B /* libSipHash-macOS.a */; productType = "com.apple.product-type.library.static"; }; - 566C98B9528CB1527582959B19D87238 /* Pods-web3swift-iOS_Tests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 62550B15363844675EDB2F185CB619A8 /* Build configuration list for PBXNativeTarget "Pods-web3swift-iOS_Tests" */; - buildPhases = ( - A84BA0453988997BEFD8DEA9765B62E6 /* Headers */, - A27CC87411918F0608EA9F4339733D80 /* Sources */, - 9FA0F642AE177D3FA07814A41F264B1A /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - F3DDE7BB170DA1519FDDE4BA03AB73FA /* PBXTargetDependency */, - ); - name = "Pods-web3swift-iOS_Tests"; - productName = "Pods-web3swift-iOS_Tests"; - productReference = AAF423028DF35854B3087F873B6965E4 /* libPods-web3swift-iOS_Tests.a */; - productType = "com.apple.product-type.library.static"; - }; 717A6C5D2749A62529F91EEEFE9D7643 /* scrypt-iOS */ = { isa = PBXNativeTarget; buildConfigurationList = 6879EDE7D4DD74BDD3333F7F47505BD5 /* Build configuration list for PBXNativeTarget "scrypt-iOS" */; buildPhases = ( - 9B8ADFBF36DDF43901B00021F97C7974 /* Headers */, + AC38F7E8EEE3FCDAA87660EF26251C69 /* Headers */, 0C069A9FAFD02DC541C70A3173F230BF /* Sources */, 8FE71F0EE76E21DDDA7CA1709FAF6FC0 /* Frameworks */, FEE9CE25BE3B98ABF4820134949C8129 /* Copy generated compatibility header */, @@ -2002,31 +2159,13 @@ productReference = 2B80D3AA1BDBB1E0CF52567C4F9FB777 /* libscrypt-iOS.a */; productType = "com.apple.product-type.library.static"; }; - 7ED7E08B2BE4D50AC5F7E73B32DD2203 /* Pods-web3swift-macOS_Tests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 91E81CC04B48CAA0AA6D1FB891F14331 /* Build configuration list for PBXNativeTarget "Pods-web3swift-macOS_Tests" */; - buildPhases = ( - 2F394AD2ED0A538D456609456DB15F4B /* Headers */, - 6F5CC9B499993EA733C785A3803C553D /* Sources */, - 803328A4C9D919A350F04AB5D9FBBC0A /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - DA81B8EC030393B0ADEBDB02050FCFCB /* PBXTargetDependency */, - ); - name = "Pods-web3swift-macOS_Tests"; - productName = "Pods-web3swift-macOS_Tests"; - productReference = 4530120DD6B0DBFF5F660844F8E1C873 /* libPods-web3swift-macOS_Tests.a */; - productType = "com.apple.product-type.library.static"; - }; 8FBD6D69D989701B31E1FE3221BEE90E /* PromiseKit.root-CorePromise-Foundation */ = { isa = PBXNativeTarget; buildConfigurationList = 90AA254D9E86CD85BB781ED544A9AD4D /* Build configuration list for PBXNativeTarget "PromiseKit.root-CorePromise-Foundation" */; buildPhases = ( 8AE7964BDBCBC7A4B3EF612DBBB01CFB /* Headers */, 522D955B2AE41A55E3997790054B5A45 /* Sources */, - 56EC7C06C400F808A27DE468D01518F4 /* Frameworks */, + 7F6A486645004AAAB0DCFD9434E95C8A /* Frameworks */, A9726B7B90A669FBDD968B4924FF4AAA /* Copy generated compatibility header */, ); buildRules = ( @@ -2057,11 +2196,36 @@ productReference = DB87E523FFE6DE6B135FDDCF9D25E434 /* libBigInt-macOS.a */; productType = "com.apple.product-type.library.static"; }; + A6E382D5D6B07674E43016DC3F7671CC /* Pods-web3swift-iOS_Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 9147D93E20526E57F1BB313A953B43D1 /* Build configuration list for PBXNativeTarget "Pods-web3swift-iOS_Tests" */; + buildPhases = ( + BA17525E72EFD72AB4A5CEE5D1DE9913 /* Headers */, + 9C078DA6D64602BF6F7F10C04D17538E /* Sources */, + 6DFB6B55ACDC8896004424C72E661A13 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 0369606DF73B34BA53E902AAE7ABCB8D /* PBXTargetDependency */, + 140A2805AFC5E9E1D29C021B9F0B98A4 /* PBXTargetDependency */, + DF1348A409DE287D9A11CB0349D3631E /* PBXTargetDependency */, + 3C30CC3BA0DF7C5F1487E1F3463FA434 /* PBXTargetDependency */, + C9296DE20B1E928B6832A65EEF1CA3F8 /* PBXTargetDependency */, + DFB0834A4804B2141DDD6BF517CF4FB2 /* PBXTargetDependency */, + 561B23E3A3796938CFD68E9F4390EEAF /* PBXTargetDependency */, + 4618C453E6BB9258BEEC8F6A61F25283 /* PBXTargetDependency */, + ); + name = "Pods-web3swift-iOS_Tests"; + productName = "Pods-web3swift-iOS_Tests"; + productReference = AAF423028DF35854B3087F873B6965E4 /* libPods-web3swift-iOS_Tests.a */; + productType = "com.apple.product-type.library.static"; + }; AF9F48E6961507C0E2FD7A3CDBC652DA /* BigInt-iOS */ = { isa = PBXNativeTarget; buildConfigurationList = 47C2AA14D9BBB2B7CC5629CE1C553C1B /* Build configuration list for PBXNativeTarget "BigInt-iOS" */; buildPhases = ( - 3A62C11C69001C7BF554031AE5C3194C /* Headers */, + F29EC8E739F9852F086EF5BCFF543A3C /* Headers */, 104CDA071EC594D0742ECA77BC001352 /* Sources */, F3D19D58AA787766BBBD7801570222E2 /* Frameworks */, 48CAA26C5BA7CC4886CFBB5FF41C3C8C /* Copy generated compatibility header */, @@ -2080,7 +2244,7 @@ isa = PBXNativeTarget; buildConfigurationList = 7E6FEF7BE12C0B86CC254EF55EDD9699 /* Build configuration list for PBXNativeTarget "Result-iOS" */; buildPhases = ( - 9A87699A079E63916F2A22ACA7AE1750 /* Headers */, + E6F669BE3BCF96FD16DC82FAD9B85CD0 /* Headers */, 3182A9C8AF2293F468CC2FF1757CED05 /* Sources */, 99245CA93B0B66E3E442328913763B1A /* Frameworks */, 44F4CE8355F5D5F1F809089CCBBEBF00 /* Copy generated compatibility header */, @@ -2197,9 +2361,9 @@ 44D204414133961DD4B492AFB5C4DEEB /* CryptoSwift-iOS */, D618CA243075F5EB0C89F808DD7756D8 /* CryptoSwift-macOS */, 242D7A70DFF4194FB7B7DA7C1AA5384E /* Pods-web3swift-iOS */, - 566C98B9528CB1527582959B19D87238 /* Pods-web3swift-iOS_Tests */, + A6E382D5D6B07674E43016DC3F7671CC /* Pods-web3swift-iOS_Tests */, BB68F9B80C22C74C528A2A837F77C592 /* Pods-web3swift-macOS */, - 7ED7E08B2BE4D50AC5F7E73B32DD2203 /* Pods-web3swift-macOS_Tests */, + 3E398E9E64DEB2271B9D8FDDFED73BD4 /* Pods-web3swift-macOS_Tests */, 00370D91F8D61EB1B486DA6056B32406 /* PromiseKit */, 8FBD6D69D989701B31E1FE3221BEE90E /* PromiseKit.root-CorePromise-Foundation */, B4C770D41049AF2A6AAF1D99D0B08152 /* Result-iOS */, @@ -2673,14 +2837,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 6F5CC9B499993EA733C785A3803C553D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - B6699C206D4772B76BEAF1722CB04572 /* Pods-web3swift-macOS_Tests-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 713698705E8D1E339E70B30159672ECB /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -2760,6 +2916,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 7A01331384E69561B35E1B17927CF339 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6F05C030F1EA0E9ADF729E6E647CACFE /* Pods-web3swift-macOS_Tests-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 7BA75396367E53FB54211DB664B4547E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -2874,11 +3038,11 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - A27CC87411918F0608EA9F4339733D80 /* Sources */ = { + 9C078DA6D64602BF6F7F10C04D17538E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3A611A77C4E834E1E7F375E6362DB0D7 /* Pods-web3swift-iOS_Tests-dummy.m in Sources */, + 0E8C948E26CAA74B6E9C53529481D064 /* Pods-web3swift-iOS_Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2947,6 +3111,12 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + 0369606DF73B34BA53E902AAE7ABCB8D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "BigInt-iOS"; + target = AF9F48E6961507C0E2FD7A3CDBC652DA /* BigInt-iOS */; + targetProxy = D26D83FD52873C0724F3563C9D973BC0 /* PBXContainerItemProxy */; + }; 05CEE04471CEA2C0AA9EA5ADBFFA05E7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "scrypt-iOS"; @@ -2977,12 +3147,30 @@ target = B4C770D41049AF2A6AAF1D99D0B08152 /* Result-iOS */; targetProxy = 95EBCBEDA8C09F798A8B0AAC2A665789 /* PBXContainerItemProxy */; }; + 140A2805AFC5E9E1D29C021B9F0B98A4 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "CryptoSwift-iOS"; + target = 44D204414133961DD4B492AFB5C4DEEB /* CryptoSwift-iOS */; + targetProxy = 78020117C086D2646E8237DA59CF8059 /* PBXContainerItemProxy */; + }; + 1884C486EFCD3632140C9DA981269622 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "PromiseKit.root-CorePromise-Foundation"; + target = 8FBD6D69D989701B31E1FE3221BEE90E /* PromiseKit.root-CorePromise-Foundation */; + targetProxy = D327745110CF6AAD186CFD3D40F2CBC6 /* PBXContainerItemProxy */; + }; 1FF54C81F8FD2950BADB45C07E63D89A /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "BigInt-macOS"; target = 9646F4C6B5DB5298F5EEE5871120A244 /* BigInt-macOS */; targetProxy = CCD1E562EFB874B8CB4B33E000B51CD1 /* PBXContainerItemProxy */; }; + 28A91A27FCB812BF53CE1FA12D06AE3E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Result-macOS"; + target = D65B13BFF251965985F677C194C0CACF /* Result-macOS */; + targetProxy = B9315564689272999D44E50694EC0449 /* PBXContainerItemProxy */; + }; 2A5B940C38D42B8D734A160124EFFE9A /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "SipHash-iOS"; @@ -2995,6 +3183,30 @@ target = 2FE2011DA32CEB3AE7A817A294041570 /* secp256k1_ios-iOS */; targetProxy = 2D3F534715B6632C78072C8E5A65094A /* PBXContainerItemProxy */; }; + 387C287A34ADC9409A8BEEF451C17496 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "secp256k1_ios-macOS"; + target = FC621AC7D03DDE6D391CACBAF8CA054E /* secp256k1_ios-macOS */; + targetProxy = 435993337DC7ED14E3B81E444FA17FFF /* PBXContainerItemProxy */; + }; + 3C30CC3BA0DF7C5F1487E1F3463FA434 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = PromiseKit; + target = 00370D91F8D61EB1B486DA6056B32406 /* PromiseKit */; + targetProxy = B6E1ACAF6088DCEB605C6E0A670B2881 /* PBXContainerItemProxy */; + }; + 4618C453E6BB9258BEEC8F6A61F25283 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "secp256k1_ios-iOS"; + target = 2FE2011DA32CEB3AE7A817A294041570 /* secp256k1_ios-iOS */; + targetProxy = 352364F0383233F4CC7C27744D6969FD /* PBXContainerItemProxy */; + }; + 49CB980932C976A944482646B3EC2CBA /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "SipHash-macOS"; + target = 4FCBE56BC5E931FDC43C642250037C1F /* SipHash-macOS */; + targetProxy = D6399F92B7E7FFC27E2EC6AB44FC20E5 /* PBXContainerItemProxy */; + }; 52C2527A7F646C87C9D482AC95F732B8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "SipHash-macOS"; @@ -3007,6 +3219,12 @@ target = D618CA243075F5EB0C89F808DD7756D8 /* CryptoSwift-macOS */; targetProxy = 2A0AAC3DD9D962F949F31A5F7F0B5C5F /* PBXContainerItemProxy */; }; + 561B23E3A3796938CFD68E9F4390EEAF /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "scrypt-iOS"; + target = 717A6C5D2749A62529F91EEEFE9D7643 /* scrypt-iOS */; + targetProxy = 1534DAD4B031EBB9EB9ECFF9A0272039 /* PBXContainerItemProxy */; + }; 5A6CD68FDC0875A4FFDC427E943CA6A9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "secp256k1_ios-macOS"; @@ -3031,6 +3249,12 @@ target = AF9F48E6961507C0E2FD7A3CDBC652DA /* BigInt-iOS */; targetProxy = 85EC6E047CB93E2443B62439D51DBE4F /* PBXContainerItemProxy */; }; + 87A9622383708208060343907EABFD5E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "CryptoSwift-macOS"; + target = D618CA243075F5EB0C89F808DD7756D8 /* CryptoSwift-macOS */; + targetProxy = 5D305E4E35D6FFC5F0B493DC1272B0EE /* PBXContainerItemProxy */; + }; B8DAD04D999708156ACCC4354565CBE5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "scrypt-macOS"; @@ -3049,11 +3273,35 @@ target = 4FCBE56BC5E931FDC43C642250037C1F /* SipHash-macOS */; targetProxy = 284C9AFC38A225A506CB24973AEFB321 /* PBXContainerItemProxy */; }; - DA81B8EC030393B0ADEBDB02050FCFCB /* PBXTargetDependency */ = { + C8BC042896E6C3D76E0A86A63368E3F8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-web3swift-macOS"; - target = BB68F9B80C22C74C528A2A837F77C592 /* Pods-web3swift-macOS */; - targetProxy = 1E5017C3A1512E67B0318DD1DACDE515 /* PBXContainerItemProxy */; + name = "scrypt-macOS"; + target = 07841E92CB371DB60A1803D68D0B6814 /* scrypt-macOS */; + targetProxy = 972D1D5783F52F9D41D5545982623D83 /* PBXContainerItemProxy */; + }; + C9296DE20B1E928B6832A65EEF1CA3F8 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Result-iOS"; + target = B4C770D41049AF2A6AAF1D99D0B08152 /* Result-iOS */; + targetProxy = 22DD5B8659B60E31EEF9FA61FF70F620 /* PBXContainerItemProxy */; + }; + D1082A5270870F4606D6C175E249EA5C /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "BigInt-macOS"; + target = 9646F4C6B5DB5298F5EEE5871120A244 /* BigInt-macOS */; + targetProxy = 9708F8CBA381DF40339F65A62C5299F3 /* PBXContainerItemProxy */; + }; + DF1348A409DE287D9A11CB0349D3631E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Pods-web3swift-iOS"; + target = 242D7A70DFF4194FB7B7DA7C1AA5384E /* Pods-web3swift-iOS */; + targetProxy = 8EB9105FCFFB3B026DF8D04211F344F9 /* PBXContainerItemProxy */; + }; + DFB0834A4804B2141DDD6BF517CF4FB2 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "SipHash-iOS"; + target = 3B79F6DB09B597AAE9D3EB939DA463D8 /* SipHash-iOS */; + targetProxy = 360BC8035FDA2684D3D224FE94563CD5 /* PBXContainerItemProxy */; }; EAE562F38811B30E5C913FF971E5BB27 /* PBXTargetDependency */ = { isa = PBXTargetDependency; @@ -3061,18 +3309,18 @@ target = 44D204414133961DD4B492AFB5C4DEEB /* CryptoSwift-iOS */; targetProxy = 5C4F2ED3F13D3478905D555D2B67CD1E /* PBXContainerItemProxy */; }; - F3DDE7BB170DA1519FDDE4BA03AB73FA /* PBXTargetDependency */ = { + EFE957A099ACAD26F04AD100FEE855DF /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-web3swift-iOS"; - target = 242D7A70DFF4194FB7B7DA7C1AA5384E /* Pods-web3swift-iOS */; - targetProxy = 366CCE30759EB3C0FF8E45BE9572B007 /* PBXContainerItemProxy */; + name = "Pods-web3swift-macOS"; + target = BB68F9B80C22C74C528A2A837F77C592 /* Pods-web3swift-macOS */; + targetProxy = 8EAEE80824AC260B45892170FD94FFA9 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ 10094E4712902F615969B9C3AD86AA9A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 125189558361630DF92C53413530E3E9 /* secp256k1_ios-iOS.xcconfig */; + baseConfigurationReference = EB696CF5BB96FFB89395E6F2FF0E57AA /* secp256k1_ios-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3096,37 +3344,34 @@ }; name = Release; }; - 22828402F006586F2011758B9199E3F7 /* Release */ = { + 18E24F416DE781FAB553C6A7E3F3C1EF /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2452C598AA33B18F81F1D5FE847DF8C7 /* Result-macOS.xcconfig */; + baseConfigurationReference = CFF935D0FA27DF791E8FDBB6D5D68CB2 /* Pods-web3swift-macOS_Tests.debug.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/Result-macOS/Result-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/Result/Result-macOS.modulemap"; + MACH_O_TYPE = staticlib; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MODULEMAP_FILE = "Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Result; - PRODUCT_NAME = "Result-macOS"; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = macosx; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.0; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; - name = Release; + name = Debug; }; 25479A05EC723879F7D0842978AC42B6 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E0002BF7495DF77615C17C435108BAC4 /* scrypt-iOS.xcconfig */; + baseConfigurationReference = 098E4539FFEB1EB276A76F56D0829434 /* scrypt-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3152,7 +3397,7 @@ }; 29F4C48EAEC88A7864CDB6C4FE628440 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 125189558361630DF92C53413530E3E9 /* secp256k1_ios-iOS.xcconfig */; + baseConfigurationReference = EB696CF5BB96FFB89395E6F2FF0E57AA /* secp256k1_ios-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3175,9 +3420,35 @@ }; name = Debug; }; + 35FE90C4321FAFFDC78AB8AAA38B1ABA /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AC53F2E963D210DCBAC0E8AAD2682664 /* CryptoSwift-macOS.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "-"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + EXECUTABLE_PREFIX = lib; + GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MODULEMAP_FILE = "Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = CryptoSwift; + PRODUCT_NAME = "CryptoSwift-macOS"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.2; + }; + name = Debug; + }; 3A0E8B9AEE3FB2C2FF6480F0457CB4ED /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 95E6916802B9A0D029D336A91E220830 /* Result-iOS.xcconfig */; + baseConfigurationReference = E962BC8D4DB16BC7DECDA0FA691774E2 /* Result-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3203,7 +3474,7 @@ }; 3C9131BF8D77FFD3F3302CC9B5C5B5E6 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EAC47FA975BD89D9C68F3C958A58964C /* BigInt-iOS.xcconfig */; + baseConfigurationReference = D1C14722F45B3D63B1FB360F6F553FF5 /* BigInt-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3227,37 +3498,36 @@ }; name = Debug; }; - 3DBEFAA40421868F6F66B16ACEFE5910 /* Debug */ = { + 3FC11F99C63AE0234062EDB05FC05F05 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 30FDF56132F92204ACAD922366ABC434 /* scrypt-macOS.xcconfig */; + baseConfigurationReference = 8F3D3202602E52028B31A9BC0E40E4BE /* BigInt-macOS.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/scrypt-macOS/scrypt-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MODULEMAP_FILE = "Headers/Public/scrypt/scrypt-macOS.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/BigInt-macOS/BigInt-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MODULEMAP_FILE = "Headers/Public/BigInt/BigInt-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = scrypt; - PRODUCT_NAME = "scrypt-macOS"; + PRODUCT_MODULE_NAME = BigInt; + PRODUCT_NAME = "BigInt-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.1; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.0; }; - name = Debug; + name = Release; }; 433482CC83281FBCC068E5C1BB82C335 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DE552F4DC19246DE02459BBEAECE3070 /* PromiseKit.xcconfig */; + baseConfigurationReference = 7201AB4205DACC1A886D0B4FE0F68E52 /* PromiseKit.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3281,32 +3551,63 @@ }; name = Debug; }; - 4CA9B35348640CA3DA1AAB6A01AB2BE4 /* Release */ = { + 44EA677F9CA122DFC44F54EA53936998 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0D88C9D56C3885598E20D9718F3B8F16 /* Pods-web3swift-macOS_Tests.release.xcconfig */; + baseConfigurationReference = 79F3D8E746AF01E98DE20BD2C1572F35 /* scrypt-macOS.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - MACH_O_TYPE = staticlib; + GCC_PREFIX_HEADER = "Target Support Files/scrypt-macOS/scrypt-macOS-prefix.pch"; MACOSX_DEPLOYMENT_TARGET = 10.11; + MODULEMAP_FILE = "Headers/Public/scrypt/scrypt-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = scrypt; + PRODUCT_NAME = "scrypt-macOS"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.1; + }; + name = Debug; + }; + 47384531706EF84966CA26E5D7B959C7 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AC53F2E963D210DCBAC0E8AAD2682664 /* CryptoSwift-macOS.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "-"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + EXECUTABLE_PREFIX = lib; + GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MODULEMAP_FILE = "Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = CryptoSwift; + PRODUCT_NAME = "CryptoSwift-macOS"; + PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.2; }; name = Release; }; 50921841075F46C5C393DB5B6A2529EB /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FAE5BF28C394D398788317F877E314ED /* SipHash-iOS.xcconfig */; + baseConfigurationReference = 2FC68718A68C6212B73ECD1E04C03B9E /* SipHash-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3330,56 +3631,83 @@ }; name = Debug; }; - 560816912205F95947EE5A51E4D1D47B /* Debug */ = { + 5BD49BF86CA4E1A90D03BA1E96ADB13B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 10261D7140AF8D6F9E6545BC5D894761 /* secp256k1_ios-macOS.xcconfig */; + baseConfigurationReference = 8F3D3202602E52028B31A9BC0E40E4BE /* BigInt-macOS.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/BigInt-macOS/BigInt-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MODULEMAP_FILE = "Headers/Public/BigInt/BigInt-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = secp256k1_ios; - PRODUCT_NAME = "secp256k1_ios-macOS"; + PRODUCT_MODULE_NAME = BigInt; + PRODUCT_NAME = "BigInt-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.0; }; name = Debug; }; - 5FCBD0A9F6FEC43961BDF6211D4F283C /* Debug */ = { + 5E6A8C563219ECE58D56F1197D8A3920 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 79F3D8E746AF01E98DE20BD2C1572F35 /* scrypt-macOS.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "-"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + EXECUTABLE_PREFIX = lib; + GCC_PREFIX_HEADER = "Target Support Files/scrypt-macOS/scrypt-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MODULEMAP_FILE = "Headers/Public/scrypt/scrypt-macOS.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = scrypt; + PRODUCT_NAME = "scrypt-macOS"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.1; + }; + name = Release; + }; + 5FCBD0A9F6FEC43961BDF6211D4F283C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; @@ -3422,79 +3750,105 @@ }; name = Debug; }; - 680029FB47A1EBBABD9AD8A0B3C5229F /* Release */ = { + 612B5902FE5E832A73EDB161E1AAC30C /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DE552F4DC19246DE02459BBEAECE3070 /* PromiseKit.xcconfig */; + baseConfigurationReference = 5E0CF3B2DBBE8BE4869291A759FF8F08 /* PromiseKit.root-CorePromise-Foundation.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/PromiseKit/PromiseKit.modulemap; + EXECUTABLE_PREFIX = lib; + GCC_PREFIX_HEADER = "Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; PRODUCT_MODULE_NAME = PromiseKit; - PRODUCT_NAME = PromiseKit; + PRODUCT_NAME = "PromiseKit.root-CorePromise-Foundation"; PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; + SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; }; name = Release; }; - 6B796AE0DE8CD6CD142647A2318DE8AF /* Release */ = { + 6532888DD4B4FA3AB86C68A86E46EA3F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 10261D7140AF8D6F9E6545BC5D894761 /* secp256k1_ios-macOS.xcconfig */; + baseConfigurationReference = E4B7CA27A16C36354B610B52AE86A10D /* CryptoSwift-iOS.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = "Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = secp256k1_ios; - PRODUCT_NAME = "secp256k1_ios-macOS"; + PRODUCT_MODULE_NAME = CryptoSwift; + PRODUCT_NAME = "CryptoSwift-iOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = macosx; + SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 680029FB47A1EBBABD9AD8A0B3C5229F /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7201AB4205DACC1A886D0B4FE0F68E52 /* PromiseKit.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = Headers/Public/PromiseKit/PromiseKit.modulemap; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = PromiseKit; + PRODUCT_NAME = PromiseKit; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; name = Release; }; - 75E16E6E94E4CDC1DF735E3C84E87DEC /* Debug */ = { + 6AF2C20B5049A10797F680AB5CA6620B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 64389E571A401AFB1A430A11C7053757 /* SipHash-macOS.xcconfig */; + baseConfigurationReference = DF7B01CA7ACC331E63AB800D165E15AF /* Result-macOS.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/SipHash-macOS/SipHash-macOS-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/Result-macOS/Result-macOS-prefix.pch"; MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/SipHash/SipHash-macOS.modulemap"; + MODULEMAP_FILE = "Headers/Public/Result/Result-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = SipHash; - PRODUCT_NAME = "SipHash-macOS"; + PRODUCT_MODULE_NAME = Result; + PRODUCT_NAME = "Result-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; @@ -3504,24 +3858,24 @@ }; name = Debug; }; - 7F01219BC1BDE1F6107FFFC385406E65 /* Debug */ = { + 6E34FCE5A5C4BC5EF28B39656E186C9B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2452C598AA33B18F81F1D5FE847DF8C7 /* Result-macOS.xcconfig */; + baseConfigurationReference = 5E0CF3B2DBBE8BE4869291A759FF8F08 /* PromiseKit.root-CorePromise-Foundation.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/Result-macOS/Result-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/Result/Result-macOS.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Result; - PRODUCT_NAME = "Result-macOS"; + PRODUCT_MODULE_NAME = PromiseKit; + PRODUCT_NAME = "PromiseKit.root-CorePromise-Foundation"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; @@ -3531,83 +3885,86 @@ }; name = Debug; }; - 83210CA27027B561A7B5E007B06CA4D7 /* Release */ = { + 76F0F201AF62E5ADB1FB800FA47E6B8B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E3ADB0156604A4FD7CD47B25248088C2 /* Pods-web3swift-iOS_Tests.release.xcconfig */; + baseConfigurationReference = 3C18FE09DB747D4F64CDC4EBF07A6AF0 /* Pods-web3swift-macOS.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + EXECUTABLE_PREFIX = lib; MACH_O_TYPE = staticlib; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MODULEMAP_FILE = "Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; + SDKROOT = macosx; SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; - name = Release; + name = Debug; }; - 8518F8D713080EF1D6A105CF2021EC99 /* Debug */ = { + 78F5E0C529376E6151E878C5660947DE /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B7762E4245191B27674EB7EB82DCFFF1 /* Pods-web3swift-macOS_Tests.debug.xcconfig */; + baseConfigurationReference = 02408D11F33503E2122742BBD9381C6D /* SipHash-macOS.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.11; + GCC_PREFIX_HEADER = "Target Support Files/SipHash-macOS/SipHash-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MODULEMAP_FILE = "Headers/Public/SipHash/SipHash-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = SipHash; + PRODUCT_NAME = "SipHash-macOS"; + PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; }; name = Debug; }; - 8731B072BDE8EC8403ED1A2CC4D5B6E8 /* Release */ = { + 7B10ACAF67B67E1F28D1FCCD72356264 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 342482D0962E817B844EE7E6446AF932 /* PromiseKit.root-CorePromise-Foundation.xcconfig */; + baseConfigurationReference = D78F1D1F6EB23F362E664280AC0B5F29 /* secp256k1_ios-macOS.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch"; MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap"; + MODULEMAP_FILE = "Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = PromiseKit; - PRODUCT_NAME = "PromiseKit.root-CorePromise-Foundation"; + PRODUCT_MODULE_NAME = secp256k1_ios; + PRODUCT_NAME = "secp256k1_ios-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 4.0; }; name = Release; }; 88B5271640DB2C8BF6FB6CCBE72CC45C /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E0002BF7495DF77615C17C435108BAC4 /* scrypt-iOS.xcconfig */; + baseConfigurationReference = 098E4539FFEB1EB276A76F56D0829434 /* scrypt-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3635,7 +3992,7 @@ }; 89A2F8336294B44F9A1F3E017D12D948 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 95E6916802B9A0D029D336A91E220830 /* Result-iOS.xcconfig */; + baseConfigurationReference = E962BC8D4DB16BC7DECDA0FA691774E2 /* Result-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3661,56 +4018,53 @@ }; name = Release; }; - 9CB53DBABB1EF37A4357655D3343BFCA /* Release */ = { + 98AF6D85D71B94FF5D6C3CF5082D872B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 673FFC4D2B959AB8AEC35D646A85CDCD /* Pods-web3swift-iOS.release.xcconfig */; + baseConfigurationReference = 50832FC4B2337F53A6F628D514DA730A /* Pods-web3swift-macOS_Tests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + EXECUTABLE_PREFIX = lib; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.modulemap"; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MODULEMAP_FILE = "Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; + SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; }; name = Release; }; - 9F89BA0BDBDA8C292C7AF81AE6E74193 /* Release */ = { + 9CB53DBABB1EF37A4357655D3343BFCA /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 64389E571A401AFB1A430A11C7053757 /* SipHash-macOS.xcconfig */; + baseConfigurationReference = 6D76E01714111860B1A58E945BFEDC3A /* Pods-web3swift-iOS.release.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "-"; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/SipHash-macOS/SipHash-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/SipHash/SipHash-macOS.modulemap"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = SipHash; - PRODUCT_NAME = "SipHash-macOS"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = macosx; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; name = Release; }; @@ -3774,37 +4128,9 @@ }; name = Release; }; - A273EC2F8E96C0F4B67C565A6BF9F4C8 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E228BA1C68962471174AF53D116026C3 /* CryptoSwift-iOS.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = "Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = CryptoSwift; - PRODUCT_NAME = "CryptoSwift-iOS"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.1; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; A3E4112FE42CFA94B62FF18D5AB77FFA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 042CC2D185140E7D725D22562A3E307F /* Pods-web3swift-iOS.debug.xcconfig */; + baseConfigurationReference = 549BC77FB563C5F7078EEF621568360D /* Pods-web3swift-iOS.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -3828,7 +4154,7 @@ }; A45B3EF7FBB166F549A4ABEE13B6CE87 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EAC47FA975BD89D9C68F3C958A58964C /* BigInt-iOS.xcconfig */; + baseConfigurationReference = D1C14722F45B3D63B1FB360F6F553FF5 /* BigInt-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3856,7 +4182,7 @@ }; ADB19600F3034CFC88E8930883A97411 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FAE5BF28C394D398788317F877E314ED /* SipHash-iOS.xcconfig */; + baseConfigurationReference = 2FC68718A68C6212B73ECD1E04C03B9E /* SipHash-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3882,197 +4208,141 @@ }; name = Release; }; - B3F7C2C3054C9BA9D5FEAF7BBEB5B707 /* Debug */ = { + B126933F20D893DEA9C786FE63964623 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 24B5C2F89100EAE084E4AF83DDE6303D /* Pods-web3swift-iOS_Tests.debug.xcconfig */; + baseConfigurationReference = E4B7CA27A16C36354B610B52AE86A10D /* CryptoSwift-iOS.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MACH_O_TYPE = staticlib; + GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = "Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = CryptoSwift; + PRODUCT_NAME = "CryptoSwift-iOS"; + PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.2; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - C2EDEB28A4F3FFE3DDA2839B19887003 /* Release */ = { + B8223E088B646E2B7B098BCC550A800B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A5D9B32B104EA0A137D78B89D4D19D40 /* Pods-web3swift-macOS.release.xcconfig */; + baseConfigurationReference = 838E20D48ECBA3CCA073FF52AA6BD234 /* Pods-web3swift-iOS_Tests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MODULEMAP_FILE = "Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = macosx; + SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = "1,2"; }; - name = Release; + name = Debug; }; - C3C1B7428904A21F8AA26C9489F6C9A4 /* Release */ = { + BFF56DB574CEA1C37D72068D236C8AE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 30FDF56132F92204ACAD922366ABC434 /* scrypt-macOS.xcconfig */; + baseConfigurationReference = D78F1D1F6EB23F362E664280AC0B5F29 /* secp256k1_ios-macOS.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/scrypt-macOS/scrypt-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MODULEMAP_FILE = "Headers/Public/scrypt/scrypt-macOS.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = scrypt; - PRODUCT_NAME = "scrypt-macOS"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.1; - }; - name = Release; - }; - DA0E41C133E479BE2602918AF0E5012E /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 534009974277EC43330183E1CF3A73A3 /* CryptoSwift-macOS.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "-"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = CryptoSwift; - PRODUCT_NAME = "CryptoSwift-macOS"; + PRODUCT_MODULE_NAME = secp256k1_ios; + PRODUCT_NAME = "secp256k1_ios-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.1; + SWIFT_VERSION = 4.0; }; name = Debug; }; - DFCF90CA71802BBE71F8D5EF1C82A52C /* Debug */ = { + C1E9B06F9C9510286ABAD0948E4169ED /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E228BA1C68962471174AF53D116026C3 /* CryptoSwift-iOS.xcconfig */; + baseConfigurationReference = B12A75E0FD8B52123CBAE9EEB4A42F3B /* Pods-web3swift-iOS_Tests.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = "Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = CryptoSwift; - PRODUCT_NAME = "CryptoSwift-iOS"; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.1; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; - }; - E460EA6D66EB6907CA9263273F819449 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 342482D0962E817B844EE7E6446AF932 /* PromiseKit.root-CorePromise-Foundation.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "-"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = PromiseKit; - PRODUCT_NAME = "PromiseKit.root-CorePromise-Foundation"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; - }; - name = Debug; + name = Release; }; - E8984BED1D211BCDABC55CF1C7C362B1 /* Release */ = { + C1FD17244D3DF3AEB632173F2EDF3362 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 534009974277EC43330183E1CF3A73A3 /* CryptoSwift-macOS.xcconfig */; + baseConfigurationReference = DF7B01CA7ACC331E63AB800D165E15AF /* Result-macOS.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/Result-macOS/Result-macOS-prefix.pch"; MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap"; + MODULEMAP_FILE = "Headers/Public/Result/Result-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = CryptoSwift; - PRODUCT_NAME = "CryptoSwift-macOS"; + PRODUCT_MODULE_NAME = Result; + PRODUCT_NAME = "Result-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.1; + SWIFT_VERSION = 4.0; }; name = Release; }; - ED09B172AB5480532BD924829D65FD5F /* Debug */ = { + D97B6232C64EF4F3E53D87B089AE2444 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1C8F00AC871FE0EC2FBD9A40F62753CD /* Pods-web3swift-macOS.debug.xcconfig */; + baseConfigurationReference = 2C06CEB32F04CBF303CC2562A16F7241 /* Pods-web3swift-macOS.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -4088,65 +4358,37 @@ PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = macosx; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - F4CD297453714BA949383E8B4EAB4DA3 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C60F71A13E6B38C36897688C101E2C9C /* BigInt-macOS.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "-"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/BigInt-macOS/BigInt-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/BigInt/BigInt-macOS.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = BigInt; - PRODUCT_NAME = "BigInt-macOS"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.0; }; name = Release; }; - F6220DAE297B6F9A75ACF0DCDBBE507C /* Debug */ = { + D9AA31D15DB782125A10664AA33B034A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C60F71A13E6B38C36897688C101E2C9C /* BigInt-macOS.xcconfig */; + baseConfigurationReference = 02408D11F33503E2122742BBD9381C6D /* SipHash-macOS.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/BigInt-macOS/BigInt-macOS-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/SipHash-macOS/SipHash-macOS-prefix.pch"; MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/BigInt/BigInt-macOS.modulemap"; + MODULEMAP_FILE = "Headers/Public/SipHash/SipHash-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = BigInt; - PRODUCT_NAME = "BigInt-macOS"; + PRODUCT_MODULE_NAME = SipHash; + PRODUCT_NAME = "SipHash-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 4.0; }; - name = Debug; + name = Release; }; /* End XCBuildConfiguration section */ @@ -4154,8 +4396,8 @@ 249649C0D306826B8AEC43AC3D978C98 /* Build configuration list for PBXNativeTarget "SipHash-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 75E16E6E94E4CDC1DF735E3C84E87DEC /* Debug */, - 9F89BA0BDBDA8C292C7AF81AE6E74193 /* Release */, + 78F5E0C529376E6151E878C5660947DE /* Debug */, + D9AA31D15DB782125A10664AA33B034A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4163,8 +4405,8 @@ 29A07133D1A6CF7B1FA82AE653B63864 /* Build configuration list for PBXNativeTarget "Result-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 7F01219BC1BDE1F6107FFFC385406E65 /* Debug */, - 22828402F006586F2011758B9199E3F7 /* Release */, + 6AF2C20B5049A10797F680AB5CA6620B /* Debug */, + C1FD17244D3DF3AEB632173F2EDF3362 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4190,8 +4432,8 @@ 541A64F9C81EF0A1C40F5895519E4172 /* Build configuration list for PBXNativeTarget "Pods-web3swift-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - ED09B172AB5480532BD924829D65FD5F /* Debug */, - C2EDEB28A4F3FFE3DDA2839B19887003 /* Release */, + 76F0F201AF62E5ADB1FB800FA47E6B8B /* Debug */, + D97B6232C64EF4F3E53D87B089AE2444 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4199,35 +4441,35 @@ 604E68D68F08C230C85D2D819532C6AF /* Build configuration list for PBXNativeTarget "CryptoSwift-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - DA0E41C133E479BE2602918AF0E5012E /* Debug */, - E8984BED1D211BCDABC55CF1C7C362B1 /* Release */, + 35FE90C4321FAFFDC78AB8AAA38B1ABA /* Debug */, + 47384531706EF84966CA26E5D7B959C7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 62550B15363844675EDB2F185CB619A8 /* Build configuration list for PBXNativeTarget "Pods-web3swift-iOS_Tests" */ = { + 6879EDE7D4DD74BDD3333F7F47505BD5 /* Build configuration list for PBXNativeTarget "scrypt-iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - B3F7C2C3054C9BA9D5FEAF7BBEB5B707 /* Debug */, - 83210CA27027B561A7B5E007B06CA4D7 /* Release */, + 25479A05EC723879F7D0842978AC42B6 /* Debug */, + 88B5271640DB2C8BF6FB6CCBE72CC45C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 6879EDE7D4DD74BDD3333F7F47505BD5 /* Build configuration list for PBXNativeTarget "scrypt-iOS" */ = { + 6FBBA029AFB86EC5F02D2B578121B307 /* Build configuration list for PBXNativeTarget "CryptoSwift-iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 25479A05EC723879F7D0842978AC42B6 /* Debug */, - 88B5271640DB2C8BF6FB6CCBE72CC45C /* Release */, + 6532888DD4B4FA3AB86C68A86E46EA3F /* Debug */, + B126933F20D893DEA9C786FE63964623 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 6FBBA029AFB86EC5F02D2B578121B307 /* Build configuration list for PBXNativeTarget "CryptoSwift-iOS" */ = { + 7C6361B9759E1BA4AD88E9A851A42894 /* Build configuration list for PBXNativeTarget "Pods-web3swift-macOS_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - DFCF90CA71802BBE71F8D5EF1C82A52C /* Debug */, - A273EC2F8E96C0F4B67C565A6BF9F4C8 /* Release */, + 18E24F416DE781FAB553C6A7E3F3C1EF /* Debug */, + 98AF6D85D71B94FF5D6C3CF5082D872B /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4262,17 +4504,17 @@ 90AA254D9E86CD85BB781ED544A9AD4D /* Build configuration list for PBXNativeTarget "PromiseKit.root-CorePromise-Foundation" */ = { isa = XCConfigurationList; buildConfigurations = ( - E460EA6D66EB6907CA9263273F819449 /* Debug */, - 8731B072BDE8EC8403ED1A2CC4D5B6E8 /* Release */, + 6E34FCE5A5C4BC5EF28B39656E186C9B /* Debug */, + 612B5902FE5E832A73EDB161E1AAC30C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 91E81CC04B48CAA0AA6D1FB891F14331 /* Build configuration list for PBXNativeTarget "Pods-web3swift-macOS_Tests" */ = { + 9147D93E20526E57F1BB313A953B43D1 /* Build configuration list for PBXNativeTarget "Pods-web3swift-iOS_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 8518F8D713080EF1D6A105CF2021EC99 /* Debug */, - 4CA9B35348640CA3DA1AAB6A01AB2BE4 /* Release */, + B8223E088B646E2B7B098BCC550A800B /* Debug */, + C1E9B06F9C9510286ABAD0948E4169ED /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4280,8 +4522,8 @@ A1A3D7F09A5AFD2BD4DA3D3CDACBBCFC /* Build configuration list for PBXNativeTarget "BigInt-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - F6220DAE297B6F9A75ACF0DCDBBE507C /* Debug */, - F4CD297453714BA949383E8B4EAB4DA3 /* Release */, + 5BD49BF86CA4E1A90D03BA1E96ADB13B /* Debug */, + 3FC11F99C63AE0234062EDB05FC05F05 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4289,8 +4531,8 @@ A262B3F49AC1A14340997F3AF65BDBA1 /* Build configuration list for PBXNativeTarget "secp256k1_ios-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 560816912205F95947EE5A51E4D1D47B /* Debug */, - 6B796AE0DE8CD6CD142647A2318DE8AF /* Release */, + BFF56DB574CEA1C37D72068D236C8AE5 /* Debug */, + 7B10ACAF67B67E1F28D1FCCD72356264 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4307,8 +4549,8 @@ F6D85B2AD38EF6575756FBE3C41AB015 /* Build configuration list for PBXNativeTarget "scrypt-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3DBEFAA40421868F6F66B16ACEFE5910 /* Debug */, - C3C1B7428904A21F8AA26C9489F6C9A4 /* Release */, + 44EA677F9CA122DFC44F54EA53936998 /* Debug */, + 5E6A8C563219ECE58D56F1197D8A3920 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Pods/Target Support Files/BigInt-iOS/BigInt-iOS.xcconfig b/Pods/Target Support Files/BigInt-iOS/BigInt-iOS.xcconfig old mode 100755 new mode 100644 index e0dbc8dd1..a4f59a42b --- a/Pods/Target Support Files/BigInt-iOS/BigInt-iOS.xcconfig +++ b/Pods/Target Support Files/BigInt-iOS/BigInt-iOS.xcconfig @@ -1,7 +1,8 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/BigInt-macOS/BigInt-macOS.xcconfig b/Pods/Target Support Files/BigInt-macOS/BigInt-macOS.xcconfig old mode 100755 new mode 100644 index d943bc66b..9c380b72f --- a/Pods/Target Support Files/BigInt-macOS/BigInt-macOS.xcconfig +++ b/Pods/Target Support Files/BigInt-macOS/BigInt-macOS.xcconfig @@ -1,7 +1,8 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS.xcconfig b/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS.xcconfig old mode 100755 new mode 100644 index b97f0dccb..457ce5a30 --- a/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS.xcconfig +++ b/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS.xcconfig @@ -1,7 +1,7 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_UNROLL_LOOPS = YES -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS.xcconfig b/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS.xcconfig old mode 100755 new mode 100644 index 5432418cb..8f6da58dd --- a/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS.xcconfig +++ b/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS.xcconfig @@ -1,7 +1,7 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_UNROLL_LOOPS = YES -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.plist b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.plist old mode 100755 new mode 100644 index 7c82be473..10045e5ae --- a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.plist @@ -1,5 +1,221 @@ - + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + +Copyright (c) 2016-2017 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + BigInt + Type + PSGroupSpecifier + + + FooterText + Copyright (C) 2014-2017 Marcin Krzyżanowski <marcin.krzyzanowski@gmail.com> +This software is provided 'as-is', without any express or implied warranty. + +In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + +- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. +- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +- This notice may not be removed or altered from any source or binary distribution. +- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' + License + Attribution + Title + CryptoSwift + Type + PSGroupSpecifier + + + FooterText + Copyright 2016-present, Max Howell; mxcl@me.com + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + License + MIT + Title + PromiseKit + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2014 Rob Rix + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + License + MIT + Title + Result + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2016 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + SipHash + Type + PSGroupSpecifier + + + FooterText + Copyright 2018 Alex Vlasov <alex.m.vlasov@gmail.com> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + License + Apache License 2.0 + Title + scrypt + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2017 shamatar <alex.m.vlasov@gmail.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + License + MIT + Title + secp256k1_ios + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + diff --git a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.debug.xcconfig b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.debug.xcconfig index c3ad3f72e..658b6fe86 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.debug.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.debug.xcconfig @@ -3,9 +3,9 @@ HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/H LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-iOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt-iOS" -l"CryptoSwift-iOS" -l"PromiseKit" -l"Result-iOS" -l"SipHash-iOS" -l"scrypt-iOS" -l"secp256k1_ios-iOS" -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" $(PODS_TARGET_SRCROOT)/scrypt +SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" diff --git a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.release.xcconfig b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.release.xcconfig index c3ad3f72e..658b6fe86 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.release.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.release.xcconfig @@ -3,9 +3,9 @@ HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/H LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-iOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt-iOS" -l"CryptoSwift-iOS" -l"PromiseKit" -l"Result-iOS" -l"SipHash-iOS" -l"scrypt-iOS" -l"secp256k1_ios-iOS" -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" $(PODS_TARGET_SRCROOT)/scrypt +SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" diff --git a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.markdown b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.markdown old mode 100755 new mode 100644 index 102af7538..6d12f7235 --- a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.markdown +++ b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.markdown @@ -1,3 +1,153 @@ # Acknowledgements This application makes use of the following third party libraries: + +## BigInt + + +Copyright (c) 2016-2017 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +## CryptoSwift + +Copyright (C) 2014-2017 Marcin Krzyżanowski +This software is provided 'as-is', without any express or implied warranty. + +In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + +- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. +- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +- This notice may not be removed or altered from any source or binary distribution. +- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' + +## PromiseKit + +Copyright 2016-present, Max Howell; mxcl@me.com + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +## Result + +The MIT License (MIT) + +Copyright (c) 2014 Rob Rix + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +## SipHash + +The MIT License (MIT) + +Copyright (c) 2016 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +## scrypt + +Copyright 2018 Alex Vlasov + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + +## secp256k1_ios + +Copyright (c) 2017 shamatar + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. Generated by CocoaPods - https://cocoapods.org diff --git a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.plist b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.plist old mode 100755 new mode 100644 index 7c82be473..10045e5ae --- a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.plist @@ -1,5 +1,221 @@ - + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + +Copyright (c) 2016-2017 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + BigInt + Type + PSGroupSpecifier + + + FooterText + Copyright (C) 2014-2017 Marcin Krzyżanowski <marcin.krzyzanowski@gmail.com> +This software is provided 'as-is', without any express or implied warranty. + +In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + +- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. +- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +- This notice may not be removed or altered from any source or binary distribution. +- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' + License + Attribution + Title + CryptoSwift + Type + PSGroupSpecifier + + + FooterText + Copyright 2016-present, Max Howell; mxcl@me.com + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + License + MIT + Title + PromiseKit + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2014 Rob Rix + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + License + MIT + Title + Result + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2016 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + SipHash + Type + PSGroupSpecifier + + + FooterText + Copyright 2018 Alex Vlasov <alex.m.vlasov@gmail.com> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + License + Apache License 2.0 + Title + scrypt + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2017 shamatar <alex.m.vlasov@gmail.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + License + MIT + Title + secp256k1_ios + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + diff --git a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.debug.xcconfig b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.debug.xcconfig index 5499ba4f6..27192f4f3 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.debug.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.debug.xcconfig @@ -1,10 +1,12 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-iOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" OTHER_LDFLAGS = $(inherited) -ObjC -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" +SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" diff --git a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.release.xcconfig b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.release.xcconfig index 5499ba4f6..27192f4f3 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.release.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.release.xcconfig @@ -1,10 +1,12 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-iOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" OTHER_LDFLAGS = $(inherited) -ObjC -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" +SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" diff --git a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.plist b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.plist old mode 100755 new mode 100644 index 7c82be473..10045e5ae --- a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.plist @@ -1,5 +1,221 @@ - + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + +Copyright (c) 2016-2017 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + BigInt + Type + PSGroupSpecifier + + + FooterText + Copyright (C) 2014-2017 Marcin Krzyżanowski <marcin.krzyzanowski@gmail.com> +This software is provided 'as-is', without any express or implied warranty. + +In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + +- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. +- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +- This notice may not be removed or altered from any source or binary distribution. +- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' + License + Attribution + Title + CryptoSwift + Type + PSGroupSpecifier + + + FooterText + Copyright 2016-present, Max Howell; mxcl@me.com + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + License + MIT + Title + PromiseKit + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2014 Rob Rix + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + License + MIT + Title + Result + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2016 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + SipHash + Type + PSGroupSpecifier + + + FooterText + Copyright 2018 Alex Vlasov <alex.m.vlasov@gmail.com> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + License + Apache License 2.0 + Title + scrypt + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2017 shamatar <alex.m.vlasov@gmail.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + License + MIT + Title + secp256k1_ios + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + diff --git a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.debug.xcconfig b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.debug.xcconfig index bbf72833e..5c03c427d 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.debug.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.debug.xcconfig @@ -3,9 +3,9 @@ HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/H LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-macOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt-macOS" -l"CryptoSwift-macOS" -l"PromiseKit.root-CorePromise-Foundation" -l"Result-macOS" -l"SipHash-macOS" -l"scrypt-macOS" -l"secp256k1_ios-macOS" -framework "Foundation" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" $(PODS_TARGET_SRCROOT)/scrypt +SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" diff --git a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.release.xcconfig b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.release.xcconfig index bbf72833e..5c03c427d 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.release.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.release.xcconfig @@ -3,9 +3,9 @@ HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/H LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-macOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt-macOS" -l"CryptoSwift-macOS" -l"PromiseKit.root-CorePromise-Foundation" -l"Result-macOS" -l"SipHash-macOS" -l"scrypt-macOS" -l"secp256k1_ios-macOS" -framework "Foundation" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" $(PODS_TARGET_SRCROOT)/scrypt +SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" diff --git a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.markdown b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.markdown old mode 100755 new mode 100644 index 102af7538..6d12f7235 --- a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.markdown +++ b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.markdown @@ -1,3 +1,153 @@ # Acknowledgements This application makes use of the following third party libraries: + +## BigInt + + +Copyright (c) 2016-2017 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +## CryptoSwift + +Copyright (C) 2014-2017 Marcin Krzyżanowski +This software is provided 'as-is', without any express or implied warranty. + +In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + +- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. +- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +- This notice may not be removed or altered from any source or binary distribution. +- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' + +## PromiseKit + +Copyright 2016-present, Max Howell; mxcl@me.com + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +## Result + +The MIT License (MIT) + +Copyright (c) 2014 Rob Rix + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +## SipHash + +The MIT License (MIT) + +Copyright (c) 2016 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +## scrypt + +Copyright 2018 Alex Vlasov + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + +## secp256k1_ios + +Copyright (c) 2017 shamatar + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. Generated by CocoaPods - https://cocoapods.org diff --git a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.plist b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.plist old mode 100755 new mode 100644 index 7c82be473..10045e5ae --- a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.plist @@ -1,5 +1,221 @@ - + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + +Copyright (c) 2016-2017 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + BigInt + Type + PSGroupSpecifier + + + FooterText + Copyright (C) 2014-2017 Marcin Krzyżanowski <marcin.krzyzanowski@gmail.com> +This software is provided 'as-is', without any express or implied warranty. + +In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + +- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. +- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +- This notice may not be removed or altered from any source or binary distribution. +- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' + License + Attribution + Title + CryptoSwift + Type + PSGroupSpecifier + + + FooterText + Copyright 2016-present, Max Howell; mxcl@me.com + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + License + MIT + Title + PromiseKit + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2014 Rob Rix + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + License + MIT + Title + Result + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2016 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + SipHash + Type + PSGroupSpecifier + + + FooterText + Copyright 2018 Alex Vlasov <alex.m.vlasov@gmail.com> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + License + Apache License 2.0 + Title + scrypt + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2017 shamatar <alex.m.vlasov@gmail.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + License + MIT + Title + secp256k1_ios + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + diff --git a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.debug.xcconfig b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.debug.xcconfig index 30b773007..48fd940ca 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.debug.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.debug.xcconfig @@ -1,10 +1,12 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-macOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" OTHER_LDFLAGS = $(inherited) -ObjC -framework "Foundation" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" +SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" diff --git a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.release.xcconfig b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.release.xcconfig index 30b773007..48fd940ca 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.release.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.release.xcconfig @@ -1,10 +1,12 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-macOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" OTHER_LDFLAGS = $(inherited) -ObjC -framework "Foundation" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" +SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" diff --git a/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.xcconfig b/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.xcconfig old mode 100755 new mode 100644 index cc61a17f5..ab6043e58 --- a/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.xcconfig +++ b/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.xcconfig @@ -1,7 +1,8 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/PromiseKit" "${PODS_ROOT}/Headers/Public" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" -DPMKCocoaPods +OTHER_LDFLAGS = -framework "Foundation" +OTHER_SWIFT_FLAGS = $(inherited) -DPMKCocoaPods $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig b/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig old mode 100755 new mode 100644 index a385c9355..b5a065a40 --- a/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig +++ b/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig @@ -1,7 +1,8 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/PromiseKit" "${PODS_ROOT}/Headers/Public" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" -DPMKCocoaPods +OTHER_LDFLAGS = -framework "Foundation" -framework "UIKit" +OTHER_SWIFT_FLAGS = $(inherited) -DPMKCocoaPods $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/Result-iOS/Result-iOS.xcconfig b/Pods/Target Support Files/Result-iOS/Result-iOS.xcconfig old mode 100755 new mode 100644 index 7145d7ce4..6c599b44f --- a/Pods/Target Support Files/Result-iOS/Result-iOS.xcconfig +++ b/Pods/Target Support Files/Result-iOS/Result-iOS.xcconfig @@ -1,6 +1,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/Result-macOS/Result-macOS.xcconfig b/Pods/Target Support Files/Result-macOS/Result-macOS.xcconfig old mode 100755 new mode 100644 index 351b2e81b..c096cab38 --- a/Pods/Target Support Files/Result-macOS/Result-macOS.xcconfig +++ b/Pods/Target Support Files/Result-macOS/Result-macOS.xcconfig @@ -1,6 +1,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/SipHash-iOS/SipHash-iOS.xcconfig b/Pods/Target Support Files/SipHash-iOS/SipHash-iOS.xcconfig old mode 100755 new mode 100644 index 2f73e675b..9be0ed1e8 --- a/Pods/Target Support Files/SipHash-iOS/SipHash-iOS.xcconfig +++ b/Pods/Target Support Files/SipHash-iOS/SipHash-iOS.xcconfig @@ -1,6 +1,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/SipHash-macOS/SipHash-macOS.xcconfig b/Pods/Target Support Files/SipHash-macOS/SipHash-macOS.xcconfig old mode 100755 new mode 100644 index 6e6389570..5b24b85bc --- a/Pods/Target Support Files/SipHash-macOS/SipHash-macOS.xcconfig +++ b/Pods/Target Support Files/SipHash-macOS/SipHash-macOS.xcconfig @@ -1,6 +1,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/scrypt-iOS/scrypt-iOS.xcconfig b/Pods/Target Support Files/scrypt-iOS/scrypt-iOS.xcconfig index 3fc6d9e54..2b672fb1c 100644 --- a/Pods/Target Support Files/scrypt-iOS/scrypt-iOS.xcconfig +++ b/Pods/Target Support Files/scrypt-iOS/scrypt-iOS.xcconfig @@ -3,8 +3,9 @@ DEFINES_MODULE = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_UNROLL_LOOPS = YES HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/scrypt" "${PODS_ROOT}/Headers/Public" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} @@ -14,6 +15,6 @@ SKIP_INSTALL = YES SWIFT_COMPILATION_MODE = wholemodule SWIFT_DISABLE_SAFETY_CHECKS = YES SWIFT_ENFORCE_EXCLUSIVE_ACCESS = compile-time -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" $(PODS_TARGET_SRCROOT)/scrypt +SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" SWIFT_OPTIMIZATION_LEVEL = -O SWIFT_WHOLE_MODULE_OPTIMIZATION = YES diff --git a/Pods/Target Support Files/scrypt-macOS/scrypt-macOS.xcconfig b/Pods/Target Support Files/scrypt-macOS/scrypt-macOS.xcconfig index 36188d342..fa117ea0d 100644 --- a/Pods/Target Support Files/scrypt-macOS/scrypt-macOS.xcconfig +++ b/Pods/Target Support Files/scrypt-macOS/scrypt-macOS.xcconfig @@ -3,8 +3,9 @@ DEFINES_MODULE = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_UNROLL_LOOPS = YES HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/scrypt" "${PODS_ROOT}/Headers/Public" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} @@ -14,6 +15,6 @@ SKIP_INSTALL = YES SWIFT_COMPILATION_MODE = wholemodule SWIFT_DISABLE_SAFETY_CHECKS = YES SWIFT_ENFORCE_EXCLUSIVE_ACCESS = compile-time -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" $(PODS_TARGET_SRCROOT)/scrypt +SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" SWIFT_OPTIMIZATION_LEVEL = -O SWIFT_WHOLE_MODULE_OPTIMIZATION = YES diff --git a/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.xcconfig b/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.xcconfig old mode 100755 new mode 100644 index b6ddadd3f..b135d4457 --- a/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.xcconfig +++ b/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.xcconfig @@ -1,11 +1,12 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-iOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/secp256k1_ios" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/secp256k1_ios/secp256k1_ios" -OTHER_CFLAGS = -DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3 +OTHER_CFLAGS = $(inherited) -DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3 +OTHER_SWIFT_FLAGS = $(inherited) -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/secp256k1_ios PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = ${PODS_ROOT} +SWIFT_INCLUDE_PATHS = $(inherited) ${PODS_ROOT} diff --git a/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig b/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig old mode 100755 new mode 100644 index 2a7be75cc..dfd2aa2f4 --- a/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig +++ b/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig @@ -1,11 +1,12 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-macOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/secp256k1_ios" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/secp256k1_ios/secp256k1_ios" -OTHER_CFLAGS = -DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3 +OTHER_CFLAGS = $(inherited) -DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3 +OTHER_SWIFT_FLAGS = $(inherited) -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/secp256k1_ios PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = ${PODS_ROOT} +SWIFT_INCLUDE_PATHS = $(inherited) ${PODS_ROOT} diff --git a/web3swift/ObjectiveCbridge/Classes/Web3+Eth+ObjC.swift b/web3swift/ObjectiveCbridge/Classes/Web3+Eth+ObjC.swift index e9f75e346..87d759340 100755 --- a/web3swift/ObjectiveCbridge/Classes/Web3+Eth+ObjC.swift +++ b/web3swift/ObjectiveCbridge/Classes/Web3+Eth+ObjC.swift @@ -18,11 +18,11 @@ public final class _ObjCweb3Eth: NSObject { public func getBalance(address: _ObjCEthereumAddress, onBlock: NSString = "latest", error: NSErrorPointer) -> _ObjCBigUInt? { guard let addr = address.address else { - error?.pointee = Web3Error.inputError("Address is empty") as NSError + error?.pointee = Web3Error.inputError(desc: "Address is empty") as NSError return nil } guard let result = self.web3?.eth.getBalance(address: addr, onBlock: onBlock as String) else { - error?.pointee = Web3Error.processingError("Web3 object was not properly initialized") as NSError + error?.pointee = Web3Error.processingError(desc: "Web3 object was not properly initialized") as NSError return nil } switch result { @@ -37,7 +37,7 @@ public final class _ObjCweb3Eth: NSObject { public func getBlockNumber(error: NSErrorPointer) -> _ObjCBigUInt? { guard let result = self.web3?.eth.getBlockNumber() else { - error?.pointee = Web3Error.inputError("Web3 object was not properly initialized") as NSError + error?.pointee = Web3Error.inputError(desc: "Web3 object was not properly initialized") as NSError return nil } switch result { @@ -52,7 +52,7 @@ public final class _ObjCweb3Eth: NSObject { public func getGasPrice(error: NSErrorPointer) -> _ObjCBigUInt? { guard let result = self.web3?.eth.getGasPrice() else { - error?.pointee = Web3Error.inputError("Web3 object was not properly initialized") as NSError + error?.pointee = Web3Error.inputError(desc: "Web3 object was not properly initialized") as NSError return nil } switch result { diff --git a/web3swift/ObjectiveCbridge/Classes/Web3+ObjC.swift b/web3swift/ObjectiveCbridge/Classes/Web3+ObjC.swift index 7efe025c1..facae1516 100755 --- a/web3swift/ObjectiveCbridge/Classes/Web3+ObjC.swift +++ b/web3swift/ObjectiveCbridge/Classes/Web3+ObjC.swift @@ -22,7 +22,7 @@ public final class _ObjCWeb3: NSObject { public static func new(providerURL: NSURL, error: NSErrorPointer) -> _ObjCweb3? { guard let web3 = Web3.new(providerURL as URL) else { - error?.pointee = Web3Error.inputError("Wrong URL") as NSError + error?.pointee = Web3Error.inputError(desc: "Wrong URL") as NSError return nil } return _ObjCweb3(web3: web3) From cd4ef5a433b041b8aede546cc0eb135bbff7562f Mon Sep 17 00:00:00 2001 From: Georgii Fesenko Date: Wed, 19 Sep 2018 18:04:33 +0300 Subject: [PATCH 05/66] convenience function getAddress added --- web3swift/Utils/Classes/ENS.swift | 55 +++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 3 deletions(-) diff --git a/web3swift/Utils/Classes/ENS.swift b/web3swift/Utils/Classes/ENS.swift index 1f02f62c5..266a34dc8 100644 --- a/web3swift/Utils/Classes/ENS.swift +++ b/web3swift/Utils/Classes/ENS.swift @@ -48,10 +48,59 @@ public struct ENS { } } - //TODO: - + public mutating func getAddress(_ domain: String) -> Result { + let resolver = self.resolver(forDomain: domain) + switch resolver { + case .success(var resolver): + let isAddrSupports = resolver.supportsInterface(interfaceID: ResolverENS.InterfaceName.addr.hash()) + switch isAddrSupports{ + case .success(let isSupported): + if isSupported { + let result = resolver.addr(forDomain: domain) + switch result { + case .success(let address): + return Result(address) + case .failure(let error): + return Result.failure(error) + } + } else { + return Result.failure(Web3Error.dataError) + } + case .failure(let error): + return Result.failure(error) + } + case .failure(let error): + return Result.failure(error) + } + } + /* - 1. Write a function that allows map domain to the name - */ + TODO: - + */ +// +// public func setAddress(domain: String, address: EthereumAddress, options: Web3Options? = nil) { +// +// } +// +// public func getPubkey(domain: String) -> Result<[String: String], Web3Error> { +// +// } +// +// public func setPubkey(domain: String, x: String, y: String, options: Web3Options? = nil) { +// +// } +// +// public func getContent(domain: String) -> Result { +// +// } +// +// public func setContent(domain: String, hash: String, optioins: Web3Options? = nil) { +// +// } +// +// public func getMultihash(domain: String) -> String { +// +// } } public struct ResolverENS { From 1cedd86f17f61fcbe8a9416f8037521ea463dd41 Mon Sep 17 00:00:00 2001 From: Georgii Fesenko Date: Wed, 19 Sep 2018 18:17:48 +0300 Subject: [PATCH 06/66] pubkey function added --- web3swift/Utils/Classes/ENS.swift | 31 +++++++++++++++++++------ web3swift/Web3/Classes/Web3+Utils.swift | 2 +- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/web3swift/Utils/Classes/ENS.swift b/web3swift/Utils/Classes/ENS.swift index 266a34dc8..c40a81eea 100644 --- a/web3swift/Utils/Classes/ENS.swift +++ b/web3swift/Utils/Classes/ENS.swift @@ -75,7 +75,7 @@ public struct ENS { } /* - TODO: - + TODO: */ // // public func setAddress(domain: String, address: EthereumAddress, options: Web3Options? = nil) { @@ -138,12 +138,12 @@ public struct ResolverENS { self.resolverAddress = resolverAddress } - mutating func supportsInterface(interfaceID: Data) -> Result { + mutating public func supportsInterface(interfaceID: Data) -> Result { return supportsInterface(interfaceID: interfaceID.toHexString()) } //MARK: - returns true if the contract supports given interface - mutating func supportsInterface(interfaceID: String) -> Result { + mutating public func supportsInterface(interfaceID: String) -> Result { let options = Web3Options.defaultOptions() guard let transaction = self.resolverContract.method("supportsInterface", parameters: [interfaceID as AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } let result = transaction.call(options: options) @@ -157,7 +157,7 @@ public struct ResolverENS { } //MARK: - returns address for the given domain at given resolver - mutating func addr(forDomain domain: String) -> Result { + mutating public func addr(forDomain domain: String) -> Result { guard let nameHash = NameHash.nameHash(domain) else { return Result.failure(Web3Error.dataError) } let options = Web3Options.defaultOptions() guard let transaction = self.resolverContract.method("addr", parameters: [nameHash as AnyObject], options: options) else { return Result.failure(Web3Error.dataError) } @@ -171,7 +171,7 @@ public struct ResolverENS { } //MARK: - returns corresponding ENS to the requested node - mutating func name(node: String) -> Result { + mutating public func name(node: String) -> Result { let options = Web3Options.defaultOptions() guard let transaction = self.resolverContract.method("name", parameters: [node.lowercased() as AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError)} let result = transaction.call(options: options) @@ -185,7 +185,7 @@ public struct ResolverENS { } //MARK: - returns ABI in the requested encodings - mutating func ABI(node: String, contentType: BigUInt) -> Result<(BigUInt, Data), Web3Error> { + mutating public func ABI(node: String, contentType: BigUInt) -> Result<(BigUInt, Data), Web3Error> { let options = Web3Options.defaultOptions() guard let transaction = self.resolverContract.method("ABI", parameters: [node, contentType] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } let result = transaction.call(options: options) @@ -199,6 +199,23 @@ public struct ResolverENS { } } - //TODO: - func pubkey() + mutating public func pubkey(node: String) -> Result { + let options = Web3Options.defaultOptions() + guard let transaction = self.resolverContract.method("pubkey", parameters: [node as AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = transaction.call(options: options) + switch result { + case .success(let value): + guard let x = value["x"] as? String else { return Result.failure(Web3Error.dataError) } + guard let y = value["y"] as? String else { return Result.failure(Web3Error.dataError) } + return Result(Point(x: x, y: y)) + case .failure(let error): + return Result.failure(error) + } + } +} + +public struct Point { + let x: String + let y: String } diff --git a/web3swift/Web3/Classes/Web3+Utils.swift b/web3swift/Web3/Classes/Web3+Utils.swift index 79e448e74..fe6810c29 100755 --- a/web3swift/Web3/Classes/Web3+Utils.swift +++ b/web3swift/Web3/Classes/Web3+Utils.swift @@ -77,7 +77,7 @@ extension Web3.Utils { """ public static var resolverABI = """ -[{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"addr","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"},{"name":"contentType","type": "uint256"}],"name":"ABI","outputs":[{"name":"","type":"uint256"},{"name":"","type":"bytes"}],"payable":false,"type":"function"}] +[{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"addr","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"},{"name":"contentType","type": "uint256"}],"name":"ABI","outputs":[{"name":"","type":"uint256"},{"name":"","type":"bytes"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"pubkey","outputs":[{"name":"x","type":"bytes32"},{"name":"y","type":"bytes32"}],"payable":false,"type":"function"}] """ } From f94d4e14ac80b3732459d8f3b8fb07a4452a0452 Mon Sep 17 00:00:00 2001 From: Georgii Fesenko Date: Fri, 21 Sep 2018 17:02:46 +0300 Subject: [PATCH 07/66] all the methods done, but untested --- web3swift.xcodeproj/project.pbxproj | 4 + web3swift/Utils/Classes/ENS.swift | 287 ++++++++++++---------- web3swift/Utils/Classes/ENSResolver.swift | 221 +++++++++++++++++ web3swift/Web3/Classes/Web3+Utils.swift | 4 +- web3swiftTests/web3swift_ENS_Tests.swift | 51 +++- 5 files changed, 435 insertions(+), 132 deletions(-) create mode 100644 web3swift/Utils/Classes/ENSResolver.swift diff --git a/web3swift.xcodeproj/project.pbxproj b/web3swift.xcodeproj/project.pbxproj index 9597e5962..438ae1a34 100755 --- a/web3swift.xcodeproj/project.pbxproj +++ b/web3swift.xcodeproj/project.pbxproj @@ -202,6 +202,7 @@ 81FECD5B211AECBD006DA367 /* Web3+Eth+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81FECD5A211AECBD006DA367 /* Web3+Eth+ObjC.swift */; }; 81FECD5C211AECBD006DA367 /* Web3+Eth+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81FECD5A211AECBD006DA367 /* Web3+Eth+ObjC.swift */; }; 81FECD5E211AEFCE006DA367 /* web3swift_ObjC_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81FECD5D211AEFCE006DA367 /* web3swift_ObjC_Tests.swift */; }; + B219DC172154F3EE0035BF94 /* ENSResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = B219DC162154F3EE0035BF94 /* ENSResolver.swift */; }; B2E668CE214F8A7B00C3CC2D /* ENS.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2E668CD214F8A7B00C3CC2D /* ENS.swift */; }; B350A445E5DB35C60E59AD70 /* libPods-web3swift-macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 57F8C9C48884592DCF561393 /* libPods-web3swift-macOS.a */; }; E23B5ADB20EA67D800DC7F32 /* web3swift_AdvancedABIv2_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E23B5ADA20EA67D800DC7F32 /* web3swift_AdvancedABIv2_Tests.swift */; }; @@ -366,6 +367,7 @@ 8675751D91DB2DBC9E7A3469 /* libPods-web3swift-macOS_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-web3swift-macOS_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; A5E8AF69880F5141B4AC9DF0 /* libPods-web3swift-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-web3swift-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; A9ADDE40292A17C21B8D5516 /* Pods-web3swift-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-web3swift-iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.release.xcconfig"; sourceTree = ""; }; + B219DC162154F3EE0035BF94 /* ENSResolver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ENSResolver.swift; sourceTree = ""; }; B2E668CD214F8A7B00C3CC2D /* ENS.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ENS.swift; sourceTree = ""; }; B48CA58D134401D3C4E8CCC5 /* Pods_Web3Swift_osx.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Web3Swift_osx.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B5AFAFC5440E52BE57C7BA13 /* Pods_web3swiftTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_web3swiftTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -557,6 +559,7 @@ 81A7B2502143C3A8004CD2C7 /* NameHash.swift */, 81A7B2862143DBF6004CD2C7 /* EIP681.swift */, B2E668CD214F8A7B00C3CC2D /* ENS.swift */, + B219DC162154F3EE0035BF94 /* ENSResolver.swift */, ); path = Classes; sourceTree = ""; @@ -1174,6 +1177,7 @@ 8159C50B21352CB700197B91 /* Web3+ERC20.swift in Sources */, 81C5DA222072DFE600424CD6 /* ABIv2TypeParser.swift in Sources */, 815630002007B48800A0EC2F /* BIP32KeystoreJSONStructure.swift in Sources */, + B219DC172154F3EE0035BF94 /* ENSResolver.swift in Sources */, 8123E1CB200CBB2200B6D3AB /* Array+Extension.swift in Sources */, 813FFF8D1FD82EEB006379A2 /* String+Extension.swift in Sources */, 81C5DA1D207263D700424CD6 /* ABIv2Parsing.swift in Sources */, diff --git a/web3swift/Utils/Classes/ENS.swift b/web3swift/Utils/Classes/ENS.swift index c40a81eea..37803006f 100644 --- a/web3swift/Utils/Classes/ENS.swift +++ b/web3swift/Utils/Classes/ENS.swift @@ -32,13 +32,16 @@ public struct ENS { return contract! }() + private lazy var defaultOptions: Web3Options = { + return Web3Options.defaultOptions() + }() + //MARK: - Returns resolver for the given domain mutating func resolver(forDomain domain: String) -> Result { guard let nameHash = NameHash.nameHash(domain) else { return Result.failure(Web3Error.dataError) } - let options = Web3Options.defaultOptions() - guard let transaction = self.registryContract.method("resolver", parameters: [nameHash as AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } - let result = transaction.call(options: options) + guard let transaction = self.registryContract.method("resolver", parameters: [nameHash as AnyObject], options: defaultOptions) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = transaction.call(options: defaultOptions) switch result { case .success(let res): guard let resolverAddress = res["0"] as? EthereumAddress else { return Result.failure(Web3Error.dataError) } @@ -48,6 +51,94 @@ public struct ENS { } } + //Returns node's owner address + mutating func owner(node: String) -> Result { + guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } + guard let transaction = self.registryContract.method("owner", parameters: [nameHash as AnyObject], options: defaultOptions) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = transaction.call(options: defaultOptions) + switch result { + case .success(let value): + guard let address = value["0"] as? EthereumAddress else { return Result.failure(Web3Error.dataError) } + return Result(address) + case .failure(let error): + return Result.failure(error) + } + } + + //Untested + mutating func ttl(node: String) -> Result { + guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } + guard let transaction = self.registryContract.method("ttl", parameters: [nameHash as AnyObject], options: defaultOptions) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = transaction.call(options: defaultOptions) + switch result { + case .success(let value): + guard let ans = value["0"] as? BigUInt else { return Result.failure(Web3Error.dataError) } + return Result(ans) + case .failure(let error): + return Result.failure(error) + } + } + + // function setOwner(bytes32 node, address owner); + mutating func setOwner(node: String, owner: EthereumAddress, options: Web3Options, password: String? = nil) -> Result { + let options = getOptions(options) + guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } + guard let transaction = self.registryContract.method("setOwner", parameters: [nameHash, owner] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError)} + let result = password == nil ? transaction.send() : transaction.send(password: password!, options: options) + switch result { + case .failure(let error): + return Result.failure(error) + case .success(let value): + return Result(value) + } + } + + // function setSubnodeOwner(bytes32 node, bytes32 label, address owner); + mutating func setSubnodeOwner(node: String, label: String, owner: EthereumAddress, options: Web3Options, password: String? = nil) -> Result { + let options = getOptions(options) + guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } + guard let transaction = self.registryContract.method("setSubnodeOwner", parameters: [nameHash, label, owner] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError)} + let result = password == nil ? transaction.send() : transaction.send(password: password!, options: options) + switch result { + case .success(let value): + return Result(value) + case .failure(let error): + return Result.failure(error) + } + } + + // function setResolver(bytes32 node, address resolver); + mutating func setResolver(node: String, resolver: EthereumAddress, options: Web3Options, password: String? = nil) -> Result { + let options = getOptions(options) + guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } + guard let transaction = self.registryContract.method("setResolver", parameters: [nameHash, resolver] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = password == nil ? transaction.send() : transaction.send(password: password!, options: options) + switch result { + case .success(let value): + return Result(value) + case .failure(let error): + return Result.failure(error) + } + + } + + // function setTTL(bytes32 node, uint64 ttl); + mutating func setTTL(node: String, ttl: BigUInt, options: Web3Options, password: String? = nil) -> Result { + let options = getOptions(options) + guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } + guard let transaction = self.registryContract.method("setTTL", parameters: [nameHash, ttl] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = password == nil ? transaction.send() : transaction.send(password: password!, options: options) + switch result { + case .failure(let error): + return Result.failure(error) + case .success(let value): + return Result(value) + } + } + + //MARK: - Convenience methods + + public mutating func getAddress(_ domain: String) -> Result { let resolver = self.resolver(forDomain: domain) switch resolver { @@ -56,13 +147,7 @@ public struct ENS { switch isAddrSupports{ case .success(let isSupported): if isSupported { - let result = resolver.addr(forDomain: domain) - switch result { - case .success(let address): - return Result(address) - case .failure(let error): - return Result.failure(error) - } + return resolver.addr(forDomain: domain) } else { return Result.failure(Web3Error.dataError) } @@ -74,148 +159,92 @@ public struct ENS { } } - /* - TODO: - */ -// -// public func setAddress(domain: String, address: EthereumAddress, options: Web3Options? = nil) { -// -// } -// -// public func getPubkey(domain: String) -> Result<[String: String], Web3Error> { -// -// } -// -// public func setPubkey(domain: String, x: String, y: String, options: Web3Options? = nil) { -// -// } -// -// public func getContent(domain: String) -> Result { -// -// } -// -// public func setContent(domain: String, hash: String, optioins: Web3Options? = nil) { -// -// } -// -// public func getMultihash(domain: String) -> String { -// -// } -} - -public struct ResolverENS { - let web3: web3 - let resolverAddress: EthereumAddress - public enum InterfaceName { - case addr - case name - case ABI - case pubkey - - func hash() -> String { - switch self { - case .ABI: - return "0x2203ab56" - case .addr: - return "0x3b3b57de" - case .name: - return "0x691f3431" - case .pubkey: - return "0xc8690233" + public mutating func setAddress(domain: String, address: EthereumAddress, options: Web3Options, password: String? = nil) -> Result{ + let resolver = self.resolver(forDomain: domain) + switch resolver { + case .success(var resolver): + let isSetAddrSupported = resolver.supportsInterface(interfaceID: ResolverENS.InterfaceName.setAddr.hash()) + switch isSetAddrSupported { + case .success(let value): + if value { + return resolver.setAddr(node: domain, address: address, options: options, password: password) + } else { + return Result.failure(Web3Error.dataError) + } + case .failure(let error): + return Result.failure(error) } - } - } - - private lazy var resolverContract: web3.web3contract = { - let contract = self.web3.contract(Web3.Utils.resolverABI, at: self.resolverAddress, abiVersion: 2) - precondition(contract != nil) - return contract! - }() - - init(web3: web3, resolverAddress: EthereumAddress) { - self.web3 = web3 - self.resolverAddress = resolverAddress - } - - mutating public func supportsInterface(interfaceID: Data) -> Result { - return supportsInterface(interfaceID: interfaceID.toHexString()) - } - - //MARK: - returns true if the contract supports given interface - mutating public func supportsInterface(interfaceID: String) -> Result { - let options = Web3Options.defaultOptions() - guard let transaction = self.resolverContract.method("supportsInterface", parameters: [interfaceID as AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } - let result = transaction.call(options: options) - switch result { - case .success(let res): - guard let supports = res["0"] as? Bool else { return Result.failure(Web3Error.dataError) } - return Result(supports) case .failure(let error): return Result.failure(error) } } - - //MARK: - returns address for the given domain at given resolver - mutating public func addr(forDomain domain: String) -> Result { - guard let nameHash = NameHash.nameHash(domain) else { return Result.failure(Web3Error.dataError) } - let options = Web3Options.defaultOptions() - guard let transaction = self.resolverContract.method("addr", parameters: [nameHash as AnyObject], options: options) else { return Result.failure(Web3Error.dataError) } - let result = transaction.call(options: options) - switch result { - case .success(let res): - return Result(res["0"] as! EthereumAddress) + + public mutating func getPubkey(domain: String) -> Result { + let resolver = self.resolver(forDomain: domain) + switch resolver { + case .success(var resolver): + let isPubkeySupports = resolver.supportsInterface(interfaceID: ResolverENS.InterfaceName.pubkey.hash()) + switch isPubkeySupports { + case .success(let value): + if value { + return resolver.pubkey(node: domain) + } else { + return Result.failure(Web3Error.dataError) + } + case .failure(let error): + return Result.failure(error) + } + case .failure(let error): return Result.failure(error) } } - - //MARK: - returns corresponding ENS to the requested node - mutating public func name(node: String) -> Result { - let options = Web3Options.defaultOptions() - guard let transaction = self.resolverContract.method("name", parameters: [node.lowercased() as AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError)} - let result = transaction.call(options: options) - switch result { - case .success(let res): - return Result(res["0"] as! String) + + mutating public func setPubkey(domain: String, x: String, y: String, options: Web3Options, password: String? = nil) -> Result { + let resolver = self.resolver(forDomain: domain) + switch resolver { + case .success(var value): + return value.setPubkey(node: domain, x: x, y: y, options: options, password: password) case .failure(let error): return Result.failure(error) } - } - //MARK: - returns ABI in the requested encodings - mutating public func ABI(node: String, contentType: BigUInt) -> Result<(BigUInt, Data), Web3Error> { - let options = Web3Options.defaultOptions() - guard let transaction = self.resolverContract.method("ABI", parameters: [node, contentType] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } - let result = transaction.call(options: options) - switch result { - case .success(let res): - guard let encoding = res["0"] as? BigUInt else { return Result.failure(Web3Error.dataError) } - guard let data = res["1"] as? Data else { return Result.failure(Web3Error.dataError) } - return Result((encoding, data)) + mutating public func getContent(domain: String) -> Result { + let resolver = self.resolver(forDomain: domain) + switch resolver { + case .success(var value): + return value.content(node: domain) case .failure(let error): return Result.failure(error) } } - mutating public func pubkey(node: String) -> Result { - let options = Web3Options.defaultOptions() - guard let transaction = self.resolverContract.method("pubkey", parameters: [node as AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } - let result = transaction.call(options: options) - switch result { - case .success(let value): - guard let x = value["x"] as? String else { return Result.failure(Web3Error.dataError) } - guard let y = value["y"] as? String else { return Result.failure(Web3Error.dataError) } - return Result(Point(x: x, y: y)) + + mutating public func setContent(domain: String, hash: String, options: Web3Options, password: String? = nil) -> Result { + let resolver = self.resolver(forDomain: domain) + switch resolver { + case .success(var value): + return value.setContent(node: domain, hash: hash, options: options, password: password) case .failure(let error): return Result.failure(error) } } -} - -public struct Point { - let x: String - let y: String + + /* + TODO: + */ + +// +// public func getMultihash(domain: String) -> String { +// +// } + + private func getOptions(_ options: Web3Options) -> Web3Options { + var options = options + options.to = self.ensContractAddress + return options + } } diff --git a/web3swift/Utils/Classes/ENSResolver.swift b/web3swift/Utils/Classes/ENSResolver.swift new file mode 100644 index 000000000..7d8db69f0 --- /dev/null +++ b/web3swift/Utils/Classes/ENSResolver.swift @@ -0,0 +1,221 @@ +// +// ENSResolver.swift +// web3swift-iOS +// +// Created by NewUser on 21/09/2018. +// Copyright © 2018 Bankex Foundation. All rights reserved. +// + +import Foundation +import BigInt +import Result + +public struct ResolverENS { + let web3: web3 + let resolverAddress: EthereumAddress + + public enum InterfaceName { + case addr + case name + case ABI + case pubkey + case setAddr + case content + + func hash() -> String { + switch self { + case .ABI: + return "0x2203ab56" + case .addr: + return "0x3b3b57de" + case .name: + return "0x691f3431" + case .pubkey: + return "0xc8690233" + case .content: + return "0xd8389dc5" + case .setAddr: + return "0x01ffc9a7" + } + } + } + + private lazy var resolverContract: web3.web3contract = { + let contract = self.web3.contract(Web3.Utils.resolverABI, at: self.resolverAddress, abiVersion: 2) + precondition(contract != nil) + return contract! + }() + + private lazy var defaultOptions: Web3Options = { + return Web3Options.defaultOptions() + }() + + init(web3: web3, resolverAddress: EthereumAddress) { + self.web3 = web3 + self.resolverAddress = resolverAddress + } + + mutating public func supportsInterface(interfaceID: Data) -> Result { + return supportsInterface(interfaceID: interfaceID.toHexString()) + } + + //MARK: - returns true if the contract supports given interface + mutating public func supportsInterface(interfaceID: String) -> Result { + guard let transaction = self.resolverContract.method("supportsInterface", parameters: [interfaceID as AnyObject], options: defaultOptions) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = transaction.call(options: defaultOptions) + switch result { + case .success(let res): + guard let supports = res["0"] as? Bool else { return Result.failure(Web3Error.dataError) } + return Result(supports) + case .failure(let error): + return Result.failure(error) + } + } + + //MARK: - returns address for the given domain at given resolver + mutating public func addr(forDomain domain: String) -> Result { + guard let nameHash = NameHash.nameHash(domain) else { return Result.failure(Web3Error.dataError) } + guard let transaction = self.resolverContract.method("addr", parameters: [nameHash as AnyObject], options: defaultOptions) else { return Result.failure(Web3Error.dataError) } + let result = transaction.call(options: defaultOptions) + switch result { + case .success(let res): + return Result(res["0"] as! EthereumAddress) + case .failure(let error): + return Result.failure(error) + } + } + + //function setAddr(bytes32 node, address addr) + mutating public func setAddr(node: String, address: EthereumAddress, options: Web3Options, password: String? = nil) -> Result { + let options = getOptions(options) + guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError)} + guard let transaction = self.resolverContract.method("setAddr", parameters: [nameHash, address] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = password == nil ? transaction.send() : transaction.send(password: password!, options: options) + switch result { + case .failure(let error): + return Result.failure(error) + case .success(let value): + return Result(value) + } + } + + //MARK: - returns corresponding ENS to the requested node + mutating public func name(node: String) -> Result { + guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } + guard let transaction = self.resolverContract.method("name", parameters: [nameHash as AnyObject], options: defaultOptions) else { return Result.failure(Web3Error.transactionSerializationError)} + let result = transaction.call(options: defaultOptions) + switch result { + case .success(let res): + return Result(res["0"] as! String) + case .failure(let error): + return Result.failure(error) + } + } + + mutating func setName(node: String, name: String, options: Web3Options, password: String? = nil) -> Result{ + let options = getOptions(options) + guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } + guard let transaction = self.resolverContract.method("setName", parameters: [nameHash, name] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = password == nil ? transaction.send() : transaction.send(password: password!, options: options) + switch result { + case .success(let value): + return Result(value) + case .failure(let error): + return Result.failure(error) + } + } + + //MARK: - returns ABI in the requested encodings + mutating public func ABI(node: String, contentType: BigUInt) -> Result<(BigUInt, Data), Web3Error> { + guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } + guard let transaction = self.resolverContract.method("ABI", parameters: [nameHash, contentType] as [AnyObject], options: defaultOptions) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = transaction.call(options: defaultOptions) + switch result { + case .success(let res): + guard let encoding = res["0"] as? BigUInt else { return Result.failure(Web3Error.dataError) } + guard let data = res["1"] as? Data else { return Result.failure(Web3Error.dataError) } + return Result((encoding, data)) + case .failure(let error): + return Result.failure(error) + } + } + + mutating func setABI(node: String, contentType: BigUInt, data: Data, options: Web3Options, password: String? = nil) -> Result { + let options = getOptions(options) + guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } + guard let transaction = self.resolverContract.method("setABI", parameters: [nameHash, contentType, data] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = password == nil ? transaction.send() : transaction.send(password: password!, options: options) + switch result { + case .success(let value): + return Result(value) + case .failure(let error): + return Result.failure(error) + } + } + + //MARK: - returns x and y coordinates + mutating public func pubkey(node: String) -> Result { + guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } + guard let transaction = self.resolverContract.method("pubkey", parameters: [nameHash as AnyObject], options: defaultOptions) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = transaction.call(options: defaultOptions) + switch result { + case .success(let value): + print(value) + guard let x = value["x"] as? Data else { return Result.failure(Web3Error.dataError) } + guard let y = value["y"] as? Data else { return Result.failure(Web3Error.dataError) } + return Result(Point(x: "0x" + x.toHexString(), y: "0x" + y.toHexString())) + case .failure(let error): + return Result.failure(error) + } + } + + mutating public func setPubkey(node: String, x: String, y: String, options: Web3Options, password: String? = nil) -> Result { + let options = getOptions(options) + guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } + guard let transaction = self.resolverContract.method("getPubkey", parameters: [nameHash, x, y] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = password == nil ? transaction.send() : transaction.send(password: password!, options: options) + switch result { + case .success(let value): + return Result(value) + case .failure(let error): + return Result.failure(error) + } + } + + mutating func content(node: String) -> Result { + guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } + guard let transaction = self.resolverContract.method("content", parameters: [nameHash] as [AnyObject], options: defaultOptions) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = transaction.call(options: defaultOptions) + switch result { + case .success(let value): + guard let value = value["0"] as? String else { return Result.failure(Web3Error.dataError) } + return Result(value) + case .failure(let error): + return Result.failure(error) + } + } + + mutating func setContent(node: String, hash: String, options: Web3Options, password: String? = nil) -> Result{ + let options = getOptions(options) + guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } + guard let transaction = self.resolverContract.method("setContent", parameters: [nameHash, hash] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = password == nil ? transaction.send() : transaction.send(password: password!, options: options) + switch result { + case .success(let value): + return Result(value) + case .failure(let error): + return Result.failure(error) + } + } + + private func getOptions(_ options: Web3Options) -> Web3Options { + var options = options + options.to = self.resolverAddress + return options + } +} + +public struct Point { + let x: String + let y: String +} diff --git a/web3swift/Web3/Classes/Web3+Utils.swift b/web3swift/Web3/Classes/Web3+Utils.swift index fe6810c29..69c89fd3d 100755 --- a/web3swift/Web3/Classes/Web3+Utils.swift +++ b/web3swift/Web3/Classes/Web3+Utils.swift @@ -76,8 +76,10 @@ extension Web3.Utils { [{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"resolver","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"node","type":"bytes32"},{"name":"label","type":"bytes32"},{"name":"owner","type":"address"}],"name":"setSubnodeOwner","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"node","type":"bytes32"},{"name":"ttl","type":"uint64"}],"name":"setTTL","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"ttl","outputs":[{"name":"","type":"uint64"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"node","type":"bytes32"},{"name":"resolver","type":"address"}],"name":"setResolver","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"node","type":"bytes32"},{"name":"owner","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"node","type":"bytes32"},{"indexed":false,"name":"owner","type":"address"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"node","type":"bytes32"},{"indexed":true,"name":"label","type":"bytes32"},{"indexed":false,"name":"owner","type":"address"}],"name":"NewOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"node","type":"bytes32"},{"indexed":false,"name":"resolver","type":"address"}],"name":"NewResolver","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"node","type":"bytes32"},{"indexed":false,"name":"ttl","type":"uint64"}],"name":"NewTTL","type":"event"}] """ + //function setAddr(bytes32 node, address addr) public static var resolverABI = """ -[{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"addr","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"},{"name":"contentType","type": "uint256"}],"name":"ABI","outputs":[{"name":"","type":"uint256"},{"name":"","type":"bytes"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"pubkey","outputs":[{"name":"x","type":"bytes32"},{"name":"y","type":"bytes32"}],"payable":false,"type":"function"}] +[{"constant":true,"inputs":[{"name":"interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"},{"name":"contentTypes","type":"uint256"}],"name":"ABI","outputs":[{"name":"contentType","type":"uint256"},{"name":"data","type":"bytes"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"node","type":"bytes32"},{"name":"x","type":"bytes32"},{"name":"y","type":"bytes32"}],"name":"setPubkey","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"content","outputs":[{"name":"ret","type":"bytes32"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"addr","outputs":[{"name":"ret","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"node","type":"bytes32"},{"name":"contentType","type":"uint256"},{"name":"data","type":"bytes"}],"name":"setABI","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"name","outputs":[{"name":"ret","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"node","type":"bytes32"},{"name":"name","type":"string"}],"name":"setName","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"node","type":"bytes32"},{"name":"hash","type":"bytes32"}],"name":"setContent","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"pubkey","outputs":[{"name":"x","type":"bytes32"},{"name":"y","type":"bytes32"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"node","type":"bytes32"},{"name":"addr","type":"address"}],"name":"setAddr","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"ensAddr","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"node","type":"bytes32"},{"indexed":false,"name":"a","type":"address"}],"name":"AddrChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"node","type":"bytes32"},{"indexed":false,"name":"hash","type":"bytes32"}],"name":"ContentChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"node","type":"bytes32"},{"indexed":false,"name":"name","type":"string"}],"name":"NameChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"node","type":"bytes32"},{"indexed":true,"name":"contentType","type":"uint256"}],"name":"ABIChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"node","type":"bytes32"},{"indexed":false,"name":"x","type":"bytes32"},{"indexed":false,"name":"y","type":"bytes32"}],"name":"PubkeyChanged","type":"event"}] + """ } diff --git a/web3swiftTests/web3swift_ENS_Tests.swift b/web3swiftTests/web3swift_ENS_Tests.swift index 804400f75..a3ff81371 100644 --- a/web3swiftTests/web3swift_ENS_Tests.swift +++ b/web3swiftTests/web3swift_ENS_Tests.swift @@ -66,10 +66,57 @@ class web3swift_ENS_Tests: XCTestCase { } } - func testName() { - //TODO + func testOwner() { + let web = web3(provider: InfuraProvider(Networks.Mainnet)!) + var ens = ENS(web3: web) + let domain = "somename.eth" + guard case .success(let result) = ens.owner(node: domain) else { XCTAssert(false); return } + XCTAssertEqual("0xc67247454e720328714c4e17bec7640572657bee", result.address.lowercased()) + } + + func testTTL() { + let web = web3(provider: InfuraProvider(Networks.Mainnet)!) + var ens = ENS(web3: web) + let domain = "somename.eth" + guard case .success(let result) = ens.ttl(node: domain) else { XCTAssert(false); return } + print(result) + } + + func testGetAddress() { + let web = web3(provider: InfuraProvider(Networks.Mainnet)!) + var ens = ENS(web3: web) + let domain = "somename.eth" + guard case .success(let address) = ens.getAddress(domain) else { XCTAssert(false); return } + XCTAssertEqual(address.address.lowercased(), "0x3487acfb1479ad1df6c0eb56ae743d34897798ac") } + func testGetPubkey() { + let web = web3(provider: InfuraProvider(Networks.Mainnet)!) + var ens = ENS(web3: web) + let domain = "somename.eth" + guard case .success(let point) = ens.getPubkey(domain: domain) else { XCTAssert(false); return } + XCTAssert(point.x == "0x0000000000000000000000000000000000000000000000000000000000000000") + XCTAssert(point.y == "0x0000000000000000000000000000000000000000000000000000000000000000") + } + + func testSetOwner() { + let web = web3(provider: InfuraProvider(Networks.Rinkeby)!) + let pk = Data.fromHex("0xc606bf70d7cbf90e8eb75050c810a4a749f8dce645f5afbe70635d1f0ebdb13b")! + let keystore = (try! EthereumKeystoreV3(privateKey: pk))! + let manager = KeystoreManager([keystore]) + web.addKeystoreManager(manager) + var ens = ENS(web3: web) + let node = "somename.test" + var options = Web3Options.defaultOptions() + options.from = EthereumAddress("0x7792e5D9FcC8cc23D312B9062F492a7f3E9f2f98")! + options.value = 0 + ens.setOwner(node: node, owner: EthereumAddress("0x7792e5D9FcC8cc23D312B9062F492a7f3E9f2f98")!, options: options) + } + + + + + } From af895ec71a0c89253ef0e22c0ac6865c81c8b049 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Tue, 25 Sep 2018 06:09:39 +0200 Subject: [PATCH 08/66] cleanup pbxproj file --- web3swift.xcodeproj/project.pbxproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web3swift.xcodeproj/project.pbxproj b/web3swift.xcodeproj/project.pbxproj index 9597e5962..d98185730 100755 --- a/web3swift.xcodeproj/project.pbxproj +++ b/web3swift.xcodeproj/project.pbxproj @@ -952,7 +952,7 @@ attributes = { LastSwiftUpdateCheck = 0920; LastUpgradeCheck = 0930; - ORGANIZATIONNAME = "Bankex Foundation"; + ORGANIZATIONNAME = "The Matter"; TargetAttributes = { 1CD91AFB1FD76910007BFB45 = { CreatedOnToolsVersion = 9.1; @@ -1479,7 +1479,7 @@ CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = U8FZ3UYF69; + DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -1518,7 +1518,7 @@ CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Automatic; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = U8FZ3UYF69; + DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; From 9a360902ed2cd0ed148f3401af6f4a73ec410a79 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Tue, 25 Sep 2018 06:36:38 +0200 Subject: [PATCH 09/66] update pods --- Example/web3swiftExample/Podfile.lock | 2 +- .../Pods/Headers/Private/scrypt/Cimpl.h | 1 - .../Headers/Public/scrypt/scrypt-umbrella.h | 18 +- .../Headers/Public/scrypt/scrypt.modulemap | 7 +- .../Public/web3swift/web3swift-umbrella.h | 1 + Example/web3swiftExample/Pods/Manifest.lock | 2 +- .../Pods/Pods.xcodeproj/project.pbxproj | 3916 ++++++++--------- .../BigInt/BigInt.xcconfig | 3 +- .../CryptoSwift/CryptoSwift.xcconfig | 2 +- ...ds-web3swiftExample-acknowledgements.plist | 430 +- .../Pods-web3swiftExample.debug.xcconfig | 6 +- .../Pods-web3swiftExample.release.xcconfig | 6 +- .../PromiseKit/PromiseKit.xcconfig | 3 +- .../Result/Result.xcconfig | 2 +- .../SipHash/SipHash.xcconfig | 2 +- .../scrypt-prefix.pch} | 0 .../scrypt/scrypt.xcconfig | 5 +- .../secp256k1_ios/secp256k1_ios.xcconfig | 5 +- .../web3swift/web3swift.xcconfig | 6 +- 19 files changed, 2431 insertions(+), 1986 deletions(-) delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/scrypt/Cimpl.h mode change 120000 => 100644 Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h mode change 120000 => 100644 Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.xcconfig mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.xcconfig mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.plist mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.debug.xcconfig mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.release.xcconfig mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/Result/Result.xcconfig mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.xcconfig rename Example/web3swiftExample/Pods/Target Support Files/{libsodium/libsodium-prefix.pch => scrypt/scrypt-prefix.pch} (100%) mode change 100755 => 100644 mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.xcconfig mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.xcconfig diff --git a/Example/web3swiftExample/Podfile.lock b/Example/web3swiftExample/Podfile.lock index 6efba76d5..17cbb74b6 100755 --- a/Example/web3swiftExample/Podfile.lock +++ b/Example/web3swiftExample/Podfile.lock @@ -50,4 +50,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 8d61818b8900609b53352708ddba0659befd3536 -COCOAPODS: 1.6.0.beta.1 +COCOAPODS: 1.5.3 diff --git a/Example/web3swiftExample/Pods/Headers/Private/scrypt/Cimpl.h b/Example/web3swiftExample/Pods/Headers/Private/scrypt/Cimpl.h deleted file mode 120000 index f9c85c0d1..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/scrypt/Cimpl.h +++ /dev/null @@ -1 +0,0 @@ -../../../scrypt/scrypt/Cimpl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h deleted file mode 120000 index 0c7601be8..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt-umbrella.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h new file mode 100644 index 000000000..5dccb1b3e --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h @@ -0,0 +1,17 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "scrypt.h" + +FOUNDATION_EXPORT double scryptVersionNumber; +FOUNDATION_EXPORT const unsigned char scryptVersionString[]; + diff --git a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap deleted file mode 120000 index d65261d0b..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/alexvlasov/Blockchain/web3swift/web3swift/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.modulemap \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap new file mode 100644 index 000000000..eaa26fa34 --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap @@ -0,0 +1,6 @@ +module scrypt { + umbrella header "scrypt-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-umbrella.h index a5cc5d573..dcf840e46 100644 --- a/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-umbrella.h +++ b/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-umbrella.h @@ -10,6 +10,7 @@ #endif #endif +#import "web3swift-Bridging-Header.h" #import "web3swift.h" FOUNDATION_EXPORT double web3swiftVersionNumber; diff --git a/Example/web3swiftExample/Pods/Manifest.lock b/Example/web3swiftExample/Pods/Manifest.lock index 6efba76d5..17cbb74b6 100755 --- a/Example/web3swiftExample/Pods/Manifest.lock +++ b/Example/web3swiftExample/Pods/Manifest.lock @@ -50,4 +50,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 8d61818b8900609b53352708ddba0659befd3536 -COCOAPODS: 1.6.0.beta.1 +COCOAPODS: 1.5.3 diff --git a/Example/web3swiftExample/Pods/Pods.xcodeproj/project.pbxproj b/Example/web3swiftExample/Pods/Pods.xcodeproj/project.pbxproj index c61ddbd09..5ae535aa0 100644 --- a/Example/web3swiftExample/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/web3swiftExample/Pods/Pods.xcodeproj/project.pbxproj @@ -7,1244 +7,1184 @@ objects = { /* Begin PBXBuildFile section */ - 0069D192EEB5FD6E4FE6CE081766BF84 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = FEF79F557134C26ABD37AE7F9CB5C154 /* Int+Extension.swift */; }; - 0075468647D0FFC3AAED89F1F23D66CF /* PlainKeystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50145B3CFAA030E982F33E5F8EF57D5B /* PlainKeystore.swift */; }; - 00A7C1597DE9265F746EA649878A668C /* BIP32HDNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44EE1C2DE9A2797654C1BF53FFB8C841 /* BIP32HDNode.swift */; }; - 011C7540AA287C97361474C15BEC543C /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9BB9612098BEF96218A20B30D84C0F5 /* PKCS7Padding.swift */; }; - 02B1E2D6F7BBED451D46B09035722FA0 /* BIP39.swift in Sources */ = {isa = PBXBuildFile; fileRef = 491E32635E476F62DF80795EA03A4E96 /* BIP39.swift */; }; - 0342898ED680F5682ED857AD2025247D /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = A65AD597143380A8240447064605DDAF /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 03C3AFC1A73CC721DFC025DA0492B8F7 /* AnyError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 566D31E69EBD23EECC7E9756E711AABF /* AnyError.swift */; }; - 045FA7F5C4FA073D115933C8046C954D /* KeystoreManager+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7325F8CDD95F0919C78971B1F9B0D26C /* KeystoreManager+ObjC.swift */; }; - 04BAB9000ECA1DF9525E0A15D715B307 /* RandomUInt64.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22E9055D66F39B0B671EC13A4D7A9AC5 /* RandomUInt64.swift */; }; - 05DCD2FC5F3843251C1B431881F46A15 /* ABIv2TypeParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1D32AFFBF6E022875FA6FA5E31CDD8C /* ABIv2TypeParser.swift */; }; - 061CD8DF38E45A06BCA57538669821F8 /* after.swift in Sources */ = {isa = PBXBuildFile; fileRef = A76766DCA675A328B7621F2CC2BBDC37 /* after.swift */; }; - 06346EDCC1E2F52FE78341A96C1C2E80 /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C2A766E739F57C8F1F245054C84114D /* ResultProtocol.swift */; }; - 08126F596F171C58B2CDD7314A1129D6 /* Web3+HttpProvider+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C34B6F8F004A79070AAB41F8DFF824F /* Web3+HttpProvider+ObjC.swift */; }; - 090FC12C45ED8F6A69B4E632DFE94915 /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBCF03C2FFB16105B36B473D4E7B2D8C /* SecureBytes.swift */; }; - 0BC51526B2D3116FE16EBE44DA507D3C /* EIP681.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41FBE47CBCF2E13682775196F7F9184D /* EIP681.swift */; }; - 0C3AE310B1F97E722879135D91FC439B /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 850178BDFC9EF1A7C80827D3FFCD0482 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0C76323B6074D43A33E958630E2FA2B8 /* Promise+Web3+Eth+GetBlockByHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D4D97785B4DFCFBC23D6C846C84EA90 /* Promise+Web3+Eth+GetBlockByHash.swift */; }; - 0CEC6253D2D954152AC4B4471CDB740A /* Cimpl.h in Headers */ = {isa = PBXBuildFile; fileRef = A37841BD104497DB3DF5388D4367797E /* Cimpl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0E285E910A32BEC3C90AE7FCD361AD63 /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E54B974F06101FBFA19F76844B3BBAC /* CipherModeWorker.swift */; }; - 0E4E5A6466DC27E019E10B79F0AB77EA /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F73DD47F1589433F054B8686723D47D /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0E595594925920B81CBDC1EF1F737727 /* Words and Bits.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51A61E362FF2B82C26F4DD5BA76BEDC8 /* Words and Bits.swift */; }; - 0F0DCA8CBC42D5EBFAE1401F86393B1A /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74C7EFAAA5563E59498B9632722813D1 /* Thenable.swift */; }; - 0F122728D41D7ACC67337E2E602B04A9 /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 36BB4188B1240052722EAB2ED24DC3DD /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 104041B63A33F6C978EBE1042E7F36C6 /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEDAFED9F2E7A4D6945433CF19C261A5 /* HMAC+Foundation.swift */; }; - 1393314FA30ED036A4876EED12EF15DF /* BigInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ADE6B24E2F1E8BC45C1D76558FC0116 /* BigInt.swift */; }; - 13BB14D730491354406F32259BFA9257 /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 86C3207E565D52552FDFA7EA42F05270 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 13DFC709B5090CE924800551AE5D9808 /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7DCA902F4BD0A6D5EAB1E39146270DD /* AES.Cryptors.swift */; }; - 1418FE8C38CFB0A63618CB505778FF1A /* String Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED0070FE7462B58C47F60E55B8C0AA5E /* String Conversion.swift */; }; - 168BDC656BAAED4F5FC8CF368D073EF2 /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58E9F0540DB4E1A859392EFA3A0708B3 /* GCM.swift */; }; - 16BD01485AEA764E1D7AE403EDAA7CAC /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41FC722652762A9CA680AC0CEF50B2CC /* CTR.swift */; }; - 175846F537D8B12473C9BD1BC7664B16 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AB1E7E037CA7ACBE1DAF1FCF8BAD73A /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1774B3B2CE80448F302A78251D87401A /* Web3+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A01C71E03076A82481B6EFA5BABFEE1 /* Web3+ObjC.swift */; }; - 17A85E0EC18A32952F779A75E09AB131 /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06DA7D56C2864C4222F706AFC7953AF9 /* UInt8+Extension.swift */; }; - 1802CDD64DFC896D6C4107DE83FB1BF2 /* NSObject+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54BA1656FB495B7460ACDF3A76022348 /* NSObject+Promise.swift */; }; - 1819715D4AE9B9E34CC6884404B925A7 /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3F5A2A6D774B47357984CAF7863D68F /* String+FoundationExtension.swift */; }; - 1827A2E7503354E5079D35079745DE19 /* CryptoSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C5B7066F1E4B26038FE68DE60BCBBA7D /* CryptoSwift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 185B22077187E274AD1554F64AEDCD02 /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 0434FC3772D7C052138D4E6597BBCEBA /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1876693CC43D85F269BADE3E768EDA7D /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A2411CE147937EBABF77E252DACB056 /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 19127EBDCFDCA18FB791457D9636554A /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0571CF27DD24F25CF822D599D2FD9592 /* Collection+Extension.swift */; }; - 193BCB45EB2F96FFD27337F8D2D9603F /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = 20CFA43F832D5962C0393290B58599B5 /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1A4B5F4283534B7876F0797D79743E7C /* UIView+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = D611D9EC9939318B1A869FB533E3081B /* UIView+Promise.swift */; }; - 1AA2BEDB70F75FB46C0DDEAF37624686 /* race.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DD7D170A631D238DD87B920F3821371 /* race.m */; }; - 1AEA4CC9FAFDF49652633E9DBE16D80E /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2ABB5405C641CC68BD096B2B036EE11 /* AES.swift */; }; - 1B3A7F77E5D5CE5F8E299A6B6FC3239D /* AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 772A5E3F2CEC01BEB15C9C969E63D298 /* AnyPromise.m */; }; - 1C161B8EA65B5BDAE68E60F1554853DD /* ABIv2Encoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3E16828B172E3E29C2C2A69EFDF43AF /* ABIv2Encoding.swift */; }; - 1EE14F44BE6D7C6D015982EBCB62366B /* Square Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E3257BF67AECCEEBCA3B927CB2C8914 /* Square Root.swift */; }; - 1F775B3A5B3F7AD66C937140F5D64981 /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFD4B69F8A727F8A3888203E38DD2A63 /* RandomBytesSequence.swift */; }; - 202EDC7A61D90D385D5A163E66665BF7 /* Web3+Methods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EDB16D82616831C96E088DDBE2B32B6 /* Web3+Methods.swift */; }; - 21BEF33F6A2B374B486F089628B99B25 /* PromiseKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 39D3351EAB4FE326D56C800215377379 /* PromiseKit-dummy.m */; }; - 21C57C5726D2EB337172882289EBA3B6 /* Promise+Web3+Eth+GetTransactionReceipt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91DBC05C80B653F0779A122B3E01A00B /* Promise+Web3+Eth+GetTransactionReceipt.swift */; }; - 22DCAC3A73E88CA5628BC1FEB5DBA99F /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = CA13324E6B18FC344F7E858446786F1B /* fwd.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 22FD54B4C827131C4D684D2EAA053145 /* Promise+Web3+Eth+Call.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12E63E29E69B87CCA00CA5D8B454E67D /* Promise+Web3+Eth+Call.swift */; }; - 2498514CC27CCDFE8E81FAE89A1A286B /* ContractProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 052496AE749A404A1C7E8F48F9C50E4C /* ContractProtocol.swift */; }; - 27FE3E93F1532DBADEF4E265BECD3B77 /* Web3+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F06D95AEE5EC27252B89C4874C9B887 /* Web3+Utils.swift */; }; - 2A1C4A8A8BA9576AE5DF448DB426C023 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 28CEA71BAA2648F525999A658E8C7F22 /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2A8F6944A9B01C4D77F755677E3B50CD /* Exponentiation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C8A5F0094F14372F5834A32835C5F5A /* Exponentiation.swift */; }; - 2B4AEEF5291AF4C54375103E51B33EED /* Strideable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4D1A5DD3EF2B55B1F7090048637E96A /* Strideable.swift */; }; - 2C9C89045C33D64985BF4225219BD28A /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = C227C20C27715023D2C006ED811A0FAD /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2DD6BC67B196FDEB6520629498A29D83 /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = F773C8F575C7369A7CA7E723748E110D /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2EB9A7BDFE7194105B1D955541456E8E /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AAE3B11D2000EC06CBFB2EE14EAA208 /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2FDA0E6E5364186683841D4CB7F2AA96 /* web3swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0ECEAC97DC37DEE322CE4D6A7FD317D1 /* web3swift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 30E55EC1173BE1FB08D744675769DBD2 /* EthereumFilterEncodingExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E6FA3B41EF131B438CFDBB3807EAC51 /* EthereumFilterEncodingExtensions.swift */; }; - 31BE361F12FECC822B92E13681857FD0 /* Promise+HttpProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2840F210CE98B93EA849D6D6E8253222 /* Promise+HttpProvider.swift */; }; - 328764F572D114FE4FD89859EA7D0C82 /* NoError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BF598B3313583C452A8F23CE762ABE4 /* NoError.swift */; }; - 331CE8D8224F71C9D3D70DC1801A1715 /* Promise+Web3+Contract+GetIndexedEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB850682BB5958733FC8B52787BAC26F /* Promise+Web3+Contract+GetIndexedEvents.swift */; }; - 337A8793B004627DE63C9C9F3718957B /* dispatch_promise.m in Sources */ = {isa = PBXBuildFile; fileRef = 323E701BDC75F79161DF588C4113A918 /* dispatch_promise.m */; }; - 3401E200180CF3B6563B96FEAF55CA94 /* Result-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F5D6AF8D555A9E4255C5A7F9DBA2C46A /* Result-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 35923DB1A6781812B8913ECD0416D749 /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 442C6C1866A76D1BA9AC1704A73CCBEF /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 36306880A632F6028A29C9EF3AF21D76 /* Web3+Infura.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5564585449D0A14C4C3DA06673C6CCE6 /* Web3+Infura.swift */; }; - 36A0040F0878B1983F1EA1303DEA3A8A /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = B421CF5866C90A22CF4AD1B2FB521FB1 /* StreamEncryptor.swift */; }; - 36CD9E2F0BD86A31E701E02DAB5AE6F2 /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8E9B7215E082F31D22AE879FC8E6A1F /* Authenticator.swift */; }; - 37457234666FBA7DF56C16652038067A /* Dictionary+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E2B619BDED04588FB519514ED192C42 /* Dictionary+Extension.swift */; }; - 37741FB620689069751B06889B7C7143 /* Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5157EEA72F46459433F5E5929670E20A /* Comparable.swift */; }; - 37F32E3E1902C1C57EEC4067E506189D /* BIP32KeystoreJSONStructure.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5E7B50FE11A248882E6C1A3F9B94E1F /* BIP32KeystoreJSONStructure.swift */; }; - 39CDE4B10C60D85F37F77C939C51E074 /* Shifts.swift in Sources */ = {isa = PBXBuildFile; fileRef = C82501607388B8BCA99C8AFAEFD1465C /* Shifts.swift */; }; - 3A0B9F7D652FAD6B6F41E8ECBC672B2E /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C1C98DF0D19110BC29B96ACF3CD8253 /* String+Extension.swift */; }; - 3B670C333D1FA4301955FC92E0ADE64A /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = B5D98626E7B2E6CEA32D15F9D18C4224 /* NSNotificationCenter+AnyPromise.m */; }; - 3B85CE7D9D64282311FA54DBC8286756 /* Promise+Web3+Eth+GetBlockByNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 862203C1EEFE1746B51A18A70C8255F1 /* Promise+Web3+Eth+GetBlockByNumber.swift */; }; - 3C3E2109D1CACB25EAFAF06D4238567E /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FD0C198DD93405BF1DA5EDE636A2F6F /* Blowfish.swift */; }; - 3CB14077F8EC08C91CC67F7A527B417E /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C8009536C96B6BA559B0430AEC14152 /* AEAD.swift */; }; - 3CB94F4227FD789E4DF19BE266778FA8 /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDB3EF4D45930CAA3FBB049933F6B674 /* Deprecations.swift */; }; - 3E3087E0AF2608D58EFD71B57D6FF5D5 /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = C40EDDE1B718C8470C7AA3C48C5554AE /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3F1665AFCA874E77038222C32CA21CF4 /* TransactionSigner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0103BBD609FF8CADC6FDB98F2FDD7344 /* TransactionSigner.swift */; }; - 403488C6FD6D81EC1837EB3785B143A7 /* Guarantee.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5F05B314C909125D077A6977F0E706F /* Guarantee.swift */; }; - 40FCE77060A9F031CFDE7A39DB8BE346 /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E1625F84C89AF10B33736B73A1A4E2C /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4144EBF3173A41E918C16A79249458E3 /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = BBB186A40620A95D2A4EE454989B445E /* join.m */; }; - 42911B8E04109940D27D03B76FDB71DA /* Integer Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66907FAB988CF1AF834BAD4A2926F444 /* Integer Conversion.swift */; }; - 43FD8DB1CCB725A4FE8894835801F3EB /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 589F851C490849AC18374F9DD34A57C8 /* CBC.swift */; }; - 45216D6980BC449A1E84C0C6CC1AA6F9 /* Web3+Options.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBA9232DC21A4588EA5C4A6360ED7D64 /* Web3+Options.swift */; }; - 45EE1E43188FD2E7FC8B2D5030BFC973 /* BloomFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACB0C00B07E5B530D245904B8FA919E /* BloomFilter.swift */; }; - 465596376950D8BA52A52DF91185308A /* Web3+JSONRPC.swift in Sources */ = {isa = PBXBuildFile; fileRef = D16392BB50E5CB36CCE0946928A6E774 /* Web3+JSONRPC.swift */; }; - 46D913BB12854D13B0F897B37C0645A4 /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29C256B973D8BE987C0231440CCB1E67 /* BatchedCollection.swift */; }; - 4713F0A481C5F6ACE1E7F285B4FA5FEE /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C4001BFD15E68647D2DF6A140E7FE7B /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4739C9EEFC54F5C097D8D9D86CECEC2D /* ComparisonExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80046DC911582304810AAD592475C63C /* ComparisonExtensions.swift */; }; - 48388B84776F7C1407A1E118B089CBEA /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DDD374821E4640217896833C7CA1640 /* AEADChaCha20Poly1305.swift */; }; - 48455593A60C3CA87A214694EF5D1873 /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = A048C650E06E40C87E43CFE55025EAF3 /* afterlife.swift */; }; - 49DD2B0B8B0B0E37B1823A8AA30CD26D /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0DA82837F4FE2A7E626BA8F125B29BB /* Error.swift */; }; - 49FEEA70ABC39AF55CD97D81857EF07E /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3068DD183E4985B3B7691D15DF8298E /* BlockDecryptor.swift */; }; - 4A5593F6C0B13BB81EAD2D062E38E21A /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 584AC113BDB47E209F6B34321DD1E5A1 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4AACA123F47301AFCECF75FE8D86BBBD /* Promise+Web3+Eth+SendRawTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = F73C8D13D7365EE34099B5B7D39B60B7 /* Promise+Web3+Eth+SendRawTransaction.swift */; }; - 4AB8899CD9B274899C569E8E4F6B8163 /* Web3+BrowserFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4A915B27C142C9851B0FC16DB2ACE3E /* Web3+BrowserFunctions.swift */; }; - 4BEC002E24F5AD2E72EE77A41D06AA1D /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 442702F0B88642B51362AB205FCAA854 /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4C3CAE4E66950002C334290828030002 /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7A36BF0987C747B882373933D43D47E /* CustomStringConvertible.swift */; }; - 4CFF75EF09263579007C95CD2C296463 /* Subtraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0F41748EE794FFF4AB23CC5592DB949 /* Subtraction.swift */; }; - 4D3407C41F4EEB3975ACE1EED0B49A16 /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6BD782668E0147C274576B5E4F5F974 /* Catchable.swift */; }; - 4DEA27C788BF3119B52411CCB2922FB2 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 183C2164A5A0D7B650B1632D92711576 /* HMAC.swift */; }; - 4E3FDA58133BED7E50509490CD6FD4F4 /* AbstractKeystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D918765E5C316D981E87E593F43CD1B /* AbstractKeystore.swift */; }; - 4E6B32A3483F0BFABBD797909A9DEF6E /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0592455534B27A7EDFB9DACFC3FBD860 /* UInt16+Extension.swift */; }; - 4F6ED8ADD7B24315D4F8D18C227D3ACD /* Primitive Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9503C4F6C4DBB79AC671BCA551F24A /* Primitive Types.swift */; }; - 5111E29F246083C72BED5DCB4AB23339 /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C97F0ED74220BA363EC3492AA6619 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5168590BF93FB99D16DC49712EA80245 /* Salsa.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA9F942F287B75869B1E47BFFC388B1A /* Salsa.swift */; }; - 52FB513158120D5E9A5D0F389C8B4705 /* BigUInt+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AB7EFD1CDE8EEFB6864B4C95BE27B9B /* BigUInt+ObjC.swift */; }; - 543D935BDB2B65030F4F1CC620E38CC2 /* BIP39+WordLists.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7860F7282B4A86633B33B4C19EE13DAB /* BIP39+WordLists.swift */; }; - 56ACBF1330E1BDB853FC94E16E41A0C7 /* Promise+Web3+Eth+GetTransactionCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA69368BBED1E9C971B870CC1D39411E /* Promise+Web3+Eth+GetTransactionCount.swift */; }; - 56FEEE8BC37939684F8887F96C6EFE1E /* PMKUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 4494989642C43EC56A1C209F11EAA579 /* PMKUIKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 57EE2999B5A42AB125DE111FD58382E8 /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1965E9A5C6BC0EAF6D873E26515FBF24 /* SHA1.swift */; }; - 58560D5361D4C0DA182EDE13BD4BF20A /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9407649D3AF3DFA0898FB2D0CEE49FB0 /* Box.swift */; }; - 58A762A4848E6E343D255E9FACC9E795 /* Cimpl.c in Sources */ = {isa = PBXBuildFile; fileRef = 227AEA3AD310D48705A9F080E9587471 /* Cimpl.c */; }; - 58ACD248746150D1523327FBE5B37A1C /* EthereumAddress+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 066D256FC483ACE5C9FBD3A9DE124FDE /* EthereumAddress+ObjC.swift */; }; - 595B8A2A0CCEBF78C630FF9978F29AB7 /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAB164AAEFA3768FB27145624FE1B935 /* AES+Foundation.swift */; }; - 5A62E1514221B943B7A3D3946E7C33F7 /* NameHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FE2D8F96F15B5256BD58A65B6912DCE /* NameHash.swift */; }; - 5A6C4BA33ADE33CC6B382B120B679237 /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7053901B6F4C7C4685E6983AD717E771 /* Blowfish+Foundation.swift */; }; - 5BDE74041F9724B7C2A40FD1FCFA45F0 /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F0897176807A58E1A713B8A2B2948DA /* UInt32+Extension.swift */; }; - 5C54B9B9E5E0B285872796330B999044 /* EthereumTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A9EADA7AFA39E90F4B2C520B23DB0D6 /* EthereumTransaction.swift */; }; - 5DB7A571F556449AD9706B01CB07EA6A /* KeystoreV3JSONStructure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57B4BB38C90FBE82C3726EC39C95B70F /* KeystoreV3JSONStructure.swift */; }; - 5E249F6FB23CCC4985EFB3FDCADE487B /* Result-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A1D77762CE9C119FD2F51D4CD9271FDE /* Result-dummy.m */; }; - 6367286AA49B412B8FA5D9E60AC57942 /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = F9E575A8DCCCA9340467D59D513CE613 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 63DE145E1764A86D1ABB97F789625268 /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16D03E5E5B1C1CC5F18AE9C3C8EE602B /* UInt64+Extension.swift */; }; - 64B367DFA40AC646E11DAB819B0E292E /* Promise+Batching.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD02528C65BB0F37587F72DFC75F763B /* Promise+Batching.swift */; }; - 655563EF592B664426E4F924AD94A1EE /* Web3+HttpProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A14C8A0ECC51DCF47B8BDC426260AE9 /* Web3+HttpProvider.swift */; }; - 661C802B489BBD3DFD82BFD64B22436D /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 000A1EC76D82A3EDBC7956FE3334A646 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6795E9608781C7A1914DBFC1D1B3BBD0 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F444615A31A37C9AE86FCD68C9617C8 /* String+Extension.swift */; }; - 681FBF1DE7F5E28A656C33C24795C69D /* CryptoSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 99F1915E70ED67C2A41631A9B4E95409 /* CryptoSwift-dummy.m */; }; - 68967D93A7040322F28E032A686ADDB8 /* BIP32Keystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16C67237D9658EEEF7CE6C233412A1AA /* BIP32Keystore.swift */; }; - 68AC0F69139647F7B018BBF14976F577 /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FD29DD5DC6ED789FAEB902C94E865F1 /* Checksum.swift */; }; - 68C039D30A4BD8D39DF56B559B4ADB68 /* NativeTypesEncoding+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F412C8E7409927D4E4032AA2237D1ABD /* NativeTypesEncoding+Extensions.swift */; }; - 68C3B925415233905445BBC632E33D98 /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 135C356FAA3B347C90BBF94F6529C892 /* NSTask+AnyPromise.m */; }; - 68FCBCF149554A07A481E77E101529A0 /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D3ACCCA669E9804A73747148FC87E82 /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6951FF81102CC5BFF9688FD32F93DB93 /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16AF4F6B552E36497978DA12CBFA0A4C /* PCBC.swift */; }; - 69B43E85EA9FD569A466BE6BA94A5F86 /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2737D9FD26C786FDE441BA01D79E6DB6 /* Digest.swift */; }; - 6AF78554F313E5317E4F904D7B8D56A2 /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = 99D40DFEB3A4C759CC493F70A4EA108B /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6B5044E9BC84F66C42F5923359015BF8 /* Web3+Structures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E37C31654324E82F6877D3A0A8CF5F9 /* Web3+Structures.swift */; }; - 6D8404384D6E70502A028E0A183163BB /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 361B873DBC285242B8FCA11C4F9E5623 /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6EBEEEDAACA227734E95EA5211665100 /* GCD.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7392F15D9E28ABE006D665C8C76D964 /* GCD.swift */; }; - 6F853D5E1F77B742C8BC832153D2CFB7 /* race.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21B6545014E4E1EEB09BDBDFBEA13516 /* race.swift */; }; - 70C753C56B4C246E2B038E4F94BF0BBF /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4D54F7C6D9EA280A0460EFA15E45520 /* Codable.swift */; }; - 718236F77969D41EA45AE28A7EF14E52 /* Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 009A496F7B724F0347CFAC23677728AC /* Hashable.swift */; }; - 7206709B12948E39A73C1443F4476FE4 /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E9707E1F50D7C7959FA42372F48A2C0 /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 726BB598C1055EDC9C6423E70C91C90A /* CryptoExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F65C87A76C6A03B2087AD0F053518E55 /* CryptoExtensions.swift */; }; - 72C25CF4053DCD62E5447817C0B9221E /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = E20325AD797DB5BA5787DCB0E743E290 /* Utils+Foundation.swift */; }; - 7528DA81FC748DE3FC4BBCD0A2E1400C /* Web3+Wallet.swift in Sources */ = {isa = PBXBuildFile; fileRef = B37F023A41759D539E276E87BF6D90C3 /* Web3+Wallet.swift */; }; - 76470FC323983D6226BCF68B1164E3F5 /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 940A12297080FAFA2D6A547951269482 /* Padding.swift */; }; - 76B563B51D27673895764F16C48D5E24 /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D740E5FEAD00D08690A1797817D464A /* Rabbit+Foundation.swift */; }; - 77178248CD6460B5432AC6DFC3579E23 /* web3swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D19A599F033CB640BC281C9DDD005A7 /* web3swift-dummy.m */; }; - 778848906301AB76386C72A37543BE52 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 123A79BDE35CE7064C94E97B6CC962F3 /* Array+Extension.swift */; }; - 779F797D02BC03B4AC8C9BA2F32EDD86 /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = 6018602186E5C17B7EC7AA437D2BA1E6 /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 78589BD06CD8A1E65939A186F9EF2AB5 /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = A732C7582F6BC356D8BD853CDE811DFC /* Bit.swift */; }; - 7879C44114E0F4F770B0E68610F5ACFB /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A5EEC6F826A7BB4BCF689DDBBBE8AF0 /* ZeroPadding.swift */; }; - 78FD627F252ED1A0015EE533DD68C2FF /* Web3+Personal.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8C2E113E148B418D9CFFA9563D61A9C /* Web3+Personal.swift */; }; - 7CF47931D812B23E671EC0DEA0706DFA /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B1467C65AAF92A3D88CEF44D064DB75 /* NoPadding.swift */; }; - 7D5DA72A49A992A527E02B5A1246FC3C /* scrypt-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1004D33259FBFC1535E8D4F64120C7FB /* scrypt-dummy.m */; }; - 7D67866AC6C3A9D16FE90065AADC0149 /* EthereumKeystoreV3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F79F5E8467AB85143242575568970D /* EthereumKeystoreV3.swift */; }; - 7E314E370D8E63F9D28EB4D83FF125C5 /* Promise+Web3+Eth+GetTransactionDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD708B9B8D939244EFAB57D224317EAE /* Promise+Web3+Eth+GetTransactionDetails.swift */; }; - 7E85ACD04ADFC992156F52FBE1BFE20A /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = EDA43B32781D9D973ED35A557A240958 /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7EC88E86E051E823EE620293A70225BB /* UIView+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = CBB29B20CE255658DDB1532AC1266247 /* UIView+AnyPromise.m */; }; - 7EFCEF370D1273ECA03178E054495922 /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81129A66FBF8621B73A114A3835F4046 /* Updatable.swift */; }; - 7F77F6FF53784ED6A5A93AC3D548F02A /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F532B89CD79FB5FA18D07FC46DD8466 /* Operators.swift */; }; - 7FADDF54E465F347CF0C611B940B56E2 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = E06D321FD0D4501F1FF7D6F6264A1DDE /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7FEA191A8B72A225854E8C1E418CF7B1 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = 50ABA8EC3262E75D2C901CA6DD9FA5F8 /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8008DD7D87F87B9E3D5ECEA3467E1A9C /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FCF51E9005015897DB4235855C11F3E /* Cryptors.swift */; }; - 809461B522DAD1CC4DA7B304793057A5 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBA5DBF0F836BCDC6BD27E61549AAC70 /* ECB.swift */; }; - 80FFFE82E8A8DE6ED294DECE0DDE1908 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = C44F34B4A43FBA288053EED2B79F6ACB /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 822D2EB3DC201386CF9DF682794D91F7 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6056EC003B91D6AE8460C740F35F2BC5 /* Utils.swift */; }; - 836C8A3CCAD5C5FE68F01D5B3AB57174 /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7CDAECE7C7689D9B56E9D2B4A92D11 /* NSURLSession+Promise.swift */; }; - 838FC79B49A0DD9506EDFF36DC730262 /* Web3+EventParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D1164A207317D07F70C5CADF0666478 /* Web3+EventParser.swift */; }; - 83DE107ED68E9FFA4B62A5A12B99223B /* web3swift.h in Headers */ = {isa = PBXBuildFile; fileRef = 33AD44494C176812F8EB7B1C68429279 /* web3swift.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 847F825E0F00B1476A42EC1A2914DA3B /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 79A6376210EB7B970D64C177672F3EFE /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 849B9967D22A26A74AD8C73FB1648F23 /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = 8668B73A34C0C334E2DFF0A4D01B9887 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 84A96034B669A157EFCB701B8F7F635F /* secp256k1_ios-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CE1FC37CE5129D5F14970B958DB8192 /* secp256k1_ios-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 84BCF4CADBC4D7DDA795387EC0AC07E7 /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8D29DC59940B5FDB7E394779075BECE /* MD5.swift */; }; - 8517DDE6E73644C042195E2C78A312E6 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3DC571B8A19A17AAAC784433AABB955 /* Array+Extension.swift */; }; - 859729A76D2AFAB1080AB8E850982E4B /* Promise+Web3+Eth+GetGasPrice.swift in Sources */ = {isa = PBXBuildFile; fileRef = B834A0B254CE3D581189392480DB3517 /* Promise+Web3+Eth+GetGasPrice.swift */; }; - 85973E99277A40CB09CD12CDB7F66743 /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7033A3E7363DDB4746F91F0AA499EC34 /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8606AA654F3D24B407E7274A9BB3995F /* Division.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7C85CCAD8B8BB2BC645025063627244 /* Division.swift */; }; - 86F8EB37DA0D0B1894675C2A41A949CE /* IBAN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E393FF3F983A1BA55B41EFD5D31574E /* IBAN.swift */; }; - 872CC7E11DB7B5D9E47440A739E574AB /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB682963D538987398F14AB14E9F6457 /* PKCS5.swift */; }; - 873DE3CC5FB993DC11904D529384C888 /* ABIv2ParameterTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5C569671837CF74CAABEA7BA50950AD /* ABIv2ParameterTypes.swift */; }; - 875C13093A167B1933DD251F3F1A84D1 /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 97FB0B47D6C3C00BE02AEEF203416406 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 88ED6F7E091B1D56573DCEFA4F60B010 /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 674BEB1072D4B5AA13D4287142BF6E01 /* CFB.swift */; }; - 890D1216015AC23C813DD998F3D0BD6A /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B083A17C989339898CDCEE89B4F75375 /* Data+Extension.swift */; }; - 8B28B522A60F6F1A0BEC7E64514B0976 /* LibSecp256k1Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 523671F746DA657F0997D96C7ED8A97B /* LibSecp256k1Extension.swift */; }; - 8C4634FA8F9D714321F3973BAC3756CD /* Web3+Contract.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFFDB386AE35349F33B00B6D7A8525EB /* Web3+Contract.swift */; }; - 8D1AABABA7AE89E3F15F645AC6A3E532 /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA57CE485B097FA3819A70808EC9563A /* Scrypt.swift */; }; - 8E5BF109ABE01A8C75C78AEB7B902FC3 /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = A79C7498C141E9CE21DC4835847CA83A /* HKDF.swift */; }; - 8E67099B57DC9596F3EA8ECD4E33CBE4 /* Base58.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3EAA6334BA9847C7D5688F154251C3C /* Base58.swift */; }; - 8FB3313F35F24D37534650188E353A5A /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B2CE110BAA238CC4A7CC454E3038ECC /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9032FD5A6851FA0796FE178236BE9949 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = C42BF3CAC53EA5AA37D4CC5C152AA8B6 /* UInt128.swift */; }; - 916D4FB604792532AFA1C162DECB998D /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 720F350F02588AD2D8B0EF0C920A5D0D /* NSNotificationCenter+Promise.swift */; }; - 91C565DE7355FB1961E40D10EE14CDBE /* RIPEMD160+StackOveflow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42662102329EB8EA5D693F47F6B055BD /* RIPEMD160+StackOveflow.swift */; }; - 924E737605ABB2921B3F48BFD380944B /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = DC969B5AEC409B7F51A179949E6D0CF1 /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 948850F4D9DCBDA7885F96517F7C93B2 /* Web3+Eth.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9FAA6A53A97BA2E6A2ED16DE2451DDC /* Web3+Eth.swift */; }; - 970434B3CDFCB829040B04EB0280678E /* EthereumAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EBBC5BCE490CF7D0B638E773A4F1FAC /* EthereumAddress.swift */; }; - 975D0B554704CA112AE1A7071249F89F /* BlockExplorer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AB691BD8986EF2191E06871444E8FC3 /* BlockExplorer.swift */; }; - 97E9D2C351BA784EAB933580AD206C13 /* secp256k1_ios-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D1172DA5E0AB5C4C336BE89B155DB65 /* secp256k1_ios-dummy.m */; }; - 9985C1DF20C3A844133CC24F260232A6 /* SipHashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8577B9E45726016E2FBBDE2C00FBA5E /* SipHashable.swift */; }; - 99F02A84D0D5E2765EE4F4C4AA684A63 /* Web3+TransactionIntermediate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22769D380F2A7AB75E9FF25A16D47CE1 /* Web3+TransactionIntermediate.swift */; }; - 9C41B74A57AA5CFF765F024109AC0578 /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BC9B7EAF3577A34C9142730D08BBAA9 /* PromiseKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9C99049FC31F95572D2E8F8D8A159681 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = B892DF36FBCBE33582AE5F6826F178FE /* Configuration.swift */; }; - 9D39EF4996CB92E27C1BAF0651E2C242 /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 118A0A4492B525385A8483675B6FCB88 /* ChaCha20+Foundation.swift */; }; - 9D526303604B00B72758C41A697E5995 /* EIP67Code.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37B6B8CF586B8A17D237A993EE028AEF /* EIP67Code.swift */; }; - 9E61496223A21B14280586F3E47065BC /* PlainKeystore+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05A469D88635408C6E0A9730C9D67834 /* PlainKeystore+ObjC.swift */; }; - 9FD060EF8DF515DA0B961EEFA266D545 /* BigInt-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F11F7307F07CC65C25A8F4FF12EEB69 /* BigInt-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A10552DA49C1B421E22D5BBD00043EB5 /* Web3+ERC20.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DDB94F4F7A8AA4FE18B9EBB50F0D323 /* Web3+ERC20.swift */; }; - A2282701DE9BC91494A2065F23824272 /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE75FF51A11E82B5FCDD575E3CC34131 /* Random.swift */; }; - A2800740B805FE08662A48D9C0CFF49E /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 106E8716BF64A92008832D383814FFB7 /* Cipher.swift */; }; - A30DC6AF6EF10EB0690299A4867C9B84 /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 706866695402B827BF2F4CEE1BF58F0B /* PMKFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A3990AC532A16D984A30B92171E19633 /* Addition.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F837E682B0D2339226DCCDA26481727 /* Addition.swift */; }; - A5CE80C2CF454667ADBEFFF8D35EC95B /* SipHash-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FB7FFB5D4BFB8854135A190E6360F4D /* SipHash-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A5DAA10D56BDF5F37BF37565DECAA21B /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = A8E64E89FB29BF345C63383D75E5A96E /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A60E9D71694BFC11E2A9A86B8C1B0095 /* ABIv2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 021230E4853D81084491C5CB19120253 /* ABIv2.swift */; }; - A80D6A613610153FFF343C7385871FE8 /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = F50562362228B990CE143E7EEC4860EC /* Resolver.swift */; }; - A8FFEB53432DC4F2885A8CD8E1E9870E /* hang.swift in Sources */ = {isa = PBXBuildFile; fileRef = 256138718C583C679BA3011347A299C7 /* hang.swift */; }; - A92458877FCA59086F67BB51DDC41CAB /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FCA58FBDB526789B6493D9E0B521C63 /* AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AA30153EC052C2F6DC67B9E50E451A6C /* SipHash-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 54806E1F9F87ABA4B9F69CF94A4C799A /* SipHash-dummy.m */; }; - AB905E3B9A9CB2C8F126AB2F7A985B63 /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DFD3BF6784E7B36EB8BDA06326E1D84 /* ChaCha20.swift */; }; - AB9668A6835AEC7962A3C7768ADAAA56 /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7443C1CD1A0F4F67CD82A92FE91805B2 /* BlockEncryptor.swift */; }; - AD7D2F8C362981D42EA5497CC71F7737 /* EventFiltering.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAAC01A47C8984D8B7CC71964CAB89C1 /* EventFiltering.swift */; }; - ADB06AA1B5A4414AD55E5A2D2653DDA6 /* Pods-web3swiftExample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EE64A9528FF128B9020101AA65FE4AB /* Pods-web3swiftExample-dummy.m */; }; - ADDCFDBB0901A879A2803A20BDFF5CF3 /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A8BE755B00A247CADB17C0D888A15A2 /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AE94E5909CD8A6A29021E7DB20613096 /* Promise+Web3+Eth+GetBlockNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0623D1F8DEDD8DF2D2DB549B42AB3446 /* Promise+Web3+Eth+GetBlockNumber.swift */; }; - AEDEB90675798B030C87A90F64EBE68A /* Web3+Protocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6C066266425FB691258429D89B58322 /* Web3+Protocols.swift */; }; - AF86C21D7723F3C8030AF9530676083E /* Promise+Web3+Personal+Sign.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE61F6373F3AE498E0E43FCEF682C3E /* Promise+Web3+Personal+Sign.swift */; }; - B1E21083CCF70CA10BCFB0D6BDF4DC7B /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = 3D3092F2465713B5799F11ABAF5C73DD /* lax_der_privatekey_parsing.c */; }; - B248D148FE951A0655197593FABD5BF7 /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ACE68F0C0BB240B67D6607627A0409D /* after.m */; }; - B3FEBCC1E6F68131A464D2D28417BA24 /* Promise+Web3+Personal+UnlockAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9364DC443B63993CAC102783E3E2E71B /* Promise+Web3+Personal+UnlockAccount.swift */; }; - B6626A2B587568E2256A791C094CDF0E /* KeystoreManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23DDF1167D5601DCB70F356894851DD6 /* KeystoreManager.swift */; }; - B6DFE0242C66C8E98A2F6825401A50B1 /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3298DB5F4EFFFE85F3D5C56F858DE99A /* Generics.swift */; }; - B8A496A3D5363FF8EF9121E53AD89050 /* UIView+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 96E3F22CA6F457C6C0E539FEED05B7D8 /* UIView+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B9D179880E2C5A583513BF6086375292 /* BigUInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9FF32F58B836138C1B80B183FBC3CE2 /* BigUInt.swift */; }; - BA152925FD32B3DD8E99B6ED52A41300 /* scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = 388FF24BE1726BEA3B2AEFC39035A410 /* scrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BAB523E44314747F529F07E9D858D0A9 /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E92471A6404F95DFCFD6D27751246E1E /* Cryptor.swift */; }; - BBA227B2DA3FCD94E3C3869334FDDE64 /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 89E684D5E2CA396D9C64859D2012B692 /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BBC3534E14BA11CE9BCF8FA0848D76D4 /* Web3+Instance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 328EA52653464590374008597CDB88F8 /* Web3+Instance.swift */; }; - BD25CB4CFA3B80A28358767263C8EC4F /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 426C5416AF2F5EBDF7353EC4417DD059 /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BDB8D41248A445BAFA1149FB0649B411 /* ContractABIv2.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4CFD5F759228BAD6E44D4AAB52653B5 /* ContractABIv2.swift */; }; - BE321B31D7AFC12E0BF53438F00832FB /* Promise+Web3+Eth+GetAccounts.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED3A35F62CF4696CC475089EADED9E19 /* Promise+Web3+Eth+GetAccounts.swift */; }; - BEDBDFC232562E554358904415EE39B1 /* Promise+Web3+Eth+SendTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE6BA4E4F7BB1208228F3E42F90DCE1B /* Promise+Web3+Eth+SendTransaction.swift */; }; - C00477878E267142569D0C12C78018BC /* ABIv2Elements.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07BC37DA3A885BFE9FA1ACF060A68924 /* ABIv2Elements.swift */; }; - C0CB7BA8B8378B845E1231E46A00302F /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A5B2E7BC5B7C1DC93FEB876C8062552 /* BlockCipher.swift */; }; - C688F5C8C2D7B7BEAE10B658160B336D /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = E705EB0EC3F843226C5530B49D66F44E /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C6AA1178DA0B19F731B8C6D0D355262B /* RLP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6407F8A2387DE46158D2B6643CFB5ACE /* RLP.swift */; }; - C8218EC292D51987B5ABF02470D28BF8 /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = 4CC6D0D6768AF0C916089C5F28C32BB5 /* lax_der_parsing.c */; }; - C8B2BE26A0484B6A1523D9E2B3818EDC /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = F956125ABF2FC6AD75ECDBF46DA4BA22 /* Result.swift */; }; - C8FD04BAEFFFEF92BF2303ACA42207F6 /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8860ADCD1425930DB2A6C8824B7787DE /* CMAC.swift */; }; - C970C24BFEAF379BB919A0CD4B1FE320 /* Promise+Web3+Intermediate+Send.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F7D8BAC459724F31F9EF10CC0D98B4E /* Promise+Web3+Intermediate+Send.swift */; }; - C976B78DB3A9AE8CA86A6C9634D9B476 /* ABIv2Decoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27F2F0F8AA0A44DCB15F6C2014B8515F /* ABIv2Decoding.swift */; }; - C9BA69738F1D82501188F3E78B25FDE2 /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = B0C4412C5C5FABF27D7ACA7E2F23CE3D /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CAF7F95BAAA850711BA9ABB88C4DBE58 /* Data Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1CA8B0E93A127B5254EF75AB9709B6E /* Data Conversion.swift */; }; - CB2D6447D8F5DE72BEF8DC58E09758C8 /* Web3+Eth+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA18A76F4C080B687839B8EF95C096E1 /* Web3+Eth+ObjC.swift */; }; - CED84B344142DF490AF0D18D8E9479DF /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 401C193EDE43BF447B84F321B8E1C482 /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CF2D9BDBC33A9414DDEBF3BA43546D67 /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA177BA14669EB8B685B3F62D790F9C3 /* firstly.swift */; }; - CF3EE764A7A7F7F57EB8610C7E684B04 /* Multiplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89C96B4D64AAD6FFE4F71B1EF2782516 /* Multiplication.swift */; }; - CFA93FAF0D4ECF135C0F0E190C6C170E /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6BE5137753028C21E8B2484B016E908 /* BlockMode.swift */; }; - CFCEF00E9F843C0E9885D25D3FE776AD /* BigInt-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DBAF0C2F5BD5A5625B1B234D0E9BF81 /* BigInt-dummy.m */; }; - D1F5CB987F614989A6C17C93F2DD5EE8 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB58A1F8BA189B147A3A2B8EE893A5F2 /* SHA3.swift */; }; - D42866E9D1CC9FAA8B4D290D9021ADED /* Floating Point Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C031C01E004DEF403FA0B8AA6EFF370 /* Floating Point Conversion.swift */; }; - D5E62815F43DB6C9CBF0DEA75BC88E8D /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA8F9990F972DBEA8E1998A5A1F0F1F9 /* Process+Promise.swift */; }; - D65BBA0A22D0D76A1CD79598C618D55E /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 075B36C10CAB6186B33DE99222FED632 /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D9C65DE359CBC075E8237712B08CE6B7 /* scrypt-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1872C3C700D15109420AB2DC4B6455F5 /* scrypt-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DA60C0DBB660F185C28AB5427B4EFA7D /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 61E48BAFB4F86F9AFAEAC7E2CB649B5A /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DCD11459A6DD0C7757AD81AB42D7ADAC /* SipHasher.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9820DAF2C85EF9676F910DE851D4162 /* SipHasher.swift */; }; - DCEFC750784BC92CC015B9B973982194 /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = A05EDF9C50CA5FB4D54C034BBEEF360F /* PBKDF2.swift */; }; - DD69B45CCE6E9919A0D08FE9498D2B2E /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22232C77A8E2D0AFF9A27E485B82506E /* PKCS7.swift */; }; - DDB1738B9B50E6F1120181DE827F7A91 /* UIViewController+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = BAE7C5677B39ED368F1B2A247D241199 /* UIViewController+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DE5662D83AD07D877CB46011E963932B /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20811F2A1E259155573275E6C84F2090 /* OFB.swift */; }; - DF0D4847B87A1A34C252A22B47A68A8D /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB5BC642B12A83508582043830A9216B /* when.swift */; }; - DF7F955F953C523ECE12E71C4990F56A /* Promise+Web3+Eth+EstimateGas.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28D233B339408EE05F382B2D71EBB0C5 /* Promise+Web3+Eth+EstimateGas.swift */; }; - E00C3E6F15B657031D180E254291281E /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C1D71A1E6B38F9B5A6B6225CF2D9FC1 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E0A8CB42FD278D108E4A708AC52D84C3 /* web3swift-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = BB92779C818B8269C48BED9212AAF37F /* web3swift-Bridging-Header.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E17468799BD83B1D0859237015708D37 /* Promise+Web3+Eth+GetBalance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74379D12DD8775BC00C9CDD1434D1EFE /* Promise+Web3+Eth+GetBalance.swift */; }; - E2262EC80364EF8400960EDAF09318D9 /* Web3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A7054BB1922ADB95FE5AC71AA66686C /* Web3.swift */; }; - E37A842880FB67BC31021D43DF112704 /* NSRegularExpressionExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF1AD7A03062250545811E60016148CF /* NSRegularExpressionExtension.swift */; }; - E414C892B9DD5C86CF589F3C119330C3 /* AnyPromise.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3457915D72C8396DE12FE14D7A8852C /* AnyPromise.swift */; }; - E5E3667FFF55ADA12DD9114649E29031 /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A223F737D492A8E44460C4DDC7E5773 /* BlockModeOptions.swift */; }; - E6B051B4B35607992353F833DE6578C1 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 780AE89716057678AA7E7C10379484F5 /* Data+Extension.swift */; }; - E738C32AC026327A0C48144C7979EC30 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9ED56C4C75C737397EB4A6FE4BD26A24 /* CompactMap.swift */; }; - E98669BD82B8EF36AA49932E9A1C5559 /* Bitwise Ops.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6931C147814FD7AC75251959E1F84B13 /* Bitwise Ops.swift */; }; - EB01BFB4856AE2B0729EEF5BB2E4F4BB /* Pods-web3swiftExample-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 421B749E58F87E0C839D613211A2D0D6 /* Pods-web3swiftExample-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EB350E13664115CE53FA7E4C0BC2CDA6 /* BufferStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 178C5FE20A3B38496D7935F91BDED794 /* BufferStorage.swift */; }; - EC5E4784D34A1D2A17EEDD85A46D465A /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC13E3A095630065A63A08AF09FAB39F /* SHA2.swift */; }; - ED758B1BD45542378CBF6391BB8C5488 /* ENS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12BCF9FE41CE43BB9420B6870143B5B6 /* ENS.swift */; }; - ED87753A5604561B7D2436DE33925A7C /* PromiseKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F38AF3A827B05E1C96CC72F240A5AC14 /* PromiseKit-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EEBA55F15AFE35277B68E8ECF0006359 /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74C6B60FD25F8EC022E87CD299A2F7B6 /* Array+Foundation.swift */; }; - EFB65DCDDA87312B24CDDC1F7132FA4B /* UIViewController+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DFB1FBA4C24F7060FC8616294B079E8 /* UIViewController+AnyPromise.m */; }; - EFE805A3CA08B8838793F8E245B5ECE3 /* BlockExplorer+GetTransactionHistory.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3503BC8EDED598CEC412D7358F4643F /* BlockExplorer+GetTransactionHistory.swift */; }; - F29E02078681BBB088849F8B66655247 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDB053580814C7204EAA8C60A26D2F9C /* PBKDF1.swift */; }; - F392AA2B2B63A326860A273536FD150D /* ABIv2Parsing.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FEBAFF6DBC23B47AC2CE0679F9CB261 /* ABIv2Parsing.swift */; }; - F3B5788DE236BC5FDC36A19160E3A121 /* Web3+Instance+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5D175D4442830B35689DDF3D60C5F8 /* Web3+Instance+ObjC.swift */; }; - F41F4AAC34AB627DE3BEE8826AA9D736 /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = 6F1CA839EB126F33A13D3BF58DDC14F0 /* secp256k1.c */; }; - F478A3B08D8979D2B11FC7EC2576FA53 /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = C7A5FC3965022F4087D250C6B9EFC804 /* when.m */; }; - F655EFB3487D02AF6B56FD352C326EF5 /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EFEFBE752ED120C422E3F0BD4914CC0 /* hang.m */; }; - F6BDDA6489801D31B93897C692036EED /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = AE8FBACB218297430528D7CE5DDC95A2 /* NSURLSession+AnyPromise.m */; }; - F78C1DE8D506C812DCD441568DD25248 /* Prime Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62BE568E491C77F75C8D2CF1210EB0EE /* Prime Test.swift */; }; - F95D72C282B42FFE8FE2F10C0AB327F2 /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = D65E0431F0537EA35BD7DAF5F94927D4 /* Poly1305.swift */; }; - FAD004A3C7DC1D0D87FFF0C642A98A86 /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D53A19896270253638D6DADB73A57B2 /* Promise.swift */; }; - FB20391449E34100261FC37107DC6078 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B62D9ABA91167900FE1A8E0B48BF6F1 /* Rabbit.swift */; }; - FBF77F35D1FB8C0B49461F323CC64EF7 /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 397D4BCFA7542A08BF0E44317F724880 /* DigestType.swift */; }; - FC1F07D24FAAD244DFC4B45090EE5950 /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DA74A78957A0CAC7EE67F329C7D19AF0 /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FD0D4090ED18D30D6B23CFD9926574F8 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = E4B92864B1CA33880BA06C60DDA3952B /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FED52EE758698BB66DDCCC50D40D2E97 /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = E5C7B4BF4756A6319C9C3EF43BC2269E /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FF8CB400714408878D8321DC83943490 /* UIViewPropertyAnimator+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B4AC44500F159CD237DA769095DE4A2 /* UIViewPropertyAnimator+Promise.swift */; }; + 002F7F8AD99AB16EEFD4D2EC66C5DF42 /* Web3+Options.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D81EA660BB41A6042EB12554C011FF5 /* Web3+Options.swift */; }; + 00763A6DC5CB5814AA51CAC50219E0B7 /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = F69249253939D72D4870706405B1DD0C /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 00C254F6A4CC3BE1B686A487FB768C63 /* AbstractKeystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91DC39A093E0AC3021796C0C881D7423 /* AbstractKeystore.swift */; }; + 00F71256E738522ACAF0A3837A9CE8C7 /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF39ECE02AE8493AAF47EDD68429E007 /* CipherModeWorker.swift */; }; + 028123624D306D66FE5CCFA650DC451F /* ABIv2Encoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = C79C70AB4E5DF69385497C717CEBFB75 /* ABIv2Encoding.swift */; }; + 029E4B8A9E3B89B94F19AE60A5FD2BEA /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C8FC8BC9825E5A78B2CDACAB1C7EAE7 /* OFB.swift */; }; + 02AA88A345F378DDDAD94FBE2153C3D4 /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = A1EBCC0F3780CD1BF5924A52550B2326 /* lax_der_parsing.c */; }; + 02CCD0123FF7A3ACB4A0E42DCC5CE64F /* BigInt-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ADA5A209265D621A4CF71041B71DF52 /* BigInt-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 03099199C661C6C02EC9030BE7C0F140 /* AnyPromise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 329C9AA169E8289B92C3FEFDA41B215E /* AnyPromise.swift */; }; + 03826F22499C16E2303F4CBFA3F4B200 /* secp256k1_ios-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 57BF46728D1879DAAC9EBF3C6992D16F /* secp256k1_ios-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0383D3FBA2D7DD1CCC83D19FF1B088D5 /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = D3D75A6D93D9A7DF105F25DC93688461 /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 05B60D1C230ACBC8BF1984448505EDBF /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7824C3291189F43DB7D1217F4967A4F2 /* Random.swift */; }; + 060BB18747566086B03D2D74247901BA /* RIPEMD160+StackOveflow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84AB4B26E85BB1F6973CFA28CD3096B5 /* RIPEMD160+StackOveflow.swift */; }; + 066A53F312CC5FC28183A28210B8F581 /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2B5D7FCD090BEF9FFFB3C684DCB1B18 /* Catchable.swift */; }; + 06AED41E6F5C82F9952CA5163D66D6AC /* EthereumKeystoreV3.swift in Sources */ = {isa = PBXBuildFile; fileRef = A740ACE88D9C0FCCAA9BF577B356D151 /* EthereumKeystoreV3.swift */; }; + 086CC60DC623B2A61CF1CA8E230F3249 /* Promise+Web3+Eth+GetBlockByNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 891D55C717F344B9C14142E735B75843 /* Promise+Web3+Eth+GetBlockByNumber.swift */; }; + 0A1DE69222FA7487FCF30F417987011D /* CryptoSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = ED15D096C66E0B57F819BD7C2711C0F2 /* CryptoSwift-dummy.m */; }; + 0A5A7ABD361C4BFCF21D78ABF06C0FAA /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = C7BFE272DA00B10F8102625518DEADB8 /* join.m */; }; + 0AA85817C56EE5460F87A6B84ED73ADB /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 976F6985F84517A349137181F3CBB38C /* UInt16+Extension.swift */; }; + 0B6225818CF8D0C1211208ED65DB3D1E /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAFF5311E9BA57C195A3AF3540BB75A1 /* SHA1.swift */; }; + 0CACF8A72112BA4AA7033AD079F49437 /* Web3.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFE4248F45D9EE5AAA7A83114F6B2BF6 /* Web3.swift */; }; + 0D9AED5BD9970F9FAA6B709531FCA711 /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F4F320F47509747094BF6BAE12A4D24 /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0DB8BE3C362FFF9FE17D9E19DD9791E4 /* Web3+Infura.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B07F39C278099EF682E0CE68BCD5498 /* Web3+Infura.swift */; }; + 0E2058EFEA89E6DF232C0D0367CA2AB2 /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14EB90988A4AD64E02B4BC0D410025D1 /* Utils+Foundation.swift */; }; + 0E71F81FE762CCF68D1D1568A8BC2A63 /* Web3+EventParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2F40252FE652D0C4730C00077BADDAA /* Web3+EventParser.swift */; }; + 0EDDF7477E288E84577052C1658B41CB /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 458014C6622264651F6A80E772E8ED42 /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1007F2C201CB0F9428EB814F23638146 /* Words and Bits.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60BC0AB6A6A28CC649B0FF506918AB6F /* Words and Bits.swift */; }; + 10FD227E060754DD84FF51B1B2D5A67F /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = 353D2E93E15B57FEC4A9C0B5CC561DCB /* lax_der_privatekey_parsing.c */; }; + 11371BD0B588E43BFF1CD5D68F5C7FD4 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 973DD5BB41EA9F79AF3EC787D0C36229 /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1169B3EC51581229EFA1E4C38B501518 /* BloomFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39E4ECDC1C840F2E1D4F0634927F7BB7 /* BloomFilter.swift */; }; + 116FF0F8BA7104A8EA633D1B0D7B2589 /* Result-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BBB4E3EFCFB5EE8A172C605E76645746 /* Result-dummy.m */; }; + 126F1C3FBA6323B7AB317E6D896C71EC /* NoError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 598C899118EB120568F6595B3CA4CF62 /* NoError.swift */; }; + 1304DC56E39237BCDBA3FE4E41862A9E /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = E77AC5D58E1FF6C75FCC6752505572A9 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 13833EC6433306D6D80859640C813492 /* Web3+Contract.swift in Sources */ = {isa = PBXBuildFile; fileRef = B78D71D7365AE4B58112354EDD377D4D /* Web3+Contract.swift */; }; + 13EBF8998AC76281856F84258FDD2F54 /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2535CD8F39B0A548B8948A1D4DFCDA4C /* PKCS5.swift */; }; + 1639CA53F0D4BC32928CCFA4254AD9B7 /* BIP32HDNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D22A1274D72F8069BBEBF15A847277B5 /* BIP32HDNode.swift */; }; + 1647257B4D9A55A1F3314ACF6404D5F7 /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = BA06B61BC294257DACC3E1D0FD32DA53 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 18EE1209E6F559738AA62B36075DFB27 /* Promise+Web3+Eth+GetTransactionCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 100B115D06674BEC5FE6A0B8CEFE2F84 /* Promise+Web3+Eth+GetTransactionCount.swift */; }; + 192C761FAA55B7C0BAE8B6C9620EC07C /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 347D7C773BE16C921C11062107552892 /* Codable.swift */; }; + 1B25B3292EA947EDD7BB8BBFD557CB53 /* PromiseKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 48E5DB8DD854EDCDD6095F95889DCAF9 /* PromiseKit-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1BEC8E33DBDEEC762CD136EBA82BC52D /* Web3+Protocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39676721FFFBFCD3ACA7964DBA994E81 /* Web3+Protocols.swift */; }; + 1C5F2E4BA7BE6A06422712620E1AE0EF /* Division.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F01FE95147DDFFD02325C07A8F6783D /* Division.swift */; }; + 1CD4E827C0EC9D39E979570AFD3DA007 /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 99C57625E52E17DB4D8B152FC7D1772F /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1D2C4897CB73C1E3B64D33E08FDFFF29 /* Promise+Web3+Intermediate+Send.swift in Sources */ = {isa = PBXBuildFile; fileRef = 952E5E5A20415427CA78C75911C62ABD /* Promise+Web3+Intermediate+Send.swift */; }; + 1D5335B7B63350DA411E92FE0F9C813E /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 75D06CDEDBF36C342B7FFE38F8F51A90 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1DEF1D64ED601BF90162C2707F385A28 /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8287DF2117A869C0B6C9BC2CAAC80DD /* Rabbit+Foundation.swift */; }; + 1FCAD12310C043F8A9072C6CF988767D /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7653D4CA3F95CD7C0BD5C5634BC8726 /* Authenticator.swift */; }; + 20184706B98B5BA901297119DAD31FE0 /* dispatch_promise.m in Sources */ = {isa = PBXBuildFile; fileRef = 53053374B0830B4CF86F4E46A7232798 /* dispatch_promise.m */; }; + 20ADB6E2D2319C6EBE37DA44F119D530 /* Web3+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 292938D4E2E614F82D7E4A4A53919089 /* Web3+ObjC.swift */; }; + 20DFE4B49EEAE46732BABB51E4556FA0 /* Web3+Instance+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96F86314D21C56C76D90CA969B03162F /* Web3+Instance+ObjC.swift */; }; + 222B2D51836967D1089878DD3095A940 /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFC18FE05DFD6D953716F8225BEC16A8 /* Checksum.swift */; }; + 235629BF70BDCCD843048436ADA7233F /* EventFiltering.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7535931BF67E66F8AAE328BEE0EC6A24 /* EventFiltering.swift */; }; + 2416EC233D7CED3374899795B2661A81 /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4656C6F079843C6375DBFB8F3F149CD5 /* PCBC.swift */; }; + 24238E1E19686A7C5274E269C9211FCB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */; }; + 242A376408D955350E487D3E2531D329 /* Web3+HttpProvider+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D1A082C236FA698192257797E4895EC /* Web3+HttpProvider+ObjC.swift */; }; + 26E19E8B2BC8C63262E05D47D42801AE /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A6D448881C8648C29B2822564286304 /* NSURLSession+Promise.swift */; }; + 282C8C8F4F37DAC72C13B5C4878305CD /* RLP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FC0C757DEC5E742B77C173A8B9FA6B7 /* RLP.swift */; }; + 2ABF8654708D394C425FE49E444A7A46 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9D56D5E5F9EF5E2211C743FEDCBAADD /* String+Extension.swift */; }; + 2CCC69A35D8263BBAF73B815E5AB8278 /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = DB6B3F25A51F2AB28AC33743DAB74418 /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2E464D2901FA5D092017F62136E143C6 /* Promise+Batching.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2967DC4D563FB31C61E228B5CBB7F6E2 /* Promise+Batching.swift */; }; + 2EF56412944236855432B9B5F3C4FB51 /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E5AE0371FA8682D8CCBB47D262545A4 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2F1FCB4EAD4702FFE60ECDB007015833 /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83D65244334349A7D66163DFEE37F1FA /* Process+Promise.swift */; }; + 30DCA337250F0BF3347548F999C0D6CA /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0FD9DB2AEDA0136A6B828690C3BE23 /* UInt8+Extension.swift */; }; + 313AF5ADF37E9908E80116CBE9A08433 /* Pods-web3swiftExample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 59F77AE95BC9FEABC9D930C1AB687A02 /* Pods-web3swiftExample-dummy.m */; }; + 31580A5F9F52127289617022E521EA76 /* Salsa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 264884CE631173016E083169227D349F /* Salsa.swift */; }; + 320C1B66497F7A138EB1D642CDCE22AC /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03180B6A770752FE7AF4453AE81CA412 /* Cryptors.swift */; }; + 34412A2B372C4B46E37201E2E9DB0048 /* web3swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 35D8A4E4B2DBCC4C72036CB80D4ED663 /* web3swift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3508DE381A1F7BB7874717DA81D49679 /* Web3+Wallet.swift in Sources */ = {isa = PBXBuildFile; fileRef = D48E4039D8A05D930087548282B6EDFB /* Web3+Wallet.swift */; }; + 3638DE61A4AAC74549E4E4D50DE21140 /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FAFAE9D7630D61F389768DE544675E3 /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 389B1B7CAE05D1212618C8FEA00B8559 /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FA106D7CC1651054D660C68F23DE86E /* Promise.swift */; }; + 38CC7371C0CCDD34630FB55D1B1FE8EE /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9CAE13A8BC055260DED74FDBDE2A710 /* AEADChaCha20Poly1305.swift */; }; + 39FA54F442116DAE993C29047DD5DFE8 /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1080142E5C98D83C6423ACA6241A5A6 /* AES+Foundation.swift */; }; + 3A3743429F44358D2D9A22A361A578A2 /* Promise+Web3+Eth+SendRawTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68BB7A2BC3583AD28EAD25EA7ED9D5FD /* Promise+Web3+Eth+SendRawTransaction.swift */; }; + 3B2B2FBE097E322CF911DE111067CE1C /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 078AF53D6A07F762432A2424B5D58161 /* StreamEncryptor.swift */; }; + 3B32F1B1529E347404566192FBF59B31 /* LibSecp256k1Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66175BB0554541A3D3816C0B65138569 /* LibSecp256k1Extension.swift */; }; + 3BDF1A017D709F6906EB6D80A5C2DC21 /* String Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83028A48F74FCB58CD998F99671B2730 /* String Conversion.swift */; }; + 3D75BBCDE541EBCD957E5A88F27E3759 /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = C52F5EDD1118D33A3B10C6452A089E8F /* PMKFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3DF3CFB359275D2F13C0582198384948 /* EthereumAddress+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = E876079E09845BBA655ED734665C8A43 /* EthereumAddress+ObjC.swift */; }; + 408DD0B99E8B5D002EDFF64857434F33 /* Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9008A60A0D23BDC48F41DFAA7F9FBA08 /* Comparable.swift */; }; + 409AB8F2738245087DD60C50D35C3BAE /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = A4AD0B0CDC89E37F1F3D10E361AB2BD7 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 409BE8830A676B9A918AD077D5FF56E9 /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2BB223B0460060F3F08F67C605E6971 /* Bit.swift */; }; + 40DE88714DAB5B695E9504CC44074768 /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E396C482D49D085DD8E5C6F1538A1B3 /* DigestType.swift */; }; + 414CCA7E94F734241C7D0FEC73191B72 /* Web3+BrowserFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 845B2F9B3F1C9FB2895E49DB515D07CA /* Web3+BrowserFunctions.swift */; }; + 415244A9CA0ABFDAFE8F9AE2885A27D9 /* race.m in Sources */ = {isa = PBXBuildFile; fileRef = 95F9DAFFDEA63060E250D163213F0C61 /* race.m */; }; + 41E9ADB001B08B9B3C12A8F954B1380A /* Web3+Instance.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAB94D7201EC9D4222C28065007D51EB /* Web3+Instance.swift */; }; + 42765D981100A8DDF5AB1137C53FA683 /* CryptoExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F227060DB927464FC9041C45A8FFB80 /* CryptoExtensions.swift */; }; + 427CCC9BF12EFD167E5A2466E0800662 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5766E309D1AB7421873E2E4C04C5A5AA /* UIKit.framework */; }; + 43787E958BCA388DC0A35719D58AA8C7 /* ABIv2.swift in Sources */ = {isa = PBXBuildFile; fileRef = E32EAD6B9FA7E7949B7E044DF88FAE25 /* ABIv2.swift */; }; + 4413CB40BA7831228B511444C65D4598 /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = B225A007A4268038A9E454D13111A89D /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 455022BD6C131F380ADC838E416869AE /* after.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C8EDCC12EBCA64B4D3B9C433300DD15 /* after.swift */; }; + 4575619E0D86ECE1E08DDE865D6EFE2C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */; }; + 45E7587AF987436DCE0EA5F264221163 /* BIP39+WordLists.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B102B3CA88EB8D8489C8BD4E882B887 /* BIP39+WordLists.swift */; }; + 46BD7484F9CCF884C8A6CAF420742AE5 /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 90FB08FA3883CDF506EFD3894126E276 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 46C58EC1B780C2200D4E5D919B3C5599 /* SipHasher.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDDE6BE27FBDE2D0053FF4448C47148D /* SipHasher.swift */; }; + 48743A0B0B3B20D0ED87CF7DC79EC2FB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */; }; + 48DFE885EFB47BA9357E5E14E888211B /* PlainKeystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 785088A8C7337172C11F39BC9A4A9321 /* PlainKeystore.swift */; }; + 493DBDEF9FCD12D7123669FD8A9E4ED8 /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA571FCCE0EC4EA1D6F0234A756DE463 /* HMAC+Foundation.swift */; }; + 4959715C70113FD032696A21147492E3 /* Promise+Web3+Contract+GetIndexedEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47C25EDDC521B2D33E3E14E53A09B8CB /* Promise+Web3+Contract+GetIndexedEvents.swift */; }; + 4A8378B2DB22C72EE7097963957E4975 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 788557B540DA06D0AF67BA99AF689F4C /* Configuration.swift */; }; + 4C006DD7D86E3A0D2F9FB5E2AEFD396E /* NSRegularExpressionExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F403D2ACFA1FBE4817C4DD35F625E829 /* NSRegularExpressionExtension.swift */; }; + 4C691971C96B4DB9C05916B9E6049502 /* ContractABIv2.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAB3B3DB7F29D6CDD16814E658597C38 /* ContractABIv2.swift */; }; + 4E581DAE61FBDA958EC801E7AB4D50A1 /* UIViewController+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 619A8D3D3D97DA2E15C31D9AEFCDABF8 /* UIViewController+AnyPromise.m */; }; + 4E63355A79E87A47052FF7BE0BDAA343 /* Web3+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20B0DF172F7BCE780CE4325B9FA737E8 /* Web3+Utils.swift */; }; + 4FB1270D906EA5C11DDC829AE5191718 /* Floating Point Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4CD7FD8C56DD910536ADB36E1277B34 /* Floating Point Conversion.swift */; }; + 4FF08A981BC45F80F749B3B61F57F48A /* web3swift-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = CED83459CAB009994922F31BDEFD623E /* web3swift-Bridging-Header.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 50322A8A7E46ED66E0C1CAF9F7F2162C /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EC0E04C3669680657625472D862D24A /* afterlife.swift */; }; + 517877F9B6573EA88198DCE60D14529E /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B7D9D842F7D0AA20338FB007081B95 /* Array+Extension.swift */; }; + 51C9F718376F1C4E6582A410C2E90FCD /* EthereumAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CB230DD879156CD4033668CEE509774 /* EthereumAddress.swift */; }; + 51E590F089649612858EF086B0A70EBD /* Web3+Eth+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27CFA7ED30A911A75D056CBDD52EF777 /* Web3+Eth+ObjC.swift */; }; + 522F04B75736285444076E68D66DD971 /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F4ED35987097AEB911D8C66F9DBBFB9 /* String+FoundationExtension.swift */; }; + 531CF173530CF762BA014B482E2765A1 /* Prime Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01B9F8302C27EEB6B1B175888E08664C /* Prime Test.swift */; }; + 538C6A258F935F06DE9961004DC18E99 /* Data Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2691542C5286F07821B7CD3CF161270A /* Data Conversion.swift */; }; + 55269F22EFD97643EE271CFCFE8E8290 /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56AD7AD28B0B51693A9D7B079E162D05 /* NSNotificationCenter+Promise.swift */; }; + 5563BD4C5797B7CFB1661E0270BEC931 /* scrypt-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = EA9156726C96A92A511AB297A9A9E3A4 /* scrypt-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 59E39ABE1E262D82F21AB859BAA0252B /* Pods-web3swiftExample-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 26986386406787D15D8C39F0B109D08A /* Pods-web3swiftExample-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 59ED8A2C470C704D06EBD04FA08DC8CD /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 92BA0A05E447FDB20B427DC9BA3F17BA /* NSTask+AnyPromise.m */; }; + 5B528D78E102DA266E62EDF868A924ED /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D780067516C26611C3598987A7B875A8 /* BlockModeOptions.swift */; }; + 5BA3E93A31BD8E788ACDC074BF9173DF /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41C6D67293FF379F07747E16571D4A7B /* Padding.swift */; }; + 5C95E757F399AAB9A3A7934C6CB2F8C7 /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CAC92B61D9654425EE1338FD274CDAD /* when.swift */; }; + 5EB1E58D38587644D3316C80683FF2E7 /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = EC27CE020482173FFDCE321039C1E1B7 /* NSURLSession+AnyPromise.m */; }; + 5EE4E0C0152AC9B60B5FDE21D1FE1376 /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = B8CBA501A152AA198F4C80D0E17BAFED /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5F0A86C61CAF70E58EA049D39F6986D0 /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 40E213322D7482A63CDC0B2220AE92F8 /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5FEC7B656ADC638E54103241C6C7EA8C /* scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = EB90911DBCE2B6C999C122F3EC56E386 /* scrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 61BE8DC3CCB15BFCC1FEE6F7939661A7 /* Promise+Web3+Eth+GetAccounts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 958751D0D47E3CCFFC945333CEB4F72E /* Promise+Web3+Eth+GetAccounts.swift */; }; + 6255AF52A113C5C624A545D90892CA83 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = BB1C6578AA63B23B241C85DCD3EF3D21 /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 62AB1143A260C92031A2BDA46B43A317 /* Result-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 27185CC1895D79F7DD34E6740F038154 /* Result-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 63782F3285FAA31B6F008F2061D17962 /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63210423770306A042AA9FF3B458E4E7 /* Updatable.swift */; }; + 63C167BD70D688AC5489A06251A6025E /* Promise+Web3+Personal+Sign.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A270F07FA0270BCC20180DB9DCC1B67 /* Promise+Web3+Personal+Sign.swift */; }; + 640BB66F12A6D78556068CDF7BE37784 /* ABIv2Elements.swift in Sources */ = {isa = PBXBuildFile; fileRef = E33486FBAA345E14AD805DEC0E47A803 /* ABIv2Elements.swift */; }; + 66BA3F31DB96AB44086B540815DC24C5 /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD0F82A7D2464AEF836A81F2E23371DD /* NoPadding.swift */; }; + 68658EB3A3F87578A106603B085A69CB /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A81B88260492B4477381A6A631B8D02 /* GCM.swift */; }; + 693C57B0B65DC83E1555A5C2B81B3D61 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC203122F4CADEB96AD6DC31C9B89CD7 /* UInt128.swift */; }; + 6971ADB08D769BFBED32F3C60C547AE4 /* Primitive Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = E27EAF74BA22155644BF26D238704159 /* Primitive Types.swift */; }; + 6A19EFEE2A0EA24330B43B9EB40ED57F /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC990486D4C0CEEBBB80C141DC8AAF7C /* CustomStringConvertible.swift */; }; + 6A5266BC118376146CBF0FBE1D3CD067 /* BIP39.swift in Sources */ = {isa = PBXBuildFile; fileRef = B230E8C1B6762E788B76F2AA859FF02E /* BIP39.swift */; }; + 6A9086C4572C4F6541AC78DD1265EB7F /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = E9124AFC41B95D43CF8CC563C862991C /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6AC28C41444CFF537AC1A94D82E6CE30 /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A0AAEC1A587F9F34485AC86C4D355AE /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6AE91686DA9073D6CA45FF5075E46441 /* Addition.swift in Sources */ = {isa = PBXBuildFile; fileRef = E035FE22D8FD996F3D0563F19CB710CE /* Addition.swift */; }; + 6BE8D77D9B1DBA1685D7A66EDD89C5E5 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9025BAAEE8CC693DC8E66CE52E77768 /* Data+Extension.swift */; }; + 6CA43D480D59CCE6C3022B6FB860DD54 /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A898FF424BAA4A4E440EB964B7BB831 /* BlockMode.swift */; }; + 6CAB83600CCF9E95170473F8234921FA /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69DD73C0AA680B56241490A79FDB334B /* Result.swift */; }; + 6CEA49D30549F21750F502823DAA158C /* BufferStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC96BFAF2B1203FC9CA3C40F8C68BE0A /* BufferStorage.swift */; }; + 6DBA91E98EA3741594A1235DC7620207 /* BigUInt+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4D0235918D0C322E2E83A50D0A2CD24 /* BigUInt+ObjC.swift */; }; + 6FEC51B5BFB8DCF0676B5E4BE46C3673 /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D699FB2D6E241D8DD3F2A527E0F732E /* RandomBytesSequence.swift */; }; + 70586DBC0FCE02A174A7289612B1F4A1 /* Subtraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2742EF48D7A9BADD15DFA2028CDB4AD /* Subtraction.swift */; }; + 718C642040F35BEA8535D17B4E27A943 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */; }; + 72CCA97DBFCACB74A5FE01DBFB69740F /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 1726EC7BDEA2D89FB4D2AD0CE0562EB0 /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 730A21FE23F5384258BDD6AC6B2F64FE /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED32FA320D4B20F774457FA9C15F4DD2 /* Int+Extension.swift */; }; + 73102333360230E5C8A9291A0E823E2B /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 912B8C0B1FBC7A948BA82A00E7045D27 /* Deprecations.swift */; }; + 74D3C9CDD4497710D136EF41E2D7940A /* UIView+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D9827104D7B5DA3C16491C9811CC664 /* UIView+Promise.swift */; }; + 74F8840AB444CA331900088D83219C36 /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4079EF5F5CB33767D580095FD9CE038E /* CFB.swift */; }; + 74FA4E3559ADA2E7BB1C9D6E9E8AAF37 /* Promise+Web3+Eth+SendTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA17BEB9A7129021CB18F6B91D12748C /* Promise+Web3+Eth+SendTransaction.swift */; }; + 76691510142C52A1ACC5E168EF593AA3 /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D88F2B395E5E3F2C3E61220B75F9EFE4 /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 791475EA185803133514B38B3FAE5419 /* BIP32Keystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 573C281E9AC6356B325AD8D6510F60B7 /* BIP32Keystore.swift */; }; + 79286AC9F08C96AD6B9F2B61DF5023FB /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = 60D6A69168B4A121E9E39646B6E40E1A /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7B2159CA7807E3B32E0C0C30209A01BF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */; }; + 7BCC4966D8B68BF25D6A6E55D49E278C /* KeystoreV3JSONStructure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 135C2258FEDDC235C7E7781BD638E0D0 /* KeystoreV3JSONStructure.swift */; }; + 7C662950E114EDA7DEAF253EE5841534 /* EIP681.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CCD691C76047A933F592EC30383C674 /* EIP681.swift */; }; + 7D185A3BC322B12664AF0CC92971CA64 /* Promise+Web3+Eth+GetTransactionReceipt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 376411273811B98AA866A25753F7A66E /* Promise+Web3+Eth+GetTransactionReceipt.swift */; }; + 7DFFB011553BDD738BEFE0F582119989 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E4C0E96E391A3A6478442E71331B4C8 /* Utils.swift */; }; + 7E2C56629D76BCBB9A7597AB3C01230E /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = B5B0E053F4769044408474F4EDD0450B /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7F1951CE198D26F00A57E599E8A156C8 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33DC10E06571EAC477A1E0EA68D6DDCC /* SHA3.swift */; }; + 807B07BE5F3E0281F560DBC081BC8EF0 /* GCD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75B53B7D429106EC393E04CCE7E0FCF7 /* GCD.swift */; }; + 809A3965A2E9593BCE26CAC23D39C83C /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 753FBDA47B0F3ABF841BFB35EE89BF17 /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 80AA0105BEEE9286664DE223447D5BFD /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A505618B7794960687DBA4DE9404FD /* Rabbit.swift */; }; + 812FFF9974631FD48A86B071AAAD70C7 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = E91345FF5BDDF745793EEDF104FCDCB0 /* Error.swift */; }; + 83DCB51AC89FDB9A5EFCA77F42E2BD64 /* UIViewPropertyAnimator+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93527029429AD83050A8FED1326A171C /* UIViewPropertyAnimator+Promise.swift */; }; + 83E70ED9E7FCB1E454707FABAEE0C49D /* secp256k1_ios-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 950B12DB7F4C7CF3F58880BC46966315 /* secp256k1_ios-dummy.m */; }; + 85784EB74592B1F757DB340F92867BBF /* Multiplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F7C2F3619BC1AC64F8ABA62C7169C22 /* Multiplication.swift */; }; + 8592249C052EDBCD63F00D8D4710AA51 /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BD8F7B538E9955AD6B31C5548E85E3A /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 869AB1CFDB2B38A223D116F72A3E4233 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */; }; + 879BC75322CA6DE36F0A0CD945389A8E /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB6386E81F459ED74E6BB3E8FA4FF3CE /* CBC.swift */; }; + 88B29449C32692F7D73AD19AB9508E9E /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FE8C570A67B72F1871BDC1419D7B753 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 897E29344596CED94C8C73BED4A11573 /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7BE49D1EB253D7DE7539B872CDAD284 /* Scrypt.swift */; }; + 8BBA8708379FB610EB986C6AB1A55CE2 /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E2D99198D5B7D091C057148F3CDC4DC /* Cryptor.swift */; }; + 8D4303A4D5211E6AE958C8457C8685F0 /* BIP32KeystoreJSONStructure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17030AF3741AF00A5A580D4345C62671 /* BIP32KeystoreJSONStructure.swift */; }; + 8E13C6E338A8211FE29C5883AA49C379 /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFB2C7C3A237D8835945428FD197C62E /* Array+Foundation.swift */; }; + 8E8757AEF9F6B8DF5B03D98B670775D4 /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1416B00744E099B449B5484EB4FE66B9 /* ChaCha20+Foundation.swift */; }; + 8F6EBD2B192DFF91E1C9D783A3257186 /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = FFB342B57716D3C137EA03417F2362B3 /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 901EE7A09AC4266A373940B173492982 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D7048890B198E005491CCFCEB097B6C6 /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 903162D5F5F9CFB9592A9DA8541BEE24 /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F3913F7F2CBD112E100212D4E6CD280 /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 90BC99CEAA9416F74A738E33D3599D44 /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B6D04221009B07824A6130FC77D31C9 /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 90D4B17E148D3BF98981EC70E145D41D /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FF21379AF18F46F4F0D6D75E0FF54F4 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 91A8E04DEE9062D981048CA8E4E6E8EB /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFBD00269481FF629C0D75143D8ED5CB /* Operators.swift */; }; + 9203B30DE38793571B0095089A85A6C3 /* KeystoreManager+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7F281434684B8C111CACBAE1BCD1B8A /* KeystoreManager+ObjC.swift */; }; + 9284881BE476A8120F8BAEDAB18AC9D8 /* AnyError.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCD3FB4606DD884C6F35F97D863A296F /* AnyError.swift */; }; + 93DAEF762AF4E2920D206F88D8B7C41F /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F61FB300C8C0447EB3B39E0D27DCC86 /* Digest.swift */; }; + 954FEDA487771E21F37475C2D1F85FDD /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 819DF3E764AD03A99AE1276773AA60D9 /* PKCS7.swift */; }; + 96B01C81222EDFBE07E1113BD5C8709A /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = B76269C67E36441FAD8FF805B6A60FF1 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 96B7FC322AC43E4559A1E7085F5977E4 /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = 5278987D2532144A7BD28E9111659639 /* secp256k1.c */; }; + 973835E7143B221B1963413928B2D5A4 /* SipHash-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = EAF65854A3BB618F07D90EDF805CA448 /* SipHash-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 993523EB326D12F27CA076957296D7EC /* web3swift.h in Headers */ = {isa = PBXBuildFile; fileRef = EAE853F3B901CD0EFBB3049D7288A635 /* web3swift.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 99A160ADF20348295DE343E7BE6969E7 /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 69CA1E92AD82C49EF237136039463B58 /* PromiseKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 99E69744951D77345EBD5D2E1F4B6EA3 /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29C001CC84817EC570F42EB843806088 /* ChaCha20.swift */; }; + 99F2F006365C8153B433B0D6519E60CB /* scrypt-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 914FA8B4E5606148A3FDB7A4AF04B6C1 /* scrypt-dummy.m */; }; + 9AD9BAC2BFB2F5844FE2EAFCD353C009 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8991CD2A50906AF10EB4BDB7E932FAEF /* Array+Extension.swift */; }; + 9C2C36DFE4B3034B0284D83C2B6D75F0 /* ABIv2Parsing.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE50FC315B634183486EDEF0DBB59268 /* ABIv2Parsing.swift */; }; + 9CB55B6F7E057141E3704C800EA13C89 /* Web3+Personal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87A57BF304C2840A5AFBC40A55F95F7A /* Web3+Personal.swift */; }; + 9CDB1A02BF14D3FA9ED7767CD865E621 /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4147FE7BEB4CBD63C000B5CDFE1CE694 /* UInt32+Extension.swift */; }; + 9D6719DF68EB45255D72D5D894ABEA8D /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FD0BFFC7C6E627BB86EE5C540F71341 /* BlockDecryptor.swift */; }; + 9D9C558DB69FEB1ED39E011DBC63A76D /* Promise+HttpProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = C93101B181E8AABEB131C0915B6F3015 /* Promise+HttpProvider.swift */; }; + 9DC16ED0186FB4FAA63F91DF2284F5B4 /* ABIv2TypeParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4DBB0B96A0D97186D0D275913EFB6F4 /* ABIv2TypeParser.swift */; }; + 9E39E12281D5ACCCED1214F2F8E7FBCB /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = FB9227AD4EC63BDE92E26BD15585FCA5 /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9E99F580BA70CA1755A2CB88CFDD12D0 /* Bitwise Ops.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB5B6ACFABC7EC18ACEAA8633842A947 /* Bitwise Ops.swift */; }; + 9F0E04F678341D3BABD67F41B9F0A784 /* SipHash-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CB0F38E28056726FF806F5BCFE43B68A /* SipHash-dummy.m */; }; + A09DF175AC968737B7A979CDDCE9B740 /* ABIv2Decoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F07C5E878C387F3ABE98CE9E9CC042B /* ABIv2Decoding.swift */; }; + A13114C8DF64DC969B166D90D90C93D5 /* Promise+Web3+Eth+GetTransactionDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE2E92733967F592C99E77387B2DD8FD /* Promise+Web3+Eth+GetTransactionDetails.swift */; }; + A1AB964743F0699F984589A79E8BEB2C /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0582381AC2421163F7FC6854DF81F48D /* BlockCipher.swift */; }; + A1B4B5E67C1A85B4EF0764D02000CC36 /* Promise+Web3+Eth+GetBalance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 373E0AFCEE02274BAE66A586B88A17D4 /* Promise+Web3+Eth+GetBalance.swift */; }; + A230F02D50871D17994B9EF116ECE5B8 /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75BBEA9589DE194D6D03679EDBDB8F36 /* Collection+Extension.swift */; }; + A247B3F2DFC919B9040D135679F8F973 /* ComparisonExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 094419FE4BE23498B11CBA6A878600DF /* ComparisonExtensions.swift */; }; + A353FCEF28A16EE6DD1E798805A4195D /* Promise+Web3+Eth+GetGasPrice.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2B568367A9864B63A35097D9E4AB93A /* Promise+Web3+Eth+GetGasPrice.swift */; }; + A3BFABE55739664620DBD17FBCDC7167 /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CFC32E2261053E3091FD1DCC05DF4D5 /* UInt64+Extension.swift */; }; + A504680DC4D09BECAB31AD17442D6193 /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CAF79CEAC3F53315AED830078D52BA7 /* MD5.swift */; }; + A54605541B253BB07995E7739AE98BEA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */; }; + A6A4E89F4E4F313C578324D21AC2CF30 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6030A6AE80EF19BF46A279BA9B759C1 /* ECB.swift */; }; + A73626E8BF7B64C1605FD9FEEC31911E /* SipHashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A96630CA550118EAC05864B2C651DF35 /* SipHashable.swift */; }; + A7A2D678ECF49203B326B57D425F3F5D /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 850721D7FB7DE9412EBAADE3BE6A6532 /* Poly1305.swift */; }; + A81872D07159FEA88A0E51882593BB1D /* Web3+Eth.swift in Sources */ = {isa = PBXBuildFile; fileRef = C613C1A4193B296D8171C94206D33C31 /* Web3+Eth.swift */; }; + A83A9339CF7777B3639BC3ACF15AD200 /* Shifts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 693EA8BE7F3922FAB6C8D9FB9B29DD52 /* Shifts.swift */; }; + A8ED2011C6459454B17016453117E474 /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = CB23B0951CD5D604D24EA76B4B41466F /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A924CBC85FFB545CD4AFE5C30B5AEBFE /* Square Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E651A4C1D8411BB17C4D0A883ECCE95 /* Square Root.swift */; }; + AB82DB3EFE2358CFBD953CBE5B6A78ED /* ContractProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D8007518DBD2C969B8AF1A986FF45C9 /* ContractProtocol.swift */; }; + ABAA5DF8E066AB78312E7B86F2113CAC /* ABIv2ParameterTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D57382F3D45CBD48EC909FE9F31DD25 /* ABIv2ParameterTypes.swift */; }; + ABB16B77223F03DEFE19A3D29BD57A6F /* Strideable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76C5EBB02B365D308E28575CC36D5CA0 /* Strideable.swift */; }; + AFE6F1DD2568B8E29ABFB63BC2F45386 /* NativeTypesEncoding+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B8E411298FF1752518A56381CD096CD /* NativeTypesEncoding+Extensions.swift */; }; + B02BBC80956D7BDA1F0890275173227A /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 414BCF28F898344A3ACB4CFA9EAC0C6A /* ResultProtocol.swift */; }; + B0424CD39C7CF9838EE85449AA0CDC11 /* hang.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DF8BA790BE9738632EE52265150D03A /* hang.swift */; }; + B0888E2B0EAA782E80DC68316842968F /* PromiseKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 938683358C3B5AA2CFBFE642980B4AA3 /* PromiseKit-dummy.m */; }; + B19E4CAF3B4FE4212C286D7326949C8F /* Web3+TransactionIntermediate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9D0562D53ACD302EE60EE8967515E45 /* Web3+TransactionIntermediate.swift */; }; + B23D8193C1A9CD528235AC938F3DE779 /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = B3AE1B016C720A6861CFEEED6B0B1E5D /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B445F0CE0E3F59F3626F5EF8CD7EC353 /* BigInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FDA429500C1942B661A657EA51E45DD /* BigInt.swift */; }; + B5063849D8178D48CFE6BFF1B8B9B1F1 /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = F4CE7F01DBF56348E5D752C5E4A2573C /* hang.m */; }; + B5B8AE814BED84CA67054EDEEAE547A2 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 709E41B5FAC1DD8F9B55AF533813EFBB /* Data+Extension.swift */; }; + B76AD79D919B630576536F2462ACA4E3 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0EAE40505327D2CB02940BDEB3B21DC /* HMAC.swift */; }; + B7C57A67BB4AFC411DB31B7CB5B6B9FD /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = 6799868DDDED4341574C8A8D6027075A /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B892A7776D38BD3022DF881E43B813B3 /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 02DC13AF775E722F06F597A8A14B0AE6 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BA678376264117D59BF4EFC93D854537 /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78EB2D7AF07B5FB60C2DE1449E308285 /* AES.Cryptors.swift */; }; + BAA0C902ABB98915B52D6F5310E8E4EF /* UIView+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 394D7CE2F861BEF42B052C1127E8BE02 /* UIView+AnyPromise.m */; }; + BB5BFB94695CEF17AE75B9CE0A68F177 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */; }; + BC16041490B59CF1918F8A48F6505959 /* Promise+Web3+Eth+GetBlockNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 212B93EFB576141803D3468A4F741935 /* Promise+Web3+Eth+GetBlockNumber.swift */; }; + BC73142D48CCD117C6F4B7AFAA254F0D /* Guarantee.swift in Sources */ = {isa = PBXBuildFile; fileRef = F46ACB0433C87E504F733209EBE2BF33 /* Guarantee.swift */; }; + BDF76907A74CB47143093603602619EB /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = D646DCC70198FD61095957E5652DEF33 /* HKDF.swift */; }; + BE542E63E2485118E79441E7999F55B1 /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BC6637281B8A68F6FC9D03AD4BE8663 /* ZeroPadding.swift */; }; + BE95728E93BC22D4E96096306FB98331 /* Integer Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B2A909107AF59DD8B8759CFE5DC93C3 /* Integer Conversion.swift */; }; + BFBAF99A0E26012C6AC30E523F907883 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D7BB0E009A62667D94F3144CF4F0FA0 /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C0AFC3711AFA96EFEA49AC3E336E59EC /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 123FCC5CF86530D3AA0B411043CCF3FC /* String+Extension.swift */; }; + C0BEA3AE3A9D32BEA36E9F305BE0E9DB /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39746AC697FEEA2BEB3737B0A0ADB594 /* SecureBytes.swift */; }; + C10B358E899775E5A1CA11C725CE93D3 /* Web3+Structures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51291E05C571952BED7774C956E85673 /* Web3+Structures.swift */; }; + C1656619715A02B614AEBA99459F996B /* IBAN.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3724656679C0E551B0D424B10D8BDE0 /* IBAN.swift */; }; + C2718750F418C5D2B3156FE222D7E588 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */; }; + C2A31DC9B5491A34D20260BE0FB5431A /* AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C56A8FF9537CCF10D87B749E9F62732 /* AnyPromise.m */; }; + C2ECA5F3DF56072B8FA9BEC7543D0DDA /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 474585527D4B8900A32D2242E978847F /* NSNotificationCenter+AnyPromise.m */; }; + C31A5F32FE61914B45BEC06BAAEFE033 /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C339595D926BED9A5D0167C24CDC4B8 /* Resolver.swift */; }; + C477F9CC9D6A21DFEAC4E0A4DCBFFFAB /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 046EE18AB153A100831CC08374F28865 /* Cipher.swift */; }; + C4B679ABDA72C47D64527AFBE4C04FEC /* web3swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7490D6F83AB700404C125AC3E6A130A2 /* web3swift-dummy.m */; }; + C500D01C45D029E9E85D29383043CC72 /* NSObject+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F6CCA99139E9FA673025D313067429D /* NSObject+Promise.swift */; }; + C5BFE54E462CEA37EAE05F06CC40CAFC /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FDC70BC746BDB97351736B2E75A507F /* AES.swift */; }; + C6B939C5DB85F68033B851B536DFAE97 /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BA64E966CB81F4DBF7A2DE773DF868A /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C8191586FF54E17A336D3D2D137BF524 /* NameHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = B271D2C6AB2B214DB0BBE7869FA70164 /* NameHash.swift */; }; + C98B6055A3509C2A51349554D6AB446D /* race.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45F782717284628C9976CC3513689E42 /* race.swift */; }; + CA3C9E912D97C56C04DEFC16FEE5BD8B /* Promise+Web3+Eth+GetBlockByHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77BA68E17B6BB6941FB1F5C040C24663 /* Promise+Web3+Eth+GetBlockByHash.swift */; }; + CAA45BA0541A7F4A2D854952CDA92758 /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = 20CB207C8B0FDA2529F2F5D253C4A534 /* fwd.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CB8C7EBF77B59ACF71AC7D62D4D662FF /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = A96F34D195736EFBEE26EAF01CFB8519 /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CBF4FBEF42C80D833C3C93460086E4CB /* Promise+Web3+Eth+EstimateGas.swift in Sources */ = {isa = PBXBuildFile; fileRef = 534FF25435EEA486F21EC56EBCAB291A /* Promise+Web3+Eth+EstimateGas.swift */; }; + CC1931CF82E7096A93F71FAC15A2368C /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F4A3C614502E99D77C9651CF09BD01B /* firstly.swift */; }; + CC649B6B389468CBEA2D8CC1188D24B6 /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = C0330E643D2770F7C6D422B4085388DA /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CD2E4A6C7480D47AFA2E27FBA6F538B8 /* Web3+ERC20.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DAD5F524037255589944BAAAF9B3EDC /* Web3+ERC20.swift */; }; + CDE9115B99FB035DF31575BCD1856176 /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = CC7703D2D8872FC0ABD92EE3F90EBDCB /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CE4EAF03E45F6783B55462ED597DF674 /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB2F2E4377859F7D681FE473B587053B /* BatchedCollection.swift */; }; + D067A5252ECCBB152D142B02C6A48497 /* UIView+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 14F7AD83E425807B028866A517E0155F /* UIView+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D09091B94532C278BCF3C3379CB58848 /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4FEF4545266F6206AEB6A317C63BDC2 /* Thenable.swift */; }; + D0ED390D223D65AED4918159B4E83518 /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = 61C7FDF5E2DDE25A864126B5CDE2560A /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D2334E5723DA38C7FE9EBE99DA28978B /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 729AEEED6FDD90CEDBADA5C6755B9536 /* SHA2.swift */; }; + D3D29344FDB7450A4C53B18EAB183EFB /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 6850F16CFC2F18D10E4E30E73F0552A8 /* AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D3F8A6927686E5F587F6C37A8768EC5E /* KeystoreManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D8E5BAB976E1215ADA818D366891226 /* KeystoreManager.swift */; }; + D48257219A517C7B544EC8F5FC7CE52D /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B33E9D7080834138F6B05D08954A9AA /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D4D59603BDE5980B8070D37AC4E202ED /* Exponentiation.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD0A982799C4459FD2E3166540B9A18D /* Exponentiation.swift */; }; + D531C0F4DC34B01BD246C1B1EC5068EA /* EIP67Code.swift in Sources */ = {isa = PBXBuildFile; fileRef = C191C1B178EC68CC1E14B9012A443F62 /* EIP67Code.swift */; }; + D5C5C921C1CB10C4A9A5EB05361E7338 /* CoreImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D1FE5696E0B254ED3F3CEF1700BFE3EF /* CoreImage.framework */; }; + D6F5C3DB51F463EBC05A47E34AED52C2 /* UIViewController+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 5419632D59B4453866138B147398B786 /* UIViewController+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D91CB1FD9B8648ABF4E539F1D026D6F2 /* Web3+Methods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9778E61DBD908F7C81939F9640787434 /* Web3+Methods.swift */; }; + D95CF1C2FE09EA43DF63C4DD978D9A3C /* Web3+HttpProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAABB0F89CF876EA103285C487CD9403 /* Web3+HttpProvider.swift */; }; + DA049A324AEE4E1D0660D0605F2B36A1 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C5DCCE452FBA3A37BE4A3C6ECB9C33 /* CompactMap.swift */; }; + DB2AD8BB5134D34E6E776539A83F0AB6 /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AB539FAAC4756E9D732FC45FA73B7D3 /* Blowfish.swift */; }; + DB6D332339076837BF529F161695300E /* CryptoSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 046CD9C71F2C224C3CAF90FFBD22174A /* CryptoSwift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DD4F0B5459AC03D854CF914377FF7AF8 /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = E0ED08C56E8F5A2573652D57C0E00AB1 /* when.m */; }; + DEF371792BD7952C8BB9D550D6B87D18 /* BlockExplorer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 631CEB8A33B0BABC23841BB536628BFA /* BlockExplorer.swift */; }; + DEF4308C1D254B7046901273C02406C6 /* BigInt-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 11D89C581D76CF01DAE12F8728D1828B /* BigInt-dummy.m */; }; + E0DC2448FBF7D5B446989F11A2353A61 /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = B1AF162652CC96EC4E7AA8713BEEF5B7 /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E13993B4E44256FD584BE3637A9155B0 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F0E78B73C5750335C94D48A43488F1 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E17D11ACDDF519813FDB233920EC8659 /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735E74D1B58493E7131A357B28151246 /* AEAD.swift */; }; + E20EA4D94335C9EB5D16C1BBACB1EE8D /* Promise+Web3+Eth+Call.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1065518E9270D7BB4FC633894765466D /* Promise+Web3+Eth+Call.swift */; }; + E2F20A4517CB23C4191AA5953850D0C7 /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F568297D4D43D340BC0B85931EF3ECEB /* Blowfish+Foundation.swift */; }; + E2F9B7B5AD54BCC930605F1E62FC4951 /* PlainKeystore+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B461C953E96246972B9FD88D07AD66E5 /* PlainKeystore+ObjC.swift */; }; + E3D2396BEAF014F7FB436B8E0098DEAF /* Dictionary+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BB13364DA7A1C04B41722DD1B785D8E /* Dictionary+Extension.swift */; }; + E5E7C8C8BFE08BAC8BE1D48BF4E4EEC6 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = A740FA5D5A7CC8E07FC8BA48D71D4558 /* Box.swift */; }; + E989A6FB1681262A87CCE58E002D09DB /* EthereumFilterEncodingExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EDABCC9E8C9DBD6F0354ADD3FC0D47B /* EthereumFilterEncodingExtensions.swift */; }; + E9996CF89769BC6E0A23565BA241E886 /* BigUInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9B7FC1C4BA7B43D989DB2B556486352 /* BigUInt.swift */; }; + E9EDFEAF82BDECFB5B2C7A4A269117E9 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = E22171F0C69D8C40BCDB2F57BE46B364 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EBF8FE9A06F1AE78A436416971F6D15C /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = CD6A176D312F0AE31DF835BCA4A0F342 /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EC271B9B67906BD2D607F2E1EDE64BFD /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32117111790566596776609D1005CEF8 /* Generics.swift */; }; + EC99D8C4AD4D2730993BE9E75FFBA9C2 /* Web3+JSONRPC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70E0EEB2A88058CB61B7C02075E3FBC7 /* Web3+JSONRPC.swift */; }; + ECD1A21FE9A1CF6147E947C6243B2656 /* EthereumTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = B806FEEE8A1AD5FF1AB49E5928BBC3A3 /* EthereumTransaction.swift */; }; + ED2AB53698CB5369C137E63E66D62108 /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5838F39185E3EAE8E18B70420E9A65E9 /* CMAC.swift */; }; + F077C061E7C6DE9634E53933176AED12 /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = E3FCFAFE5E2F92BF925E516BA5C6D586 /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F0B784E17804D5E84BA1DAE0C7549769 /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 913CF4153E753730DC216ECBA138739A /* BlockEncryptor.swift */; }; + F147FF24D349839D4BD32ED93CF288FA /* ENS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21563C94F3C303F058BA156A1F488535 /* ENS.swift */; }; + F3649D1559ABBD0842FAD6CD252CF5C5 /* Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 550AC365129396E2F60D5C364FA8B799 /* Hashable.swift */; }; + F47B31DCAF2F279AEB5BE848B666E7C2 /* Base58.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6295CFD25EA738F9FEF1FD0EE5FE0B06 /* Base58.swift */; }; + F4D85C27C6BB1452324FFC2456B67681 /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E7E12DF7A156B87C52342DADEF5F3D9 /* CTR.swift */; }; + F4EB3BB45A110F376689E772EDAA79E7 /* BlockExplorer+GetTransactionHistory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 316084C209096DC615680F3C10C4C605 /* BlockExplorer+GetTransactionHistory.swift */; }; + F57BEB34E9C79ADEBB885E84008AE0E9 /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A355B05B0BED16919207A4BD94258BA /* PKCS7Padding.swift */; }; + F7E3406D1BA7665C27427E1D6CCC9668 /* TransactionSigner.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1E9E05C913C27A3BCDC1B5C783DE9B9 /* TransactionSigner.swift */; }; + F80782A83BE40C1CEA827E6C144009FD /* Promise+Web3+Personal+UnlockAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B853AE4883AC6BC8B6D6F0876142F8 /* Promise+Web3+Personal+UnlockAccount.swift */; }; + FDE5A7E63389DB9715C4C23D4ADA7C0D /* PMKUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = EE6713D6A2C799F18F66DEAF4B9DA002 /* PMKUIKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FE65A2540C6E76089372119B2F94A5AB /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = EADAE9DDDE266D2FA434262C25991F22 /* PBKDF2.swift */; }; + FEDD97DDD605CF96A6FA9C8A4D58FBCB /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E54F021F03B8254D3E0139DB1197C21 /* PBKDF1.swift */; }; + FF5058AB561C8B54477DABC1E2CD5C17 /* RandomUInt64.swift in Sources */ = {isa = PBXBuildFile; fileRef = B71A2239207EC9A9FD4F65D23E822396 /* RandomUInt64.swift */; }; + FFA857880C4A489DFA18FCB33A90E834 /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = 290AA67F142E07CC2C3BE60373077AAF /* after.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 0E01B73CC8F027E3BB675B850520B20E /* PBXContainerItemProxy */ = { + 11A2BB77C485A266DEBF7AA057C5CEC7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C36167279A3ACEC5E09E05AC17E973AB; - remoteInfo = PromiseKit; + remoteGlobalIDString = 691E5BFE487640DE1E2DD74E28EBE528; + remoteInfo = Result; }; - 111385C619C9ADC78F47666FAA2A22A7 /* PBXContainerItemProxy */ = { + 154FD551C35082A733CF27851A45873B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D93CC8797FA6642C382C93BBA9AE8B0D; + remoteGlobalIDString = F61D23C9CB20E66E4ACFBAB69D99879A; remoteInfo = web3swift; }; - 1D7E7E679A2F944C7B68599B9949B3D9 /* PBXContainerItemProxy */ = { + 21EECB2AF750309F2B59326AAE061AE6 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 60BF36463B9896F856D87DA4DE89FBB9; - remoteInfo = secp256k1_ios; + remoteGlobalIDString = 716435BD4A1FEB954EBD1C25D7EC0BB6; + remoteInfo = BigInt; }; - 36A8B274F50442AE2C466F7B8C8A2E09 /* PBXContainerItemProxy */ = { + 39B6BDB795ECBD4EF78E4AA966364F1B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = EA114BE2D9D1BCDA6E1013C3301492A8; + remoteGlobalIDString = 3A129877346434719FFE6B01BCA2513B; remoteInfo = SipHash; }; - 51F19D8B3983CC6266B592A32F736A15 /* PBXContainerItemProxy */ = { + 3FEBB0E8FF54EB005815F39AF02DA652 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 60BF36463B9896F856D87DA4DE89FBB9; + remoteGlobalIDString = 0CDCD15B895E5E3C642256B9466BAF51; remoteInfo = secp256k1_ios; }; - 6BF9B000996DF9D64D4FE4DEECF00413 /* PBXContainerItemProxy */ = { + 480127A1B9AE1E23814FED67B06CB002 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 23A9C77578E46AEB069BEF36B9B5ADA6; - remoteInfo = BigInt; + remoteGlobalIDString = C313269A2B1C23544DE089CFAA786C33; + remoteInfo = CryptoSwift; }; - 6EA95E18AF08E391FC2DD079C00AC604 /* PBXContainerItemProxy */ = { + 4A3EA886C534DA6E2D3E8B7CBEDDF36D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C36167279A3ACEC5E09E05AC17E973AB; - remoteInfo = PromiseKit; + remoteGlobalIDString = C313269A2B1C23544DE089CFAA786C33; + remoteInfo = CryptoSwift; }; - 76DB86015CEE178C79D4F291C64586B2 /* PBXContainerItemProxy */ = { + 4F5992DA25BD4D957A469B238740F3DF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 23A9C77578E46AEB069BEF36B9B5ADA6; + remoteGlobalIDString = EDCC3A3E8A567995312D9F435A5A88EC; + remoteInfo = scrypt; + }; + 54FD6216423E5F7F52201DDDE1480BAB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 716435BD4A1FEB954EBD1C25D7EC0BB6; remoteInfo = BigInt; }; - 7BD0D139C37C19537A6DF939C1048252 /* PBXContainerItemProxy */ = { + 845211B1A3B8302CC6873C1DC90D2E13 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 0E877A906EE881D9A703E2CEB69B27B0; - remoteInfo = scrypt; + remoteGlobalIDString = 3A129877346434719FFE6B01BCA2513B; + remoteInfo = SipHash; }; - ABA2DC1B51EB47A1C58FD8EB202B5FAE /* PBXContainerItemProxy */ = { + A99D675BD98897507E4AD89112CD1676 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 0E877A906EE881D9A703E2CEB69B27B0; - remoteInfo = scrypt; + remoteGlobalIDString = 9E0FC65126A61EC4E4C869BA932807E4; + remoteInfo = PromiseKit; }; - AC93B93DEA6B153F441ACDD47711CB50 /* PBXContainerItemProxy */ = { + C92357257C88252798F17EB0FB961C16 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D2CEBF8355BADD8508F8266F0D4AE1DD; + remoteGlobalIDString = C313269A2B1C23544DE089CFAA786C33; remoteInfo = CryptoSwift; }; - B2520BE59D3D835F91798AA0CB79DEE8 /* PBXContainerItemProxy */ = { + C9A0DB9B5BCE9D59FC6C0F33F3297059 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D2CEBF8355BADD8508F8266F0D4AE1DD; - remoteInfo = CryptoSwift; + remoteGlobalIDString = 9E0FC65126A61EC4E4C869BA932807E4; + remoteInfo = PromiseKit; }; - BE88B88019CC73C5F4692FCFFE00A16E /* PBXContainerItemProxy */ = { + D1C97C34834751B541AC06B12144F72E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = EA114BE2D9D1BCDA6E1013C3301492A8; - remoteInfo = SipHash; + remoteGlobalIDString = 0CDCD15B895E5E3C642256B9466BAF51; + remoteInfo = secp256k1_ios; }; - D6AE6C9B739C8079861FA4830DE57BFF /* PBXContainerItemProxy */ = { + D859CF09FCB933666F712E5E2F479D0D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D2CEBF8355BADD8508F8266F0D4AE1DD; - remoteInfo = CryptoSwift; + remoteGlobalIDString = 3A129877346434719FFE6B01BCA2513B; + remoteInfo = SipHash; }; - DAAF4FFB27B380502C83474E2C10B2C0 /* PBXContainerItemProxy */ = { + D94189C5999AEF19467AEA7DA9649E87 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C7F768100F7D32B078FA6D19893B5741; + remoteGlobalIDString = 691E5BFE487640DE1E2DD74E28EBE528; remoteInfo = Result; }; - FD3871FA93CC618634A2D7AB7E6A288C /* PBXContainerItemProxy */ = { + E219E4C6CD954172C59F189A1BF5088B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C7F768100F7D32B078FA6D19893B5741; - remoteInfo = Result; + remoteGlobalIDString = EDCC3A3E8A567995312D9F435A5A88EC; + remoteInfo = scrypt; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 000A1EC76D82A3EDBC7956FE3334A646 /* secp256k1_ios.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ios.h; path = secp256k1_ios/secp256k1_ios.h; sourceTree = ""; }; - 009A496F7B724F0347CFAC23677728AC /* Hashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Hashable.swift; path = sources/Hashable.swift; sourceTree = ""; }; - 0103BBD609FF8CADC6FDB98F2FDD7344 /* TransactionSigner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransactionSigner.swift; path = web3swift/Transaction/Classes/TransactionSigner.swift; sourceTree = ""; }; - 021230E4853D81084491C5CB19120253 /* ABIv2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2.swift; path = web3swift/ABIv2/Classes/ABIv2.swift; sourceTree = ""; }; - 0434FC3772D7C052138D4E6597BBCEBA /* field_5x52_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_impl.h; path = secp256k1_ios/src/field_5x52_impl.h; sourceTree = ""; }; - 0438DB1DA63797598E1BC06A1A12F711 /* BigInt.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BigInt.xcconfig; sourceTree = ""; }; - 052496AE749A404A1C7E8F48F9C50E4C /* ContractProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContractProtocol.swift; path = web3swift/Contract/Classes/ContractProtocol.swift; sourceTree = ""; }; - 0571CF27DD24F25CF822D599D2FD9592 /* Collection+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Collection+Extension.swift"; path = "Sources/CryptoSwift/Collection+Extension.swift"; sourceTree = ""; }; - 0592455534B27A7EDFB9DACFC3FBD860 /* UInt16+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt16+Extension.swift"; path = "Sources/CryptoSwift/UInt16+Extension.swift"; sourceTree = ""; }; - 05A469D88635408C6E0A9730C9D67834 /* PlainKeystore+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PlainKeystore+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/PlainKeystore+ObjC.swift"; sourceTree = ""; }; - 0623D1F8DEDD8DF2D2DB549B42AB3446 /* Promise+Web3+Eth+GetBlockNumber.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockNumber.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockNumber.swift"; sourceTree = ""; }; - 066D256FC483ACE5C9FBD3A9DE124FDE /* EthereumAddress+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EthereumAddress+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/EthereumAddress+ObjC.swift"; sourceTree = ""; }; - 06DA7D56C2864C4222F706AFC7953AF9 /* UInt8+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt8+Extension.swift"; path = "Sources/CryptoSwift/UInt8+Extension.swift"; sourceTree = ""; }; - 075B36C10CAB6186B33DE99222FED632 /* lax_der_privatekey_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_privatekey_parsing.h; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.h; sourceTree = ""; }; - 07BC37DA3A885BFE9FA1ACF060A68924 /* ABIv2Elements.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Elements.swift; path = web3swift/ABIv2/Classes/ABIv2Elements.swift; sourceTree = ""; }; - 0A2411CE147937EBABF77E252DACB056 /* ecmult_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_impl.h; path = secp256k1_ios/src/ecmult_impl.h; sourceTree = ""; }; - 0A7CDAECE7C7689D9B56E9D2B4A92D11 /* NSURLSession+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSURLSession+Promise.swift"; path = "Extensions/Foundation/Sources/NSURLSession+Promise.swift"; sourceTree = ""; }; - 0AF3A1BDA014214D339A5C18DEC1B2C5 /* CryptoSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = CryptoSwift.modulemap; sourceTree = ""; }; - 0D1172DA5E0AB5C4C336BE89B155DB65 /* secp256k1_ios-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "secp256k1_ios-dummy.m"; sourceTree = ""; }; - 0D3ACCCA669E9804A73747148FC87E82 /* scalar_4x64_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64_impl.h; path = secp256k1_ios/src/scalar_4x64_impl.h; sourceTree = ""; }; - 0ECEAC97DC37DEE322CE4D6A7FD317D1 /* web3swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "web3swift-umbrella.h"; sourceTree = ""; }; - 0F0897176807A58E1A713B8A2B2948DA /* UInt32+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt32+Extension.swift"; path = "Sources/CryptoSwift/UInt32+Extension.swift"; sourceTree = ""; }; - 0FB7FFB5D4BFB8854135A190E6360F4D /* SipHash-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-umbrella.h"; sourceTree = ""; }; - 1004D33259FBFC1535E8D4F64120C7FB /* scrypt-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "scrypt-dummy.m"; sourceTree = ""; }; - 106E8716BF64A92008832D383814FFB7 /* Cipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cipher.swift; path = Sources/CryptoSwift/Cipher.swift; sourceTree = ""; }; - 118A0A4492B525385A8483675B6FCB88 /* ChaCha20+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ChaCha20+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift"; sourceTree = ""; }; + 01B9F8302C27EEB6B1B175888E08664C /* Prime Test.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Prime Test.swift"; path = "sources/Prime Test.swift"; sourceTree = ""; }; + 02C519FDB5FE4C5643A843724C5FACA2 /* Pods-web3swiftExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swiftExample.debug.xcconfig"; sourceTree = ""; }; + 02DC13AF775E722F06F597A8A14B0AE6 /* secp256k1_ios.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ios.h; path = secp256k1_ios/secp256k1_ios.h; sourceTree = ""; }; + 03180B6A770752FE7AF4453AE81CA412 /* Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptors.swift; path = Sources/CryptoSwift/Cryptors.swift; sourceTree = ""; }; + 046CD9C71F2C224C3CAF90FFBD22174A /* CryptoSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CryptoSwift-umbrella.h"; path = "../../Headers/Public/CryptoSwift/CryptoSwift-umbrella.h"; sourceTree = ""; }; + 046EE18AB153A100831CC08374F28865 /* Cipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cipher.swift; path = Sources/CryptoSwift/Cipher.swift; sourceTree = ""; }; + 0582381AC2421163F7FC6854DF81F48D /* BlockCipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockCipher.swift; path = Sources/CryptoSwift/BlockCipher.swift; sourceTree = ""; }; + 078AF53D6A07F762432A2424B5D58161 /* StreamEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StreamEncryptor.swift; path = Sources/CryptoSwift/StreamEncryptor.swift; sourceTree = ""; }; + 094419FE4BE23498B11CBA6A878600DF /* ComparisonExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ComparisonExtensions.swift; path = web3swift/Contract/Classes/ComparisonExtensions.swift; sourceTree = ""; }; + 0A2E17AC2242821FB7FF4539D7F4FAB9 /* web3swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = web3swift.modulemap; path = ../../Headers/Public/web3swift/web3swift.modulemap; sourceTree = ""; }; + 0A6D448881C8648C29B2822564286304 /* NSURLSession+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSURLSession+Promise.swift"; path = "Extensions/Foundation/Sources/NSURLSession+Promise.swift"; sourceTree = ""; }; + 0D8E5BAB976E1215ADA818D366891226 /* KeystoreManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeystoreManager.swift; path = web3swift/KeystoreManager/Classes/KeystoreManager.swift; sourceTree = ""; }; + 0EDABCC9E8C9DBD6F0354ADD3FC0D47B /* EthereumFilterEncodingExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumFilterEncodingExtensions.swift; path = web3swift/Contract/Classes/EthereumFilterEncodingExtensions.swift; sourceTree = ""; }; + 0FDC70BC746BDB97351736B2E75A507F /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/CryptoSwift/AES.swift; sourceTree = ""; }; + 0FE8C570A67B72F1871BDC1419D7B753 /* ecdsa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa.h; path = secp256k1_ios/src/ecdsa.h; sourceTree = ""; }; + 100B115D06674BEC5FE6A0B8CEFE2F84 /* Promise+Web3+Eth+GetTransactionCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionCount.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionCount.swift"; sourceTree = ""; }; + 1065518E9270D7BB4FC633894765466D /* Promise+Web3+Eth+Call.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+Call.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+Call.swift"; sourceTree = ""; }; 11C3B3B474849C50B68C60D72D2A7ED4 /* libBigInt.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libBigInt.a; path = libBigInt.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 123A79BDE35CE7064C94E97B6CC962F3 /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "Sources/CryptoSwift/Array+Extension.swift"; sourceTree = ""; }; - 12BCF9FE41CE43BB9420B6870143B5B6 /* ENS.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ENS.swift; path = web3swift/Utils/Classes/ENS.swift; sourceTree = ""; }; - 12E63E29E69B87CCA00CA5D8B454E67D /* Promise+Web3+Eth+Call.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+Call.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+Call.swift"; sourceTree = ""; }; - 135C356FAA3B347C90BBF94F6529C892 /* NSTask+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSTask+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.m"; sourceTree = ""; }; - 149A6989679728614A4EF1F0D609947D /* BigInt.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = BigInt.modulemap; sourceTree = ""; }; - 16AF4F6B552E36497978DA12CBFA0A4C /* PCBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PCBC.swift; path = Sources/CryptoSwift/BlockMode/PCBC.swift; sourceTree = ""; }; - 16C67237D9658EEEF7CE6C233412A1AA /* BIP32Keystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32Keystore.swift; path = web3swift/KeystoreManager/Classes/BIP32Keystore.swift; sourceTree = ""; }; - 16D03E5E5B1C1CC5F18AE9C3C8EE602B /* UInt64+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt64+Extension.swift"; path = "Sources/CryptoSwift/UInt64+Extension.swift"; sourceTree = ""; }; - 1783AE3ABADA5096BE70D5939EE58E22 /* Pods-web3swiftExample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swiftExample-acknowledgements.plist"; sourceTree = ""; }; - 178C5FE20A3B38496D7935F91BDED794 /* BufferStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BufferStorage.swift; path = scrypt/scrypt/BufferStorage.swift; sourceTree = ""; }; + 11D89C581D76CF01DAE12F8728D1828B /* BigInt-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BigInt-dummy.m"; sourceTree = ""; }; + 123FCC5CF86530D3AA0B411043CCF3FC /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "web3swift/Convenience/Classes/String+Extension.swift"; sourceTree = ""; }; + 135C2258FEDDC235C7E7781BD638E0D0 /* KeystoreV3JSONStructure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeystoreV3JSONStructure.swift; path = web3swift/KeystoreManager/Classes/KeystoreV3JSONStructure.swift; sourceTree = ""; }; + 138892441A5B43660E6766A7D981C559 /* Pods-web3swiftExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swiftExample.release.xcconfig"; sourceTree = ""; }; + 1416B00744E099B449B5484EB4FE66B9 /* ChaCha20+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ChaCha20+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift"; sourceTree = ""; }; + 14EB90988A4AD64E02B4BC0D410025D1 /* Utils+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Utils+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Utils+Foundation.swift"; sourceTree = ""; }; + 14F7AD83E425807B028866A517E0155F /* UIView+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.h"; sourceTree = ""; }; + 17030AF3741AF00A5A580D4345C62671 /* BIP32KeystoreJSONStructure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32KeystoreJSONStructure.swift; path = web3swift/KeystoreManager/Classes/BIP32KeystoreJSONStructure.swift; sourceTree = ""; }; + 1726EC7BDEA2D89FB4D2AD0CE0562EB0 /* hash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash.h; path = secp256k1_ios/src/hash.h; sourceTree = ""; }; 17B0A033B10B035FFCCA80D2BE4C4839 /* libPods-web3swiftExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swiftExample.a"; path = "libPods-web3swiftExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 1827336AF5F51D580426EC596EF7357E /* libCryptoSwift.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libCryptoSwift.a; path = libCryptoSwift.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 183C2164A5A0D7B650B1632D92711576 /* HMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HMAC.swift; path = Sources/CryptoSwift/HMAC.swift; sourceTree = ""; }; - 1872C3C700D15109420AB2DC4B6455F5 /* scrypt-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-umbrella.h"; sourceTree = ""; }; - 1965E9A5C6BC0EAF6D873E26515FBF24 /* SHA1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA1.swift; path = Sources/CryptoSwift/SHA1.swift; sourceTree = ""; }; - 1A14C8A0ECC51DCF47B8BDC426260AE9 /* Web3+HttpProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+HttpProvider.swift"; path = "web3swift/Web3/Classes/Web3+HttpProvider.swift"; sourceTree = ""; }; - 1AB1E7E037CA7ACBE1DAF1FCF8BAD73A /* hash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash.h; path = secp256k1_ios/src/hash.h; sourceTree = ""; }; - 1BC9B7EAF3577A34C9142730D08BBAA9 /* PromiseKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PromiseKit.h; path = Sources/PromiseKit.h; sourceTree = ""; }; - 1C1D71A1E6B38F9B5A6B6225CF2D9FC1 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/recovery/main_impl.h; sourceTree = ""; }; - 1C2A766E739F57C8F1F245054C84114D /* ResultProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResultProtocol.swift; path = Result/ResultProtocol.swift; sourceTree = ""; }; - 1D1164A207317D07F70C5CADF0666478 /* Web3+EventParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+EventParser.swift"; path = "web3swift/Web3/Classes/Web3+EventParser.swift"; sourceTree = ""; }; - 1D19A599F033CB640BC281C9DDD005A7 /* web3swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "web3swift-dummy.m"; sourceTree = ""; }; - 1D4D97785B4DFCFBC23D6C846C84EA90 /* Promise+Web3+Eth+GetBlockByHash.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockByHash.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByHash.swift"; sourceTree = ""; }; - 1DFB1FBA4C24F7060FC8616294B079E8 /* UIViewController+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.m"; sourceTree = ""; }; - 1E3257BF67AECCEEBCA3B927CB2C8914 /* Square Root.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Square Root.swift"; path = "sources/Square Root.swift"; sourceTree = ""; }; - 1E37C31654324E82F6877D3A0A8CF5F9 /* Web3+Structures.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Structures.swift"; path = "web3swift/Web3/Classes/Web3+Structures.swift"; sourceTree = ""; }; - 1F7D8BAC459724F31F9EF10CC0D98B4E /* Promise+Web3+Intermediate+Send.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Intermediate+Send.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Intermediate+Send.swift"; sourceTree = ""; }; - 1FEBAFF6DBC23B47AC2CE0679F9CB261 /* ABIv2Parsing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Parsing.swift; path = web3swift/ABIv2/Classes/ABIv2Parsing.swift; sourceTree = ""; }; - 20811F2A1E259155573275E6C84F2090 /* OFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OFB.swift; path = Sources/CryptoSwift/BlockMode/OFB.swift; sourceTree = ""; }; - 20CFA43F832D5962C0393290B58599B5 /* ecmult_gen.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen.h; path = secp256k1_ios/src/ecmult_gen.h; sourceTree = ""; }; - 21B6545014E4E1EEB09BDBDFBEA13516 /* race.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = race.swift; path = Sources/race.swift; sourceTree = ""; }; - 22232C77A8E2D0AFF9A27E485B82506E /* PKCS7.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7.swift; path = Sources/CryptoSwift/PKCS/PKCS7.swift; sourceTree = ""; }; - 22769D380F2A7AB75E9FF25A16D47CE1 /* Web3+TransactionIntermediate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+TransactionIntermediate.swift"; path = "web3swift/Web3/Classes/Web3+TransactionIntermediate.swift"; sourceTree = ""; }; - 227AEA3AD310D48705A9F080E9587471 /* Cimpl.c */ = {isa = PBXFileReference; includeInIndex = 1; name = Cimpl.c; path = scrypt/Cimpl.c; sourceTree = ""; }; - 22E9055D66F39B0B671EC13A4D7A9AC5 /* RandomUInt64.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomUInt64.swift; path = SipHash/RandomUInt64.swift; sourceTree = ""; }; - 23DDF1167D5601DCB70F356894851DD6 /* KeystoreManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeystoreManager.swift; path = web3swift/KeystoreManager/Classes/KeystoreManager.swift; sourceTree = ""; }; - 256138718C583C679BA3011347A299C7 /* hang.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = hang.swift; path = Sources/hang.swift; sourceTree = ""; }; + 1B102B3CA88EB8D8489C8BD4E882B887 /* BIP39+WordLists.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BIP39+WordLists.swift"; path = "web3swift/KeystoreManager/Classes/BIP39+WordLists.swift"; sourceTree = ""; }; + 1C56A8FF9537CCF10D87B749E9F62732 /* AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AnyPromise.m; path = Sources/AnyPromise.m; sourceTree = ""; }; + 1CFC32E2261053E3091FD1DCC05DF4D5 /* UInt64+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt64+Extension.swift"; path = "Sources/CryptoSwift/UInt64+Extension.swift"; sourceTree = ""; }; + 1D1A082C236FA698192257797E4895EC /* Web3+HttpProvider+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+HttpProvider+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+HttpProvider+ObjC.swift"; sourceTree = ""; }; + 1DF8BA790BE9738632EE52265150D03A /* hang.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = hang.swift; path = Sources/hang.swift; sourceTree = ""; }; + 1E078781E4A11116263643F9D1AAC14E /* secp256k1_ios.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = secp256k1_ios.modulemap; path = ../../Headers/Public/secp256k1_ios/secp256k1_ios.modulemap; sourceTree = ""; }; + 1E2D99198D5B7D091C057148F3CDC4DC /* Cryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptor.swift; path = Sources/CryptoSwift/Cryptor.swift; sourceTree = ""; }; + 1E5AE0371FA8682D8CCBB47D262545A4 /* field_5x52_int128_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_int128_impl.h; path = secp256k1_ios/src/field_5x52_int128_impl.h; sourceTree = ""; }; + 1F01FE95147DDFFD02325C07A8F6783D /* Division.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Division.swift; path = sources/Division.swift; sourceTree = ""; }; + 1F48C69683BD62C478F08C59DCF2E589 /* SipHash.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SipHash.xcconfig; sourceTree = ""; }; + 1F4A3C614502E99D77C9651CF09BD01B /* firstly.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = firstly.swift; path = Sources/firstly.swift; sourceTree = ""; }; + 1FD0BFFC7C6E627BB86EE5C540F71341 /* BlockDecryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockDecryptor.swift; path = Sources/CryptoSwift/BlockDecryptor.swift; sourceTree = ""; }; + 20B0DF172F7BCE780CE4325B9FA737E8 /* Web3+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Utils.swift"; path = "web3swift/Web3/Classes/Web3+Utils.swift"; sourceTree = ""; }; + 20CB207C8B0FDA2529F2F5D253C4A534 /* fwd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fwd.h; path = Sources/fwd.h; sourceTree = ""; }; + 212B93EFB576141803D3468A4F741935 /* Promise+Web3+Eth+GetBlockNumber.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockNumber.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockNumber.swift"; sourceTree = ""; }; + 21563C94F3C303F058BA156A1F488535 /* ENS.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ENS.swift; path = web3swift/Utils/Classes/ENS.swift; sourceTree = ""; }; + 22D34076EA0440B505461DA3E8B815CA /* Result.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Result.xcconfig; sourceTree = ""; }; + 241B18C64A7ED8609A9A6C70163C9FFC /* SipHash-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-prefix.pch"; sourceTree = ""; }; + 2535CD8F39B0A548B8948A1D4DFCDA4C /* PKCS5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS5.swift; path = Sources/CryptoSwift/PKCS/PKCS5.swift; sourceTree = ""; }; 25A7B1871BF03428A855BE688D20521E /* libweb3swift.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libweb3swift.a; path = libweb3swift.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 2737D9FD26C786FDE441BA01D79E6DB6 /* Digest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Digest.swift; path = Sources/CryptoSwift/Digest.swift; sourceTree = ""; }; - 27F2F0F8AA0A44DCB15F6C2014B8515F /* ABIv2Decoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Decoding.swift; path = web3swift/ABIv2/Classes/ABIv2Decoding.swift; sourceTree = ""; }; - 27F79F5E8467AB85143242575568970D /* EthereumKeystoreV3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumKeystoreV3.swift; path = web3swift/KeystoreManager/Classes/EthereumKeystoreV3.swift; sourceTree = ""; }; - 2840F210CE98B93EA849D6D6E8253222 /* Promise+HttpProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+HttpProvider.swift"; path = "web3swift/Promises/Classes/Promise+HttpProvider.swift"; sourceTree = ""; }; - 28CEA71BAA2648F525999A658E8C7F22 /* scratch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch.h; path = secp256k1_ios/src/scratch.h; sourceTree = ""; }; - 28D233B339408EE05F382B2D71EBB0C5 /* Promise+Web3+Eth+EstimateGas.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+EstimateGas.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+EstimateGas.swift"; sourceTree = ""; }; - 29C256B973D8BE987C0231440CCB1E67 /* BatchedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BatchedCollection.swift; path = Sources/CryptoSwift/BatchedCollection.swift; sourceTree = ""; }; - 2A003F66935D65A758492D1E9EE2BABE /* PromiseKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-prefix.pch"; sourceTree = ""; }; - 2A3B82C924810D565EACB8DD0250AF2F /* Pods-web3swiftExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swiftExample.debug.xcconfig"; sourceTree = ""; }; - 2DFD3BF6784E7B36EB8BDA06326E1D84 /* ChaCha20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChaCha20.swift; path = Sources/CryptoSwift/ChaCha20.swift; sourceTree = ""; }; - 2F06D95AEE5EC27252B89C4874C9B887 /* Web3+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Utils.swift"; path = "web3swift/Web3/Classes/Web3+Utils.swift"; sourceTree = ""; }; - 2F73DD47F1589433F054B8686723D47D /* ecdsa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa.h; path = secp256k1_ios/src/ecdsa.h; sourceTree = ""; }; - 323E701BDC75F79161DF588C4113A918 /* dispatch_promise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = dispatch_promise.m; path = Sources/dispatch_promise.m; sourceTree = ""; }; - 328EA52653464590374008597CDB88F8 /* Web3+Instance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Instance.swift"; path = "web3swift/Web3/Classes/Web3+Instance.swift"; sourceTree = ""; }; - 3298DB5F4EFFFE85F3D5C56F858DE99A /* Generics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generics.swift; path = Sources/CryptoSwift/Generics.swift; sourceTree = ""; }; - 33AD44494C176812F8EB7B1C68429279 /* web3swift.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = web3swift.h; path = web3swift/web3swift.h; sourceTree = ""; }; - 361B873DBC285242B8FCA11C4F9E5623 /* basic-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "basic-config.h"; path = "secp256k1_ios/src/basic-config.h"; sourceTree = ""; }; - 36BB4188B1240052722EAB2ED24DC3DD /* NSTask+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSTask+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.h"; sourceTree = ""; }; - 37B6B8CF586B8A17D237A993EE028AEF /* EIP67Code.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EIP67Code.swift; path = web3swift/Utils/Classes/EIP67Code.swift; sourceTree = ""; }; - 388FF24BE1726BEA3B2AEFC39035A410 /* scrypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scrypt.h; path = scrypt/scrypt.h; sourceTree = ""; }; - 397D4BCFA7542A08BF0E44317F724880 /* DigestType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DigestType.swift; path = Sources/CryptoSwift/DigestType.swift; sourceTree = ""; }; - 39D3351EAB4FE326D56C800215377379 /* PromiseKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PromiseKit-dummy.m"; sourceTree = ""; }; - 3A01C71E03076A82481B6EFA5BABFEE1 /* Web3+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+ObjC.swift"; sourceTree = ""; }; - 3A9EADA7AFA39E90F4B2C520B23DB0D6 /* EthereumTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumTransaction.swift; path = web3swift/Transaction/Classes/EthereumTransaction.swift; sourceTree = ""; }; - 3AB7EFD1CDE8EEFB6864B4C95BE27B9B /* BigUInt+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BigUInt+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/BigUInt+ObjC.swift"; sourceTree = ""; }; - 3B4AC44500F159CD237DA769095DE4A2 /* UIViewPropertyAnimator+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewPropertyAnimator+Promise.swift"; path = "Extensions/UIKit/Sources/UIViewPropertyAnimator+Promise.swift"; sourceTree = ""; }; - 3B62D9ABA91167900FE1A8E0B48BF6F1 /* Rabbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rabbit.swift; path = Sources/CryptoSwift/Rabbit.swift; sourceTree = ""; }; - 3BF598B3313583C452A8F23CE762ABE4 /* NoError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoError.swift; path = Result/NoError.swift; sourceTree = ""; }; - 3C4001BFD15E68647D2DF6A140E7FE7B /* scalar_low_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low_impl.h; path = secp256k1_ios/src/scalar_low_impl.h; sourceTree = ""; }; - 3C9503C4F6C4DBB79AC671BCA551F24A /* Primitive Types.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Primitive Types.swift"; path = "SipHash/Primitive Types.swift"; sourceTree = ""; }; - 3D3092F2465713B5799F11ABAF5C73DD /* lax_der_privatekey_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_privatekey_parsing.c; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.c; sourceTree = ""; }; - 3EBBC5BCE490CF7D0B638E773A4F1FAC /* EthereumAddress.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumAddress.swift; path = web3swift/KeystoreManager/Classes/EthereumAddress.swift; sourceTree = ""; }; - 3FD29DD5DC6ED789FAEB902C94E865F1 /* Checksum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Checksum.swift; path = Sources/CryptoSwift/Checksum.swift; sourceTree = ""; }; - 401C193EDE43BF447B84F321B8E1C482 /* ecmult_gen_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen_impl.h; path = secp256k1_ios/src/ecmult_gen_impl.h; sourceTree = ""; }; - 41FBE47CBCF2E13682775196F7F9184D /* EIP681.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EIP681.swift; path = web3swift/Utils/Classes/EIP681.swift; sourceTree = ""; }; - 41FC722652762A9CA680AC0CEF50B2CC /* CTR.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CTR.swift; path = Sources/CryptoSwift/BlockMode/CTR.swift; sourceTree = ""; }; - 421B749E58F87E0C839D613211A2D0D6 /* Pods-web3swiftExample-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swiftExample-umbrella.h"; sourceTree = ""; }; - 42662102329EB8EA5D693F47F6B055BD /* RIPEMD160+StackOveflow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RIPEMD160+StackOveflow.swift"; path = "web3swift/Convenience/Classes/RIPEMD160+StackOveflow.swift"; sourceTree = ""; }; - 426C5416AF2F5EBDF7353EC4417DD059 /* ecmult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult.h; path = secp256k1_ios/src/ecmult.h; sourceTree = ""; }; - 442702F0B88642B51362AB205FCAA854 /* field_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_impl.h; path = secp256k1_ios/src/field_impl.h; sourceTree = ""; }; - 442C6C1866A76D1BA9AC1704A73CCBEF /* NSNotificationCenter+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.h"; sourceTree = ""; }; - 4494989642C43EC56A1C209F11EAA579 /* PMKUIKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKUIKit.h; path = Extensions/UIKit/Sources/PMKUIKit.h; sourceTree = ""; }; - 44EE1C2DE9A2797654C1BF53FFB8C841 /* BIP32HDNode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32HDNode.swift; path = web3swift/KeystoreManager/Classes/BIP32HDNode.swift; sourceTree = ""; }; - 4889008E797DEA00B30EACB8E0D243E7 /* web3swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = web3swift.modulemap; sourceTree = ""; }; - 491E32635E476F62DF80795EA03A4E96 /* BIP39.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP39.swift; path = web3swift/KeystoreManager/Classes/BIP39.swift; sourceTree = ""; }; - 4A8BE755B00A247CADB17C0D888A15A2 /* num_gmp.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp.h; path = secp256k1_ios/src/num_gmp.h; sourceTree = ""; }; - 4A9FF65D7436CD05D4829C03224BCEC3 /* PromiseKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromiseKit.xcconfig; sourceTree = ""; }; - 4ACE68F0C0BB240B67D6607627A0409D /* after.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = after.m; path = Sources/after.m; sourceTree = ""; }; + 264884CE631173016E083169227D349F /* Salsa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Salsa.swift; path = scrypt/scrypt/Salsa.swift; sourceTree = ""; }; + 2691542C5286F07821B7CD3CF161270A /* Data Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data Conversion.swift"; path = "sources/Data Conversion.swift"; sourceTree = ""; }; + 26986386406787D15D8C39F0B109D08A /* Pods-web3swiftExample-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swiftExample-umbrella.h"; sourceTree = ""; }; + 27185CC1895D79F7DD34E6740F038154 /* Result-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Result-umbrella.h"; path = "../../Headers/Public/Result/Result-umbrella.h"; sourceTree = ""; }; + 27CFA7ED30A911A75D056CBDD52EF777 /* Web3+Eth+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Eth+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+Eth+ObjC.swift"; sourceTree = ""; }; + 290AA67F142E07CC2C3BE60373077AAF /* after.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = after.m; path = Sources/after.m; sourceTree = ""; }; + 292938D4E2E614F82D7E4A4A53919089 /* Web3+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+ObjC.swift"; sourceTree = ""; }; + 2967DC4D563FB31C61E228B5CBB7F6E2 /* Promise+Batching.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Batching.swift"; path = "web3swift/Promises/Classes/Promise+Batching.swift"; sourceTree = ""; }; + 29C001CC84817EC570F42EB843806088 /* ChaCha20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChaCha20.swift; path = Sources/CryptoSwift/ChaCha20.swift; sourceTree = ""; }; + 2B33E9D7080834138F6B05D08954A9AA /* ecmult_gen_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen_impl.h; path = secp256k1_ios/src/ecmult_gen_impl.h; sourceTree = ""; }; + 2B8E411298FF1752518A56381CD096CD /* NativeTypesEncoding+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NativeTypesEncoding+Extensions.swift"; path = "web3swift/Convenience/Classes/NativeTypesEncoding+Extensions.swift"; sourceTree = ""; }; + 2CCD691C76047A933F592EC30383C674 /* EIP681.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EIP681.swift; path = web3swift/Utils/Classes/EIP681.swift; sourceTree = ""; }; + 2D7BB0E009A62667D94F3144CF4F0FA0 /* scratch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch.h; path = secp256k1_ios/src/scratch.h; sourceTree = ""; }; + 2E651A4C1D8411BB17C4D0A883ECCE95 /* Square Root.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Square Root.swift"; path = "sources/Square Root.swift"; sourceTree = ""; }; + 2F6CCA99139E9FA673025D313067429D /* NSObject+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Promise.swift"; path = "Extensions/Foundation/Sources/NSObject+Promise.swift"; sourceTree = ""; }; + 2F7C2F3619BC1AC64F8ABA62C7169C22 /* Multiplication.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multiplication.swift; path = sources/Multiplication.swift; sourceTree = ""; }; + 316084C209096DC615680F3C10C4C605 /* BlockExplorer+GetTransactionHistory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BlockExplorer+GetTransactionHistory.swift"; path = "web3swift/BlockExplorer/Classes/BlockExplorer+GetTransactionHistory.swift"; sourceTree = ""; }; + 32117111790566596776609D1005CEF8 /* Generics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generics.swift; path = Sources/CryptoSwift/Generics.swift; sourceTree = ""; }; + 329C9AA169E8289B92C3FEFDA41B215E /* AnyPromise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyPromise.swift; path = Sources/AnyPromise.swift; sourceTree = ""; }; + 32B853AE4883AC6BC8B6D6F0876142F8 /* Promise+Web3+Personal+UnlockAccount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Personal+UnlockAccount.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Personal+UnlockAccount.swift"; sourceTree = ""; }; + 33DC10E06571EAC477A1E0EA68D6DDCC /* SHA3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA3.swift; path = Sources/CryptoSwift/SHA3.swift; sourceTree = ""; }; + 347D7C773BE16C921C11062107552892 /* Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Codable.swift; path = sources/Codable.swift; sourceTree = ""; }; + 353D2E93E15B57FEC4A9C0B5CC561DCB /* lax_der_privatekey_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_privatekey_parsing.c; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.c; sourceTree = ""; }; + 35A9FE789E37975C0131E64AE7B7282E /* scrypt.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = scrypt.xcconfig; sourceTree = ""; }; + 35D8A4E4B2DBCC4C72036CB80D4ED663 /* web3swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "web3swift-umbrella.h"; path = "../../Headers/Public/web3swift/web3swift-umbrella.h"; sourceTree = ""; }; + 35EB5BB18736A988E04A7C2ABE4DD406 /* PromiseKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-prefix.pch"; sourceTree = ""; }; + 373E0AFCEE02274BAE66A586B88A17D4 /* Promise+Web3+Eth+GetBalance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBalance.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBalance.swift"; sourceTree = ""; }; + 376411273811B98AA866A25753F7A66E /* Promise+Web3+Eth+GetTransactionReceipt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionReceipt.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionReceipt.swift"; sourceTree = ""; }; + 394D7CE2F861BEF42B052C1127E8BE02 /* UIView+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.m"; sourceTree = ""; }; + 39676721FFFBFCD3ACA7964DBA994E81 /* Web3+Protocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Protocols.swift"; path = "web3swift/Web3/Classes/Web3+Protocols.swift"; sourceTree = ""; }; + 39746AC697FEEA2BEB3737B0A0ADB594 /* SecureBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SecureBytes.swift; path = Sources/CryptoSwift/SecureBytes.swift; sourceTree = ""; }; + 39E4ECDC1C840F2E1D4F0634927F7BB7 /* BloomFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BloomFilter.swift; path = web3swift/Transaction/Classes/BloomFilter.swift; sourceTree = ""; }; + 3B6D04221009B07824A6130FC77D31C9 /* lax_der_privatekey_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_privatekey_parsing.h; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.h; sourceTree = ""; }; + 3BB13364DA7A1C04B41722DD1B785D8E /* Dictionary+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Dictionary+Extension.swift"; path = "web3swift/Convenience/Classes/Dictionary+Extension.swift"; sourceTree = ""; }; + 3DAD5F524037255589944BAAAF9B3EDC /* Web3+ERC20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+ERC20.swift"; path = "web3swift/PrecompiledContracts/ERC20/Web3+ERC20.swift"; sourceTree = ""; }; + 3F07C5E878C387F3ABE98CE9E9CC042B /* ABIv2Decoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Decoding.swift; path = web3swift/ABIv2/Classes/ABIv2Decoding.swift; sourceTree = ""; }; + 3FC0C757DEC5E742B77C173A8B9FA6B7 /* RLP.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RLP.swift; path = web3swift/ABI/Classes/RLP.swift; sourceTree = ""; }; + 4079EF5F5CB33767D580095FD9CE038E /* CFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CFB.swift; path = Sources/CryptoSwift/BlockMode/CFB.swift; sourceTree = ""; }; + 40E213322D7482A63CDC0B2220AE92F8 /* scalar_4x64_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64_impl.h; path = secp256k1_ios/src/scalar_4x64_impl.h; sourceTree = ""; }; + 4147FE7BEB4CBD63C000B5CDFE1CE694 /* UInt32+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt32+Extension.swift"; path = "Sources/CryptoSwift/UInt32+Extension.swift"; sourceTree = ""; }; + 414BCF28F898344A3ACB4CFA9EAC0C6A /* ResultProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResultProtocol.swift; path = Result/ResultProtocol.swift; sourceTree = ""; }; + 41C6D67293FF379F07747E16571D4A7B /* Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Padding.swift; path = Sources/CryptoSwift/Padding.swift; sourceTree = ""; }; + 458014C6622264651F6A80E772E8ED42 /* ecmult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult.h; path = secp256k1_ios/src/ecmult.h; sourceTree = ""; }; + 45F782717284628C9976CC3513689E42 /* race.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = race.swift; path = Sources/race.swift; sourceTree = ""; }; + 4656C6F079843C6375DBFB8F3F149CD5 /* PCBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PCBC.swift; path = Sources/CryptoSwift/BlockMode/PCBC.swift; sourceTree = ""; }; + 474585527D4B8900A32D2242E978847F /* NSNotificationCenter+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.m"; sourceTree = ""; }; + 47C25EDDC521B2D33E3E14E53A09B8CB /* Promise+Web3+Contract+GetIndexedEvents.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Contract+GetIndexedEvents.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Contract+GetIndexedEvents.swift"; sourceTree = ""; }; + 48E5DB8DD854EDCDD6095F95889DCAF9 /* PromiseKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PromiseKit-umbrella.h"; path = "../../Headers/Public/PromiseKit/PromiseKit-umbrella.h"; sourceTree = ""; }; + 4A0AAEC1A587F9F34485AC86C4D355AE /* NSURLSession+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLSession+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.h"; sourceTree = ""; }; + 4A355B05B0BED16919207A4BD94258BA /* PKCS7Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7Padding.swift; path = Sources/CryptoSwift/PKCS/PKCS7Padding.swift; sourceTree = ""; }; + 4A898FF424BAA4A4E440EB964B7BB831 /* BlockMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockMode.swift; path = Sources/CryptoSwift/BlockMode/BlockMode.swift; sourceTree = ""; }; + 4ADA5A209265D621A4CF71041B71DF52 /* BigInt-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "BigInt-umbrella.h"; path = "../../Headers/Public/BigInt/BigInt-umbrella.h"; sourceTree = ""; }; + 4B07F39C278099EF682E0CE68BCD5498 /* Web3+Infura.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Infura.swift"; path = "web3swift/Web3/Classes/Web3+Infura.swift"; sourceTree = ""; }; 4C5AB9A84E399C3C8F2ED978C0B4DD46 /* libResult.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libResult.a; path = libResult.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 4C8A5F0094F14372F5834A32835C5F5A /* Exponentiation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Exponentiation.swift; path = sources/Exponentiation.swift; sourceTree = ""; }; - 4CC6D0D6768AF0C916089C5F28C32BB5 /* lax_der_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_parsing.c; path = secp256k1_ios/contrib/lax_der_parsing.c; sourceTree = ""; }; - 4CE1FC37CE5129D5F14970B958DB8192 /* secp256k1_ios-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-umbrella.h"; sourceTree = ""; }; - 4E1625F84C89AF10B33736B73A1A4E2C /* ecmult_const.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const.h; path = secp256k1_ios/src/ecmult_const.h; sourceTree = ""; }; - 4F11F7307F07CC65C25A8F4FF12EEB69 /* BigInt-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-umbrella.h"; sourceTree = ""; }; - 50145B3CFAA030E982F33E5F8EF57D5B /* PlainKeystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PlainKeystore.swift; path = web3swift/KeystoreManager/Classes/PlainKeystore.swift; sourceTree = ""; }; - 50ABA8EC3262E75D2C901CA6DD9FA5F8 /* group.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group.h; path = secp256k1_ios/src/group.h; sourceTree = ""; }; - 5157EEA72F46459433F5E5929670E20A /* Comparable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Comparable.swift; path = sources/Comparable.swift; sourceTree = ""; }; - 51A61E362FF2B82C26F4DD5BA76BEDC8 /* Words and Bits.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Words and Bits.swift"; path = "sources/Words and Bits.swift"; sourceTree = ""; }; - 523671F746DA657F0997D96C7ED8A97B /* LibSecp256k1Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LibSecp256k1Extension.swift; path = web3swift/Convenience/Classes/LibSecp256k1Extension.swift; sourceTree = ""; }; - 54806E1F9F87ABA4B9F69CF94A4C799A /* SipHash-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SipHash-dummy.m"; sourceTree = ""; }; + 4CAF79CEAC3F53315AED830078D52BA7 /* MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MD5.swift; path = Sources/CryptoSwift/MD5.swift; sourceTree = ""; }; + 4D8007518DBD2C969B8AF1A986FF45C9 /* ContractProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContractProtocol.swift; path = web3swift/Contract/Classes/ContractProtocol.swift; sourceTree = ""; }; + 4E7E12DF7A156B87C52342DADEF5F3D9 /* CTR.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CTR.swift; path = Sources/CryptoSwift/BlockMode/CTR.swift; sourceTree = ""; }; + 4F3913F7F2CBD112E100212D4E6CD280 /* eckey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey.h; path = secp256k1_ios/src/eckey.h; sourceTree = ""; }; + 50A505618B7794960687DBA4DE9404FD /* Rabbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rabbit.swift; path = Sources/CryptoSwift/Rabbit.swift; sourceTree = ""; }; + 50EA02714EC707E77A1214BBC12D9969 /* Pods-web3swiftExample-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-web3swiftExample-resources.sh"; sourceTree = ""; }; + 51291E05C571952BED7774C956E85673 /* Web3+Structures.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Structures.swift"; path = "web3swift/Web3/Classes/Web3+Structures.swift"; sourceTree = ""; }; + 5278987D2532144A7BD28E9111659639 /* secp256k1.c */ = {isa = PBXFileReference; includeInIndex = 1; name = secp256k1.c; path = secp256k1_ios/src/secp256k1.c; sourceTree = ""; }; + 53053374B0830B4CF86F4E46A7232798 /* dispatch_promise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = dispatch_promise.m; path = Sources/dispatch_promise.m; sourceTree = ""; }; + 534FF25435EEA486F21EC56EBCAB291A /* Promise+Web3+Eth+EstimateGas.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+EstimateGas.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+EstimateGas.swift"; sourceTree = ""; }; + 5419632D59B4453866138B147398B786 /* UIViewController+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.h"; sourceTree = ""; }; 54A9032553D1C61F8E0154E2C0D53FD2 /* libsecp256k1_ios.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libsecp256k1_ios.a; path = libsecp256k1_ios.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 54BA1656FB495B7460ACDF3A76022348 /* NSObject+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Promise.swift"; path = "Extensions/Foundation/Sources/NSObject+Promise.swift"; sourceTree = ""; }; - 5564585449D0A14C4C3DA06673C6CCE6 /* Web3+Infura.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Infura.swift"; path = "web3swift/Web3/Classes/Web3+Infura.swift"; sourceTree = ""; }; - 566D31E69EBD23EECC7E9756E711AABF /* AnyError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyError.swift; path = Result/AnyError.swift; sourceTree = ""; }; - 57B4BB38C90FBE82C3726EC39C95B70F /* KeystoreV3JSONStructure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeystoreV3JSONStructure.swift; path = web3swift/KeystoreManager/Classes/KeystoreV3JSONStructure.swift; sourceTree = ""; }; - 584AC113BDB47E209F6B34321DD1E5A1 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/ecdh/main_impl.h; sourceTree = ""; }; - 586D5FA2AF8538B591CF24C72E998533 /* secp256k1_ios-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-prefix.pch"; sourceTree = ""; }; - 589F851C490849AC18374F9DD34A57C8 /* CBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBC.swift; path = Sources/CryptoSwift/BlockMode/CBC.swift; sourceTree = ""; }; - 58E9F0540DB4E1A859392EFA3A0708B3 /* GCM.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCM.swift; path = Sources/CryptoSwift/BlockMode/GCM.swift; sourceTree = ""; }; - 5C8009536C96B6BA559B0430AEC14152 /* AEAD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEAD.swift; path = Sources/CryptoSwift/AEAD/AEAD.swift; sourceTree = ""; }; - 5D53A19896270253638D6DADB73A57B2 /* Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Promise.swift; path = Sources/Promise.swift; sourceTree = ""; }; - 5E2B619BDED04588FB519514ED192C42 /* Dictionary+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Dictionary+Extension.swift"; path = "web3swift/Convenience/Classes/Dictionary+Extension.swift"; sourceTree = ""; }; - 5EE61F6373F3AE498E0E43FCEF682C3E /* Promise+Web3+Personal+Sign.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Personal+Sign.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Personal+Sign.swift"; sourceTree = ""; }; - 6018602186E5C17B7EC7AA437D2BA1E6 /* secp256k1_ecdh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ecdh.h; path = secp256k1_ios/include/secp256k1_ecdh.h; sourceTree = ""; }; - 6056EC003B91D6AE8460C740F35F2BC5 /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = Sources/CryptoSwift/Utils.swift; sourceTree = ""; }; - 61E48BAFB4F86F9AFAEAC7E2CB649B5A /* secp256k1_recovery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_recovery.h; path = secp256k1_ios/include/secp256k1_recovery.h; sourceTree = ""; }; - 62BE568E491C77F75C8D2CF1210EB0EE /* Prime Test.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Prime Test.swift"; path = "sources/Prime Test.swift"; sourceTree = ""; }; - 6407F8A2387DE46158D2B6643CFB5ACE /* RLP.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RLP.swift; path = web3swift/Utils/Classes/RLP.swift; sourceTree = ""; }; - 643B9FFEAE81870BB1B9C96ED6F53435 /* SipHash.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SipHash.xcconfig; sourceTree = ""; }; - 66907FAB988CF1AF834BAD4A2926F444 /* Integer Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Integer Conversion.swift"; path = "sources/Integer Conversion.swift"; sourceTree = ""; }; - 674BEB1072D4B5AA13D4287142BF6E01 /* CFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CFB.swift; path = Sources/CryptoSwift/BlockMode/CFB.swift; sourceTree = ""; }; - 68A50C595697D190E564425720BC14EB /* web3swift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = web3swift.xcconfig; sourceTree = ""; }; - 6931C147814FD7AC75251959E1F84B13 /* Bitwise Ops.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bitwise Ops.swift"; path = "sources/Bitwise Ops.swift"; sourceTree = ""; }; - 6A223F737D492A8E44460C4DDC7E5773 /* BlockModeOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockModeOptions.swift; path = Sources/CryptoSwift/BlockMode/BlockModeOptions.swift; sourceTree = ""; }; - 6A5EEC6F826A7BB4BCF689DDBBBE8AF0 /* ZeroPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZeroPadding.swift; path = Sources/CryptoSwift/ZeroPadding.swift; sourceTree = ""; }; - 6A7054BB1922ADB95FE5AC71AA66686C /* Web3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Web3.swift; path = web3swift/Web3/Classes/Web3.swift; sourceTree = ""; }; - 6AB691BD8986EF2191E06871444E8FC3 /* BlockExplorer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockExplorer.swift; path = web3swift/BlockExplorer/Classes/BlockExplorer.swift; sourceTree = ""; }; - 6ADE6B24E2F1E8BC45C1D76558FC0116 /* BigInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigInt.swift; path = sources/BigInt.swift; sourceTree = ""; }; - 6AE04FCF5B21A9BA14FEFFCE5C001C9C /* secp256k1_ios.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = secp256k1_ios.xcconfig; sourceTree = ""; }; - 6B1467C65AAF92A3D88CEF44D064DB75 /* NoPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoPadding.swift; path = Sources/CryptoSwift/NoPadding.swift; sourceTree = ""; }; - 6B2CE110BAA238CC4A7CC454E3038ECC /* hash_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash_impl.h; path = secp256k1_ios/src/hash_impl.h; sourceTree = ""; }; - 6C1C98DF0D19110BC29B96ACF3CD8253 /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "Sources/CryptoSwift/String+Extension.swift"; sourceTree = ""; }; - 6C34B6F8F004A79070AAB41F8DFF824F /* Web3+HttpProvider+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+HttpProvider+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+HttpProvider+ObjC.swift"; sourceTree = ""; }; - 6D740E5FEAD00D08690A1797817D464A /* Rabbit+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Rabbit+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift"; sourceTree = ""; }; - 6D918765E5C316D981E87E593F43CD1B /* AbstractKeystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AbstractKeystore.swift; path = web3swift/KeystoreManager/Classes/AbstractKeystore.swift; sourceTree = ""; }; - 6E393FF3F983A1BA55B41EFD5D31574E /* IBAN.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IBAN.swift; path = web3swift/KeystoreManager/Classes/IBAN.swift; sourceTree = ""; }; - 6EDB16D82616831C96E088DDBE2B32B6 /* Web3+Methods.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Methods.swift"; path = "web3swift/Web3/Classes/Web3+Methods.swift"; sourceTree = ""; }; - 6F1CA839EB126F33A13D3BF58DDC14F0 /* secp256k1.c */ = {isa = PBXFileReference; includeInIndex = 1; name = secp256k1.c; path = secp256k1_ios/src/secp256k1.c; sourceTree = ""; }; - 6F8C20347DD37B9D783C15476C8D0769 /* BigInt-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-prefix.pch"; sourceTree = ""; }; - 6FE2D8F96F15B5256BD58A65B6912DCE /* NameHash.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NameHash.swift; path = web3swift/Utils/Classes/NameHash.swift; sourceTree = ""; }; - 7033A3E7363DDB4746F91F0AA499EC34 /* scalar_8x32_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32_impl.h; path = secp256k1_ios/src/scalar_8x32_impl.h; sourceTree = ""; }; - 7053901B6F4C7C4685E6983AD717E771 /* Blowfish+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Blowfish+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift"; sourceTree = ""; }; - 706866695402B827BF2F4CEE1BF58F0B /* PMKFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKFoundation.h; path = Extensions/Foundation/Sources/PMKFoundation.h; sourceTree = ""; }; - 720F350F02588AD2D8B0EF0C920A5D0D /* NSNotificationCenter+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSNotificationCenter+Promise.swift"; path = "Extensions/Foundation/Sources/NSNotificationCenter+Promise.swift"; sourceTree = ""; }; - 7325F8CDD95F0919C78971B1F9B0D26C /* KeystoreManager+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KeystoreManager+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/KeystoreManager+ObjC.swift"; sourceTree = ""; }; - 74379D12DD8775BC00C9CDD1434D1EFE /* Promise+Web3+Eth+GetBalance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBalance.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBalance.swift"; sourceTree = ""; }; - 7443C1CD1A0F4F67CD82A92FE91805B2 /* BlockEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockEncryptor.swift; path = Sources/CryptoSwift/BlockEncryptor.swift; sourceTree = ""; }; - 74C6B60FD25F8EC022E87CD299A2F7B6 /* Array+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Array+Foundation.swift"; sourceTree = ""; }; - 74C7EFAAA5563E59498B9632722813D1 /* Thenable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Thenable.swift; path = Sources/Thenable.swift; sourceTree = ""; }; - 766D24708AC3AAE11C1368CEAEB4EA5C /* Pods-web3swiftExample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swiftExample-acknowledgements.markdown"; sourceTree = ""; }; - 76F2D8905A70134EA2CDEFA78C0DBF0B /* scrypt.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = scrypt.xcconfig; sourceTree = ""; }; - 772A5E3F2CEC01BEB15C9C969E63D298 /* AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AnyPromise.m; path = Sources/AnyPromise.m; sourceTree = ""; }; - 780AE89716057678AA7E7C10379484F5 /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "Sources/CryptoSwift/Foundation/Data+Extension.swift"; sourceTree = ""; }; - 7860F7282B4A86633B33B4C19EE13DAB /* BIP39+WordLists.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BIP39+WordLists.swift"; path = "web3swift/KeystoreManager/Classes/BIP39+WordLists.swift"; sourceTree = ""; }; - 79A6376210EB7B970D64C177672F3EFE /* NSURLSession+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLSession+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.h"; sourceTree = ""; }; - 7A5B2E7BC5B7C1DC93FEB876C8062552 /* BlockCipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockCipher.swift; path = Sources/CryptoSwift/BlockCipher.swift; sourceTree = ""; }; - 7AAE3B11D2000EC06CBFB2EE14EAA208 /* util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = util.h; path = secp256k1_ios/src/util.h; sourceTree = ""; }; - 7ACB0C00B07E5B530D245904B8FA919E /* BloomFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BloomFilter.swift; path = web3swift/Transaction/Classes/BloomFilter.swift; sourceTree = ""; }; + 550AC365129396E2F60D5C364FA8B799 /* Hashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Hashable.swift; path = sources/Hashable.swift; sourceTree = ""; }; + 5513D4EFDADCA1289BF2EB43EEFE0227 /* Result.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = Result.modulemap; path = ../../Headers/Public/Result/Result.modulemap; sourceTree = ""; }; + 569F9DFB870F6B539E0A31012FC0361B /* Result-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-prefix.pch"; sourceTree = ""; }; + 56AD7AD28B0B51693A9D7B079E162D05 /* NSNotificationCenter+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSNotificationCenter+Promise.swift"; path = "Extensions/Foundation/Sources/NSNotificationCenter+Promise.swift"; sourceTree = ""; }; + 573C281E9AC6356B325AD8D6510F60B7 /* BIP32Keystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32Keystore.swift; path = web3swift/KeystoreManager/Classes/BIP32Keystore.swift; sourceTree = ""; }; + 5766E309D1AB7421873E2E4C04C5A5AA /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; + 57BF46728D1879DAAC9EBF3C6992D16F /* secp256k1_ios-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_ios-umbrella.h"; path = "../../Headers/Public/secp256k1_ios/secp256k1_ios-umbrella.h"; sourceTree = ""; }; + 5838F39185E3EAE8E18B70420E9A65E9 /* CMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CMAC.swift; path = Sources/CryptoSwift/CMAC.swift; sourceTree = ""; }; + 598C899118EB120568F6595B3CA4CF62 /* NoError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoError.swift; path = Result/NoError.swift; sourceTree = ""; }; + 59F77AE95BC9FEABC9D930C1AB687A02 /* Pods-web3swiftExample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swiftExample-dummy.m"; sourceTree = ""; }; + 5BA64E966CB81F4DBF7A2DE773DF868A /* field_10x26_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26_impl.h; path = secp256k1_ios/src/field_10x26_impl.h; sourceTree = ""; }; + 5BC6637281B8A68F6FC9D03AD4BE8663 /* ZeroPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZeroPadding.swift; path = Sources/CryptoSwift/ZeroPadding.swift; sourceTree = ""; }; + 5D57382F3D45CBD48EC909FE9F31DD25 /* ABIv2ParameterTypes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2ParameterTypes.swift; path = web3swift/ABIv2/Classes/ABIv2ParameterTypes.swift; sourceTree = ""; }; + 5F227060DB927464FC9041C45A8FFB80 /* CryptoExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CryptoExtensions.swift; path = web3swift/Convenience/Classes/CryptoExtensions.swift; sourceTree = ""; }; + 5F61FB300C8C0447EB3B39E0D27DCC86 /* Digest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Digest.swift; path = Sources/CryptoSwift/Digest.swift; sourceTree = ""; }; + 60BC0AB6A6A28CC649B0FF506918AB6F /* Words and Bits.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Words and Bits.swift"; path = "sources/Words and Bits.swift"; sourceTree = ""; }; + 60D6A69168B4A121E9E39646B6E40E1A /* secp256k1_ecdh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ecdh.h; path = secp256k1_ios/include/secp256k1_ecdh.h; sourceTree = ""; }; + 619A8D3D3D97DA2E15C31D9AEFCDABF8 /* UIViewController+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.m"; sourceTree = ""; }; + 61C7FDF5E2DDE25A864126B5CDE2560A /* field.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field.h; path = secp256k1_ios/src/field.h; sourceTree = ""; }; + 6295CFD25EA738F9FEF1FD0EE5FE0B06 /* Base58.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Base58.swift; path = web3swift/Convenience/Classes/Base58.swift; sourceTree = ""; }; + 631CEB8A33B0BABC23841BB536628BFA /* BlockExplorer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockExplorer.swift; path = web3swift/BlockExplorer/Classes/BlockExplorer.swift; sourceTree = ""; }; + 63210423770306A042AA9FF3B458E4E7 /* Updatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Updatable.swift; path = Sources/CryptoSwift/Updatable.swift; sourceTree = ""; }; + 66175BB0554541A3D3816C0B65138569 /* LibSecp256k1Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LibSecp256k1Extension.swift; path = web3swift/Convenience/Classes/LibSecp256k1Extension.swift; sourceTree = ""; }; + 6799868DDDED4341574C8A8D6027075A /* secp256k1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1.h; path = secp256k1_ios/include/secp256k1.h; sourceTree = ""; }; + 6850F16CFC2F18D10E4E30E73F0552A8 /* AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AnyPromise.h; path = Sources/AnyPromise.h; sourceTree = ""; }; + 68BB7A2BC3583AD28EAD25EA7ED9D5FD /* Promise+Web3+Eth+SendRawTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+SendRawTransaction.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+SendRawTransaction.swift"; sourceTree = ""; }; + 693EA8BE7F3922FAB6C8D9FB9B29DD52 /* Shifts.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Shifts.swift; path = sources/Shifts.swift; sourceTree = ""; }; + 69CA1E92AD82C49EF237136039463B58 /* PromiseKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PromiseKit.h; path = Sources/PromiseKit.h; sourceTree = ""; }; + 69CD19444455A47F7707DA7A006277B4 /* SipHash.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = SipHash.modulemap; path = ../../Headers/Public/SipHash/SipHash.modulemap; sourceTree = ""; }; + 69DD73C0AA680B56241490A79FDB334B /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Result/Result.swift; sourceTree = ""; }; + 6A270F07FA0270BCC20180DB9DCC1B67 /* Promise+Web3+Personal+Sign.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Personal+Sign.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Personal+Sign.swift"; sourceTree = ""; }; + 6B2A909107AF59DD8B8759CFE5DC93C3 /* Integer Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Integer Conversion.swift"; path = "sources/Integer Conversion.swift"; sourceTree = ""; }; + 6B7201DD7B676D754F535E10B68B800E /* PromiseKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = PromiseKit.modulemap; path = ../../Headers/Public/PromiseKit/PromiseKit.modulemap; sourceTree = ""; }; + 6C45D29D8FF386012D33CFF0BE84AD2B /* secp256k1_ios.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = secp256k1_ios.xcconfig; sourceTree = ""; }; + 6CAC92B61D9654425EE1338FD274CDAD /* when.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = when.swift; path = Sources/when.swift; sourceTree = ""; }; + 6E54F021F03B8254D3E0139DB1197C21 /* PBKDF1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF1.swift; path = Sources/CryptoSwift/PKCS/PBKDF1.swift; sourceTree = ""; }; + 6F4ED35987097AEB911D8C66F9DBBFB9 /* String+FoundationExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+FoundationExtension.swift"; path = "Sources/CryptoSwift/Foundation/String+FoundationExtension.swift"; sourceTree = ""; }; + 6F4F320F47509747094BF6BAE12A4D24 /* secp256k1_recovery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_recovery.h; path = secp256k1_ios/include/secp256k1_recovery.h; sourceTree = ""; }; + 6F569DE923E2ED82AAC896068E839D04 /* PromiseKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromiseKit.xcconfig; sourceTree = ""; }; + 6FA106D7CC1651054D660C68F23DE86E /* Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Promise.swift; path = Sources/Promise.swift; sourceTree = ""; }; + 709E41B5FAC1DD8F9B55AF533813EFBB /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "Sources/CryptoSwift/Foundation/Data+Extension.swift"; sourceTree = ""; }; + 70E0EEB2A88058CB61B7C02075E3FBC7 /* Web3+JSONRPC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+JSONRPC.swift"; path = "web3swift/Web3/Classes/Web3+JSONRPC.swift"; sourceTree = ""; }; + 729AEEED6FDD90CEDBADA5C6755B9536 /* SHA2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA2.swift; path = Sources/CryptoSwift/SHA2.swift; sourceTree = ""; }; + 735E74D1B58493E7131A357B28151246 /* AEAD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEAD.swift; path = Sources/CryptoSwift/AEAD/AEAD.swift; sourceTree = ""; }; + 7490D6F83AB700404C125AC3E6A130A2 /* web3swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "web3swift-dummy.m"; sourceTree = ""; }; + 7535931BF67E66F8AAE328BEE0EC6A24 /* EventFiltering.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EventFiltering.swift; path = web3swift/Contract/Classes/EventFiltering.swift; sourceTree = ""; }; + 753FBDA47B0F3ABF841BFB35EE89BF17 /* NSTask+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSTask+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.h"; sourceTree = ""; }; + 75B53B7D429106EC393E04CCE7E0FCF7 /* GCD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCD.swift; path = sources/GCD.swift; sourceTree = ""; }; + 75BBEA9589DE194D6D03679EDBDB8F36 /* Collection+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Collection+Extension.swift"; path = "Sources/CryptoSwift/Collection+Extension.swift"; sourceTree = ""; }; + 75D06CDEDBF36C342B7FFE38F8F51A90 /* field_5x52.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52.h; path = secp256k1_ios/src/field_5x52.h; sourceTree = ""; }; + 76C5EBB02B365D308E28575CC36D5CA0 /* Strideable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Strideable.swift; path = sources/Strideable.swift; sourceTree = ""; }; + 77BA68E17B6BB6941FB1F5C040C24663 /* Promise+Web3+Eth+GetBlockByHash.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockByHash.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByHash.swift"; sourceTree = ""; }; + 78065485981757B26523C1E5BD7EAD03 /* Pods-web3swiftExample-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-web3swiftExample-frameworks.sh"; sourceTree = ""; }; + 7824C3291189F43DB7D1217F4967A4F2 /* Random.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Random.swift; path = sources/Random.swift; sourceTree = ""; }; + 785088A8C7337172C11F39BC9A4A9321 /* PlainKeystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PlainKeystore.swift; path = web3swift/KeystoreManager/Classes/PlainKeystore.swift; sourceTree = ""; }; + 788557B540DA06D0AF67BA99AF689F4C /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Configuration.swift; sourceTree = ""; }; + 78B7D9D842F7D0AA20338FB007081B95 /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "web3swift/Convenience/Classes/Array+Extension.swift"; sourceTree = ""; }; + 78EB2D7AF07B5FB60C2DE1449E308285 /* AES.Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.Cryptors.swift; path = Sources/CryptoSwift/AES.Cryptors.swift; sourceTree = ""; }; + 7C339595D926BED9A5D0167C24CDC4B8 /* Resolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Resolver.swift; path = Sources/Resolver.swift; sourceTree = ""; }; + 7CB230DD879156CD4033668CEE509774 /* EthereumAddress.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumAddress.swift; path = web3swift/KeystoreManager/Classes/EthereumAddress.swift; sourceTree = ""; }; 7D734165233A268ADD9C2C4EC0FBCB2D /* libPromiseKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libPromiseKit.a; path = libPromiseKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 7DBAF0C2F5BD5A5625B1B234D0E9BF81 /* BigInt-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BigInt-dummy.m"; sourceTree = ""; }; - 7DD7D170A631D238DD87B920F3821371 /* race.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = race.m; path = Sources/race.m; sourceTree = ""; }; - 7DDD374821E4640217896833C7CA1640 /* AEADChaCha20Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEADChaCha20Poly1305.swift; path = Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift; sourceTree = ""; }; - 7E9707E1F50D7C7959FA42372F48A2C0 /* eckey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey.h; path = secp256k1_ios/src/eckey.h; sourceTree = ""; }; - 7F444615A31A37C9AE86FCD68C9617C8 /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "web3swift/Convenience/Classes/String+Extension.swift"; sourceTree = ""; }; - 7F532B89CD79FB5FA18D07FC46DD8466 /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/CryptoSwift/Operators.swift; sourceTree = ""; }; - 7F837E682B0D2339226DCCDA26481727 /* Addition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Addition.swift; path = sources/Addition.swift; sourceTree = ""; }; - 7FD0C198DD93405BF1DA5EDE636A2F6F /* Blowfish.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blowfish.swift; path = Sources/CryptoSwift/Blowfish.swift; sourceTree = ""; }; - 80046DC911582304810AAD592475C63C /* ComparisonExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ComparisonExtensions.swift; path = web3swift/Contract/Classes/ComparisonExtensions.swift; sourceTree = ""; }; - 81129A66FBF8621B73A114A3835F4046 /* Updatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Updatable.swift; path = Sources/CryptoSwift/Updatable.swift; sourceTree = ""; }; - 850178BDFC9EF1A7C80827D3FFCD0482 /* lax_der_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_parsing.h; path = secp256k1_ios/contrib/lax_der_parsing.h; sourceTree = ""; }; - 8513371DF9ECC2C2DE1AE63075533C3F /* web3swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "web3swift-prefix.pch"; sourceTree = ""; }; - 862203C1EEFE1746B51A18A70C8255F1 /* Promise+Web3+Eth+GetBlockByNumber.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockByNumber.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByNumber.swift"; sourceTree = ""; }; - 8668B73A34C0C334E2DFF0A4D01B9887 /* scalar_low.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low.h; path = secp256k1_ios/src/scalar_low.h; sourceTree = ""; }; - 86C3207E565D52552FDFA7EA42F05270 /* field_5x52.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52.h; path = secp256k1_ios/src/field_5x52.h; sourceTree = ""; }; - 8860ADCD1425930DB2A6C8824B7787DE /* CMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CMAC.swift; path = Sources/CryptoSwift/CMAC.swift; sourceTree = ""; }; - 89C96B4D64AAD6FFE4F71B1EF2782516 /* Multiplication.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multiplication.swift; path = sources/Multiplication.swift; sourceTree = ""; }; - 89E684D5E2CA396D9C64859D2012B692 /* field_10x26_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26_impl.h; path = secp256k1_ios/src/field_10x26_impl.h; sourceTree = ""; }; - 8DDB94F4F7A8AA4FE18B9EBB50F0D323 /* Web3+ERC20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+ERC20.swift"; path = "web3swift/PrecompiledContracts/ERC20/Web3+ERC20.swift"; sourceTree = ""; }; + 7FAFAE9D7630D61F389768DE544675E3 /* num_gmp_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp_impl.h; path = secp256k1_ios/src/num_gmp_impl.h; sourceTree = ""; }; + 7FF21379AF18F46F4F0D6D75E0FF54F4 /* scalar_8x32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32.h; path = secp256k1_ios/src/scalar_8x32.h; sourceTree = ""; }; + 819DF3E764AD03A99AE1276773AA60D9 /* PKCS7.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7.swift; path = Sources/CryptoSwift/PKCS/PKCS7.swift; sourceTree = ""; }; + 81DEF759EE796B2DE4FC5D93FACFB387 /* CryptoSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-prefix.pch"; sourceTree = ""; }; + 83028A48F74FCB58CD998F99671B2730 /* String Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String Conversion.swift"; path = "sources/String Conversion.swift"; sourceTree = ""; }; + 83D65244334349A7D66163DFEE37F1FA /* Process+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Process+Promise.swift"; path = "Extensions/Foundation/Sources/Process+Promise.swift"; sourceTree = ""; }; + 845B2F9B3F1C9FB2895E49DB515D07CA /* Web3+BrowserFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+BrowserFunctions.swift"; path = "web3swift/HookedFunctions/Classes/Web3+BrowserFunctions.swift"; sourceTree = ""; }; + 84AB4B26E85BB1F6973CFA28CD3096B5 /* RIPEMD160+StackOveflow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RIPEMD160+StackOveflow.swift"; path = "web3swift/Convenience/Classes/RIPEMD160+StackOveflow.swift"; sourceTree = ""; }; + 850721D7FB7DE9412EBAADE3BE6A6532 /* Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Poly1305.swift; path = Sources/CryptoSwift/Poly1305.swift; sourceTree = ""; }; + 87A57BF304C2840A5AFBC40A55F95F7A /* Web3+Personal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Personal.swift"; path = "web3swift/Web3/Classes/Web3+Personal.swift"; sourceTree = ""; }; + 891D55C717F344B9C14142E735B75843 /* Promise+Web3+Eth+GetBlockByNumber.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockByNumber.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByNumber.swift"; sourceTree = ""; }; + 8991CD2A50906AF10EB4BDB7E932FAEF /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "Sources/CryptoSwift/Array+Extension.swift"; sourceTree = ""; }; + 8A81B88260492B4477381A6A631B8D02 /* GCM.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCM.swift; path = Sources/CryptoSwift/BlockMode/GCM.swift; sourceTree = ""; }; + 8AB539FAAC4756E9D732FC45FA73B7D3 /* Blowfish.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blowfish.swift; path = Sources/CryptoSwift/Blowfish.swift; sourceTree = ""; }; + 8C8FC8BC9825E5A78B2CDACAB1C7EAE7 /* OFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OFB.swift; path = Sources/CryptoSwift/BlockMode/OFB.swift; sourceTree = ""; }; + 8D699FB2D6E241D8DD3F2A527E0F732E /* RandomBytesSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomBytesSequence.swift; path = Sources/CryptoSwift/RandomBytesSequence.swift; sourceTree = ""; }; + 8D9827104D7B5DA3C16491C9811CC664 /* UIView+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Promise.swift"; path = "Extensions/UIKit/Sources/UIView+Promise.swift"; sourceTree = ""; }; + 8EC0E04C3669680657625472D862D24A /* afterlife.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = afterlife.swift; path = Extensions/Foundation/Sources/afterlife.swift; sourceTree = ""; }; 8FBB098F98DE89D1DE9C0EDB16C22E15 /* libSipHash.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libSipHash.a; path = libSipHash.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 8FCF51E9005015897DB4235855C11F3E /* Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptors.swift; path = Sources/CryptoSwift/Cryptors.swift; sourceTree = ""; }; - 91DBC05C80B653F0779A122B3E01A00B /* Promise+Web3+Eth+GetTransactionReceipt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionReceipt.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionReceipt.swift"; sourceTree = ""; }; - 9364DC443B63993CAC102783E3E2E71B /* Promise+Web3+Personal+UnlockAccount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Personal+UnlockAccount.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Personal+UnlockAccount.swift"; sourceTree = ""; }; + 8FDA429500C1942B661A657EA51E45DD /* BigInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigInt.swift; path = sources/BigInt.swift; sourceTree = ""; }; + 9008A60A0D23BDC48F41DFAA7F9FBA08 /* Comparable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Comparable.swift; path = sources/Comparable.swift; sourceTree = ""; }; + 90FB08FA3883CDF506EFD3894126E276 /* group_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group_impl.h; path = secp256k1_ios/src/group_impl.h; sourceTree = ""; }; + 912B8C0B1FBC7A948BA82A00E7045D27 /* Deprecations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecations.swift; path = Sources/Deprecations.swift; sourceTree = ""; }; + 913CF4153E753730DC216ECBA138739A /* BlockEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockEncryptor.swift; path = Sources/CryptoSwift/BlockEncryptor.swift; sourceTree = ""; }; + 914FA8B4E5606148A3FDB7A4AF04B6C1 /* scrypt-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "scrypt-dummy.m"; sourceTree = ""; }; + 91DC39A093E0AC3021796C0C881D7423 /* AbstractKeystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AbstractKeystore.swift; path = web3swift/KeystoreManager/Classes/AbstractKeystore.swift; sourceTree = ""; }; + 92BA0A05E447FDB20B427DC9BA3F17BA /* NSTask+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSTask+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.m"; sourceTree = ""; }; + 93527029429AD83050A8FED1326A171C /* UIViewPropertyAnimator+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewPropertyAnimator+Promise.swift"; path = "Extensions/UIKit/Sources/UIViewPropertyAnimator+Promise.swift"; sourceTree = ""; }; + 938683358C3B5AA2CFBFE642980B4AA3 /* PromiseKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PromiseKit-dummy.m"; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9407649D3AF3DFA0898FB2D0CEE49FB0 /* Box.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Box.swift; path = Sources/Box.swift; sourceTree = ""; }; - 940A12297080FAFA2D6A547951269482 /* Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Padding.swift; path = Sources/CryptoSwift/Padding.swift; sourceTree = ""; }; - 96E3F22CA6F457C6C0E539FEED05B7D8 /* UIView+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.h"; sourceTree = ""; }; - 973DE1FE38BB17CD69943D581C7A55F5 /* Result-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-prefix.pch"; sourceTree = ""; }; - 97FB0B47D6C3C00BE02AEEF203416406 /* ecmult_const_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const_impl.h; path = secp256k1_ios/src/ecmult_const_impl.h; sourceTree = ""; }; - 99D40DFEB3A4C759CC493F70A4EA108B /* field_10x26.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26.h; path = secp256k1_ios/src/field_10x26.h; sourceTree = ""; }; - 99F1915E70ED67C2A41631A9B4E95409 /* CryptoSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CryptoSwift-dummy.m"; sourceTree = ""; }; - 99FD9803A2BF705DFA95E8CFE488F5D5 /* Pods-web3swiftExample.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swiftExample.modulemap"; sourceTree = ""; }; - 9C031C01E004DEF403FA0B8AA6EFF370 /* Floating Point Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Floating Point Conversion.swift"; path = "sources/Floating Point Conversion.swift"; sourceTree = ""; }; - 9E54B974F06101FBFA19F76844B3BBAC /* CipherModeWorker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CipherModeWorker.swift; path = Sources/CryptoSwift/BlockMode/CipherModeWorker.swift; sourceTree = ""; }; - 9E6FA3B41EF131B438CFDBB3807EAC51 /* EthereumFilterEncodingExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumFilterEncodingExtensions.swift; path = web3swift/Contract/Classes/EthereumFilterEncodingExtensions.swift; sourceTree = ""; }; - 9ED56C4C75C737397EB4A6FE4BD26A24 /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = Sources/CryptoSwift/CompactMap.swift; sourceTree = ""; }; - 9EE64A9528FF128B9020101AA65FE4AB /* Pods-web3swiftExample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swiftExample-dummy.m"; sourceTree = ""; }; - 9EFEFBE752ED120C422E3F0BD4914CC0 /* hang.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = hang.m; path = Sources/hang.m; sourceTree = ""; }; - 9FCA58FBDB526789B6493D9E0B521C63 /* AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AnyPromise.h; path = Sources/AnyPromise.h; sourceTree = ""; }; - A048C650E06E40C87E43CFE55025EAF3 /* afterlife.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = afterlife.swift; path = Extensions/Foundation/Sources/afterlife.swift; sourceTree = ""; }; - A05EDF9C50CA5FB4D54C034BBEEF360F /* PBKDF2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF2.swift; path = Sources/CryptoSwift/PKCS/PBKDF2.swift; sourceTree = ""; }; - A1CA8B0E93A127B5254EF75AB9709B6E /* Data Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data Conversion.swift"; path = "sources/Data Conversion.swift"; sourceTree = ""; }; - A1D77762CE9C119FD2F51D4CD9271FDE /* Result-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Result-dummy.m"; sourceTree = ""; }; - A3503BC8EDED598CEC412D7358F4643F /* BlockExplorer+GetTransactionHistory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BlockExplorer+GetTransactionHistory.swift"; path = "web3swift/BlockExplorer/Classes/BlockExplorer+GetTransactionHistory.swift"; sourceTree = ""; }; - A37841BD104497DB3DF5388D4367797E /* Cimpl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Cimpl.h; path = scrypt/Cimpl.h; sourceTree = ""; }; - A65AD597143380A8240447064605DDAF /* scalar_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_impl.h; path = secp256k1_ios/src/scalar_impl.h; sourceTree = ""; }; - A6BD782668E0147C274576B5E4F5F974 /* Catchable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catchable.swift; path = Sources/Catchable.swift; sourceTree = ""; }; - A6BE5137753028C21E8B2484B016E908 /* BlockMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockMode.swift; path = Sources/CryptoSwift/BlockMode/BlockMode.swift; sourceTree = ""; }; - A732C7582F6BC356D8BD853CDE811DFC /* Bit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bit.swift; path = Sources/CryptoSwift/Bit.swift; sourceTree = ""; }; - A76766DCA675A328B7621F2CC2BBDC37 /* after.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = after.swift; path = Sources/after.swift; sourceTree = ""; }; - A79C7498C141E9CE21DC4835847CA83A /* HKDF.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HKDF.swift; path = Sources/CryptoSwift/HKDF.swift; sourceTree = ""; }; - A8E64E89FB29BF345C63383D75E5A96E /* field_5x52_int128_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_int128_impl.h; path = secp256k1_ios/src/field_5x52_int128_impl.h; sourceTree = ""; }; - A9FF32F58B836138C1B80B183FBC3CE2 /* BigUInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigUInt.swift; path = sources/BigUInt.swift; sourceTree = ""; }; - AA69368BBED1E9C971B870CC1D39411E /* Promise+Web3+Eth+GetTransactionCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionCount.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionCount.swift"; sourceTree = ""; }; - AA7C97F0ED74220BA363EC3492AA6619 /* scalar_8x32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32.h; path = secp256k1_ios/src/scalar_8x32.h; sourceTree = ""; }; - AA9F942F287B75869B1E47BFFC388B1A /* Salsa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Salsa.swift; path = scrypt/scrypt/Salsa.swift; sourceTree = ""; }; - AE75FF51A11E82B5FCDD575E3CC34131 /* Random.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Random.swift; path = sources/Random.swift; sourceTree = ""; }; - AE8FBACB218297430528D7CE5DDC95A2 /* NSURLSession+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURLSession+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.m"; sourceTree = ""; }; - B083A17C989339898CDCEE89B4F75375 /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "web3swift/Convenience/Classes/Data+Extension.swift"; sourceTree = ""; }; - B0C4412C5C5FABF27D7ACA7E2F23CE3D /* secp256k1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1.h; path = secp256k1_ios/include/secp256k1.h; sourceTree = ""; }; - B0DA82837F4FE2A7E626BA8F125B29BB /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = Sources/Error.swift; sourceTree = ""; }; - B0F41748EE794FFF4AB23CC5592DB949 /* Subtraction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Subtraction.swift; path = sources/Subtraction.swift; sourceTree = ""; }; - B3068DD183E4985B3B7691D15DF8298E /* BlockDecryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockDecryptor.swift; path = Sources/CryptoSwift/BlockDecryptor.swift; sourceTree = ""; }; - B35AC37C80D4264C320B7E21A880E43B /* PromiseKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = PromiseKit.modulemap; sourceTree = ""; }; - B37F023A41759D539E276E87BF6D90C3 /* Web3+Wallet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Wallet.swift"; path = "web3swift/HookedFunctions/Classes/Web3+Wallet.swift"; sourceTree = ""; }; - B421CF5866C90A22CF4AD1B2FB521FB1 /* StreamEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StreamEncryptor.swift; path = Sources/CryptoSwift/StreamEncryptor.swift; sourceTree = ""; }; - B5D98626E7B2E6CEA32D15F9D18C4224 /* NSNotificationCenter+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.m"; sourceTree = ""; }; - B5E7B50FE11A248882E6C1A3F9B94E1F /* BIP32KeystoreJSONStructure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32KeystoreJSONStructure.swift; path = web3swift/KeystoreManager/Classes/BIP32KeystoreJSONStructure.swift; sourceTree = ""; }; - B6C066266425FB691258429D89B58322 /* Web3+Protocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Protocols.swift"; path = "web3swift/Web3/Classes/Web3+Protocols.swift"; sourceTree = ""; }; - B7A36BF0987C747B882373933D43D47E /* CustomStringConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomStringConvertible.swift; path = Sources/CustomStringConvertible.swift; sourceTree = ""; }; - B7DCA902F4BD0A6D5EAB1E39146270DD /* AES.Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.Cryptors.swift; path = Sources/CryptoSwift/AES.Cryptors.swift; sourceTree = ""; }; - B834A0B254CE3D581189392480DB3517 /* Promise+Web3+Eth+GetGasPrice.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetGasPrice.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetGasPrice.swift"; sourceTree = ""; }; - B8577B9E45726016E2FBBDE2C00FBA5E /* SipHashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHashable.swift; path = SipHash/SipHashable.swift; sourceTree = ""; }; - B892DF36FBCBE33582AE5F6826F178FE /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Configuration.swift; sourceTree = ""; }; - B8E9B7215E082F31D22AE879FC8E6A1F /* Authenticator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Authenticator.swift; path = Sources/CryptoSwift/Authenticator.swift; sourceTree = ""; }; - BAAC01A47C8984D8B7CC71964CAB89C1 /* EventFiltering.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EventFiltering.swift; path = web3swift/Contract/Classes/EventFiltering.swift; sourceTree = ""; }; - BAE7C5677B39ED368F1B2A247D241199 /* UIViewController+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.h"; sourceTree = ""; }; - BB0D492A199FDCE619F35C5B9F15159E /* scrypt-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-prefix.pch"; sourceTree = ""; }; - BB92779C818B8269C48BED9212AAF37F /* web3swift-Bridging-Header.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "web3swift-Bridging-Header.h"; path = "web3swift/web3swift-Bridging-Header.h"; sourceTree = ""; }; - BBA5DBF0F836BCDC6BD27E61549AAC70 /* ECB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ECB.swift; path = Sources/CryptoSwift/BlockMode/ECB.swift; sourceTree = ""; }; - BBB186A40620A95D2A4EE454989B445E /* join.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = join.m; path = Sources/join.m; sourceTree = ""; }; - BD5D175D4442830B35689DDF3D60C5F8 /* Web3+Instance+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Instance+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+Instance+ObjC.swift"; sourceTree = ""; }; - BFFDB386AE35349F33B00B6D7A8525EB /* Web3+Contract.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Contract.swift"; path = "web3swift/Web3/Classes/Web3+Contract.swift"; sourceTree = ""; }; - C1D32AFFBF6E022875FA6FA5E31CDD8C /* ABIv2TypeParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2TypeParser.swift; path = web3swift/ABIv2/Classes/ABIv2TypeParser.swift; sourceTree = ""; }; - C1E160858524FA249084D3D67DF197C8 /* scrypt.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = scrypt.modulemap; sourceTree = ""; }; - C227C20C27715023D2C006ED811A0FAD /* scalar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar.h; path = secp256k1_ios/src/scalar.h; sourceTree = ""; }; - C3EAA6334BA9847C7D5688F154251C3C /* Base58.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Base58.swift; path = web3swift/Convenience/Classes/Base58.swift; sourceTree = ""; }; - C40EDDE1B718C8470C7AA3C48C5554AE /* num_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_impl.h; path = secp256k1_ios/src/num_impl.h; sourceTree = ""; }; - C42BF3CAC53EA5AA37D4CC5C152AA8B6 /* UInt128.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UInt128.swift; path = Sources/CryptoSwift/UInt128.swift; sourceTree = ""; }; - C44F34B4A43FBA288053EED2B79F6ACB /* scratch_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch_impl.h; path = secp256k1_ios/src/scratch_impl.h; sourceTree = ""; }; - C4D1A5DD3EF2B55B1F7090048637E96A /* Strideable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Strideable.swift; path = sources/Strideable.swift; sourceTree = ""; }; - C4D54F7C6D9EA280A0460EFA15E45520 /* Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Codable.swift; path = sources/Codable.swift; sourceTree = ""; }; - C5B7066F1E4B26038FE68DE60BCBBA7D /* CryptoSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-umbrella.h"; sourceTree = ""; }; - C7A5FC3965022F4087D250C6B9EFC804 /* when.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = when.m; path = Sources/when.m; sourceTree = ""; }; - C82501607388B8BCA99C8AFAEFD1465C /* Shifts.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Shifts.swift; path = sources/Shifts.swift; sourceTree = ""; }; - C8C2E113E148B418D9CFFA9563D61A9C /* Web3+Personal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Personal.swift"; path = "web3swift/Web3/Classes/Web3+Personal.swift"; sourceTree = ""; }; - C8D29DC59940B5FDB7E394779075BECE /* MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MD5.swift; path = Sources/CryptoSwift/MD5.swift; sourceTree = ""; }; - C9BB9612098BEF96218A20B30D84C0F5 /* PKCS7Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7Padding.swift; path = Sources/CryptoSwift/PKCS/PKCS7Padding.swift; sourceTree = ""; }; - CA13324E6B18FC344F7E858446786F1B /* fwd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fwd.h; path = Sources/fwd.h; sourceTree = ""; }; - CA18A76F4C080B687839B8EF95C096E1 /* Web3+Eth+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Eth+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+Eth+ObjC.swift"; sourceTree = ""; }; - CA57CE485B097FA3819A70808EC9563A /* Scrypt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scrypt.swift; path = scrypt/scrypt/Scrypt.swift; sourceTree = ""; }; - CB58A1F8BA189B147A3A2B8EE893A5F2 /* SHA3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA3.swift; path = Sources/CryptoSwift/SHA3.swift; sourceTree = ""; }; - CB850682BB5958733FC8B52787BAC26F /* Promise+Web3+Contract+GetIndexedEvents.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Contract+GetIndexedEvents.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Contract+GetIndexedEvents.swift"; sourceTree = ""; }; - CBB29B20CE255658DDB1532AC1266247 /* UIView+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.m"; sourceTree = ""; }; - CD02528C65BB0F37587F72DFC75F763B /* Promise+Batching.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Batching.swift"; path = "web3swift/Promises/Classes/Promise+Batching.swift"; sourceTree = ""; }; - CFD4B69F8A727F8A3888203E38DD2A63 /* RandomBytesSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomBytesSequence.swift; path = Sources/CryptoSwift/RandomBytesSequence.swift; sourceTree = ""; }; - D16392BB50E5CB36CCE0946928A6E774 /* Web3+JSONRPC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+JSONRPC.swift"; path = "web3swift/Web3/Classes/Web3+JSONRPC.swift"; sourceTree = ""; }; - D4325AC70ADD65BEB3851931F4DDD2B1 /* SipHash-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-prefix.pch"; sourceTree = ""; }; - D4A915B27C142C9851B0FC16DB2ACE3E /* Web3+BrowserFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+BrowserFunctions.swift"; path = "web3swift/HookedFunctions/Classes/Web3+BrowserFunctions.swift"; sourceTree = ""; }; - D5C569671837CF74CAABEA7BA50950AD /* ABIv2ParameterTypes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2ParameterTypes.swift; path = web3swift/ABIv2/Classes/ABIv2ParameterTypes.swift; sourceTree = ""; }; - D611D9EC9939318B1A869FB533E3081B /* UIView+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Promise.swift"; path = "Extensions/UIKit/Sources/UIView+Promise.swift"; sourceTree = ""; }; - D65E0431F0537EA35BD7DAF5F94927D4 /* Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Poly1305.swift; path = Sources/CryptoSwift/Poly1305.swift; sourceTree = ""; }; - D914AC0AB63A632AC7633D885778EBCF /* CryptoSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CryptoSwift.xcconfig; sourceTree = ""; }; - D9820DAF2C85EF9676F910DE851D4162 /* SipHasher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHasher.swift; path = SipHash/SipHasher.swift; sourceTree = ""; }; - DA177BA14669EB8B685B3F62D790F9C3 /* firstly.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = firstly.swift; path = Sources/firstly.swift; sourceTree = ""; }; - DA74A78957A0CAC7EE67F329C7D19AF0 /* ecdsa_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa_impl.h; path = secp256k1_ios/src/ecdsa_impl.h; sourceTree = ""; }; - DBA9232DC21A4588EA5C4A6360ED7D64 /* Web3+Options.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Options.swift"; path = "web3swift/Web3/Classes/Web3+Options.swift"; sourceTree = ""; }; - DBEC0F8F6B1817868AA19E3502F2834D /* secp256k1_ios.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = secp256k1_ios.modulemap; sourceTree = ""; }; - DC13E3A095630065A63A08AF09FAB39F /* SHA2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA2.swift; path = Sources/CryptoSwift/SHA2.swift; sourceTree = ""; }; - DC969B5AEC409B7F51A179949E6D0CF1 /* num.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num.h; path = secp256k1_ios/src/num.h; sourceTree = ""; }; - DF1AD7A03062250545811E60016148CF /* NSRegularExpressionExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSRegularExpressionExtension.swift; path = web3swift/Convenience/Classes/NSRegularExpressionExtension.swift; sourceTree = ""; }; - E06D321FD0D4501F1FF7D6F6264A1DDE /* scalar_4x64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64.h; path = secp256k1_ios/src/scalar_4x64.h; sourceTree = ""; }; - E20325AD797DB5BA5787DCB0E743E290 /* Utils+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Utils+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Utils+Foundation.swift"; sourceTree = ""; }; - E3457915D72C8396DE12FE14D7A8852C /* AnyPromise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyPromise.swift; path = Sources/AnyPromise.swift; sourceTree = ""; }; - E4B92864B1CA33880BA06C60DDA3952B /* libsecp256k1-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "libsecp256k1-config.h"; path = "secp256k1_ios/libsecp256k1-config.h"; sourceTree = ""; }; - E4CFD5F759228BAD6E44D4AAB52653B5 /* ContractABIv2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContractABIv2.swift; path = web3swift/Contract/Classes/ContractABIv2.swift; sourceTree = ""; }; - E5C7B4BF4756A6319C9C3EF43BC2269E /* num_gmp_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp_impl.h; path = secp256k1_ios/src/num_gmp_impl.h; sourceTree = ""; }; - E705EB0EC3F843226C5530B49D66F44E /* field.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field.h; path = secp256k1_ios/src/field.h; sourceTree = ""; }; - E7392F15D9E28ABE006D665C8C76D964 /* GCD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCD.swift; path = sources/GCD.swift; sourceTree = ""; }; - E92471A6404F95DFCFD6D27751246E1E /* Cryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptor.swift; path = Sources/CryptoSwift/Cryptor.swift; sourceTree = ""; }; - E9FAA6A53A97BA2E6A2ED16DE2451DDC /* Web3+Eth.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Eth.swift"; path = "web3swift/Web3/Classes/Web3+Eth.swift"; sourceTree = ""; }; - ECA90F28821D65DE1389723B535297DE /* CryptoSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-prefix.pch"; sourceTree = ""; }; - ED0070FE7462B58C47F60E55B8C0AA5E /* String Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String Conversion.swift"; path = "sources/String Conversion.swift"; sourceTree = ""; }; - ED3A35F62CF4696CC475089EADED9E19 /* Promise+Web3+Eth+GetAccounts.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetAccounts.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetAccounts.swift"; sourceTree = ""; }; - EDA43B32781D9D973ED35A557A240958 /* field_5x52_asm_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_asm_impl.h; path = secp256k1_ios/src/field_5x52_asm_impl.h; sourceTree = ""; }; - EEDAFED9F2E7A4D6945433CF19C261A5 /* HMAC+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "HMAC+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/HMAC+Foundation.swift"; sourceTree = ""; }; - EFC296C2BEC907D60DCA20DD2859E714 /* Result.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Result.xcconfig; sourceTree = ""; }; - F2ABB5405C641CC68BD096B2B036EE11 /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/CryptoSwift/AES.swift; sourceTree = ""; }; - F345EE303C18CA7571D1C08F595659F1 /* SipHash.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SipHash.modulemap; sourceTree = ""; }; - F38AF3A827B05E1C96CC72F240A5AC14 /* PromiseKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-umbrella.h"; sourceTree = ""; }; - F3DB5983D5328F395EC023B6F7BA9412 /* Pods-web3swiftExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swiftExample.release.xcconfig"; sourceTree = ""; }; - F3DC571B8A19A17AAAC784433AABB955 /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "web3swift/Convenience/Classes/Array+Extension.swift"; sourceTree = ""; }; - F3E16828B172E3E29C2C2A69EFDF43AF /* ABIv2Encoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Encoding.swift; path = web3swift/ABIv2/Classes/ABIv2Encoding.swift; sourceTree = ""; }; - F3F5A2A6D774B47357984CAF7863D68F /* String+FoundationExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+FoundationExtension.swift"; path = "Sources/CryptoSwift/Foundation/String+FoundationExtension.swift"; sourceTree = ""; }; - F412C8E7409927D4E4032AA2237D1ABD /* NativeTypesEncoding+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NativeTypesEncoding+Extensions.swift"; path = "web3swift/Convenience/Classes/NativeTypesEncoding+Extensions.swift"; sourceTree = ""; }; - F50562362228B990CE143E7EEC4860EC /* Resolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Resolver.swift; path = Sources/Resolver.swift; sourceTree = ""; }; - F5D6AF8D555A9E4255C5A7F9DBA2C46A /* Result-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-umbrella.h"; sourceTree = ""; }; - F5F05B314C909125D077A6977F0E706F /* Guarantee.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Guarantee.swift; path = Sources/Guarantee.swift; sourceTree = ""; }; - F65C87A76C6A03B2087AD0F053518E55 /* CryptoExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CryptoExtensions.swift; path = web3swift/Convenience/Classes/CryptoExtensions.swift; sourceTree = ""; }; - F73C8D13D7365EE34099B5B7D39B60B7 /* Promise+Web3+Eth+SendRawTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+SendRawTransaction.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+SendRawTransaction.swift"; sourceTree = ""; }; - F773C8F575C7369A7CA7E723748E110D /* eckey_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey_impl.h; path = secp256k1_ios/src/eckey_impl.h; sourceTree = ""; }; - F7C85CCAD8B8BB2BC645025063627244 /* Division.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Division.swift; path = sources/Division.swift; sourceTree = ""; }; - F956125ABF2FC6AD75ECDBF46DA4BA22 /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Result/Result.swift; sourceTree = ""; }; - F9E575A8DCCCA9340467D59D513CE613 /* group_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group_impl.h; path = secp256k1_ios/src/group_impl.h; sourceTree = ""; }; - FA8F9990F972DBEA8E1998A5A1F0F1F9 /* Process+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Process+Promise.swift"; path = "Extensions/Foundation/Sources/Process+Promise.swift"; sourceTree = ""; }; - FAB164AAEFA3768FB27145624FE1B935 /* AES+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AES+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/AES+Foundation.swift"; sourceTree = ""; }; - FB5BC642B12A83508582043830A9216B /* when.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = when.swift; path = Sources/when.swift; sourceTree = ""; }; - FB682963D538987398F14AB14E9F6457 /* PKCS5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS5.swift; path = Sources/CryptoSwift/PKCS/PKCS5.swift; sourceTree = ""; }; - FBCF03C2FFB16105B36B473D4E7B2D8C /* SecureBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SecureBytes.swift; path = Sources/CryptoSwift/SecureBytes.swift; sourceTree = ""; }; - FBD8B2F40C0C32DCEA7AA785534F1FB9 /* Result.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Result.modulemap; sourceTree = ""; }; - FD708B9B8D939244EFAB57D224317EAE /* Promise+Web3+Eth+GetTransactionDetails.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionDetails.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionDetails.swift"; sourceTree = ""; }; + 950B12DB7F4C7CF3F58880BC46966315 /* secp256k1_ios-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "secp256k1_ios-dummy.m"; sourceTree = ""; }; + 95249F16407D5F29A7DC563FCF50F1F3 /* scrypt-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-prefix.pch"; sourceTree = ""; }; + 952E5E5A20415427CA78C75911C62ABD /* Promise+Web3+Intermediate+Send.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Intermediate+Send.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Intermediate+Send.swift"; sourceTree = ""; }; + 958751D0D47E3CCFFC945333CEB4F72E /* Promise+Web3+Eth+GetAccounts.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetAccounts.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetAccounts.swift"; sourceTree = ""; }; + 95F9DAFFDEA63060E250D163213F0C61 /* race.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = race.m; path = Sources/race.m; sourceTree = ""; }; + 96F86314D21C56C76D90CA969B03162F /* Web3+Instance+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Instance+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+Instance+ObjC.swift"; sourceTree = ""; }; + 973DD5BB41EA9F79AF3EC787D0C36229 /* scalar_4x64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64.h; path = secp256k1_ios/src/scalar_4x64.h; sourceTree = ""; }; + 976F6985F84517A349137181F3CBB38C /* UInt16+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt16+Extension.swift"; path = "Sources/CryptoSwift/UInt16+Extension.swift"; sourceTree = ""; }; + 9778E61DBD908F7C81939F9640787434 /* Web3+Methods.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Methods.swift"; path = "web3swift/Web3/Classes/Web3+Methods.swift"; sourceTree = ""; }; + 99C57625E52E17DB4D8B152FC7D1772F /* scalar_low_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low_impl.h; path = secp256k1_ios/src/scalar_low_impl.h; sourceTree = ""; }; + 9BD8F7B538E9955AD6B31C5548E85E3A /* scalar_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_impl.h; path = secp256k1_ios/src/scalar_impl.h; sourceTree = ""; }; + 9C8EDCC12EBCA64B4D3B9C433300DD15 /* after.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = after.swift; path = Sources/after.swift; sourceTree = ""; }; + 9D81EA660BB41A6042EB12554C011FF5 /* Web3+Options.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Options.swift"; path = "web3swift/Web3/Classes/Web3+Options.swift"; sourceTree = ""; }; + 9E396C482D49D085DD8E5C6F1538A1B3 /* DigestType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DigestType.swift; path = Sources/CryptoSwift/DigestType.swift; sourceTree = ""; }; + 9E4C0E96E391A3A6478442E71331B4C8 /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = Sources/CryptoSwift/Utils.swift; sourceTree = ""; }; + A1EBCC0F3780CD1BF5924A52550B2326 /* lax_der_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_parsing.c; path = secp256k1_ios/contrib/lax_der_parsing.c; sourceTree = ""; }; + A1F0E78B73C5750335C94D48A43488F1 /* libsecp256k1-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "libsecp256k1-config.h"; path = "secp256k1_ios/libsecp256k1-config.h"; sourceTree = ""; }; + A4AD0B0CDC89E37F1F3D10E361AB2BD7 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/recovery/main_impl.h; sourceTree = ""; }; + A4DBB0B96A0D97186D0D275913EFB6F4 /* ABIv2TypeParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2TypeParser.swift; path = web3swift/ABIv2/Classes/ABIv2TypeParser.swift; sourceTree = ""; }; + A740ACE88D9C0FCCAA9BF577B356D151 /* EthereumKeystoreV3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumKeystoreV3.swift; path = web3swift/KeystoreManager/Classes/EthereumKeystoreV3.swift; sourceTree = ""; }; + A740FA5D5A7CC8E07FC8BA48D71D4558 /* Box.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Box.swift; path = Sources/Box.swift; sourceTree = ""; }; + A7653D4CA3F95CD7C0BD5C5634BC8726 /* Authenticator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Authenticator.swift; path = Sources/CryptoSwift/Authenticator.swift; sourceTree = ""; }; + A96630CA550118EAC05864B2C651DF35 /* SipHashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHashable.swift; path = SipHash/SipHashable.swift; sourceTree = ""; }; + A96F34D195736EFBEE26EAF01CFB8519 /* field_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_impl.h; path = secp256k1_ios/src/field_impl.h; sourceTree = ""; }; + A9B7FC1C4BA7B43D989DB2B556486352 /* BigUInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigUInt.swift; path = sources/BigUInt.swift; sourceTree = ""; }; + A9D56D5E5F9EF5E2211C743FEDCBAADD /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "Sources/CryptoSwift/String+Extension.swift"; sourceTree = ""; }; + AB5B6ACFABC7EC18ACEAA8633842A947 /* Bitwise Ops.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bitwise Ops.swift"; path = "sources/Bitwise Ops.swift"; sourceTree = ""; }; + AE50FC315B634183486EDEF0DBB59268 /* ABIv2Parsing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Parsing.swift; path = web3swift/ABIv2/Classes/ABIv2Parsing.swift; sourceTree = ""; }; + AF39ECE02AE8493AAF47EDD68429E007 /* CipherModeWorker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CipherModeWorker.swift; path = Sources/CryptoSwift/BlockMode/CipherModeWorker.swift; sourceTree = ""; }; + B091BC43DB6D17BF018B2F63555755B4 /* BigInt-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-prefix.pch"; sourceTree = ""; }; + B1080142E5C98D83C6423ACA6241A5A6 /* AES+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AES+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/AES+Foundation.swift"; sourceTree = ""; }; + B1647966CB1B1D43959CF4E871BD9B36 /* secp256k1_ios-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-prefix.pch"; sourceTree = ""; }; + B1AF162652CC96EC4E7AA8713BEEF5B7 /* num_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_impl.h; path = secp256k1_ios/src/num_impl.h; sourceTree = ""; }; + B225A007A4268038A9E454D13111A89D /* ecmult_gen.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen.h; path = secp256k1_ios/src/ecmult_gen.h; sourceTree = ""; }; + B230E8C1B6762E788B76F2AA859FF02E /* BIP39.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP39.swift; path = web3swift/KeystoreManager/Classes/BIP39.swift; sourceTree = ""; }; + B271D2C6AB2B214DB0BBE7869FA70164 /* NameHash.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NameHash.swift; path = web3swift/Utils/Classes/NameHash.swift; sourceTree = ""; }; + B2742EF48D7A9BADD15DFA2028CDB4AD /* Subtraction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Subtraction.swift; path = sources/Subtraction.swift; sourceTree = ""; }; + B2BB223B0460060F3F08F67C605E6971 /* Bit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bit.swift; path = Sources/CryptoSwift/Bit.swift; sourceTree = ""; }; + B3AE1B016C720A6861CFEEED6B0B1E5D /* NSNotificationCenter+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.h"; sourceTree = ""; }; + B3F9A1907F29304BFC44C6ACB93771D4 /* Pods-web3swiftExample.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swiftExample.modulemap"; sourceTree = ""; }; + B461C953E96246972B9FD88D07AD66E5 /* PlainKeystore+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PlainKeystore+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/PlainKeystore+ObjC.swift"; sourceTree = ""; }; + B46845985AF612A96C9CC720A9AA1928 /* BigInt.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BigInt.xcconfig; sourceTree = ""; }; + B4CD7FD8C56DD910536ADB36E1277B34 /* Floating Point Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Floating Point Conversion.swift"; path = "sources/Floating Point Conversion.swift"; sourceTree = ""; }; + B4D0235918D0C322E2E83A50D0A2CD24 /* BigUInt+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BigUInt+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/BigUInt+ObjC.swift"; sourceTree = ""; }; + B5B0E053F4769044408474F4EDD0450B /* eckey_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey_impl.h; path = secp256k1_ios/src/eckey_impl.h; sourceTree = ""; }; + B71A2239207EC9A9FD4F65D23E822396 /* RandomUInt64.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomUInt64.swift; path = SipHash/RandomUInt64.swift; sourceTree = ""; }; + B76269C67E36441FAD8FF805B6A60FF1 /* ecmult_const_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const_impl.h; path = secp256k1_ios/src/ecmult_const_impl.h; sourceTree = ""; }; + B78D71D7365AE4B58112354EDD377D4D /* Web3+Contract.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Contract.swift"; path = "web3swift/Web3/Classes/Web3+Contract.swift"; sourceTree = ""; }; + B7BE49D1EB253D7DE7539B872CDAD284 /* Scrypt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scrypt.swift; path = scrypt/scrypt/Scrypt.swift; sourceTree = ""; }; + B806FEEE8A1AD5FF1AB49E5928BBC3A3 /* EthereumTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumTransaction.swift; path = web3swift/Transaction/Classes/EthereumTransaction.swift; sourceTree = ""; }; + B8CBA501A152AA198F4C80D0E17BAFED /* basic-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "basic-config.h"; path = "secp256k1_ios/src/basic-config.h"; sourceTree = ""; }; + B9CAE13A8BC055260DED74FDBDE2A710 /* AEADChaCha20Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEADChaCha20Poly1305.swift; path = Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift; sourceTree = ""; }; + BA06B61BC294257DACC3E1D0FD32DA53 /* lax_der_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_parsing.h; path = secp256k1_ios/contrib/lax_der_parsing.h; sourceTree = ""; }; + BB1C6578AA63B23B241C85DCD3EF3D21 /* group.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group.h; path = secp256k1_ios/src/group.h; sourceTree = ""; }; + BBB4E3EFCFB5EE8A172C605E76645746 /* Result-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Result-dummy.m"; sourceTree = ""; }; + BC0FD9DB2AEDA0136A6B828690C3BE23 /* UInt8+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt8+Extension.swift"; path = "Sources/CryptoSwift/UInt8+Extension.swift"; sourceTree = ""; }; + BFE4248F45D9EE5AAA7A83114F6B2BF6 /* Web3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Web3.swift; path = web3swift/Web3/Classes/Web3.swift; sourceTree = ""; }; + C0330E643D2770F7C6D422B4085388DA /* scalar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar.h; path = secp256k1_ios/src/scalar.h; sourceTree = ""; }; + C191C1B178EC68CC1E14B9012A443F62 /* EIP67Code.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EIP67Code.swift; path = web3swift/Utils/Classes/EIP67Code.swift; sourceTree = ""; }; + C52F5EDD1118D33A3B10C6452A089E8F /* PMKFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKFoundation.h; path = Extensions/Foundation/Sources/PMKFoundation.h; sourceTree = ""; }; + C613C1A4193B296D8171C94206D33C31 /* Web3+Eth.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Eth.swift"; path = "web3swift/Web3/Classes/Web3+Eth.swift"; sourceTree = ""; }; + C79C70AB4E5DF69385497C717CEBFB75 /* ABIv2Encoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Encoding.swift; path = web3swift/ABIv2/Classes/ABIv2Encoding.swift; sourceTree = ""; }; + C7BFE272DA00B10F8102625518DEADB8 /* join.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = join.m; path = Sources/join.m; sourceTree = ""; }; + C9025BAAEE8CC693DC8E66CE52E77768 /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "web3swift/Convenience/Classes/Data+Extension.swift"; sourceTree = ""; }; + C93101B181E8AABEB131C0915B6F3015 /* Promise+HttpProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+HttpProvider.swift"; path = "web3swift/Promises/Classes/Promise+HttpProvider.swift"; sourceTree = ""; }; + CA513A9C6927CE8B124B8CE4A371839B /* scrypt.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = scrypt.modulemap; path = ../../Headers/Public/scrypt/scrypt.modulemap; sourceTree = ""; }; + CAABB0F89CF876EA103285C487CD9403 /* Web3+HttpProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+HttpProvider.swift"; path = "web3swift/Web3/Classes/Web3+HttpProvider.swift"; sourceTree = ""; }; + CAB3B3DB7F29D6CDD16814E658597C38 /* ContractABIv2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContractABIv2.swift; path = web3swift/Contract/Classes/ContractABIv2.swift; sourceTree = ""; }; + CB0F38E28056726FF806F5BCFE43B68A /* SipHash-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SipHash-dummy.m"; sourceTree = ""; }; + CB23B0951CD5D604D24EA76B4B41466F /* ecmult_const.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const.h; path = secp256k1_ios/src/ecmult_const.h; sourceTree = ""; }; + CC203122F4CADEB96AD6DC31C9B89CD7 /* UInt128.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UInt128.swift; path = Sources/CryptoSwift/UInt128.swift; sourceTree = ""; }; + CC7703D2D8872FC0ABD92EE3F90EBDCB /* field_5x52_asm_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_asm_impl.h; path = secp256k1_ios/src/field_5x52_asm_impl.h; sourceTree = ""; }; + CC990486D4C0CEEBBB80C141DC8AAF7C /* CustomStringConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomStringConvertible.swift; path = Sources/CustomStringConvertible.swift; sourceTree = ""; }; + CCD3FB4606DD884C6F35F97D863A296F /* AnyError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyError.swift; path = Result/AnyError.swift; sourceTree = ""; }; + CD0F82A7D2464AEF836A81F2E23371DD /* NoPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoPadding.swift; path = Sources/CryptoSwift/NoPadding.swift; sourceTree = ""; }; + CD6A176D312F0AE31DF835BCA4A0F342 /* field_5x52_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_impl.h; path = secp256k1_ios/src/field_5x52_impl.h; sourceTree = ""; }; + CED83459CAB009994922F31BDEFD623E /* web3swift-Bridging-Header.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "web3swift-Bridging-Header.h"; path = "web3swift/web3swift-Bridging-Header.h"; sourceTree = ""; }; + CFB2C7C3A237D8835945428FD197C62E /* Array+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Array+Foundation.swift"; sourceTree = ""; }; + CFBD00269481FF629C0D75143D8ED5CB /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/CryptoSwift/Operators.swift; sourceTree = ""; }; + CFC18FE05DFD6D953716F8225BEC16A8 /* Checksum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Checksum.swift; path = Sources/CryptoSwift/Checksum.swift; sourceTree = ""; }; + D0C5DCCE452FBA3A37BE4A3C6ECB9C33 /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = Sources/CryptoSwift/CompactMap.swift; sourceTree = ""; }; + D1FE5696E0B254ED3F3CEF1700BFE3EF /* CoreImage.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreImage.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/CoreImage.framework; sourceTree = DEVELOPER_DIR; }; + D22A1274D72F8069BBEBF15A847277B5 /* BIP32HDNode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32HDNode.swift; path = web3swift/KeystoreManager/Classes/BIP32HDNode.swift; sourceTree = ""; }; + D3D75A6D93D9A7DF105F25DC93688461 /* util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = util.h; path = secp256k1_ios/src/util.h; sourceTree = ""; }; + D48E4039D8A05D930087548282B6EDFB /* Web3+Wallet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Wallet.swift"; path = "web3swift/HookedFunctions/Classes/Web3+Wallet.swift"; sourceTree = ""; }; + D6030A6AE80EF19BF46A279BA9B759C1 /* ECB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ECB.swift; path = Sources/CryptoSwift/BlockMode/ECB.swift; sourceTree = ""; }; + D646DCC70198FD61095957E5652DEF33 /* HKDF.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HKDF.swift; path = Sources/CryptoSwift/HKDF.swift; sourceTree = ""; }; + D7048890B198E005491CCFCEB097B6C6 /* scratch_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch_impl.h; path = secp256k1_ios/src/scratch_impl.h; sourceTree = ""; }; + D780067516C26611C3598987A7B875A8 /* BlockModeOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockModeOptions.swift; path = Sources/CryptoSwift/BlockMode/BlockModeOptions.swift; sourceTree = ""; }; + D8287DF2117A869C0B6C9BC2CAAC80DD /* Rabbit+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Rabbit+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift"; sourceTree = ""; }; + D88F2B395E5E3F2C3E61220B75F9EFE4 /* scalar_8x32_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32_impl.h; path = secp256k1_ios/src/scalar_8x32_impl.h; sourceTree = ""; }; + D9D0562D53ACD302EE60EE8967515E45 /* Web3+TransactionIntermediate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+TransactionIntermediate.swift"; path = "web3swift/Web3/Classes/Web3+TransactionIntermediate.swift"; sourceTree = ""; }; + DA17BEB9A7129021CB18F6B91D12748C /* Promise+Web3+Eth+SendTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+SendTransaction.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+SendTransaction.swift"; sourceTree = ""; }; + DA571FCCE0EC4EA1D6F0234A756DE463 /* HMAC+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "HMAC+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/HMAC+Foundation.swift"; sourceTree = ""; }; + DAB94D7201EC9D4222C28065007D51EB /* Web3+Instance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Instance.swift"; path = "web3swift/Web3/Classes/Web3+Instance.swift"; sourceTree = ""; }; + DABE58DA84A9A1A36E5A36F6D7751D80 /* web3swift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = web3swift.xcconfig; sourceTree = ""; }; + DAFF5311E9BA57C195A3AF3540BB75A1 /* SHA1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA1.swift; path = Sources/CryptoSwift/SHA1.swift; sourceTree = ""; }; + DB6386E81F459ED74E6BB3E8FA4FF3CE /* CBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBC.swift; path = Sources/CryptoSwift/BlockMode/CBC.swift; sourceTree = ""; }; + DB6B3F25A51F2AB28AC33743DAB74418 /* num.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num.h; path = secp256k1_ios/src/num.h; sourceTree = ""; }; + DD0A982799C4459FD2E3166540B9A18D /* Exponentiation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Exponentiation.swift; path = sources/Exponentiation.swift; sourceTree = ""; }; + DD5A83F499A1B0FA6DF5618B53E3ECA2 /* Pods-web3swiftExample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swiftExample-acknowledgements.markdown"; sourceTree = ""; }; + DE41C3A37D47F69479B88DBC5B6F839A /* CryptoSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = CryptoSwift.modulemap; path = ../../Headers/Public/CryptoSwift/CryptoSwift.modulemap; sourceTree = ""; }; + E030C6F26BFADC8F35D1E4CA476BF788 /* Pods-web3swiftExample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swiftExample-acknowledgements.plist"; sourceTree = ""; }; + E035FE22D8FD996F3D0563F19CB710CE /* Addition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Addition.swift; path = sources/Addition.swift; sourceTree = ""; }; + E0EAE40505327D2CB02940BDEB3B21DC /* HMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HMAC.swift; path = Sources/CryptoSwift/HMAC.swift; sourceTree = ""; }; + E0ED08C56E8F5A2573652D57C0E00AB1 /* when.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = when.m; path = Sources/when.m; sourceTree = ""; }; + E13AD94F677C7C10FB9A6946D2C69BBC /* web3swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "web3swift-prefix.pch"; sourceTree = ""; }; + E1E9E05C913C27A3BCDC1B5C783DE9B9 /* TransactionSigner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransactionSigner.swift; path = web3swift/Transaction/Classes/TransactionSigner.swift; sourceTree = ""; }; + E22171F0C69D8C40BCDB2F57BE46B364 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/ecdh/main_impl.h; sourceTree = ""; }; + E27EAF74BA22155644BF26D238704159 /* Primitive Types.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Primitive Types.swift"; path = "SipHash/Primitive Types.swift"; sourceTree = ""; }; + E2B568367A9864B63A35097D9E4AB93A /* Promise+Web3+Eth+GetGasPrice.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetGasPrice.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetGasPrice.swift"; sourceTree = ""; }; + E2F40252FE652D0C4730C00077BADDAA /* Web3+EventParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+EventParser.swift"; path = "web3swift/Web3/Classes/Web3+EventParser.swift"; sourceTree = ""; }; + E32EAD6B9FA7E7949B7E044DF88FAE25 /* ABIv2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2.swift; path = web3swift/ABIv2/Classes/ABIv2.swift; sourceTree = ""; }; + E33486FBAA345E14AD805DEC0E47A803 /* ABIv2Elements.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Elements.swift; path = web3swift/ABIv2/Classes/ABIv2Elements.swift; sourceTree = ""; }; + E3724656679C0E551B0D424B10D8BDE0 /* IBAN.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IBAN.swift; path = web3swift/KeystoreManager/Classes/IBAN.swift; sourceTree = ""; }; + E3FCFAFE5E2F92BF925E516BA5C6D586 /* ecmult_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_impl.h; path = secp256k1_ios/src/ecmult_impl.h; sourceTree = ""; }; + E77AC5D58E1FF6C75FCC6752505572A9 /* scalar_low.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low.h; path = secp256k1_ios/src/scalar_low.h; sourceTree = ""; }; + E876079E09845BBA655ED734665C8A43 /* EthereumAddress+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EthereumAddress+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/EthereumAddress+ObjC.swift"; sourceTree = ""; }; + E9124AFC41B95D43CF8CC563C862991C /* hash_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash_impl.h; path = secp256k1_ios/src/hash_impl.h; sourceTree = ""; }; + E91345FF5BDDF745793EEDF104FCDCB0 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = Sources/Error.swift; sourceTree = ""; }; + EA9156726C96A92A511AB297A9A9E3A4 /* scrypt-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "scrypt-umbrella.h"; path = "../../Headers/Public/scrypt/scrypt-umbrella.h"; sourceTree = ""; }; + EADAE9DDDE266D2FA434262C25991F22 /* PBKDF2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF2.swift; path = Sources/CryptoSwift/PKCS/PBKDF2.swift; sourceTree = ""; }; + EAE853F3B901CD0EFBB3049D7288A635 /* web3swift.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = web3swift.h; path = web3swift/web3swift.h; sourceTree = ""; }; + EAF65854A3BB618F07D90EDF805CA448 /* SipHash-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SipHash-umbrella.h"; path = "../../Headers/Public/SipHash/SipHash-umbrella.h"; sourceTree = ""; }; + EB2F2E4377859F7D681FE473B587053B /* BatchedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BatchedCollection.swift; path = Sources/CryptoSwift/BatchedCollection.swift; sourceTree = ""; }; + EB90911DBCE2B6C999C122F3EC56E386 /* scrypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scrypt.h; path = scrypt/scrypt.h; sourceTree = ""; }; + EC27CE020482173FFDCE321039C1E1B7 /* NSURLSession+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURLSession+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.m"; sourceTree = ""; }; + EC96BFAF2B1203FC9CA3C40F8C68BE0A /* BufferStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BufferStorage.swift; path = scrypt/scrypt/BufferStorage.swift; sourceTree = ""; }; + ED15D096C66E0B57F819BD7C2711C0F2 /* CryptoSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CryptoSwift-dummy.m"; sourceTree = ""; }; + ED32FA320D4B20F774457FA9C15F4DD2 /* Int+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Int+Extension.swift"; path = "Sources/CryptoSwift/Int+Extension.swift"; sourceTree = ""; }; + EDDE6BE27FBDE2D0053FF4448C47148D /* SipHasher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHasher.swift; path = SipHash/SipHasher.swift; sourceTree = ""; }; + EE6713D6A2C799F18F66DEAF4B9DA002 /* PMKUIKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKUIKit.h; path = Extensions/UIKit/Sources/PMKUIKit.h; sourceTree = ""; }; + EF59F5648FE9BCB0EDD6800DD3E28D06 /* CryptoSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CryptoSwift.xcconfig; sourceTree = ""; }; + F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + F2B5D7FCD090BEF9FFFB3C684DCB1B18 /* Catchable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catchable.swift; path = Sources/Catchable.swift; sourceTree = ""; }; + F403D2ACFA1FBE4817C4DD35F625E829 /* NSRegularExpressionExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSRegularExpressionExtension.swift; path = web3swift/Convenience/Classes/NSRegularExpressionExtension.swift; sourceTree = ""; }; + F46ACB0433C87E504F733209EBE2BF33 /* Guarantee.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Guarantee.swift; path = Sources/Guarantee.swift; sourceTree = ""; }; + F4CE7F01DBF56348E5D752C5E4A2573C /* hang.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = hang.m; path = Sources/hang.m; sourceTree = ""; }; + F4FEF4545266F6206AEB6A317C63BDC2 /* Thenable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Thenable.swift; path = Sources/Thenable.swift; sourceTree = ""; }; + F568297D4D43D340BC0B85931EF3ECEB /* Blowfish+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Blowfish+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift"; sourceTree = ""; }; + F69249253939D72D4870706405B1DD0C /* ecdsa_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa_impl.h; path = secp256k1_ios/src/ecdsa_impl.h; sourceTree = ""; }; + F7F281434684B8C111CACBAE1BCD1B8A /* KeystoreManager+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KeystoreManager+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/KeystoreManager+ObjC.swift"; sourceTree = ""; }; + F96277F4F7F4EDE613B805FB34B336B5 /* BigInt.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = BigInt.modulemap; path = ../../Headers/Public/BigInt/BigInt.modulemap; sourceTree = ""; }; + FB9227AD4EC63BDE92E26BD15585FCA5 /* field_10x26.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26.h; path = secp256k1_ios/src/field_10x26.h; sourceTree = ""; }; FDA88052388E64B0D79D3B4902DD4F7A /* libscrypt.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libscrypt.a; path = libscrypt.a; sourceTree = BUILT_PRODUCTS_DIR; }; - FDB053580814C7204EAA8C60A26D2F9C /* PBKDF1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF1.swift; path = Sources/CryptoSwift/PKCS/PBKDF1.swift; sourceTree = ""; }; - FDB3EF4D45930CAA3FBB049933F6B674 /* Deprecations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecations.swift; path = Sources/Deprecations.swift; sourceTree = ""; }; - FE6BA4E4F7BB1208228F3E42F90DCE1B /* Promise+Web3+Eth+SendTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+SendTransaction.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+SendTransaction.swift"; sourceTree = ""; }; - FEF79F557134C26ABD37AE7F9CB5C154 /* Int+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Int+Extension.swift"; path = "Sources/CryptoSwift/Int+Extension.swift"; sourceTree = ""; }; + FE2E92733967F592C99E77387B2DD8FD /* Promise+Web3+Eth+GetTransactionDetails.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionDetails.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionDetails.swift"; sourceTree = ""; }; + FFB342B57716D3C137EA03417F2362B3 /* num_gmp.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp.h; path = secp256k1_ios/src/num_gmp.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 0537F34931CD1EAF1B45F6B72325E869 /* Frameworks */ = { + 753CB2AB9003C32D5B710D627DD9752D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + C2718750F418C5D2B3156FE222D7E588 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 074822914DA50BC43B6AB0802CD935A2 /* Frameworks */ = { + 8CDDE45391457DD173AF5335076460AF /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 869AB1CFDB2B38A223D116F72A3E4233 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 18C5ABD1C406C832B0DD15AA82CC41C4 /* Frameworks */ = { + B63483B215488C44FE00081829DAE8E4 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 24238E1E19686A7C5274E269C9211FCB /* Foundation.framework in Frameworks */, + 427CCC9BF12EFD167E5A2466E0800662 /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 21FA9C90304F8596C9EE0647F7C9E1EE /* Frameworks */ = { + B8BD56316C697D9C72E79DD24CD78057 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D5C5C921C1CB10C4A9A5EB05361E7338 /* CoreImage.framework in Frameworks */, + A54605541B253BB07995E7739AE98BEA /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 325A85FC0CD5BCF38ADE42EE7531C2A2 /* Frameworks */ = { + BA9D302E84C74045A19D2F197478FE64 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + BB5BFB94695CEF17AE75B9CE0A68F177 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 76402B5CC42ABD207A9C81A6A4712B42 /* Frameworks */ = { + BBA41508228DD970799D14EDC888D457 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 48743A0B0B3B20D0ED87CF7DC79EC2FB /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 841B7B892F8C57CBEF5FB03AC753C3AB /* Frameworks */ = { + D4CBD5945C478754DA1A271A51936CE3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 7B2159CA7807E3B32E0C0C30209A01BF /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 90440DC7AC48BE32148838250163B5C1 /* Frameworks */ = { + D940039687CE98B626EEFD9F33FB2FF9 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 718C642040F35BEA8535D17B4E27A943 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - A7F757D73E3A0EC9C2E23F63AE6289BE /* Frameworks */ = { + E8BEAA12D8403A53C88C590AACC93D0F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 4575619E0D86ECE1E08DDE865D6EFE2C /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 07EBAE78C70E7B9D9575876CB4EB7A5B /* CorePromise */ = { + 122DA2E5084A4393C29BE363C764795C /* Frameworks */ = { isa = PBXGroup; children = ( - 4ACE68F0C0BB240B67D6607627A0409D /* after.m */, - A76766DCA675A328B7621F2CC2BBDC37 /* after.swift */, - 9FCA58FBDB526789B6493D9E0B521C63 /* AnyPromise.h */, - 772A5E3F2CEC01BEB15C9C969E63D298 /* AnyPromise.m */, - E3457915D72C8396DE12FE14D7A8852C /* AnyPromise.swift */, - 9407649D3AF3DFA0898FB2D0CEE49FB0 /* Box.swift */, - A6BD782668E0147C274576B5E4F5F974 /* Catchable.swift */, - B892DF36FBCBE33582AE5F6826F178FE /* Configuration.swift */, - B7A36BF0987C747B882373933D43D47E /* CustomStringConvertible.swift */, - FDB3EF4D45930CAA3FBB049933F6B674 /* Deprecations.swift */, - 323E701BDC75F79161DF588C4113A918 /* dispatch_promise.m */, - B0DA82837F4FE2A7E626BA8F125B29BB /* Error.swift */, - DA177BA14669EB8B685B3F62D790F9C3 /* firstly.swift */, - CA13324E6B18FC344F7E858446786F1B /* fwd.h */, - F5F05B314C909125D077A6977F0E706F /* Guarantee.swift */, - 9EFEFBE752ED120C422E3F0BD4914CC0 /* hang.m */, - 256138718C583C679BA3011347A299C7 /* hang.swift */, - BBB186A40620A95D2A4EE454989B445E /* join.m */, - 5D53A19896270253638D6DADB73A57B2 /* Promise.swift */, - 1BC9B7EAF3577A34C9142730D08BBAA9 /* PromiseKit.h */, - 7DD7D170A631D238DD87B920F3821371 /* race.m */, - 21B6545014E4E1EEB09BDBDFBEA13516 /* race.swift */, - F50562362228B990CE143E7EEC4860EC /* Resolver.swift */, - 74C7EFAAA5563E59498B9632722813D1 /* Thenable.swift */, - C7A5FC3965022F4087D250C6B9EFC804 /* when.m */, - FB5BC642B12A83508582043830A9216B /* when.swift */, + C472227818EDFDAF1A596D87BB07017E /* iOS */, ); - name = CorePromise; + name = Frameworks; sourceTree = ""; }; - 095791331B5167451F5C8FE21FE87C94 /* UIKit */ = { + 13D5D7E73E0B240AA6FDA2C2D714D909 /* PromiseKit */ = { isa = PBXGroup; children = ( - 4494989642C43EC56A1C209F11EAA579 /* PMKUIKit.h */, - 96E3F22CA6F457C6C0E539FEED05B7D8 /* UIView+AnyPromise.h */, - CBB29B20CE255658DDB1532AC1266247 /* UIView+AnyPromise.m */, - D611D9EC9939318B1A869FB533E3081B /* UIView+Promise.swift */, - BAE7C5677B39ED368F1B2A247D241199 /* UIViewController+AnyPromise.h */, - 1DFB1FBA4C24F7060FC8616294B079E8 /* UIViewController+AnyPromise.m */, - 3B4AC44500F159CD237DA769095DE4A2 /* UIViewPropertyAnimator+Promise.swift */, + 5E39DB4468217B8D450F69FACC4551D0 /* CorePromise */, + CA3D3C1EBFFC7D898A27E843C5439CE0 /* Foundation */, + C7008B32BE430039207C595C3726AA01 /* Support Files */, + FFF8EAFC7FE4BFDD7276AFA7EF2810BE /* UIKit */, ); - name = UIKit; + name = PromiseKit; + path = PromiseKit; sourceTree = ""; }; - 0F8D2E47FE03D3B91B51069F7C273AF4 /* Frameworks */ = { + 1722229FD4DB7AD2C441546254739FEC /* Support Files */ = { isa = PBXGroup; children = ( + CA513A9C6927CE8B124B8CE4A371839B /* scrypt.modulemap */, + 35A9FE789E37975C0131E64AE7B7282E /* scrypt.xcconfig */, + 914FA8B4E5606148A3FDB7A4AF04B6C1 /* scrypt-dummy.m */, + 95249F16407D5F29A7DC563FCF50F1F3 /* scrypt-prefix.pch */, + EA9156726C96A92A511AB297A9A9E3A4 /* scrypt-umbrella.h */, ); - name = Frameworks; + name = "Support Files"; + path = "../Target Support Files/scrypt"; sourceTree = ""; }; - 1252866A8E899DFEB90281FD4910CE3A /* Support Files */ = { + 17DCDE0D99696B7889B5B8C2A38BEEDE /* Result */ = { isa = PBXGroup; children = ( - 4889008E797DEA00B30EACB8E0D243E7 /* web3swift.modulemap */, - 68A50C595697D190E564425720BC14EB /* web3swift.xcconfig */, - 1D19A599F033CB640BC281C9DDD005A7 /* web3swift-dummy.m */, - 8513371DF9ECC2C2DE1AE63075533C3F /* web3swift-prefix.pch */, - 0ECEAC97DC37DEE322CE4D6A7FD317D1 /* web3swift-umbrella.h */, + CCD3FB4606DD884C6F35F97D863A296F /* AnyError.swift */, + 598C899118EB120568F6595B3CA4CF62 /* NoError.swift */, + 69DD73C0AA680B56241490A79FDB334B /* Result.swift */, + 414BCF28F898344A3ACB4CFA9EAC0C6A /* ResultProtocol.swift */, + A3C432A62DBD773DDE1F6FC6141A8015 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/web3swift"; + name = Result; + path = Result; sourceTree = ""; }; - 15267E1ABCE857647399B223131D6434 /* Support Files */ = { + 25FE3D3FCAC05A47AB3C62CB43E56326 /* Support Files */ = { isa = PBXGroup; children = ( - DBEC0F8F6B1817868AA19E3502F2834D /* secp256k1_ios.modulemap */, - 6AE04FCF5B21A9BA14FEFFCE5C001C9C /* secp256k1_ios.xcconfig */, - 0D1172DA5E0AB5C4C336BE89B155DB65 /* secp256k1_ios-dummy.m */, - 586D5FA2AF8538B591CF24C72E998533 /* secp256k1_ios-prefix.pch */, - 4CE1FC37CE5129D5F14970B958DB8192 /* secp256k1_ios-umbrella.h */, + DE41C3A37D47F69479B88DBC5B6F839A /* CryptoSwift.modulemap */, + EF59F5648FE9BCB0EDD6800DD3E28D06 /* CryptoSwift.xcconfig */, + ED15D096C66E0B57F819BD7C2711C0F2 /* CryptoSwift-dummy.m */, + 81DEF759EE796B2DE4FC5D93FACFB387 /* CryptoSwift-prefix.pch */, + 046CD9C71F2C224C3CAF90FFBD22174A /* CryptoSwift-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/secp256k1_ios"; + path = "../Target Support Files/CryptoSwift"; sourceTree = ""; }; - 33548EC949E8B683284D35310869DD50 /* Pods-web3swiftExample */ = { + 34102ACBD9DC50BE768CCB1D30FAF725 /* Pods */ = { isa = PBXGroup; children = ( - 99FD9803A2BF705DFA95E8CFE488F5D5 /* Pods-web3swiftExample.modulemap */, - 766D24708AC3AAE11C1368CEAEB4EA5C /* Pods-web3swiftExample-acknowledgements.markdown */, - 1783AE3ABADA5096BE70D5939EE58E22 /* Pods-web3swiftExample-acknowledgements.plist */, - 9EE64A9528FF128B9020101AA65FE4AB /* Pods-web3swiftExample-dummy.m */, - 421B749E58F87E0C839D613211A2D0D6 /* Pods-web3swiftExample-umbrella.h */, - 2A3B82C924810D565EACB8DD0250AF2F /* Pods-web3swiftExample.debug.xcconfig */, - F3DB5983D5328F395EC023B6F7BA9412 /* Pods-web3swiftExample.release.xcconfig */, + 8C4F6A68B928286669ED354765AADBC4 /* BigInt */, + 782D405DD9684C4993D80097C661CF74 /* CryptoSwift */, + 13D5D7E73E0B240AA6FDA2C2D714D909 /* PromiseKit */, + 17DCDE0D99696B7889B5B8C2A38BEEDE /* Result */, + 91BB93276B3795A29DB4FA077042A369 /* scrypt */, + CA45BC40F829FDA2D73BA9681C3F94C8 /* secp256k1_ios */, + 55BFDEAA1CAE3CA920202AFFAAF2F058 /* SipHash */, + AB4CFD4D1BF889729C2D139EDC2212A7 /* web3swift */, ); - name = "Pods-web3swiftExample"; - path = "Target Support Files/Pods-web3swiftExample"; + name = Pods; sourceTree = ""; }; - 34AFA66336C6501838838E84DC7993F5 /* web3swift */ = { + 46B20C7C72517DE1197CCA18250C3BAF /* Support Files */ = { isa = PBXGroup; children = ( - 021230E4853D81084491C5CB19120253 /* ABIv2.swift */, - 27F2F0F8AA0A44DCB15F6C2014B8515F /* ABIv2Decoding.swift */, - 07BC37DA3A885BFE9FA1ACF060A68924 /* ABIv2Elements.swift */, - F3E16828B172E3E29C2C2A69EFDF43AF /* ABIv2Encoding.swift */, - D5C569671837CF74CAABEA7BA50950AD /* ABIv2ParameterTypes.swift */, - 1FEBAFF6DBC23B47AC2CE0679F9CB261 /* ABIv2Parsing.swift */, - C1D32AFFBF6E022875FA6FA5E31CDD8C /* ABIv2TypeParser.swift */, - 6D918765E5C316D981E87E593F43CD1B /* AbstractKeystore.swift */, - F3DC571B8A19A17AAAC784433AABB955 /* Array+Extension.swift */, - C3EAA6334BA9847C7D5688F154251C3C /* Base58.swift */, - 3AB7EFD1CDE8EEFB6864B4C95BE27B9B /* BigUInt+ObjC.swift */, - 44EE1C2DE9A2797654C1BF53FFB8C841 /* BIP32HDNode.swift */, - 16C67237D9658EEEF7CE6C233412A1AA /* BIP32Keystore.swift */, - B5E7B50FE11A248882E6C1A3F9B94E1F /* BIP32KeystoreJSONStructure.swift */, - 491E32635E476F62DF80795EA03A4E96 /* BIP39.swift */, - 7860F7282B4A86633B33B4C19EE13DAB /* BIP39+WordLists.swift */, - 6AB691BD8986EF2191E06871444E8FC3 /* BlockExplorer.swift */, - A3503BC8EDED598CEC412D7358F4643F /* BlockExplorer+GetTransactionHistory.swift */, - 7ACB0C00B07E5B530D245904B8FA919E /* BloomFilter.swift */, - 80046DC911582304810AAD592475C63C /* ComparisonExtensions.swift */, - E4CFD5F759228BAD6E44D4AAB52653B5 /* ContractABIv2.swift */, - 052496AE749A404A1C7E8F48F9C50E4C /* ContractProtocol.swift */, - F65C87A76C6A03B2087AD0F053518E55 /* CryptoExtensions.swift */, - B083A17C989339898CDCEE89B4F75375 /* Data+Extension.swift */, - 5E2B619BDED04588FB519514ED192C42 /* Dictionary+Extension.swift */, - 37B6B8CF586B8A17D237A993EE028AEF /* EIP67Code.swift */, - 41FBE47CBCF2E13682775196F7F9184D /* EIP681.swift */, - 12BCF9FE41CE43BB9420B6870143B5B6 /* ENS.swift */, - 3EBBC5BCE490CF7D0B638E773A4F1FAC /* EthereumAddress.swift */, - 066D256FC483ACE5C9FBD3A9DE124FDE /* EthereumAddress+ObjC.swift */, - 9E6FA3B41EF131B438CFDBB3807EAC51 /* EthereumFilterEncodingExtensions.swift */, - 27F79F5E8467AB85143242575568970D /* EthereumKeystoreV3.swift */, - 3A9EADA7AFA39E90F4B2C520B23DB0D6 /* EthereumTransaction.swift */, - BAAC01A47C8984D8B7CC71964CAB89C1 /* EventFiltering.swift */, - 6E393FF3F983A1BA55B41EFD5D31574E /* IBAN.swift */, - 23DDF1167D5601DCB70F356894851DD6 /* KeystoreManager.swift */, - 7325F8CDD95F0919C78971B1F9B0D26C /* KeystoreManager+ObjC.swift */, - 57B4BB38C90FBE82C3726EC39C95B70F /* KeystoreV3JSONStructure.swift */, - 523671F746DA657F0997D96C7ED8A97B /* LibSecp256k1Extension.swift */, - 6FE2D8F96F15B5256BD58A65B6912DCE /* NameHash.swift */, - F412C8E7409927D4E4032AA2237D1ABD /* NativeTypesEncoding+Extensions.swift */, - DF1AD7A03062250545811E60016148CF /* NSRegularExpressionExtension.swift */, - 50145B3CFAA030E982F33E5F8EF57D5B /* PlainKeystore.swift */, - 05A469D88635408C6E0A9730C9D67834 /* PlainKeystore+ObjC.swift */, - CD02528C65BB0F37587F72DFC75F763B /* Promise+Batching.swift */, - 2840F210CE98B93EA849D6D6E8253222 /* Promise+HttpProvider.swift */, - CB850682BB5958733FC8B52787BAC26F /* Promise+Web3+Contract+GetIndexedEvents.swift */, - 12E63E29E69B87CCA00CA5D8B454E67D /* Promise+Web3+Eth+Call.swift */, - 28D233B339408EE05F382B2D71EBB0C5 /* Promise+Web3+Eth+EstimateGas.swift */, - ED3A35F62CF4696CC475089EADED9E19 /* Promise+Web3+Eth+GetAccounts.swift */, - 74379D12DD8775BC00C9CDD1434D1EFE /* Promise+Web3+Eth+GetBalance.swift */, - 1D4D97785B4DFCFBC23D6C846C84EA90 /* Promise+Web3+Eth+GetBlockByHash.swift */, - 862203C1EEFE1746B51A18A70C8255F1 /* Promise+Web3+Eth+GetBlockByNumber.swift */, - 0623D1F8DEDD8DF2D2DB549B42AB3446 /* Promise+Web3+Eth+GetBlockNumber.swift */, - B834A0B254CE3D581189392480DB3517 /* Promise+Web3+Eth+GetGasPrice.swift */, - AA69368BBED1E9C971B870CC1D39411E /* Promise+Web3+Eth+GetTransactionCount.swift */, - FD708B9B8D939244EFAB57D224317EAE /* Promise+Web3+Eth+GetTransactionDetails.swift */, - 91DBC05C80B653F0779A122B3E01A00B /* Promise+Web3+Eth+GetTransactionReceipt.swift */, - F73C8D13D7365EE34099B5B7D39B60B7 /* Promise+Web3+Eth+SendRawTransaction.swift */, - FE6BA4E4F7BB1208228F3E42F90DCE1B /* Promise+Web3+Eth+SendTransaction.swift */, - 1F7D8BAC459724F31F9EF10CC0D98B4E /* Promise+Web3+Intermediate+Send.swift */, - 5EE61F6373F3AE498E0E43FCEF682C3E /* Promise+Web3+Personal+Sign.swift */, - 9364DC443B63993CAC102783E3E2E71B /* Promise+Web3+Personal+UnlockAccount.swift */, - 42662102329EB8EA5D693F47F6B055BD /* RIPEMD160+StackOveflow.swift */, - 6407F8A2387DE46158D2B6643CFB5ACE /* RLP.swift */, - 7F444615A31A37C9AE86FCD68C9617C8 /* String+Extension.swift */, - 0103BBD609FF8CADC6FDB98F2FDD7344 /* TransactionSigner.swift */, - 6A7054BB1922ADB95FE5AC71AA66686C /* Web3.swift */, - D4A915B27C142C9851B0FC16DB2ACE3E /* Web3+BrowserFunctions.swift */, - BFFDB386AE35349F33B00B6D7A8525EB /* Web3+Contract.swift */, - 8DDB94F4F7A8AA4FE18B9EBB50F0D323 /* Web3+ERC20.swift */, - E9FAA6A53A97BA2E6A2ED16DE2451DDC /* Web3+Eth.swift */, - CA18A76F4C080B687839B8EF95C096E1 /* Web3+Eth+ObjC.swift */, - 1D1164A207317D07F70C5CADF0666478 /* Web3+EventParser.swift */, - 1A14C8A0ECC51DCF47B8BDC426260AE9 /* Web3+HttpProvider.swift */, - 6C34B6F8F004A79070AAB41F8DFF824F /* Web3+HttpProvider+ObjC.swift */, - 5564585449D0A14C4C3DA06673C6CCE6 /* Web3+Infura.swift */, - 328EA52653464590374008597CDB88F8 /* Web3+Instance.swift */, - BD5D175D4442830B35689DDF3D60C5F8 /* Web3+Instance+ObjC.swift */, - D16392BB50E5CB36CCE0946928A6E774 /* Web3+JSONRPC.swift */, - 6EDB16D82616831C96E088DDBE2B32B6 /* Web3+Methods.swift */, - 3A01C71E03076A82481B6EFA5BABFEE1 /* Web3+ObjC.swift */, - DBA9232DC21A4588EA5C4A6360ED7D64 /* Web3+Options.swift */, - C8C2E113E148B418D9CFFA9563D61A9C /* Web3+Personal.swift */, - B6C066266425FB691258429D89B58322 /* Web3+Protocols.swift */, - 1E37C31654324E82F6877D3A0A8CF5F9 /* Web3+Structures.swift */, - 22769D380F2A7AB75E9FF25A16D47CE1 /* Web3+TransactionIntermediate.swift */, - 2F06D95AEE5EC27252B89C4874C9B887 /* Web3+Utils.swift */, - B37F023A41759D539E276E87BF6D90C3 /* Web3+Wallet.swift */, - 33AD44494C176812F8EB7B1C68429279 /* web3swift.h */, - BB92779C818B8269C48BED9212AAF37F /* web3swift-Bridging-Header.h */, - 1252866A8E899DFEB90281FD4910CE3A /* Support Files */, + 0A2E17AC2242821FB7FF4539D7F4FAB9 /* web3swift.modulemap */, + DABE58DA84A9A1A36E5A36F6D7751D80 /* web3swift.xcconfig */, + 7490D6F83AB700404C125AC3E6A130A2 /* web3swift-dummy.m */, + E13AD94F677C7C10FB9A6946D2C69BBC /* web3swift-prefix.pch */, + 35D8A4E4B2DBCC4C72036CB80D4ED663 /* web3swift-umbrella.h */, ); - name = web3swift; - path = web3swift; + name = "Support Files"; + path = "../Target Support Files/web3swift"; sourceTree = ""; }; - 4F552CB6A500F8A25357EB895C9C5B01 /* secp256k1_ios */ = { + 55BFDEAA1CAE3CA920202AFFAAF2F058 /* SipHash */ = { isa = PBXGroup; children = ( - 361B873DBC285242B8FCA11C4F9E5623 /* basic-config.h */, - 2F73DD47F1589433F054B8686723D47D /* ecdsa.h */, - DA74A78957A0CAC7EE67F329C7D19AF0 /* ecdsa_impl.h */, - 7E9707E1F50D7C7959FA42372F48A2C0 /* eckey.h */, - F773C8F575C7369A7CA7E723748E110D /* eckey_impl.h */, - 426C5416AF2F5EBDF7353EC4417DD059 /* ecmult.h */, - 4E1625F84C89AF10B33736B73A1A4E2C /* ecmult_const.h */, - 97FB0B47D6C3C00BE02AEEF203416406 /* ecmult_const_impl.h */, - 20CFA43F832D5962C0393290B58599B5 /* ecmult_gen.h */, - 401C193EDE43BF447B84F321B8E1C482 /* ecmult_gen_impl.h */, - 0A2411CE147937EBABF77E252DACB056 /* ecmult_impl.h */, - E705EB0EC3F843226C5530B49D66F44E /* field.h */, - 99D40DFEB3A4C759CC493F70A4EA108B /* field_10x26.h */, - 89E684D5E2CA396D9C64859D2012B692 /* field_10x26_impl.h */, - 86C3207E565D52552FDFA7EA42F05270 /* field_5x52.h */, - EDA43B32781D9D973ED35A557A240958 /* field_5x52_asm_impl.h */, - 0434FC3772D7C052138D4E6597BBCEBA /* field_5x52_impl.h */, - A8E64E89FB29BF345C63383D75E5A96E /* field_5x52_int128_impl.h */, - 442702F0B88642B51362AB205FCAA854 /* field_impl.h */, - 50ABA8EC3262E75D2C901CA6DD9FA5F8 /* group.h */, - F9E575A8DCCCA9340467D59D513CE613 /* group_impl.h */, - 1AB1E7E037CA7ACBE1DAF1FCF8BAD73A /* hash.h */, - 6B2CE110BAA238CC4A7CC454E3038ECC /* hash_impl.h */, - 4CC6D0D6768AF0C916089C5F28C32BB5 /* lax_der_parsing.c */, - 850178BDFC9EF1A7C80827D3FFCD0482 /* lax_der_parsing.h */, - 3D3092F2465713B5799F11ABAF5C73DD /* lax_der_privatekey_parsing.c */, - 075B36C10CAB6186B33DE99222FED632 /* lax_der_privatekey_parsing.h */, - E4B92864B1CA33880BA06C60DDA3952B /* libsecp256k1-config.h */, - 1C1D71A1E6B38F9B5A6B6225CF2D9FC1 /* main_impl.h */, - 584AC113BDB47E209F6B34321DD1E5A1 /* main_impl.h */, - DC969B5AEC409B7F51A179949E6D0CF1 /* num.h */, - 4A8BE755B00A247CADB17C0D888A15A2 /* num_gmp.h */, - E5C7B4BF4756A6319C9C3EF43BC2269E /* num_gmp_impl.h */, - C40EDDE1B718C8470C7AA3C48C5554AE /* num_impl.h */, - C227C20C27715023D2C006ED811A0FAD /* scalar.h */, - E06D321FD0D4501F1FF7D6F6264A1DDE /* scalar_4x64.h */, - 0D3ACCCA669E9804A73747148FC87E82 /* scalar_4x64_impl.h */, - AA7C97F0ED74220BA363EC3492AA6619 /* scalar_8x32.h */, - 7033A3E7363DDB4746F91F0AA499EC34 /* scalar_8x32_impl.h */, - A65AD597143380A8240447064605DDAF /* scalar_impl.h */, - 8668B73A34C0C334E2DFF0A4D01B9887 /* scalar_low.h */, - 3C4001BFD15E68647D2DF6A140E7FE7B /* scalar_low_impl.h */, - 28CEA71BAA2648F525999A658E8C7F22 /* scratch.h */, - C44F34B4A43FBA288053EED2B79F6ACB /* scratch_impl.h */, - 6F1CA839EB126F33A13D3BF58DDC14F0 /* secp256k1.c */, - B0C4412C5C5FABF27D7ACA7E2F23CE3D /* secp256k1.h */, - 6018602186E5C17B7EC7AA437D2BA1E6 /* secp256k1_ecdh.h */, - 000A1EC76D82A3EDBC7956FE3334A646 /* secp256k1_ios.h */, - 61E48BAFB4F86F9AFAEAC7E2CB649B5A /* secp256k1_recovery.h */, - 7AAE3B11D2000EC06CBFB2EE14EAA208 /* util.h */, - 15267E1ABCE857647399B223131D6434 /* Support Files */, + E27EAF74BA22155644BF26D238704159 /* Primitive Types.swift */, + B71A2239207EC9A9FD4F65D23E822396 /* RandomUInt64.swift */, + A96630CA550118EAC05864B2C651DF35 /* SipHashable.swift */, + EDDE6BE27FBDE2D0053FF4448C47148D /* SipHasher.swift */, + BD30C8AF77B5A8F88A9204EEA5A7AD02 /* Support Files */, ); - name = secp256k1_ios; - path = secp256k1_ios; + name = SipHash; + path = SipHash; sourceTree = ""; }; - 50ECB39B32B31602FA4C731C0F316875 /* Support Files */ = { + 5E39DB4468217B8D450F69FACC4551D0 /* CorePromise */ = { isa = PBXGroup; children = ( - B35AC37C80D4264C320B7E21A880E43B /* PromiseKit.modulemap */, - 4A9FF65D7436CD05D4829C03224BCEC3 /* PromiseKit.xcconfig */, - 39D3351EAB4FE326D56C800215377379 /* PromiseKit-dummy.m */, - 2A003F66935D65A758492D1E9EE2BABE /* PromiseKit-prefix.pch */, - F38AF3A827B05E1C96CC72F240A5AC14 /* PromiseKit-umbrella.h */, + 290AA67F142E07CC2C3BE60373077AAF /* after.m */, + 9C8EDCC12EBCA64B4D3B9C433300DD15 /* after.swift */, + 6850F16CFC2F18D10E4E30E73F0552A8 /* AnyPromise.h */, + 1C56A8FF9537CCF10D87B749E9F62732 /* AnyPromise.m */, + 329C9AA169E8289B92C3FEFDA41B215E /* AnyPromise.swift */, + A740FA5D5A7CC8E07FC8BA48D71D4558 /* Box.swift */, + F2B5D7FCD090BEF9FFFB3C684DCB1B18 /* Catchable.swift */, + 788557B540DA06D0AF67BA99AF689F4C /* Configuration.swift */, + CC990486D4C0CEEBBB80C141DC8AAF7C /* CustomStringConvertible.swift */, + 912B8C0B1FBC7A948BA82A00E7045D27 /* Deprecations.swift */, + 53053374B0830B4CF86F4E46A7232798 /* dispatch_promise.m */, + E91345FF5BDDF745793EEDF104FCDCB0 /* Error.swift */, + 1F4A3C614502E99D77C9651CF09BD01B /* firstly.swift */, + 20CB207C8B0FDA2529F2F5D253C4A534 /* fwd.h */, + F46ACB0433C87E504F733209EBE2BF33 /* Guarantee.swift */, + F4CE7F01DBF56348E5D752C5E4A2573C /* hang.m */, + 1DF8BA790BE9738632EE52265150D03A /* hang.swift */, + C7BFE272DA00B10F8102625518DEADB8 /* join.m */, + 6FA106D7CC1651054D660C68F23DE86E /* Promise.swift */, + 69CA1E92AD82C49EF237136039463B58 /* PromiseKit.h */, + 95F9DAFFDEA63060E250D163213F0C61 /* race.m */, + 45F782717284628C9976CC3513689E42 /* race.swift */, + 7C339595D926BED9A5D0167C24CDC4B8 /* Resolver.swift */, + F4FEF4545266F6206AEB6A317C63BDC2 /* Thenable.swift */, + E0ED08C56E8F5A2573652D57C0E00AB1 /* when.m */, + 6CAC92B61D9654425EE1338FD274CDAD /* when.swift */, ); - name = "Support Files"; - path = "../Target Support Files/PromiseKit"; + name = CorePromise; sourceTree = ""; }; - 56042BEF07057820075563F39785152A /* Support Files */ = { + 6C94807A652A3CD4FFEC33FB419C1364 /* Support Files */ = { isa = PBXGroup; children = ( - F345EE303C18CA7571D1C08F595659F1 /* SipHash.modulemap */, - 643B9FFEAE81870BB1B9C96ED6F53435 /* SipHash.xcconfig */, - 54806E1F9F87ABA4B9F69CF94A4C799A /* SipHash-dummy.m */, - D4325AC70ADD65BEB3851931F4DDD2B1 /* SipHash-prefix.pch */, - 0FB7FFB5D4BFB8854135A190E6360F4D /* SipHash-umbrella.h */, + F96277F4F7F4EDE613B805FB34B336B5 /* BigInt.modulemap */, + B46845985AF612A96C9CC720A9AA1928 /* BigInt.xcconfig */, + 11D89C581D76CF01DAE12F8728D1828B /* BigInt-dummy.m */, + B091BC43DB6D17BF018B2F63555755B4 /* BigInt-prefix.pch */, + 4ADA5A209265D621A4CF71041B71DF52 /* BigInt-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/SipHash"; + path = "../Target Support Files/BigInt"; sourceTree = ""; }; - 5BAC90A6912CC2B93688550661898B95 /* Support Files */ = { + 782D405DD9684C4993D80097C661CF74 /* CryptoSwift */ = { isa = PBXGroup; children = ( - 0AF3A1BDA014214D339A5C18DEC1B2C5 /* CryptoSwift.modulemap */, - D914AC0AB63A632AC7633D885778EBCF /* CryptoSwift.xcconfig */, - 99F1915E70ED67C2A41631A9B4E95409 /* CryptoSwift-dummy.m */, - ECA90F28821D65DE1389723B535297DE /* CryptoSwift-prefix.pch */, - C5B7066F1E4B26038FE68DE60BCBBA7D /* CryptoSwift-umbrella.h */, + 735E74D1B58493E7131A357B28151246 /* AEAD.swift */, + B9CAE13A8BC055260DED74FDBDE2A710 /* AEADChaCha20Poly1305.swift */, + 0FDC70BC746BDB97351736B2E75A507F /* AES.swift */, + B1080142E5C98D83C6423ACA6241A5A6 /* AES+Foundation.swift */, + 78EB2D7AF07B5FB60C2DE1449E308285 /* AES.Cryptors.swift */, + 8991CD2A50906AF10EB4BDB7E932FAEF /* Array+Extension.swift */, + CFB2C7C3A237D8835945428FD197C62E /* Array+Foundation.swift */, + A7653D4CA3F95CD7C0BD5C5634BC8726 /* Authenticator.swift */, + EB2F2E4377859F7D681FE473B587053B /* BatchedCollection.swift */, + B2BB223B0460060F3F08F67C605E6971 /* Bit.swift */, + 0582381AC2421163F7FC6854DF81F48D /* BlockCipher.swift */, + 1FD0BFFC7C6E627BB86EE5C540F71341 /* BlockDecryptor.swift */, + 913CF4153E753730DC216ECBA138739A /* BlockEncryptor.swift */, + 4A898FF424BAA4A4E440EB964B7BB831 /* BlockMode.swift */, + D780067516C26611C3598987A7B875A8 /* BlockModeOptions.swift */, + 8AB539FAAC4756E9D732FC45FA73B7D3 /* Blowfish.swift */, + F568297D4D43D340BC0B85931EF3ECEB /* Blowfish+Foundation.swift */, + DB6386E81F459ED74E6BB3E8FA4FF3CE /* CBC.swift */, + 4079EF5F5CB33767D580095FD9CE038E /* CFB.swift */, + 29C001CC84817EC570F42EB843806088 /* ChaCha20.swift */, + 1416B00744E099B449B5484EB4FE66B9 /* ChaCha20+Foundation.swift */, + CFC18FE05DFD6D953716F8225BEC16A8 /* Checksum.swift */, + 046EE18AB153A100831CC08374F28865 /* Cipher.swift */, + AF39ECE02AE8493AAF47EDD68429E007 /* CipherModeWorker.swift */, + 5838F39185E3EAE8E18B70420E9A65E9 /* CMAC.swift */, + 75BBEA9589DE194D6D03679EDBDB8F36 /* Collection+Extension.swift */, + D0C5DCCE452FBA3A37BE4A3C6ECB9C33 /* CompactMap.swift */, + 1E2D99198D5B7D091C057148F3CDC4DC /* Cryptor.swift */, + 03180B6A770752FE7AF4453AE81CA412 /* Cryptors.swift */, + 4E7E12DF7A156B87C52342DADEF5F3D9 /* CTR.swift */, + 709E41B5FAC1DD8F9B55AF533813EFBB /* Data+Extension.swift */, + 5F61FB300C8C0447EB3B39E0D27DCC86 /* Digest.swift */, + 9E396C482D49D085DD8E5C6F1538A1B3 /* DigestType.swift */, + D6030A6AE80EF19BF46A279BA9B759C1 /* ECB.swift */, + 8A81B88260492B4477381A6A631B8D02 /* GCM.swift */, + 32117111790566596776609D1005CEF8 /* Generics.swift */, + D646DCC70198FD61095957E5652DEF33 /* HKDF.swift */, + E0EAE40505327D2CB02940BDEB3B21DC /* HMAC.swift */, + DA571FCCE0EC4EA1D6F0234A756DE463 /* HMAC+Foundation.swift */, + ED32FA320D4B20F774457FA9C15F4DD2 /* Int+Extension.swift */, + 4CAF79CEAC3F53315AED830078D52BA7 /* MD5.swift */, + CD0F82A7D2464AEF836A81F2E23371DD /* NoPadding.swift */, + 8C8FC8BC9825E5A78B2CDACAB1C7EAE7 /* OFB.swift */, + CFBD00269481FF629C0D75143D8ED5CB /* Operators.swift */, + 41C6D67293FF379F07747E16571D4A7B /* Padding.swift */, + 6E54F021F03B8254D3E0139DB1197C21 /* PBKDF1.swift */, + EADAE9DDDE266D2FA434262C25991F22 /* PBKDF2.swift */, + 4656C6F079843C6375DBFB8F3F149CD5 /* PCBC.swift */, + 2535CD8F39B0A548B8948A1D4DFCDA4C /* PKCS5.swift */, + 819DF3E764AD03A99AE1276773AA60D9 /* PKCS7.swift */, + 4A355B05B0BED16919207A4BD94258BA /* PKCS7Padding.swift */, + 850721D7FB7DE9412EBAADE3BE6A6532 /* Poly1305.swift */, + 50A505618B7794960687DBA4DE9404FD /* Rabbit.swift */, + D8287DF2117A869C0B6C9BC2CAAC80DD /* Rabbit+Foundation.swift */, + 8D699FB2D6E241D8DD3F2A527E0F732E /* RandomBytesSequence.swift */, + 39746AC697FEEA2BEB3737B0A0ADB594 /* SecureBytes.swift */, + DAFF5311E9BA57C195A3AF3540BB75A1 /* SHA1.swift */, + 729AEEED6FDD90CEDBADA5C6755B9536 /* SHA2.swift */, + 33DC10E06571EAC477A1E0EA68D6DDCC /* SHA3.swift */, + 078AF53D6A07F762432A2424B5D58161 /* StreamEncryptor.swift */, + A9D56D5E5F9EF5E2211C743FEDCBAADD /* String+Extension.swift */, + 6F4ED35987097AEB911D8C66F9DBBFB9 /* String+FoundationExtension.swift */, + CC203122F4CADEB96AD6DC31C9B89CD7 /* UInt128.swift */, + 976F6985F84517A349137181F3CBB38C /* UInt16+Extension.swift */, + 4147FE7BEB4CBD63C000B5CDFE1CE694 /* UInt32+Extension.swift */, + 1CFC32E2261053E3091FD1DCC05DF4D5 /* UInt64+Extension.swift */, + BC0FD9DB2AEDA0136A6B828690C3BE23 /* UInt8+Extension.swift */, + 63210423770306A042AA9FF3B458E4E7 /* Updatable.swift */, + 9E4C0E96E391A3A6478442E71331B4C8 /* Utils.swift */, + 14EB90988A4AD64E02B4BC0D410025D1 /* Utils+Foundation.swift */, + 5BC6637281B8A68F6FC9D03AD4BE8663 /* ZeroPadding.swift */, + 25FE3D3FCAC05A47AB3C62CB43E56326 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/CryptoSwift"; + name = CryptoSwift; + path = CryptoSwift; sourceTree = ""; }; - 62D7B0740CE2822504A14F81B6D49468 /* Foundation */ = { + 7876869AA79AFDD4D8ED5A3466B54853 /* Targets Support Files */ = { isa = PBXGroup; children = ( - A048C650E06E40C87E43CFE55025EAF3 /* afterlife.swift */, - 442C6C1866A76D1BA9AC1704A73CCBEF /* NSNotificationCenter+AnyPromise.h */, - B5D98626E7B2E6CEA32D15F9D18C4224 /* NSNotificationCenter+AnyPromise.m */, - 720F350F02588AD2D8B0EF0C920A5D0D /* NSNotificationCenter+Promise.swift */, - 54BA1656FB495B7460ACDF3A76022348 /* NSObject+Promise.swift */, - 36BB4188B1240052722EAB2ED24DC3DD /* NSTask+AnyPromise.h */, - 135C356FAA3B347C90BBF94F6529C892 /* NSTask+AnyPromise.m */, - 79A6376210EB7B970D64C177672F3EFE /* NSURLSession+AnyPromise.h */, - AE8FBACB218297430528D7CE5DDC95A2 /* NSURLSession+AnyPromise.m */, - 0A7CDAECE7C7689D9B56E9D2B4A92D11 /* NSURLSession+Promise.swift */, - 706866695402B827BF2F4CEE1BF58F0B /* PMKFoundation.h */, - FA8F9990F972DBEA8E1998A5A1F0F1F9 /* Process+Promise.swift */, + A594039006D69F6E7EB52154DD258AE1 /* Pods-web3swiftExample */, ); - name = Foundation; + name = "Targets Support Files"; sourceTree = ""; }; - 6CC6B3B846C4A49776585048537B37B2 /* PromiseKit */ = { + 7DB346D0F39D3F0E887471402A8071AB = { isa = PBXGroup; children = ( - 07EBAE78C70E7B9D9575876CB4EB7A5B /* CorePromise */, - 62D7B0740CE2822504A14F81B6D49468 /* Foundation */, - 50ECB39B32B31602FA4C731C0F316875 /* Support Files */, - 095791331B5167451F5C8FE21FE87C94 /* UIKit */, + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, + 122DA2E5084A4393C29BE363C764795C /* Frameworks */, + 34102ACBD9DC50BE768CCB1D30FAF725 /* Pods */, + 9D4E26DF6080ADCB389AB90D4A3DE678 /* Products */, + 7876869AA79AFDD4D8ED5A3466B54853 /* Targets Support Files */, ); - name = PromiseKit; - path = PromiseKit; sourceTree = ""; }; - 6E4EDE9E9B78521FA55CED5638D5EDF8 /* BigInt */ = { + 8C4F6A68B928286669ED354765AADBC4 /* BigInt */ = { isa = PBXGroup; children = ( - 7F837E682B0D2339226DCCDA26481727 /* Addition.swift */, - 6ADE6B24E2F1E8BC45C1D76558FC0116 /* BigInt.swift */, - A9FF32F58B836138C1B80B183FBC3CE2 /* BigUInt.swift */, - 6931C147814FD7AC75251959E1F84B13 /* Bitwise Ops.swift */, - C4D54F7C6D9EA280A0460EFA15E45520 /* Codable.swift */, - 5157EEA72F46459433F5E5929670E20A /* Comparable.swift */, - A1CA8B0E93A127B5254EF75AB9709B6E /* Data Conversion.swift */, - F7C85CCAD8B8BB2BC645025063627244 /* Division.swift */, - 4C8A5F0094F14372F5834A32835C5F5A /* Exponentiation.swift */, - 9C031C01E004DEF403FA0B8AA6EFF370 /* Floating Point Conversion.swift */, - E7392F15D9E28ABE006D665C8C76D964 /* GCD.swift */, - 009A496F7B724F0347CFAC23677728AC /* Hashable.swift */, - 66907FAB988CF1AF834BAD4A2926F444 /* Integer Conversion.swift */, - 89C96B4D64AAD6FFE4F71B1EF2782516 /* Multiplication.swift */, - 62BE568E491C77F75C8D2CF1210EB0EE /* Prime Test.swift */, - AE75FF51A11E82B5FCDD575E3CC34131 /* Random.swift */, - C82501607388B8BCA99C8AFAEFD1465C /* Shifts.swift */, - 1E3257BF67AECCEEBCA3B927CB2C8914 /* Square Root.swift */, - C4D1A5DD3EF2B55B1F7090048637E96A /* Strideable.swift */, - ED0070FE7462B58C47F60E55B8C0AA5E /* String Conversion.swift */, - B0F41748EE794FFF4AB23CC5592DB949 /* Subtraction.swift */, - 51A61E362FF2B82C26F4DD5BA76BEDC8 /* Words and Bits.swift */, - D29C1D594EFD4A2036CF01A2C19C9777 /* Support Files */, + E035FE22D8FD996F3D0563F19CB710CE /* Addition.swift */, + 8FDA429500C1942B661A657EA51E45DD /* BigInt.swift */, + A9B7FC1C4BA7B43D989DB2B556486352 /* BigUInt.swift */, + AB5B6ACFABC7EC18ACEAA8633842A947 /* Bitwise Ops.swift */, + 347D7C773BE16C921C11062107552892 /* Codable.swift */, + 9008A60A0D23BDC48F41DFAA7F9FBA08 /* Comparable.swift */, + 2691542C5286F07821B7CD3CF161270A /* Data Conversion.swift */, + 1F01FE95147DDFFD02325C07A8F6783D /* Division.swift */, + DD0A982799C4459FD2E3166540B9A18D /* Exponentiation.swift */, + B4CD7FD8C56DD910536ADB36E1277B34 /* Floating Point Conversion.swift */, + 75B53B7D429106EC393E04CCE7E0FCF7 /* GCD.swift */, + 550AC365129396E2F60D5C364FA8B799 /* Hashable.swift */, + 6B2A909107AF59DD8B8759CFE5DC93C3 /* Integer Conversion.swift */, + 2F7C2F3619BC1AC64F8ABA62C7169C22 /* Multiplication.swift */, + 01B9F8302C27EEB6B1B175888E08664C /* Prime Test.swift */, + 7824C3291189F43DB7D1217F4967A4F2 /* Random.swift */, + 693EA8BE7F3922FAB6C8D9FB9B29DD52 /* Shifts.swift */, + 2E651A4C1D8411BB17C4D0A883ECCE95 /* Square Root.swift */, + 76C5EBB02B365D308E28575CC36D5CA0 /* Strideable.swift */, + 83028A48F74FCB58CD998F99671B2730 /* String Conversion.swift */, + B2742EF48D7A9BADD15DFA2028CDB4AD /* Subtraction.swift */, + 60BC0AB6A6A28CC649B0FF506918AB6F /* Words and Bits.swift */, + 6C94807A652A3CD4FFEC33FB419C1364 /* Support Files */, ); name = BigInt; path = BigInt; sourceTree = ""; }; - 76582F21D0907470A1FC9B0D9189FB42 /* Support Files */ = { - isa = PBXGroup; - children = ( - FBD8B2F40C0C32DCEA7AA785534F1FB9 /* Result.modulemap */, - EFC296C2BEC907D60DCA20DD2859E714 /* Result.xcconfig */, - A1D77762CE9C119FD2F51D4CD9271FDE /* Result-dummy.m */, - 973DE1FE38BB17CD69943D581C7A55F5 /* Result-prefix.pch */, - F5D6AF8D555A9E4255C5A7F9DBA2C46A /* Result-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/Result"; - sourceTree = ""; - }; - 76894B4285A9E1A94FB209CBE3286F42 /* Result */ = { + 91BB93276B3795A29DB4FA077042A369 /* scrypt */ = { isa = PBXGroup; children = ( - 566D31E69EBD23EECC7E9756E711AABF /* AnyError.swift */, - 3BF598B3313583C452A8F23CE762ABE4 /* NoError.swift */, - F956125ABF2FC6AD75ECDBF46DA4BA22 /* Result.swift */, - 1C2A766E739F57C8F1F245054C84114D /* ResultProtocol.swift */, - 76582F21D0907470A1FC9B0D9189FB42 /* Support Files */, + EC96BFAF2B1203FC9CA3C40F8C68BE0A /* BufferStorage.swift */, + 264884CE631173016E083169227D349F /* Salsa.swift */, + EB90911DBCE2B6C999C122F3EC56E386 /* scrypt.h */, + B7BE49D1EB253D7DE7539B872CDAD284 /* Scrypt.swift */, + 1722229FD4DB7AD2C441546254739FEC /* Support Files */, ); - name = Result; - path = Result; + name = scrypt; + path = scrypt; sourceTree = ""; }; - 7DB346D0F39D3F0E887471402A8071AB = { + 9B1BBE6CE2CA03B732374E1949A0B5F1 /* Support Files */ = { isa = PBXGroup; children = ( - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - 0F8D2E47FE03D3B91B51069F7C273AF4 /* Frameworks */, - EC60F452D909C0B678417A1D26249E86 /* Pods */, - 9D4E26DF6080ADCB389AB90D4A3DE678 /* Products */, - F5D91304DDB412ABC767B52A512077BF /* Targets Support Files */, + 1E078781E4A11116263643F9D1AAC14E /* secp256k1_ios.modulemap */, + 6C45D29D8FF386012D33CFF0BE84AD2B /* secp256k1_ios.xcconfig */, + 950B12DB7F4C7CF3F58880BC46966315 /* secp256k1_ios-dummy.m */, + B1647966CB1B1D43959CF4E871BD9B36 /* secp256k1_ios-prefix.pch */, + 57BF46728D1879DAAC9EBF3C6992D16F /* secp256k1_ios-umbrella.h */, ); + name = "Support Files"; + path = "../Target Support Files/secp256k1_ios"; sourceTree = ""; }; 9D4E26DF6080ADCB389AB90D4A3DE678 /* Products */ = { @@ -1263,426 +1203,525 @@ name = Products; sourceTree = ""; }; - 9E83EDA9227ADCBD81BCA0AB995F03C6 /* Support Files */ = { + A3C432A62DBD773DDE1F6FC6141A8015 /* Support Files */ = { isa = PBXGroup; children = ( - C1E160858524FA249084D3D67DF197C8 /* scrypt.modulemap */, - 76F2D8905A70134EA2CDEFA78C0DBF0B /* scrypt.xcconfig */, - 1004D33259FBFC1535E8D4F64120C7FB /* scrypt-dummy.m */, - BB0D492A199FDCE619F35C5B9F15159E /* scrypt-prefix.pch */, - 1872C3C700D15109420AB2DC4B6455F5 /* scrypt-umbrella.h */, + 5513D4EFDADCA1289BF2EB43EEFE0227 /* Result.modulemap */, + 22D34076EA0440B505461DA3E8B815CA /* Result.xcconfig */, + BBB4E3EFCFB5EE8A172C605E76645746 /* Result-dummy.m */, + 569F9DFB870F6B539E0A31012FC0361B /* Result-prefix.pch */, + 27185CC1895D79F7DD34E6740F038154 /* Result-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/scrypt"; + path = "../Target Support Files/Result"; + sourceTree = ""; + }; + A594039006D69F6E7EB52154DD258AE1 /* Pods-web3swiftExample */ = { + isa = PBXGroup; + children = ( + B3F9A1907F29304BFC44C6ACB93771D4 /* Pods-web3swiftExample.modulemap */, + DD5A83F499A1B0FA6DF5618B53E3ECA2 /* Pods-web3swiftExample-acknowledgements.markdown */, + E030C6F26BFADC8F35D1E4CA476BF788 /* Pods-web3swiftExample-acknowledgements.plist */, + 59F77AE95BC9FEABC9D930C1AB687A02 /* Pods-web3swiftExample-dummy.m */, + 78065485981757B26523C1E5BD7EAD03 /* Pods-web3swiftExample-frameworks.sh */, + 50EA02714EC707E77A1214BBC12D9969 /* Pods-web3swiftExample-resources.sh */, + 26986386406787D15D8C39F0B109D08A /* Pods-web3swiftExample-umbrella.h */, + 02C519FDB5FE4C5643A843724C5FACA2 /* Pods-web3swiftExample.debug.xcconfig */, + 138892441A5B43660E6766A7D981C559 /* Pods-web3swiftExample.release.xcconfig */, + ); + name = "Pods-web3swiftExample"; + path = "Target Support Files/Pods-web3swiftExample"; + sourceTree = ""; + }; + AB4CFD4D1BF889729C2D139EDC2212A7 /* web3swift */ = { + isa = PBXGroup; + children = ( + E32EAD6B9FA7E7949B7E044DF88FAE25 /* ABIv2.swift */, + 3F07C5E878C387F3ABE98CE9E9CC042B /* ABIv2Decoding.swift */, + E33486FBAA345E14AD805DEC0E47A803 /* ABIv2Elements.swift */, + C79C70AB4E5DF69385497C717CEBFB75 /* ABIv2Encoding.swift */, + 5D57382F3D45CBD48EC909FE9F31DD25 /* ABIv2ParameterTypes.swift */, + AE50FC315B634183486EDEF0DBB59268 /* ABIv2Parsing.swift */, + A4DBB0B96A0D97186D0D275913EFB6F4 /* ABIv2TypeParser.swift */, + 91DC39A093E0AC3021796C0C881D7423 /* AbstractKeystore.swift */, + 78B7D9D842F7D0AA20338FB007081B95 /* Array+Extension.swift */, + 6295CFD25EA738F9FEF1FD0EE5FE0B06 /* Base58.swift */, + B4D0235918D0C322E2E83A50D0A2CD24 /* BigUInt+ObjC.swift */, + D22A1274D72F8069BBEBF15A847277B5 /* BIP32HDNode.swift */, + 573C281E9AC6356B325AD8D6510F60B7 /* BIP32Keystore.swift */, + 17030AF3741AF00A5A580D4345C62671 /* BIP32KeystoreJSONStructure.swift */, + B230E8C1B6762E788B76F2AA859FF02E /* BIP39.swift */, + 1B102B3CA88EB8D8489C8BD4E882B887 /* BIP39+WordLists.swift */, + 631CEB8A33B0BABC23841BB536628BFA /* BlockExplorer.swift */, + 316084C209096DC615680F3C10C4C605 /* BlockExplorer+GetTransactionHistory.swift */, + 39E4ECDC1C840F2E1D4F0634927F7BB7 /* BloomFilter.swift */, + 094419FE4BE23498B11CBA6A878600DF /* ComparisonExtensions.swift */, + CAB3B3DB7F29D6CDD16814E658597C38 /* ContractABIv2.swift */, + 4D8007518DBD2C969B8AF1A986FF45C9 /* ContractProtocol.swift */, + 5F227060DB927464FC9041C45A8FFB80 /* CryptoExtensions.swift */, + C9025BAAEE8CC693DC8E66CE52E77768 /* Data+Extension.swift */, + 3BB13364DA7A1C04B41722DD1B785D8E /* Dictionary+Extension.swift */, + C191C1B178EC68CC1E14B9012A443F62 /* EIP67Code.swift */, + 2CCD691C76047A933F592EC30383C674 /* EIP681.swift */, + 21563C94F3C303F058BA156A1F488535 /* ENS.swift */, + 7CB230DD879156CD4033668CEE509774 /* EthereumAddress.swift */, + E876079E09845BBA655ED734665C8A43 /* EthereumAddress+ObjC.swift */, + 0EDABCC9E8C9DBD6F0354ADD3FC0D47B /* EthereumFilterEncodingExtensions.swift */, + A740ACE88D9C0FCCAA9BF577B356D151 /* EthereumKeystoreV3.swift */, + B806FEEE8A1AD5FF1AB49E5928BBC3A3 /* EthereumTransaction.swift */, + 7535931BF67E66F8AAE328BEE0EC6A24 /* EventFiltering.swift */, + E3724656679C0E551B0D424B10D8BDE0 /* IBAN.swift */, + 0D8E5BAB976E1215ADA818D366891226 /* KeystoreManager.swift */, + F7F281434684B8C111CACBAE1BCD1B8A /* KeystoreManager+ObjC.swift */, + 135C2258FEDDC235C7E7781BD638E0D0 /* KeystoreV3JSONStructure.swift */, + 66175BB0554541A3D3816C0B65138569 /* LibSecp256k1Extension.swift */, + B271D2C6AB2B214DB0BBE7869FA70164 /* NameHash.swift */, + 2B8E411298FF1752518A56381CD096CD /* NativeTypesEncoding+Extensions.swift */, + F403D2ACFA1FBE4817C4DD35F625E829 /* NSRegularExpressionExtension.swift */, + 785088A8C7337172C11F39BC9A4A9321 /* PlainKeystore.swift */, + B461C953E96246972B9FD88D07AD66E5 /* PlainKeystore+ObjC.swift */, + 2967DC4D563FB31C61E228B5CBB7F6E2 /* Promise+Batching.swift */, + C93101B181E8AABEB131C0915B6F3015 /* Promise+HttpProvider.swift */, + 47C25EDDC521B2D33E3E14E53A09B8CB /* Promise+Web3+Contract+GetIndexedEvents.swift */, + 1065518E9270D7BB4FC633894765466D /* Promise+Web3+Eth+Call.swift */, + 534FF25435EEA486F21EC56EBCAB291A /* Promise+Web3+Eth+EstimateGas.swift */, + 958751D0D47E3CCFFC945333CEB4F72E /* Promise+Web3+Eth+GetAccounts.swift */, + 373E0AFCEE02274BAE66A586B88A17D4 /* Promise+Web3+Eth+GetBalance.swift */, + 77BA68E17B6BB6941FB1F5C040C24663 /* Promise+Web3+Eth+GetBlockByHash.swift */, + 891D55C717F344B9C14142E735B75843 /* Promise+Web3+Eth+GetBlockByNumber.swift */, + 212B93EFB576141803D3468A4F741935 /* Promise+Web3+Eth+GetBlockNumber.swift */, + E2B568367A9864B63A35097D9E4AB93A /* Promise+Web3+Eth+GetGasPrice.swift */, + 100B115D06674BEC5FE6A0B8CEFE2F84 /* Promise+Web3+Eth+GetTransactionCount.swift */, + FE2E92733967F592C99E77387B2DD8FD /* Promise+Web3+Eth+GetTransactionDetails.swift */, + 376411273811B98AA866A25753F7A66E /* Promise+Web3+Eth+GetTransactionReceipt.swift */, + 68BB7A2BC3583AD28EAD25EA7ED9D5FD /* Promise+Web3+Eth+SendRawTransaction.swift */, + DA17BEB9A7129021CB18F6B91D12748C /* Promise+Web3+Eth+SendTransaction.swift */, + 952E5E5A20415427CA78C75911C62ABD /* Promise+Web3+Intermediate+Send.swift */, + 6A270F07FA0270BCC20180DB9DCC1B67 /* Promise+Web3+Personal+Sign.swift */, + 32B853AE4883AC6BC8B6D6F0876142F8 /* Promise+Web3+Personal+UnlockAccount.swift */, + 84AB4B26E85BB1F6973CFA28CD3096B5 /* RIPEMD160+StackOveflow.swift */, + 3FC0C757DEC5E742B77C173A8B9FA6B7 /* RLP.swift */, + 123FCC5CF86530D3AA0B411043CCF3FC /* String+Extension.swift */, + E1E9E05C913C27A3BCDC1B5C783DE9B9 /* TransactionSigner.swift */, + BFE4248F45D9EE5AAA7A83114F6B2BF6 /* Web3.swift */, + 845B2F9B3F1C9FB2895E49DB515D07CA /* Web3+BrowserFunctions.swift */, + B78D71D7365AE4B58112354EDD377D4D /* Web3+Contract.swift */, + 3DAD5F524037255589944BAAAF9B3EDC /* Web3+ERC20.swift */, + C613C1A4193B296D8171C94206D33C31 /* Web3+Eth.swift */, + 27CFA7ED30A911A75D056CBDD52EF777 /* Web3+Eth+ObjC.swift */, + E2F40252FE652D0C4730C00077BADDAA /* Web3+EventParser.swift */, + CAABB0F89CF876EA103285C487CD9403 /* Web3+HttpProvider.swift */, + 1D1A082C236FA698192257797E4895EC /* Web3+HttpProvider+ObjC.swift */, + 4B07F39C278099EF682E0CE68BCD5498 /* Web3+Infura.swift */, + DAB94D7201EC9D4222C28065007D51EB /* Web3+Instance.swift */, + 96F86314D21C56C76D90CA969B03162F /* Web3+Instance+ObjC.swift */, + 70E0EEB2A88058CB61B7C02075E3FBC7 /* Web3+JSONRPC.swift */, + 9778E61DBD908F7C81939F9640787434 /* Web3+Methods.swift */, + 292938D4E2E614F82D7E4A4A53919089 /* Web3+ObjC.swift */, + 9D81EA660BB41A6042EB12554C011FF5 /* Web3+Options.swift */, + 87A57BF304C2840A5AFBC40A55F95F7A /* Web3+Personal.swift */, + 39676721FFFBFCD3ACA7964DBA994E81 /* Web3+Protocols.swift */, + 51291E05C571952BED7774C956E85673 /* Web3+Structures.swift */, + D9D0562D53ACD302EE60EE8967515E45 /* Web3+TransactionIntermediate.swift */, + 20B0DF172F7BCE780CE4325B9FA737E8 /* Web3+Utils.swift */, + D48E4039D8A05D930087548282B6EDFB /* Web3+Wallet.swift */, + EAE853F3B901CD0EFBB3049D7288A635 /* web3swift.h */, + CED83459CAB009994922F31BDEFD623E /* web3swift-Bridging-Header.h */, + 46B20C7C72517DE1197CCA18250C3BAF /* Support Files */, + ); + name = web3swift; + path = web3swift; sourceTree = ""; }; - D29C1D594EFD4A2036CF01A2C19C9777 /* Support Files */ = { + BD30C8AF77B5A8F88A9204EEA5A7AD02 /* Support Files */ = { isa = PBXGroup; children = ( - 149A6989679728614A4EF1F0D609947D /* BigInt.modulemap */, - 0438DB1DA63797598E1BC06A1A12F711 /* BigInt.xcconfig */, - 7DBAF0C2F5BD5A5625B1B234D0E9BF81 /* BigInt-dummy.m */, - 6F8C20347DD37B9D783C15476C8D0769 /* BigInt-prefix.pch */, - 4F11F7307F07CC65C25A8F4FF12EEB69 /* BigInt-umbrella.h */, + 69CD19444455A47F7707DA7A006277B4 /* SipHash.modulemap */, + 1F48C69683BD62C478F08C59DCF2E589 /* SipHash.xcconfig */, + CB0F38E28056726FF806F5BCFE43B68A /* SipHash-dummy.m */, + 241B18C64A7ED8609A9A6C70163C9FFC /* SipHash-prefix.pch */, + EAF65854A3BB618F07D90EDF805CA448 /* SipHash-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/BigInt"; + path = "../Target Support Files/SipHash"; sourceTree = ""; }; - E1B11C6B6F27FBCFAD3442F94346DE9F /* scrypt */ = { + C472227818EDFDAF1A596D87BB07017E /* iOS */ = { isa = PBXGroup; children = ( - 178C5FE20A3B38496D7935F91BDED794 /* BufferStorage.swift */, - 227AEA3AD310D48705A9F080E9587471 /* Cimpl.c */, - A37841BD104497DB3DF5388D4367797E /* Cimpl.h */, - AA9F942F287B75869B1E47BFFC388B1A /* Salsa.swift */, - 388FF24BE1726BEA3B2AEFC39035A410 /* scrypt.h */, - CA57CE485B097FA3819A70808EC9563A /* Scrypt.swift */, - 9E83EDA9227ADCBD81BCA0AB995F03C6 /* Support Files */, + D1FE5696E0B254ED3F3CEF1700BFE3EF /* CoreImage.framework */, + F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */, + 5766E309D1AB7421873E2E4C04C5A5AA /* UIKit.framework */, ); - name = scrypt; - path = scrypt; + name = iOS; sourceTree = ""; }; - EC60F452D909C0B678417A1D26249E86 /* Pods */ = { + C7008B32BE430039207C595C3726AA01 /* Support Files */ = { isa = PBXGroup; children = ( - 6E4EDE9E9B78521FA55CED5638D5EDF8 /* BigInt */, - EE034609EC162D1B2938C377B61EDD5D /* CryptoSwift */, - 6CC6B3B846C4A49776585048537B37B2 /* PromiseKit */, - 76894B4285A9E1A94FB209CBE3286F42 /* Result */, - E1B11C6B6F27FBCFAD3442F94346DE9F /* scrypt */, - 4F552CB6A500F8A25357EB895C9C5B01 /* secp256k1_ios */, - FF614B310B89C645EDD0678F3DBF2FC5 /* SipHash */, - 34AFA66336C6501838838E84DC7993F5 /* web3swift */, + 6B7201DD7B676D754F535E10B68B800E /* PromiseKit.modulemap */, + 6F569DE923E2ED82AAC896068E839D04 /* PromiseKit.xcconfig */, + 938683358C3B5AA2CFBFE642980B4AA3 /* PromiseKit-dummy.m */, + 35EB5BB18736A988E04A7C2ABE4DD406 /* PromiseKit-prefix.pch */, + 48E5DB8DD854EDCDD6095F95889DCAF9 /* PromiseKit-umbrella.h */, ); - name = Pods; + name = "Support Files"; + path = "../Target Support Files/PromiseKit"; sourceTree = ""; }; - EE034609EC162D1B2938C377B61EDD5D /* CryptoSwift */ = { + CA3D3C1EBFFC7D898A27E843C5439CE0 /* Foundation */ = { isa = PBXGroup; children = ( - 5C8009536C96B6BA559B0430AEC14152 /* AEAD.swift */, - 7DDD374821E4640217896833C7CA1640 /* AEADChaCha20Poly1305.swift */, - F2ABB5405C641CC68BD096B2B036EE11 /* AES.swift */, - FAB164AAEFA3768FB27145624FE1B935 /* AES+Foundation.swift */, - B7DCA902F4BD0A6D5EAB1E39146270DD /* AES.Cryptors.swift */, - 123A79BDE35CE7064C94E97B6CC962F3 /* Array+Extension.swift */, - 74C6B60FD25F8EC022E87CD299A2F7B6 /* Array+Foundation.swift */, - B8E9B7215E082F31D22AE879FC8E6A1F /* Authenticator.swift */, - 29C256B973D8BE987C0231440CCB1E67 /* BatchedCollection.swift */, - A732C7582F6BC356D8BD853CDE811DFC /* Bit.swift */, - 7A5B2E7BC5B7C1DC93FEB876C8062552 /* BlockCipher.swift */, - B3068DD183E4985B3B7691D15DF8298E /* BlockDecryptor.swift */, - 7443C1CD1A0F4F67CD82A92FE91805B2 /* BlockEncryptor.swift */, - A6BE5137753028C21E8B2484B016E908 /* BlockMode.swift */, - 6A223F737D492A8E44460C4DDC7E5773 /* BlockModeOptions.swift */, - 7FD0C198DD93405BF1DA5EDE636A2F6F /* Blowfish.swift */, - 7053901B6F4C7C4685E6983AD717E771 /* Blowfish+Foundation.swift */, - 589F851C490849AC18374F9DD34A57C8 /* CBC.swift */, - 674BEB1072D4B5AA13D4287142BF6E01 /* CFB.swift */, - 2DFD3BF6784E7B36EB8BDA06326E1D84 /* ChaCha20.swift */, - 118A0A4492B525385A8483675B6FCB88 /* ChaCha20+Foundation.swift */, - 3FD29DD5DC6ED789FAEB902C94E865F1 /* Checksum.swift */, - 106E8716BF64A92008832D383814FFB7 /* Cipher.swift */, - 9E54B974F06101FBFA19F76844B3BBAC /* CipherModeWorker.swift */, - 8860ADCD1425930DB2A6C8824B7787DE /* CMAC.swift */, - 0571CF27DD24F25CF822D599D2FD9592 /* Collection+Extension.swift */, - 9ED56C4C75C737397EB4A6FE4BD26A24 /* CompactMap.swift */, - E92471A6404F95DFCFD6D27751246E1E /* Cryptor.swift */, - 8FCF51E9005015897DB4235855C11F3E /* Cryptors.swift */, - 41FC722652762A9CA680AC0CEF50B2CC /* CTR.swift */, - 780AE89716057678AA7E7C10379484F5 /* Data+Extension.swift */, - 2737D9FD26C786FDE441BA01D79E6DB6 /* Digest.swift */, - 397D4BCFA7542A08BF0E44317F724880 /* DigestType.swift */, - BBA5DBF0F836BCDC6BD27E61549AAC70 /* ECB.swift */, - 58E9F0540DB4E1A859392EFA3A0708B3 /* GCM.swift */, - 3298DB5F4EFFFE85F3D5C56F858DE99A /* Generics.swift */, - A79C7498C141E9CE21DC4835847CA83A /* HKDF.swift */, - 183C2164A5A0D7B650B1632D92711576 /* HMAC.swift */, - EEDAFED9F2E7A4D6945433CF19C261A5 /* HMAC+Foundation.swift */, - FEF79F557134C26ABD37AE7F9CB5C154 /* Int+Extension.swift */, - C8D29DC59940B5FDB7E394779075BECE /* MD5.swift */, - 6B1467C65AAF92A3D88CEF44D064DB75 /* NoPadding.swift */, - 20811F2A1E259155573275E6C84F2090 /* OFB.swift */, - 7F532B89CD79FB5FA18D07FC46DD8466 /* Operators.swift */, - 940A12297080FAFA2D6A547951269482 /* Padding.swift */, - FDB053580814C7204EAA8C60A26D2F9C /* PBKDF1.swift */, - A05EDF9C50CA5FB4D54C034BBEEF360F /* PBKDF2.swift */, - 16AF4F6B552E36497978DA12CBFA0A4C /* PCBC.swift */, - FB682963D538987398F14AB14E9F6457 /* PKCS5.swift */, - 22232C77A8E2D0AFF9A27E485B82506E /* PKCS7.swift */, - C9BB9612098BEF96218A20B30D84C0F5 /* PKCS7Padding.swift */, - D65E0431F0537EA35BD7DAF5F94927D4 /* Poly1305.swift */, - 3B62D9ABA91167900FE1A8E0B48BF6F1 /* Rabbit.swift */, - 6D740E5FEAD00D08690A1797817D464A /* Rabbit+Foundation.swift */, - CFD4B69F8A727F8A3888203E38DD2A63 /* RandomBytesSequence.swift */, - FBCF03C2FFB16105B36B473D4E7B2D8C /* SecureBytes.swift */, - 1965E9A5C6BC0EAF6D873E26515FBF24 /* SHA1.swift */, - DC13E3A095630065A63A08AF09FAB39F /* SHA2.swift */, - CB58A1F8BA189B147A3A2B8EE893A5F2 /* SHA3.swift */, - B421CF5866C90A22CF4AD1B2FB521FB1 /* StreamEncryptor.swift */, - 6C1C98DF0D19110BC29B96ACF3CD8253 /* String+Extension.swift */, - F3F5A2A6D774B47357984CAF7863D68F /* String+FoundationExtension.swift */, - C42BF3CAC53EA5AA37D4CC5C152AA8B6 /* UInt128.swift */, - 0592455534B27A7EDFB9DACFC3FBD860 /* UInt16+Extension.swift */, - 0F0897176807A58E1A713B8A2B2948DA /* UInt32+Extension.swift */, - 16D03E5E5B1C1CC5F18AE9C3C8EE602B /* UInt64+Extension.swift */, - 06DA7D56C2864C4222F706AFC7953AF9 /* UInt8+Extension.swift */, - 81129A66FBF8621B73A114A3835F4046 /* Updatable.swift */, - 6056EC003B91D6AE8460C740F35F2BC5 /* Utils.swift */, - E20325AD797DB5BA5787DCB0E743E290 /* Utils+Foundation.swift */, - 6A5EEC6F826A7BB4BCF689DDBBBE8AF0 /* ZeroPadding.swift */, - 5BAC90A6912CC2B93688550661898B95 /* Support Files */, + 8EC0E04C3669680657625472D862D24A /* afterlife.swift */, + B3AE1B016C720A6861CFEEED6B0B1E5D /* NSNotificationCenter+AnyPromise.h */, + 474585527D4B8900A32D2242E978847F /* NSNotificationCenter+AnyPromise.m */, + 56AD7AD28B0B51693A9D7B079E162D05 /* NSNotificationCenter+Promise.swift */, + 2F6CCA99139E9FA673025D313067429D /* NSObject+Promise.swift */, + 753FBDA47B0F3ABF841BFB35EE89BF17 /* NSTask+AnyPromise.h */, + 92BA0A05E447FDB20B427DC9BA3F17BA /* NSTask+AnyPromise.m */, + 4A0AAEC1A587F9F34485AC86C4D355AE /* NSURLSession+AnyPromise.h */, + EC27CE020482173FFDCE321039C1E1B7 /* NSURLSession+AnyPromise.m */, + 0A6D448881C8648C29B2822564286304 /* NSURLSession+Promise.swift */, + C52F5EDD1118D33A3B10C6452A089E8F /* PMKFoundation.h */, + 83D65244334349A7D66163DFEE37F1FA /* Process+Promise.swift */, ); - name = CryptoSwift; - path = CryptoSwift; + name = Foundation; sourceTree = ""; }; - F5D91304DDB412ABC767B52A512077BF /* Targets Support Files */ = { + CA45BC40F829FDA2D73BA9681C3F94C8 /* secp256k1_ios */ = { isa = PBXGroup; children = ( - 33548EC949E8B683284D35310869DD50 /* Pods-web3swiftExample */, + B8CBA501A152AA198F4C80D0E17BAFED /* basic-config.h */, + 0FE8C570A67B72F1871BDC1419D7B753 /* ecdsa.h */, + F69249253939D72D4870706405B1DD0C /* ecdsa_impl.h */, + 4F3913F7F2CBD112E100212D4E6CD280 /* eckey.h */, + B5B0E053F4769044408474F4EDD0450B /* eckey_impl.h */, + 458014C6622264651F6A80E772E8ED42 /* ecmult.h */, + CB23B0951CD5D604D24EA76B4B41466F /* ecmult_const.h */, + B76269C67E36441FAD8FF805B6A60FF1 /* ecmult_const_impl.h */, + B225A007A4268038A9E454D13111A89D /* ecmult_gen.h */, + 2B33E9D7080834138F6B05D08954A9AA /* ecmult_gen_impl.h */, + E3FCFAFE5E2F92BF925E516BA5C6D586 /* ecmult_impl.h */, + 61C7FDF5E2DDE25A864126B5CDE2560A /* field.h */, + FB9227AD4EC63BDE92E26BD15585FCA5 /* field_10x26.h */, + 5BA64E966CB81F4DBF7A2DE773DF868A /* field_10x26_impl.h */, + 75D06CDEDBF36C342B7FFE38F8F51A90 /* field_5x52.h */, + CC7703D2D8872FC0ABD92EE3F90EBDCB /* field_5x52_asm_impl.h */, + CD6A176D312F0AE31DF835BCA4A0F342 /* field_5x52_impl.h */, + 1E5AE0371FA8682D8CCBB47D262545A4 /* field_5x52_int128_impl.h */, + A96F34D195736EFBEE26EAF01CFB8519 /* field_impl.h */, + BB1C6578AA63B23B241C85DCD3EF3D21 /* group.h */, + 90FB08FA3883CDF506EFD3894126E276 /* group_impl.h */, + 1726EC7BDEA2D89FB4D2AD0CE0562EB0 /* hash.h */, + E9124AFC41B95D43CF8CC563C862991C /* hash_impl.h */, + A1EBCC0F3780CD1BF5924A52550B2326 /* lax_der_parsing.c */, + BA06B61BC294257DACC3E1D0FD32DA53 /* lax_der_parsing.h */, + 353D2E93E15B57FEC4A9C0B5CC561DCB /* lax_der_privatekey_parsing.c */, + 3B6D04221009B07824A6130FC77D31C9 /* lax_der_privatekey_parsing.h */, + A1F0E78B73C5750335C94D48A43488F1 /* libsecp256k1-config.h */, + E22171F0C69D8C40BCDB2F57BE46B364 /* main_impl.h */, + A4AD0B0CDC89E37F1F3D10E361AB2BD7 /* main_impl.h */, + DB6B3F25A51F2AB28AC33743DAB74418 /* num.h */, + FFB342B57716D3C137EA03417F2362B3 /* num_gmp.h */, + 7FAFAE9D7630D61F389768DE544675E3 /* num_gmp_impl.h */, + B1AF162652CC96EC4E7AA8713BEEF5B7 /* num_impl.h */, + C0330E643D2770F7C6D422B4085388DA /* scalar.h */, + 973DD5BB41EA9F79AF3EC787D0C36229 /* scalar_4x64.h */, + 40E213322D7482A63CDC0B2220AE92F8 /* scalar_4x64_impl.h */, + 7FF21379AF18F46F4F0D6D75E0FF54F4 /* scalar_8x32.h */, + D88F2B395E5E3F2C3E61220B75F9EFE4 /* scalar_8x32_impl.h */, + 9BD8F7B538E9955AD6B31C5548E85E3A /* scalar_impl.h */, + E77AC5D58E1FF6C75FCC6752505572A9 /* scalar_low.h */, + 99C57625E52E17DB4D8B152FC7D1772F /* scalar_low_impl.h */, + 2D7BB0E009A62667D94F3144CF4F0FA0 /* scratch.h */, + D7048890B198E005491CCFCEB097B6C6 /* scratch_impl.h */, + 5278987D2532144A7BD28E9111659639 /* secp256k1.c */, + 6799868DDDED4341574C8A8D6027075A /* secp256k1.h */, + 60D6A69168B4A121E9E39646B6E40E1A /* secp256k1_ecdh.h */, + 02DC13AF775E722F06F597A8A14B0AE6 /* secp256k1_ios.h */, + 6F4F320F47509747094BF6BAE12A4D24 /* secp256k1_recovery.h */, + D3D75A6D93D9A7DF105F25DC93688461 /* util.h */, + 9B1BBE6CE2CA03B732374E1949A0B5F1 /* Support Files */, ); - name = "Targets Support Files"; + name = secp256k1_ios; + path = secp256k1_ios; sourceTree = ""; }; - FF614B310B89C645EDD0678F3DBF2FC5 /* SipHash */ = { + FFF8EAFC7FE4BFDD7276AFA7EF2810BE /* UIKit */ = { isa = PBXGroup; children = ( - 3C9503C4F6C4DBB79AC671BCA551F24A /* Primitive Types.swift */, - 22E9055D66F39B0B671EC13A4D7A9AC5 /* RandomUInt64.swift */, - B8577B9E45726016E2FBBDE2C00FBA5E /* SipHashable.swift */, - D9820DAF2C85EF9676F910DE851D4162 /* SipHasher.swift */, - 56042BEF07057820075563F39785152A /* Support Files */, + EE6713D6A2C799F18F66DEAF4B9DA002 /* PMKUIKit.h */, + 14F7AD83E425807B028866A517E0155F /* UIView+AnyPromise.h */, + 394D7CE2F861BEF42B052C1127E8BE02 /* UIView+AnyPromise.m */, + 8D9827104D7B5DA3C16491C9811CC664 /* UIView+Promise.swift */, + 5419632D59B4453866138B147398B786 /* UIViewController+AnyPromise.h */, + 619A8D3D3D97DA2E15C31D9AEFCDABF8 /* UIViewController+AnyPromise.m */, + 93527029429AD83050A8FED1326A171C /* UIViewPropertyAnimator+Promise.swift */, ); - name = SipHash; - path = SipHash; + name = UIKit; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 348FEDAFD29DB68ACC79429CEBD1BECC /* Headers */ = { + 35F9FE8309F1E63F763141F0B0039EC8 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 0CEC6253D2D954152AC4B4471CDB740A /* Cimpl.h in Headers */, - D9C65DE359CBC075E8237712B08CE6B7 /* scrypt-umbrella.h in Headers */, - BA152925FD32B3DD8E99B6ED52A41300 /* scrypt.h in Headers */, + 5EE4E0C0152AC9B60B5FDE21D1FE1376 /* basic-config.h in Headers */, + 88B29449C32692F7D73AD19AB9508E9E /* ecdsa.h in Headers */, + 00763A6DC5CB5814AA51CAC50219E0B7 /* ecdsa_impl.h in Headers */, + 903162D5F5F9CFB9592A9DA8541BEE24 /* eckey.h in Headers */, + 7E2C56629D76BCBB9A7597AB3C01230E /* eckey_impl.h in Headers */, + 0EDDF7477E288E84577052C1658B41CB /* ecmult.h in Headers */, + A8ED2011C6459454B17016453117E474 /* ecmult_const.h in Headers */, + 96B01C81222EDFBE07E1113BD5C8709A /* ecmult_const_impl.h in Headers */, + 4413CB40BA7831228B511444C65D4598 /* ecmult_gen.h in Headers */, + D48257219A517C7B544EC8F5FC7CE52D /* ecmult_gen_impl.h in Headers */, + F077C061E7C6DE9634E53933176AED12 /* ecmult_impl.h in Headers */, + D0ED390D223D65AED4918159B4E83518 /* field.h in Headers */, + 9E39E12281D5ACCCED1214F2F8E7FBCB /* field_10x26.h in Headers */, + C6B939C5DB85F68033B851B536DFAE97 /* field_10x26_impl.h in Headers */, + 1D5335B7B63350DA411E92FE0F9C813E /* field_5x52.h in Headers */, + CDE9115B99FB035DF31575BCD1856176 /* field_5x52_asm_impl.h in Headers */, + EBF8FE9A06F1AE78A436416971F6D15C /* field_5x52_impl.h in Headers */, + 2EF56412944236855432B9B5F3C4FB51 /* field_5x52_int128_impl.h in Headers */, + CB8C7EBF77B59ACF71AC7D62D4D662FF /* field_impl.h in Headers */, + 6255AF52A113C5C624A545D90892CA83 /* group.h in Headers */, + 46BD7484F9CCF884C8A6CAF420742AE5 /* group_impl.h in Headers */, + 72CCA97DBFCACB74A5FE01DBFB69740F /* hash.h in Headers */, + 6A9086C4572C4F6541AC78DD1265EB7F /* hash_impl.h in Headers */, + 1647257B4D9A55A1F3314ACF6404D5F7 /* lax_der_parsing.h in Headers */, + 90BC99CEAA9416F74A738E33D3599D44 /* lax_der_privatekey_parsing.h in Headers */, + E13993B4E44256FD584BE3637A9155B0 /* libsecp256k1-config.h in Headers */, + E9EDFEAF82BDECFB5B2C7A4A269117E9 /* main_impl.h in Headers */, + 409AB8F2738245087DD60C50D35C3BAE /* main_impl.h in Headers */, + 2CCC69A35D8263BBAF73B815E5AB8278 /* num.h in Headers */, + 8F6EBD2B192DFF91E1C9D783A3257186 /* num_gmp.h in Headers */, + 3638DE61A4AAC74549E4E4D50DE21140 /* num_gmp_impl.h in Headers */, + E0DC2448FBF7D5B446989F11A2353A61 /* num_impl.h in Headers */, + CC649B6B389468CBEA2D8CC1188D24B6 /* scalar.h in Headers */, + 11371BD0B588E43BFF1CD5D68F5C7FD4 /* scalar_4x64.h in Headers */, + 5F0A86C61CAF70E58EA049D39F6986D0 /* scalar_4x64_impl.h in Headers */, + 90D4B17E148D3BF98981EC70E145D41D /* scalar_8x32.h in Headers */, + 76691510142C52A1ACC5E168EF593AA3 /* scalar_8x32_impl.h in Headers */, + 8592249C052EDBCD63F00D8D4710AA51 /* scalar_impl.h in Headers */, + 1304DC56E39237BCDBA3FE4E41862A9E /* scalar_low.h in Headers */, + 1CD4E827C0EC9D39E979570AFD3DA007 /* scalar_low_impl.h in Headers */, + BFBAF99A0E26012C6AC30E523F907883 /* scratch.h in Headers */, + 901EE7A09AC4266A373940B173492982 /* scratch_impl.h in Headers */, + B7C57A67BB4AFC411DB31B7CB5B6B9FD /* secp256k1.h in Headers */, + 79286AC9F08C96AD6B9F2B61DF5023FB /* secp256k1_ecdh.h in Headers */, + 03826F22499C16E2303F4CBFA3F4B200 /* secp256k1_ios-umbrella.h in Headers */, + B892A7776D38BD3022DF881E43B813B3 /* secp256k1_ios.h in Headers */, + 0D9AED5BD9970F9FAA6B709531FCA711 /* secp256k1_recovery.h in Headers */, + 0383D3FBA2D7DD1CCC83D19FF1B088D5 /* util.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4950E5373AD51C9D8BC9C6D99E3169ED /* Headers */ = { + 36BDF644967752D2BA93E9782E7CA411 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - EB01BFB4856AE2B0729EEF5BB2E4F4BB /* Pods-web3swiftExample-umbrella.h in Headers */, + 02CCD0123FF7A3ACB4A0E42DCC5CE64F /* BigInt-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 52C34075DAB19ED44ACB50B0711DE98E /* Headers */ = { + 40B19E1F3F1B8CF3B44E95995B9A1711 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 1827A2E7503354E5079D35079745DE19 /* CryptoSwift-umbrella.h in Headers */, + DB6D332339076837BF529F161695300E /* CryptoSwift-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6F71C6D55A9BEC0CE7216BC963319251 /* Headers */ = { + 47D4BB29B406891C2706A80B1FC25B61 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - A92458877FCA59086F67BB51DDC41CAB /* AnyPromise.h in Headers */, - 22DCAC3A73E88CA5628BC1FEB5DBA99F /* fwd.h in Headers */, - 35923DB1A6781812B8913ECD0416D749 /* NSNotificationCenter+AnyPromise.h in Headers */, - 0F122728D41D7ACC67337E2E602B04A9 /* NSTask+AnyPromise.h in Headers */, - 847F825E0F00B1476A42EC1A2914DA3B /* NSURLSession+AnyPromise.h in Headers */, - A30DC6AF6EF10EB0690299A4867C9B84 /* PMKFoundation.h in Headers */, - 56FEEE8BC37939684F8887F96C6EFE1E /* PMKUIKit.h in Headers */, - ED87753A5604561B7D2436DE33925A7C /* PromiseKit-umbrella.h in Headers */, - 9C41B74A57AA5CFF765F024109AC0578 /* PromiseKit.h in Headers */, - B8A496A3D5363FF8EF9121E53AD89050 /* UIView+AnyPromise.h in Headers */, - DDB1738B9B50E6F1120181DE827F7A91 /* UIViewController+AnyPromise.h in Headers */, + 62AB1143A260C92031A2BDA46B43A317 /* Result-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - D97844B1DEDE16B186EE602B8171F0CD /* Headers */ = { + 5EACE4F098F6A2C0D25D3FC17BB2000F /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 9FD060EF8DF515DA0B961EEFA266D545 /* BigInt-umbrella.h in Headers */, + 59E39ABE1E262D82F21AB859BAA0252B /* Pods-web3swiftExample-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - E48F92574331C298E9A411300A4C8866 /* Headers */ = { + 8738CFADC53B046DCE9C8E96C203BC52 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 3401E200180CF3B6563B96FEAF55CA94 /* Result-umbrella.h in Headers */, + 4FF08A981BC45F80F749B3B61F57F48A /* web3swift-Bridging-Header.h in Headers */, + 34412A2B372C4B46E37201E2E9DB0048 /* web3swift-umbrella.h in Headers */, + 993523EB326D12F27CA076957296D7EC /* web3swift.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - EB79ED98B75A5B0283699BCF857B3EEC /* Headers */ = { + 8B9262F43550559FA35B520E39F64DEB /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - A5CE80C2CF454667ADBEFFF8D35EC95B /* SipHash-umbrella.h in Headers */, + 973835E7143B221B1963413928B2D5A4 /* SipHash-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - FBA602E8EEE4C842340E51E8C5014BAC /* Headers */ = { + E2C9C33E43F48026AC9839CFC360FEF5 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E0A8CB42FD278D108E4A708AC52D84C3 /* web3swift-Bridging-Header.h in Headers */, - 2FDA0E6E5364186683841D4CB7F2AA96 /* web3swift-umbrella.h in Headers */, - 83DE107ED68E9FFA4B62A5A12B99223B /* web3swift.h in Headers */, + 5563BD4C5797B7CFB1661E0270BEC931 /* scrypt-umbrella.h in Headers */, + 5FEC7B656ADC638E54103241C6C7EA8C /* scrypt.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - FE3CD8B6EFC826ACACF93012F3F3DB7F /* Headers */ = { + FC71CAEAF6AFD0C8BD700C10D644FCA9 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 6D8404384D6E70502A028E0A183163BB /* basic-config.h in Headers */, - 0E4E5A6466DC27E019E10B79F0AB77EA /* ecdsa.h in Headers */, - FC1F07D24FAAD244DFC4B45090EE5950 /* ecdsa_impl.h in Headers */, - 7206709B12948E39A73C1443F4476FE4 /* eckey.h in Headers */, - 2DD6BC67B196FDEB6520629498A29D83 /* eckey_impl.h in Headers */, - BD25CB4CFA3B80A28358767263C8EC4F /* ecmult.h in Headers */, - 40FCE77060A9F031CFDE7A39DB8BE346 /* ecmult_const.h in Headers */, - 875C13093A167B1933DD251F3F1A84D1 /* ecmult_const_impl.h in Headers */, - 193BCB45EB2F96FFD27337F8D2D9603F /* ecmult_gen.h in Headers */, - CED84B344142DF490AF0D18D8E9479DF /* ecmult_gen_impl.h in Headers */, - 1876693CC43D85F269BADE3E768EDA7D /* ecmult_impl.h in Headers */, - C688F5C8C2D7B7BEAE10B658160B336D /* field.h in Headers */, - 6AF78554F313E5317E4F904D7B8D56A2 /* field_10x26.h in Headers */, - BBA227B2DA3FCD94E3C3869334FDDE64 /* field_10x26_impl.h in Headers */, - 13BB14D730491354406F32259BFA9257 /* field_5x52.h in Headers */, - 7E85ACD04ADFC992156F52FBE1BFE20A /* field_5x52_asm_impl.h in Headers */, - 185B22077187E274AD1554F64AEDCD02 /* field_5x52_impl.h in Headers */, - A5DAA10D56BDF5F37BF37565DECAA21B /* field_5x52_int128_impl.h in Headers */, - 4BEC002E24F5AD2E72EE77A41D06AA1D /* field_impl.h in Headers */, - 7FEA191A8B72A225854E8C1E418CF7B1 /* group.h in Headers */, - 6367286AA49B412B8FA5D9E60AC57942 /* group_impl.h in Headers */, - 175846F537D8B12473C9BD1BC7664B16 /* hash.h in Headers */, - 8FB3313F35F24D37534650188E353A5A /* hash_impl.h in Headers */, - 0C3AE310B1F97E722879135D91FC439B /* lax_der_parsing.h in Headers */, - D65BBA0A22D0D76A1CD79598C618D55E /* lax_der_privatekey_parsing.h in Headers */, - FD0D4090ED18D30D6B23CFD9926574F8 /* libsecp256k1-config.h in Headers */, - E00C3E6F15B657031D180E254291281E /* main_impl.h in Headers */, - 4A5593F6C0B13BB81EAD2D062E38E21A /* main_impl.h in Headers */, - 924E737605ABB2921B3F48BFD380944B /* num.h in Headers */, - ADDCFDBB0901A879A2803A20BDFF5CF3 /* num_gmp.h in Headers */, - FED52EE758698BB66DDCCC50D40D2E97 /* num_gmp_impl.h in Headers */, - 3E3087E0AF2608D58EFD71B57D6FF5D5 /* num_impl.h in Headers */, - 2C9C89045C33D64985BF4225219BD28A /* scalar.h in Headers */, - 7FADDF54E465F347CF0C611B940B56E2 /* scalar_4x64.h in Headers */, - 68FCBCF149554A07A481E77E101529A0 /* scalar_4x64_impl.h in Headers */, - 5111E29F246083C72BED5DCB4AB23339 /* scalar_8x32.h in Headers */, - 85973E99277A40CB09CD12CDB7F66743 /* scalar_8x32_impl.h in Headers */, - 0342898ED680F5682ED857AD2025247D /* scalar_impl.h in Headers */, - 849B9967D22A26A74AD8C73FB1648F23 /* scalar_low.h in Headers */, - 4713F0A481C5F6ACE1E7F285B4FA5FEE /* scalar_low_impl.h in Headers */, - 2A1C4A8A8BA9576AE5DF448DB426C023 /* scratch.h in Headers */, - 80FFFE82E8A8DE6ED294DECE0DDE1908 /* scratch_impl.h in Headers */, - C9BA69738F1D82501188F3E78B25FDE2 /* secp256k1.h in Headers */, - 779F797D02BC03B4AC8C9BA2F32EDD86 /* secp256k1_ecdh.h in Headers */, - 84A96034B669A157EFCB701B8F7F635F /* secp256k1_ios-umbrella.h in Headers */, - 661C802B489BBD3DFD82BFD64B22436D /* secp256k1_ios.h in Headers */, - DA60C0DBB660F185C28AB5427B4EFA7D /* secp256k1_recovery.h in Headers */, - 2EB9A7BDFE7194105B1D955541456E8E /* util.h in Headers */, + D3D29344FDB7450A4C53B18EAB183EFB /* AnyPromise.h in Headers */, + CAA45BA0541A7F4A2D854952CDA92758 /* fwd.h in Headers */, + B23D8193C1A9CD528235AC938F3DE779 /* NSNotificationCenter+AnyPromise.h in Headers */, + 809A3965A2E9593BCE26CAC23D39C83C /* NSTask+AnyPromise.h in Headers */, + 6AC28C41444CFF537AC1A94D82E6CE30 /* NSURLSession+AnyPromise.h in Headers */, + 3D75BBCDE541EBCD957E5A88F27E3759 /* PMKFoundation.h in Headers */, + FDE5A7E63389DB9715C4C23D4ADA7C0D /* PMKUIKit.h in Headers */, + 1B25B3292EA947EDD7BB8BBFD557CB53 /* PromiseKit-umbrella.h in Headers */, + 99A160ADF20348295DE343E7BE6969E7 /* PromiseKit.h in Headers */, + D067A5252ECCBB152D142B02C6A48497 /* UIView+AnyPromise.h in Headers */, + D6F5C3DB51F463EBC05A47E34AED52C2 /* UIViewController+AnyPromise.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 0E877A906EE881D9A703E2CEB69B27B0 /* scrypt */ = { + 0A08C496E950E96AB09A23744F3C082E /* Pods-web3swiftExample */ = { isa = PBXNativeTarget; - buildConfigurationList = 4E0232B8BAE447830A17E134BCD5FC4E /* Build configuration list for PBXNativeTarget "scrypt" */; + buildConfigurationList = B25AC1C31D061882155E16B2A579B3E4 /* Build configuration list for PBXNativeTarget "Pods-web3swiftExample" */; buildPhases = ( - 348FEDAFD29DB68ACC79429CEBD1BECC /* Headers */, - C747AFF53DCA864F052E68331F3DFFE3 /* Sources */, - 074822914DA50BC43B6AB0802CD935A2 /* Frameworks */, - EBF754F6CDE2179EC6ACADCF7648ACA7 /* Copy generated compatibility header */, + A5DA2226091709FBAA9E7C00FE849D3B /* Sources */, + BA9D302E84C74045A19D2F197478FE64 /* Frameworks */, + 5EACE4F098F6A2C0D25D3FC17BB2000F /* Headers */, ); buildRules = ( ); dependencies = ( - 4BC8665C320BCB284F1AB9E0F52EEF22 /* PBXTargetDependency */, + A054D0D393F7402DAC86BBBB70D84899 /* PBXTargetDependency */, + 0465644DC2AEBE1ABBF8FB1B0B1D41A2 /* PBXTargetDependency */, + 43E614385A8557DFB8BF9FAA55D0DF24 /* PBXTargetDependency */, + 662D3AD29D481E615ED723D3A06C059C /* PBXTargetDependency */, + E748055BA2211356B1160E3F5423F5EC /* PBXTargetDependency */, + 1BA09AA5C2BB3035C61D53AF174D17C7 /* PBXTargetDependency */, + 1756DA2A0929883155F82EDEE78DBB00 /* PBXTargetDependency */, + 273C2608422A04D9E44B422947092A4A /* PBXTargetDependency */, ); - name = scrypt; - productName = scrypt; - productReference = FDA88052388E64B0D79D3B4902DD4F7A /* libscrypt.a */; + name = "Pods-web3swiftExample"; + productName = "Pods-web3swiftExample"; + productReference = 17B0A033B10B035FFCCA80D2BE4C4839 /* libPods-web3swiftExample.a */; productType = "com.apple.product-type.library.static"; }; - 23A9C77578E46AEB069BEF36B9B5ADA6 /* BigInt */ = { + 0CDCD15B895E5E3C642256B9466BAF51 /* secp256k1_ios */ = { isa = PBXNativeTarget; - buildConfigurationList = C2F0F5224D2CB877BA3BE60F8BC9AF96 /* Build configuration list for PBXNativeTarget "BigInt" */; + buildConfigurationList = 5AC9B27B568F66FE744FE66340253607 /* Build configuration list for PBXNativeTarget "secp256k1_ios" */; buildPhases = ( - D97844B1DEDE16B186EE602B8171F0CD /* Headers */, - E2D6BCD5E5A99E5CAB3F3FBB1D6EC36E /* Sources */, - 21FA9C90304F8596C9EE0647F7C9E1EE /* Frameworks */, - A3482DBFA9CE4039AA1605DA46D15EAB /* Copy generated compatibility header */, + 96290FE231FC3A051106FD23E60489E3 /* Sources */, + 8CDDE45391457DD173AF5335076460AF /* Frameworks */, + 35F9FE8309F1E63F763141F0B0039EC8 /* Headers */, ); buildRules = ( ); dependencies = ( - 2602660D03EAE2BE41324DCD70D6B7C9 /* PBXTargetDependency */, ); - name = BigInt; - productName = BigInt; - productReference = 11C3B3B474849C50B68C60D72D2A7ED4 /* libBigInt.a */; + name = secp256k1_ios; + productName = secp256k1_ios; + productReference = 54A9032553D1C61F8E0154E2C0D53FD2 /* libsecp256k1_ios.a */; productType = "com.apple.product-type.library.static"; }; - 60BF36463B9896F856D87DA4DE89FBB9 /* secp256k1_ios */ = { + 3A129877346434719FFE6B01BCA2513B /* SipHash */ = { isa = PBXNativeTarget; - buildConfigurationList = F03D2FCD8A4F5A2AA17A4CE1442CBB2E /* Build configuration list for PBXNativeTarget "secp256k1_ios" */; + buildConfigurationList = 3818346D5343954B4E597C23EED3945D /* Build configuration list for PBXNativeTarget "SipHash" */; buildPhases = ( - FE3CD8B6EFC826ACACF93012F3F3DB7F /* Headers */, - D0AC93315DC7E224CAFDF4FDBCD3DB40 /* Sources */, - 0537F34931CD1EAF1B45F6B72325E869 /* Frameworks */, + 6F54F54F4BC48AED34E1E993F600BF51 /* Sources */, + BBA41508228DD970799D14EDC888D457 /* Frameworks */, + 8B9262F43550559FA35B520E39F64DEB /* Headers */, + D222B151AB4DFE2D61AA6FBE0240B2C3 /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( ); - name = secp256k1_ios; - productName = secp256k1_ios; - productReference = 54A9032553D1C61F8E0154E2C0D53FD2 /* libsecp256k1_ios.a */; + name = SipHash; + productName = SipHash; + productReference = 8FBB098F98DE89D1DE9C0EDB16C22E15 /* libSipHash.a */; productType = "com.apple.product-type.library.static"; }; - 9BA501B73C50D92DA96F15F9A57236B4 /* Pods-web3swiftExample */ = { + 691E5BFE487640DE1E2DD74E28EBE528 /* Result */ = { isa = PBXNativeTarget; - buildConfigurationList = 4E4F824E27325209F56A4EC7858E6091 /* Build configuration list for PBXNativeTarget "Pods-web3swiftExample" */; + buildConfigurationList = 8EEFC91FF7E8635717F5FB26E8649000 /* Build configuration list for PBXNativeTarget "Result" */; buildPhases = ( - 4950E5373AD51C9D8BC9C6D99E3169ED /* Headers */, - 1BF933BE2E3DCACA2BC8EF8D8D3B9A58 /* Sources */, - 90440DC7AC48BE32148838250163B5C1 /* Frameworks */, + 74858447C62218CBBC185F23A71426F4 /* Sources */, + D940039687CE98B626EEFD9F33FB2FF9 /* Frameworks */, + 47D4BB29B406891C2706A80B1FC25B61 /* Headers */, + 0B87D405D96095455F79F567B9475972 /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( - 0A8C82D239CBDF1B011E11B329EA616A /* PBXTargetDependency */, - 9235C791AF1571AD8742EA4B298E89C5 /* PBXTargetDependency */, - 64DA449404BAFB38711865F0C1D0C3ED /* PBXTargetDependency */, - 4A7B421C839A9B98B687CAA8B6917FF0 /* PBXTargetDependency */, - 8FD5D15A53AB1364D3C37E633E297FD9 /* PBXTargetDependency */, - A3C90A98231D5DDB2A79AFA9C07695B8 /* PBXTargetDependency */, - 4F4E9B99540CA6BFAFEF683BB7AFA0D3 /* PBXTargetDependency */, - D5D89B0A0375005F9DC439BA79768218 /* PBXTargetDependency */, ); - name = "Pods-web3swiftExample"; - productName = "Pods-web3swiftExample"; - productReference = 17B0A033B10B035FFCCA80D2BE4C4839 /* libPods-web3swiftExample.a */; + name = Result; + productName = Result; + productReference = 4C5AB9A84E399C3C8F2ED978C0B4DD46 /* libResult.a */; productType = "com.apple.product-type.library.static"; }; - C36167279A3ACEC5E09E05AC17E973AB /* PromiseKit */ = { + 716435BD4A1FEB954EBD1C25D7EC0BB6 /* BigInt */ = { isa = PBXNativeTarget; - buildConfigurationList = 57A8C2137268F228E4AE6A14F1B64A8F /* Build configuration list for PBXNativeTarget "PromiseKit" */; + buildConfigurationList = 9443A20B2E1249352E90CACAC25A10F9 /* Build configuration list for PBXNativeTarget "BigInt" */; buildPhases = ( - 6F71C6D55A9BEC0CE7216BC963319251 /* Headers */, - 552DE267AA2D2460F5728C085566B604 /* Sources */, - 18C5ABD1C406C832B0DD15AA82CC41C4 /* Frameworks */, - 29D34ADAF501515AA186182B5263DF54 /* Copy generated compatibility header */, + BB23C35D1C8CF70B14021B6B4DB4417C /* Sources */, + 753CB2AB9003C32D5B710D627DD9752D /* Frameworks */, + 36BDF644967752D2BA93E9782E7CA411 /* Headers */, + 1D703CF6DC59EFB868ADE2E528EBED2E /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( + FED36EEEE3EDD72CB4BFE445A2DED504 /* PBXTargetDependency */, ); - name = PromiseKit; - productName = PromiseKit; - productReference = 7D734165233A268ADD9C2C4EC0FBCB2D /* libPromiseKit.a */; + name = BigInt; + productName = BigInt; + productReference = 11C3B3B474849C50B68C60D72D2A7ED4 /* libBigInt.a */; productType = "com.apple.product-type.library.static"; }; - C7F768100F7D32B078FA6D19893B5741 /* Result */ = { + 9E0FC65126A61EC4E4C869BA932807E4 /* PromiseKit */ = { isa = PBXNativeTarget; - buildConfigurationList = DF9E202F8E4A79152D39EF70F774415F /* Build configuration list for PBXNativeTarget "Result" */; + buildConfigurationList = 7F6E416CE690738F5CF300086B702BE2 /* Build configuration list for PBXNativeTarget "PromiseKit" */; buildPhases = ( - E48F92574331C298E9A411300A4C8866 /* Headers */, - 09037262A0E37EFB8B826CDC57F5B914 /* Sources */, - A7F757D73E3A0EC9C2E23F63AE6289BE /* Frameworks */, - 65B08350FB8CB8E67708C48B13D9D59B /* Copy generated compatibility header */, + 212F35BA14939B04B98DAC91584E21BF /* Sources */, + B63483B215488C44FE00081829DAE8E4 /* Frameworks */, + FC71CAEAF6AFD0C8BD700C10D644FCA9 /* Headers */, + D4CE61429145E429CC4B3DACDAB9520B /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( ); - name = Result; - productName = Result; - productReference = 4C5AB9A84E399C3C8F2ED978C0B4DD46 /* libResult.a */; + name = PromiseKit; + productName = PromiseKit; + productReference = 7D734165233A268ADD9C2C4EC0FBCB2D /* libPromiseKit.a */; productType = "com.apple.product-type.library.static"; }; - D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */ = { + C313269A2B1C23544DE089CFAA786C33 /* CryptoSwift */ = { isa = PBXNativeTarget; - buildConfigurationList = 8FBF93FB50500F9A39127B851D0248BE /* Build configuration list for PBXNativeTarget "CryptoSwift" */; + buildConfigurationList = 735BEA0CBE887CE8804BF5009FF6639E /* Build configuration list for PBXNativeTarget "CryptoSwift" */; buildPhases = ( - 52C34075DAB19ED44ACB50B0711DE98E /* Headers */, - 7845B68B8E520FB143745DE94DEF574C /* Sources */, - 841B7B892F8C57CBEF5FB03AC753C3AB /* Frameworks */, - A71224FCAB2F1A69BDDB38161270471D /* Copy generated compatibility header */, + FAC6AF6E8005F5C4CF5E7ECAA539CF2D /* Sources */, + E8BEAA12D8403A53C88C590AACC93D0F /* Frameworks */, + 40B19E1F3F1B8CF3B44E95995B9A1711 /* Headers */, + 84A2240FFFAEB6CCCE5941CB202A303F /* Copy generated compatibility header */, ); buildRules = ( ); @@ -1693,46 +1732,48 @@ productReference = 1827336AF5F51D580426EC596EF7357E /* libCryptoSwift.a */; productType = "com.apple.product-type.library.static"; }; - D93CC8797FA6642C382C93BBA9AE8B0D /* web3swift */ = { + EDCC3A3E8A567995312D9F435A5A88EC /* scrypt */ = { isa = PBXNativeTarget; - buildConfigurationList = 5479530AA132063FEE7E1514B16AF961 /* Build configuration list for PBXNativeTarget "web3swift" */; + buildConfigurationList = 40D8E8F189B02991201B925FC09EF694 /* Build configuration list for PBXNativeTarget "scrypt" */; buildPhases = ( - FBA602E8EEE4C842340E51E8C5014BAC /* Headers */, - 75CF15D54090EDCFDF8B670A39424F28 /* Sources */, - 76402B5CC42ABD207A9C81A6A4712B42 /* Frameworks */, - 21CB88C1803158D8E98C78F99A3D1CD5 /* Copy generated compatibility header */, + 1FD88B4E4B6ED336DEFB1C8381C4C339 /* Sources */, + D4CBD5945C478754DA1A271A51936CE3 /* Frameworks */, + E2C9C33E43F48026AC9839CFC360FEF5 /* Headers */, + AE64B21781CA89A7E50F3D70A7870BE1 /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( - E92C0852F7CA81FC3C083C6A05797271 /* PBXTargetDependency */, - 469BA73D7FD92EEC96D218C7F3F3196F /* PBXTargetDependency */, - 3F569904A0954E065753A145676105A7 /* PBXTargetDependency */, - 0B6AA6919B8A7CB6BC051AF90DF91D0D /* PBXTargetDependency */, - D0835B4CA84CEE3755B21228D6CA6FFC /* PBXTargetDependency */, - BC80BF207538A95305A7D118B9B7C215 /* PBXTargetDependency */, + D80B8C9CAC5A4EF01AB3734E4FA514CF /* PBXTargetDependency */, ); - name = web3swift; - productName = web3swift; - productReference = 25A7B1871BF03428A855BE688D20521E /* libweb3swift.a */; + name = scrypt; + productName = scrypt; + productReference = FDA88052388E64B0D79D3B4902DD4F7A /* libscrypt.a */; productType = "com.apple.product-type.library.static"; }; - EA114BE2D9D1BCDA6E1013C3301492A8 /* SipHash */ = { + F61D23C9CB20E66E4ACFBAB69D99879A /* web3swift */ = { isa = PBXNativeTarget; - buildConfigurationList = F3F633396C389256F8850D996A26B1BB /* Build configuration list for PBXNativeTarget "SipHash" */; + buildConfigurationList = 60B2FB44801DB1760F455FE3C6317A14 /* Build configuration list for PBXNativeTarget "web3swift" */; buildPhases = ( - EB79ED98B75A5B0283699BCF857B3EEC /* Headers */, - 11E5015995179759F0C316DF1D3E75E0 /* Sources */, - 325A85FC0CD5BCF38ADE42EE7531C2A2 /* Frameworks */, - AC3A522E24D3A9502F059B0483E9FDB6 /* Copy generated compatibility header */, + 2C8CE9CE7C214DAF4A12F761DCDE5FD2 /* Sources */, + B8BD56316C697D9C72E79DD24CD78057 /* Frameworks */, + 8738CFADC53B046DCE9C8E96C203BC52 /* Headers */, + 8B254761E243265EBC4B2E4753EE7851 /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( + 96713201020D11B4F462679823BE0999 /* PBXTargetDependency */, + CEC8AEFC24A2A583B9A0F19190820F55 /* PBXTargetDependency */, + 48DD0041B86E1DA2270D12909EA76561 /* PBXTargetDependency */, + B0DF197C71A0796DB079A628F0C6E87B /* PBXTargetDependency */, + B76C549F1077A249A793E83C3FD52965 /* PBXTargetDependency */, + 75339B3658463D5928A20C9412070E92 /* PBXTargetDependency */, + F9B3E04E287071C52A7FECF3015FEC8C /* PBXTargetDependency */, ); - name = SipHash; - productName = SipHash; - productReference = 8FBB098F98DE89D1DE9C0EDB16C22E15 /* libSipHash.a */; + name = web3swift; + productName = web3swift; + productReference = 25A7B1871BF03428A855BE688D20521E /* libweb3swift.a */; productType = "com.apple.product-type.library.static"; }; /* End PBXNativeTarget section */ @@ -1756,160 +1797,136 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 23A9C77578E46AEB069BEF36B9B5ADA6 /* BigInt */, - D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */, - 9BA501B73C50D92DA96F15F9A57236B4 /* Pods-web3swiftExample */, - C36167279A3ACEC5E09E05AC17E973AB /* PromiseKit */, - C7F768100F7D32B078FA6D19893B5741 /* Result */, - 0E877A906EE881D9A703E2CEB69B27B0 /* scrypt */, - 60BF36463B9896F856D87DA4DE89FBB9 /* secp256k1_ios */, - EA114BE2D9D1BCDA6E1013C3301492A8 /* SipHash */, - D93CC8797FA6642C382C93BBA9AE8B0D /* web3swift */, + 716435BD4A1FEB954EBD1C25D7EC0BB6 /* BigInt */, + C313269A2B1C23544DE089CFAA786C33 /* CryptoSwift */, + 0A08C496E950E96AB09A23744F3C082E /* Pods-web3swiftExample */, + 9E0FC65126A61EC4E4C869BA932807E4 /* PromiseKit */, + 691E5BFE487640DE1E2DD74E28EBE528 /* Result */, + EDCC3A3E8A567995312D9F435A5A88EC /* scrypt */, + 0CDCD15B895E5E3C642256B9466BAF51 /* secp256k1_ios */, + 3A129877346434719FFE6B01BCA2513B /* SipHash */, + F61D23C9CB20E66E4ACFBAB69D99879A /* web3swift */, ); }; /* End PBXProject section */ /* Begin PBXShellScriptBuildPhase section */ - 21CB88C1803158D8E98C78F99A3D1CD5 /* Copy generated compatibility header */ = { + 0B87D405D96095455F79F567B9475972 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/web3swift/web3swift.modulemap", - "${PODS_ROOT}/Headers/Public/web3swift/web3swift-umbrella.h", + "${PODS_ROOT}/Headers/Public/Result/Result.modulemap", + "${PODS_ROOT}/Headers/Public/Result/Result-umbrella.h", ); name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/web3swift-umbrella.h", + "${BUILT_PRODUCTS_DIR}/Result-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/web3swift/web3swift.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/web3swift/web3swift-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - 29D34ADAF501515AA186182B5263DF54 /* Copy generated compatibility header */ = { + 1D703CF6DC59EFB868ADE2E528EBED2E /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.modulemap", - "${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit-umbrella.h", + "${PODS_ROOT}/Headers/Public/BigInt/BigInt.modulemap", + "${PODS_ROOT}/Headers/Public/BigInt/BigInt-umbrella.h", ); name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/PromiseKit-umbrella.h", + "${BUILT_PRODUCTS_DIR}/BigInt-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - 65B08350FB8CB8E67708C48B13D9D59B /* Copy generated compatibility header */ = { + 84A2240FFFAEB6CCCE5941CB202A303F /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/Result/Result.modulemap", - "${PODS_ROOT}/Headers/Public/Result/Result-umbrella.h", + "${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift.modulemap", + "${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h", ); name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/Result-umbrella.h", + "${BUILT_PRODUCTS_DIR}/CryptoSwift-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - A3482DBFA9CE4039AA1605DA46D15EAB /* Copy generated compatibility header */ = { + 8B254761E243265EBC4B2E4753EE7851 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/BigInt/BigInt.modulemap", - "${PODS_ROOT}/Headers/Public/BigInt/BigInt-umbrella.h", + "${PODS_ROOT}/Headers/Public/web3swift/web3swift.modulemap", + "${PODS_ROOT}/Headers/Public/web3swift/web3swift-umbrella.h", ); name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/BigInt-umbrella.h", + "${BUILT_PRODUCTS_DIR}/web3swift-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/web3swift/web3swift.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/web3swift/web3swift-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - A71224FCAB2F1A69BDDB38161270471D /* Copy generated compatibility header */ = { + AE64B21781CA89A7E50F3D70A7870BE1 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift.modulemap", - "${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h", + "${PODS_ROOT}/Headers/Public/scrypt/scrypt.modulemap", + "${PODS_ROOT}/Headers/Public/scrypt/scrypt-umbrella.h", ); name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/CryptoSwift-umbrella.h", + "${BUILT_PRODUCTS_DIR}/scrypt-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - AC3A522E24D3A9502F059B0483E9FDB6 /* Copy generated compatibility header */ = { + D222B151AB4DFE2D61AA6FBE0240B2C3 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", "${PODS_ROOT}/Headers/Public/SipHash/SipHash.modulemap", "${PODS_ROOT}/Headers/Public/SipHash/SipHash-umbrella.h", ); name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", "${BUILT_PRODUCTS_DIR}/SipHash-umbrella.h", @@ -1920,445 +1937,445 @@ shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SipHash/SipHash.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SipHash/SipHash-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - EBF754F6CDE2179EC6ACADCF7648ACA7 /* Copy generated compatibility header */ = { + D4CE61429145E429CC4B3DACDAB9520B /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/scrypt/scrypt.modulemap", - "${PODS_ROOT}/Headers/Public/scrypt/scrypt-umbrella.h", + "${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.modulemap", + "${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit-umbrella.h", ); name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/scrypt-umbrella.h", + "${BUILT_PRODUCTS_DIR}/PromiseKit-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 09037262A0E37EFB8B826CDC57F5B914 /* Sources */ = { + 1FD88B4E4B6ED336DEFB1C8381C4C339 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 03C3AFC1A73CC721DFC025DA0492B8F7 /* AnyError.swift in Sources */, - 328764F572D114FE4FD89859EA7D0C82 /* NoError.swift in Sources */, - 5E249F6FB23CCC4985EFB3FDCADE487B /* Result-dummy.m in Sources */, - C8B2BE26A0484B6A1523D9E2B3818EDC /* Result.swift in Sources */, - 06346EDCC1E2F52FE78341A96C1C2E80 /* ResultProtocol.swift in Sources */, + 6CEA49D30549F21750F502823DAA158C /* BufferStorage.swift in Sources */, + 31580A5F9F52127289617022E521EA76 /* Salsa.swift in Sources */, + 99F2F006365C8153B433B0D6519E60CB /* scrypt-dummy.m in Sources */, + 897E29344596CED94C8C73BED4A11573 /* Scrypt.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 11E5015995179759F0C316DF1D3E75E0 /* Sources */ = { + 212F35BA14939B04B98DAC91584E21BF /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 4F6ED8ADD7B24315D4F8D18C227D3ACD /* Primitive Types.swift in Sources */, - 04BAB9000ECA1DF9525E0A15D715B307 /* RandomUInt64.swift in Sources */, - AA30153EC052C2F6DC67B9E50E451A6C /* SipHash-dummy.m in Sources */, - 9985C1DF20C3A844133CC24F260232A6 /* SipHashable.swift in Sources */, - DCD11459A6DD0C7757AD81AB42D7ADAC /* SipHasher.swift in Sources */, + FFA857880C4A489DFA18FCB33A90E834 /* after.m in Sources */, + 455022BD6C131F380ADC838E416869AE /* after.swift in Sources */, + 50322A8A7E46ED66E0C1CAF9F7F2162C /* afterlife.swift in Sources */, + C2A31DC9B5491A34D20260BE0FB5431A /* AnyPromise.m in Sources */, + 03099199C661C6C02EC9030BE7C0F140 /* AnyPromise.swift in Sources */, + E5E7C8C8BFE08BAC8BE1D48BF4E4EEC6 /* Box.swift in Sources */, + 066A53F312CC5FC28183A28210B8F581 /* Catchable.swift in Sources */, + 4A8378B2DB22C72EE7097963957E4975 /* Configuration.swift in Sources */, + 6A19EFEE2A0EA24330B43B9EB40ED57F /* CustomStringConvertible.swift in Sources */, + 73102333360230E5C8A9291A0E823E2B /* Deprecations.swift in Sources */, + 20184706B98B5BA901297119DAD31FE0 /* dispatch_promise.m in Sources */, + 812FFF9974631FD48A86B071AAAD70C7 /* Error.swift in Sources */, + CC1931CF82E7096A93F71FAC15A2368C /* firstly.swift in Sources */, + BC73142D48CCD117C6F4B7AFAA254F0D /* Guarantee.swift in Sources */, + B5063849D8178D48CFE6BFF1B8B9B1F1 /* hang.m in Sources */, + B0424CD39C7CF9838EE85449AA0CDC11 /* hang.swift in Sources */, + 0A5A7ABD361C4BFCF21D78ABF06C0FAA /* join.m in Sources */, + C2ECA5F3DF56072B8FA9BEC7543D0DDA /* NSNotificationCenter+AnyPromise.m in Sources */, + 55269F22EFD97643EE271CFCFE8E8290 /* NSNotificationCenter+Promise.swift in Sources */, + C500D01C45D029E9E85D29383043CC72 /* NSObject+Promise.swift in Sources */, + 59ED8A2C470C704D06EBD04FA08DC8CD /* NSTask+AnyPromise.m in Sources */, + 5EB1E58D38587644D3316C80683FF2E7 /* NSURLSession+AnyPromise.m in Sources */, + 26E19E8B2BC8C63262E05D47D42801AE /* NSURLSession+Promise.swift in Sources */, + 2F1FCB4EAD4702FFE60ECDB007015833 /* Process+Promise.swift in Sources */, + 389B1B7CAE05D1212618C8FEA00B8559 /* Promise.swift in Sources */, + B0888E2B0EAA782E80DC68316842968F /* PromiseKit-dummy.m in Sources */, + 415244A9CA0ABFDAFE8F9AE2885A27D9 /* race.m in Sources */, + C98B6055A3509C2A51349554D6AB446D /* race.swift in Sources */, + C31A5F32FE61914B45BEC06BAAEFE033 /* Resolver.swift in Sources */, + D09091B94532C278BCF3C3379CB58848 /* Thenable.swift in Sources */, + BAA0C902ABB98915B52D6F5310E8E4EF /* UIView+AnyPromise.m in Sources */, + 74D3C9CDD4497710D136EF41E2D7940A /* UIView+Promise.swift in Sources */, + 4E581DAE61FBDA958EC801E7AB4D50A1 /* UIViewController+AnyPromise.m in Sources */, + 83DCB51AC89FDB9A5EFCA77F42E2BD64 /* UIViewPropertyAnimator+Promise.swift in Sources */, + DD4F0B5459AC03D854CF914377FF7AF8 /* when.m in Sources */, + 5C95E757F399AAB9A3A7934C6CB2F8C7 /* when.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 1BF933BE2E3DCACA2BC8EF8D8D3B9A58 /* Sources */ = { + 2C8CE9CE7C214DAF4A12F761DCDE5FD2 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - ADB06AA1B5A4414AD55E5A2D2653DDA6 /* Pods-web3swiftExample-dummy.m in Sources */, + 43787E958BCA388DC0A35719D58AA8C7 /* ABIv2.swift in Sources */, + A09DF175AC968737B7A979CDDCE9B740 /* ABIv2Decoding.swift in Sources */, + 640BB66F12A6D78556068CDF7BE37784 /* ABIv2Elements.swift in Sources */, + 028123624D306D66FE5CCFA650DC451F /* ABIv2Encoding.swift in Sources */, + ABAA5DF8E066AB78312E7B86F2113CAC /* ABIv2ParameterTypes.swift in Sources */, + 9C2C36DFE4B3034B0284D83C2B6D75F0 /* ABIv2Parsing.swift in Sources */, + 9DC16ED0186FB4FAA63F91DF2284F5B4 /* ABIv2TypeParser.swift in Sources */, + 00C254F6A4CC3BE1B686A487FB768C63 /* AbstractKeystore.swift in Sources */, + 517877F9B6573EA88198DCE60D14529E /* Array+Extension.swift in Sources */, + F47B31DCAF2F279AEB5BE848B666E7C2 /* Base58.swift in Sources */, + 6DBA91E98EA3741594A1235DC7620207 /* BigUInt+ObjC.swift in Sources */, + 1639CA53F0D4BC32928CCFA4254AD9B7 /* BIP32HDNode.swift in Sources */, + 791475EA185803133514B38B3FAE5419 /* BIP32Keystore.swift in Sources */, + 8D4303A4D5211E6AE958C8457C8685F0 /* BIP32KeystoreJSONStructure.swift in Sources */, + 45E7587AF987436DCE0EA5F264221163 /* BIP39+WordLists.swift in Sources */, + 6A5266BC118376146CBF0FBE1D3CD067 /* BIP39.swift in Sources */, + F4EB3BB45A110F376689E772EDAA79E7 /* BlockExplorer+GetTransactionHistory.swift in Sources */, + DEF371792BD7952C8BB9D550D6B87D18 /* BlockExplorer.swift in Sources */, + 1169B3EC51581229EFA1E4C38B501518 /* BloomFilter.swift in Sources */, + A247B3F2DFC919B9040D135679F8F973 /* ComparisonExtensions.swift in Sources */, + 4C691971C96B4DB9C05916B9E6049502 /* ContractABIv2.swift in Sources */, + AB82DB3EFE2358CFBD953CBE5B6A78ED /* ContractProtocol.swift in Sources */, + 42765D981100A8DDF5AB1137C53FA683 /* CryptoExtensions.swift in Sources */, + 6BE8D77D9B1DBA1685D7A66EDD89C5E5 /* Data+Extension.swift in Sources */, + E3D2396BEAF014F7FB436B8E0098DEAF /* Dictionary+Extension.swift in Sources */, + D531C0F4DC34B01BD246C1B1EC5068EA /* EIP67Code.swift in Sources */, + 7C662950E114EDA7DEAF253EE5841534 /* EIP681.swift in Sources */, + F147FF24D349839D4BD32ED93CF288FA /* ENS.swift in Sources */, + 3DF3CFB359275D2F13C0582198384948 /* EthereumAddress+ObjC.swift in Sources */, + 51C9F718376F1C4E6582A410C2E90FCD /* EthereumAddress.swift in Sources */, + E989A6FB1681262A87CCE58E002D09DB /* EthereumFilterEncodingExtensions.swift in Sources */, + 06AED41E6F5C82F9952CA5163D66D6AC /* EthereumKeystoreV3.swift in Sources */, + ECD1A21FE9A1CF6147E947C6243B2656 /* EthereumTransaction.swift in Sources */, + 235629BF70BDCCD843048436ADA7233F /* EventFiltering.swift in Sources */, + C1656619715A02B614AEBA99459F996B /* IBAN.swift in Sources */, + 9203B30DE38793571B0095089A85A6C3 /* KeystoreManager+ObjC.swift in Sources */, + D3F8A6927686E5F587F6C37A8768EC5E /* KeystoreManager.swift in Sources */, + 7BCC4966D8B68BF25D6A6E55D49E278C /* KeystoreV3JSONStructure.swift in Sources */, + 3B32F1B1529E347404566192FBF59B31 /* LibSecp256k1Extension.swift in Sources */, + C8191586FF54E17A336D3D2D137BF524 /* NameHash.swift in Sources */, + AFE6F1DD2568B8E29ABFB63BC2F45386 /* NativeTypesEncoding+Extensions.swift in Sources */, + 4C006DD7D86E3A0D2F9FB5E2AEFD396E /* NSRegularExpressionExtension.swift in Sources */, + E2F9B7B5AD54BCC930605F1E62FC4951 /* PlainKeystore+ObjC.swift in Sources */, + 48DFE885EFB47BA9357E5E14E888211B /* PlainKeystore.swift in Sources */, + 2E464D2901FA5D092017F62136E143C6 /* Promise+Batching.swift in Sources */, + 9D9C558DB69FEB1ED39E011DBC63A76D /* Promise+HttpProvider.swift in Sources */, + 4959715C70113FD032696A21147492E3 /* Promise+Web3+Contract+GetIndexedEvents.swift in Sources */, + E20EA4D94335C9EB5D16C1BBACB1EE8D /* Promise+Web3+Eth+Call.swift in Sources */, + CBF4FBEF42C80D833C3C93460086E4CB /* Promise+Web3+Eth+EstimateGas.swift in Sources */, + 61BE8DC3CCB15BFCC1FEE6F7939661A7 /* Promise+Web3+Eth+GetAccounts.swift in Sources */, + A1B4B5E67C1A85B4EF0764D02000CC36 /* Promise+Web3+Eth+GetBalance.swift in Sources */, + CA3C9E912D97C56C04DEFC16FEE5BD8B /* Promise+Web3+Eth+GetBlockByHash.swift in Sources */, + 086CC60DC623B2A61CF1CA8E230F3249 /* Promise+Web3+Eth+GetBlockByNumber.swift in Sources */, + BC16041490B59CF1918F8A48F6505959 /* Promise+Web3+Eth+GetBlockNumber.swift in Sources */, + A353FCEF28A16EE6DD1E798805A4195D /* Promise+Web3+Eth+GetGasPrice.swift in Sources */, + 18EE1209E6F559738AA62B36075DFB27 /* Promise+Web3+Eth+GetTransactionCount.swift in Sources */, + A13114C8DF64DC969B166D90D90C93D5 /* Promise+Web3+Eth+GetTransactionDetails.swift in Sources */, + 7D185A3BC322B12664AF0CC92971CA64 /* Promise+Web3+Eth+GetTransactionReceipt.swift in Sources */, + 3A3743429F44358D2D9A22A361A578A2 /* Promise+Web3+Eth+SendRawTransaction.swift in Sources */, + 74FA4E3559ADA2E7BB1C9D6E9E8AAF37 /* Promise+Web3+Eth+SendTransaction.swift in Sources */, + 1D2C4897CB73C1E3B64D33E08FDFFF29 /* Promise+Web3+Intermediate+Send.swift in Sources */, + 63C167BD70D688AC5489A06251A6025E /* Promise+Web3+Personal+Sign.swift in Sources */, + F80782A83BE40C1CEA827E6C144009FD /* Promise+Web3+Personal+UnlockAccount.swift in Sources */, + 060BB18747566086B03D2D74247901BA /* RIPEMD160+StackOveflow.swift in Sources */, + 282C8C8F4F37DAC72C13B5C4878305CD /* RLP.swift in Sources */, + C0AFC3711AFA96EFEA49AC3E336E59EC /* String+Extension.swift in Sources */, + F7E3406D1BA7665C27427E1D6CCC9668 /* TransactionSigner.swift in Sources */, + 414CCA7E94F734241C7D0FEC73191B72 /* Web3+BrowserFunctions.swift in Sources */, + 13833EC6433306D6D80859640C813492 /* Web3+Contract.swift in Sources */, + CD2E4A6C7480D47AFA2E27FBA6F538B8 /* Web3+ERC20.swift in Sources */, + 51E590F089649612858EF086B0A70EBD /* Web3+Eth+ObjC.swift in Sources */, + A81872D07159FEA88A0E51882593BB1D /* Web3+Eth.swift in Sources */, + 0E71F81FE762CCF68D1D1568A8BC2A63 /* Web3+EventParser.swift in Sources */, + 242A376408D955350E487D3E2531D329 /* Web3+HttpProvider+ObjC.swift in Sources */, + D95CF1C2FE09EA43DF63C4DD978D9A3C /* Web3+HttpProvider.swift in Sources */, + 0DB8BE3C362FFF9FE17D9E19DD9791E4 /* Web3+Infura.swift in Sources */, + 20DFE4B49EEAE46732BABB51E4556FA0 /* Web3+Instance+ObjC.swift in Sources */, + 41E9ADB001B08B9B3C12A8F954B1380A /* Web3+Instance.swift in Sources */, + EC99D8C4AD4D2730993BE9E75FFBA9C2 /* Web3+JSONRPC.swift in Sources */, + D91CB1FD9B8648ABF4E539F1D026D6F2 /* Web3+Methods.swift in Sources */, + 20ADB6E2D2319C6EBE37DA44F119D530 /* Web3+ObjC.swift in Sources */, + 002F7F8AD99AB16EEFD4D2EC66C5DF42 /* Web3+Options.swift in Sources */, + 9CB55B6F7E057141E3704C800EA13C89 /* Web3+Personal.swift in Sources */, + 1BEC8E33DBDEEC762CD136EBA82BC52D /* Web3+Protocols.swift in Sources */, + C10B358E899775E5A1CA11C725CE93D3 /* Web3+Structures.swift in Sources */, + B19E4CAF3B4FE4212C286D7326949C8F /* Web3+TransactionIntermediate.swift in Sources */, + 4E63355A79E87A47052FF7BE0BDAA343 /* Web3+Utils.swift in Sources */, + 3508DE381A1F7BB7874717DA81D49679 /* Web3+Wallet.swift in Sources */, + 0CACF8A72112BA4AA7033AD079F49437 /* Web3.swift in Sources */, + C4B679ABDA72C47D64527AFBE4C04FEC /* web3swift-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 552DE267AA2D2460F5728C085566B604 /* Sources */ = { + 6F54F54F4BC48AED34E1E993F600BF51 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B248D148FE951A0655197593FABD5BF7 /* after.m in Sources */, - 061CD8DF38E45A06BCA57538669821F8 /* after.swift in Sources */, - 48455593A60C3CA87A214694EF5D1873 /* afterlife.swift in Sources */, - 1B3A7F77E5D5CE5F8E299A6B6FC3239D /* AnyPromise.m in Sources */, - E414C892B9DD5C86CF589F3C119330C3 /* AnyPromise.swift in Sources */, - 58560D5361D4C0DA182EDE13BD4BF20A /* Box.swift in Sources */, - 4D3407C41F4EEB3975ACE1EED0B49A16 /* Catchable.swift in Sources */, - 9C99049FC31F95572D2E8F8D8A159681 /* Configuration.swift in Sources */, - 4C3CAE4E66950002C334290828030002 /* CustomStringConvertible.swift in Sources */, - 3CB94F4227FD789E4DF19BE266778FA8 /* Deprecations.swift in Sources */, - 337A8793B004627DE63C9C9F3718957B /* dispatch_promise.m in Sources */, - 49DD2B0B8B0B0E37B1823A8AA30CD26D /* Error.swift in Sources */, - CF2D9BDBC33A9414DDEBF3BA43546D67 /* firstly.swift in Sources */, - 403488C6FD6D81EC1837EB3785B143A7 /* Guarantee.swift in Sources */, - F655EFB3487D02AF6B56FD352C326EF5 /* hang.m in Sources */, - A8FFEB53432DC4F2885A8CD8E1E9870E /* hang.swift in Sources */, - 4144EBF3173A41E918C16A79249458E3 /* join.m in Sources */, - 3B670C333D1FA4301955FC92E0ADE64A /* NSNotificationCenter+AnyPromise.m in Sources */, - 916D4FB604792532AFA1C162DECB998D /* NSNotificationCenter+Promise.swift in Sources */, - 1802CDD64DFC896D6C4107DE83FB1BF2 /* NSObject+Promise.swift in Sources */, - 68C3B925415233905445BBC632E33D98 /* NSTask+AnyPromise.m in Sources */, - F6BDDA6489801D31B93897C692036EED /* NSURLSession+AnyPromise.m in Sources */, - 836C8A3CCAD5C5FE68F01D5B3AB57174 /* NSURLSession+Promise.swift in Sources */, - D5E62815F43DB6C9CBF0DEA75BC88E8D /* Process+Promise.swift in Sources */, - FAD004A3C7DC1D0D87FFF0C642A98A86 /* Promise.swift in Sources */, - 21BEF33F6A2B374B486F089628B99B25 /* PromiseKit-dummy.m in Sources */, - 1AA2BEDB70F75FB46C0DDEAF37624686 /* race.m in Sources */, - 6F853D5E1F77B742C8BC832153D2CFB7 /* race.swift in Sources */, - A80D6A613610153FFF343C7385871FE8 /* Resolver.swift in Sources */, - 0F0DCA8CBC42D5EBFAE1401F86393B1A /* Thenable.swift in Sources */, - 7EC88E86E051E823EE620293A70225BB /* UIView+AnyPromise.m in Sources */, - 1A4B5F4283534B7876F0797D79743E7C /* UIView+Promise.swift in Sources */, - EFB65DCDDA87312B24CDDC1F7132FA4B /* UIViewController+AnyPromise.m in Sources */, - FF8CB400714408878D8321DC83943490 /* UIViewPropertyAnimator+Promise.swift in Sources */, - F478A3B08D8979D2B11FC7EC2576FA53 /* when.m in Sources */, - DF0D4847B87A1A34C252A22B47A68A8D /* when.swift in Sources */, + 6971ADB08D769BFBED32F3C60C547AE4 /* Primitive Types.swift in Sources */, + FF5058AB561C8B54477DABC1E2CD5C17 /* RandomUInt64.swift in Sources */, + 9F0E04F678341D3BABD67F41B9F0A784 /* SipHash-dummy.m in Sources */, + A73626E8BF7B64C1605FD9FEEC31911E /* SipHashable.swift in Sources */, + 46C58EC1B780C2200D4E5D919B3C5599 /* SipHasher.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 75CF15D54090EDCFDF8B670A39424F28 /* Sources */ = { + 74858447C62218CBBC185F23A71426F4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A60E9D71694BFC11E2A9A86B8C1B0095 /* ABIv2.swift in Sources */, - C976B78DB3A9AE8CA86A6C9634D9B476 /* ABIv2Decoding.swift in Sources */, - C00477878E267142569D0C12C78018BC /* ABIv2Elements.swift in Sources */, - 1C161B8EA65B5BDAE68E60F1554853DD /* ABIv2Encoding.swift in Sources */, - 873DE3CC5FB993DC11904D529384C888 /* ABIv2ParameterTypes.swift in Sources */, - F392AA2B2B63A326860A273536FD150D /* ABIv2Parsing.swift in Sources */, - 05DCD2FC5F3843251C1B431881F46A15 /* ABIv2TypeParser.swift in Sources */, - 4E3FDA58133BED7E50509490CD6FD4F4 /* AbstractKeystore.swift in Sources */, - 8517DDE6E73644C042195E2C78A312E6 /* Array+Extension.swift in Sources */, - 8E67099B57DC9596F3EA8ECD4E33CBE4 /* Base58.swift in Sources */, - 52FB513158120D5E9A5D0F389C8B4705 /* BigUInt+ObjC.swift in Sources */, - 00A7C1597DE9265F746EA649878A668C /* BIP32HDNode.swift in Sources */, - 68967D93A7040322F28E032A686ADDB8 /* BIP32Keystore.swift in Sources */, - 37F32E3E1902C1C57EEC4067E506189D /* BIP32KeystoreJSONStructure.swift in Sources */, - 543D935BDB2B65030F4F1CC620E38CC2 /* BIP39+WordLists.swift in Sources */, - 02B1E2D6F7BBED451D46B09035722FA0 /* BIP39.swift in Sources */, - EFE805A3CA08B8838793F8E245B5ECE3 /* BlockExplorer+GetTransactionHistory.swift in Sources */, - 975D0B554704CA112AE1A7071249F89F /* BlockExplorer.swift in Sources */, - 45EE1E43188FD2E7FC8B2D5030BFC973 /* BloomFilter.swift in Sources */, - 4739C9EEFC54F5C097D8D9D86CECEC2D /* ComparisonExtensions.swift in Sources */, - BDB8D41248A445BAFA1149FB0649B411 /* ContractABIv2.swift in Sources */, - 2498514CC27CCDFE8E81FAE89A1A286B /* ContractProtocol.swift in Sources */, - 726BB598C1055EDC9C6423E70C91C90A /* CryptoExtensions.swift in Sources */, - 890D1216015AC23C813DD998F3D0BD6A /* Data+Extension.swift in Sources */, - 37457234666FBA7DF56C16652038067A /* Dictionary+Extension.swift in Sources */, - 9D526303604B00B72758C41A697E5995 /* EIP67Code.swift in Sources */, - 0BC51526B2D3116FE16EBE44DA507D3C /* EIP681.swift in Sources */, - ED758B1BD45542378CBF6391BB8C5488 /* ENS.swift in Sources */, - 58ACD248746150D1523327FBE5B37A1C /* EthereumAddress+ObjC.swift in Sources */, - 970434B3CDFCB829040B04EB0280678E /* EthereumAddress.swift in Sources */, - 30E55EC1173BE1FB08D744675769DBD2 /* EthereumFilterEncodingExtensions.swift in Sources */, - 7D67866AC6C3A9D16FE90065AADC0149 /* EthereumKeystoreV3.swift in Sources */, - 5C54B9B9E5E0B285872796330B999044 /* EthereumTransaction.swift in Sources */, - AD7D2F8C362981D42EA5497CC71F7737 /* EventFiltering.swift in Sources */, - 86F8EB37DA0D0B1894675C2A41A949CE /* IBAN.swift in Sources */, - 045FA7F5C4FA073D115933C8046C954D /* KeystoreManager+ObjC.swift in Sources */, - B6626A2B587568E2256A791C094CDF0E /* KeystoreManager.swift in Sources */, - 5DB7A571F556449AD9706B01CB07EA6A /* KeystoreV3JSONStructure.swift in Sources */, - 8B28B522A60F6F1A0BEC7E64514B0976 /* LibSecp256k1Extension.swift in Sources */, - 5A62E1514221B943B7A3D3946E7C33F7 /* NameHash.swift in Sources */, - 68C039D30A4BD8D39DF56B559B4ADB68 /* NativeTypesEncoding+Extensions.swift in Sources */, - E37A842880FB67BC31021D43DF112704 /* NSRegularExpressionExtension.swift in Sources */, - 9E61496223A21B14280586F3E47065BC /* PlainKeystore+ObjC.swift in Sources */, - 0075468647D0FFC3AAED89F1F23D66CF /* PlainKeystore.swift in Sources */, - 64B367DFA40AC646E11DAB819B0E292E /* Promise+Batching.swift in Sources */, - 31BE361F12FECC822B92E13681857FD0 /* Promise+HttpProvider.swift in Sources */, - 331CE8D8224F71C9D3D70DC1801A1715 /* Promise+Web3+Contract+GetIndexedEvents.swift in Sources */, - 22FD54B4C827131C4D684D2EAA053145 /* Promise+Web3+Eth+Call.swift in Sources */, - DF7F955F953C523ECE12E71C4990F56A /* Promise+Web3+Eth+EstimateGas.swift in Sources */, - BE321B31D7AFC12E0BF53438F00832FB /* Promise+Web3+Eth+GetAccounts.swift in Sources */, - E17468799BD83B1D0859237015708D37 /* Promise+Web3+Eth+GetBalance.swift in Sources */, - 0C76323B6074D43A33E958630E2FA2B8 /* Promise+Web3+Eth+GetBlockByHash.swift in Sources */, - 3B85CE7D9D64282311FA54DBC8286756 /* Promise+Web3+Eth+GetBlockByNumber.swift in Sources */, - AE94E5909CD8A6A29021E7DB20613096 /* Promise+Web3+Eth+GetBlockNumber.swift in Sources */, - 859729A76D2AFAB1080AB8E850982E4B /* Promise+Web3+Eth+GetGasPrice.swift in Sources */, - 56ACBF1330E1BDB853FC94E16E41A0C7 /* Promise+Web3+Eth+GetTransactionCount.swift in Sources */, - 7E314E370D8E63F9D28EB4D83FF125C5 /* Promise+Web3+Eth+GetTransactionDetails.swift in Sources */, - 21C57C5726D2EB337172882289EBA3B6 /* Promise+Web3+Eth+GetTransactionReceipt.swift in Sources */, - 4AACA123F47301AFCECF75FE8D86BBBD /* Promise+Web3+Eth+SendRawTransaction.swift in Sources */, - BEDBDFC232562E554358904415EE39B1 /* Promise+Web3+Eth+SendTransaction.swift in Sources */, - C970C24BFEAF379BB919A0CD4B1FE320 /* Promise+Web3+Intermediate+Send.swift in Sources */, - AF86C21D7723F3C8030AF9530676083E /* Promise+Web3+Personal+Sign.swift in Sources */, - B3FEBCC1E6F68131A464D2D28417BA24 /* Promise+Web3+Personal+UnlockAccount.swift in Sources */, - 91C565DE7355FB1961E40D10EE14CDBE /* RIPEMD160+StackOveflow.swift in Sources */, - C6AA1178DA0B19F731B8C6D0D355262B /* RLP.swift in Sources */, - 6795E9608781C7A1914DBFC1D1B3BBD0 /* String+Extension.swift in Sources */, - 3F1665AFCA874E77038222C32CA21CF4 /* TransactionSigner.swift in Sources */, - 4AB8899CD9B274899C569E8E4F6B8163 /* Web3+BrowserFunctions.swift in Sources */, - 8C4634FA8F9D714321F3973BAC3756CD /* Web3+Contract.swift in Sources */, - A10552DA49C1B421E22D5BBD00043EB5 /* Web3+ERC20.swift in Sources */, - CB2D6447D8F5DE72BEF8DC58E09758C8 /* Web3+Eth+ObjC.swift in Sources */, - 948850F4D9DCBDA7885F96517F7C93B2 /* Web3+Eth.swift in Sources */, - 838FC79B49A0DD9506EDFF36DC730262 /* Web3+EventParser.swift in Sources */, - 08126F596F171C58B2CDD7314A1129D6 /* Web3+HttpProvider+ObjC.swift in Sources */, - 655563EF592B664426E4F924AD94A1EE /* Web3+HttpProvider.swift in Sources */, - 36306880A632F6028A29C9EF3AF21D76 /* Web3+Infura.swift in Sources */, - F3B5788DE236BC5FDC36A19160E3A121 /* Web3+Instance+ObjC.swift in Sources */, - BBC3534E14BA11CE9BCF8FA0848D76D4 /* Web3+Instance.swift in Sources */, - 465596376950D8BA52A52DF91185308A /* Web3+JSONRPC.swift in Sources */, - 202EDC7A61D90D385D5A163E66665BF7 /* Web3+Methods.swift in Sources */, - 1774B3B2CE80448F302A78251D87401A /* Web3+ObjC.swift in Sources */, - 45216D6980BC449A1E84C0C6CC1AA6F9 /* Web3+Options.swift in Sources */, - 78FD627F252ED1A0015EE533DD68C2FF /* Web3+Personal.swift in Sources */, - AEDEB90675798B030C87A90F64EBE68A /* Web3+Protocols.swift in Sources */, - 6B5044E9BC84F66C42F5923359015BF8 /* Web3+Structures.swift in Sources */, - 99F02A84D0D5E2765EE4F4C4AA684A63 /* Web3+TransactionIntermediate.swift in Sources */, - 27FE3E93F1532DBADEF4E265BECD3B77 /* Web3+Utils.swift in Sources */, - 7528DA81FC748DE3FC4BBCD0A2E1400C /* Web3+Wallet.swift in Sources */, - E2262EC80364EF8400960EDAF09318D9 /* Web3.swift in Sources */, - 77178248CD6460B5432AC6DFC3579E23 /* web3swift-dummy.m in Sources */, + 9284881BE476A8120F8BAEDAB18AC9D8 /* AnyError.swift in Sources */, + 126F1C3FBA6323B7AB317E6D896C71EC /* NoError.swift in Sources */, + 116FF0F8BA7104A8EA633D1B0D7B2589 /* Result-dummy.m in Sources */, + 6CAB83600CCF9E95170473F8234921FA /* Result.swift in Sources */, + B02BBC80956D7BDA1F0890275173227A /* ResultProtocol.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7845B68B8E520FB143745DE94DEF574C /* Sources */ = { + 96290FE231FC3A051106FD23E60489E3 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3CB14077F8EC08C91CC67F7A527B417E /* AEAD.swift in Sources */, - 48388B84776F7C1407A1E118B089CBEA /* AEADChaCha20Poly1305.swift in Sources */, - 595B8A2A0CCEBF78C630FF9978F29AB7 /* AES+Foundation.swift in Sources */, - 13DFC709B5090CE924800551AE5D9808 /* AES.Cryptors.swift in Sources */, - 1AEA4CC9FAFDF49652633E9DBE16D80E /* AES.swift in Sources */, - 778848906301AB76386C72A37543BE52 /* Array+Extension.swift in Sources */, - EEBA55F15AFE35277B68E8ECF0006359 /* Array+Foundation.swift in Sources */, - 36CD9E2F0BD86A31E701E02DAB5AE6F2 /* Authenticator.swift in Sources */, - 46D913BB12854D13B0F897B37C0645A4 /* BatchedCollection.swift in Sources */, - 78589BD06CD8A1E65939A186F9EF2AB5 /* Bit.swift in Sources */, - C0CB7BA8B8378B845E1231E46A00302F /* BlockCipher.swift in Sources */, - 49FEEA70ABC39AF55CD97D81857EF07E /* BlockDecryptor.swift in Sources */, - AB9668A6835AEC7962A3C7768ADAAA56 /* BlockEncryptor.swift in Sources */, - CFA93FAF0D4ECF135C0F0E190C6C170E /* BlockMode.swift in Sources */, - E5E3667FFF55ADA12DD9114649E29031 /* BlockModeOptions.swift in Sources */, - 5A6C4BA33ADE33CC6B382B120B679237 /* Blowfish+Foundation.swift in Sources */, - 3C3E2109D1CACB25EAFAF06D4238567E /* Blowfish.swift in Sources */, - 43FD8DB1CCB725A4FE8894835801F3EB /* CBC.swift in Sources */, - 88ED6F7E091B1D56573DCEFA4F60B010 /* CFB.swift in Sources */, - 9D39EF4996CB92E27C1BAF0651E2C242 /* ChaCha20+Foundation.swift in Sources */, - AB905E3B9A9CB2C8F126AB2F7A985B63 /* ChaCha20.swift in Sources */, - 68AC0F69139647F7B018BBF14976F577 /* Checksum.swift in Sources */, - A2800740B805FE08662A48D9C0CFF49E /* Cipher.swift in Sources */, - 0E285E910A32BEC3C90AE7FCD361AD63 /* CipherModeWorker.swift in Sources */, - C8FD04BAEFFFEF92BF2303ACA42207F6 /* CMAC.swift in Sources */, - 19127EBDCFDCA18FB791457D9636554A /* Collection+Extension.swift in Sources */, - E738C32AC026327A0C48144C7979EC30 /* CompactMap.swift in Sources */, - BAB523E44314747F529F07E9D858D0A9 /* Cryptor.swift in Sources */, - 8008DD7D87F87B9E3D5ECEA3467E1A9C /* Cryptors.swift in Sources */, - 681FBF1DE7F5E28A656C33C24795C69D /* CryptoSwift-dummy.m in Sources */, - 16BD01485AEA764E1D7AE403EDAA7CAC /* CTR.swift in Sources */, - E6B051B4B35607992353F833DE6578C1 /* Data+Extension.swift in Sources */, - 69B43E85EA9FD569A466BE6BA94A5F86 /* Digest.swift in Sources */, - FBF77F35D1FB8C0B49461F323CC64EF7 /* DigestType.swift in Sources */, - 809461B522DAD1CC4DA7B304793057A5 /* ECB.swift in Sources */, - 168BDC656BAAED4F5FC8CF368D073EF2 /* GCM.swift in Sources */, - B6DFE0242C66C8E98A2F6825401A50B1 /* Generics.swift in Sources */, - 8E5BF109ABE01A8C75C78AEB7B902FC3 /* HKDF.swift in Sources */, - 104041B63A33F6C978EBE1042E7F36C6 /* HMAC+Foundation.swift in Sources */, - 4DEA27C788BF3119B52411CCB2922FB2 /* HMAC.swift in Sources */, - 0069D192EEB5FD6E4FE6CE081766BF84 /* Int+Extension.swift in Sources */, - 84BCF4CADBC4D7DDA795387EC0AC07E7 /* MD5.swift in Sources */, - 7CF47931D812B23E671EC0DEA0706DFA /* NoPadding.swift in Sources */, - DE5662D83AD07D877CB46011E963932B /* OFB.swift in Sources */, - 7F77F6FF53784ED6A5A93AC3D548F02A /* Operators.swift in Sources */, - 76470FC323983D6226BCF68B1164E3F5 /* Padding.swift in Sources */, - F29E02078681BBB088849F8B66655247 /* PBKDF1.swift in Sources */, - DCEFC750784BC92CC015B9B973982194 /* PBKDF2.swift in Sources */, - 6951FF81102CC5BFF9688FD32F93DB93 /* PCBC.swift in Sources */, - 872CC7E11DB7B5D9E47440A739E574AB /* PKCS5.swift in Sources */, - DD69B45CCE6E9919A0D08FE9498D2B2E /* PKCS7.swift in Sources */, - 011C7540AA287C97361474C15BEC543C /* PKCS7Padding.swift in Sources */, - F95D72C282B42FFE8FE2F10C0AB327F2 /* Poly1305.swift in Sources */, - 76B563B51D27673895764F16C48D5E24 /* Rabbit+Foundation.swift in Sources */, - FB20391449E34100261FC37107DC6078 /* Rabbit.swift in Sources */, - 1F775B3A5B3F7AD66C937140F5D64981 /* RandomBytesSequence.swift in Sources */, - 090FC12C45ED8F6A69B4E632DFE94915 /* SecureBytes.swift in Sources */, - 57EE2999B5A42AB125DE111FD58382E8 /* SHA1.swift in Sources */, - EC5E4784D34A1D2A17EEDD85A46D465A /* SHA2.swift in Sources */, - D1F5CB987F614989A6C17C93F2DD5EE8 /* SHA3.swift in Sources */, - 36A0040F0878B1983F1EA1303DEA3A8A /* StreamEncryptor.swift in Sources */, - 3A0B9F7D652FAD6B6F41E8ECBC672B2E /* String+Extension.swift in Sources */, - 1819715D4AE9B9E34CC6884404B925A7 /* String+FoundationExtension.swift in Sources */, - 9032FD5A6851FA0796FE178236BE9949 /* UInt128.swift in Sources */, - 4E6B32A3483F0BFABBD797909A9DEF6E /* UInt16+Extension.swift in Sources */, - 5BDE74041F9724B7C2A40FD1FCFA45F0 /* UInt32+Extension.swift in Sources */, - 63DE145E1764A86D1ABB97F789625268 /* UInt64+Extension.swift in Sources */, - 17A85E0EC18A32952F779A75E09AB131 /* UInt8+Extension.swift in Sources */, - 7EFCEF370D1273ECA03178E054495922 /* Updatable.swift in Sources */, - 72C25CF4053DCD62E5447817C0B9221E /* Utils+Foundation.swift in Sources */, - 822D2EB3DC201386CF9DF682794D91F7 /* Utils.swift in Sources */, - 7879C44114E0F4F770B0E68610F5ACFB /* ZeroPadding.swift in Sources */, + 02AA88A345F378DDDAD94FBE2153C3D4 /* lax_der_parsing.c in Sources */, + 10FD227E060754DD84FF51B1B2D5A67F /* lax_der_privatekey_parsing.c in Sources */, + 96B7FC322AC43E4559A1E7085F5977E4 /* secp256k1.c in Sources */, + 83E70ED9E7FCB1E454707FABAEE0C49D /* secp256k1_ios-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - C747AFF53DCA864F052E68331F3DFFE3 /* Sources */ = { + A5DA2226091709FBAA9E7C00FE849D3B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - EB350E13664115CE53FA7E4C0BC2CDA6 /* BufferStorage.swift in Sources */, - 58A762A4848E6E343D255E9FACC9E795 /* Cimpl.c in Sources */, - 5168590BF93FB99D16DC49712EA80245 /* Salsa.swift in Sources */, - 7D5DA72A49A992A527E02B5A1246FC3C /* scrypt-dummy.m in Sources */, - 8D1AABABA7AE89E3F15F645AC6A3E532 /* Scrypt.swift in Sources */, + 313AF5ADF37E9908E80116CBE9A08433 /* Pods-web3swiftExample-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - D0AC93315DC7E224CAFDF4FDBCD3DB40 /* Sources */ = { + BB23C35D1C8CF70B14021B6B4DB4417C /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - C8218EC292D51987B5ABF02470D28BF8 /* lax_der_parsing.c in Sources */, - B1E21083CCF70CA10BCFB0D6BDF4DC7B /* lax_der_privatekey_parsing.c in Sources */, - F41F4AAC34AB627DE3BEE8826AA9D736 /* secp256k1.c in Sources */, - 97E9D2C351BA784EAB933580AD206C13 /* secp256k1_ios-dummy.m in Sources */, + 6AE91686DA9073D6CA45FF5075E46441 /* Addition.swift in Sources */, + DEF4308C1D254B7046901273C02406C6 /* BigInt-dummy.m in Sources */, + B445F0CE0E3F59F3626F5EF8CD7EC353 /* BigInt.swift in Sources */, + E9996CF89769BC6E0A23565BA241E886 /* BigUInt.swift in Sources */, + 9E99F580BA70CA1755A2CB88CFDD12D0 /* Bitwise Ops.swift in Sources */, + 192C761FAA55B7C0BAE8B6C9620EC07C /* Codable.swift in Sources */, + 408DD0B99E8B5D002EDFF64857434F33 /* Comparable.swift in Sources */, + 538C6A258F935F06DE9961004DC18E99 /* Data Conversion.swift in Sources */, + 1C5F2E4BA7BE6A06422712620E1AE0EF /* Division.swift in Sources */, + D4D59603BDE5980B8070D37AC4E202ED /* Exponentiation.swift in Sources */, + 4FB1270D906EA5C11DDC829AE5191718 /* Floating Point Conversion.swift in Sources */, + 807B07BE5F3E0281F560DBC081BC8EF0 /* GCD.swift in Sources */, + F3649D1559ABBD0842FAD6CD252CF5C5 /* Hashable.swift in Sources */, + BE95728E93BC22D4E96096306FB98331 /* Integer Conversion.swift in Sources */, + 85784EB74592B1F757DB340F92867BBF /* Multiplication.swift in Sources */, + 531CF173530CF762BA014B482E2765A1 /* Prime Test.swift in Sources */, + 05B60D1C230ACBC8BF1984448505EDBF /* Random.swift in Sources */, + A83A9339CF7777B3639BC3ACF15AD200 /* Shifts.swift in Sources */, + A924CBC85FFB545CD4AFE5C30B5AEBFE /* Square Root.swift in Sources */, + ABB16B77223F03DEFE19A3D29BD57A6F /* Strideable.swift in Sources */, + 3BDF1A017D709F6906EB6D80A5C2DC21 /* String Conversion.swift in Sources */, + 70586DBC0FCE02A174A7289612B1F4A1 /* Subtraction.swift in Sources */, + 1007F2C201CB0F9428EB814F23638146 /* Words and Bits.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E2D6BCD5E5A99E5CAB3F3FBB1D6EC36E /* Sources */ = { + FAC6AF6E8005F5C4CF5E7ECAA539CF2D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A3990AC532A16D984A30B92171E19633 /* Addition.swift in Sources */, - CFCEF00E9F843C0E9885D25D3FE776AD /* BigInt-dummy.m in Sources */, - 1393314FA30ED036A4876EED12EF15DF /* BigInt.swift in Sources */, - B9D179880E2C5A583513BF6086375292 /* BigUInt.swift in Sources */, - E98669BD82B8EF36AA49932E9A1C5559 /* Bitwise Ops.swift in Sources */, - 70C753C56B4C246E2B038E4F94BF0BBF /* Codable.swift in Sources */, - 37741FB620689069751B06889B7C7143 /* Comparable.swift in Sources */, - CAF7F95BAAA850711BA9ABB88C4DBE58 /* Data Conversion.swift in Sources */, - 8606AA654F3D24B407E7274A9BB3995F /* Division.swift in Sources */, - 2A8F6944A9B01C4D77F755677E3B50CD /* Exponentiation.swift in Sources */, - D42866E9D1CC9FAA8B4D290D9021ADED /* Floating Point Conversion.swift in Sources */, - 6EBEEEDAACA227734E95EA5211665100 /* GCD.swift in Sources */, - 718236F77969D41EA45AE28A7EF14E52 /* Hashable.swift in Sources */, - 42911B8E04109940D27D03B76FDB71DA /* Integer Conversion.swift in Sources */, - CF3EE764A7A7F7F57EB8610C7E684B04 /* Multiplication.swift in Sources */, - F78C1DE8D506C812DCD441568DD25248 /* Prime Test.swift in Sources */, - A2282701DE9BC91494A2065F23824272 /* Random.swift in Sources */, - 39CDE4B10C60D85F37F77C939C51E074 /* Shifts.swift in Sources */, - 1EE14F44BE6D7C6D015982EBCB62366B /* Square Root.swift in Sources */, - 2B4AEEF5291AF4C54375103E51B33EED /* Strideable.swift in Sources */, - 1418FE8C38CFB0A63618CB505778FF1A /* String Conversion.swift in Sources */, - 4CFF75EF09263579007C95CD2C296463 /* Subtraction.swift in Sources */, - 0E595594925920B81CBDC1EF1F737727 /* Words and Bits.swift in Sources */, + E17D11ACDDF519813FDB233920EC8659 /* AEAD.swift in Sources */, + 38CC7371C0CCDD34630FB55D1B1FE8EE /* AEADChaCha20Poly1305.swift in Sources */, + 39FA54F442116DAE993C29047DD5DFE8 /* AES+Foundation.swift in Sources */, + BA678376264117D59BF4EFC93D854537 /* AES.Cryptors.swift in Sources */, + C5BFE54E462CEA37EAE05F06CC40CAFC /* AES.swift in Sources */, + 9AD9BAC2BFB2F5844FE2EAFCD353C009 /* Array+Extension.swift in Sources */, + 8E13C6E338A8211FE29C5883AA49C379 /* Array+Foundation.swift in Sources */, + 1FCAD12310C043F8A9072C6CF988767D /* Authenticator.swift in Sources */, + CE4EAF03E45F6783B55462ED597DF674 /* BatchedCollection.swift in Sources */, + 409BE8830A676B9A918AD077D5FF56E9 /* Bit.swift in Sources */, + A1AB964743F0699F984589A79E8BEB2C /* BlockCipher.swift in Sources */, + 9D6719DF68EB45255D72D5D894ABEA8D /* BlockDecryptor.swift in Sources */, + F0B784E17804D5E84BA1DAE0C7549769 /* BlockEncryptor.swift in Sources */, + 6CA43D480D59CCE6C3022B6FB860DD54 /* BlockMode.swift in Sources */, + 5B528D78E102DA266E62EDF868A924ED /* BlockModeOptions.swift in Sources */, + E2F20A4517CB23C4191AA5953850D0C7 /* Blowfish+Foundation.swift in Sources */, + DB2AD8BB5134D34E6E776539A83F0AB6 /* Blowfish.swift in Sources */, + 879BC75322CA6DE36F0A0CD945389A8E /* CBC.swift in Sources */, + 74F8840AB444CA331900088D83219C36 /* CFB.swift in Sources */, + 8E8757AEF9F6B8DF5B03D98B670775D4 /* ChaCha20+Foundation.swift in Sources */, + 99E69744951D77345EBD5D2E1F4B6EA3 /* ChaCha20.swift in Sources */, + 222B2D51836967D1089878DD3095A940 /* Checksum.swift in Sources */, + C477F9CC9D6A21DFEAC4E0A4DCBFFFAB /* Cipher.swift in Sources */, + 00F71256E738522ACAF0A3837A9CE8C7 /* CipherModeWorker.swift in Sources */, + ED2AB53698CB5369C137E63E66D62108 /* CMAC.swift in Sources */, + A230F02D50871D17994B9EF116ECE5B8 /* Collection+Extension.swift in Sources */, + DA049A324AEE4E1D0660D0605F2B36A1 /* CompactMap.swift in Sources */, + 8BBA8708379FB610EB986C6AB1A55CE2 /* Cryptor.swift in Sources */, + 320C1B66497F7A138EB1D642CDCE22AC /* Cryptors.swift in Sources */, + 0A1DE69222FA7487FCF30F417987011D /* CryptoSwift-dummy.m in Sources */, + F4D85C27C6BB1452324FFC2456B67681 /* CTR.swift in Sources */, + B5B8AE814BED84CA67054EDEEAE547A2 /* Data+Extension.swift in Sources */, + 93DAEF762AF4E2920D206F88D8B7C41F /* Digest.swift in Sources */, + 40DE88714DAB5B695E9504CC44074768 /* DigestType.swift in Sources */, + A6A4E89F4E4F313C578324D21AC2CF30 /* ECB.swift in Sources */, + 68658EB3A3F87578A106603B085A69CB /* GCM.swift in Sources */, + EC271B9B67906BD2D607F2E1EDE64BFD /* Generics.swift in Sources */, + BDF76907A74CB47143093603602619EB /* HKDF.swift in Sources */, + 493DBDEF9FCD12D7123669FD8A9E4ED8 /* HMAC+Foundation.swift in Sources */, + B76AD79D919B630576536F2462ACA4E3 /* HMAC.swift in Sources */, + 730A21FE23F5384258BDD6AC6B2F64FE /* Int+Extension.swift in Sources */, + A504680DC4D09BECAB31AD17442D6193 /* MD5.swift in Sources */, + 66BA3F31DB96AB44086B540815DC24C5 /* NoPadding.swift in Sources */, + 029E4B8A9E3B89B94F19AE60A5FD2BEA /* OFB.swift in Sources */, + 91A8E04DEE9062D981048CA8E4E6E8EB /* Operators.swift in Sources */, + 5BA3E93A31BD8E788ACDC074BF9173DF /* Padding.swift in Sources */, + FEDD97DDD605CF96A6FA9C8A4D58FBCB /* PBKDF1.swift in Sources */, + FE65A2540C6E76089372119B2F94A5AB /* PBKDF2.swift in Sources */, + 2416EC233D7CED3374899795B2661A81 /* PCBC.swift in Sources */, + 13EBF8998AC76281856F84258FDD2F54 /* PKCS5.swift in Sources */, + 954FEDA487771E21F37475C2D1F85FDD /* PKCS7.swift in Sources */, + F57BEB34E9C79ADEBB885E84008AE0E9 /* PKCS7Padding.swift in Sources */, + A7A2D678ECF49203B326B57D425F3F5D /* Poly1305.swift in Sources */, + 1DEF1D64ED601BF90162C2707F385A28 /* Rabbit+Foundation.swift in Sources */, + 80AA0105BEEE9286664DE223447D5BFD /* Rabbit.swift in Sources */, + 6FEC51B5BFB8DCF0676B5E4BE46C3673 /* RandomBytesSequence.swift in Sources */, + C0BEA3AE3A9D32BEA36E9F305BE0E9DB /* SecureBytes.swift in Sources */, + 0B6225818CF8D0C1211208ED65DB3D1E /* SHA1.swift in Sources */, + D2334E5723DA38C7FE9EBE99DA28978B /* SHA2.swift in Sources */, + 7F1951CE198D26F00A57E599E8A156C8 /* SHA3.swift in Sources */, + 3B2B2FBE097E322CF911DE111067CE1C /* StreamEncryptor.swift in Sources */, + 2ABF8654708D394C425FE49E444A7A46 /* String+Extension.swift in Sources */, + 522F04B75736285444076E68D66DD971 /* String+FoundationExtension.swift in Sources */, + 693C57B0B65DC83E1555A5C2B81B3D61 /* UInt128.swift in Sources */, + 0AA85817C56EE5460F87A6B84ED73ADB /* UInt16+Extension.swift in Sources */, + 9CDB1A02BF14D3FA9ED7767CD865E621 /* UInt32+Extension.swift in Sources */, + A3BFABE55739664620DBD17FBCDC7167 /* UInt64+Extension.swift in Sources */, + 30DCA337250F0BF3347548F999C0D6CA /* UInt8+Extension.swift in Sources */, + 63782F3285FAA31B6F008F2061D17962 /* Updatable.swift in Sources */, + 0E2058EFEA89E6DF232C0D0367CA2AB2 /* Utils+Foundation.swift in Sources */, + 7DFFB011553BDD738BEFE0F582119989 /* Utils.swift in Sources */, + BE542E63E2485118E79441E7999F55B1 /* ZeroPadding.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 0A8C82D239CBDF1B011E11B329EA616A /* PBXTargetDependency */ = { + 0465644DC2AEBE1ABBF8FB1B0B1D41A2 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = BigInt; - target = 23A9C77578E46AEB069BEF36B9B5ADA6 /* BigInt */; - targetProxy = 6BF9B000996DF9D64D4FE4DEECF00413 /* PBXContainerItemProxy */; + name = CryptoSwift; + target = C313269A2B1C23544DE089CFAA786C33 /* CryptoSwift */; + targetProxy = C92357257C88252798F17EB0FB961C16 /* PBXContainerItemProxy */; }; - 0B6AA6919B8A7CB6BC051AF90DF91D0D /* PBXTargetDependency */ = { + 1756DA2A0929883155F82EDEE78DBB00 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Result; - target = C7F768100F7D32B078FA6D19893B5741 /* Result */; - targetProxy = FD3871FA93CC618634A2D7AB7E6A288C /* PBXContainerItemProxy */; + name = secp256k1_ios; + target = 0CDCD15B895E5E3C642256B9466BAF51 /* secp256k1_ios */; + targetProxy = 3FEBB0E8FF54EB005815F39AF02DA652 /* PBXContainerItemProxy */; }; - 2602660D03EAE2BE41324DCD70D6B7C9 /* PBXTargetDependency */ = { + 1BA09AA5C2BB3035C61D53AF174D17C7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SipHash; - target = EA114BE2D9D1BCDA6E1013C3301492A8 /* SipHash */; - targetProxy = 36A8B274F50442AE2C466F7B8C8A2E09 /* PBXContainerItemProxy */; + name = scrypt; + target = EDCC3A3E8A567995312D9F435A5A88EC /* scrypt */; + targetProxy = E219E4C6CD954172C59F189A1BF5088B /* PBXContainerItemProxy */; + }; + 273C2608422A04D9E44B422947092A4A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = web3swift; + target = F61D23C9CB20E66E4ACFBAB69D99879A /* web3swift */; + targetProxy = 154FD551C35082A733CF27851A45873B /* PBXContainerItemProxy */; }; - 3F569904A0954E065753A145676105A7 /* PBXTargetDependency */ = { + 43E614385A8557DFB8BF9FAA55D0DF24 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = PromiseKit; - target = C36167279A3ACEC5E09E05AC17E973AB /* PromiseKit */; - targetProxy = 0E01B73CC8F027E3BB675B850520B20E /* PBXContainerItemProxy */; + target = 9E0FC65126A61EC4E4C869BA932807E4 /* PromiseKit */; + targetProxy = C9A0DB9B5BCE9D59FC6C0F33F3297059 /* PBXContainerItemProxy */; }; - 469BA73D7FD92EEC96D218C7F3F3196F /* PBXTargetDependency */ = { + 48DD0041B86E1DA2270D12909EA76561 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CryptoSwift; - target = D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */; - targetProxy = B2520BE59D3D835F91798AA0CB79DEE8 /* PBXContainerItemProxy */; + name = PromiseKit; + target = 9E0FC65126A61EC4E4C869BA932807E4 /* PromiseKit */; + targetProxy = A99D675BD98897507E4AD89112CD1676 /* PBXContainerItemProxy */; }; - 4A7B421C839A9B98B687CAA8B6917FF0 /* PBXTargetDependency */ = { + 662D3AD29D481E615ED723D3A06C059C /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Result; - target = C7F768100F7D32B078FA6D19893B5741 /* Result */; - targetProxy = DAAF4FFB27B380502C83474E2C10B2C0 /* PBXContainerItemProxy */; + target = 691E5BFE487640DE1E2DD74E28EBE528 /* Result */; + targetProxy = 11A2BB77C485A266DEBF7AA057C5CEC7 /* PBXContainerItemProxy */; }; - 4BC8665C320BCB284F1AB9E0F52EEF22 /* PBXTargetDependency */ = { + 75339B3658463D5928A20C9412070E92 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CryptoSwift; - target = D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */; - targetProxy = AC93B93DEA6B153F441ACDD47711CB50 /* PBXContainerItemProxy */; + name = scrypt; + target = EDCC3A3E8A567995312D9F435A5A88EC /* scrypt */; + targetProxy = 4F5992DA25BD4D957A469B238740F3DF /* PBXContainerItemProxy */; }; - 4F4E9B99540CA6BFAFEF683BB7AFA0D3 /* PBXTargetDependency */ = { + 96713201020D11B4F462679823BE0999 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = secp256k1_ios; - target = 60BF36463B9896F856D87DA4DE89FBB9 /* secp256k1_ios */; - targetProxy = 1D7E7E679A2F944C7B68599B9949B3D9 /* PBXContainerItemProxy */; + name = BigInt; + target = 716435BD4A1FEB954EBD1C25D7EC0BB6 /* BigInt */; + targetProxy = 54FD6216423E5F7F52201DDDE1480BAB /* PBXContainerItemProxy */; }; - 64DA449404BAFB38711865F0C1D0C3ED /* PBXTargetDependency */ = { + A054D0D393F7402DAC86BBBB70D84899 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = PromiseKit; - target = C36167279A3ACEC5E09E05AC17E973AB /* PromiseKit */; - targetProxy = 6EA95E18AF08E391FC2DD079C00AC604 /* PBXContainerItemProxy */; + name = BigInt; + target = 716435BD4A1FEB954EBD1C25D7EC0BB6 /* BigInt */; + targetProxy = 21EECB2AF750309F2B59326AAE061AE6 /* PBXContainerItemProxy */; }; - 8FD5D15A53AB1364D3C37E633E297FD9 /* PBXTargetDependency */ = { + B0DF197C71A0796DB079A628F0C6E87B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SipHash; - target = EA114BE2D9D1BCDA6E1013C3301492A8 /* SipHash */; - targetProxy = BE88B88019CC73C5F4692FCFFE00A16E /* PBXContainerItemProxy */; + name = Result; + target = 691E5BFE487640DE1E2DD74E28EBE528 /* Result */; + targetProxy = D94189C5999AEF19467AEA7DA9649E87 /* PBXContainerItemProxy */; }; - 9235C791AF1571AD8742EA4B298E89C5 /* PBXTargetDependency */ = { + B76C549F1077A249A793E83C3FD52965 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CryptoSwift; - target = D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */; - targetProxy = D6AE6C9B739C8079861FA4830DE57BFF /* PBXContainerItemProxy */; + name = SipHash; + target = 3A129877346434719FFE6B01BCA2513B /* SipHash */; + targetProxy = D859CF09FCB933666F712E5E2F479D0D /* PBXContainerItemProxy */; }; - A3C90A98231D5DDB2A79AFA9C07695B8 /* PBXTargetDependency */ = { + CEC8AEFC24A2A583B9A0F19190820F55 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = scrypt; - target = 0E877A906EE881D9A703E2CEB69B27B0 /* scrypt */; - targetProxy = 7BD0D139C37C19537A6DF939C1048252 /* PBXContainerItemProxy */; + name = CryptoSwift; + target = C313269A2B1C23544DE089CFAA786C33 /* CryptoSwift */; + targetProxy = 480127A1B9AE1E23814FED67B06CB002 /* PBXContainerItemProxy */; }; - BC80BF207538A95305A7D118B9B7C215 /* PBXTargetDependency */ = { + D80B8C9CAC5A4EF01AB3734E4FA514CF /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = secp256k1_ios; - target = 60BF36463B9896F856D87DA4DE89FBB9 /* secp256k1_ios */; - targetProxy = 51F19D8B3983CC6266B592A32F736A15 /* PBXContainerItemProxy */; + name = CryptoSwift; + target = C313269A2B1C23544DE089CFAA786C33 /* CryptoSwift */; + targetProxy = 4A3EA886C534DA6E2D3E8B7CBEDDF36D /* PBXContainerItemProxy */; }; - D0835B4CA84CEE3755B21228D6CA6FFC /* PBXTargetDependency */ = { + E748055BA2211356B1160E3F5423F5EC /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = scrypt; - target = 0E877A906EE881D9A703E2CEB69B27B0 /* scrypt */; - targetProxy = ABA2DC1B51EB47A1C58FD8EB202B5FAE /* PBXContainerItemProxy */; + name = SipHash; + target = 3A129877346434719FFE6B01BCA2513B /* SipHash */; + targetProxy = 845211B1A3B8302CC6873C1DC90D2E13 /* PBXContainerItemProxy */; }; - D5D89B0A0375005F9DC439BA79768218 /* PBXTargetDependency */ = { + F9B3E04E287071C52A7FECF3015FEC8C /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = web3swift; - target = D93CC8797FA6642C382C93BBA9AE8B0D /* web3swift */; - targetProxy = 111385C619C9ADC78F47666FAA2A22A7 /* PBXContainerItemProxy */; + name = secp256k1_ios; + target = 0CDCD15B895E5E3C642256B9466BAF51 /* secp256k1_ios */; + targetProxy = D1C97C34834751B541AC06B12144F72E /* PBXContainerItemProxy */; }; - E92C0852F7CA81FC3C083C6A05797271 /* PBXTargetDependency */ = { + FED36EEEE3EDD72CB4BFE445A2DED504 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = BigInt; - target = 23A9C77578E46AEB069BEF36B9B5ADA6 /* BigInt */; - targetProxy = 76DB86015CEE178C79D4F291C64586B2 /* PBXContainerItemProxy */; + name = SipHash; + target = 3A129877346434719FFE6B01BCA2513B /* SipHash */; + targetProxy = 39B6BDB795ECBD4EF78E4AA966364F1B /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 08325AB7BA3DEA33A660C8DA62E9D84C /* Release */ = { + 0A48AA75ECBA8BA9DCD29523CFFA624B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4A9FF65D7436CD05D4829C03224BCEC3 /* PromiseKit.xcconfig */; + baseConfigurationReference = 6F569DE923E2ED82AAC896068E839D04 /* PromiseKit.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -2375,213 +2392,256 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; name = Release; }; - 0F2AD7A3E58FD789DAFDAD2D62E8EAE8 /* Debug */ = { + 0B4F9E9C67FADD4CF438916CE76040B9 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4A9FF65D7436CD05D4829C03224BCEC3 /* PromiseKit.xcconfig */; + baseConfigurationReference = 138892441A5B43660E6766A7D981C559 /* Pods-web3swiftExample.release.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "iPhone Developer"; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/PromiseKit/PromiseKit.modulemap; + IPHONEOS_DEPLOYMENT_TARGET = 11.2; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = PromiseKit; - PRODUCT_NAME = PromiseKit; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - 129C407B7AA2AA4EFFB5A2F12C7C5C9F /* Debug */ = { + 0CAE229A10A3BB46B3FF44121042F4AD /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D914AC0AB63A632AC7633D885778EBCF /* CryptoSwift.xcconfig */; + baseConfigurationReference = B46845985AF612A96C9CC720A9AA1928 /* BigInt.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/BigInt/BigInt-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/CryptoSwift/CryptoSwift.modulemap; + MODULEMAP_FILE = Headers/Public/BigInt/BigInt.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = CryptoSwift; - PRODUCT_NAME = CryptoSwift; + PRODUCT_MODULE_NAME = BigInt; + PRODUCT_NAME = BigInt; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - 1F61E648B46E8059A6BA7643BB43C497 /* Release */ = { + 2FC84E1C17F017C1C4E42D51BD969240 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 76F2D8905A70134EA2CDEFA78C0DBF0B /* scrypt.xcconfig */; + baseConfigurationReference = 6C45D29D8FF386012D33CFF0BE84AD2B /* secp256k1_ios.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/scrypt/scrypt-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios/secp256k1_ios-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/scrypt/scrypt.modulemap; + MODULEMAP_FILE = Headers/Public/secp256k1_ios/secp256k1_ios.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = scrypt; - PRODUCT_NAME = scrypt; + PRODUCT_MODULE_NAME = secp256k1_ios; + PRODUCT_NAME = secp256k1_ios; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.1; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; + }; + name = Debug; + }; + 30D948AE62C04225F8DEF8734A4C5A26 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_ALLOWED = NO; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.2; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SYMROOT = "${SRCROOT}/../build"; }; name = Release; }; - 1F6504C4E48E957D125D98953B6D92A4 /* Debug */ = { + 41A318BB340ABD6902E7BAC43B72BBE7 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EFC296C2BEC907D60DCA20DD2859E714 /* Result.xcconfig */; + baseConfigurationReference = EF59F5648FE9BCB0EDD6800DD3E28D06 /* CryptoSwift.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/Result/Result.modulemap; + MODULEMAP_FILE = Headers/Public/CryptoSwift/CryptoSwift.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Result; - PRODUCT_NAME = Result; + PRODUCT_MODULE_NAME = CryptoSwift; + PRODUCT_NAME = CryptoSwift; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 4.2; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - 293DDB39182F265B42217C016494DB99 /* Release */ = { + 4396E7E028B9BBFF539BCD229DD77984 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0438DB1DA63797598E1BC06A1A12F711 /* BigInt.xcconfig */; + baseConfigurationReference = 22D34076EA0440B505461DA3E8B815CA /* Result.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/BigInt/BigInt-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/BigInt/BigInt.modulemap; + MODULEMAP_FILE = Headers/Public/Result/Result.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = BigInt; - PRODUCT_NAME = BigInt; + PRODUCT_MODULE_NAME = Result; + PRODUCT_NAME = Result; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; }; - 29FB8CEE5D10AEC3F56ABDDA0E163E03 /* Release */ = { + 56CB9575B1684A547BA4A7D57E08E1BF /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 643B9FFEAE81870BB1B9C96ED6F53435 /* SipHash.xcconfig */; + baseConfigurationReference = 35A9FE789E37975C0131E64AE7B7282E /* scrypt.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/SipHash/SipHash-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/SipHash/SipHash.modulemap; + GCC_PREFIX_HEADER = "Target Support Files/scrypt/scrypt-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MODULEMAP_FILE = Headers/Public/scrypt/scrypt.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = SipHash; - PRODUCT_NAME = SipHash; + PRODUCT_MODULE_NAME = scrypt; + PRODUCT_NAME = scrypt; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.0; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.1; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; }; - 50ED217796E02020588E19C68D54E32B /* Debug */ = { + 649468DD4EEC4BBE97F2590529B131DE /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2A3B82C924810D565EACB8DD0250AF2F /* Pods-web3swiftExample.debug.xcconfig */; + baseConfigurationReference = 35A9FE789E37975C0131E64AE7B7282E /* scrypt.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/scrypt/scrypt-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MODULEMAP_FILE = Headers/Public/scrypt/scrypt.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = scrypt; + PRODUCT_NAME = scrypt; + PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.1; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - 513C2D1D1841AE354CC0CB3E061004D2 /* Release */ = { + 678ACC840A9FBFC8A401F921EF4020A4 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6AE04FCF5B21A9BA14FEFFCE5C001C9C /* secp256k1_ios.xcconfig */; + baseConfigurationReference = 6C45D29D8FF386012D33CFF0BE84AD2B /* secp256k1_ios.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -2604,88 +2664,86 @@ }; name = Release; }; - 6108586F8F8F0257AB3167314622B299 /* Debug */ = { + 6B74F3A83F3D8E7C401423C9427FD70D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 68A50C595697D190E564425720BC14EB /* web3swift.xcconfig */; + baseConfigurationReference = EF59F5648FE9BCB0EDD6800DD3E28D06 /* CryptoSwift.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/web3swift/web3swift-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/web3swift/web3swift.modulemap; + GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = Headers/Public/CryptoSwift/CryptoSwift.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = web3swift; - PRODUCT_NAME = web3swift; + PRODUCT_MODULE_NAME = CryptoSwift; + PRODUCT_NAME = CryptoSwift; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.1; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.2; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - 6D2EF2542636FDEBC0F444BEFF0D8586 /* Debug */ = { + 7C3E2A3592D669D472C92C0689F115F0 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0438DB1DA63797598E1BC06A1A12F711 /* BigInt.xcconfig */; + baseConfigurationReference = DABE58DA84A9A1A36E5A36F6D7751D80 /* web3swift.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/BigInt/BigInt-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/BigInt/BigInt.modulemap; + GCC_PREFIX_HEADER = "Target Support Files/web3swift/web3swift-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MODULEMAP_FILE = Headers/Public/web3swift/web3swift.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = BigInt; - PRODUCT_NAME = BigInt; + PRODUCT_MODULE_NAME = web3swift; + PRODUCT_NAME = web3swift; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.1; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - 70B146F75766AA3CF946169E1A7ADF8F /* Debug */ = { + 89DC8070955DBE94BDB0FF1387A3BC69 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 643B9FFEAE81870BB1B9C96ED6F53435 /* SipHash.xcconfig */; + baseConfigurationReference = 02C519FDB5FE4C5643A843724C5FACA2 /* Pods-web3swiftExample.debug.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/SipHash/SipHash-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/SipHash/SipHash.modulemap; + IPHONEOS_DEPLOYMENT_TARGET = 11.2; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = SipHash; - PRODUCT_NAME = SipHash; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - 7FC7B8135FDED1560A80CA98EC6F7207 /* Release */ = { + 9E88537B08ED4D6EB44DBA7BC8D56A35 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -2720,13 +2778,16 @@ CODE_SIGNING_ALLOWED = NO; CODE_SIGNING_REQUIRED = NO; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; + DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -2736,31 +2797,31 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 11.2; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SYMROOT = "${SRCROOT}/../build"; }; - name = Release; + name = Debug; }; - 993F1D7FAF8EFEFEB26D36763ADF08C8 /* Debug */ = { + AA61FCC9A20C2110C2F0804265B56308 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 76F2D8905A70134EA2CDEFA78C0DBF0B /* scrypt.xcconfig */; + baseConfigurationReference = DABE58DA84A9A1A36E5A36F6D7751D80 /* web3swift.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/scrypt/scrypt-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/web3swift/web3swift-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/scrypt/scrypt.modulemap; + MODULEMAP_FILE = Headers/Public/web3swift/web3swift.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = scrypt; - PRODUCT_NAME = scrypt; + PRODUCT_MODULE_NAME = web3swift; + PRODUCT_NAME = web3swift; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -2771,204 +2832,133 @@ }; name = Debug; }; - 9E9436ED9C6418E12F7A3F93C5DAB441 /* Debug */ = { + CAE39506F55262A7B52675045626FEDC /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6AE04FCF5B21A9BA14FEFFCE5C001C9C /* secp256k1_ios.xcconfig */; + baseConfigurationReference = B46845985AF612A96C9CC720A9AA1928 /* BigInt.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios/secp256k1_ios-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/secp256k1_ios/secp256k1_ios.modulemap; + GCC_PREFIX_HEADER = "Target Support Files/BigInt/BigInt-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = Headers/Public/BigInt/BigInt.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = secp256k1_ios; - PRODUCT_NAME = secp256k1_ios; + PRODUCT_MODULE_NAME = BigInt; + PRODUCT_NAME = BigInt; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - B26A8C903BC8D3AE3522950A7BD2263B /* Release */ = { + CC4807242B25096CCAA26E1DF06C0EDF /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F3DB5983D5328F395EC023B6F7BA9412 /* Pods-web3swiftExample.release.xcconfig */; + baseConfigurationReference = 1F48C69683BD62C478F08C59DCF2E589 /* SipHash.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/SipHash/SipHash-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = Headers/Public/SipHash/SipHash.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = SipHash; + PRODUCT_NAME = SipHash; + PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - B4A339C5C9837FC180FD2D276CBB365A /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_ALLOWED = NO; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SYMROOT = "${SRCROOT}/../build"; }; name = Debug; }; - B9ED7A6486BCF4D742F2D1B1CFF5570F /* Release */ = { + D7E9681B994FA5D49DCD073FBFF146F3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 68A50C595697D190E564425720BC14EB /* web3swift.xcconfig */; + baseConfigurationReference = 6F569DE923E2ED82AAC896068E839D04 /* PromiseKit.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/web3swift/web3swift-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/web3swift/web3swift.modulemap; + GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = Headers/Public/PromiseKit/PromiseKit.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = web3swift; - PRODUCT_NAME = web3swift; + PRODUCT_MODULE_NAME = PromiseKit; + PRODUCT_NAME = PromiseKit; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.1; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; }; - C820CCD265BB93D16107A121C2E5EB96 /* Release */ = { + E41AAF7DFDA89ECBA7BFE15368B9A9DB /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D914AC0AB63A632AC7633D885778EBCF /* CryptoSwift.xcconfig */; + baseConfigurationReference = 22D34076EA0440B505461DA3E8B815CA /* Result.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/CryptoSwift/CryptoSwift.modulemap; + MODULEMAP_FILE = Headers/Public/Result/Result.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = CryptoSwift; - PRODUCT_NAME = CryptoSwift; + PRODUCT_MODULE_NAME = Result; + PRODUCT_NAME = Result; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.2; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; name = Release; }; - F6A647E0F39295E03ECEE064527336CF /* Release */ = { + FE1C39085AF7A396BCABA7386B35719D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EFC296C2BEC907D60DCA20DD2859E714 /* Result.xcconfig */; + baseConfigurationReference = 1F48C69683BD62C478F08C59DCF2E589 /* SipHash.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/SipHash/SipHash-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/Result/Result.modulemap; + MODULEMAP_FILE = Headers/Public/SipHash/SipHash.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Result; - PRODUCT_NAME = Result; + PRODUCT_MODULE_NAME = SipHash; + PRODUCT_NAME = SipHash; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; @@ -2981,89 +2971,89 @@ 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - B4A339C5C9837FC180FD2D276CBB365A /* Debug */, - 7FC7B8135FDED1560A80CA98EC6F7207 /* Release */, + 9E88537B08ED4D6EB44DBA7BC8D56A35 /* Debug */, + 30D948AE62C04225F8DEF8734A4C5A26 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4E0232B8BAE447830A17E134BCD5FC4E /* Build configuration list for PBXNativeTarget "scrypt" */ = { + 3818346D5343954B4E597C23EED3945D /* Build configuration list for PBXNativeTarget "SipHash" */ = { isa = XCConfigurationList; buildConfigurations = ( - 993F1D7FAF8EFEFEB26D36763ADF08C8 /* Debug */, - 1F61E648B46E8059A6BA7643BB43C497 /* Release */, + CC4807242B25096CCAA26E1DF06C0EDF /* Debug */, + FE1C39085AF7A396BCABA7386B35719D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4E4F824E27325209F56A4EC7858E6091 /* Build configuration list for PBXNativeTarget "Pods-web3swiftExample" */ = { + 40D8E8F189B02991201B925FC09EF694 /* Build configuration list for PBXNativeTarget "scrypt" */ = { isa = XCConfigurationList; buildConfigurations = ( - 50ED217796E02020588E19C68D54E32B /* Debug */, - B26A8C903BC8D3AE3522950A7BD2263B /* Release */, + 56CB9575B1684A547BA4A7D57E08E1BF /* Debug */, + 649468DD4EEC4BBE97F2590529B131DE /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 5479530AA132063FEE7E1514B16AF961 /* Build configuration list for PBXNativeTarget "web3swift" */ = { + 5AC9B27B568F66FE744FE66340253607 /* Build configuration list for PBXNativeTarget "secp256k1_ios" */ = { isa = XCConfigurationList; buildConfigurations = ( - 6108586F8F8F0257AB3167314622B299 /* Debug */, - B9ED7A6486BCF4D742F2D1B1CFF5570F /* Release */, + 2FC84E1C17F017C1C4E42D51BD969240 /* Debug */, + 678ACC840A9FBFC8A401F921EF4020A4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 57A8C2137268F228E4AE6A14F1B64A8F /* Build configuration list for PBXNativeTarget "PromiseKit" */ = { + 60B2FB44801DB1760F455FE3C6317A14 /* Build configuration list for PBXNativeTarget "web3swift" */ = { isa = XCConfigurationList; buildConfigurations = ( - 0F2AD7A3E58FD789DAFDAD2D62E8EAE8 /* Debug */, - 08325AB7BA3DEA33A660C8DA62E9D84C /* Release */, + AA61FCC9A20C2110C2F0804265B56308 /* Debug */, + 7C3E2A3592D669D472C92C0689F115F0 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 8FBF93FB50500F9A39127B851D0248BE /* Build configuration list for PBXNativeTarget "CryptoSwift" */ = { + 735BEA0CBE887CE8804BF5009FF6639E /* Build configuration list for PBXNativeTarget "CryptoSwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - 129C407B7AA2AA4EFFB5A2F12C7C5C9F /* Debug */, - C820CCD265BB93D16107A121C2E5EB96 /* Release */, + 41A318BB340ABD6902E7BAC43B72BBE7 /* Debug */, + 6B74F3A83F3D8E7C401423C9427FD70D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - C2F0F5224D2CB877BA3BE60F8BC9AF96 /* Build configuration list for PBXNativeTarget "BigInt" */ = { + 7F6E416CE690738F5CF300086B702BE2 /* Build configuration list for PBXNativeTarget "PromiseKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - 6D2EF2542636FDEBC0F444BEFF0D8586 /* Debug */, - 293DDB39182F265B42217C016494DB99 /* Release */, + D7E9681B994FA5D49DCD073FBFF146F3 /* Debug */, + 0A48AA75ECBA8BA9DCD29523CFFA624B /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - DF9E202F8E4A79152D39EF70F774415F /* Build configuration list for PBXNativeTarget "Result" */ = { + 8EEFC91FF7E8635717F5FB26E8649000 /* Build configuration list for PBXNativeTarget "Result" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1F6504C4E48E957D125D98953B6D92A4 /* Debug */, - F6A647E0F39295E03ECEE064527336CF /* Release */, + 4396E7E028B9BBFF539BCD229DD77984 /* Debug */, + E41AAF7DFDA89ECBA7BFE15368B9A9DB /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F03D2FCD8A4F5A2AA17A4CE1442CBB2E /* Build configuration list for PBXNativeTarget "secp256k1_ios" */ = { + 9443A20B2E1249352E90CACAC25A10F9 /* Build configuration list for PBXNativeTarget "BigInt" */ = { isa = XCConfigurationList; buildConfigurations = ( - 9E9436ED9C6418E12F7A3F93C5DAB441 /* Debug */, - 513C2D1D1841AE354CC0CB3E061004D2 /* Release */, + 0CAE229A10A3BB46B3FF44121042F4AD /* Debug */, + CAE39506F55262A7B52675045626FEDC /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F3F633396C389256F8850D996A26B1BB /* Build configuration list for PBXNativeTarget "SipHash" */ = { + B25AC1C31D061882155E16B2A579B3E4 /* Build configuration list for PBXNativeTarget "Pods-web3swiftExample" */ = { isa = XCConfigurationList; buildConfigurations = ( - 70B146F75766AA3CF946169E1A7ADF8F /* Debug */, - 29FB8CEE5D10AEC3F56ABDDA0E163E03 /* Release */, + 89DC8070955DBE94BDB0FF1387A3BC69 /* Debug */, + 0B4F9E9C67FADD4CF438916CE76040B9 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.xcconfig old mode 100755 new mode 100644 index aab87fccd..990e77007 --- a/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.xcconfig @@ -1,7 +1,8 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/BigInt GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.xcconfig old mode 100755 new mode 100644 index cca9425b6..9fc4d7452 --- a/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.xcconfig @@ -1,7 +1,7 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_UNROLL_LOOPS = YES -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.plist b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.plist old mode 100755 new mode 100644 index 7c82be473..469011cd7 --- a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.plist +++ b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.plist @@ -1,5 +1,433 @@ - + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + +Copyright (c) 2016-2017 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + BigInt + Type + PSGroupSpecifier + + + FooterText + Copyright (C) 2014-2017 Marcin Krzyżanowski <marcin.krzyzanowski@gmail.com> +This software is provided 'as-is', without any express or implied warranty. + +In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + +- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. +- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +- This notice may not be removed or altered from any source or binary distribution. +- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' + License + Attribution + Title + CryptoSwift + Type + PSGroupSpecifier + + + FooterText + Copyright 2016-present, Max Howell; mxcl@me.com + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + License + MIT + Title + PromiseKit + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2014 Rob Rix + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + License + MIT + Title + Result + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2016 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + SipHash + Type + PSGroupSpecifier + + + FooterText + Copyright 2018 Alex Vlasov <alex.m.vlasov@gmail.com> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + License + Apache License 2.0 + Title + scrypt + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2017 shamatar <alex.m.vlasov@gmail.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + License + MIT + Title + secp256k1_ios + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2018 Aleksandr Vlasov, Stichting Bankex Foundation <av@bankexfoundation.org> + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018 Stichting Bankex Foundation + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + License + Apache License 2.0 + Title + web3swift + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.debug.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.debug.xcconfig old mode 100755 new mode 100644 index f06457be5..40ae1ec0b --- a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.debug.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.debug.xcconfig @@ -2,11 +2,11 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" "${PODS_ROOT}/Headers/Public/web3swift" LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" -isystem "${PODS_ROOT}/Headers/Public/web3swift" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" -isystem "${PODS_ROOT}/Headers/Public/web3swift" OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt" -l"CryptoSwift" -l"PromiseKit" -l"Result" -l"SipHash" -l"scrypt" -l"secp256k1_ios" -l"web3swift" -framework "CoreImage" -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" $(PODS_TARGET_SRCROOT)/scrypt +SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.release.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.release.xcconfig old mode 100755 new mode 100644 index f06457be5..40ae1ec0b --- a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.release.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.release.xcconfig @@ -2,11 +2,11 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" "${PODS_ROOT}/Headers/Public/web3swift" LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" -isystem "${PODS_ROOT}/Headers/Public/web3swift" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" -isystem "${PODS_ROOT}/Headers/Public/web3swift" OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt" -l"CryptoSwift" -l"PromiseKit" -l"Result" -l"SipHash" -l"scrypt" -l"secp256k1_ios" -l"web3swift" -framework "CoreImage" -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" $(inherited) "-D" "COCOAPODS" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" $(PODS_TARGET_SRCROOT)/scrypt +SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" diff --git a/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig old mode 100755 new mode 100644 index a385c9355..b5a065a40 --- a/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig @@ -1,7 +1,8 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/PromiseKit" "${PODS_ROOT}/Headers/Public" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" -DPMKCocoaPods +OTHER_LDFLAGS = -framework "Foundation" -framework "UIKit" +OTHER_SWIFT_FLAGS = $(inherited) -DPMKCocoaPods $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/Result/Result.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/Result/Result.xcconfig old mode 100755 new mode 100644 index df4fd1f5f..e568bc4c1 --- a/Example/web3swiftExample/Pods/Target Support Files/Result/Result.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/Result/Result.xcconfig @@ -1,6 +1,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Result GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.xcconfig old mode 100755 new mode 100644 index ff192e403..2767c35ce --- a/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.xcconfig @@ -1,6 +1,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SipHash GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/libsodium/libsodium-prefix.pch b/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt-prefix.pch old mode 100755 new mode 100644 similarity index 100% rename from Example/web3swiftExample/Pods/Target Support Files/libsodium/libsodium-prefix.pch rename to Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt-prefix.pch diff --git a/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.xcconfig index 46b0d7da4..fd471d754 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.xcconfig @@ -3,8 +3,9 @@ DEFINES_MODULE = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_UNROLL_LOOPS = YES HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/scrypt" "${PODS_ROOT}/Headers/Public" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} @@ -14,6 +15,6 @@ SKIP_INSTALL = YES SWIFT_COMPILATION_MODE = wholemodule SWIFT_DISABLE_SAFETY_CHECKS = YES SWIFT_ENFORCE_EXCLUSIVE_ACCESS = compile-time -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" $(PODS_TARGET_SRCROOT)/scrypt +SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" SWIFT_OPTIMIZATION_LEVEL = -O SWIFT_WHOLE_MODULE_OPTIMIZATION = YES diff --git a/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.xcconfig old mode 100755 new mode 100644 index 2594d1954..f3ffa2802 --- a/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.xcconfig @@ -1,11 +1,12 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/secp256k1_ios" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/secp256k1_ios/secp256k1_ios" -OTHER_CFLAGS = -DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3 +OTHER_CFLAGS = $(inherited) -DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3 +OTHER_SWIFT_FLAGS = $(inherited) -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/secp256k1_ios PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = ${PODS_ROOT} +SWIFT_INCLUDE_PATHS = $(inherited) ${PODS_ROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.xcconfig old mode 100755 new mode 100644 index 241c0cd2b..07fee9460 --- a/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.xcconfig @@ -2,8 +2,10 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/web3swift DEFINES_MODULE = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/web3swift" "${PODS_ROOT}/Headers/Public" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" +OTHER_LDFLAGS = -framework "CoreImage" +OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} From cf0e3589d79530c485171941e6602074a0093ec0 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Tue, 25 Sep 2018 06:39:26 +0200 Subject: [PATCH 10/66] update to `gem install cocoapods --pre` --- Podfile.lock | 2 +- .../Public/BigInt/BigInt-iOS-umbrella.h | 17 +- .../Public/BigInt/BigInt-iOS.modulemap | 8 +- .../Public/BigInt/BigInt-macOS-umbrella.h | 17 +- .../Public/BigInt/BigInt-macOS.modulemap | 8 +- .../CryptoSwift/CryptoSwift-iOS-umbrella.h | 17 +- .../CryptoSwift/CryptoSwift-iOS.modulemap | 8 +- .../CryptoSwift/CryptoSwift-macOS-umbrella.h | 17 +- .../CryptoSwift/CryptoSwift-macOS.modulemap | 8 +- .../Public/PromiseKit/PromiseKit-umbrella.h | 27 +- .../Public/PromiseKit/PromiseKit.modulemap | 8 +- ...Kit.root-CorePromise-Foundation-umbrella.h | 24 +- ...eKit.root-CorePromise-Foundation.modulemap | 8 +- .../Public/Result/Result-iOS-umbrella.h | 17 +- .../Public/Result/Result-iOS.modulemap | 8 +- .../Public/Result/Result-macOS-umbrella.h | 17 +- .../Public/Result/Result-macOS.modulemap | 8 +- .../Public/SipHash/SipHash-iOS-umbrella.h | 17 +- .../Public/SipHash/SipHash-iOS.modulemap | 8 +- .../Public/SipHash/SipHash-macOS-umbrella.h | 17 +- .../Public/SipHash/SipHash-macOS.modulemap | 8 +- .../Public/scrypt/scrypt-iOS-umbrella.h | 18 +- .../Public/scrypt/scrypt-iOS.modulemap | 8 +- .../Public/scrypt/scrypt-macOS-umbrella.h | 18 +- .../Public/scrypt/scrypt-macOS.modulemap | 8 +- .../secp256k1_ios-iOS-umbrella.h | 20 +- .../secp256k1_ios/secp256k1_ios-iOS.modulemap | 8 +- .../secp256k1_ios-macOS-umbrella.h | 20 +- .../secp256k1_ios-macOS.modulemap | 8 +- Pods/Manifest.lock | 2 +- Pods/Pods.xcodeproj/project.pbxproj | 2272 ++++++++--------- .../BigInt-iOS/BigInt-iOS.xcconfig | 3 +- .../BigInt-macOS/BigInt-macOS.xcconfig | 3 +- .../CryptoSwift-iOS/CryptoSwift-iOS.xcconfig | 2 +- .../CryptoSwift-macOS.xcconfig | 2 +- .../Pods-web3swift-iOS-acknowledgements.plist | 218 +- .../Pods-web3swift-iOS.debug.xcconfig | 4 +- .../Pods-web3swift-iOS.release.xcconfig | 4 +- ...3swift-iOS_Tests-acknowledgements.markdown | 150 -- ...web3swift-iOS_Tests-acknowledgements.plist | 218 +- .../Pods-web3swift-iOS_Tests.debug.xcconfig | 6 +- .../Pods-web3swift-iOS_Tests.release.xcconfig | 6 +- ...ods-web3swift-macOS-acknowledgements.plist | 218 +- .../Pods-web3swift-macOS.debug.xcconfig | 4 +- .../Pods-web3swift-macOS.release.xcconfig | 4 +- ...wift-macOS_Tests-acknowledgements.markdown | 150 -- ...b3swift-macOS_Tests-acknowledgements.plist | 218 +- .../Pods-web3swift-macOS_Tests.debug.xcconfig | 6 +- ...ods-web3swift-macOS_Tests.release.xcconfig | 6 +- ...seKit.root-CorePromise-Foundation.xcconfig | 3 +- .../PromiseKit/PromiseKit.xcconfig | 3 +- .../Result-iOS/Result-iOS.xcconfig | 2 +- .../Result-macOS/Result-macOS.xcconfig | 2 +- .../SipHash-iOS/SipHash-iOS.xcconfig | 2 +- .../SipHash-macOS/SipHash-macOS.xcconfig | 2 +- .../scrypt-iOS/scrypt-iOS.xcconfig | 5 +- .../scrypt-macOS/scrypt-macOS.xcconfig | 5 +- .../secp256k1_ios-iOS.xcconfig | 5 +- .../secp256k1_ios-macOS.xcconfig | 5 +- 59 files changed, 1083 insertions(+), 2824 deletions(-) mode change 100644 => 120000 Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h mode change 100644 => 120000 Pods/Headers/Public/BigInt/BigInt-iOS.modulemap mode change 100644 => 120000 Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h mode change 100644 => 120000 Pods/Headers/Public/BigInt/BigInt-macOS.modulemap mode change 100644 => 120000 Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h mode change 100644 => 120000 Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap mode change 100644 => 120000 Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h mode change 100644 => 120000 Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap mode change 100644 => 120000 Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h mode change 100644 => 120000 Pods/Headers/Public/PromiseKit/PromiseKit.modulemap mode change 100644 => 120000 Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h mode change 100644 => 120000 Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap mode change 100644 => 120000 Pods/Headers/Public/Result/Result-iOS-umbrella.h mode change 100644 => 120000 Pods/Headers/Public/Result/Result-iOS.modulemap mode change 100644 => 120000 Pods/Headers/Public/Result/Result-macOS-umbrella.h mode change 100644 => 120000 Pods/Headers/Public/Result/Result-macOS.modulemap mode change 100644 => 120000 Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h mode change 100644 => 120000 Pods/Headers/Public/SipHash/SipHash-iOS.modulemap mode change 100644 => 120000 Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h mode change 100644 => 120000 Pods/Headers/Public/SipHash/SipHash-macOS.modulemap mode change 100644 => 120000 Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h mode change 100644 => 120000 Pods/Headers/Public/scrypt/scrypt-iOS.modulemap mode change 100644 => 120000 Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h mode change 100644 => 120000 Pods/Headers/Public/scrypt/scrypt-macOS.modulemap mode change 100644 => 120000 Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h mode change 100644 => 120000 Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap mode change 100644 => 120000 Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h mode change 100644 => 120000 Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap diff --git a/Podfile.lock b/Podfile.lock index 1bdca0d3f..2e97bce91 100755 --- a/Podfile.lock +++ b/Podfile.lock @@ -54,4 +54,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: f6c71566157938ba8afa59f1e6a3ffc11d709d7b -COCOAPODS: 1.5.3 +COCOAPODS: 1.6.0.beta.1 diff --git a/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h b/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h deleted file mode 100644 index e3d2506e1..000000000 --- a/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double BigIntVersionNumber; -FOUNDATION_EXPORT const unsigned char BigIntVersionString[]; - diff --git a/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h b/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h new file mode 120000 index 000000000..dd1f12542 --- /dev/null +++ b/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/BigInt-iOS/BigInt-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap b/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap deleted file mode 100644 index 4eae580c5..000000000 --- a/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap +++ /dev/null @@ -1,7 +0,0 @@ -module BigInt { - umbrella header "BigInt-iOS-umbrella.h" - exclude header "BigInt-macOS-umbrella.h" - - export * - module * { export * } -} diff --git a/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap b/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap new file mode 120000 index 000000000..abcf19c7b --- /dev/null +++ b/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/BigInt-iOS/BigInt-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h b/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h deleted file mode 100644 index bde66664c..000000000 --- a/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double BigIntVersionNumber; -FOUNDATION_EXPORT const unsigned char BigIntVersionString[]; - diff --git a/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h b/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h new file mode 120000 index 000000000..2246911b1 --- /dev/null +++ b/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/BigInt-macOS/BigInt-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap b/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap deleted file mode 100644 index 63d12e8af..000000000 --- a/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap +++ /dev/null @@ -1,7 +0,0 @@ -module BigInt { - umbrella header "BigInt-macOS-umbrella.h" - exclude header "BigInt-iOS-umbrella.h" - - export * - module * { export * } -} diff --git a/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap b/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap new file mode 120000 index 000000000..a4d2cd92b --- /dev/null +++ b/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/BigInt-macOS/BigInt-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h deleted file mode 100644 index e93efa884..000000000 --- a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double CryptoSwiftVersionNumber; -FOUNDATION_EXPORT const unsigned char CryptoSwiftVersionString[]; - diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h new file mode 120000 index 000000000..cb95b8968 --- /dev/null +++ b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap deleted file mode 100644 index 33880aa56..000000000 --- a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap +++ /dev/null @@ -1,7 +0,0 @@ -module CryptoSwift { - umbrella header "CryptoSwift-iOS-umbrella.h" - exclude header "CryptoSwift-macOS-umbrella.h" - - export * - module * { export * } -} diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap new file mode 120000 index 000000000..3c1670110 --- /dev/null +++ b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h deleted file mode 100644 index ad69315c4..000000000 --- a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double CryptoSwiftVersionNumber; -FOUNDATION_EXPORT const unsigned char CryptoSwiftVersionString[]; - diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h new file mode 120000 index 000000000..08f1541b4 --- /dev/null +++ b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap deleted file mode 100644 index 76cf15e80..000000000 --- a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap +++ /dev/null @@ -1,7 +0,0 @@ -module CryptoSwift { - umbrella header "CryptoSwift-macOS-umbrella.h" - exclude header "CryptoSwift-iOS-umbrella.h" - - export * - module * { export * } -} diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap new file mode 120000 index 000000000..86f3a5198 --- /dev/null +++ b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h b/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h deleted file mode 100644 index 4a0b02de6..000000000 --- a/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "fwd.h" -#import "AnyPromise.h" -#import "PromiseKit.h" -#import "NSURLSession+AnyPromise.h" -#import "NSTask+AnyPromise.h" -#import "NSNotificationCenter+AnyPromise.h" -#import "PMKFoundation.h" -#import "PMKUIKit.h" -#import "UIView+AnyPromise.h" -#import "UIViewController+AnyPromise.h" - -FOUNDATION_EXPORT double PromiseKitVersionNumber; -FOUNDATION_EXPORT const unsigned char PromiseKitVersionString[]; - diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h b/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h new file mode 120000 index 000000000..5258e5c49 --- /dev/null +++ b/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/PromiseKit/PromiseKit-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap b/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap deleted file mode 100644 index 31f1aa5b4..000000000 --- a/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap +++ /dev/null @@ -1,7 +0,0 @@ -module PromiseKit { - umbrella header "PromiseKit-umbrella.h" - exclude header "PromiseKit.root-CorePromise-Foundation-umbrella.h" - - export * - module * { export * } -} diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap b/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap new file mode 120000 index 000000000..2d5f2dfac --- /dev/null +++ b/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/PromiseKit/PromiseKit.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h deleted file mode 100644 index 90525d22e..000000000 --- a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "fwd.h" -#import "AnyPromise.h" -#import "PromiseKit.h" -#import "NSURLSession+AnyPromise.h" -#import "NSTask+AnyPromise.h" -#import "NSNotificationCenter+AnyPromise.h" -#import "PMKFoundation.h" - -FOUNDATION_EXPORT double PromiseKitVersionNumber; -FOUNDATION_EXPORT const unsigned char PromiseKitVersionString[]; - diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h new file mode 120000 index 000000000..18ba493ec --- /dev/null +++ b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap deleted file mode 100644 index 8831a9e8c..000000000 --- a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap +++ /dev/null @@ -1,7 +0,0 @@ -module PromiseKit { - umbrella header "PromiseKit.root-CorePromise-Foundation-umbrella.h" - exclude header "PromiseKit-umbrella.h" - - export * - module * { export * } -} diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap new file mode 120000 index 000000000..3a73c5bb3 --- /dev/null +++ b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/Result/Result-iOS-umbrella.h b/Pods/Headers/Public/Result/Result-iOS-umbrella.h deleted file mode 100644 index 25f5eb129..000000000 --- a/Pods/Headers/Public/Result/Result-iOS-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double ResultVersionNumber; -FOUNDATION_EXPORT const unsigned char ResultVersionString[]; - diff --git a/Pods/Headers/Public/Result/Result-iOS-umbrella.h b/Pods/Headers/Public/Result/Result-iOS-umbrella.h new file mode 120000 index 000000000..5b20fced0 --- /dev/null +++ b/Pods/Headers/Public/Result/Result-iOS-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/Result-iOS/Result-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/Result/Result-iOS.modulemap b/Pods/Headers/Public/Result/Result-iOS.modulemap deleted file mode 100644 index a5389d10c..000000000 --- a/Pods/Headers/Public/Result/Result-iOS.modulemap +++ /dev/null @@ -1,7 +0,0 @@ -module Result { - umbrella header "Result-iOS-umbrella.h" - exclude header "Result-macOS-umbrella.h" - - export * - module * { export * } -} diff --git a/Pods/Headers/Public/Result/Result-iOS.modulemap b/Pods/Headers/Public/Result/Result-iOS.modulemap new file mode 120000 index 000000000..ef4d31a54 --- /dev/null +++ b/Pods/Headers/Public/Result/Result-iOS.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/Result-iOS/Result-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/Result/Result-macOS-umbrella.h b/Pods/Headers/Public/Result/Result-macOS-umbrella.h deleted file mode 100644 index 43e81ac3c..000000000 --- a/Pods/Headers/Public/Result/Result-macOS-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double ResultVersionNumber; -FOUNDATION_EXPORT const unsigned char ResultVersionString[]; - diff --git a/Pods/Headers/Public/Result/Result-macOS-umbrella.h b/Pods/Headers/Public/Result/Result-macOS-umbrella.h new file mode 120000 index 000000000..c9f53564e --- /dev/null +++ b/Pods/Headers/Public/Result/Result-macOS-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/Result-macOS/Result-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/Result/Result-macOS.modulemap b/Pods/Headers/Public/Result/Result-macOS.modulemap deleted file mode 100644 index 68af722db..000000000 --- a/Pods/Headers/Public/Result/Result-macOS.modulemap +++ /dev/null @@ -1,7 +0,0 @@ -module Result { - umbrella header "Result-macOS-umbrella.h" - exclude header "Result-iOS-umbrella.h" - - export * - module * { export * } -} diff --git a/Pods/Headers/Public/Result/Result-macOS.modulemap b/Pods/Headers/Public/Result/Result-macOS.modulemap new file mode 120000 index 000000000..edb016a7e --- /dev/null +++ b/Pods/Headers/Public/Result/Result-macOS.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/Result-macOS/Result-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h b/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h deleted file mode 100644 index 65aec28d8..000000000 --- a/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double SipHashVersionNumber; -FOUNDATION_EXPORT const unsigned char SipHashVersionString[]; - diff --git a/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h b/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h new file mode 120000 index 000000000..28bbbc9db --- /dev/null +++ b/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/SipHash-iOS/SipHash-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap b/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap deleted file mode 100644 index fd9c26573..000000000 --- a/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap +++ /dev/null @@ -1,7 +0,0 @@ -module SipHash { - umbrella header "SipHash-iOS-umbrella.h" - exclude header "SipHash-macOS-umbrella.h" - - export * - module * { export * } -} diff --git a/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap b/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap new file mode 120000 index 000000000..2018d12ed --- /dev/null +++ b/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/SipHash-iOS/SipHash-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h b/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h deleted file mode 100644 index ae5b2f0b7..000000000 --- a/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double SipHashVersionNumber; -FOUNDATION_EXPORT const unsigned char SipHashVersionString[]; - diff --git a/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h b/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h new file mode 120000 index 000000000..1dca57bf8 --- /dev/null +++ b/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/SipHash-macOS/SipHash-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap b/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap deleted file mode 100644 index 045b59e80..000000000 --- a/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap +++ /dev/null @@ -1,7 +0,0 @@ -module SipHash { - umbrella header "SipHash-macOS-umbrella.h" - exclude header "SipHash-iOS-umbrella.h" - - export * - module * { export * } -} diff --git a/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap b/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap new file mode 120000 index 000000000..0c53eb8e7 --- /dev/null +++ b/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/SipHash-macOS/SipHash-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h b/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h deleted file mode 100644 index 5dccb1b3e..000000000 --- a/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "scrypt.h" - -FOUNDATION_EXPORT double scryptVersionNumber; -FOUNDATION_EXPORT const unsigned char scryptVersionString[]; - diff --git a/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h b/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h new file mode 120000 index 000000000..718db0006 --- /dev/null +++ b/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/scrypt-iOS/scrypt-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap b/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap deleted file mode 100644 index e95e8b4fc..000000000 --- a/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap +++ /dev/null @@ -1,7 +0,0 @@ -module scrypt { - umbrella header "scrypt-iOS-umbrella.h" - exclude header "scrypt-macOS-umbrella.h" - - export * - module * { export * } -} diff --git a/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap b/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap new file mode 120000 index 000000000..635ae6cbe --- /dev/null +++ b/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/scrypt-iOS/scrypt-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h b/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h deleted file mode 100644 index 5a2597a63..000000000 --- a/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "scrypt.h" - -FOUNDATION_EXPORT double scryptVersionNumber; -FOUNDATION_EXPORT const unsigned char scryptVersionString[]; - diff --git a/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h b/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h new file mode 120000 index 000000000..6ae5f4dbb --- /dev/null +++ b/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/scrypt-macOS/scrypt-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap b/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap deleted file mode 100644 index 16ca0df08..000000000 --- a/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap +++ /dev/null @@ -1,7 +0,0 @@ -module scrypt { - umbrella header "scrypt-macOS-umbrella.h" - exclude header "scrypt-iOS-umbrella.h" - - export * - module * { export * } -} diff --git a/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap b/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap new file mode 120000 index 000000000..83720f251 --- /dev/null +++ b/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/scrypt-macOS/scrypt-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h deleted file mode 100644 index 5fdc91610..000000000 --- a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "secp256k1.h" -#import "secp256k1_ecdh.h" -#import "secp256k1_recovery.h" - -FOUNDATION_EXPORT double secp256k1_iosVersionNumber; -FOUNDATION_EXPORT const unsigned char secp256k1_iosVersionString[]; - diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h new file mode 120000 index 000000000..e72e50f89 --- /dev/null +++ b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap deleted file mode 100644 index 0c686d34e..000000000 --- a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap +++ /dev/null @@ -1,7 +0,0 @@ -module secp256k1_ios { - umbrella header "secp256k1_ios-iOS-umbrella.h" - exclude header "secp256k1_ios-macOS-umbrella.h" - - export * - module * { export * } -} diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap new file mode 120000 index 000000000..7a8adf28f --- /dev/null +++ b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h deleted file mode 100644 index 117a91bcd..000000000 --- a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "secp256k1.h" -#import "secp256k1_ecdh.h" -#import "secp256k1_recovery.h" - -FOUNDATION_EXPORT double secp256k1_iosVersionNumber; -FOUNDATION_EXPORT const unsigned char secp256k1_iosVersionString[]; - diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h new file mode 120000 index 000000000..aeaad2a72 --- /dev/null +++ b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap deleted file mode 100644 index 772f659d7..000000000 --- a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap +++ /dev/null @@ -1,7 +0,0 @@ -module secp256k1_ios { - umbrella header "secp256k1_ios-macOS-umbrella.h" - exclude header "secp256k1_ios-iOS-umbrella.h" - - export * - module * { export * } -} diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap new file mode 120000 index 000000000..91dfab2a6 --- /dev/null +++ b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.modulemap \ No newline at end of file diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock index 1bdca0d3f..2e97bce91 100755 --- a/Pods/Manifest.lock +++ b/Pods/Manifest.lock @@ -54,4 +54,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: f6c71566157938ba8afa59f1e6a3ffc11d709d7b -COCOAPODS: 1.5.3 +COCOAPODS: 1.6.0.beta.1 diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj index 9081a5011..eee8dd974 100644 --- a/Pods/Pods.xcodeproj/project.pbxproj +++ b/Pods/Pods.xcodeproj/project.pbxproj @@ -7,160 +7,160 @@ objects = { /* Begin PBXBuildFile section */ - 00EC6CC102B21BF7CF37B100F377BBFB /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D93F53AAD0FD5DB616A5E1C69164F0D7 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 01E683D1A55DCC27F48AC9CF8CDCBF03 /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF467792E24FCB49390F293678C2E231 /* ZeroPadding.swift */; }; + 020D14793215AFE896BE555B9C76CBDF /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F94C022B4C730984FCEE4E1D731C291 /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; 039A85C483D812BBB34BCD2AB2A5790B /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC8CE2AC7222CA948CFA3E9FEF002800 /* Error.swift */; }; - 03CB7EC1DDE57422A40714B0A6953630 /* scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DC2E6214BB1EB95403BF7608DAF872D /* scrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 047B1F4282EAAB64616F11FF842AA22B /* Cimpl.h in Headers */ = {isa = PBXBuildFile; fileRef = CC773B77A5A65E3C63F4C5305CAD01D1 /* Cimpl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 03DFE13C6697848C21F4EB647BC55AA5 /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = 113FB888146C1156101BB0FCC2303331 /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 044355BCF9A51F03F92DA9A4955EDDF8 /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E34789287378DAC690BDC96A61B534D /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; 051E39EF701E24AC7E524C9D82A28215 /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = C9D0105E6F7855534D035E089FAACA84 /* NSURLSession+AnyPromise.m */; }; 0545829A927B4BB00A483BBE6244387D /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A6199EF8A43EB0E1F3C0EB7228F575C /* HKDF.swift */; }; - 06350C28C665E96DF5F96FB93B1C35CE /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FDB2A79B118B2F003B3E6F5A708B701 /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 080ADA20C98E5C462DA5BC8AB3858320 /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 32804240A56A511992C9AA367655CDBA /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 08AF14BE0C0ED7820C191EAF51A11029 /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 42EA8B8CA97A07CABD4DBAC9F8610993 /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 07DF5F806B224E861175A2B54A157F4E /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7ABA1AA6809B8D6649D072F0CA90E7EE /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 080ADA20C98E5C462DA5BC8AB3858320 /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EE71EAB28439C6C06ACAAA031A9AE66 /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 08D84886240259762D5D2E88FE06BAB2 /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AF444B003D1A7B9026D1AF8B3B5B699 /* HMAC+Foundation.swift */; }; 08EE8946F9CB7AA37352C46DA4BD75EE /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = D24853136C9E866538093205C6E4A90A /* when.m */; }; 092FA91C224FA67526944D6026C42719 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F407B4684E6934554D8F4910242620 /* Int+Extension.swift */; }; - 0A9EFCFFAD8EECF12118CC979D041729 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F3D7D0776B9B3FF06601DD39FA599C90 /* UIKit.framework */; }; 0AD8E3063BA9777F2313604C49FB35DC /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B864BCFD33F0A7ABED7DBA75C963A51A /* BlockCipher.swift */; }; - 0AE93856CF7FADFFADBE88A5A2D92A2A /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D93F53AAD0FD5DB616A5E1C69164F0D7 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0AE93856CF7FADFFADBE88A5A2D92A2A /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 83629B6E064C93119C08CF5B1695D990 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0B9A91423AFC0ACA837C4E56A1AA588A /* Result-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = DCE95DEFE59A8D4B1CC921351954D118 /* Result-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 0BBCC69CD1D17E80AE051FB477BDD3D5 /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321B194E1B8A3A3929C651A01648EF4A /* Array+Foundation.swift */; }; 0CE27E8F6A719CE5E0889EB78FF28719 /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894312908815C8518B59156B045BB049 /* Thenable.swift */; }; 0D581B37DEE69673B5F6AF763BEAF9F0 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BC5492B1E1506F3725992C713A907DF /* SHA3.swift */; }; - 0E4C0ADD74FD8AF9B12C27B6687EB234 /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EF2B2E6A827BEB4095C69760A095228 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0E84110CE577CEBD75E277EA01003F9B /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = 778AAAE605119A0341DA4378ED873181 /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0E8C948E26CAA74B6E9C53529481D064 /* Pods-web3swift-iOS_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D96A0A368BE15EEEB27A3F77B5F74533 /* Pods-web3swift-iOS_Tests-dummy.m */; }; - 0F027DD3DCF059DCB9E33D0B562B5A39 /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 57BE35B8EF2F430EE1A093A4E43F8243 /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0E84110CE577CEBD75E277EA01003F9B /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F7B1F5E8885A02A41E2BC53975DF4F2 /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0EC23A496E7520709A8EF71182D4A977 /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 18CECE2AAA777C20C231B09167732087 /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0F027DD3DCF059DCB9E33D0B562B5A39 /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AE1F2C76AEC2899BB377C5F716B96A9 /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 0FB79BA6789A195C987F2180A58B6AFC /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2290B9153347A3369FAF03E04A19326E /* CBC.swift */; }; 10650E08C4710FC9327EA77E080EAFBD /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8EAA4A69D5AC1E3D89D6D25C9496C75 /* Cryptors.swift */; }; - 10905BAD6CBD3CF5157EB9CE65BEC64B /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = 0297F48C8677A1EAF05256ECF6AE81D5 /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; 11C9F315CE87BFD09E465ADE9C355473 /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5946E85C35328004F1FD0D65ABF93B4 /* Process+Promise.swift */; }; - 1222711B1AB711D6206EED1F2580A623 /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A137B5E1D739B2D491F2842EFFBD559 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1222711B1AB711D6206EED1F2580A623 /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D70BDEFFA46F9A5EE71DB70AE67B5652 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1241921863951D082F323302080CBDFF /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = 2525FC26081FA847B7D6E8209E7A7CC3 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 124C34B2652696617A011E8FECFE0C3B /* Result-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B75257897ACBD9567F00827C544D722 /* Result-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 133747794F37E3A739F51CB04EAEC784 /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8602F37D59CD9AD65EEF65DF7AA62A3 /* UInt16+Extension.swift */; }; - 140DDDDD78010DBE84E1FE23615C64DF /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8575ADFAFEFEFEDACDC32D01960AE2AB /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1530076E5FEDDBAB798D9AD56B228181 /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D8A60B0639785EE266ACA62D536DD199 /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1530076E5FEDDBAB798D9AD56B228181 /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AD354FFD7D90184AD046B8CB46B47C0 /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 158F6BC9635AF0C4F8FCAD1FB913BB45 /* Division.swift in Sources */ = {isa = PBXBuildFile; fileRef = 054B52AFE6F7A33802393B6F7E8B9807 /* Division.swift */; }; - 1666B20DE9E0ABBBCF96F4DDD5B281F8 /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = D37DEA7A8B3EBEC27D9109471669A4BF /* secp256k1.c */; }; - 16B67A3D0D023FF3299B1CB0A7292D31 /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 394A497CBDC2A602E9E5A0A0E4A7C231 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1714C4C4BC531842DE31A3FD8F912949 /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D8A60B0639785EE266ACA62D536DD199 /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1666B20DE9E0ABBBCF96F4DDD5B281F8 /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = D288250D5D03FFA450A24F233388BA7A /* secp256k1.c */; }; 172F8A31708E2C427BF616D9B2E5A52F /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = 110AED7E75239B43DC836BF06AF22BCE /* afterlife.swift */; }; - 187B191D2E4399E1567DB24BD93F0486 /* SipHash-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A252C33BAE7931B130EF619B55FCC0F5 /* SipHash-macOS-dummy.m */; }; + 187B191D2E4399E1567DB24BD93F0486 /* SipHash-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B0423C9D9E49080ACEF73C985FBB221F /* SipHash-macOS-dummy.m */; }; 1904E18F6CE01618BBBC1B31E43B64EA /* BigUInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14B10E35F3FEA07B3ED6132C871686B9 /* BigUInt.swift */; }; 192BA88956DA574C01410D937DFF5098 /* UIView+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 45FFA251444F7DBCE99E0099A3F19A6D /* UIView+AnyPromise.m */; }; 193CE1B123F216F0140298A506854F9D /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65E54F31ACC1397C1485DF5C7B5FA928 /* Random.swift */; }; + 19E005C60300BACBE467130A64746A0F /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = B7C11E88CA44E3C6CD4C1DA0CE8CDF1C /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1A931FA6D7623661E6793527D71A4967 /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = B14E2DB314C3B43D35EF8DAECF6AC3DA /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 1AAC341916DC64CD28D08BDFED57AC9C /* Shifts.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1166BCE9995875A190DA0C329DD6F3E /* Shifts.swift */; }; - 1C884A28FA083B2145425BB4D3369A0B /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 3736F60D986568A8151FD480D9648F38 /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1D96448F1FFF0E5449F67332C543EE32 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 2385B17AD9190A207792185ECE5CD9C7 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1AF1B798714A34D38B61CF7C7B5C185F /* scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DC2E6214BB1EB95403BF7608DAF872D /* scrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1B532920CD5ACB6A6E9B44AD7759774F /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 65FAD979B70CA8CC84821A24AF02DCF2 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1CC09F75AC87A194EBB50A8750BAAE94 /* CryptoSwift-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = AB4A0ADEE88B224FCFB999E14A3FC3BA /* CryptoSwift-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1D96448F1FFF0E5449F67332C543EE32 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B172A41C2D2CEDCBDCF390512DD02F4 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; 1DD88ADB2458E38D5106042F0B958DFA /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A4A461EE06699EE78B2DCA6B7B73F16 /* NSTask+AnyPromise.m */; }; 1E11D4AB7D83F30DC55ED31131C62967 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9111A66A9DB609E927159CEFB76D4E76 /* String+Extension.swift */; }; - 1E5F1CD6111EA4A4CFC001236E4F2447 /* Pods-web3swift-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CCD178AF0C0283D14572A07109AABF34 /* Pods-web3swift-macOS-dummy.m */; }; - 1E9786C210C3093074CAA71FB3C5350F /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = FBEFBB38BBB87913FDCF892141C0AC8D /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1FE7FEC8F5DDD701FD3AE246AD01B367 /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CE3EEB40B82A07623C8EC58D511BDA8 /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2161948858307EC6EEFCED5554369172 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = 15C56E2FA28A6BC277C2F1DF71DE010C /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1E5F1CD6111EA4A4CFC001236E4F2447 /* Pods-web3swift-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E91F337EA3979DB5DD84C325A340270 /* Pods-web3swift-macOS-dummy.m */; }; + 1FC51E63E62DD14E4E0F7422FE40E716 /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = FBEFBB38BBB87913FDCF892141C0AC8D /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 210E681DBFA8097A999F196A7BF59A6E /* secp256k1_ios-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CF4AD4A5FE03F1CD453371F1649C480 /* secp256k1_ios-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2161948858307EC6EEFCED5554369172 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = A7B38174B0902D2DCD57CAFF23561C82 /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; 216986247596660CFCD4D997C374D548 /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B32F8420CC3DEDA3DC7BB0407B26FDF /* Collection+Extension.swift */; }; 216E8A7C42E0512734DBAA38BD573262 /* dispatch_promise.m in Sources */ = {isa = PBXBuildFile; fileRef = 01E16ADA85843E6D30083930685D07D1 /* dispatch_promise.m */; }; - 2267748C1FB1D590488F1B9101FB05C9 /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = 16B7C824120675B47E14A2A872A6DFDC /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; 22D8DF4F46BDC2292C1AE9B4AC3717DC /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = C9D0105E6F7855534D035E089FAACA84 /* NSURLSession+AnyPromise.m */; }; 22FB7357D696E831ABFF6CDE1BC35757 /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E75AE5FFEFA361D707CC354FF1EB3D52 /* Updatable.swift */; }; + 238EF3B8B56806CC020FF044317E57F2 /* UIView+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = E7CC622C1D24D718342B05051554A93A /* UIView+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; 238EF427CBC24F658E1C1FA4E53099CF /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8866E3418AA74CD02353B3E373ACEFA9 /* PMKFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; 239D8E853FDFD3C09B0B3A5E85FB64E8 /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11B33EE72A6FBE59A2A5064DAF6FFC4F /* AES.swift */; }; 244E287BB7934E5AB37BB61D5C587814 /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07692AF4D5F0A8907862595FBCB74ECB /* firstly.swift */; }; - 27157B51378CFF4AD0DF3139827418D2 /* Result-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C166DBC3A2FF6FC7FB066E0142D70FCA /* Result-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2889854855882D799FD2CE472B17A9BA /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 506C81F04F45BF82E339BD28FB9A6252 /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 26A36281153F7D8DF3A79BDBA897DF26 /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F7B1F5E8885A02A41E2BC53975DF4F2 /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2704B064A229223D40B136571F157C09 /* PromiseKit.root-CorePromise-Foundation-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E14AE09BC14CD1D5C3AD72803E39C00F /* PromiseKit.root-CorePromise-Foundation-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 28C3E22A6B7DDE77EFF9E56199884D40 /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 73E79D0886091383BE392E49B7A4EBC0 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; 290854FFD3516C0BA20E66AD41986C4C /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AF444B003D1A7B9026D1AF8B3B5B699 /* HMAC+Foundation.swift */; }; 29A615F1F902BA0EEE2F11FCE2784435 /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CDBE2B78BCAA950F79B74C3FB2E228C /* when.swift */; }; 2BA16B5D2DD651E485E5496216F6996F /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93880388A03A6AEAEBFC90F7F533AAD /* StreamEncryptor.swift */; }; - 2C4AEC06516A5EFE1E600BB0A30CF6D0 /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 5ADFA6DD652FDF2433DB8FB46C2B02CA /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2C4AEC06516A5EFE1E600BB0A30CF6D0 /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 3217AEE906468DE068B9F1656B698E05 /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; 2C9D9A8F2D6CC312D0001D0BB11DEC71 /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B7931AA08AA6E50FAE2325FDFEC9669 /* ResultProtocol.swift */; }; 2CD358B6D6909178593465B26D6A6E53 /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEEB8AE79B5DA3255A444BD9E125CC15 /* Utils+Foundation.swift */; }; 2DD480A5DBA913244A3AF776CECCDCF7 /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FF537F705CA3D41D9798A4511A8F24D /* Authenticator.swift */; }; - 2E6A9E3F8DB35BB64FF546A27C79A813 /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 744D68A2C1A6A6136663892BD5967CEF /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; 2E9282AB77EBAEE8B8BA2BAADF6E533E /* after.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302BA93FAE34FC2BAD89C5501C21611C /* after.swift */; }; 2E988C0A4E1C468D0AFA43A95482D911 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F87371895A84370E0ECB153DA5CFF62 /* PBKDF1.swift */; }; 2EDCE4A3A80772C88E0B4031FE4D86C6 /* Words and Bits.swift in Sources */ = {isa = PBXBuildFile; fileRef = 268F48810699A9A9AD79047FD000B499 /* Words and Bits.swift */; }; 2FB34A1FAE745E38E438FA434B64D592 /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = 184318AC3420D7DB5A094F601C869C72 /* Checksum.swift */; }; 3041A5B7E53D75209A5C347950817958 /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = A414F7D6F59CB6D7C5696F98992E80A2 /* BatchedCollection.swift */; }; - 3076C2BFCE18E87E466B62F19D59F57E /* scrypt-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EE37CE5A8E6206A611EC619B66EC2E0D /* scrypt-macOS-dummy.m */; }; + 3076C2BFCE18E87E466B62F19D59F57E /* scrypt-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B28A30F352D7AD1E7E83DFB9BAB49C0 /* scrypt-macOS-dummy.m */; }; 30A46D981AF2AC75EDB85CC3C5C7FAF2 /* AnyError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26A07B357C5F42ABC4E5A41480B9B5E0 /* AnyError.swift */; }; 31200E73742F8C75471A9E1E934AFD6C /* hang.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAB3BF2C1D04839054658D7999609AFA /* hang.swift */; }; 312FED65DD6B7D4E4C0AF196082B4292 /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BBCEC526DF7F5F6A046CBAA7F93B530 /* SecureBytes.swift */; }; 314D8B2F7ACB1285289701FA44D49A3B /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D7C8185E119AF505859D0B27973E57E /* AES.Cryptors.swift */; }; 315E61FA169A73000F63292BBAE8457F /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1EA13DCEFA32B29351F75416999B53B /* DigestType.swift */; }; 337EA355DE058979DB126870227A42DF /* Floating Point Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FAB45044F3A646E2488529698B14387 /* Floating Point Conversion.swift */; }; + 339018FACD17608CC28A77397F15523B /* UIViewController+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DFFEB20DCD9CFCA06DAE16B4367F1B9 /* UIViewController+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; 34D61980DF37C53741DC15DEEDCFAC25 /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCDA16C2155C3C3AC4C4D3C23A57EC12 /* UInt8+Extension.swift */; }; 354D68B8C8B6D4C003BDB91E8A1D680A /* String Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7DFFB650AB055EA65177877A4837E93 /* String Conversion.swift */; }; 359269757B7FED4424DD9489F42BBB49 /* SipHashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2C42F3DFC4E6CC75140A86DF8616CC3 /* SipHashable.swift */; }; - 35F5C4B5CE3A02EA4B3FBDD6746ADA74 /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = F1F1BD0CE2445F35A20783082C9D4775 /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 35DAD73CA3D181C3820B7A48AAF6B788 /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EE71EAB28439C6C06ACAAA031A9AE66 /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 36DB5AEC759BAA7C4222B36C8790FA8A /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = A414F7D6F59CB6D7C5696F98992E80A2 /* BatchedCollection.swift */; }; 370C7FFEAB64F443F216B37A2B33F106 /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = E88F02B72D0ADCFDAA37C5D63ABB3679 /* NoPadding.swift */; }; 3755C12BE9E88D2D7E5765B3CDC80DD9 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1961CDC6282709B9B35B8F757754E1A /* CompactMap.swift */; }; 377C6046F93E7409F3996D06ADAD4CC7 /* SipHashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2C42F3DFC4E6CC75140A86DF8616CC3 /* SipHashable.swift */; }; - 381C6587FE16247159980E6AD7346AF3 /* CryptoSwift-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EE0308F276A9A14635D7A83AB1F5F78 /* CryptoSwift-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 38B6E072F812605CF0B4FA03B3528A82 /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E865E2465317D7395EFFC3E15BE3B82 /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 38B6E072F812605CF0B4FA03B3528A82 /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7ABA1AA6809B8D6649D072F0CA90E7EE /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 38D8B82703E87B790A4D8C9B749644DF /* Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D159242CC5E8F83FDBE6973BE570CA54 /* Comparable.swift */; }; - 3A47021BD84B2E73B822B69102C2BCCD /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 413EEACF83712E321F24944C021FEB53 /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 391B4F1D6A8EBFD3317BD7B4637E0B42 /* PromiseKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A75A46146F4FF1C0CB840CA36D75492 /* PromiseKit-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3A0BDEA886E92E674AB63F02A38A9044 /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 670BCF92469F3BB35E8F617E2F61E479 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3A611A77C4E834E1E7F375E6362DB0D7 /* Pods-web3swift-iOS_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B56F6A20A0CF698ECA0EDF6CF4CDD74 /* Pods-web3swift-iOS_Tests-dummy.m */; }; 3A7D4D17062363D0D7DE5405827EB6D1 /* Guarantee.swift in Sources */ = {isa = PBXBuildFile; fileRef = 991C827F3BBAAEE28EE416BE38F76DD0 /* Guarantee.swift */; }; - 3AB4243277B67763E8C819980881BA44 /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 97CA37D99BC06AE9B4704C72A22686E5 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3AC07C0FB85EDC81532D78FAB99C85B1 /* BigUInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14B10E35F3FEA07B3ED6132C871686B9 /* BigUInt.swift */; }; 3AC689CBB3DC3931542904E58800704C /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEF9AB34E06A2A4078A0C87B37B1CD0F /* RandomBytesSequence.swift */; }; 3AEDA0F0A0D1B6B201C42C72941FCE3F /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0E096DA6BBC65953BD97D1BD9FDC13A /* Blowfish+Foundation.swift */; }; - 3B3C7BC5E53C195B74B659C5D3445385 /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 07F62FD29EAB7298762C10A21294A6B1 /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3B3C7BC5E53C195B74B659C5D3445385 /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = B14E2DB314C3B43D35EF8DAECF6AC3DA /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3B41981C0A080D47C5C9EC0F3FFB7611 /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 11D2E84F01BCA808E576508AFC2BECBA /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3BD9A23A6A10CF688F51418A5C0A926C /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = AADCF3484DBEE7528E66E04707BBA998 /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3E08A96B92AD3C76A8C13B5444DDB23B /* NoError.swift in Sources */ = {isa = PBXBuildFile; fileRef = C57F8890E519BE45C84FBCD5E06453AF /* NoError.swift */; }; 3E20F5E2C7DA6C8B4AF7D05CA526183F /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EE7CBB8299AB71F5275827AA34C853A /* Cryptor.swift */; }; 3E5D7D6D073F33181BEE8BBAA47E427E /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 3736F60D986568A8151FD480D9648F38 /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3EFA188E4DB94F776E9769B16C85FDD7 /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 83629B6E064C93119C08CF5B1695D990 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3F474D94A325AFDB74206B0CD0790920 /* SipHasher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 602BCDD7A6B60ADA7204658627037B22 /* SipHasher.swift */; }; - 3F78D2AC31E0DF3F1BF6300484D449AB /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = D37DEA7A8B3EBEC27D9109471669A4BF /* secp256k1.c */; }; - 3F959C8CCB1AF132682B6BB4D1306CB3 /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 32804240A56A511992C9AA367655CDBA /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 40EFCF53AC23E42E8CE500F73237112F /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 42EA8B8CA97A07CABD4DBAC9F8610993 /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3F78D2AC31E0DF3F1BF6300484D449AB /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = D288250D5D03FFA450A24F233388BA7A /* secp256k1.c */; }; + 4012B628413F1BB0A86D23CEF67DDB93 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 04D613988B2E91F7B5A7327303576BAB /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 40EFCF53AC23E42E8CE500F73237112F /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 337F14F3FE32B1AA45844B7F9E94C8CB /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4262E028B1F9886FD1163C16D5E39C88 /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = FAA8118238A7270948998466F81E6253 /* after.m */; }; - 42AD653190052E600C4C4CE1DE6ACE20 /* Result-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E225EB05FD399DD7D7BE642605DF6932 /* Result-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 42C6DB05A3663AC4AB08317F9287797A /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 231D53FA7D46749E94693152ECA561B4 /* AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; 42FF2C1D3648C354550AC88EE5E64B80 /* Data Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C8A77BEACE815406E69A6AC5A86CAD0 /* Data Conversion.swift */; }; + 431B4A873377BAA0B7101CA62F243F69 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B172A41C2D2CEDCBDCF390512DD02F4 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 43211F1E91C824A5FC64E00B62E5AB95 /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = 56B4887D50F2EB64112AE8382F814BE6 /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4394019D91B5D15A9BB24CE7CA201410 /* NSObject+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15059FCA7454E93E51AFB7275C28A335 /* NSObject+Promise.swift */; }; 4407ACFACA948CBA51F56B96A99EE4CE /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38CE3ACA4B29354641417DECF1CDC5CF /* PKCS7Padding.swift */; }; 44DF067E138C7E2662D76052B1D15932 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9612CFC925C44DA818604C666EB454C /* Operators.swift */; }; - 44EF160E7C344881C2BA9C1A108A7310 /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 30F699976B957E8821EB632AF092C14C /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 45482DED636330B9BCE4493225B66813 /* Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D159242CC5E8F83FDBE6973BE570CA54 /* Comparable.swift */; }; 4562B917950C9F7E1CE07191DFDA096D /* race.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9C90F0F0F9A0115AC326304EB131CA4 /* race.swift */; }; 49BABAEF57C8A617DA34C25DB757180B /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D7C8185E119AF505859D0B27973E57E /* AES.Cryptors.swift */; }; + 4A5F92735335EE5F55A619EDD9382812 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E727EFDF1D9F0E72FF769FA527EB01D /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4ABE0DFEC60E5ADE9205151D88B2F08B /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 309EDA4AEC3E9553B1C5228CB1CB760F /* Result.swift */; }; - 4B7175E173407B71508A864A033EC107 /* SipHash-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F02F7BA4CE0D08B4598AA01224ED76C /* SipHash-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4BA76EF32D81038B1AD2E8C555A3C985 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9612CFC925C44DA818604C666EB454C /* Operators.swift */; }; - 4C4766DBF2D7901BC1CD2C5DFBD76A5E /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = 15C56E2FA28A6BC277C2F1DF71DE010C /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4D424F348E7A03D67FCBFD968F07E772 /* hang.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAB3BF2C1D04839054658D7999609AFA /* hang.swift */; }; - 4D7DEDC820A1EF913455BC0FBE72FBD6 /* BigInt-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 70EC0C5B63B6AFB5C821750D9F6A516C /* BigInt-iOS-dummy.m */; }; - 4E4F07B24DAB1E29AC81AD866A43C376 /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = EC2691B355719F37BCE2B9EB79640902 /* lax_der_privatekey_parsing.c */; }; + 4D7DEDC820A1EF913455BC0FBE72FBD6 /* BigInt-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 10236EF8647E9F61C53670449679E133 /* BigInt-iOS-dummy.m */; }; + 4E4F07B24DAB1E29AC81AD866A43C376 /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = 1D7CEF9F4C98A2CE1B98AD20F3608F16 /* lax_der_privatekey_parsing.c */; }; 4E8C968B4D8B860668C9C36CA819BF70 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1961CDC6282709B9B35B8F757754E1A /* CompactMap.swift */; }; 4FCF1CB933BEBAC5D0892C543D68E658 /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7FE282781FCA8360DCC5EEC2DFC9045 /* BlockDecryptor.swift */; }; 5063FE3FE1C30A73A073F3533C508D64 /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BC87D5802ED83EA9011FD6A3EB7B4D3 /* AES+Foundation.swift */; }; - 50FF7D4212CB39686DFD6FEAA3C5FEC1 /* scrypt-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 99B84A386A434CF038072CF11DE08F34 /* scrypt-iOS-dummy.m */; }; + 50FF7D4212CB39686DFD6FEAA3C5FEC1 /* scrypt-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C3C66A0B084556BD285AA44CBCA65202 /* scrypt-iOS-dummy.m */; }; 5104F193E7D7CB179A24BF3E5235FD3F /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1EA13DCEFA32B29351F75416999B53B /* DigestType.swift */; }; 51CAAE01BFF59F085BC9B34842E3C7C2 /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07692AF4D5F0A8907862595FBCB74ECB /* firstly.swift */; }; 51DADAE211CE77CDDD762DF1F5FAA236 /* Exponentiation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 129F0BDD5D5540B28243DA06090AEC11 /* Exponentiation.swift */; }; - 528C5C69D4815F5FC83E3D5BBE41271D /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 07F62FD29EAB7298762C10A21294A6B1 /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 52FB4B4296FA803827D3F78B1EA7FF8C /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = 110AED7E75239B43DC836BF06AF22BCE /* afterlife.swift */; }; + 5378A6D7FB3F30FD0F2D5EBF728C481F /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 337F14F3FE32B1AA45844B7F9E94C8CB /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 53FBBFD161D6A1C13A33616571645C5E /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 520379C6715340D2674500ACBD1C4502 /* Catchable.swift */; }; 5518BD53D7F73216E2695680ACBAC221 /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = FAA8118238A7270948998466F81E6253 /* after.m */; }; - 553EB75D5DF57D74E8408D29DF6F8F3D /* secp256k1_ios-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F9FAC5C083C513006168E954E709EB9 /* secp256k1_ios-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 557E070EDC1D983960128B12A77AA293 /* GCD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17049D2192C6CCC8A8BE362B66ED01E6 /* GCD.swift */; }; - 57A82484117095DCA73446B1E6ECFC32 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 894C3E3F18C4D842D9E35A6A69851AF0 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5A5911FA8E88B73CCAFBFFA88D5B9E35 /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = 030837B4EF44BB6736CDF5FBF205E93E /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 57A82484117095DCA73446B1E6ECFC32 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 3784FB8ABDFC677C070E5808E273F420 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5A5911FA8E88B73CCAFBFFA88D5B9E35 /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = 7953AAFAFDD8639ABC0F6CFA2A5E6436 /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; 5A8B48EB086264AB7340C7FBF07D7383 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F213EA122AE5157AD579B519B42CAA5 /* Utils.swift */; }; 5B58F3471510812FD864BF21791F7497 /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6AD63B104B462BD7A0812CF8D8089 /* Resolver.swift */; }; 5BF15FCDA2CA5E504F774B93C1EAA123 /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2FA1DA6CAEC899929310534A250E53B /* OFB.swift */; }; 5C173DF75AE4F4E54EB9DD7D68D44568 /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3C749DBE031D5CD32F6F718288C1AC0 /* Promise.swift */; }; - 5CA03C34BCCCA0FC29653E6A50C0277C /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 30F699976B957E8821EB632AF092C14C /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5CA03C34BCCCA0FC29653E6A50C0277C /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = AADCF3484DBEE7528E66E04707BBA998 /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 5CA9E73F8349BAC9F5EBD1F0589C91AD /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CB44D970BC24207B7D4CA4DD2644E2B /* ChaCha20+Foundation.swift */; }; + 5D44B3C73A389261EB15DCD7849BE6DF /* PMKUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = D175F930B0613AAEB35FE3D02276CA4D /* PMKUIKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; 5E0F76D46A3F14CC3903F4D072D6652C /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C74C1E23D6AF919642E4F6E55FD308 /* BlockModeOptions.swift */; }; 5EABC52C76A5F7DD29136E5C10CAA368 /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A699FEC4F0274F833ECDEB986CAABBD2 /* UInt32+Extension.swift */; }; 5EBCC3EF4D3AEDA8DE7D24EAF054A21D /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF5CF52D91122CF7B77E75FAF93251C3 /* UInt64+Extension.swift */; }; - 5F6C3C9162B3C0A00863D73DE9F264E4 /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B7D33AF1AE938A46700885645D7B0C6 /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; 619A7209AF68E44B937A8C030287B0CA /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = D6FBFF07C73E9B536C49D3D32A989327 /* join.m */; }; 61C9BCD007508C2CB8959FA50BF0F53F /* Addition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F24C4B729147ABA4455041FEDE41FE00 /* Addition.swift */; }; 61D043FD677FACF7F382F67A430A7F62 /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 400C4535441BC4EF157E1C50C654B28E /* SHA2.swift */; }; - 64310DB95A0B71D32365CB6D88944A03 /* SipHash-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B37E3EA16DFF85A33306C879D27B6C3 /* SipHash-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 63FFA36A34A36A797BEA3D7EDF4CC3C8 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = AFCE6E7D1FF14C1DB7CAA83B0D516538 /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 6483A6AC993D8C5F8983064789F220B8 /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2290B9153347A3369FAF03E04A19326E /* CBC.swift */; }; - 64F86EC9C5F4F9BA6A73B501B1B84262 /* UIView+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = E7CC622C1D24D718342B05051554A93A /* UIView+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 66C39E6D8A7FDD96FE537FBCF8E2E96B /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = 4965C40E8438A02BE82C485420845345 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; 67722A22A203CDADAD4B402AED93007B /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6AD63B104B462BD7A0812CF8D8089 /* Resolver.swift */; }; 6817327279945D8425268EF14CDDAC21 /* Primitive Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = F685B50C77BC588736193EFC93B3FAFA /* Primitive Types.swift */; }; 68F0D885CE489382878D120C3BA4B7A8 /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B7931AA08AA6E50FAE2325FDFEC9669 /* ResultProtocol.swift */; }; @@ -169,51 +169,52 @@ 6B050CF87A4AF6792BB270FFBD764A76 /* race.m in Sources */ = {isa = PBXBuildFile; fileRef = B592EEFCCF7F964D0B60F749B17B7658 /* race.m */; }; 6CE3E12734602C2051BDEA332E5F55CD /* AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 6565B9A6640E27ECBBF27A2AB8E07117 /* AnyPromise.m */; }; 6D44B36B12347BA0E2838B68148C4BB4 /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = F618CC73DE8826F0386137F6584B6A57 /* GCM.swift */; }; - 6D55E98E3CA63D1202BE0641D7399EE8 /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = 86010FFDC0CB0732CC170A6EB5EC36A5 /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6D55E98E3CA63D1202BE0641D7399EE8 /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = 113FB888146C1156101BB0FCC2303331 /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; 6D5CD948E7245E25D3815643B2B4C89D /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321B194E1B8A3A3929C651A01648EF4A /* Array+Foundation.swift */; }; 6D92208E7FD3D5F577A4CE8CB9408544 /* Cimpl.h in Headers */ = {isa = PBXBuildFile; fileRef = CC773B77A5A65E3C63F4C5305CAD01D1 /* Cimpl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 6DBF333CC01A4E9765AFF12263B05CF3 /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3C749DBE031D5CD32F6F718288C1AC0 /* Promise.swift */; }; 6ED4064256289FBBEBDBF2C1D4C347CA /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BC87D5802ED83EA9011FD6A3EB7B4D3 /* AES+Foundation.swift */; }; - 6EEC29ACFC2BEE23CC88A7DFD2637969 /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AF087435CFE453BE94CFAE116CC7661 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; 6EFDB00864D7D2230D576768C0C445F3 /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = 96BC14C5CF69F4D24A02B045A7A1BB7E /* fwd.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6F05C030F1EA0E9ADF729E6E647CACFE /* Pods-web3swift-macOS_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B3A8A1265A6932800FDF40A5E65FEC7 /* Pods-web3swift-macOS_Tests-dummy.m */; }; 6F5B521B508C0230EF8488842DE2C905 /* SipHasher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 602BCDD7A6B60ADA7204658627037B22 /* SipHasher.swift */; }; 6FD417369E56DA302F107E9478D4A735 /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 9419704F82CEC9143EC36DDD7E0B5565 /* NSNotificationCenter+AnyPromise.m */; }; + 70DA4C91DB3C9D2179662801D68386A0 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 3784FB8ABDFC677C070E5808E273F420 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 717B05FECD48B3ED8481296EF0CCF350 /* RandomUInt64.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5571DA87BD8084546DB65E212E690849 /* RandomUInt64.swift */; }; 7193D179572C3FAD861BD281EBBE0794 /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2FA1DA6CAEC899929310534A250E53B /* OFB.swift */; }; - 7239F0AB8B86ECA736377C06ADA831F9 /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 97CA37D99BC06AE9B4704C72A22686E5 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7239F0AB8B86ECA736377C06ADA831F9 /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 670BCF92469F3BB35E8F617E2F61E479 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7314A1C475E3E135C16C733C84508F1D /* NSObject+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15059FCA7454E93E51AFB7275C28A335 /* NSObject+Promise.swift */; }; 733ACA74E73BC9EA955F347A731DBB5F /* Guarantee.swift in Sources */ = {isa = PBXBuildFile; fileRef = 991C827F3BBAAEE28EE416BE38F76DD0 /* Guarantee.swift */; }; 736BB84780916C964F46C4B77671A1AF /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29DC94582C8F4626E7BBD65A075FDBD5 /* NSURLSession+Promise.swift */; }; 74602FF913EBE7791DE8B091DBFC2D6E /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3BEE25ACB7B1714E52C057B725B022B /* ChaCha20.swift */; }; 7478C4AB680096975DA0F3885DE5128C /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E8B805F5680EBA0F99C37AB55DF371A /* Blowfish.swift */; }; - 74A7F683ED642B57FD66AF3452F366A4 /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E865E2465317D7395EFFC3E15BE3B82 /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 75383208B98A4BFB61B7418E8B546CCC /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2D922779E502A6EFC12530D47844477 /* AEAD.swift */; }; + 753EBD02641E8F6F23CAC9B8BE1AB870 /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F7A4EBB203B3B080F8B5BF693B1D73E /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; 75603E077E70073F479AE5B3F89CDC8B /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D22F70DCC90E8FE0E9EC24A5DBABE79C /* Rabbit+Foundation.swift */; }; - 768B8E3C8A41ACDBF1607EAD1013301D /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1143B8F0055C240BA0D05D50FC1CC020 /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 75DFBA4078AA16B9762F25A2068F8266 /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = EB741666A46691B0F36213814C9E064B /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 768B8E3C8A41ACDBF1607EAD1013301D /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A780AF8B00436C92795015A4BB4871E /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 76C870EB2A458DD871074597EBF85551 /* Salsa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45C2BE6D1118A5C0F2E549CE3527D602 /* Salsa.swift */; }; 76F56049518D4E3F2868ECB003F2990A /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5E5C5193E731A76273A1ADACD50AB81 /* PCBC.swift */; }; + 7727C417D26C1F6EBC5668D0FF7E24BF /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 480A526DDBB009A3C8A843239CA3D080 /* PromiseKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; 773013B84E21E3867773BCAB6E171CBC /* Shifts.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1166BCE9995875A190DA0C329DD6F3E /* Shifts.swift */; }; 77EBF711C1B88D92CFC3AFCE6293E015 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 092C4E684DC275279EC695C30F05982A /* Array+Extension.swift */; }; 789A3DD0AA3D7580E0FCF6389C037D56 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BC5492B1E1506F3725992C713A907DF /* SHA3.swift */; }; + 78A661EDD584574FE574F9F5442C1D19 /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 9873C60F241233030F26574B565116B5 /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 78BB8536FFE3547FBB5E621141E01F84 /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 480A526DDBB009A3C8A843239CA3D080 /* PromiseKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; 78CF0243E783BB84E94C69AEE8CB1E8F /* AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 6565B9A6640E27ECBBF27A2AB8E07117 /* AnyPromise.m */; }; - 78DB68659C3EA82DD2DAF980F8E703BB /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = 16B7C824120675B47E14A2A872A6DFDC /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 78DB68659C3EA82DD2DAF980F8E703BB /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E10436F61B2E20A7AC6B9FA2B43475B /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 79CA11C1BDDC386FF2A4ADBB513892CF /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8866E3418AA74CD02353B3E373ACEFA9 /* PMKFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; 79FA79BA765DEEF172BC0384B7E5CE84 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = D89263E801FAC6A34F7C9D4E3A3066A9 /* UInt128.swift */; }; 7A0702EE936C773C38F5E4B7F21AB26C /* Multiplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14A3B9C8EDE35875C552679A990B05FA /* Multiplication.swift */; }; - 7A95B0BC386E8AF888E81C3A766D509F /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C0825E5C07CD2AD15EADE1A4F132C24 /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7A95B0BC386E8AF888E81C3A766D509F /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 11D2E84F01BCA808E576508AFC2BECBA /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7AC2E47719C68FABBDF2DF9E567086AF /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CE50C1C3EED312C9E2B7129A77B305B /* SHA1.swift */; }; - 7B1BE0AB735B19AC77A7EC6490675D5A /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 33EBDEB3CCBA0EA3C7F7CB093743643E /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7BA326DD0CB90C3E9B6459E45258514A /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B7D33AF1AE938A46700885645D7B0C6 /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7C36C0D98CE341BB254E6F2B63A604F6 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C9596E2D0164256EFB0F1673E724BB1 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7BA326DD0CB90C3E9B6459E45258514A /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 154960BA397A967916A61F0CA3ACDA98 /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7C414865BEC16506132F9910DBD62F3B /* Division.swift in Sources */ = {isa = PBXBuildFile; fileRef = 054B52AFE6F7A33802393B6F7E8B9807 /* Division.swift */; }; 7C84CA8569B6C593005324DE5F49621E /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D956E4D797535DA55BFACC56BAE7232E /* BlockMode.swift */; }; 7CEBCAAE658C0E0716B41E40BEF8FB3D /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD4D44D1A4A0B550CAB6D8C2AED04AD3 /* CMAC.swift */; }; 7DAD16539BA5194CA6515AEA28BC29CA /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C74C1E23D6AF919642E4F6E55FD308 /* BlockModeOptions.swift */; }; 7DB10EF26A0A2F6768F695BE03C0AB86 /* Multiplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14A3B9C8EDE35875C552679A990B05FA /* Multiplication.swift */; }; - 7E7B5FFB45B34D030569DB117921D0A2 /* PromiseKit.root-CorePromise-Foundation-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 448D25E7648FA3DE003C577C4A2A5DCC /* PromiseKit.root-CorePromise-Foundation-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7ED61B6F717591CD9AEE78153233E125 /* CryptoSwift-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D637897EFADFCEE3659DF22E194C4ABD /* CryptoSwift-macOS-dummy.m */; }; - 7F46D5244B59340D5B0A7E454860D689 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 33EBDEB3CCBA0EA3C7F7CB093743643E /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7ED61B6F717591CD9AEE78153233E125 /* CryptoSwift-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 95FA6138713C5F6E2FBBB866D8A4C6E0 /* CryptoSwift-macOS-dummy.m */; }; + 7F20A41D40643A5EE1FB3E64F1BB44BB /* Cimpl.h in Headers */ = {isa = PBXBuildFile; fileRef = CC773B77A5A65E3C63F4C5305CAD01D1 /* Cimpl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7F46D5244B59340D5B0A7E454860D689 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = AFCE6E7D1FF14C1DB7CAA83B0D516538 /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7F754A09D7EA3165D9758A80F307227E /* Floating Point Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FAB45044F3A646E2488529698B14387 /* Floating Point Conversion.swift */; }; 7F8D8FBC1A9C67B326A7F5A04BC3658B /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91836319B3FCCB5A2B1BCE6EF7415F68 /* CFB.swift */; }; 7FE0C78E1D6CF35FD66403216909410B /* BigInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0955D39FEEF45C034D6A32CD819DA77A /* BigInt.swift */; }; @@ -221,39 +222,38 @@ 80D2DC67C9BF404DB886FB1B282408D3 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2806EF87AE8A9188FC203D40F55755F3 /* HMAC.swift */; }; 8384A7D8940BDD9B50ABF44358E12847 /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3BEE25ACB7B1714E52C057B725B022B /* ChaCha20.swift */; }; 848EFB4F6CDA94AAAD25CCB2283E9EAA /* Integer Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD4C6A3CDC6FA3F322EA1C393C5CC89E /* Integer Conversion.swift */; }; - 84CCEF3B86065A6C299BE772199B73C1 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FDB2A79B118B2F003B3E6F5A708B701 /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 84CCEF3B86065A6C299BE772199B73C1 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F94C022B4C730984FCEE4E1D731C291 /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 85BE6E38DF5EF78306F1A4AA5D9BDFFA /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 154960BA397A967916A61F0CA3ACDA98 /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; 8601AFFE38D08BA40B4AED33D04654E4 /* Strideable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00E44D081910E0A312C3A2879F658B01 /* Strideable.swift */; }; - 8632EC1A529DFEE13BF97399F45FFEE3 /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A137B5E1D739B2D491F2842EFFBD559 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 86AB793BCF8161E36142EA221E00E33C /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = 51FFE70E98E00B14A7CEDBC9878713E7 /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; 874698320130745EC1465E308033D024 /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B32F8420CC3DEDA3DC7BB0407B26FDF /* Collection+Extension.swift */; }; - 88BF6E9DAD1C8B0508E8CFFEDE03C163 /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 506C81F04F45BF82E339BD28FB9A6252 /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8838B2C8BD6B40891B3DCF118A17026D /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AD354FFD7D90184AD046B8CB46B47C0 /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 88BF6E9DAD1C8B0508E8CFFEDE03C163 /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 9873C60F241233030F26574B565116B5 /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 89AD1BFCA3B307CD78AFB34118AC031D /* Addition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F24C4B729147ABA4455041FEDE41FE00 /* Addition.swift */; }; + 8A5E008391D8321CFFAF8C16780EFA36 /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D3B85A32FDF4C95F0BAA5B3BB12FE9C /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 8ABEC41E232F354C6DF2DB60B4AEDF49 /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5E831984223821B4643964E0D16375 /* AEADChaCha20Poly1305.swift */; }; 8BB491EE5C33542F02AAC503E876F8D9 /* UIView+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 560B0B96D98FDEEAA1623C02B9F6ACC6 /* UIView+Promise.swift */; }; - 8BDA6DB765F25A0DB641BAE9BE4B3159 /* scrypt-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BF229E2F5523E62D853248DA0E5AA38 /* scrypt-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 8CA95863A4A71897EE45477A562A16B3 /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEEB8AE79B5DA3255A444BD9E125CC15 /* Utils+Foundation.swift */; }; - 8CF2686010D558BD03C7CED505C11C9C /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DDEB5B32B77FC78B04321FABF19FAF64 /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 8DE8FDE423347EA29D896211A3C2C7CB /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74C8E7BC7B9A663969DC6A1FAE5AD6C6 /* Bit.swift */; }; 8E189B54FFC987969C2A26D21DB0FB42 /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74C8E7BC7B9A663969DC6A1FAE5AD6C6 /* Bit.swift */; }; 8EF9B8FF607B9FD70D85D95EA60C804D /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E75AE5FFEFA361D707CC354FF1EB3D52 /* Updatable.swift */; }; 8F6828B66EC68D2878CEACC7D234DCED /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29DC94582C8F4626E7BBD65A075FDBD5 /* NSURLSession+Promise.swift */; }; - 908767B8A8D3AB83A352870C44DBF7FF /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DC80BC8175DF95AF5AC0777B4379466F /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 919245ABE3324EC4EC8E675AB9592327 /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 370C998F97BBB1397D09CD78C43A9919 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 923235788E467394092CE2018C5FAEB2 /* UIViewController+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DFFEB20DCD9CFCA06DAE16B4367F1B9 /* UIViewController+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 908767B8A8D3AB83A352870C44DBF7FF /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 128F0A3649763AA74BB1F997980E9878 /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 90B8891EA1CDC0E2CB923E349FC54D85 /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 3736F60D986568A8151FD480D9648F38 /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; 934311E0A7ED33AF227CA6236BE194FA /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9111A66A9DB609E927159CEFB76D4E76 /* String+Extension.swift */; }; 9346676038E479F7475D304CD3939A0F /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91836319B3FCCB5A2B1BCE6EF7415F68 /* CFB.swift */; }; + 93A04B36AE3206350B85D19862F5F62A /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = CC5C878E59F3ED2C5956640525A3B54F /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; 93AD3CA5F13CFF076A06516E303A61C9 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F87371895A84370E0ECB153DA5CFF62 /* PBKDF1.swift */; }; + 95532035A7D2C05E9D78194EF284D038 /* secp256k1_ios-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 26C87BA1E1CD3DA69658381DC862662E /* secp256k1_ios-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 969BD4FC9172F82D66E704BF544A30AC /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = F618CC73DE8826F0386137F6584B6A57 /* GCM.swift */; }; 96C6125FB939C1C06CE63AD1E59F88B7 /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E45449F26960667F9B102A7F62C60D31 /* Digest.swift */; }; 9712E5BC7B1EEE1A02EEA6DC76325BEA /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AB377C96E323960FB5F59BE70C7DDFA /* Poly1305.swift */; }; 971CF5DA4334D6FC9E1DE7E8118BF088 /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FA266C4746C1D8469AC609FF653BED1 /* Cipher.swift */; }; 9780B00892C127C1916229C06A751F7E /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 400C4535441BC4EF157E1C50C654B28E /* SHA2.swift */; }; - 98602E727D3013D4EA8D28E0B796F914 /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = 030837B4EF44BB6736CDF5FBF205E93E /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; 991C48377FE8653491950997A605201D /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39CF9703323096F120BB7C18AC3CDD7E /* CipherModeWorker.swift */; }; 9940F65AAACFEDF8634F4017D31420A4 /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCDA16C2155C3C3AC4C4D3C23A57EC12 /* UInt8+Extension.swift */; }; 9AF4F6F40F110FAFE3BAC951C7099D74 /* dispatch_promise.m in Sources */ = {isa = PBXBuildFile; fileRef = 01E16ADA85843E6D30083930685D07D1 /* dispatch_promise.m */; }; + 9C93294CF1F7E31E9BCF02381B17FAF5 /* scrypt-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F76DF7D8AADE94E0258CC9A76C4A2C8F /* scrypt-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 9CA622EDF0E225A5FE37350E93E7B757 /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8602F37D59CD9AD65EEF65DF7AA62A3 /* UInt16+Extension.swift */; }; - 9CD7AB59AA056063FC32AB28C3B0C2B4 /* secp256k1_ios-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = BDB424BDD775458975A06633ABB1E890 /* secp256k1_ios-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 9CF22D4A3B62E62B50881D0DE45FBDF9 /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2D922779E502A6EFC12530D47844477 /* AEAD.swift */; }; 9DAE14B88EE655354CACE65717FA211E /* Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51008209B67B821AFF37051156E8A7FD /* Hashable.swift */; }; 9E85EE2DD5C2A60DF3DE739BD1218C76 /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = E82A76E0CD40E20D9FEC34DAF7889ECB /* MD5.swift */; }; @@ -262,41 +262,39 @@ 9EBA376F929F46495FD004AC09201059 /* AnyError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26A07B357C5F42ABC4E5A41480B9B5E0 /* AnyError.swift */; }; 9ECA90F3DC3F75B1A6491658418173EC /* Salsa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45C2BE6D1118A5C0F2E549CE3527D602 /* Salsa.swift */; }; 9EE54627ED72870C58157B76B89AC3AF /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38CE3ACA4B29354641417DECF1CDC5CF /* PKCS7Padding.swift */; }; - 9F64F076880B1E6A80C8D1D3090C687C /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1143B8F0055C240BA0D05D50FC1CC020 /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; A01F875E651CCF1697C02EA9BF034852 /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5E5C5193E731A76273A1ADACD50AB81 /* PCBC.swift */; }; A065300D974D4C50642BF3687E0E6C37 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = EECA7B8CA13556F051DCBF44B5E5092B /* ECB.swift */; }; A19A5C73B405B96CE009AA14C54C9455 /* Cimpl.c in Sources */ = {isa = PBXBuildFile; fileRef = A0BB9A3E4E29EBA29F99C94BBEEEC1F2 /* Cimpl.c */; }; - A2031F83FFFD6EA4255E12B092376081 /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C0825E5C07CD2AD15EADE1A4F132C24 /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A2B27FA4D25CFCC93C70B9BB5A5963C6 /* secp256k1_ios-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3255C8E1AC982676ACABE0D7C8C501C6 /* secp256k1_ios-iOS-dummy.m */; }; + A2B27FA4D25CFCC93C70B9BB5A5963C6 /* secp256k1_ios-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E54564B11B6584454FF1C61A27575535 /* secp256k1_ios-iOS-dummy.m */; }; A301F522108F0A22EFA241EBCC8F5AA6 /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D028C35CBC913E3AF71B22E4A3C7D14 /* CTR.swift */; }; - A40822AC61959F70D2834E5F4A9A331C /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = F68419F17E2CC2073DDAC992BC39EF47 /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A39E98BB6ACEECBAF672A52457035B06 /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = DEC9C3E8E55E46B29FD5E5EF68F87F17 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A40822AC61959F70D2834E5F4A9A331C /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E34789287378DAC690BDC96A61B534D /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; A48902823DC75349716A4753B1E660DA /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DDF10E5AA3EE0D0028933F977F5BF96 /* Generics.swift */; }; - A4A59B0BA1E4153A6BF2917EB2C1AF06 /* CryptoSwift-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D2EF378EFDB3948F453ED590E1CE3A0 /* CryptoSwift-iOS-dummy.m */; }; + A4A59B0BA1E4153A6BF2917EB2C1AF06 /* CryptoSwift-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C86011CD926858E717E5D92380F2838 /* CryptoSwift-iOS-dummy.m */; }; A4F8D815D07249B30E393C63694BF3D7 /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CC26F0B1E75C50586670C90CB45F824 /* Codable.swift */; }; - A5FF9C090C00EE25B1035F603F1C3558 /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 370C998F97BBB1397D09CD78C43A9919 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A848E609F5973AB324AA66A786BE378B /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = F68419F17E2CC2073DDAC992BC39EF47 /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A5FF9C090C00EE25B1035F603F1C3558 /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 65FAD979B70CA8CC84821A24AF02DCF2 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A6ACACF0C2E9DF22C5477F6FE45DA8FD /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CE3EEB40B82A07623C8EC58D511BDA8 /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A851E4E866251283BE250466CCA8F05D /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D70BDEFFA46F9A5EE71DB70AE67B5652 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; A8995C0B368AF79026265F486D640985 /* Primitive Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = F685B50C77BC588736193EFC93B3FAFA /* Primitive Types.swift */; }; A8FB03192116C7259BDC47B4ED7A1770 /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7FE282781FCA8360DCC5EEC2DFC9045 /* BlockDecryptor.swift */; }; A93F309C7285ACB8ECAA14903BC85237 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3AE421756716EB8DAA945495A2EC5DD /* Rabbit.swift */; }; A953ACC3543A00D51383ED73301139A4 /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7540EADD3520F1ECD4BAD23FF29400F /* String+FoundationExtension.swift */; }; AA08FA2EB9DB4E98494BFDDE5D4B4936 /* Bitwise Ops.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55188AE8B0452B68B54A84FABFBA1BBF /* Bitwise Ops.swift */; }; - AA0B40D52D40A8BC397B51FF6C9B3C90 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 185ADAFCE5AF39098787D861673779B8 /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; AA3403E09DAD47A2C9FCE81A9AB40EA5 /* AnyPromise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C537644BF5D1735EC0FF5E1EAD5A94F /* AnyPromise.swift */; }; AA40ABA19C4E8BBE370471E77BAFC842 /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B864BCFD33F0A7ABED7DBA75C963A51A /* BlockCipher.swift */; }; AA48D3B3A44CD568D493A0326D60EEAC /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E45449F26960667F9B102A7F62C60D31 /* Digest.swift */; }; AB02DBB24DBB4F98005C0C14C342F8FF /* Prime Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C91FB228B4F0EFFE0BB1C457B26A6E3 /* Prime Test.swift */; }; AB34427D03874A67ED273F44E27CAFEB /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CDBE2B78BCAA950F79B74C3FB2E228C /* when.swift */; }; - AC19417412E8F69BD232DB6370BE9AC3 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 185ADAFCE5AF39098787D861673779B8 /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ABA18C643B7B9DAE45127BAB6763ED84 /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = 96BC14C5CF69F4D24A02B045A7A1BB7E /* fwd.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AC19417412E8F69BD232DB6370BE9AC3 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BC5E345E21A1E0448686159C97199BF /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; AC6D836A8BEBC67FAD48B43B80382794 /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B10016CC925878BCF8C1423A7EAD6A6 /* Padding.swift */; }; - AC7E09D1F43A94AEC729A8D8486B85CE /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = B9BCFC62DFEA1FC233306B897C15DE84 /* lax_der_parsing.c */; }; + AC7E09D1F43A94AEC729A8D8486B85CE /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = E700B3E020C13F1EF3046DA2572EB770 /* lax_der_parsing.c */; }; + AEDB6F7FF6DB897F36B275F65C330C41 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BC5E345E21A1E0448686159C97199BF /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; AFDA9E12CC7195153491C8CD1C0AAD8B /* Integer Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD4C6A3CDC6FA3F322EA1C393C5CC89E /* Integer Conversion.swift */; }; - B01D4A804FE382180CCF4053E794C24E /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 894C3E3F18C4D842D9E35A6A69851AF0 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B15B604450291A246C8420194AFF4B2C /* Result-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 757A37D7E29817F44F2AA11410470DCE /* Result-macOS-dummy.m */; }; + B15B604450291A246C8420194AFF4B2C /* Result-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 58D38A9B84FEE36DA02159AEC6611C17 /* Result-macOS-dummy.m */; }; B264AC2DFBBC420DEE1695859273E0E6 /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39CF9703323096F120BB7C18AC3CDD7E /* CipherModeWorker.swift */; }; B27AC8F7FCD59B1C8879D64E939D9737 /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0E096DA6BBC65953BD97D1BD9FDC13A /* Blowfish+Foundation.swift */; }; - B2921F5CDE5C5C82346964060B258525 /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DC80BC8175DF95AF5AC0777B4379466F /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B375AE4058EC8E7A69B2D448B7F36019 /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = 51FFE70E98E00B14A7CEDBC9878713E7 /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B42F58792A1A735AD69BB60C4EF4DC58 /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = 778AAAE605119A0341DA4378ED873181 /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B375AE4058EC8E7A69B2D448B7F36019 /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = 77B6F7DB489A42B9DFF2C75C6090890A /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; B43A930051FDC74CE6667856407BD5CF /* Exponentiation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 129F0BDD5D5540B28243DA06090AEC11 /* Exponentiation.swift */; }; B47081880A03F74BE985722C4EB78E20 /* scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DC2E6214BB1EB95403BF7608DAF872D /* scrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; B48C458D1CB67A6B566AEFBADAE6DE8A /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B10016CC925878BCF8C1423A7EAD6A6 /* Padding.swift */; }; @@ -304,25 +302,28 @@ B534D1DE7C6E7115E6A75EE8BAA4819C /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = E82A76E0CD40E20D9FEC34DAF7889ECB /* MD5.swift */; }; B5F389D0404F3ADA27EF686F42722D5B /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60F78E26D6ABB8534A27E28D45FBFF71 /* Scrypt.swift */; }; B6047589B7129612A0BD9070C008FF3E /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F3C6D22D31BFCC4FBF02C3E813AE0EC /* hang.m */; }; - B640565E1593B250390597C2651078A4 /* BigInt-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 06184F1E92B8B61D4A9719D662641B02 /* BigInt-macOS-dummy.m */; }; - B773946DE5FFBE30EDF07970211D0F6E /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8866E3418AA74CD02353B3E373ACEFA9 /* PMKFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B640565E1593B250390597C2651078A4 /* BigInt-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C4FBD9EED7C8E73E16CA9B5DC621F56 /* BigInt-macOS-dummy.m */; }; + B6699C206D4772B76BEAF1722CB04572 /* Pods-web3swift-macOS_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 522015696E45158812DD4C5CF37CD544 /* Pods-web3swift-macOS_Tests-dummy.m */; }; + B70EF82165930092663A4177C5F1FE4F /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 4207171AF4AC30056EE3D86BA2E572A2 /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B71596F2C722143ACE243217699C8B26 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = A7B38174B0902D2DCD57CAFF23561C82 /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; B7D7CA91C141C38015B1148059914F81 /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = D24853136C9E866538093205C6E4A90A /* when.m */; }; - BB06FC86A3B62397AE0E07B00471F6AE /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 231D53FA7D46749E94693152ECA561B4 /* AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BB91D03B628F9A7BAEE9330E7FEE58DB /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C9596E2D0164256EFB0F1673E724BB1 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BCDE72CE8069BF09131F983ACA411B8B /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = EC2691B355719F37BCE2B9EB79640902 /* lax_der_privatekey_parsing.c */; }; - BD866838930E0CDAF1107A381781B643 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2A9882D7606624DB09D137DA346B890 /* Foundation.framework */; }; - BE17E68524E049C26BFA30707DFF6E9E /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = F1F1BD0CE2445F35A20783082C9D4775 /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BEF500ABA92617FC244C36F2DD7E47D2 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 2385B17AD9190A207792185ECE5CD9C7 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B85578BD6CA740FA275B7FCB49ABCE30 /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = 77B6F7DB489A42B9DFF2C75C6090890A /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BA33E96D5FF50CFFA5727208AC91DF2B /* SipHash-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F59529DA4EC37C03768A930A570FC20 /* SipHash-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BB91D03B628F9A7BAEE9330E7FEE58DB /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E727EFDF1D9F0E72FF769FA527EB01D /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BCDE72CE8069BF09131F983ACA411B8B /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = 1D7CEF9F4C98A2CE1B98AD20F3608F16 /* lax_der_privatekey_parsing.c */; }; + BE17E68524E049C26BFA30707DFF6E9E /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = B7C11E88CA44E3C6CD4C1DA0CE8CDF1C /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; BF6A2DC96F54CE8B73454C8C2C00381B /* BufferStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75108DB9FE7BABCC05526BD92059DC5A /* BufferStorage.swift */; }; BF9C1C12AD3560167B0800059B4A6D6E /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AB377C96E323960FB5F59BE70C7DDFA /* Poly1305.swift */; }; C0101FD19738FB97383D1C0CF5EEBF77 /* String Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7DFFB650AB055EA65177877A4837E93 /* String Conversion.swift */; }; C0E38CC3E9A47DD76092CA50CEEEAE12 /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFA9EC9779A914A67653CFFF9142318C /* Deprecations.swift */; }; C0F8B164DDA6157937A300C207D56E4E /* Subtraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6942B9400A6731CB14455C8AE7F0C6A7 /* Subtraction.swift */; }; + C15CF4CD764C303BB61C1908A5088EB9 /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E10436F61B2E20A7AC6B9FA2B43475B /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; C1693DEA3241820346B6392F419BE86A /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DDA4FB25A4C58942E352156AFA0F29E /* PKCS7.swift */; }; + C223A7A68CC3C3E35C5BAF673FC6422C /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 2102C5F2845659DC22D1C75C5DEE8785 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; C420F74F411178FB20F79B022567A36F /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = 184318AC3420D7DB5A094F601C869C72 /* Checksum.swift */; }; C45AB3CBDC8E80549A5258F1EF33B5E4 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = D89263E801FAC6A34F7C9D4E3A3066A9 /* UInt128.swift */; }; C4A91D774EFB424EF2F25970BBE498E2 /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A4A461EE06699EE78B2DCA6B7B73F16 /* NSTask+AnyPromise.m */; }; - C4D045EA36FC3020F0D120D61248034A /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CCD88E197198C9C888139A0E2A2CD50 /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C4D045EA36FC3020F0D120D61248034A /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = 02D1233B4775FD4486FC833AD2928302 /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; C4D7369A6EE4185C3499B0C7F6D4AF54 /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FA266C4746C1D8469AC609FF653BED1 /* Cipher.swift */; }; C52AB1611C5012541EB9B2D6F3E7113C /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8EAA4A69D5AC1E3D89D6D25C9496C75 /* Cryptors.swift */; }; C55D7F3112EA0AE1C16D64D5D93FB8E2 /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59EE5FF05C3E791A7F8398D6FCF80055 /* BlockEncryptor.swift */; }; @@ -330,9 +331,8 @@ C7546B1AF7022FE1D1D4E974A890D03F /* UIViewPropertyAnimator+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF8763C25A8C471712C07FDF71929703 /* UIViewPropertyAnimator+Promise.swift */; }; C76A85C8526F33C17488B1ED3E96E2B8 /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = FBEFBB38BBB87913FDCF892141C0AC8D /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; C81D77ED3B884C5F8FF333D7E73D2760 /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 520379C6715340D2674500ACBD1C4502 /* Catchable.swift */; }; - C8727CBC2DF558D6A8432C374FC6C20D /* secp256k1_ios-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C3B8A43F9D491A5A6F79AEC7B3ABF7C4 /* secp256k1_ios-macOS-dummy.m */; }; - C986469BA18AD3CA99A0340B7ACDCEF9 /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = FD3FC379B5028687E388AD09CFE88832 /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CA0A3399A3F3DE0313571B05CCACB00B /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AF087435CFE453BE94CFAE116CC7661 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C8727CBC2DF558D6A8432C374FC6C20D /* secp256k1_ios-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A7C177A4D014F2C568B84F7BED9628F3 /* secp256k1_ios-macOS-dummy.m */; }; + CA0A3399A3F3DE0313571B05CCACB00B /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 2102C5F2845659DC22D1C75C5DEE8785 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; CA4AF1EA89A313035FBCF8BAF73AE5E3 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58ED9DC4116D9A46B7047B9F3EE44E18 /* Configuration.swift */; }; CA5BBB4A81D6C18A87B54AD3E3CB1DDD /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EE7CBB8299AB71F5275827AA34C853A /* Cryptor.swift */; }; CB23D304433CF4415E534890D75DD1F3 /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD4D44D1A4A0B550CAB6D8C2AED04AD3 /* CMAC.swift */; }; @@ -340,8 +340,7 @@ CBAB02308405D4C1CB4271EC4AB971F6 /* Words and Bits.swift in Sources */ = {isa = PBXBuildFile; fileRef = 268F48810699A9A9AD79047FD000B499 /* Words and Bits.swift */; }; CC53CC49FDD4748924F21B50E485DBBD /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7540EADD3520F1ECD4BAD23FF29400F /* String+FoundationExtension.swift */; }; CE2BCA099CEA37688059295108D416AD /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65E54F31ACC1397C1485DF5C7B5FA928 /* Random.swift */; }; - CECB62463393D641C7A1813FF0BB3C7B /* scrypt-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F102D610A357DBD3CDC4E97671DE62A0 /* scrypt-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CF2EC01022EDE78D4A2A1EE28519BB24 /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = BAD09E8EE27EB4BA87F1F0237E0D7537 /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CF2EC01022EDE78D4A2A1EE28519BB24 /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = 56B4887D50F2EB64112AE8382F814BE6 /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; D01DA48DF6AD0E0C496D261444C43E30 /* after.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302BA93FAE34FC2BAD89C5501C21611C /* after.swift */; }; D03604350C4AD6E462633ACEF03DE182 /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D956E4D797535DA55BFACC56BAE7232E /* BlockMode.swift */; }; D0B384B3B9706105721D5A04485597A9 /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = C996378C4E5A24B09E9399A757B8257E /* PKCS5.swift */; }; @@ -350,109 +349,98 @@ D1F0182968E66E044F80A9822BE772F0 /* Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51008209B67B821AFF37051156E8A7FD /* Hashable.swift */; }; D2CE75EC329AAE7EE0E4BAA7458EF9D5 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC8CE2AC7222CA948CFA3E9FEF002800 /* Error.swift */; }; D32712369A0978E2F272F6ED44E13D09 /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DDA4FB25A4C58942E352156AFA0F29E /* PKCS7.swift */; }; - D367FA306F3D716B5B26AB7ABC28B82F /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 57BE35B8EF2F430EE1A093A4E43F8243 /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D4FBEF46E2616F942B65FF779B374513 /* BigInt-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 60EE65019B7B0977FF9331F020D957CD /* BigInt-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; D51658C88F64814325AFD7E26FF01C58 /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81D592C69182CE946419FE4D30C2690E /* PBKDF2.swift */; }; - D629596D140514F80B7E96FC37625CAB /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BD07DFA1EC0FD8CF78E837D5A0051A6D /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D629596D140514F80B7E96FC37625CAB /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = EB741666A46691B0F36213814C9E064B /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; D69EB24A00A90DE5EB08D773551E36A6 /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = D6FBFF07C73E9B536C49D3D32A989327 /* join.m */; }; D6BDAA0C8CA8843CE436AA3573C378F9 /* Square Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D44A825E8CB9200059521A9C941F712 /* Square Root.swift */; }; D77D59D158D2FBA4B6AA53805363DB1E /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF5CF52D91122CF7B77E75FAF93251C3 /* UInt64+Extension.swift */; }; D81D753CE65D4B1E0F26F57606BD0F6C /* Bitwise Ops.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55188AE8B0452B68B54A84FABFBA1BBF /* Bitwise Ops.swift */; }; D91F249AD8EFADBBF3CA1C4F3F1EC689 /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5946E85C35328004F1FD0D65ABF93B4 /* Process+Promise.swift */; }; - D97D4F779CE4301CD25BDE66904D1F9A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 75E5EE20B9BFFFDFC7AC813752336250 /* Foundation.framework */; }; D9B3D20980002DAFC3783F7A6B1C91BA /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = E88F02B72D0ADCFDAA37C5D63ABB3679 /* NoPadding.swift */; }; + DB4121B9C2C88108CFD4BF622DD22793 /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AE1F2C76AEC2899BB377C5F716B96A9 /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; DB5D77CB1116685129F0E9DFC9AC9779 /* NoError.swift in Sources */ = {isa = PBXBuildFile; fileRef = C57F8890E519BE45C84FBCD5E06453AF /* NoError.swift */; }; DBCADB8931FC3A1305E622FCD41DBB71 /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07EBEF7A80D308EEE9B00C81E7BA82EE /* CustomStringConvertible.swift */; }; - DC21D5B2B6EB7B15B0BBCEB3836868C4 /* PromiseKit.root-CorePromise-Foundation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4023529EFB6CDA4D7368E425E4F84453 /* PromiseKit.root-CorePromise-Foundation-dummy.m */; }; + DC07B1317F80D339C68CCBF3D31566D9 /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 3217AEE906468DE068B9F1656B698E05 /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DC21D5B2B6EB7B15B0BBCEB3836868C4 /* PromiseKit.root-CorePromise-Foundation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F38735F968F3506E4EACD22DC1175F06 /* PromiseKit.root-CorePromise-Foundation-dummy.m */; }; DD419D08F1AEE92AC819A14720ECD62C /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DDF10E5AA3EE0D0028933F977F5BF96 /* Generics.swift */; }; + DDA12AF713A1310BDC4A90183CBB1594 /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 41EDD0261BF89D565B8ABBA503384512 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; DDF54071C21579D559BDEE8D08189CF1 /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CE3EEB40B82A07623C8EC58D511BDA8 /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DE8ADD9F39627224ADF47AFF18B0EA29 /* Pods-web3swift-macOS_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 553C1445D10FA04E682FE1674D6AF9EB /* Pods-web3swift-macOS_Tests-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DF927452C685F72071057C8843C01706 /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = 0297F48C8677A1EAF05256ECF6AE81D5 /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DF3C881F6AA58663EA27A37DDC93CBD1 /* SipHash-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 06A021254E60B0C7F3ADB156F97D8EF1 /* SipHash-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DF927452C685F72071057C8843C01706 /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = CC5C878E59F3ED2C5956640525A3B54F /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; DFD70F894CFF9B61FF717C1443E95601 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC1129F2E85B44E362DF4E5C827C8DD7 /* Box.swift */; }; - DFF0B3B6C8696B29A8B79E1C76E9D76F /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = FD3FC379B5028687E388AD09CFE88832 /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DFF0B3B6C8696B29A8B79E1C76E9D76F /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D3B85A32FDF4C95F0BAA5B3BB12FE9C /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; E007271BF4C4F9B9D464193F85793C50 /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11B33EE72A6FBE59A2A5064DAF6FFC4F /* AES.swift */; }; E04BBE8E404D1CC27E4D74B8894479BD /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4942974D6603D53C4E7A5A1EE454090A /* NSNotificationCenter+Promise.swift */; }; - E1B6F21FA966C5EF912CFFA03322B922 /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CCD88E197198C9C888139A0E2A2CD50 /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; E1BD1671D6E0A0FDAC9298373486DA9F /* Square Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D44A825E8CB9200059521A9C941F712 /* Square Root.swift */; }; E24619AC5BEB6C6F40A086FBC713953F /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2806EF87AE8A9188FC203D40F55755F3 /* HMAC.swift */; }; E254A91C69969B33ED1BF9BDE5B19AED /* Data Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C8A77BEACE815406E69A6AC5A86CAD0 /* Data Conversion.swift */; }; - E330D6002B747B8DFE92C9EF6A252AB1 /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 7399560A570538454DCA6FC42E879809 /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E3E7DAA98C0D84340DA492FDA9A32149 /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BD07DFA1EC0FD8CF78E837D5A0051A6D /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E43B98F13FCD3B5DB5F276A823A9354D /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 2468F7B4A6695BB009B5A2AE35A167C8 /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E330D6002B747B8DFE92C9EF6A252AB1 /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F7A4EBB203B3B080F8B5BF693B1D73E /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; E4693B68EB480BAA15C7AEFEF584ABEC /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894312908815C8518B59156B045BB049 /* Thenable.swift */; }; E48FE65994D2FDB3496020B0AED10062 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1BEA6E913A811987196FC02097A1F5C /* Data+Extension.swift */; }; E496E4A9940D9E53F87FC94F6FBA613F /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1BEA6E913A811987196FC02097A1F5C /* Data+Extension.swift */; }; - E4DFF19D9D0DCD7944CCDD5E7D49E700 /* PromiseKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 30357CC27C341269BCCE3C19E4FE8FE5 /* PromiseKit-dummy.m */; }; + E4DFF19D9D0DCD7944CCDD5E7D49E700 /* PromiseKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 011F6C47C6E88AE3E66264D1FEB85A87 /* PromiseKit-dummy.m */; }; E54F41039B5C497AEE8D9A2305063624 /* Cimpl.c in Sources */ = {isa = PBXBuildFile; fileRef = A0BB9A3E4E29EBA29F99C94BBEEEC1F2 /* Cimpl.c */; }; E5F6F258065CC6C97832138F09AAE49B /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 309EDA4AEC3E9553B1C5228CB1CB760F /* Result.swift */; }; - E620808A6B6483DD90D1DF1DD9F399ED /* Pods-web3swift-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D8C2202C63BDA7C0F7AF6C89B6273FD /* Pods-web3swift-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E6A3822607D69367B5FC864FB7A3BD73 /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DDEB5B32B77FC78B04321FABF19FAF64 /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E620808A6B6483DD90D1DF1DD9F399ED /* Pods-web3swift-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E8C19543EF3AA4D9801DBE55E22E211 /* Pods-web3swift-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E6A3822607D69367B5FC864FB7A3BD73 /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 18CECE2AAA777C20C231B09167732087 /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; E7CD62024C5874B3F67B266815D7CAC4 /* race.m in Sources */ = {isa = PBXBuildFile; fileRef = B592EEFCCF7F964D0B60F749B17B7658 /* race.m */; }; E8A145AFD00468A4C9549E156F7A4327 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3AE421756716EB8DAA945495A2EC5DD /* Rabbit.swift */; }; + E900FB2DA6B0F0F63CE82466566FCD68 /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = 02D1233B4775FD4486FC833AD2928302 /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; E9E664FD3415EAFF7CDFFD33254902E3 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = EECA7B8CA13556F051DCBF44B5E5092B /* ECB.swift */; }; EA1A3BB85FC5453DEA5AE302324D4DAA /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FF537F705CA3D41D9798A4511A8F24D /* Authenticator.swift */; }; EA3B78E39182A056E17833E10C5DE2E6 /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CB44D970BC24207B7D4CA4DD2644E2B /* ChaCha20+Foundation.swift */; }; - EA7EC84C113B5F75F5D77F792DE3B6ED /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = 21DDCB6C56CEF1430122DCD6370180B8 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EAA80D55D188ACC0DA29BD0186E80FAD /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = 21DDCB6C56CEF1430122DCD6370180B8 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EA7EC84C113B5F75F5D77F792DE3B6ED /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = DEC9C3E8E55E46B29FD5E5EF68F87F17 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; EB5C9979901C255CD26AAD9C2908FC4D /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEF9AB34E06A2A4078A0C87B37B1CD0F /* RandomBytesSequence.swift */; }; - EB6B58F71E3D5BAB4ECE9430B17E8851 /* PromiseKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = EF09F78B3249ABD67C39117542CFFB87 /* PromiseKit-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EB89F559AA39AB8B74AC19DCD09A0AF0 /* Pods-web3swift-iOS_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1938EA02A3971FFC506F4AE3E29121A6 /* Pods-web3swift-iOS_Tests-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; EBC1181767AADF30189982641F9B9648 /* Prime Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C91FB228B4F0EFFE0BB1C457B26A6E3 /* Prime Test.swift */; }; - EC17D63723242B036D6B342AB1853468 /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 394A497CBDC2A602E9E5A0A0E4A7C231 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EC1CD56EB11B85BC0AB0927EC3A37BBE /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = BAD09E8EE27EB4BA87F1F0237E0D7537 /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EC17D63723242B036D6B342AB1853468 /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 41EDD0261BF89D565B8ABBA503384512 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; EC308ACB0BA1C145CC005AA4186B9EB0 /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5E831984223821B4643964E0D16375 /* AEADChaCha20Poly1305.swift */; }; - EC8CEEA1FF4CC7455796055B38C806B8 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8575ADFAFEFEFEDACDC32D01960AE2AB /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ECF5A5E67884B9F6B19675CC43188C04 /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = 4965C40E8438A02BE82C485420845345 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EC8CEEA1FF4CC7455796055B38C806B8 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 04D613988B2E91F7B5A7327303576BAB /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ECDEF2626BC123966104C5F0B4830936 /* CryptoSwift-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B02B055F45990BB015AB494AE625A793 /* CryptoSwift-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ECF5A5E67884B9F6B19675CC43188C04 /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = 2525FC26081FA847B7D6E8209E7A7CC3 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; ECFCD95180C3DD7095902786BB56299A /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F3C6D22D31BFCC4FBF02C3E813AE0EC /* hang.m */; }; - EDA077007EEB5A44FAC5AFD3C1836B04 /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = 96BC14C5CF69F4D24A02B045A7A1BB7E /* fwd.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EDE96BB2FF7AA6C6C947F19526E168A4 /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 5ADFA6DD652FDF2433DB8FB46C2B02CA /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; EE0C5BE970F77B1A1478E64F164DDB99 /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D22F70DCC90E8FE0E9EC24A5DBABE79C /* Rabbit+Foundation.swift */; }; + EE83304C33E8D28C3321FCF4F3E952AC /* scrypt-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = DF437C6BA87CD115FFAF9F58E13F530F /* scrypt-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; EF56A1A9A97666C4D03AA9AAF5A37918 /* Strideable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00E44D081910E0A312C3A2879F658B01 /* Strideable.swift */; }; - EF62E2EFC77C073FE4E28108723ACF4B /* BigInt-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CAF1A1CA61F0B5E096092946067071C5 /* BigInt-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; EFDC04F64EB4766D33AC8058E12B4561 /* GCD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17049D2192C6CCC8A8BE362B66ED01E6 /* GCD.swift */; }; F0072E292EA165864D21EA126253FD4D /* BufferStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75108DB9FE7BABCC05526BD92059DC5A /* BufferStorage.swift */; }; F1713A581AF450456EAEC87DE47CDA88 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 092C4E684DC275279EC695C30F05982A /* Array+Extension.swift */; }; + F1A07A920329A779F5DE4422E744651B /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 128F0A3649763AA74BB1F997980E9878 /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; F1B591E730508664D1D744A9B5356027 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC1129F2E85B44E362DF4E5C827C8DD7 /* Box.swift */; }; F238EF032BC5A70219603EA97FF3FED8 /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D028C35CBC913E3AF71B22E4A3C7D14 /* CTR.swift */; }; - F2CEA0F86BECA15D8730D3D53D9EAF69 /* SipHash-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 17C50841AEC7F820B5A9B738E19218FE /* SipHash-iOS-dummy.m */; }; - F35FA24B1FC1A4340CB6903B3FDD95A7 /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = 86010FFDC0CB0732CC170A6EB5EC36A5 /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F40D5648952C6403898BBA6EBDA00BE3 /* Result-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EE45321EF7229C67B1384B69BC09C9A /* Result-iOS-dummy.m */; }; + F2CEA0F86BECA15D8730D3D53D9EAF69 /* SipHash-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 22BBC9E03E0BAFD51E78A932B584D135 /* SipHash-iOS-dummy.m */; }; + F40D5648952C6403898BBA6EBDA00BE3 /* Result-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FE9A22DCC269160D36ABB6B7AF260C2A /* Result-iOS-dummy.m */; }; F420C3B6A5179B3A3AE6CA1661AC1D09 /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60F78E26D6ABB8534A27E28D45FBFF71 /* Scrypt.swift */; }; - F4D09855E68D1FD71D77BC55A727D4A3 /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EF2B2E6A827BEB4095C69760A095228 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F56FE8F3E8E168BE03C4966EEAA91C1B /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 413EEACF83712E321F24944C021FEB53 /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F4D09855E68D1FD71D77BC55A727D4A3 /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 73E79D0886091383BE392E49B7A4EBC0 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F4D1F737295AE1152488E8C62B8B07CC /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 962B94FFF364D97FCB13480B186176CC /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F56FE8F3E8E168BE03C4966EEAA91C1B /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 962B94FFF364D97FCB13480B186176CC /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; F5AB8AD08E9E0AD8237FC486B02D3AE9 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F407B4684E6934554D8F4910242620 /* Int+Extension.swift */; }; F66269854D86921BE970C5FF6C20CC51 /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFA9EC9779A914A67653CFFF9142318C /* Deprecations.swift */; }; F6ABB13AD16C583ED44B0635C22C5B1D /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07EBEF7A80D308EEE9B00C81E7BA82EE /* CustomStringConvertible.swift */; }; F6C04F880164DA1647FDF6654CD65CBE /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CC26F0B1E75C50586670C90CB45F824 /* Codable.swift */; }; F6EEBE907D9BF3B0332ED86D67236441 /* BigInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0955D39FEEF45C034D6A32CD819DA77A /* BigInt.swift */; }; + F753E13D3D4A29BF27E48A2303E55253 /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = 7953AAFAFDD8639ABC0F6CFA2A5E6436 /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; F7637401A66A3768E3AFB4725B5A68CE /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = C996378C4E5A24B09E9399A757B8257E /* PKCS5.swift */; }; F76CD6A74599B946F2BEB2CFD466DCF8 /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93880388A03A6AEAEBFC90F7F533AAD /* StreamEncryptor.swift */; }; - F7FEDCC800360A1311C42EFE80CD207D /* Pods-web3swift-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 201CB380345E9D668D690C12DA30C425 /* Pods-web3swift-iOS-dummy.m */; }; + F7FEDCC800360A1311C42EFE80CD207D /* Pods-web3swift-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D8F688145BCFE1FB8B76299CC261A05E /* Pods-web3swift-iOS-dummy.m */; }; F854EACBF11549213B26B4748FBB94A0 /* Subtraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6942B9400A6731CB14455C8AE7F0C6A7 /* Subtraction.swift */; }; - F8ADDE1FBDA3E24BCBA08A6AE91A61FE /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 7399560A570538454DCA6FC42E879809 /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F8FD768535346E2CF68666669776442A /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 480A526DDBB009A3C8A843239CA3D080 /* PromiseKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F9697E5E03294F84CDF66EBBDB3FC67E /* CryptoSwift-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F1E5E87AFE60D743CD6E11B84ABD8F8D /* CryptoSwift-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F8C762D809370D0B01A8BDE46AE1E336 /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 231D53FA7D46749E94693152ECA561B4 /* AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F9A83224C63AF5F18AED311461D71668 /* BigInt-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = BECB9224CBFC1D8A1E8486BB06BBC621 /* BigInt-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; FA13F504AF0E2A1B5540B69241BDA525 /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4942974D6603D53C4E7A5A1EE454090A /* NSNotificationCenter+Promise.swift */; }; + FA750855C8E963C8BDF3CB98B66F2223 /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 46AF7B9300956886A337785AFCCA65E9 /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; FA9AEF2C8D8495DFBB7D202A04CD4C7B /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59EE5FF05C3E791A7F8398D6FCF80055 /* BlockEncryptor.swift */; }; FB15EFD9B279E96538754752538F6F2D /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E8B805F5680EBA0F99C37AB55DF371A /* Blowfish.swift */; }; - FBA0C0B9F810F412F1B19B633DF77D78 /* BigInt-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E4970F0550D2C60457B433185620200F /* BigInt-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; FBB8E2DFA421E54A1F954651D46E3E87 /* UIViewController+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 690E91794401ED87EB104B7BE8059DD2 /* UIViewController+AnyPromise.m */; }; - FBCF699856A16E347AFE56DF1E4B798F /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 744D68A2C1A6A6136663892BD5967CEF /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FBFE167922921EA3CB8BBE48F6FA3B54 /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = B9BCFC62DFEA1FC233306B897C15DE84 /* lax_der_parsing.c */; }; - FCCB2E2C0281EDCAD1C5E13070298711 /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 2468F7B4A6695BB009B5A2AE35A167C8 /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FCCEC31B1FC9971E3DA967E44E81A0D2 /* Pods-web3swift-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 23BB48B62BD11AE739C695D5E07DF23B /* Pods-web3swift-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FBCF699856A16E347AFE56DF1E4B798F /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 46AF7B9300956886A337785AFCCA65E9 /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FBFE167922921EA3CB8BBE48F6FA3B54 /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = E700B3E020C13F1EF3046DA2572EB770 /* lax_der_parsing.c */; }; + FCCB2E2C0281EDCAD1C5E13070298711 /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 4207171AF4AC30056EE3D86BA2E572A2 /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FCCEC31B1FC9971E3DA967E44E81A0D2 /* Pods-web3swift-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 25F72E78DF48560F5D210E57844ACDED /* Pods-web3swift-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; FDB43EA5FEFA9BC5B4ED67591C4D6958 /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 9419704F82CEC9143EC36DDD7E0B5565 /* NSNotificationCenter+AnyPromise.m */; }; - FEA85558F428093EA3B68A2FB1C71D2A /* PMKUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = D175F930B0613AAEB35FE3D02276CA4D /* PMKUIKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FE5B85739B771377AF32128CC981B882 /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A780AF8B00436C92795015A4BB4871E /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; FFE4A177B13CFEBE37F77661D03FDE45 /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BBCEC526DF7F5F6A046CBAA7F93B530 /* SecureBytes.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 1534DAD4B031EBB9EB9ECFF9A0272039 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 717A6C5D2749A62529F91EEEFE9D7643; - remoteInfo = "scrypt-iOS"; - }; 17B4A9AEA97AD7E79C58E8433B39E08E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -467,12 +455,12 @@ remoteGlobalIDString = D65B13BFF251965985F677C194C0CACF; remoteInfo = "Result-macOS"; }; - 22DD5B8659B60E31EEF9FA61FF70F620 /* PBXContainerItemProxy */ = { + 1E5017C3A1512E67B0318DD1DACDE515 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = B4C770D41049AF2A6AAF1D99D0B08152; - remoteInfo = "Result-iOS"; + remoteGlobalIDString = BB68F9B80C22C74C528A2A837F77C592; + remoteInfo = "Pods-web3swift-macOS"; }; 284C9AFC38A225A506CB24973AEFB321 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; @@ -502,26 +490,12 @@ remoteGlobalIDString = 2FE2011DA32CEB3AE7A817A294041570; remoteInfo = "secp256k1_ios-iOS"; }; - 352364F0383233F4CC7C27744D6969FD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 2FE2011DA32CEB3AE7A817A294041570; - remoteInfo = "secp256k1_ios-iOS"; - }; - 360BC8035FDA2684D3D224FE94563CD5 /* PBXContainerItemProxy */ = { + 366CCE30759EB3C0FF8E45BE9572B007 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 3B79F6DB09B597AAE9D3EB939DA463D8; - remoteInfo = "SipHash-iOS"; - }; - 435993337DC7ED14E3B81E444FA17FFF /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = FC621AC7D03DDE6D391CACBAF8CA054E; - remoteInfo = "secp256k1_ios-macOS"; + remoteGlobalIDString = 242D7A70DFF4194FB7B7DA7C1AA5384E; + remoteInfo = "Pods-web3swift-iOS"; }; 5C4F2ED3F13D3478905D555D2B67CD1E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; @@ -530,13 +504,6 @@ remoteGlobalIDString = 44D204414133961DD4B492AFB5C4DEEB; remoteInfo = "CryptoSwift-iOS"; }; - 5D305E4E35D6FFC5F0B493DC1272B0EE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = D618CA243075F5EB0C89F808DD7756D8; - remoteInfo = "CryptoSwift-macOS"; - }; 767E586CEA5CAB20EBE1EA7AB3631553 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -544,13 +511,6 @@ remoteGlobalIDString = 00370D91F8D61EB1B486DA6056B32406; remoteInfo = PromiseKit; }; - 78020117C086D2646E8237DA59CF8059 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 44D204414133961DD4B492AFB5C4DEEB; - remoteInfo = "CryptoSwift-iOS"; - }; 781352D1D58C89F6D17164C60C65F70B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -579,20 +539,6 @@ remoteGlobalIDString = 4FCBE56BC5E931FDC43C642250037C1F; remoteInfo = "SipHash-macOS"; }; - 8EAEE80824AC260B45892170FD94FFA9 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = BB68F9B80C22C74C528A2A837F77C592; - remoteInfo = "Pods-web3swift-macOS"; - }; - 8EB9105FCFFB3B026DF8D04211F344F9 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 242D7A70DFF4194FB7B7DA7C1AA5384E; - remoteInfo = "Pods-web3swift-iOS"; - }; 95EBCBEDA8C09F798A8B0AAC2A665789 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -600,20 +546,6 @@ remoteGlobalIDString = B4C770D41049AF2A6AAF1D99D0B08152; remoteInfo = "Result-iOS"; }; - 9708F8CBA381DF40339F65A62C5299F3 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9646F4C6B5DB5298F5EEE5871120A244; - remoteInfo = "BigInt-macOS"; - }; - 972D1D5783F52F9D41D5545982623D83 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 07841E92CB371DB60A1803D68D0B6814; - remoteInfo = "scrypt-macOS"; - }; AC378E3E20AF5D424B6D68F67641CFC3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -621,20 +553,6 @@ remoteGlobalIDString = 3B79F6DB09B597AAE9D3EB939DA463D8; remoteInfo = "SipHash-iOS"; }; - B6E1ACAF6088DCEB605C6E0A670B2881 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 00370D91F8D61EB1B486DA6056B32406; - remoteInfo = PromiseKit; - }; - B9315564689272999D44E50694EC0449 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = D65B13BFF251965985F677C194C0CACF; - remoteInfo = "Result-macOS"; - }; C753A37721FD85DCC8725FC13D90D8F4 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -649,27 +567,6 @@ remoteGlobalIDString = 9646F4C6B5DB5298F5EEE5871120A244; remoteInfo = "BigInt-macOS"; }; - D26D83FD52873C0724F3563C9D973BC0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = AF9F48E6961507C0E2FD7A3CDBC652DA; - remoteInfo = "BigInt-iOS"; - }; - D327745110CF6AAD186CFD3D40F2CBC6 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8FBD6D69D989701B31E1FE3221BEE90E; - remoteInfo = "PromiseKit.root-CorePromise-Foundation"; - }; - D6399F92B7E7FFC27E2EC6AB44FC20E5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4FCBE56BC5E931FDC43C642250037C1F; - remoteInfo = "SipHash-macOS"; - }; D9B409BD1965CD2C916FF3BD0529876F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -688,333 +585,320 @@ /* Begin PBXFileReference section */ 00E44D081910E0A312C3A2879F658B01 /* Strideable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Strideable.swift; path = sources/Strideable.swift; sourceTree = ""; }; + 011F6C47C6E88AE3E66264D1FEB85A87 /* PromiseKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PromiseKit-dummy.m"; sourceTree = ""; }; 01E16ADA85843E6D30083930685D07D1 /* dispatch_promise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = dispatch_promise.m; path = Sources/dispatch_promise.m; sourceTree = ""; }; - 02408D11F33503E2122742BBD9381C6D /* SipHash-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "SipHash-macOS.xcconfig"; path = "../SipHash-macOS/SipHash-macOS.xcconfig"; sourceTree = ""; }; - 0297F48C8677A1EAF05256ECF6AE81D5 /* util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = util.h; path = secp256k1_ios/src/util.h; sourceTree = ""; }; - 02BEF937ADDFC393286931ED4C648955 /* secp256k1_ios-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "secp256k1_ios-iOS.modulemap"; path = "../../Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap"; sourceTree = ""; }; - 030837B4EF44BB6736CDF5FBF205E93E /* ecmult_gen.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen.h; path = secp256k1_ios/src/ecmult_gen.h; sourceTree = ""; }; - 03BD39A3C7331FE5A8003EF47345E789 /* scrypt-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-iOS-prefix.pch"; sourceTree = ""; }; + 02D1233B4775FD4486FC833AD2928302 /* ecmult_const.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const.h; path = secp256k1_ios/src/ecmult_const.h; sourceTree = ""; }; + 042CC2D185140E7D725D22562A3E307F /* Pods-web3swift-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS.debug.xcconfig"; sourceTree = ""; }; + 04D613988B2E91F7B5A7327303576BAB /* scratch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch.h; path = secp256k1_ios/src/scratch.h; sourceTree = ""; }; 054B52AFE6F7A33802393B6F7E8B9807 /* Division.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Division.swift; path = sources/Division.swift; sourceTree = ""; }; - 06184F1E92B8B61D4A9719D662641B02 /* 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 = ""; }; - 062D69C437E04FE7A990ACBC476B4B53 /* CryptoSwift-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CryptoSwift-macOS-prefix.pch"; path = "../CryptoSwift-macOS/CryptoSwift-macOS-prefix.pch"; sourceTree = ""; }; - 06AC0C18C20BEB0CFF4386CE35E5CFC9 /* Pods-web3swift-iOS_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-iOS_Tests-acknowledgements.markdown"; sourceTree = ""; }; + 06A021254E60B0C7F3ADB156F97D8EF1 /* SipHash-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-iOS-umbrella.h"; sourceTree = ""; }; 07692AF4D5F0A8907862595FBCB74ECB /* firstly.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = firstly.swift; path = Sources/firstly.swift; sourceTree = ""; }; 07EBEF7A80D308EEE9B00C81E7BA82EE /* CustomStringConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomStringConvertible.swift; path = Sources/CustomStringConvertible.swift; sourceTree = ""; }; - 07F62FD29EAB7298762C10A21294A6B1 /* field_5x52_asm_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_asm_impl.h; path = secp256k1_ios/src/field_5x52_asm_impl.h; sourceTree = ""; }; 092C4E684DC275279EC695C30F05982A /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "Sources/CryptoSwift/Array+Extension.swift"; sourceTree = ""; }; 0955D39FEEF45C034D6A32CD819DA77A /* BigInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigInt.swift; path = sources/BigInt.swift; sourceTree = ""; }; - 098E4539FFEB1EB276A76F56D0829434 /* scrypt-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "scrypt-iOS.xcconfig"; sourceTree = ""; }; - 09E6F0E17B524D5203BB82F0927DED7C /* Pods-web3swift-iOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-iOS-acknowledgements.markdown"; sourceTree = ""; }; - 0B3A8A1265A6932800FDF40A5E65FEC7 /* Pods-web3swift-macOS_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-macOS_Tests-dummy.m"; sourceTree = ""; }; + 0AE1F2C76AEC2899BB377C5F716B96A9 /* eckey_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey_impl.h; path = secp256k1_ios/src/eckey_impl.h; sourceTree = ""; }; 0BC5492B1E1506F3725992C713A907DF /* SHA3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA3.swift; path = Sources/CryptoSwift/SHA3.swift; sourceTree = ""; }; 0BC87D5802ED83EA9011FD6A3EB7B4D3 /* AES+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AES+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/AES+Foundation.swift"; sourceTree = ""; }; - 0CCD88E197198C9C888139A0E2A2CD50 /* ecmult_const.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const.h; path = secp256k1_ios/src/ecmult_const.h; sourceTree = ""; }; 0CDBE2B78BCAA950F79B74C3FB2E228C /* when.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = when.swift; path = Sources/when.swift; sourceTree = ""; }; 0CE3EEB40B82A07623C8EC58D511BDA8 /* NSURLSession+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLSession+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.h"; sourceTree = ""; }; - 0DA4D63407696D8CA849D320826D9213 /* CryptoSwift-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "CryptoSwift-iOS.modulemap"; path = "../../Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap"; sourceTree = ""; }; - 0FFB0028B5C6DEECC2A5511C92B70ADF /* PromiseKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-prefix.pch"; sourceTree = ""; }; - 1036A87543D9056B354BAB59D2D61AA4 /* SipHash-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SipHash-macOS-prefix.pch"; path = "../SipHash-macOS/SipHash-macOS-prefix.pch"; sourceTree = ""; }; + 0D88C9D56C3885598E20D9718F3B8F16 /* Pods-web3swift-macOS_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS_Tests.release.xcconfig"; sourceTree = ""; }; + 0E10436F61B2E20A7AC6B9FA2B43475B /* field_10x26.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26.h; path = secp256k1_ios/src/field_10x26.h; sourceTree = ""; }; + 0E53DB967EB67E52296B83C1BB91E1A4 /* scrypt-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "scrypt-macOS.modulemap"; path = "../scrypt-macOS/scrypt-macOS.modulemap"; sourceTree = ""; }; + 0F59529DA4EC37C03768A930A570FC20 /* SipHash-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SipHash-macOS-umbrella.h"; path = "../SipHash-macOS/SipHash-macOS-umbrella.h"; sourceTree = ""; }; + 10236EF8647E9F61C53670449679E133 /* BigInt-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BigInt-iOS-dummy.m"; sourceTree = ""; }; + 110589BD0B75B2C4166DE94487100A49 /* SipHash-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-iOS-prefix.pch"; sourceTree = ""; }; 110AED7E75239B43DC836BF06AF22BCE /* afterlife.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = afterlife.swift; path = Extensions/Foundation/Sources/afterlife.swift; sourceTree = ""; }; - 1143B8F0055C240BA0D05D50FC1CC020 /* scalar_8x32_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32_impl.h; path = secp256k1_ios/src/scalar_8x32_impl.h; sourceTree = ""; }; + 113FB888146C1156101BB0FCC2303331 /* field.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field.h; path = secp256k1_ios/src/field.h; sourceTree = ""; }; 11B33EE72A6FBE59A2A5064DAF6FFC4F /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/CryptoSwift/AES.swift; sourceTree = ""; }; + 11D2E84F01BCA808E576508AFC2BECBA /* field_5x52_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_impl.h; path = secp256k1_ios/src/field_5x52_impl.h; sourceTree = ""; }; + 128F0A3649763AA74BB1F997980E9878 /* scalar_4x64_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64_impl.h; path = secp256k1_ios/src/scalar_4x64_impl.h; sourceTree = ""; }; 129F0BDD5D5540B28243DA06090AEC11 /* Exponentiation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Exponentiation.swift; path = sources/Exponentiation.swift; sourceTree = ""; }; 14A3B9C8EDE35875C552679A990B05FA /* Multiplication.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multiplication.swift; path = sources/Multiplication.swift; sourceTree = ""; }; 14B10E35F3FEA07B3ED6132C871686B9 /* BigUInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigUInt.swift; path = sources/BigUInt.swift; sourceTree = ""; }; 15059FCA7454E93E51AFB7275C28A335 /* NSObject+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Promise.swift"; path = "Extensions/Foundation/Sources/NSObject+Promise.swift"; sourceTree = ""; }; - 15C56E2FA28A6BC277C2F1DF71DE010C /* group.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group.h; path = secp256k1_ios/src/group.h; sourceTree = ""; }; - 16B7C824120675B47E14A2A872A6DFDC /* field_10x26.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26.h; path = secp256k1_ios/src/field_10x26.h; sourceTree = ""; }; + 154960BA397A967916A61F0CA3ACDA98 /* secp256k1_recovery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_recovery.h; path = secp256k1_ios/include/secp256k1_recovery.h; sourceTree = ""; }; 17049D2192C6CCC8A8BE362B66ED01E6 /* GCD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCD.swift; path = sources/GCD.swift; sourceTree = ""; }; - 17C50841AEC7F820B5A9B738E19218FE /* SipHash-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SipHash-iOS-dummy.m"; sourceTree = ""; }; 184318AC3420D7DB5A094F601C869C72 /* Checksum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Checksum.swift; path = Sources/CryptoSwift/Checksum.swift; sourceTree = ""; }; - 185ADAFCE5AF39098787D861673779B8 /* scalar_4x64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64.h; path = secp256k1_ios/src/scalar_4x64.h; sourceTree = ""; }; - 1938EA02A3971FFC506F4AE3E29121A6 /* Pods-web3swift-iOS_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swift-iOS_Tests-umbrella.h"; sourceTree = ""; }; + 18B70619E5AAE8D1782A060F2B6362F5 /* Result-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Result-macOS-prefix.pch"; path = "../Result-macOS/Result-macOS-prefix.pch"; sourceTree = ""; }; + 18CAB3E754AA5CC3978FFD653BC874A3 /* secp256k1_ios-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "secp256k1_ios-iOS.xcconfig"; sourceTree = ""; }; + 18CECE2AAA777C20C231B09167732087 /* ecdsa_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa_impl.h; path = secp256k1_ios/src/ecdsa_impl.h; sourceTree = ""; }; 1C8A77BEACE815406E69A6AC5A86CAD0 /* Data Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data Conversion.swift"; path = "sources/Data Conversion.swift"; sourceTree = ""; }; + 1C8F00AC871FE0EC2FBD9A40F62753CD /* Pods-web3swift-macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS.debug.xcconfig"; sourceTree = ""; }; 1CB44D970BC24207B7D4CA4DD2644E2B /* ChaCha20+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ChaCha20+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift"; sourceTree = ""; }; 1CE50C1C3EED312C9E2B7129A77B305B /* SHA1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA1.swift; path = Sources/CryptoSwift/SHA1.swift; sourceTree = ""; }; 1D028C35CBC913E3AF71B22E4A3C7D14 /* CTR.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CTR.swift; path = Sources/CryptoSwift/BlockMode/CTR.swift; sourceTree = ""; }; + 1D7CEF9F4C98A2CE1B98AD20F3608F16 /* lax_der_privatekey_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_privatekey_parsing.c; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.c; sourceTree = ""; }; + 1E727EFDF1D9F0E72FF769FA527EB01D /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/recovery/main_impl.h; sourceTree = ""; }; 1EE7CBB8299AB71F5275827AA34C853A /* Cryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptor.swift; path = Sources/CryptoSwift/Cryptor.swift; sourceTree = ""; }; 1F213EA122AE5157AD579B519B42CAA5 /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = Sources/CryptoSwift/Utils.swift; sourceTree = ""; }; - 1F9FAC5C083C513006168E954E709EB9 /* secp256k1_ios-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_ios-macOS-umbrella.h"; path = "../../Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h"; sourceTree = ""; }; - 201CB380345E9D668D690C12DA30C425 /* Pods-web3swift-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-iOS-dummy.m"; sourceTree = ""; }; - 21DDCB6C56CEF1430122DCD6370180B8 /* scalar_low.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low.h; path = secp256k1_ios/src/scalar_low.h; sourceTree = ""; }; + 2102C5F2845659DC22D1C75C5DEE8785 /* field_5x52.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52.h; path = secp256k1_ios/src/field_5x52.h; sourceTree = ""; }; + 224FBA77C2D18846EE62FD6A22E3B120 /* PromiseKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-prefix.pch"; sourceTree = ""; }; 2290B9153347A3369FAF03E04A19326E /* CBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBC.swift; path = Sources/CryptoSwift/BlockMode/CBC.swift; sourceTree = ""; }; + 22BBC9E03E0BAFD51E78A932B584D135 /* SipHash-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SipHash-iOS-dummy.m"; sourceTree = ""; }; 231D53FA7D46749E94693152ECA561B4 /* AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AnyPromise.h; path = Sources/AnyPromise.h; sourceTree = ""; }; - 2385B17AD9190A207792185ECE5CD9C7 /* libsecp256k1-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "libsecp256k1-config.h"; path = "secp256k1_ios/libsecp256k1-config.h"; sourceTree = ""; }; - 23BB48B62BD11AE739C695D5E07DF23B /* Pods-web3swift-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swift-macOS-umbrella.h"; sourceTree = ""; }; - 2468F7B4A6695BB009B5A2AE35A167C8 /* basic-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "basic-config.h"; path = "secp256k1_ios/src/basic-config.h"; sourceTree = ""; }; + 2452C598AA33B18F81F1D5FE847DF8C7 /* Result-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Result-macOS.xcconfig"; path = "../Result-macOS/Result-macOS.xcconfig"; sourceTree = ""; }; + 24B5C2F89100EAE084E4AF83DDE6303D /* Pods-web3swift-iOS_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS_Tests.debug.xcconfig"; sourceTree = ""; }; + 2525FC26081FA847B7D6E8209E7A7CC3 /* scalar_8x32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32.h; path = secp256k1_ios/src/scalar_8x32.h; sourceTree = ""; }; + 25F72E78DF48560F5D210E57844ACDED /* Pods-web3swift-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swift-macOS-umbrella.h"; sourceTree = ""; }; 268F48810699A9A9AD79047FD000B499 /* Words and Bits.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Words and Bits.swift"; path = "sources/Words and Bits.swift"; sourceTree = ""; }; 26A07B357C5F42ABC4E5A41480B9B5E0 /* AnyError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyError.swift; path = Result/AnyError.swift; sourceTree = ""; }; + 26C87BA1E1CD3DA69658381DC862662E /* secp256k1_ios-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-iOS-umbrella.h"; sourceTree = ""; }; 2806EF87AE8A9188FC203D40F55755F3 /* HMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HMAC.swift; path = Sources/CryptoSwift/HMAC.swift; sourceTree = ""; }; 29DC94582C8F4626E7BBD65A075FDBD5 /* NSURLSession+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSURLSession+Promise.swift"; path = "Extensions/Foundation/Sources/NSURLSession+Promise.swift"; sourceTree = ""; }; - 2A137B5E1D739B2D491F2842EFFBD559 /* ecmult_const_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const_impl.h; path = secp256k1_ios/src/ecmult_const_impl.h; sourceTree = ""; }; 2A4A461EE06699EE78B2DCA6B7B73F16 /* NSTask+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSTask+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.m"; sourceTree = ""; }; + 2A75A46146F4FF1C0CB840CA36D75492 /* PromiseKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-umbrella.h"; sourceTree = ""; }; + 2B28A30F352D7AD1E7E83DFB9BAB49C0 /* scrypt-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "scrypt-macOS-dummy.m"; path = "../scrypt-macOS/scrypt-macOS-dummy.m"; sourceTree = ""; }; 2B80D3AA1BDBB1E0CF52567C4F9FB777 /* libscrypt-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libscrypt-iOS.a"; path = "libscrypt-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 2B9A068D7995C83D3F75D4CD25D2735E /* Pods-web3swift-iOS_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swift-iOS_Tests.modulemap"; sourceTree = ""; }; - 2C06CEB32F04CBF303CC2562A16F7241 /* Pods-web3swift-macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS.release.xcconfig"; sourceTree = ""; }; 2CC26F0B1E75C50586670C90CB45F824 /* Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Codable.swift; path = sources/Codable.swift; sourceTree = ""; }; 2DC2E6214BB1EB95403BF7608DAF872D /* scrypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scrypt.h; path = scrypt/scrypt.h; sourceTree = ""; }; 2DDA4FB25A4C58942E352156AFA0F29E /* PKCS7.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7.swift; path = Sources/CryptoSwift/PKCS/PKCS7.swift; sourceTree = ""; }; - 2F5F058DBD6EA05A860EB5A2481950F9 /* Pods-web3swift-iOS_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-iOS_Tests-acknowledgements.plist"; sourceTree = ""; }; - 2FC68718A68C6212B73ECD1E04C03B9E /* SipHash-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "SipHash-iOS.xcconfig"; sourceTree = ""; }; + 2F7A4EBB203B3B080F8B5BF693B1D73E /* num_gmp.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp.h; path = secp256k1_ios/src/num_gmp.h; sourceTree = ""; }; + 2F7B1F5E8885A02A41E2BC53975DF4F2 /* scalar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar.h; path = secp256k1_ios/src/scalar.h; sourceTree = ""; }; + 2FEF470F51471EBE421469A16A76F35A /* BigInt-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-iOS-prefix.pch"; sourceTree = ""; }; 302BA93FAE34FC2BAD89C5501C21611C /* after.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = after.swift; path = Sources/after.swift; sourceTree = ""; }; - 30357CC27C341269BCCE3C19E4FE8FE5 /* PromiseKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PromiseKit-dummy.m"; sourceTree = ""; }; 309EDA4AEC3E9553B1C5228CB1CB760F /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Result/Result.swift; sourceTree = ""; }; - 30F699976B957E8821EB632AF092C14C /* scalar_low_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low_impl.h; path = secp256k1_ios/src/scalar_low_impl.h; sourceTree = ""; }; - 30FDF14BD303D5A006DF5E2AFC3C5689 /* Pods-web3swift-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swift-iOS.modulemap"; sourceTree = ""; }; + 30FDF56132F92204ACAD922366ABC434 /* scrypt-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "scrypt-macOS.xcconfig"; path = "../scrypt-macOS/scrypt-macOS.xcconfig"; sourceTree = ""; }; 31E6AD63B104B462BD7A0812CF8D8089 /* Resolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Resolver.swift; path = Sources/Resolver.swift; sourceTree = ""; }; + 3217AEE906468DE068B9F1656B698E05 /* ecmult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult.h; path = secp256k1_ios/src/ecmult.h; sourceTree = ""; }; 321B194E1B8A3A3929C651A01648EF4A /* Array+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Array+Foundation.swift"; sourceTree = ""; }; - 3255C8E1AC982676ACABE0D7C8C501C6 /* secp256k1_ios-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "secp256k1_ios-iOS-dummy.m"; sourceTree = ""; }; - 32804240A56A511992C9AA367655CDBA /* scalar_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_impl.h; path = secp256k1_ios/src/scalar_impl.h; sourceTree = ""; }; - 33567FA516E4179D0F29870D154D2B47 /* CryptoSwift-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-iOS-prefix.pch"; sourceTree = ""; }; - 33EBDEB3CCBA0EA3C7F7CB093743643E /* scratch_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch_impl.h; path = secp256k1_ios/src/scratch_impl.h; sourceTree = ""; }; - 348634C64E93D1AE27324E5B803C7D02 /* BigInt-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "BigInt-iOS.modulemap"; path = "../../Headers/Public/BigInt/BigInt-iOS.modulemap"; sourceTree = ""; }; - 370C998F97BBB1397D09CD78C43A9919 /* secp256k1_ios.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ios.h; path = secp256k1_ios/secp256k1_ios.h; sourceTree = ""; }; - 37285A75B12306326B0EF6AD23148A66 /* Pods-web3swift-iOS_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-web3swift-iOS_Tests-resources.sh"; sourceTree = ""; }; + 337F14F3FE32B1AA45844B7F9E94C8CB /* num_gmp_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp_impl.h; path = secp256k1_ios/src/num_gmp_impl.h; sourceTree = ""; }; + 342482D0962E817B844EE7E6446AF932 /* PromiseKit.root-CorePromise-Foundation.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "PromiseKit.root-CorePromise-Foundation.xcconfig"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.xcconfig"; sourceTree = ""; }; 3736F60D986568A8151FD480D9648F38 /* NSNotificationCenter+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.h"; sourceTree = ""; }; + 3784FB8ABDFC677C070E5808E273F420 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/ecdh/main_impl.h; sourceTree = ""; }; 37F407B4684E6934554D8F4910242620 /* Int+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Int+Extension.swift"; path = "Sources/CryptoSwift/Int+Extension.swift"; sourceTree = ""; }; - 38611A8B5CBD6969A86C88ABBAD0B7F9 /* scrypt-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "scrypt-macOS-prefix.pch"; path = "../scrypt-macOS/scrypt-macOS-prefix.pch"; sourceTree = ""; }; 38CE3ACA4B29354641417DECF1CDC5CF /* PKCS7Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7Padding.swift; path = Sources/CryptoSwift/PKCS/PKCS7Padding.swift; sourceTree = ""; }; - 394A497CBDC2A602E9E5A0A0E4A7C231 /* field_5x52_int128_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_int128_impl.h; path = secp256k1_ios/src/field_5x52_int128_impl.h; sourceTree = ""; }; 399DA5BA0438EA58494518BA41744529 /* libCryptoSwift-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libCryptoSwift-macOS.a"; path = "libCryptoSwift-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 39CF9703323096F120BB7C18AC3CDD7E /* CipherModeWorker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CipherModeWorker.swift; path = Sources/CryptoSwift/BlockMode/CipherModeWorker.swift; sourceTree = ""; }; - 3C18FE09DB747D4F64CDC4EBF07A6AF0 /* Pods-web3swift-macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS.debug.xcconfig"; sourceTree = ""; }; - 3C515870A748CB470E9FBA7186297FFC /* Pods-web3swift-macOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-macOS-acknowledgements.markdown"; sourceTree = ""; }; - 3D37A86FCD5D0735EBF9DA4224B06C53 /* Pods-web3swift-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swift-macOS.modulemap"; sourceTree = ""; }; - 3D8C2202C63BDA7C0F7AF6C89B6273FD /* Pods-web3swift-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swift-iOS-umbrella.h"; sourceTree = ""; }; 3DE45F74327BBE43455BF3A326A48B73 /* libPods-web3swift-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-macOS.a"; path = "libPods-web3swift-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 3E8B805F5680EBA0F99C37AB55DF371A /* Blowfish.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blowfish.swift; path = Sources/CryptoSwift/Blowfish.swift; sourceTree = ""; }; + 3E91F337EA3979DB5DD84C325A340270 /* Pods-web3swift-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-macOS-dummy.m"; sourceTree = ""; }; 3FA266C4746C1D8469AC609FF653BED1 /* Cipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cipher.swift; path = Sources/CryptoSwift/Cipher.swift; sourceTree = ""; }; 400C4535441BC4EF157E1C50C654B28E /* SHA2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA2.swift; path = Sources/CryptoSwift/SHA2.swift; sourceTree = ""; }; - 4023529EFB6CDA4D7368E425E4F84453 /* PromiseKit.root-CorePromise-Foundation-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "PromiseKit.root-CorePromise-Foundation-dummy.m"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-dummy.m"; sourceTree = ""; }; 40D27BDFCD317E69149F3DFAFB7543A9 /* libSipHash-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libSipHash-iOS.a"; path = "libSipHash-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 40D9819200FF2C3F5E60469040AA4DB6 /* secp256k1_ios-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "secp256k1_ios-macOS.modulemap"; path = "../../Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap"; sourceTree = ""; }; - 413EEACF83712E321F24944C021FEB53 /* ecmult_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_impl.h; path = secp256k1_ios/src/ecmult_impl.h; sourceTree = ""; }; - 427CDF99DA88A7D8247722B6CD3116F3 /* BigInt-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-iOS-prefix.pch"; sourceTree = ""; }; - 42EA8B8CA97A07CABD4DBAC9F8610993 /* num_gmp_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp_impl.h; path = secp256k1_ios/src/num_gmp_impl.h; sourceTree = ""; }; - 435DE1805E9BEBA86E3E920D1E9EE451 /* SipHash-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "SipHash-iOS.modulemap"; path = "../../Headers/Public/SipHash/SipHash-iOS.modulemap"; sourceTree = ""; }; - 448D25E7648FA3DE003C577C4A2A5DCC /* PromiseKit.root-CorePromise-Foundation-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PromiseKit.root-CorePromise-Foundation-umbrella.h"; path = "../../Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h"; sourceTree = ""; }; + 41EDD0261BF89D565B8ABBA503384512 /* field_5x52_int128_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_int128_impl.h; path = secp256k1_ios/src/field_5x52_int128_impl.h; sourceTree = ""; }; + 4207171AF4AC30056EE3D86BA2E572A2 /* basic-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "basic-config.h"; path = "secp256k1_ios/src/basic-config.h"; sourceTree = ""; }; 4530120DD6B0DBFF5F660844F8E1C873 /* libPods-web3swift-macOS_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-macOS_Tests.a"; path = "libPods-web3swift-macOS_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 45C2BE6D1118A5C0F2E549CE3527D602 /* Salsa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Salsa.swift; path = scrypt/scrypt/Salsa.swift; sourceTree = ""; }; 45FFA251444F7DBCE99E0099A3F19A6D /* UIView+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.m"; sourceTree = ""; }; + 4646CC97CDC73D8A7E940BD068873A84 /* CryptoSwift-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-iOS-prefix.pch"; sourceTree = ""; }; + 46AF7B9300956886A337785AFCCA65E9 /* lax_der_privatekey_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_privatekey_parsing.h; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.h; sourceTree = ""; }; 480A526DDBB009A3C8A843239CA3D080 /* PromiseKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PromiseKit.h; path = Sources/PromiseKit.h; sourceTree = ""; }; 4942974D6603D53C4E7A5A1EE454090A /* NSNotificationCenter+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSNotificationCenter+Promise.swift"; path = "Extensions/Foundation/Sources/NSNotificationCenter+Promise.swift"; sourceTree = ""; }; - 4965C40E8438A02BE82C485420845345 /* scalar_8x32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32.h; path = secp256k1_ios/src/scalar_8x32.h; sourceTree = ""; }; - 4A08D8470DE64C23488C86AED4E43593 /* SipHash-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-iOS-prefix.pch"; sourceTree = ""; }; + 494D5312F7C1D194997E562BD1B13904 /* SipHash-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SipHash-macOS-prefix.pch"; path = "../SipHash-macOS/SipHash-macOS-prefix.pch"; sourceTree = ""; }; + 4A2E0AD738D348DDA03396C623D814CD /* Pods-web3swift-macOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-macOS-acknowledgements.plist"; sourceTree = ""; }; + 4A780AF8B00436C92795015A4BB4871E /* scalar_8x32_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32_impl.h; path = secp256k1_ios/src/scalar_8x32_impl.h; sourceTree = ""; }; 4B32F8420CC3DEDA3DC7BB0407B26FDF /* Collection+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Collection+Extension.swift"; path = "Sources/CryptoSwift/Collection+Extension.swift"; sourceTree = ""; }; + 4B75257897ACBD9567F00827C544D722 /* Result-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Result-macOS-umbrella.h"; path = "../Result-macOS/Result-macOS-umbrella.h"; sourceTree = ""; }; 4BBCEC526DF7F5F6A046CBAA7F93B530 /* SecureBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SecureBytes.swift; path = Sources/CryptoSwift/SecureBytes.swift; sourceTree = ""; }; - 4D019DB5C502C0B2F56DC85B925D7B7E /* Pods-web3swift-macOS_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-web3swift-macOS_Tests-frameworks.sh"; sourceTree = ""; }; 4D7C8185E119AF505859D0B27973E57E /* AES.Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.Cryptors.swift; path = Sources/CryptoSwift/AES.Cryptors.swift; sourceTree = ""; }; 4DFFEB20DCD9CFCA06DAE16B4367F1B9 /* UIViewController+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.h"; sourceTree = ""; }; - 4EF2B2E6A827BEB4095C69760A095228 /* ecdsa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa.h; path = secp256k1_ios/src/ecdsa.h; sourceTree = ""; }; - 4F02F7BA4CE0D08B4598AA01224ED76C /* SipHash-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SipHash-macOS-umbrella.h"; path = "../../Headers/Public/SipHash/SipHash-macOS-umbrella.h"; sourceTree = ""; }; - 506C81F04F45BF82E339BD28FB9A6252 /* ecmult_gen_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen_impl.h; path = secp256k1_ios/src/ecmult_gen_impl.h; sourceTree = ""; }; - 50832FC4B2337F53A6F628D514DA730A /* Pods-web3swift-macOS_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS_Tests.release.xcconfig"; sourceTree = ""; }; 51008209B67B821AFF37051156E8A7FD /* Hashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Hashable.swift; path = sources/Hashable.swift; sourceTree = ""; }; - 5196D2D10E23A81EE37F9B0026AF0320 /* CryptoSwift-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "CryptoSwift-macOS.modulemap"; path = "../../Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap"; sourceTree = ""; }; - 51E1DD9A1F30A69F32B03EED89A68BE4 /* scrypt-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "scrypt-iOS.modulemap"; path = "../../Headers/Public/scrypt/scrypt-iOS.modulemap"; sourceTree = ""; }; - 51FFE70E98E00B14A7CEDBC9878713E7 /* num.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num.h; path = secp256k1_ios/src/num.h; sourceTree = ""; }; 520379C6715340D2674500ACBD1C4502 /* Catchable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catchable.swift; path = Sources/Catchable.swift; sourceTree = ""; }; + 522015696E45158812DD4C5CF37CD544 /* Pods-web3swift-macOS_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-macOS_Tests-dummy.m"; sourceTree = ""; }; 52755885B4D2951532D257A2FEF6BCCF /* libsecp256k1_ios-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libsecp256k1_ios-macOS.a"; path = "libsecp256k1_ios-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 549BC77FB563C5F7078EEF621568360D /* Pods-web3swift-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS.debug.xcconfig"; sourceTree = ""; }; + 52984D45ED4815A5B6748A82F48DB8FD /* BigInt-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "BigInt-macOS.modulemap"; path = "../BigInt-macOS/BigInt-macOS.modulemap"; sourceTree = ""; }; + 534009974277EC43330183E1CF3A73A3 /* CryptoSwift-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "CryptoSwift-macOS.xcconfig"; path = "../CryptoSwift-macOS/CryptoSwift-macOS.xcconfig"; sourceTree = ""; }; + 54DEB815C6A515714B4A838D414C3241 /* Pods-web3swift-macOS_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-macOS_Tests-acknowledgements.markdown"; sourceTree = ""; }; 55188AE8B0452B68B54A84FABFBA1BBF /* Bitwise Ops.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bitwise Ops.swift"; path = "sources/Bitwise Ops.swift"; sourceTree = ""; }; - 553C1445D10FA04E682FE1674D6AF9EB /* Pods-web3swift-macOS_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swift-macOS_Tests-umbrella.h"; sourceTree = ""; }; 5571DA87BD8084546DB65E212E690849 /* RandomUInt64.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomUInt64.swift; path = SipHash/RandomUInt64.swift; sourceTree = ""; }; 560B0B96D98FDEEAA1623C02B9F6ACC6 /* UIView+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Promise.swift"; path = "Extensions/UIKit/Sources/UIView+Promise.swift"; sourceTree = ""; }; - 57BE35B8EF2F430EE1A093A4E43F8243 /* eckey_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey_impl.h; path = secp256k1_ios/src/eckey_impl.h; sourceTree = ""; }; + 56B4887D50F2EB64112AE8382F814BE6 /* secp256k1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1.h; path = secp256k1_ios/include/secp256k1.h; sourceTree = ""; }; + 5875BBBED3A4765B1D355C2AD095978A /* SipHash-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "SipHash-macOS.modulemap"; path = "../SipHash-macOS/SipHash-macOS.modulemap"; sourceTree = ""; }; + 58D38A9B84FEE36DA02159AEC6611C17 /* Result-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "Result-macOS-dummy.m"; path = "../Result-macOS/Result-macOS-dummy.m"; sourceTree = ""; }; 58ED9DC4116D9A46B7047B9F3EE44E18 /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Configuration.swift; sourceTree = ""; }; - 59C1DC3D5575A99F3ADF81C0AA26D993 /* Result-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "Result-macOS.modulemap"; path = "../../Headers/Public/Result/Result-macOS.modulemap"; sourceTree = ""; }; 59C74C1E23D6AF919642E4F6E55FD308 /* BlockModeOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockModeOptions.swift; path = Sources/CryptoSwift/BlockMode/BlockModeOptions.swift; sourceTree = ""; }; 59EE5FF05C3E791A7F8398D6FCF80055 /* BlockEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockEncryptor.swift; path = Sources/CryptoSwift/BlockEncryptor.swift; sourceTree = ""; }; 5AB377C96E323960FB5F59BE70C7DDFA /* Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Poly1305.swift; path = Sources/CryptoSwift/Poly1305.swift; sourceTree = ""; }; - 5ADFA6DD652FDF2433DB8FB46C2B02CA /* ecmult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult.h; path = secp256k1_ios/src/ecmult.h; sourceTree = ""; }; - 5C0825E5C07CD2AD15EADE1A4F132C24 /* field_5x52_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_impl.h; path = secp256k1_ios/src/field_5x52_impl.h; sourceTree = ""; }; + 5BC5E345E21A1E0448686159C97199BF /* scalar_4x64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64.h; path = secp256k1_ios/src/scalar_4x64.h; sourceTree = ""; }; + 5C4FBD9EED7C8E73E16CA9B5DC621F56 /* 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 = ""; }; 5C91FB228B4F0EFFE0BB1C457B26A6E3 /* Prime Test.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Prime Test.swift"; path = "sources/Prime Test.swift"; sourceTree = ""; }; - 5D207FB930AAAC6DA0CA7AAB0EBA40EE /* Pods-web3swift-macOS_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-web3swift-macOS_Tests-resources.sh"; sourceTree = ""; }; - 5D2EF378EFDB3948F453ED590E1CE3A0 /* CryptoSwift-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CryptoSwift-iOS-dummy.m"; sourceTree = ""; }; - 5E0CF3B2DBBE8BE4869291A759FF8F08 /* PromiseKit.root-CorePromise-Foundation.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "PromiseKit.root-CorePromise-Foundation.xcconfig"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.xcconfig"; sourceTree = ""; }; - 5E2462063FC148C85C6D00F08680239E /* Pods-web3swift-macOS_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-macOS_Tests-acknowledgements.markdown"; sourceTree = ""; }; + 5D3B85A32FDF4C95F0BAA5B3BB12FE9C /* field_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_impl.h; path = secp256k1_ios/src/field_impl.h; sourceTree = ""; }; + 5D3D189B9D399D3E4E4DA52E21D02925 /* BigInt-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "BigInt-macOS-prefix.pch"; path = "../BigInt-macOS/BigInt-macOS-prefix.pch"; sourceTree = ""; }; + 5E34789287378DAC690BDC96A61B534D /* eckey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey.h; path = secp256k1_ios/src/eckey.h; sourceTree = ""; }; 5F5E831984223821B4643964E0D16375 /* AEADChaCha20Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEADChaCha20Poly1305.swift; path = Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift; sourceTree = ""; }; + 5F94C022B4C730984FCEE4E1D731C291 /* hash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash.h; path = secp256k1_ios/src/hash.h; sourceTree = ""; }; 5F98A4FCB73949EC4A239F93A6380393 /* libscrypt-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libscrypt-macOS.a"; path = "libscrypt-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 602BCDD7A6B60ADA7204658627037B22 /* SipHasher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHasher.swift; path = SipHash/SipHasher.swift; sourceTree = ""; }; + 60EE65019B7B0977FF9331F020D957CD /* BigInt-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "BigInt-macOS-umbrella.h"; path = "../BigInt-macOS/BigInt-macOS-umbrella.h"; sourceTree = ""; }; 60F78E26D6ABB8534A27E28D45FBFF71 /* Scrypt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scrypt.swift; path = scrypt/scrypt/Scrypt.swift; sourceTree = ""; }; - 62B45A0A7D2B98407F79CED6516206F9 /* PromiseKit.root-CorePromise-Foundation-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PromiseKit.root-CorePromise-Foundation-prefix.pch"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch"; sourceTree = ""; }; + 64389E571A401AFB1A430A11C7053757 /* SipHash-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "SipHash-macOS.xcconfig"; path = "../SipHash-macOS/SipHash-macOS.xcconfig"; sourceTree = ""; }; 6565B9A6640E27ECBBF27A2AB8E07117 /* AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AnyPromise.m; path = Sources/AnyPromise.m; sourceTree = ""; }; - 659B7C3591F263F05E23E3A49D8DBF88 /* Result-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "Result-iOS.modulemap"; path = "../../Headers/Public/Result/Result-iOS.modulemap"; sourceTree = ""; }; 65E54F31ACC1397C1485DF5C7B5FA928 /* Random.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Random.swift; path = sources/Random.swift; sourceTree = ""; }; + 65FAD979B70CA8CC84821A24AF02DCF2 /* secp256k1_ios.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ios.h; path = secp256k1_ios/secp256k1_ios.h; sourceTree = ""; }; + 670BCF92469F3BB35E8F617E2F61E479 /* lax_der_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_parsing.h; path = secp256k1_ios/contrib/lax_der_parsing.h; sourceTree = ""; }; + 673FFC4D2B959AB8AEC35D646A85CDCD /* Pods-web3swift-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS.release.xcconfig"; sourceTree = ""; }; 690E91794401ED87EB104B7BE8059DD2 /* UIViewController+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.m"; sourceTree = ""; }; 6942B9400A6731CB14455C8AE7F0C6A7 /* Subtraction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Subtraction.swift; path = sources/Subtraction.swift; sourceTree = ""; }; - 6B7D33AF1AE938A46700885645D7B0C6 /* secp256k1_recovery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_recovery.h; path = secp256k1_ios/include/secp256k1_recovery.h; sourceTree = ""; }; - 6D76E01714111860B1A58E945BFEDC3A /* Pods-web3swift-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS.release.xcconfig"; sourceTree = ""; }; + 6C86011CD926858E717E5D92380F2838 /* CryptoSwift-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CryptoSwift-iOS-dummy.m"; sourceTree = ""; }; + 6D4A716592C208D7429CE19B82094FA8 /* Pods-web3swift-iOS_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-iOS_Tests-acknowledgements.plist"; sourceTree = ""; }; 6DDF10E5AA3EE0D0028933F977F5BF96 /* Generics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generics.swift; path = Sources/CryptoSwift/Generics.swift; sourceTree = ""; }; - 6EE0308F276A9A14635D7A83AB1F5F78 /* CryptoSwift-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CryptoSwift-iOS-umbrella.h"; path = "../../Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h"; sourceTree = ""; }; - 6EE45321EF7229C67B1384B69BC09C9A /* Result-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Result-iOS-dummy.m"; sourceTree = ""; }; - 70EC0C5B63B6AFB5C821750D9F6A516C /* BigInt-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BigInt-iOS-dummy.m"; sourceTree = ""; }; - 7201AB4205DACC1A886D0B4FE0F68E52 /* PromiseKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromiseKit.xcconfig; sourceTree = ""; }; - 7399560A570538454DCA6FC42E879809 /* num_gmp.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp.h; path = secp256k1_ios/src/num_gmp.h; sourceTree = ""; }; - 744D68A2C1A6A6136663892BD5967CEF /* lax_der_privatekey_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_privatekey_parsing.h; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.h; sourceTree = ""; }; + 6E89BE9CD29A9579279F97511C455B1A /* secp256k1_ios-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "secp256k1_ios-iOS.modulemap"; sourceTree = ""; }; + 73E79D0886091383BE392E49B7A4EBC0 /* ecdsa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa.h; path = secp256k1_ios/src/ecdsa.h; sourceTree = ""; }; 74C8E7BC7B9A663969DC6A1FAE5AD6C6 /* Bit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bit.swift; path = Sources/CryptoSwift/Bit.swift; sourceTree = ""; }; 75108DB9FE7BABCC05526BD92059DC5A /* BufferStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BufferStorage.swift; path = scrypt/scrypt/BufferStorage.swift; sourceTree = ""; }; - 757A37D7E29817F44F2AA11410470DCE /* Result-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "Result-macOS-dummy.m"; path = "../Result-macOS/Result-macOS-dummy.m"; sourceTree = ""; }; - 75E5EE20B9BFFFDFC7AC813752336250 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 778AAAE605119A0341DA4378ED873181 /* scalar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar.h; path = secp256k1_ios/src/scalar.h; sourceTree = ""; }; - 79F3D8E746AF01E98DE20BD2C1572F35 /* scrypt-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "scrypt-macOS.xcconfig"; path = "../scrypt-macOS/scrypt-macOS.xcconfig"; sourceTree = ""; }; - 7AF087435CFE453BE94CFAE116CC7661 /* field_5x52.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52.h; path = secp256k1_ios/src/field_5x52.h; sourceTree = ""; }; + 753E3CD3CF2AA32CDB11305D429F3C96 /* Pods-web3swift-iOS_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-iOS_Tests-acknowledgements.markdown"; sourceTree = ""; }; + 77B6F7DB489A42B9DFF2C75C6090890A /* num.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num.h; path = secp256k1_ios/src/num.h; sourceTree = ""; }; + 7953AAFAFDD8639ABC0F6CFA2A5E6436 /* ecmult_gen.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen.h; path = secp256k1_ios/src/ecmult_gen.h; sourceTree = ""; }; + 79E925BEAA0533C58B6D9871B886DD8A /* Pods-web3swift-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swift-iOS.modulemap"; sourceTree = ""; }; + 7ABA1AA6809B8D6649D072F0CA90E7EE /* field_10x26_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26_impl.h; path = secp256k1_ios/src/field_10x26_impl.h; sourceTree = ""; }; + 7AD354FFD7D90184AD046B8CB46B47C0 /* hash_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash_impl.h; path = secp256k1_ios/src/hash_impl.h; sourceTree = ""; }; 7AF444B003D1A7B9026D1AF8B3B5B699 /* HMAC+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "HMAC+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/HMAC+Foundation.swift"; sourceTree = ""; }; - 7AFD921B51CC772DFF9688DE99B7480B /* BigInt-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "BigInt-macOS-prefix.pch"; path = "../BigInt-macOS/BigInt-macOS-prefix.pch"; sourceTree = ""; }; 7B10016CC925878BCF8C1423A7EAD6A6 /* Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Padding.swift; path = Sources/CryptoSwift/Padding.swift; sourceTree = ""; }; 7B7931AA08AA6E50FAE2325FDFEC9669 /* ResultProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResultProtocol.swift; path = Result/ResultProtocol.swift; sourceTree = ""; }; - 7BF229E2F5523E62D853248DA0E5AA38 /* scrypt-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "scrypt-iOS-umbrella.h"; path = "../../Headers/Public/scrypt/scrypt-iOS-umbrella.h"; sourceTree = ""; }; - 7C9596E2D0164256EFB0F1673E724BB1 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/recovery/main_impl.h; sourceTree = ""; }; + 7E8C19543EF3AA4D9801DBE55E22E211 /* Pods-web3swift-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swift-iOS-umbrella.h"; sourceTree = ""; }; 7F3C6D22D31BFCC4FBF02C3E813AE0EC /* hang.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = hang.m; path = Sources/hang.m; sourceTree = ""; }; - 7FDB2A79B118B2F003B3E6F5A708B701 /* hash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash.h; path = secp256k1_ios/src/hash.h; sourceTree = ""; }; 81D592C69182CE946419FE4D30C2690E /* PBKDF2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF2.swift; path = Sources/CryptoSwift/PKCS/PBKDF2.swift; sourceTree = ""; }; - 838E20D48ECBA3CCA073FF52AA6BD234 /* Pods-web3swift-iOS_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS_Tests.debug.xcconfig"; sourceTree = ""; }; - 8575ADFAFEFEFEDACDC32D01960AE2AB /* scratch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch.h; path = secp256k1_ios/src/scratch.h; sourceTree = ""; }; - 8586511FF7418AB646B21C1E86D480A7 /* Result-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-iOS-prefix.pch"; sourceTree = ""; }; - 86010FFDC0CB0732CC170A6EB5EC36A5 /* field.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field.h; path = secp256k1_ios/src/field.h; sourceTree = ""; }; - 8694D87EAC35605010892313429D6622 /* Pods-web3swift-iOS_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-web3swift-iOS_Tests-frameworks.sh"; sourceTree = ""; }; + 822F20C56BDAEAB1D9B8A0CE5D552188 /* BigInt-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "BigInt-iOS.modulemap"; sourceTree = ""; }; + 83629B6E064C93119C08CF5B1695D990 /* group_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group_impl.h; path = secp256k1_ios/src/group_impl.h; sourceTree = ""; }; + 85ACA7DBB43194398C4BBE72803AB0A9 /* Result-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Result-iOS.modulemap"; sourceTree = ""; }; 878207B522C3B5C4C78ECAC3AA87663A /* libBigInt-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libBigInt-iOS.a"; path = "libBigInt-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 8866E3418AA74CD02353B3E373ACEFA9 /* PMKFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKFoundation.h; path = Extensions/Foundation/Sources/PMKFoundation.h; sourceTree = ""; }; 894312908815C8518B59156B045BB049 /* Thenable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Thenable.swift; path = Sources/Thenable.swift; sourceTree = ""; }; - 894C3E3F18C4D842D9E35A6A69851AF0 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/ecdh/main_impl.h; sourceTree = ""; }; + 897A68EA53AA050AFE4583C364D6C1CF /* PromiseKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = PromiseKit.modulemap; sourceTree = ""; }; 8A6199EF8A43EB0E1F3C0EB7228F575C /* HKDF.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HKDF.swift; path = Sources/CryptoSwift/HKDF.swift; sourceTree = ""; }; - 8B37E3EA16DFF85A33306C879D27B6C3 /* SipHash-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SipHash-iOS-umbrella.h"; path = "../../Headers/Public/SipHash/SipHash-iOS-umbrella.h"; sourceTree = ""; }; + 8B172A41C2D2CEDCBDCF390512DD02F4 /* libsecp256k1-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "libsecp256k1-config.h"; path = "secp256k1_ios/libsecp256k1-config.h"; sourceTree = ""; }; + 8B56F6A20A0CF698ECA0EDF6CF4CDD74 /* Pods-web3swift-iOS_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-iOS_Tests-dummy.m"; sourceTree = ""; }; 8C537644BF5D1735EC0FF5E1EAD5A94F /* AnyPromise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyPromise.swift; path = Sources/AnyPromise.swift; sourceTree = ""; }; - 8E865E2465317D7395EFFC3E15BE3B82 /* field_10x26_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26_impl.h; path = secp256k1_ios/src/field_10x26_impl.h; sourceTree = ""; }; - 8F3D3202602E52028B31A9BC0E40E4BE /* BigInt-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "BigInt-macOS.xcconfig"; path = "../BigInt-macOS/BigInt-macOS.xcconfig"; sourceTree = ""; }; + 8E629DABC6293E872B2A48DE12DC3D99 /* PromiseKit.root-CorePromise-Foundation.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "PromiseKit.root-CorePromise-Foundation.modulemap"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.modulemap"; sourceTree = ""; }; 8F87371895A84370E0ECB153DA5CFF62 /* PBKDF1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF1.swift; path = Sources/CryptoSwift/PKCS/PBKDF1.swift; sourceTree = ""; }; + 90B410829D6E70A45A22CC62F187A11B /* Pods-web3swift-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swift-macOS.modulemap"; sourceTree = ""; }; 90CF4F3CD46BB810B73F6BAF362CB47A /* libPromiseKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libPromiseKit.a; path = libPromiseKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; 9111A66A9DB609E927159CEFB76D4E76 /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "Sources/CryptoSwift/String+Extension.swift"; sourceTree = ""; }; 91836319B3FCCB5A2B1BCE6EF7415F68 /* CFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CFB.swift; path = Sources/CryptoSwift/BlockMode/CFB.swift; sourceTree = ""; }; - 9356EB07FFA37D9FCA3FFDF81AE8F362 /* secp256k1_ios-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-iOS-prefix.pch"; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 9419704F82CEC9143EC36DDD7E0B5565 /* NSNotificationCenter+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.m"; sourceTree = ""; }; - 952751793FE823F69C417971D443D0DA /* Pods-web3swift-macOS-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-web3swift-macOS-resources.sh"; sourceTree = ""; }; - 962E9B0C3462596BB9DF0C64D327A4DD /* Result-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Result-macOS-prefix.pch"; path = "../Result-macOS/Result-macOS-prefix.pch"; sourceTree = ""; }; + 95C397E16B314F921F7784F00C8F183B /* Pods-web3swift-iOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-iOS-acknowledgements.plist"; sourceTree = ""; }; + 95E6916802B9A0D029D336A91E220830 /* Result-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Result-iOS.xcconfig"; sourceTree = ""; }; + 95FA6138713C5F6E2FBBB866D8A4C6E0 /* 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 = ""; }; + 962B94FFF364D97FCB13480B186176CC /* ecmult_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_impl.h; path = secp256k1_ios/src/ecmult_impl.h; sourceTree = ""; }; 96BC14C5CF69F4D24A02B045A7A1BB7E /* fwd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fwd.h; path = Sources/fwd.h; sourceTree = ""; }; - 97CA37D99BC06AE9B4704C72A22686E5 /* lax_der_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_parsing.h; path = secp256k1_ios/contrib/lax_der_parsing.h; sourceTree = ""; }; + 9705AB5431247715C48FE5E652D005AE /* CryptoSwift-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "CryptoSwift-iOS.modulemap"; sourceTree = ""; }; + 9873C60F241233030F26574B565116B5 /* ecmult_gen_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen_impl.h; path = secp256k1_ios/src/ecmult_gen_impl.h; sourceTree = ""; }; 991C827F3BBAAEE28EE416BE38F76DD0 /* Guarantee.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Guarantee.swift; path = Sources/Guarantee.swift; sourceTree = ""; }; - 99B84A386A434CF038072CF11DE08F34 /* scrypt-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "scrypt-iOS-dummy.m"; sourceTree = ""; }; - 9B90CA6D6950E5059F37E860339B46F6 /* SipHash-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "SipHash-macOS.modulemap"; path = "../../Headers/Public/SipHash/SipHash-macOS.modulemap"; sourceTree = ""; }; + 9B4E57AA7FB0E002998D6424CB608E32 /* PromiseKit.root-CorePromise-Foundation-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PromiseKit.root-CorePromise-Foundation-prefix.pch"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch"; sourceTree = ""; }; + 9CF4AD4A5FE03F1CD453371F1649C480 /* secp256k1_ios-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_ios-macOS-umbrella.h"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS-umbrella.h"; sourceTree = ""; }; 9D44A825E8CB9200059521A9C941F712 /* Square Root.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Square Root.swift"; path = "sources/Square Root.swift"; sourceTree = ""; }; + 9EE71EAB28439C6C06ACAAA031A9AE66 /* scalar_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_impl.h; path = secp256k1_ios/src/scalar_impl.h; sourceTree = ""; }; 9FAB45044F3A646E2488529698B14387 /* Floating Point Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Floating Point Conversion.swift"; path = "sources/Floating Point Conversion.swift"; sourceTree = ""; }; 9FF537F705CA3D41D9798A4511A8F24D /* Authenticator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Authenticator.swift; path = Sources/CryptoSwift/Authenticator.swift; sourceTree = ""; }; A0BB9A3E4E29EBA29F99C94BBEEEC1F2 /* Cimpl.c */ = {isa = PBXFileReference; includeInIndex = 1; name = Cimpl.c; path = scrypt/Cimpl.c; sourceTree = ""; }; - A252C33BAE7931B130EF619B55FCC0F5 /* SipHash-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SipHash-macOS-dummy.m"; path = "../SipHash-macOS/SipHash-macOS-dummy.m"; sourceTree = ""; }; - A2A9882D7606624DB09D137DA346B890 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; A414F7D6F59CB6D7C5696F98992E80A2 /* BatchedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BatchedCollection.swift; path = Sources/CryptoSwift/BatchedCollection.swift; sourceTree = ""; }; + A45553E1351B43FC7391481CD4FF199E /* secp256k1_ios-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "secp256k1_ios-macOS.modulemap"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS.modulemap"; sourceTree = ""; }; A5946E85C35328004F1FD0D65ABF93B4 /* Process+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Process+Promise.swift"; path = "Extensions/Foundation/Sources/Process+Promise.swift"; sourceTree = ""; }; + A5D9B32B104EA0A137D78B89D4D19D40 /* Pods-web3swift-macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS.release.xcconfig"; sourceTree = ""; }; A699FEC4F0274F833ECDEB986CAABBD2 /* UInt32+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt32+Extension.swift"; path = "Sources/CryptoSwift/UInt32+Extension.swift"; sourceTree = ""; }; - A828AD3F9672B4D9BA255FA0618E01A3 /* secp256k1_ios-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_ios-macOS-prefix.pch"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch"; sourceTree = ""; }; + A7B38174B0902D2DCD57CAFF23561C82 /* group.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group.h; path = secp256k1_ios/src/group.h; sourceTree = ""; }; + A7C177A4D014F2C568B84F7BED9628F3 /* secp256k1_ios-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "secp256k1_ios-macOS-dummy.m"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS-dummy.m"; sourceTree = ""; }; A93880388A03A6AEAEBFC90F7F533AAD /* StreamEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StreamEncryptor.swift; path = Sources/CryptoSwift/StreamEncryptor.swift; sourceTree = ""; }; A9C90F0F0F9A0115AC326304EB131CA4 /* race.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = race.swift; path = Sources/race.swift; sourceTree = ""; }; + AADCF3484DBEE7528E66E04707BBA998 /* scalar_low_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low_impl.h; path = secp256k1_ios/src/scalar_low_impl.h; sourceTree = ""; }; AAF423028DF35854B3087F873B6965E4 /* libPods-web3swift-iOS_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-iOS_Tests.a"; path = "libPods-web3swift-iOS_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - AC53F2E963D210DCBAC0E8AAD2682664 /* CryptoSwift-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "CryptoSwift-macOS.xcconfig"; path = "../CryptoSwift-macOS/CryptoSwift-macOS.xcconfig"; sourceTree = ""; }; + AB4A0ADEE88B224FCFB999E14A3FC3BA /* CryptoSwift-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CryptoSwift-macOS-umbrella.h"; path = "../CryptoSwift-macOS/CryptoSwift-macOS-umbrella.h"; sourceTree = ""; }; AD4D44D1A4A0B550CAB6D8C2AED04AD3 /* CMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CMAC.swift; path = Sources/CryptoSwift/CMAC.swift; sourceTree = ""; }; - AD8F452107AA790939311FAFE9E2434D /* scrypt-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "scrypt-macOS.modulemap"; path = "../../Headers/Public/scrypt/scrypt-macOS.modulemap"; sourceTree = ""; }; + AE26C9121A9F08A8934B37AD374D39F4 /* scrypt-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "scrypt-macOS-prefix.pch"; path = "../scrypt-macOS/scrypt-macOS-prefix.pch"; sourceTree = ""; }; AEF9AB34E06A2A4078A0C87B37B1CD0F /* RandomBytesSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomBytesSequence.swift; path = Sources/CryptoSwift/RandomBytesSequence.swift; sourceTree = ""; }; - AF2BFA66D8E08420367813AD2F6BE5D3 /* Pods-web3swift-macOS_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-macOS_Tests-acknowledgements.plist"; sourceTree = ""; }; AF807959CD9376AAE20892C1143FF9E6 /* libResult-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libResult-macOS.a"; path = "libResult-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - B12A75E0FD8B52123CBAE9EEB4A42F3B /* Pods-web3swift-iOS_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS_Tests.release.xcconfig"; sourceTree = ""; }; + AFCE6E7D1FF14C1DB7CAA83B0D516538 /* scratch_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch_impl.h; path = secp256k1_ios/src/scratch_impl.h; sourceTree = ""; }; + B02B055F45990BB015AB494AE625A793 /* CryptoSwift-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-iOS-umbrella.h"; sourceTree = ""; }; + B0423C9D9E49080ACEF73C985FBB221F /* SipHash-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SipHash-macOS-dummy.m"; path = "../SipHash-macOS/SipHash-macOS-dummy.m"; sourceTree = ""; }; + B14E2DB314C3B43D35EF8DAECF6AC3DA /* field_5x52_asm_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_asm_impl.h; path = secp256k1_ios/src/field_5x52_asm_impl.h; sourceTree = ""; }; B3BEE25ACB7B1714E52C057B725B022B /* ChaCha20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChaCha20.swift; path = Sources/CryptoSwift/ChaCha20.swift; sourceTree = ""; }; B3C749DBE031D5CD32F6F718288C1AC0 /* Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Promise.swift; path = Sources/Promise.swift; sourceTree = ""; }; B592EEFCCF7F964D0B60F749B17B7658 /* race.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = race.m; path = Sources/race.m; sourceTree = ""; }; B7540EADD3520F1ECD4BAD23FF29400F /* String+FoundationExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+FoundationExtension.swift"; path = "Sources/CryptoSwift/Foundation/String+FoundationExtension.swift"; sourceTree = ""; }; + B7762E4245191B27674EB7EB82DCFFF1 /* Pods-web3swift-macOS_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS_Tests.debug.xcconfig"; sourceTree = ""; }; + B7C11E88CA44E3C6CD4C1DA0CE8CDF1C /* secp256k1_ecdh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ecdh.h; path = secp256k1_ios/include/secp256k1_ecdh.h; sourceTree = ""; }; B7DFFB650AB055EA65177877A4837E93 /* String Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String Conversion.swift"; path = "sources/String Conversion.swift"; sourceTree = ""; }; B864BCFD33F0A7ABED7DBA75C963A51A /* BlockCipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockCipher.swift; path = Sources/CryptoSwift/BlockCipher.swift; sourceTree = ""; }; - B9BCFC62DFEA1FC233306B897C15DE84 /* lax_der_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_parsing.c; path = secp256k1_ios/contrib/lax_der_parsing.c; sourceTree = ""; }; - BAD09E8EE27EB4BA87F1F0237E0D7537 /* secp256k1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1.h; path = secp256k1_ios/include/secp256k1.h; sourceTree = ""; }; + BAC15C8E1DC42A3C6D2AF7A4BACD9D9A /* scrypt-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "scrypt-iOS.modulemap"; sourceTree = ""; }; BC8CE2AC7222CA948CFA3E9FEF002800 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = Sources/Error.swift; sourceTree = ""; }; - BD07DFA1EC0FD8CF78E837D5A0051A6D /* num_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_impl.h; path = secp256k1_ios/src/num_impl.h; sourceTree = ""; }; BD4C6A3CDC6FA3F322EA1C393C5CC89E /* Integer Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Integer Conversion.swift"; path = "sources/Integer Conversion.swift"; sourceTree = ""; }; - BDB424BDD775458975A06633ABB1E890 /* secp256k1_ios-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_ios-iOS-umbrella.h"; path = "../../Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h"; sourceTree = ""; }; + BECB9224CBFC1D8A1E8486BB06BBC621 /* BigInt-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-iOS-umbrella.h"; sourceTree = ""; }; BF467792E24FCB49390F293678C2E231 /* ZeroPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZeroPadding.swift; path = Sources/CryptoSwift/ZeroPadding.swift; sourceTree = ""; }; - BF46D6C2599B16723E497A8B1C526766 /* PromiseKit.root-CorePromise-Foundation.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "PromiseKit.root-CorePromise-Foundation.modulemap"; path = "../../Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap"; sourceTree = ""; }; + C085FF97293CA817998555A347A3CF20 /* CryptoSwift-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CryptoSwift-macOS-prefix.pch"; path = "../CryptoSwift-macOS/CryptoSwift-macOS-prefix.pch"; sourceTree = ""; }; C0E096DA6BBC65953BD97D1BD9FDC13A /* Blowfish+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Blowfish+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift"; sourceTree = ""; }; - C166DBC3A2FF6FC7FB066E0142D70FCA /* Result-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Result-macOS-umbrella.h"; path = "../../Headers/Public/Result/Result-macOS-umbrella.h"; sourceTree = ""; }; + C15E72CDA7675543ABA19953EF2D6A50 /* CryptoSwift-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "CryptoSwift-macOS.modulemap"; path = "../CryptoSwift-macOS/CryptoSwift-macOS.modulemap"; sourceTree = ""; }; + C1B8E55A13B5B74C5E80CA45BC86E457 /* Result-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "Result-macOS.modulemap"; path = "../Result-macOS/Result-macOS.modulemap"; sourceTree = ""; }; C2D922779E502A6EFC12530D47844477 /* AEAD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEAD.swift; path = Sources/CryptoSwift/AEAD/AEAD.swift; sourceTree = ""; }; - C3B8A43F9D491A5A6F79AEC7B3ABF7C4 /* secp256k1_ios-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "secp256k1_ios-macOS-dummy.m"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS-dummy.m"; sourceTree = ""; }; + C3C66A0B084556BD285AA44CBCA65202 /* scrypt-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "scrypt-iOS-dummy.m"; sourceTree = ""; }; C57F8890E519BE45C84FBCD5E06453AF /* NoError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoError.swift; path = Result/NoError.swift; sourceTree = ""; }; + C60F71A13E6B38C36897688C101E2C9C /* BigInt-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "BigInt-macOS.xcconfig"; path = "../BigInt-macOS/BigInt-macOS.xcconfig"; sourceTree = ""; }; + C6E075CB2894DDF612F14363C5317B93 /* SipHash-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "SipHash-iOS.modulemap"; sourceTree = ""; }; C7346693A0E94FF0C860F161CDFCE96E /* libsecp256k1_ios-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libsecp256k1_ios-iOS.a"; path = "libsecp256k1_ios-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - C7E7D85D04AEF994D90632F66E660A6B /* Pods-web3swift-macOS_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swift-macOS_Tests.modulemap"; sourceTree = ""; }; C996378C4E5A24B09E9399A757B8257E /* PKCS5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS5.swift; path = Sources/CryptoSwift/PKCS/PKCS5.swift; sourceTree = ""; }; C9D0105E6F7855534D035E089FAACA84 /* NSURLSession+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURLSession+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.m"; sourceTree = ""; }; CAB3BF2C1D04839054658D7999609AFA /* hang.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = hang.swift; path = Sources/hang.swift; sourceTree = ""; }; - CAEC94D8F0FC43E808BA5F9ADB61CD96 /* Pods-web3swift-iOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-iOS-acknowledgements.plist"; sourceTree = ""; }; - CAF1A1CA61F0B5E096092946067071C5 /* BigInt-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "BigInt-iOS-umbrella.h"; path = "../../Headers/Public/BigInt/BigInt-iOS-umbrella.h"; sourceTree = ""; }; CB6A81C2298843C461F65B8D11106F72 /* libPods-web3swift-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-iOS.a"; path = "libPods-web3swift-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + CC5C878E59F3ED2C5956640525A3B54F /* util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = util.h; path = secp256k1_ios/src/util.h; sourceTree = ""; }; CC773B77A5A65E3C63F4C5305CAD01D1 /* Cimpl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Cimpl.h; path = scrypt/Cimpl.h; sourceTree = ""; }; - CCD178AF0C0283D14572A07109AABF34 /* Pods-web3swift-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-macOS-dummy.m"; sourceTree = ""; }; CCDA16C2155C3C3AC4C4D3C23A57EC12 /* UInt8+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt8+Extension.swift"; path = "Sources/CryptoSwift/UInt8+Extension.swift"; sourceTree = ""; }; CF5CF52D91122CF7B77E75FAF93251C3 /* UInt64+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt64+Extension.swift"; path = "Sources/CryptoSwift/UInt64+Extension.swift"; sourceTree = ""; }; + CF710065BE127B2E19409D9FAB5AEF43 /* secp256k1_ios-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-iOS-prefix.pch"; sourceTree = ""; }; CFA9EC9779A914A67653CFFF9142318C /* Deprecations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecations.swift; path = Sources/Deprecations.swift; sourceTree = ""; }; - CFF935D0FA27DF791E8FDBB6D5D68CB2 /* Pods-web3swift-macOS_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS_Tests.debug.xcconfig"; sourceTree = ""; }; D159242CC5E8F83FDBE6973BE570CA54 /* Comparable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Comparable.swift; path = sources/Comparable.swift; sourceTree = ""; }; D175F930B0613AAEB35FE3D02276CA4D /* PMKUIKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKUIKit.h; path = Extensions/UIKit/Sources/PMKUIKit.h; sourceTree = ""; }; D1BEA6E913A811987196FC02097A1F5C /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "Sources/CryptoSwift/Foundation/Data+Extension.swift"; sourceTree = ""; }; - D1C14722F45B3D63B1FB360F6F553FF5 /* BigInt-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "BigInt-iOS.xcconfig"; sourceTree = ""; }; D22F70DCC90E8FE0E9EC24A5DBABE79C /* Rabbit+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Rabbit+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift"; sourceTree = ""; }; D24853136C9E866538093205C6E4A90A /* when.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = when.m; path = Sources/when.m; sourceTree = ""; }; + D288250D5D03FFA450A24F233388BA7A /* secp256k1.c */ = {isa = PBXFileReference; includeInIndex = 1; name = secp256k1.c; path = secp256k1_ios/src/secp256k1.c; sourceTree = ""; }; D2FA1DA6CAEC899929310534A250E53B /* OFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OFB.swift; path = Sources/CryptoSwift/BlockMode/OFB.swift; sourceTree = ""; }; - D37DEA7A8B3EBEC27D9109471669A4BF /* secp256k1.c */ = {isa = PBXFileReference; includeInIndex = 1; name = secp256k1.c; path = secp256k1_ios/src/secp256k1.c; sourceTree = ""; }; - D637897EFADFCEE3659DF22E194C4ABD /* 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 = ""; }; D6FBFF07C73E9B536C49D3D32A989327 /* join.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = join.m; path = Sources/join.m; sourceTree = ""; }; - D78F1D1F6EB23F362E664280AC0B5F29 /* secp256k1_ios-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "secp256k1_ios-macOS.xcconfig"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig"; sourceTree = ""; }; + D70BDEFFA46F9A5EE71DB70AE67B5652 /* ecmult_const_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const_impl.h; path = secp256k1_ios/src/ecmult_const_impl.h; sourceTree = ""; }; D8602F37D59CD9AD65EEF65DF7AA62A3 /* UInt16+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt16+Extension.swift"; path = "Sources/CryptoSwift/UInt16+Extension.swift"; sourceTree = ""; }; D89263E801FAC6A34F7C9D4E3A3066A9 /* UInt128.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UInt128.swift; path = Sources/CryptoSwift/UInt128.swift; sourceTree = ""; }; - D8A60B0639785EE266ACA62D536DD199 /* hash_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash_impl.h; path = secp256k1_ios/src/hash_impl.h; sourceTree = ""; }; D8EAA4A69D5AC1E3D89D6D25C9496C75 /* Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptors.swift; path = Sources/CryptoSwift/Cryptors.swift; sourceTree = ""; }; - D93F53AAD0FD5DB616A5E1C69164F0D7 /* group_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group_impl.h; path = secp256k1_ios/src/group_impl.h; sourceTree = ""; }; + D8F688145BCFE1FB8B76299CC261A05E /* Pods-web3swift-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-iOS-dummy.m"; sourceTree = ""; }; D956E4D797535DA55BFACC56BAE7232E /* BlockMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockMode.swift; path = Sources/CryptoSwift/BlockMode/BlockMode.swift; sourceTree = ""; }; - D96A0A368BE15EEEB27A3F77B5F74533 /* Pods-web3swift-iOS_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-iOS_Tests-dummy.m"; sourceTree = ""; }; + DA900039B5D199745C785144030E7BF9 /* Pods-web3swift-macOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-macOS-acknowledgements.markdown"; sourceTree = ""; }; DB87E523FFE6DE6B135FDDCF9D25E434 /* libBigInt-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libBigInt-macOS.a"; path = "libBigInt-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; DC1129F2E85B44E362DF4E5C827C8DD7 /* Box.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Box.swift; path = Sources/Box.swift; sourceTree = ""; }; - DC80BC8175DF95AF5AC0777B4379466F /* scalar_4x64_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64_impl.h; path = secp256k1_ios/src/scalar_4x64_impl.h; sourceTree = ""; }; - DD61FCA6B92DBB61BD0CE0268DBAA790 /* Pods-web3swift-iOS-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-web3swift-iOS-resources.sh"; sourceTree = ""; }; - DDEB5B32B77FC78B04321FABF19FAF64 /* ecdsa_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa_impl.h; path = secp256k1_ios/src/ecdsa_impl.h; sourceTree = ""; }; - DF7B01CA7ACC331E63AB800D165E15AF /* Result-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Result-macOS.xcconfig"; path = "../Result-macOS/Result-macOS.xcconfig"; sourceTree = ""; }; + DCCD9B75F811575B41254E2EACE6F115 /* Pods-web3swift-macOS_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-macOS_Tests-acknowledgements.plist"; sourceTree = ""; }; + DCE95DEFE59A8D4B1CC921351954D118 /* Result-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-iOS-umbrella.h"; sourceTree = ""; }; + DE552F4DC19246DE02459BBEAECE3070 /* PromiseKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromiseKit.xcconfig; sourceTree = ""; }; + DEC9C3E8E55E46B29FD5E5EF68F87F17 /* scalar_low.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low.h; path = secp256k1_ios/src/scalar_low.h; sourceTree = ""; }; + DF437C6BA87CD115FFAF9F58E13F530F /* scrypt-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "scrypt-macOS-umbrella.h"; path = "../scrypt-macOS/scrypt-macOS-umbrella.h"; sourceTree = ""; }; DF8763C25A8C471712C07FDF71929703 /* UIViewPropertyAnimator+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewPropertyAnimator+Promise.swift"; path = "Extensions/UIKit/Sources/UIViewPropertyAnimator+Promise.swift"; sourceTree = ""; }; + E0002BF7495DF77615C17C435108BAC4 /* scrypt-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "scrypt-iOS.xcconfig"; sourceTree = ""; }; E1166BCE9995875A190DA0C329DD6F3E /* Shifts.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Shifts.swift; path = sources/Shifts.swift; sourceTree = ""; }; - E225EB05FD399DD7D7BE642605DF6932 /* Result-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Result-iOS-umbrella.h"; path = "../../Headers/Public/Result/Result-iOS-umbrella.h"; sourceTree = ""; }; + E14AE09BC14CD1D5C3AD72803E39C00F /* PromiseKit.root-CorePromise-Foundation-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PromiseKit.root-CorePromise-Foundation-umbrella.h"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-umbrella.h"; sourceTree = ""; }; + E228BA1C68962471174AF53D116026C3 /* CryptoSwift-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "CryptoSwift-iOS.xcconfig"; sourceTree = ""; }; E2C42F3DFC4E6CC75140A86DF8616CC3 /* SipHashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHashable.swift; path = SipHash/SipHashable.swift; sourceTree = ""; }; + E3ADB0156604A4FD7CD47B25248088C2 /* Pods-web3swift-iOS_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS_Tests.release.xcconfig"; sourceTree = ""; }; E45449F26960667F9B102A7F62C60D31 /* Digest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Digest.swift; path = Sources/CryptoSwift/Digest.swift; sourceTree = ""; }; - E4970F0550D2C60457B433185620200F /* BigInt-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "BigInt-macOS-umbrella.h"; path = "../../Headers/Public/BigInt/BigInt-macOS-umbrella.h"; sourceTree = ""; }; - E4B7CA27A16C36354B610B52AE86A10D /* CryptoSwift-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "CryptoSwift-iOS.xcconfig"; sourceTree = ""; }; - E6251CD3609D0F5F96F459E0B9699CC1 /* Pods-web3swift-macOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-macOS-acknowledgements.plist"; sourceTree = ""; }; + E54564B11B6584454FF1C61A27575535 /* secp256k1_ios-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "secp256k1_ios-iOS-dummy.m"; sourceTree = ""; }; + E700B3E020C13F1EF3046DA2572EB770 /* lax_der_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_parsing.c; path = secp256k1_ios/contrib/lax_der_parsing.c; sourceTree = ""; }; E75AE5FFEFA361D707CC354FF1EB3D52 /* Updatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Updatable.swift; path = Sources/CryptoSwift/Updatable.swift; sourceTree = ""; }; E7CC622C1D24D718342B05051554A93A /* UIView+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.h"; sourceTree = ""; }; E7FE282781FCA8360DCC5EEC2DFC9045 /* BlockDecryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockDecryptor.swift; path = Sources/CryptoSwift/BlockDecryptor.swift; sourceTree = ""; }; E82A76E0CD40E20D9FEC34DAF7889ECB /* MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MD5.swift; path = Sources/CryptoSwift/MD5.swift; sourceTree = ""; }; E82F9A99E44E0AB55B16F720C69B947B /* libSipHash-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libSipHash-macOS.a"; path = "libSipHash-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; E88F02B72D0ADCFDAA37C5D63ABB3679 /* NoPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoPadding.swift; path = Sources/CryptoSwift/NoPadding.swift; sourceTree = ""; }; - E962BC8D4DB16BC7DECDA0FA691774E2 /* Result-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Result-iOS.xcconfig"; sourceTree = ""; }; - EB696CF5BB96FFB89395E6F2FF0E57AA /* secp256k1_ios-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "secp256k1_ios-iOS.xcconfig"; sourceTree = ""; }; - EC2691B355719F37BCE2B9EB79640902 /* lax_der_privatekey_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_privatekey_parsing.c; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.c; sourceTree = ""; }; + EAC47FA975BD89D9C68F3C958A58964C /* BigInt-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "BigInt-iOS.xcconfig"; sourceTree = ""; }; + EB741666A46691B0F36213814C9E064B /* num_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_impl.h; path = secp256k1_ios/src/num_impl.h; sourceTree = ""; }; EC305FA12BE030117A6E97568345036C /* libPromiseKit.root-CorePromise-Foundation.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPromiseKit.root-CorePromise-Foundation.a"; path = "libPromiseKit.root-CorePromise-Foundation.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - EE37CE5A8E6206A611EC619B66EC2E0D /* scrypt-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "scrypt-macOS-dummy.m"; path = "../scrypt-macOS/scrypt-macOS-dummy.m"; sourceTree = ""; }; EECA7B8CA13556F051DCBF44B5E5092B /* ECB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ECB.swift; path = Sources/CryptoSwift/BlockMode/ECB.swift; sourceTree = ""; }; EEEB8AE79B5DA3255A444BD9E125CC15 /* Utils+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Utils+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Utils+Foundation.swift"; sourceTree = ""; }; - EF09F78B3249ABD67C39117542CFFB87 /* PromiseKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PromiseKit-umbrella.h"; path = "../../Headers/Public/PromiseKit/PromiseKit-umbrella.h"; sourceTree = ""; }; - F102D610A357DBD3CDC4E97671DE62A0 /* scrypt-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "scrypt-macOS-umbrella.h"; path = "../../Headers/Public/scrypt/scrypt-macOS-umbrella.h"; sourceTree = ""; }; + F07F6D1FC3410558AAA3A2CDB25D4DB8 /* secp256k1_ios-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_ios-macOS-prefix.pch"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch"; sourceTree = ""; }; F1961CDC6282709B9B35B8F757754E1A /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = Sources/CryptoSwift/CompactMap.swift; sourceTree = ""; }; - F1A7CED4F6EA1CDC0899559B3F7EAE69 /* PromiseKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = PromiseKit.modulemap; path = ../../Headers/Public/PromiseKit/PromiseKit.modulemap; sourceTree = ""; }; - F1E5E87AFE60D743CD6E11B84ABD8F8D /* CryptoSwift-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CryptoSwift-macOS-umbrella.h"; path = "../../Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h"; sourceTree = ""; }; F1EA13DCEFA32B29351F75416999B53B /* DigestType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DigestType.swift; path = Sources/CryptoSwift/DigestType.swift; sourceTree = ""; }; - F1F1BD0CE2445F35A20783082C9D4775 /* secp256k1_ecdh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ecdh.h; path = secp256k1_ios/include/secp256k1_ecdh.h; sourceTree = ""; }; F24C4B729147ABA4455041FEDE41FE00 /* Addition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Addition.swift; path = sources/Addition.swift; sourceTree = ""; }; + F28F3031AD42194EEF81032553A11D97 /* scrypt-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-iOS-prefix.pch"; sourceTree = ""; }; + F38735F968F3506E4EACD22DC1175F06 /* PromiseKit.root-CorePromise-Foundation-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "PromiseKit.root-CorePromise-Foundation-dummy.m"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-dummy.m"; sourceTree = ""; }; F3AE421756716EB8DAA945495A2EC5DD /* Rabbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rabbit.swift; path = Sources/CryptoSwift/Rabbit.swift; sourceTree = ""; }; - F3D7D0776B9B3FF06601DD39FA599C90 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; + F45D1FF9B0F3BEACB34D069C6F3561F8 /* Pods-web3swift-iOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-iOS-acknowledgements.markdown"; sourceTree = ""; }; + F537843D9119912314B3F5275A629E06 /* Result-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-iOS-prefix.pch"; sourceTree = ""; }; + F5928C098D1CFB5B0E1932A24EDA49AF /* secp256k1_ios-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "secp256k1_ios-macOS.xcconfig"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig"; sourceTree = ""; }; F5E5C5193E731A76273A1ADACD50AB81 /* PCBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PCBC.swift; path = Sources/CryptoSwift/BlockMode/PCBC.swift; sourceTree = ""; }; F618CC73DE8826F0386137F6584B6A57 /* GCM.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCM.swift; path = Sources/CryptoSwift/BlockMode/GCM.swift; sourceTree = ""; }; - F68419F17E2CC2073DDAC992BC39EF47 /* eckey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey.h; path = secp256k1_ios/src/eckey.h; sourceTree = ""; }; F685B50C77BC588736193EFC93B3FAFA /* Primitive Types.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Primitive Types.swift"; path = "SipHash/Primitive Types.swift"; sourceTree = ""; }; + F76DF7D8AADE94E0258CC9A76C4A2C8F /* scrypt-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-iOS-umbrella.h"; sourceTree = ""; }; F7709F12D0210A64607C215D35A245CF /* libResult-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libResult-iOS.a"; path = "libResult-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; F9612CFC925C44DA818604C666EB454C /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/CryptoSwift/Operators.swift; sourceTree = ""; }; FAA8118238A7270948998466F81E6253 /* after.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = after.m; path = Sources/after.m; sourceTree = ""; }; - FBEA9606E3827366E8A35C8AD685FA38 /* BigInt-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "BigInt-macOS.modulemap"; path = "../../Headers/Public/BigInt/BigInt-macOS.modulemap"; sourceTree = ""; }; + FAE5BF28C394D398788317F877E314ED /* SipHash-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "SipHash-iOS.xcconfig"; sourceTree = ""; }; FBEFBB38BBB87913FDCF892141C0AC8D /* NSTask+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSTask+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.h"; sourceTree = ""; }; FC6002A6D434E59E6D00025F21BA36FF /* libCryptoSwift-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libCryptoSwift-iOS.a"; path = "libCryptoSwift-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - FD3FC379B5028687E388AD09CFE88832 /* field_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_impl.h; path = secp256k1_ios/src/field_impl.h; sourceTree = ""; }; + FE9A22DCC269160D36ABB6B7AF260C2A /* Result-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Result-iOS-dummy.m"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -1032,12 +916,10 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 325D67F097EE2746E73CE73074B490F5 /* Frameworks */ = { + 3D1B05378F186E57C4B940F71C083C0F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D97D4F779CE4301CD25BDE66904D1F9A /* Foundation.framework in Frameworks */, - 0A9EFCFFAD8EECF12118CC979D041729 /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1048,14 +930,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 5A5442897A70588AF9565D5F074C6B92 /* Frameworks */ = { + 56EC7C06C400F808A27DE468D01518F4 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 6DFB6B55ACDC8896004424C72E661A13 /* Frameworks */ = { + 5A5442897A70588AF9565D5F074C6B92 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -1069,11 +951,10 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 7F6A486645004AAAB0DCFD9434E95C8A /* Frameworks */ = { + 803328A4C9D919A350F04AB5D9FBBC0A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BD866838930E0CDAF1107A381781B643 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1105,14 +986,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 97890EC8483173ED089DE8440537DFB3 /* Frameworks */ = { + 99245CA93B0B66E3E442328913763B1A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 99245CA93B0B66E3E442328913763B1A /* Frameworks */ = { + 9FA0F642AE177D3FA07814A41F264B1A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -1150,6 +1031,17 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 0016905C45F8F01C6D080425028330F0 /* Targets Support Files */ = { + isa = PBXGroup; + children = ( + AAB417525B4AA28CC55EECA7CFDAB251 /* Pods-web3swift-iOS */, + 088CBEDD2E17F09CAC27FDABD9102BD4 /* Pods-web3swift-iOS_Tests */, + 6FE5839A998F9D581E5060F0675BF53C /* Pods-web3swift-macOS */, + 074B5AF920A574FC168DA49C8D334690 /* Pods-web3swift-macOS_Tests */, + ); + name = "Targets Support Files"; + sourceTree = ""; + }; 01DAA51A707D1C3EAB5D0EE11DCC432A /* BigInt */ = { isa = PBXGroup; children = ( @@ -1175,12 +1067,81 @@ B7DFFB650AB055EA65177877A4837E93 /* String Conversion.swift */, 6942B9400A6731CB14455C8AE7F0C6A7 /* Subtraction.swift */, 268F48810699A9A9AD79047FD000B499 /* Words and Bits.swift */, - 5FE625731AA9E8B42E028A4F066A9481 /* Support Files */, + 40BAD90543DC6CCDCC23E38123EED033 /* Support Files */, ); name = BigInt; path = BigInt; sourceTree = ""; }; + 074B5AF920A574FC168DA49C8D334690 /* Pods-web3swift-macOS_Tests */ = { + isa = PBXGroup; + children = ( + 54DEB815C6A515714B4A838D414C3241 /* Pods-web3swift-macOS_Tests-acknowledgements.markdown */, + DCCD9B75F811575B41254E2EACE6F115 /* Pods-web3swift-macOS_Tests-acknowledgements.plist */, + 522015696E45158812DD4C5CF37CD544 /* Pods-web3swift-macOS_Tests-dummy.m */, + B7762E4245191B27674EB7EB82DCFFF1 /* Pods-web3swift-macOS_Tests.debug.xcconfig */, + 0D88C9D56C3885598E20D9718F3B8F16 /* Pods-web3swift-macOS_Tests.release.xcconfig */, + ); + name = "Pods-web3swift-macOS_Tests"; + path = "Target Support Files/Pods-web3swift-macOS_Tests"; + sourceTree = ""; + }; + 088CBEDD2E17F09CAC27FDABD9102BD4 /* Pods-web3swift-iOS_Tests */ = { + isa = PBXGroup; + children = ( + 753E3CD3CF2AA32CDB11305D429F3C96 /* Pods-web3swift-iOS_Tests-acknowledgements.markdown */, + 6D4A716592C208D7429CE19B82094FA8 /* Pods-web3swift-iOS_Tests-acknowledgements.plist */, + 8B56F6A20A0CF698ECA0EDF6CF4CDD74 /* Pods-web3swift-iOS_Tests-dummy.m */, + 24B5C2F89100EAE084E4AF83DDE6303D /* Pods-web3swift-iOS_Tests.debug.xcconfig */, + E3ADB0156604A4FD7CD47B25248088C2 /* Pods-web3swift-iOS_Tests.release.xcconfig */, + ); + name = "Pods-web3swift-iOS_Tests"; + path = "Target Support Files/Pods-web3swift-iOS_Tests"; + sourceTree = ""; + }; + 0F8D2E47FE03D3B91B51069F7C273AF4 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; + 13E70B817C059BEC698F6DC0FDA07E9E /* Support Files */ = { + isa = PBXGroup; + children = ( + BAC15C8E1DC42A3C6D2AF7A4BACD9D9A /* scrypt-iOS.modulemap */, + E0002BF7495DF77615C17C435108BAC4 /* scrypt-iOS.xcconfig */, + C3C66A0B084556BD285AA44CBCA65202 /* scrypt-iOS-dummy.m */, + F28F3031AD42194EEF81032553A11D97 /* scrypt-iOS-prefix.pch */, + F76DF7D8AADE94E0258CC9A76C4A2C8F /* scrypt-iOS-umbrella.h */, + 0E53DB967EB67E52296B83C1BB91E1A4 /* scrypt-macOS.modulemap */, + 30FDF56132F92204ACAD922366ABC434 /* scrypt-macOS.xcconfig */, + 2B28A30F352D7AD1E7E83DFB9BAB49C0 /* scrypt-macOS-dummy.m */, + AE26C9121A9F08A8934B37AD374D39F4 /* scrypt-macOS-prefix.pch */, + DF437C6BA87CD115FFAF9F58E13F530F /* scrypt-macOS-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/scrypt-iOS"; + sourceTree = ""; + }; + 15C25A3B386CD90F69E6C295C07BA52C /* Support Files */ = { + isa = PBXGroup; + children = ( + 85ACA7DBB43194398C4BBE72803AB0A9 /* Result-iOS.modulemap */, + 95E6916802B9A0D029D336A91E220830 /* Result-iOS.xcconfig */, + FE9A22DCC269160D36ABB6B7AF260C2A /* Result-iOS-dummy.m */, + F537843D9119912314B3F5275A629E06 /* Result-iOS-prefix.pch */, + DCE95DEFE59A8D4B1CC921351954D118 /* Result-iOS-umbrella.h */, + C1B8E55A13B5B74C5E80CA45BC86E457 /* Result-macOS.modulemap */, + 2452C598AA33B18F81F1D5FE847DF8C7 /* Result-macOS.xcconfig */, + 58D38A9B84FEE36DA02159AEC6611C17 /* Result-macOS-dummy.m */, + 18B70619E5AAE8D1782A060F2B6362F5 /* Result-macOS-prefix.pch */, + 4B75257897ACBD9567F00827C544D722 /* Result-macOS-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/Result-iOS"; + sourceTree = ""; + }; 16ABC4753B5234DBE5986A3C5545CD07 /* Products */ = { isa = PBXGroup; children = ( @@ -1206,37 +1167,99 @@ name = Products; sourceTree = ""; }; - 1BA893BB24AE0640C83A4E43734D905A /* Pods-web3swift-iOS */ = { + 3B0C994F7A384092209B7384F99465A6 /* Support Files */ = { isa = PBXGroup; children = ( - 30FDF14BD303D5A006DF5E2AFC3C5689 /* Pods-web3swift-iOS.modulemap */, - 09E6F0E17B524D5203BB82F0927DED7C /* Pods-web3swift-iOS-acknowledgements.markdown */, - CAEC94D8F0FC43E808BA5F9ADB61CD96 /* Pods-web3swift-iOS-acknowledgements.plist */, - 201CB380345E9D668D690C12DA30C425 /* Pods-web3swift-iOS-dummy.m */, - DD61FCA6B92DBB61BD0CE0268DBAA790 /* Pods-web3swift-iOS-resources.sh */, - 3D8C2202C63BDA7C0F7AF6C89B6273FD /* Pods-web3swift-iOS-umbrella.h */, - 549BC77FB563C5F7078EEF621568360D /* Pods-web3swift-iOS.debug.xcconfig */, - 6D76E01714111860B1A58E945BFEDC3A /* Pods-web3swift-iOS.release.xcconfig */, + 6E89BE9CD29A9579279F97511C455B1A /* secp256k1_ios-iOS.modulemap */, + 18CAB3E754AA5CC3978FFD653BC874A3 /* secp256k1_ios-iOS.xcconfig */, + E54564B11B6584454FF1C61A27575535 /* secp256k1_ios-iOS-dummy.m */, + CF710065BE127B2E19409D9FAB5AEF43 /* secp256k1_ios-iOS-prefix.pch */, + 26C87BA1E1CD3DA69658381DC862662E /* secp256k1_ios-iOS-umbrella.h */, + A45553E1351B43FC7391481CD4FF199E /* secp256k1_ios-macOS.modulemap */, + F5928C098D1CFB5B0E1932A24EDA49AF /* secp256k1_ios-macOS.xcconfig */, + A7C177A4D014F2C568B84F7BED9628F3 /* secp256k1_ios-macOS-dummy.m */, + F07F6D1FC3410558AAA3A2CDB25D4DB8 /* secp256k1_ios-macOS-prefix.pch */, + 9CF4AD4A5FE03F1CD453371F1649C480 /* secp256k1_ios-macOS-umbrella.h */, ); - name = "Pods-web3swift-iOS"; - path = "Target Support Files/Pods-web3swift-iOS"; + name = "Support Files"; + path = "../Target Support Files/secp256k1_ios-iOS"; sourceTree = ""; }; - 215612CDDB6F3883846CBDFDDF0900D9 /* Pods-web3swift-iOS_Tests */ = { + 40BAD90543DC6CCDCC23E38123EED033 /* Support Files */ = { isa = PBXGroup; children = ( - 2B9A068D7995C83D3F75D4CD25D2735E /* Pods-web3swift-iOS_Tests.modulemap */, - 06AC0C18C20BEB0CFF4386CE35E5CFC9 /* Pods-web3swift-iOS_Tests-acknowledgements.markdown */, - 2F5F058DBD6EA05A860EB5A2481950F9 /* Pods-web3swift-iOS_Tests-acknowledgements.plist */, - D96A0A368BE15EEEB27A3F77B5F74533 /* Pods-web3swift-iOS_Tests-dummy.m */, - 8694D87EAC35605010892313429D6622 /* Pods-web3swift-iOS_Tests-frameworks.sh */, - 37285A75B12306326B0EF6AD23148A66 /* Pods-web3swift-iOS_Tests-resources.sh */, - 1938EA02A3971FFC506F4AE3E29121A6 /* Pods-web3swift-iOS_Tests-umbrella.h */, - 838E20D48ECBA3CCA073FF52AA6BD234 /* Pods-web3swift-iOS_Tests.debug.xcconfig */, - B12A75E0FD8B52123CBAE9EEB4A42F3B /* Pods-web3swift-iOS_Tests.release.xcconfig */, + 822F20C56BDAEAB1D9B8A0CE5D552188 /* BigInt-iOS.modulemap */, + EAC47FA975BD89D9C68F3C958A58964C /* BigInt-iOS.xcconfig */, + 10236EF8647E9F61C53670449679E133 /* BigInt-iOS-dummy.m */, + 2FEF470F51471EBE421469A16A76F35A /* BigInt-iOS-prefix.pch */, + BECB9224CBFC1D8A1E8486BB06BBC621 /* BigInt-iOS-umbrella.h */, + 52984D45ED4815A5B6748A82F48DB8FD /* BigInt-macOS.modulemap */, + C60F71A13E6B38C36897688C101E2C9C /* BigInt-macOS.xcconfig */, + 5C4FBD9EED7C8E73E16CA9B5DC621F56 /* BigInt-macOS-dummy.m */, + 5D3D189B9D399D3E4E4DA52E21D02925 /* BigInt-macOS-prefix.pch */, + 60EE65019B7B0977FF9331F020D957CD /* BigInt-macOS-umbrella.h */, ); - name = "Pods-web3swift-iOS_Tests"; - path = "Target Support Files/Pods-web3swift-iOS_Tests"; + name = "Support Files"; + path = "../Target Support Files/BigInt-iOS"; + sourceTree = ""; + }; + 482FBE6CAF76DDD9FFD08485047346A2 /* secp256k1_ios */ = { + isa = PBXGroup; + children = ( + 4207171AF4AC30056EE3D86BA2E572A2 /* basic-config.h */, + 73E79D0886091383BE392E49B7A4EBC0 /* ecdsa.h */, + 18CECE2AAA777C20C231B09167732087 /* ecdsa_impl.h */, + 5E34789287378DAC690BDC96A61B534D /* eckey.h */, + 0AE1F2C76AEC2899BB377C5F716B96A9 /* eckey_impl.h */, + 3217AEE906468DE068B9F1656B698E05 /* ecmult.h */, + 02D1233B4775FD4486FC833AD2928302 /* ecmult_const.h */, + D70BDEFFA46F9A5EE71DB70AE67B5652 /* ecmult_const_impl.h */, + 7953AAFAFDD8639ABC0F6CFA2A5E6436 /* ecmult_gen.h */, + 9873C60F241233030F26574B565116B5 /* ecmult_gen_impl.h */, + 962B94FFF364D97FCB13480B186176CC /* ecmult_impl.h */, + 113FB888146C1156101BB0FCC2303331 /* field.h */, + 0E10436F61B2E20A7AC6B9FA2B43475B /* field_10x26.h */, + 7ABA1AA6809B8D6649D072F0CA90E7EE /* field_10x26_impl.h */, + 2102C5F2845659DC22D1C75C5DEE8785 /* field_5x52.h */, + B14E2DB314C3B43D35EF8DAECF6AC3DA /* field_5x52_asm_impl.h */, + 11D2E84F01BCA808E576508AFC2BECBA /* field_5x52_impl.h */, + 41EDD0261BF89D565B8ABBA503384512 /* field_5x52_int128_impl.h */, + 5D3B85A32FDF4C95F0BAA5B3BB12FE9C /* field_impl.h */, + A7B38174B0902D2DCD57CAFF23561C82 /* group.h */, + 83629B6E064C93119C08CF5B1695D990 /* group_impl.h */, + 5F94C022B4C730984FCEE4E1D731C291 /* hash.h */, + 7AD354FFD7D90184AD046B8CB46B47C0 /* hash_impl.h */, + E700B3E020C13F1EF3046DA2572EB770 /* lax_der_parsing.c */, + 670BCF92469F3BB35E8F617E2F61E479 /* lax_der_parsing.h */, + 1D7CEF9F4C98A2CE1B98AD20F3608F16 /* lax_der_privatekey_parsing.c */, + 46AF7B9300956886A337785AFCCA65E9 /* lax_der_privatekey_parsing.h */, + 8B172A41C2D2CEDCBDCF390512DD02F4 /* libsecp256k1-config.h */, + 3784FB8ABDFC677C070E5808E273F420 /* main_impl.h */, + 1E727EFDF1D9F0E72FF769FA527EB01D /* main_impl.h */, + 77B6F7DB489A42B9DFF2C75C6090890A /* num.h */, + 2F7A4EBB203B3B080F8B5BF693B1D73E /* num_gmp.h */, + 337F14F3FE32B1AA45844B7F9E94C8CB /* num_gmp_impl.h */, + EB741666A46691B0F36213814C9E064B /* num_impl.h */, + 2F7B1F5E8885A02A41E2BC53975DF4F2 /* scalar.h */, + 5BC5E345E21A1E0448686159C97199BF /* scalar_4x64.h */, + 128F0A3649763AA74BB1F997980E9878 /* scalar_4x64_impl.h */, + 2525FC26081FA847B7D6E8209E7A7CC3 /* scalar_8x32.h */, + 4A780AF8B00436C92795015A4BB4871E /* scalar_8x32_impl.h */, + 9EE71EAB28439C6C06ACAAA031A9AE66 /* scalar_impl.h */, + DEC9C3E8E55E46B29FD5E5EF68F87F17 /* scalar_low.h */, + AADCF3484DBEE7528E66E04707BBA998 /* scalar_low_impl.h */, + 04D613988B2E91F7B5A7327303576BAB /* scratch.h */, + AFCE6E7D1FF14C1DB7CAA83B0D516538 /* scratch_impl.h */, + D288250D5D03FFA450A24F233388BA7A /* secp256k1.c */, + 56B4887D50F2EB64112AE8382F814BE6 /* secp256k1.h */, + B7C11E88CA44E3C6CD4C1DA0CE8CDF1C /* secp256k1_ecdh.h */, + 65FAD979B70CA8CC84821A24AF02DCF2 /* secp256k1_ios.h */, + 154960BA397A967916A61F0CA3ACDA98 /* secp256k1_recovery.h */, + CC5C878E59F3ED2C5956640525A3B54F /* util.h */, + 3B0C994F7A384092209B7384F99465A6 /* Support Files */, + ); + name = secp256k1_ios; + path = secp256k1_ios; sourceTree = ""; }; 4DEBE1393AE00ECAAF9F6945E53E40D5 /* CryptoSwift */ = { @@ -1313,28 +1336,46 @@ 1F213EA122AE5157AD579B519B42CAA5 /* Utils.swift */, EEEB8AE79B5DA3255A444BD9E125CC15 /* Utils+Foundation.swift */, BF467792E24FCB49390F293678C2E231 /* ZeroPadding.swift */, - DFE7441EF4C7B841749E6DCFC6274CF3 /* Support Files */, + 69C1434A4421E41070A18AC989C189D1 /* Support Files */, ); name = CryptoSwift; path = CryptoSwift; sourceTree = ""; }; - 5FE625731AA9E8B42E028A4F066A9481 /* Support Files */ = { + 58C88166C95A09EA9648AB3B62ADA11A /* Support Files */ = { isa = PBXGroup; children = ( - 348634C64E93D1AE27324E5B803C7D02 /* BigInt-iOS.modulemap */, - D1C14722F45B3D63B1FB360F6F553FF5 /* BigInt-iOS.xcconfig */, - 70EC0C5B63B6AFB5C821750D9F6A516C /* BigInt-iOS-dummy.m */, - 427CDF99DA88A7D8247722B6CD3116F3 /* BigInt-iOS-prefix.pch */, - CAF1A1CA61F0B5E096092946067071C5 /* BigInt-iOS-umbrella.h */, - FBEA9606E3827366E8A35C8AD685FA38 /* BigInt-macOS.modulemap */, - 8F3D3202602E52028B31A9BC0E40E4BE /* BigInt-macOS.xcconfig */, - 06184F1E92B8B61D4A9719D662641B02 /* BigInt-macOS-dummy.m */, - 7AFD921B51CC772DFF9688DE99B7480B /* BigInt-macOS-prefix.pch */, - E4970F0550D2C60457B433185620200F /* BigInt-macOS-umbrella.h */, + C6E075CB2894DDF612F14363C5317B93 /* SipHash-iOS.modulemap */, + FAE5BF28C394D398788317F877E314ED /* SipHash-iOS.xcconfig */, + 22BBC9E03E0BAFD51E78A932B584D135 /* SipHash-iOS-dummy.m */, + 110589BD0B75B2C4166DE94487100A49 /* SipHash-iOS-prefix.pch */, + 06A021254E60B0C7F3ADB156F97D8EF1 /* SipHash-iOS-umbrella.h */, + 5875BBBED3A4765B1D355C2AD095978A /* SipHash-macOS.modulemap */, + 64389E571A401AFB1A430A11C7053757 /* SipHash-macOS.xcconfig */, + B0423C9D9E49080ACEF73C985FBB221F /* SipHash-macOS-dummy.m */, + 494D5312F7C1D194997E562BD1B13904 /* SipHash-macOS-prefix.pch */, + 0F59529DA4EC37C03768A930A570FC20 /* SipHash-macOS-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/BigInt-iOS"; + path = "../Target Support Files/SipHash-iOS"; + sourceTree = ""; + }; + 69C1434A4421E41070A18AC989C189D1 /* Support Files */ = { + isa = PBXGroup; + children = ( + 9705AB5431247715C48FE5E652D005AE /* CryptoSwift-iOS.modulemap */, + E228BA1C68962471174AF53D116026C3 /* CryptoSwift-iOS.xcconfig */, + 6C86011CD926858E717E5D92380F2838 /* CryptoSwift-iOS-dummy.m */, + 4646CC97CDC73D8A7E940BD068873A84 /* CryptoSwift-iOS-prefix.pch */, + B02B055F45990BB015AB494AE625A793 /* CryptoSwift-iOS-umbrella.h */, + C15E72CDA7675543ABA19953EF2D6A50 /* CryptoSwift-macOS.modulemap */, + 534009974277EC43330183E1CF3A73A3 /* CryptoSwift-macOS.xcconfig */, + 95FA6138713C5F6E2FBBB866D8A4C6E0 /* CryptoSwift-macOS-dummy.m */, + C085FF97293CA817998555A347A3CF20 /* CryptoSwift-macOS-prefix.pch */, + AB4A0ADEE88B224FCFB999E14A3FC3BA /* CryptoSwift-macOS-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/CryptoSwift-iOS"; sourceTree = ""; }; 6A1F5C2595979A06A935E4D072F311A5 /* Foundation */ = { @@ -1356,15 +1397,19 @@ name = Foundation; sourceTree = ""; }; - 7242BDFE4EC925876A40027F19A698B6 /* Targets Support Files */ = { + 6FE5839A998F9D581E5060F0675BF53C /* Pods-web3swift-macOS */ = { isa = PBXGroup; children = ( - 1BA893BB24AE0640C83A4E43734D905A /* Pods-web3swift-iOS */, - 215612CDDB6F3883846CBDFDDF0900D9 /* Pods-web3swift-iOS_Tests */, - DC6B114F31B3864D24CE8C7004F75AC4 /* Pods-web3swift-macOS */, - 7F847878EB176BCCB9AED41625DDC135 /* Pods-web3swift-macOS_Tests */, + 90B410829D6E70A45A22CC62F187A11B /* Pods-web3swift-macOS.modulemap */, + DA900039B5D199745C785144030E7BF9 /* Pods-web3swift-macOS-acknowledgements.markdown */, + 4A2E0AD738D348DDA03396C623D814CD /* Pods-web3swift-macOS-acknowledgements.plist */, + 3E91F337EA3979DB5DD84C325A340270 /* Pods-web3swift-macOS-dummy.m */, + 25F72E78DF48560F5D210E57844ACDED /* Pods-web3swift-macOS-umbrella.h */, + 1C8F00AC871FE0EC2FBD9A40F62753CD /* Pods-web3swift-macOS.debug.xcconfig */, + A5D9B32B104EA0A137D78B89D4D19D40 /* Pods-web3swift-macOS.release.xcconfig */, ); - name = "Targets Support Files"; + name = "Pods-web3swift-macOS"; + path = "Target Support Files/Pods-web3swift-macOS"; sourceTree = ""; }; 7781AB5413B1D2BC12AD674C70A85683 /* CorePromise */ = { @@ -1404,28 +1449,11 @@ isa = PBXGroup; children = ( 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - BFEF163CB0C80F5BE6FDC6A6BD227D67 /* Frameworks */, + 0F8D2E47FE03D3B91B51069F7C273AF4 /* Frameworks */, A63D334DF076AE8625934C5AB8CCFC1B /* Pods */, 16ABC4753B5234DBE5986A3C5545CD07 /* Products */, - 7242BDFE4EC925876A40027F19A698B6 /* Targets Support Files */, - ); - sourceTree = ""; - }; - 7F847878EB176BCCB9AED41625DDC135 /* Pods-web3swift-macOS_Tests */ = { - isa = PBXGroup; - children = ( - C7E7D85D04AEF994D90632F66E660A6B /* Pods-web3swift-macOS_Tests.modulemap */, - 5E2462063FC148C85C6D00F08680239E /* Pods-web3swift-macOS_Tests-acknowledgements.markdown */, - AF2BFA66D8E08420367813AD2F6BE5D3 /* Pods-web3swift-macOS_Tests-acknowledgements.plist */, - 0B3A8A1265A6932800FDF40A5E65FEC7 /* Pods-web3swift-macOS_Tests-dummy.m */, - 4D019DB5C502C0B2F56DC85B925D7B7E /* Pods-web3swift-macOS_Tests-frameworks.sh */, - 5D207FB930AAAC6DA0CA7AAB0EBA40EE /* Pods-web3swift-macOS_Tests-resources.sh */, - 553C1445D10FA04E682FE1674D6AF9EB /* Pods-web3swift-macOS_Tests-umbrella.h */, - CFF935D0FA27DF791E8FDBB6D5D68CB2 /* Pods-web3swift-macOS_Tests.debug.xcconfig */, - 50832FC4B2337F53A6F628D514DA730A /* Pods-web3swift-macOS_Tests.release.xcconfig */, + 0016905C45F8F01C6D080425028330F0 /* Targets Support Files */, ); - name = "Pods-web3swift-macOS_Tests"; - path = "Target Support Files/Pods-web3swift-macOS_Tests"; sourceTree = ""; }; 804E9F18A201CF035B07D2CDE435B7DC /* Result */ = { @@ -1435,7 +1463,7 @@ C57F8890E519BE45C84FBCD5E06453AF /* NoError.swift */, 309EDA4AEC3E9553B1C5228CB1CB760F /* Result.swift */, 7B7931AA08AA6E50FAE2325FDFEC9669 /* ResultProtocol.swift */, - C3EE283593D25D7C75EE48E26B0BAE8D /* Support Files */, + 15C25A3B386CD90F69E6C295C07BA52C /* Support Files */, ); name = Result; path = Result; @@ -1448,37 +1476,28 @@ 5571DA87BD8084546DB65E212E690849 /* RandomUInt64.swift */, E2C42F3DFC4E6CC75140A86DF8616CC3 /* SipHashable.swift */, 602BCDD7A6B60ADA7204658627037B22 /* SipHasher.swift */, - 93E701E289739285D8AD3754215AFC01 /* Support Files */, + 58C88166C95A09EA9648AB3B62ADA11A /* Support Files */, ); name = SipHash; path = SipHash; sourceTree = ""; }; - 90ABF97ADF207E0260CC66367A9305C5 /* iOS */ = { - isa = PBXGroup; - children = ( - 75E5EE20B9BFFFDFC7AC813752336250 /* Foundation.framework */, - F3D7D0776B9B3FF06601DD39FA599C90 /* UIKit.framework */, - ); - name = iOS; - sourceTree = ""; - }; - 93E701E289739285D8AD3754215AFC01 /* Support Files */ = { + 9A0C65907B887C6AA085BA46A48F0571 /* Support Files */ = { isa = PBXGroup; children = ( - 435DE1805E9BEBA86E3E920D1E9EE451 /* SipHash-iOS.modulemap */, - 2FC68718A68C6212B73ECD1E04C03B9E /* SipHash-iOS.xcconfig */, - 17C50841AEC7F820B5A9B738E19218FE /* SipHash-iOS-dummy.m */, - 4A08D8470DE64C23488C86AED4E43593 /* SipHash-iOS-prefix.pch */, - 8B37E3EA16DFF85A33306C879D27B6C3 /* SipHash-iOS-umbrella.h */, - 9B90CA6D6950E5059F37E860339B46F6 /* SipHash-macOS.modulemap */, - 02408D11F33503E2122742BBD9381C6D /* SipHash-macOS.xcconfig */, - A252C33BAE7931B130EF619B55FCC0F5 /* SipHash-macOS-dummy.m */, - 1036A87543D9056B354BAB59D2D61AA4 /* SipHash-macOS-prefix.pch */, - 4F02F7BA4CE0D08B4598AA01224ED76C /* SipHash-macOS-umbrella.h */, + 897A68EA53AA050AFE4583C364D6C1CF /* PromiseKit.modulemap */, + DE552F4DC19246DE02459BBEAECE3070 /* PromiseKit.xcconfig */, + 011F6C47C6E88AE3E66264D1FEB85A87 /* PromiseKit-dummy.m */, + 224FBA77C2D18846EE62FD6A22E3B120 /* PromiseKit-prefix.pch */, + 2A75A46146F4FF1C0CB840CA36D75492 /* PromiseKit-umbrella.h */, + 8E629DABC6293E872B2A48DE12DC3D99 /* PromiseKit.root-CorePromise-Foundation.modulemap */, + 342482D0962E817B844EE7E6446AF932 /* PromiseKit.root-CorePromise-Foundation.xcconfig */, + F38735F968F3506E4EACD22DC1175F06 /* PromiseKit.root-CorePromise-Foundation-dummy.m */, + 9B4E57AA7FB0E002998D6424CB608E32 /* PromiseKit.root-CorePromise-Foundation-prefix.pch */, + E14AE09BC14CD1D5C3AD72803E39C00F /* PromiseKit.root-CorePromise-Foundation-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/SipHash-iOS"; + path = "../Target Support Files/PromiseKit"; sourceTree = ""; }; 9F85BC46BF78193A4015B427CB510BAC /* UIKit */ = { @@ -1503,45 +1522,25 @@ F0707F8777DDFD81A8215F12EF6547F2 /* PromiseKit */, 804E9F18A201CF035B07D2CDE435B7DC /* Result */, C451CAEA2200E64AF129DB404228CFA3 /* scrypt */, - EE1D6B59A34A257EF3135B8B9F42BF8E /* secp256k1_ios */, + 482FBE6CAF76DDD9FFD08485047346A2 /* secp256k1_ios */, 8D0440A372DE5585456AC37270B59B51 /* SipHash */, ); name = Pods; sourceTree = ""; }; - B3718E35C7244DB8874A0494263C8E6C /* OS X */ = { - isa = PBXGroup; - children = ( - A2A9882D7606624DB09D137DA346B890 /* Foundation.framework */, - ); - name = "OS X"; - sourceTree = ""; - }; - BFEF163CB0C80F5BE6FDC6A6BD227D67 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 90ABF97ADF207E0260CC66367A9305C5 /* iOS */, - B3718E35C7244DB8874A0494263C8E6C /* OS X */, - ); - name = Frameworks; - sourceTree = ""; - }; - C3EE283593D25D7C75EE48E26B0BAE8D /* Support Files */ = { + AAB417525B4AA28CC55EECA7CFDAB251 /* Pods-web3swift-iOS */ = { isa = PBXGroup; children = ( - 659B7C3591F263F05E23E3A49D8DBF88 /* Result-iOS.modulemap */, - E962BC8D4DB16BC7DECDA0FA691774E2 /* Result-iOS.xcconfig */, - 6EE45321EF7229C67B1384B69BC09C9A /* Result-iOS-dummy.m */, - 8586511FF7418AB646B21C1E86D480A7 /* Result-iOS-prefix.pch */, - E225EB05FD399DD7D7BE642605DF6932 /* Result-iOS-umbrella.h */, - 59C1DC3D5575A99F3ADF81C0AA26D993 /* Result-macOS.modulemap */, - DF7B01CA7ACC331E63AB800D165E15AF /* Result-macOS.xcconfig */, - 757A37D7E29817F44F2AA11410470DCE /* Result-macOS-dummy.m */, - 962E9B0C3462596BB9DF0C64D327A4DD /* Result-macOS-prefix.pch */, - C166DBC3A2FF6FC7FB066E0142D70FCA /* Result-macOS-umbrella.h */, + 79E925BEAA0533C58B6D9871B886DD8A /* Pods-web3swift-iOS.modulemap */, + F45D1FF9B0F3BEACB34D069C6F3561F8 /* Pods-web3swift-iOS-acknowledgements.markdown */, + 95C397E16B314F921F7784F00C8F183B /* Pods-web3swift-iOS-acknowledgements.plist */, + D8F688145BCFE1FB8B76299CC261A05E /* Pods-web3swift-iOS-dummy.m */, + 7E8C19543EF3AA4D9801DBE55E22E211 /* Pods-web3swift-iOS-umbrella.h */, + 042CC2D185140E7D725D22562A3E307F /* Pods-web3swift-iOS.debug.xcconfig */, + 673FFC4D2B959AB8AEC35D646A85CDCD /* Pods-web3swift-iOS.release.xcconfig */, ); - name = "Support Files"; - path = "../Target Support Files/Result-iOS"; + name = "Pods-web3swift-iOS"; + path = "Target Support Files/Pods-web3swift-iOS"; sourceTree = ""; }; C451CAEA2200E64AF129DB404228CFA3 /* scrypt */ = { @@ -1553,171 +1552,24 @@ 45C2BE6D1118A5C0F2E549CE3527D602 /* Salsa.swift */, 2DC2E6214BB1EB95403BF7608DAF872D /* scrypt.h */, 60F78E26D6ABB8534A27E28D45FBFF71 /* Scrypt.swift */, - FEE81B1DCB0306B906D4017CF75347BE /* Support Files */, + 13E70B817C059BEC698F6DC0FDA07E9E /* Support Files */, ); name = scrypt; path = scrypt; sourceTree = ""; }; - D283BAAB5D85825CC25403FD14C5328C /* Support Files */ = { - isa = PBXGroup; - children = ( - F1A7CED4F6EA1CDC0899559B3F7EAE69 /* PromiseKit.modulemap */, - 7201AB4205DACC1A886D0B4FE0F68E52 /* PromiseKit.xcconfig */, - 30357CC27C341269BCCE3C19E4FE8FE5 /* PromiseKit-dummy.m */, - 0FFB0028B5C6DEECC2A5511C92B70ADF /* PromiseKit-prefix.pch */, - EF09F78B3249ABD67C39117542CFFB87 /* PromiseKit-umbrella.h */, - BF46D6C2599B16723E497A8B1C526766 /* PromiseKit.root-CorePromise-Foundation.modulemap */, - 5E0CF3B2DBBE8BE4869291A759FF8F08 /* PromiseKit.root-CorePromise-Foundation.xcconfig */, - 4023529EFB6CDA4D7368E425E4F84453 /* PromiseKit.root-CorePromise-Foundation-dummy.m */, - 62B45A0A7D2B98407F79CED6516206F9 /* PromiseKit.root-CorePromise-Foundation-prefix.pch */, - 448D25E7648FA3DE003C577C4A2A5DCC /* PromiseKit.root-CorePromise-Foundation-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/PromiseKit"; - sourceTree = ""; - }; - DC6B114F31B3864D24CE8C7004F75AC4 /* Pods-web3swift-macOS */ = { - isa = PBXGroup; - children = ( - 3D37A86FCD5D0735EBF9DA4224B06C53 /* Pods-web3swift-macOS.modulemap */, - 3C515870A748CB470E9FBA7186297FFC /* Pods-web3swift-macOS-acknowledgements.markdown */, - E6251CD3609D0F5F96F459E0B9699CC1 /* Pods-web3swift-macOS-acknowledgements.plist */, - CCD178AF0C0283D14572A07109AABF34 /* Pods-web3swift-macOS-dummy.m */, - 952751793FE823F69C417971D443D0DA /* Pods-web3swift-macOS-resources.sh */, - 23BB48B62BD11AE739C695D5E07DF23B /* Pods-web3swift-macOS-umbrella.h */, - 3C18FE09DB747D4F64CDC4EBF07A6AF0 /* Pods-web3swift-macOS.debug.xcconfig */, - 2C06CEB32F04CBF303CC2562A16F7241 /* Pods-web3swift-macOS.release.xcconfig */, - ); - name = "Pods-web3swift-macOS"; - path = "Target Support Files/Pods-web3swift-macOS"; - sourceTree = ""; - }; - DFE7441EF4C7B841749E6DCFC6274CF3 /* Support Files */ = { - isa = PBXGroup; - children = ( - 0DA4D63407696D8CA849D320826D9213 /* CryptoSwift-iOS.modulemap */, - E4B7CA27A16C36354B610B52AE86A10D /* CryptoSwift-iOS.xcconfig */, - 5D2EF378EFDB3948F453ED590E1CE3A0 /* CryptoSwift-iOS-dummy.m */, - 33567FA516E4179D0F29870D154D2B47 /* CryptoSwift-iOS-prefix.pch */, - 6EE0308F276A9A14635D7A83AB1F5F78 /* CryptoSwift-iOS-umbrella.h */, - 5196D2D10E23A81EE37F9B0026AF0320 /* CryptoSwift-macOS.modulemap */, - AC53F2E963D210DCBAC0E8AAD2682664 /* CryptoSwift-macOS.xcconfig */, - D637897EFADFCEE3659DF22E194C4ABD /* CryptoSwift-macOS-dummy.m */, - 062D69C437E04FE7A990ACBC476B4B53 /* CryptoSwift-macOS-prefix.pch */, - F1E5E87AFE60D743CD6E11B84ABD8F8D /* CryptoSwift-macOS-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/CryptoSwift-iOS"; - sourceTree = ""; - }; - EE1D6B59A34A257EF3135B8B9F42BF8E /* secp256k1_ios */ = { - isa = PBXGroup; - children = ( - 2468F7B4A6695BB009B5A2AE35A167C8 /* basic-config.h */, - 4EF2B2E6A827BEB4095C69760A095228 /* ecdsa.h */, - DDEB5B32B77FC78B04321FABF19FAF64 /* ecdsa_impl.h */, - F68419F17E2CC2073DDAC992BC39EF47 /* eckey.h */, - 57BE35B8EF2F430EE1A093A4E43F8243 /* eckey_impl.h */, - 5ADFA6DD652FDF2433DB8FB46C2B02CA /* ecmult.h */, - 0CCD88E197198C9C888139A0E2A2CD50 /* ecmult_const.h */, - 2A137B5E1D739B2D491F2842EFFBD559 /* ecmult_const_impl.h */, - 030837B4EF44BB6736CDF5FBF205E93E /* ecmult_gen.h */, - 506C81F04F45BF82E339BD28FB9A6252 /* ecmult_gen_impl.h */, - 413EEACF83712E321F24944C021FEB53 /* ecmult_impl.h */, - 86010FFDC0CB0732CC170A6EB5EC36A5 /* field.h */, - 16B7C824120675B47E14A2A872A6DFDC /* field_10x26.h */, - 8E865E2465317D7395EFFC3E15BE3B82 /* field_10x26_impl.h */, - 7AF087435CFE453BE94CFAE116CC7661 /* field_5x52.h */, - 07F62FD29EAB7298762C10A21294A6B1 /* field_5x52_asm_impl.h */, - 5C0825E5C07CD2AD15EADE1A4F132C24 /* field_5x52_impl.h */, - 394A497CBDC2A602E9E5A0A0E4A7C231 /* field_5x52_int128_impl.h */, - FD3FC379B5028687E388AD09CFE88832 /* field_impl.h */, - 15C56E2FA28A6BC277C2F1DF71DE010C /* group.h */, - D93F53AAD0FD5DB616A5E1C69164F0D7 /* group_impl.h */, - 7FDB2A79B118B2F003B3E6F5A708B701 /* hash.h */, - D8A60B0639785EE266ACA62D536DD199 /* hash_impl.h */, - B9BCFC62DFEA1FC233306B897C15DE84 /* lax_der_parsing.c */, - 97CA37D99BC06AE9B4704C72A22686E5 /* lax_der_parsing.h */, - EC2691B355719F37BCE2B9EB79640902 /* lax_der_privatekey_parsing.c */, - 744D68A2C1A6A6136663892BD5967CEF /* lax_der_privatekey_parsing.h */, - 2385B17AD9190A207792185ECE5CD9C7 /* libsecp256k1-config.h */, - 7C9596E2D0164256EFB0F1673E724BB1 /* main_impl.h */, - 894C3E3F18C4D842D9E35A6A69851AF0 /* main_impl.h */, - 51FFE70E98E00B14A7CEDBC9878713E7 /* num.h */, - 7399560A570538454DCA6FC42E879809 /* num_gmp.h */, - 42EA8B8CA97A07CABD4DBAC9F8610993 /* num_gmp_impl.h */, - BD07DFA1EC0FD8CF78E837D5A0051A6D /* num_impl.h */, - 778AAAE605119A0341DA4378ED873181 /* scalar.h */, - 185ADAFCE5AF39098787D861673779B8 /* scalar_4x64.h */, - DC80BC8175DF95AF5AC0777B4379466F /* scalar_4x64_impl.h */, - 4965C40E8438A02BE82C485420845345 /* scalar_8x32.h */, - 1143B8F0055C240BA0D05D50FC1CC020 /* scalar_8x32_impl.h */, - 32804240A56A511992C9AA367655CDBA /* scalar_impl.h */, - 21DDCB6C56CEF1430122DCD6370180B8 /* scalar_low.h */, - 30F699976B957E8821EB632AF092C14C /* scalar_low_impl.h */, - 8575ADFAFEFEFEDACDC32D01960AE2AB /* scratch.h */, - 33EBDEB3CCBA0EA3C7F7CB093743643E /* scratch_impl.h */, - D37DEA7A8B3EBEC27D9109471669A4BF /* secp256k1.c */, - BAD09E8EE27EB4BA87F1F0237E0D7537 /* secp256k1.h */, - F1F1BD0CE2445F35A20783082C9D4775 /* secp256k1_ecdh.h */, - 370C998F97BBB1397D09CD78C43A9919 /* secp256k1_ios.h */, - 6B7D33AF1AE938A46700885645D7B0C6 /* secp256k1_recovery.h */, - 0297F48C8677A1EAF05256ECF6AE81D5 /* util.h */, - F05B522B50197E795E55DA40358E0965 /* Support Files */, - ); - name = secp256k1_ios; - path = secp256k1_ios; - sourceTree = ""; - }; - F05B522B50197E795E55DA40358E0965 /* Support Files */ = { - isa = PBXGroup; - children = ( - 02BEF937ADDFC393286931ED4C648955 /* secp256k1_ios-iOS.modulemap */, - EB696CF5BB96FFB89395E6F2FF0E57AA /* secp256k1_ios-iOS.xcconfig */, - 3255C8E1AC982676ACABE0D7C8C501C6 /* secp256k1_ios-iOS-dummy.m */, - 9356EB07FFA37D9FCA3FFDF81AE8F362 /* secp256k1_ios-iOS-prefix.pch */, - BDB424BDD775458975A06633ABB1E890 /* secp256k1_ios-iOS-umbrella.h */, - 40D9819200FF2C3F5E60469040AA4DB6 /* secp256k1_ios-macOS.modulemap */, - D78F1D1F6EB23F362E664280AC0B5F29 /* secp256k1_ios-macOS.xcconfig */, - C3B8A43F9D491A5A6F79AEC7B3ABF7C4 /* secp256k1_ios-macOS-dummy.m */, - A828AD3F9672B4D9BA255FA0618E01A3 /* secp256k1_ios-macOS-prefix.pch */, - 1F9FAC5C083C513006168E954E709EB9 /* secp256k1_ios-macOS-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/secp256k1_ios-iOS"; - sourceTree = ""; - }; F0707F8777DDFD81A8215F12EF6547F2 /* PromiseKit */ = { isa = PBXGroup; children = ( 7781AB5413B1D2BC12AD674C70A85683 /* CorePromise */, 6A1F5C2595979A06A935E4D072F311A5 /* Foundation */, - D283BAAB5D85825CC25403FD14C5328C /* Support Files */, + 9A0C65907B887C6AA085BA46A48F0571 /* Support Files */, 9F85BC46BF78193A4015B427CB510BAC /* UIKit */, ); name = PromiseKit; path = PromiseKit; sourceTree = ""; }; - FEE81B1DCB0306B906D4017CF75347BE /* Support Files */ = { - isa = PBXGroup; - children = ( - 51E1DD9A1F30A69F32B03EED89A68BE4 /* scrypt-iOS.modulemap */, - 098E4539FFEB1EB276A76F56D0829434 /* scrypt-iOS.xcconfig */, - 99B84A386A434CF038072CF11DE08F34 /* scrypt-iOS-dummy.m */, - 03BD39A3C7331FE5A8003EF47345E789 /* scrypt-iOS-prefix.pch */, - 7BF229E2F5523E62D853248DA0E5AA38 /* scrypt-iOS-umbrella.h */, - AD8F452107AA790939311FAFE9E2434D /* scrypt-macOS.modulemap */, - 79F3D8E746AF01E98DE20BD2C1572F35 /* scrypt-macOS.xcconfig */, - EE37CE5A8E6206A611EC619B66EC2E0D /* scrypt-macOS-dummy.m */, - 38611A8B5CBD6969A86C88ABBAD0B7F9 /* scrypt-macOS-prefix.pch */, - F102D610A357DBD3CDC4E97671DE62A0 /* scrypt-macOS-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/scrypt-iOS"; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -1726,71 +1578,15 @@ buildActionMask = 2147483647; files = ( 6D92208E7FD3D5F577A4CE8CB9408544 /* Cimpl.h in Headers */, - CECB62463393D641C7A1813FF0BB3C7B /* scrypt-macOS-umbrella.h in Headers */, + EE83304C33E8D28C3321FCF4F3E952AC /* scrypt-macOS-umbrella.h in Headers */, B47081880A03F74BE985722C4EB78E20 /* scrypt.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2EC4EB59401712A7E5314AD87CA30BEC /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E43B98F13FCD3B5DB5F276A823A9354D /* basic-config.h in Headers */, - 0E4C0ADD74FD8AF9B12C27B6687EB234 /* ecdsa.h in Headers */, - 8CF2686010D558BD03C7CED505C11C9C /* ecdsa_impl.h in Headers */, - A848E609F5973AB324AA66A786BE378B /* eckey.h in Headers */, - D367FA306F3D716B5B26AB7ABC28B82F /* eckey_impl.h in Headers */, - EDE96BB2FF7AA6C6C947F19526E168A4 /* ecmult.h in Headers */, - E1B6F21FA966C5EF912CFFA03322B922 /* ecmult_const.h in Headers */, - 8632EC1A529DFEE13BF97399F45FFEE3 /* ecmult_const_impl.h in Headers */, - 98602E727D3013D4EA8D28E0B796F914 /* ecmult_gen.h in Headers */, - 2889854855882D799FD2CE472B17A9BA /* ecmult_gen_impl.h in Headers */, - 3A47021BD84B2E73B822B69102C2BCCD /* ecmult_impl.h in Headers */, - F35FA24B1FC1A4340CB6903B3FDD95A7 /* field.h in Headers */, - 2267748C1FB1D590488F1B9101FB05C9 /* field_10x26.h in Headers */, - 74A7F683ED642B57FD66AF3452F366A4 /* field_10x26_impl.h in Headers */, - 6EEC29ACFC2BEE23CC88A7DFD2637969 /* field_5x52.h in Headers */, - 528C5C69D4815F5FC83E3D5BBE41271D /* field_5x52_asm_impl.h in Headers */, - A2031F83FFFD6EA4255E12B092376081 /* field_5x52_impl.h in Headers */, - 16B67A3D0D023FF3299B1CB0A7292D31 /* field_5x52_int128_impl.h in Headers */, - C986469BA18AD3CA99A0340B7ACDCEF9 /* field_impl.h in Headers */, - 4C4766DBF2D7901BC1CD2C5DFBD76A5E /* group.h in Headers */, - 00EC6CC102B21BF7CF37B100F377BBFB /* group_impl.h in Headers */, - 06350C28C665E96DF5F96FB93B1C35CE /* hash.h in Headers */, - 1714C4C4BC531842DE31A3FD8F912949 /* hash_impl.h in Headers */, - 3AB4243277B67763E8C819980881BA44 /* lax_der_parsing.h in Headers */, - 2E6A9E3F8DB35BB64FF546A27C79A813 /* lax_der_privatekey_parsing.h in Headers */, - BEF500ABA92617FC244C36F2DD7E47D2 /* libsecp256k1-config.h in Headers */, - 7C36C0D98CE341BB254E6F2B63A604F6 /* main_impl.h in Headers */, - B01D4A804FE382180CCF4053E794C24E /* main_impl.h in Headers */, - 86AB793BCF8161E36142EA221E00E33C /* num.h in Headers */, - F8ADDE1FBDA3E24BCBA08A6AE91A61FE /* num_gmp.h in Headers */, - 08AF14BE0C0ED7820C191EAF51A11029 /* num_gmp_impl.h in Headers */, - E3E7DAA98C0D84340DA492FDA9A32149 /* num_impl.h in Headers */, - B42F58792A1A735AD69BB60C4EF4DC58 /* scalar.h in Headers */, - AA0B40D52D40A8BC397B51FF6C9B3C90 /* scalar_4x64.h in Headers */, - B2921F5CDE5C5C82346964060B258525 /* scalar_4x64_impl.h in Headers */, - 66C39E6D8A7FDD96FE537FBCF8E2E96B /* scalar_8x32.h in Headers */, - 9F64F076880B1E6A80C8D1D3090C687C /* scalar_8x32_impl.h in Headers */, - 3F959C8CCB1AF132682B6BB4D1306CB3 /* scalar_impl.h in Headers */, - EAA80D55D188ACC0DA29BD0186E80FAD /* scalar_low.h in Headers */, - 44EF160E7C344881C2BA9C1A108A7310 /* scalar_low_impl.h in Headers */, - 140DDDDD78010DBE84E1FE23615C64DF /* scratch.h in Headers */, - 7B1BE0AB735B19AC77A7EC6490675D5A /* scratch_impl.h in Headers */, - EC1CD56EB11B85BC0AB0927EC3A37BBE /* secp256k1.h in Headers */, - 35F5C4B5CE3A02EA4B3FBDD6746ADA74 /* secp256k1_ecdh.h in Headers */, - 9CD7AB59AA056063FC32AB28C3B0C2B4 /* secp256k1_ios-iOS-umbrella.h in Headers */, - 919245ABE3324EC4EC8E675AB9592327 /* secp256k1_ios.h in Headers */, - 5F6C3C9162B3C0A00863D73DE9F264E4 /* secp256k1_recovery.h in Headers */, - 10905BAD6CBD3CF5157EB9CE65BEC64B /* util.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2EDD7E461E1FBA982E185083EBF76EB5 /* Headers */ = { + 2F394AD2ED0A538D456609456DB15F4B /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - DE8ADD9F39627224ADF47AFF18B0EA29 /* Pods-web3swift-macOS_Tests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1824,8 +1620,8 @@ 7239F0AB8B86ECA736377C06ADA831F9 /* lax_der_parsing.h in Headers */, FBCF699856A16E347AFE56DF1E4B798F /* lax_der_privatekey_parsing.h in Headers */, 1D96448F1FFF0E5449F67332C543EE32 /* libsecp256k1-config.h in Headers */, - BB91D03B628F9A7BAEE9330E7FEE58DB /* main_impl.h in Headers */, 57A82484117095DCA73446B1E6ECFC32 /* main_impl.h in Headers */, + BB91D03B628F9A7BAEE9330E7FEE58DB /* main_impl.h in Headers */, B375AE4058EC8E7A69B2D448B7F36019 /* num.h in Headers */, E330D6002B747B8DFE92C9EF6A252AB1 /* num_gmp.h in Headers */, 40EFCF53AC23E42E8CE500F73237112F /* num_gmp_impl.h in Headers */, @@ -1842,141 +1638,195 @@ 7F46D5244B59340D5B0A7E454860D689 /* scratch_impl.h in Headers */, CF2EC01022EDE78D4A2A1EE28519BB24 /* secp256k1.h in Headers */, BE17E68524E049C26BFA30707DFF6E9E /* secp256k1_ecdh.h in Headers */, - 553EB75D5DF57D74E8408D29DF6F8F3D /* secp256k1_ios-macOS-umbrella.h in Headers */, + 210E681DBFA8097A999F196A7BF59A6E /* secp256k1_ios-macOS-umbrella.h in Headers */, A5FF9C090C00EE25B1035F603F1C3558 /* secp256k1_ios.h in Headers */, 7BA326DD0CB90C3E9B6459E45258514A /* secp256k1_recovery.h in Headers */, DF927452C685F72071057C8843C01706 /* util.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3F3E31084DE48684219A12D9720C7C84 /* Headers */ = { + 3A62C11C69001C7BF554031AE5C3194C /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - FBA0C0B9F810F412F1B19B633DF77D78 /* BigInt-macOS-umbrella.h in Headers */, + F9A83224C63AF5F18AED311461D71668 /* BigInt-iOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 563CC70E1611A174C3FA6B3642258D47 /* Headers */ = { + 3F3E31084DE48684219A12D9720C7C84 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 381C6587FE16247159980E6AD7346AF3 /* CryptoSwift-iOS-umbrella.h in Headers */, + D4FBEF46E2616F942B65FF779B374513 /* BigInt-macOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 665D00ED0692844B7722ABA90D8A8B06 /* Headers */ = { + 5E46D4F35756A5E79CB8A30F27C708F3 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 27157B51378CFF4AD0DF3139827418D2 /* Result-macOS-umbrella.h in Headers */, + F8C762D809370D0B01A8BDE46AE1E336 /* AnyPromise.h in Headers */, + ABA18C643B7B9DAE45127BAB6763ED84 /* fwd.h in Headers */, + 90B8891EA1CDC0E2CB923E349FC54D85 /* NSNotificationCenter+AnyPromise.h in Headers */, + 1FC51E63E62DD14E4E0F7422FE40E716 /* NSTask+AnyPromise.h in Headers */, + A6ACACF0C2E9DF22C5477F6FE45DA8FD /* NSURLSession+AnyPromise.h in Headers */, + 79CA11C1BDDC386FF2A4ADBB513892CF /* PMKFoundation.h in Headers */, + 5D44B3C73A389261EB15DCD7849BE6DF /* PMKUIKit.h in Headers */, + 391B4F1D6A8EBFD3317BD7B4637E0B42 /* PromiseKit-umbrella.h in Headers */, + 7727C417D26C1F6EBC5668D0FF7E24BF /* PromiseKit.h in Headers */, + 238EF3B8B56806CC020FF044317E57F2 /* UIView+AnyPromise.h in Headers */, + 339018FACD17608CC28A77397F15523B /* UIViewController+AnyPromise.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 79D359570F325D120B27A1FDC4445D2D /* Headers */ = { + 665D00ED0692844B7722ABA90D8A8B06 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - FCCEC31B1FC9971E3DA967E44E81A0D2 /* Pods-web3swift-macOS-umbrella.h in Headers */, + 124C34B2652696617A011E8FECFE0C3B /* Result-macOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8AE7964BDBCBC7A4B3EF612DBBB01CFB /* Headers */ = { + 69CFD1A9D6581A0977AECF719363FF30 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 42C6DB05A3663AC4AB08317F9287797A /* AnyPromise.h in Headers */, - 6EFDB00864D7D2230D576768C0C445F3 /* fwd.h in Headers */, - 3E5D7D6D073F33181BEE8BBAA47E427E /* NSNotificationCenter+AnyPromise.h in Headers */, - C76A85C8526F33C17488B1ED3E96E2B8 /* NSTask+AnyPromise.h in Headers */, - DDF54071C21579D559BDEE8D08189CF1 /* NSURLSession+AnyPromise.h in Headers */, - 238EF427CBC24F658E1C1FA4E53099CF /* PMKFoundation.h in Headers */, - 78BB8536FFE3547FBB5E621141E01F84 /* PromiseKit.h in Headers */, - 7E7B5FFB45B34D030569DB117921D0A2 /* PromiseKit.root-CorePromise-Foundation-umbrella.h in Headers */, + B70EF82165930092663A4177C5F1FE4F /* basic-config.h in Headers */, + 28C3E22A6B7DDE77EFF9E56199884D40 /* ecdsa.h in Headers */, + 0EC23A496E7520709A8EF71182D4A977 /* ecdsa_impl.h in Headers */, + 044355BCF9A51F03F92DA9A4955EDDF8 /* eckey.h in Headers */, + DB4121B9C2C88108CFD4BF622DD22793 /* eckey_impl.h in Headers */, + DC07B1317F80D339C68CCBF3D31566D9 /* ecmult.h in Headers */, + E900FB2DA6B0F0F63CE82466566FCD68 /* ecmult_const.h in Headers */, + A851E4E866251283BE250466CCA8F05D /* ecmult_const_impl.h in Headers */, + F753E13D3D4A29BF27E48A2303E55253 /* ecmult_gen.h in Headers */, + 78A661EDD584574FE574F9F5442C1D19 /* ecmult_gen_impl.h in Headers */, + F4D1F737295AE1152488E8C62B8B07CC /* ecmult_impl.h in Headers */, + 03DFE13C6697848C21F4EB647BC55AA5 /* field.h in Headers */, + C15CF4CD764C303BB61C1908A5088EB9 /* field_10x26.h in Headers */, + 07DF5F806B224E861175A2B54A157F4E /* field_10x26_impl.h in Headers */, + C223A7A68CC3C3E35C5BAF673FC6422C /* field_5x52.h in Headers */, + 1A931FA6D7623661E6793527D71A4967 /* field_5x52_asm_impl.h in Headers */, + 3B41981C0A080D47C5C9EC0F3FFB7611 /* field_5x52_impl.h in Headers */, + DDA12AF713A1310BDC4A90183CBB1594 /* field_5x52_int128_impl.h in Headers */, + 8A5E008391D8321CFFAF8C16780EFA36 /* field_impl.h in Headers */, + B71596F2C722143ACE243217699C8B26 /* group.h in Headers */, + 3EFA188E4DB94F776E9769B16C85FDD7 /* group_impl.h in Headers */, + 020D14793215AFE896BE555B9C76CBDF /* hash.h in Headers */, + 8838B2C8BD6B40891B3DCF118A17026D /* hash_impl.h in Headers */, + 3A0BDEA886E92E674AB63F02A38A9044 /* lax_der_parsing.h in Headers */, + FA750855C8E963C8BDF3CB98B66F2223 /* lax_der_privatekey_parsing.h in Headers */, + 431B4A873377BAA0B7101CA62F243F69 /* libsecp256k1-config.h in Headers */, + 70DA4C91DB3C9D2179662801D68386A0 /* main_impl.h in Headers */, + 4A5F92735335EE5F55A619EDD9382812 /* main_impl.h in Headers */, + B85578BD6CA740FA275B7FCB49ABCE30 /* num.h in Headers */, + 753EBD02641E8F6F23CAC9B8BE1AB870 /* num_gmp.h in Headers */, + 5378A6D7FB3F30FD0F2D5EBF728C481F /* num_gmp_impl.h in Headers */, + 75DFBA4078AA16B9762F25A2068F8266 /* num_impl.h in Headers */, + 26A36281153F7D8DF3A79BDBA897DF26 /* scalar.h in Headers */, + AEDB6F7FF6DB897F36B275F65C330C41 /* scalar_4x64.h in Headers */, + F1A07A920329A779F5DE4422E744651B /* scalar_4x64_impl.h in Headers */, + 1241921863951D082F323302080CBDFF /* scalar_8x32.h in Headers */, + FE5B85739B771377AF32128CC981B882 /* scalar_8x32_impl.h in Headers */, + 35DAD73CA3D181C3820B7A48AAF6B788 /* scalar_impl.h in Headers */, + A39E98BB6ACEECBAF672A52457035B06 /* scalar_low.h in Headers */, + 3BD9A23A6A10CF688F51418A5C0A926C /* scalar_low_impl.h in Headers */, + 4012B628413F1BB0A86D23CEF67DDB93 /* scratch.h in Headers */, + 63FFA36A34A36A797BEA3D7EDF4CC3C8 /* scratch_impl.h in Headers */, + 43211F1E91C824A5FC64E00B62E5AB95 /* secp256k1.h in Headers */, + 19E005C60300BACBE467130A64746A0F /* secp256k1_ecdh.h in Headers */, + 95532035A7D2C05E9D78194EF284D038 /* secp256k1_ios-iOS-umbrella.h in Headers */, + 1B532920CD5ACB6A6E9B44AD7759774F /* secp256k1_ios.h in Headers */, + 85BE6E38DF5EF78306F1A4AA5D9BDFFA /* secp256k1_recovery.h in Headers */, + 93A04B36AE3206350B85D19862F5F62A /* util.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 943AA5A644F18FA2173F523C21C03661 /* Headers */ = { + 7477F92785CFE4A257605FF325BEDCA8 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E620808A6B6483DD90D1DF1DD9F399ED /* Pods-web3swift-iOS-umbrella.h in Headers */, + DF3C881F6AA58663EA27A37DDC93CBD1 /* SipHash-iOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - A184A179AC87F571D98F6EE26F3E4706 /* Headers */ = { + 79D359570F325D120B27A1FDC4445D2D /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 64310DB95A0B71D32365CB6D88944A03 /* SipHash-iOS-umbrella.h in Headers */, + FCCEC31B1FC9971E3DA967E44E81A0D2 /* Pods-web3swift-macOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - AB508AB6DA110D8EA9894EB86FDC1501 /* Headers */ = { + 8AE7964BDBCBC7A4B3EF612DBBB01CFB /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - F9697E5E03294F84CDF66EBBDB3FC67E /* CryptoSwift-macOS-umbrella.h in Headers */, + 42C6DB05A3663AC4AB08317F9287797A /* AnyPromise.h in Headers */, + 6EFDB00864D7D2230D576768C0C445F3 /* fwd.h in Headers */, + 3E5D7D6D073F33181BEE8BBAA47E427E /* NSNotificationCenter+AnyPromise.h in Headers */, + C76A85C8526F33C17488B1ED3E96E2B8 /* NSTask+AnyPromise.h in Headers */, + DDF54071C21579D559BDEE8D08189CF1 /* NSURLSession+AnyPromise.h in Headers */, + 238EF427CBC24F658E1C1FA4E53099CF /* PMKFoundation.h in Headers */, + 78BB8536FFE3547FBB5E621141E01F84 /* PromiseKit.h in Headers */, + 2704B064A229223D40B136571F157C09 /* PromiseKit.root-CorePromise-Foundation-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - AC38F7E8EEE3FCDAA87660EF26251C69 /* Headers */ = { + 943AA5A644F18FA2173F523C21C03661 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 047B1F4282EAAB64616F11FF842AA22B /* Cimpl.h in Headers */, - 8BDA6DB765F25A0DB641BAE9BE4B3159 /* scrypt-iOS-umbrella.h in Headers */, - 03CB7EC1DDE57422A40714B0A6953630 /* scrypt.h in Headers */, + E620808A6B6483DD90D1DF1DD9F399ED /* Pods-web3swift-iOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - BA17525E72EFD72AB4A5CEE5D1DE9913 /* Headers */ = { + 9A87699A079E63916F2A22ACA7AE1750 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - EB89F559AA39AB8B74AC19DCD09A0AF0 /* Pods-web3swift-iOS_Tests-umbrella.h in Headers */, + 0B9A91423AFC0ACA837C4E56A1AA588A /* Result-iOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - E6F669BE3BCF96FD16DC82FAD9B85CD0 /* Headers */ = { + 9B8ADFBF36DDF43901B00021F97C7974 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 42AD653190052E600C4C4CE1DE6ACE20 /* Result-iOS-umbrella.h in Headers */, + 7F20A41D40643A5EE1FB3E64F1BB44BB /* Cimpl.h in Headers */, + 9C93294CF1F7E31E9BCF02381B17FAF5 /* scrypt-iOS-umbrella.h in Headers */, + 1AF1B798714A34D38B61CF7C7B5C185F /* scrypt.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - EC1E56131ACB90EB216C276F366EFECD /* Headers */ = { + 9DBF6F339E3B937E0E0927FF3B30F915 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 4B7175E173407B71508A864A033EC107 /* SipHash-macOS-umbrella.h in Headers */, + ECDEF2626BC123966104C5F0B4830936 /* CryptoSwift-iOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - F29EC8E739F9852F086EF5BCFF543A3C /* Headers */ = { + A84BA0453988997BEFD8DEA9765B62E6 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - EF62E2EFC77C073FE4E28108723ACF4B /* BigInt-iOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - F82DD0F73758C7731BABA37472844562 /* Headers */ = { + AB508AB6DA110D8EA9894EB86FDC1501 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 1CC09F75AC87A194EBB50A8750BAAE94 /* CryptoSwift-macOS-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EC1E56131ACB90EB216C276F366EFECD /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - BB06FC86A3B62397AE0E07B00471F6AE /* AnyPromise.h in Headers */, - EDA077007EEB5A44FAC5AFD3C1836B04 /* fwd.h in Headers */, - 1C884A28FA083B2145425BB4D3369A0B /* NSNotificationCenter+AnyPromise.h in Headers */, - 1E9786C210C3093074CAA71FB3C5350F /* NSTask+AnyPromise.h in Headers */, - 1FE7FEC8F5DDD701FD3AE246AD01B367 /* NSURLSession+AnyPromise.h in Headers */, - B773946DE5FFBE30EDF07970211D0F6E /* PMKFoundation.h in Headers */, - FEA85558F428093EA3B68A2FB1C71D2A /* PMKUIKit.h in Headers */, - EB6B58F71E3D5BAB4ECE9430B17E8851 /* PromiseKit-umbrella.h in Headers */, - F8FD768535346E2CF68666669776442A /* PromiseKit.h in Headers */, - 64F86EC9C5F4F9BA6A73B501B1B84262 /* UIView+AnyPromise.h in Headers */, - 923235788E467394092CE2018C5FAEB2 /* UIViewController+AnyPromise.h in Headers */, + BA33E96D5FF50CFFA5727208AC91DF2B /* SipHash-macOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1987,9 +1837,9 @@ isa = PBXNativeTarget; buildConfigurationList = 8DA93CABD9DFF36F5A035545E1AC0E03 /* Build configuration list for PBXNativeTarget "PromiseKit" */; buildPhases = ( - F82DD0F73758C7731BABA37472844562 /* Headers */, + 5E46D4F35756A5E79CB8A30F27C708F3 /* Headers */, D80C4041C26B271E170B58234C893615 /* Sources */, - 325D67F097EE2746E73CE73074B490F5 /* Frameworks */, + 3D1B05378F186E57C4B940F71C083C0F /* Frameworks */, 0F4E0CC32C96C7A7A460459DCA8251FF /* Copy generated compatibility header */, ); buildRules = ( @@ -2048,7 +1898,7 @@ isa = PBXNativeTarget; buildConfigurationList = BA7D8C997C878CC9750FD6BEA3F67C1A /* Build configuration list for PBXNativeTarget "secp256k1_ios-iOS" */; buildPhases = ( - 2EC4EB59401712A7E5314AD87CA30BEC /* Headers */, + 69CFD1A9D6581A0977AECF719363FF30 /* Headers */, E476093B5E955BE3D7129652BCA20AE0 /* Sources */, 5A5442897A70588AF9565D5F074C6B92 /* Frameworks */, ); @@ -2065,7 +1915,7 @@ isa = PBXNativeTarget; buildConfigurationList = F8A195F0CD637B21B4FABEA84B502663 /* Build configuration list for PBXNativeTarget "SipHash-iOS" */; buildPhases = ( - A184A179AC87F571D98F6EE26F3E4706 /* Headers */, + 7477F92785CFE4A257605FF325BEDCA8 /* Headers */, 6950A9AD0D066BC48BB15390EA10BE78 /* Sources */, D2A4B152651F01134ED378054CE50C8D /* Frameworks */, EDC821DB128FBEFA92BC6BC351D2709A /* Copy generated compatibility header */, @@ -2079,36 +1929,11 @@ productReference = 40D27BDFCD317E69149F3DFAFB7543A9 /* libSipHash-iOS.a */; productType = "com.apple.product-type.library.static"; }; - 3E398E9E64DEB2271B9D8FDDFED73BD4 /* Pods-web3swift-macOS_Tests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 7C6361B9759E1BA4AD88E9A851A42894 /* Build configuration list for PBXNativeTarget "Pods-web3swift-macOS_Tests" */; - buildPhases = ( - 2EDD7E461E1FBA982E185083EBF76EB5 /* Headers */, - 7A01331384E69561B35E1B17927CF339 /* Sources */, - 97890EC8483173ED089DE8440537DFB3 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - D1082A5270870F4606D6C175E249EA5C /* PBXTargetDependency */, - 87A9622383708208060343907EABFD5E /* PBXTargetDependency */, - EFE957A099ACAD26F04AD100FEE855DF /* PBXTargetDependency */, - 1884C486EFCD3632140C9DA981269622 /* PBXTargetDependency */, - 28A91A27FCB812BF53CE1FA12D06AE3E /* PBXTargetDependency */, - 49CB980932C976A944482646B3EC2CBA /* PBXTargetDependency */, - C8BC042896E6C3D76E0A86A63368E3F8 /* PBXTargetDependency */, - 387C287A34ADC9409A8BEEF451C17496 /* PBXTargetDependency */, - ); - name = "Pods-web3swift-macOS_Tests"; - productName = "Pods-web3swift-macOS_Tests"; - productReference = 4530120DD6B0DBFF5F660844F8E1C873 /* libPods-web3swift-macOS_Tests.a */; - productType = "com.apple.product-type.library.static"; - }; 44D204414133961DD4B492AFB5C4DEEB /* CryptoSwift-iOS */ = { isa = PBXNativeTarget; buildConfigurationList = 6FBBA029AFB86EC5F02D2B578121B307 /* Build configuration list for PBXNativeTarget "CryptoSwift-iOS" */; buildPhases = ( - 563CC70E1611A174C3FA6B3642258D47 /* Headers */, + 9DBF6F339E3B937E0E0927FF3B30F915 /* Headers */, 713698705E8D1E339E70B30159672ECB /* Sources */, 70A99D175AB74D144C6CFD96B60AA491 /* Frameworks */, ABE5E8CE69A961334EF804948F80AE71 /* Copy generated compatibility header */, @@ -2140,11 +1965,29 @@ productReference = E82F9A99E44E0AB55B16F720C69B947B /* libSipHash-macOS.a */; productType = "com.apple.product-type.library.static"; }; + 566C98B9528CB1527582959B19D87238 /* Pods-web3swift-iOS_Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 62550B15363844675EDB2F185CB619A8 /* Build configuration list for PBXNativeTarget "Pods-web3swift-iOS_Tests" */; + buildPhases = ( + A84BA0453988997BEFD8DEA9765B62E6 /* Headers */, + A27CC87411918F0608EA9F4339733D80 /* Sources */, + 9FA0F642AE177D3FA07814A41F264B1A /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + F3DDE7BB170DA1519FDDE4BA03AB73FA /* PBXTargetDependency */, + ); + name = "Pods-web3swift-iOS_Tests"; + productName = "Pods-web3swift-iOS_Tests"; + productReference = AAF423028DF35854B3087F873B6965E4 /* libPods-web3swift-iOS_Tests.a */; + productType = "com.apple.product-type.library.static"; + }; 717A6C5D2749A62529F91EEEFE9D7643 /* scrypt-iOS */ = { isa = PBXNativeTarget; buildConfigurationList = 6879EDE7D4DD74BDD3333F7F47505BD5 /* Build configuration list for PBXNativeTarget "scrypt-iOS" */; buildPhases = ( - AC38F7E8EEE3FCDAA87660EF26251C69 /* Headers */, + 9B8ADFBF36DDF43901B00021F97C7974 /* Headers */, 0C069A9FAFD02DC541C70A3173F230BF /* Sources */, 8FE71F0EE76E21DDDA7CA1709FAF6FC0 /* Frameworks */, FEE9CE25BE3B98ABF4820134949C8129 /* Copy generated compatibility header */, @@ -2159,13 +2002,31 @@ productReference = 2B80D3AA1BDBB1E0CF52567C4F9FB777 /* libscrypt-iOS.a */; productType = "com.apple.product-type.library.static"; }; + 7ED7E08B2BE4D50AC5F7E73B32DD2203 /* Pods-web3swift-macOS_Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 91E81CC04B48CAA0AA6D1FB891F14331 /* Build configuration list for PBXNativeTarget "Pods-web3swift-macOS_Tests" */; + buildPhases = ( + 2F394AD2ED0A538D456609456DB15F4B /* Headers */, + 6F5CC9B499993EA733C785A3803C553D /* Sources */, + 803328A4C9D919A350F04AB5D9FBBC0A /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + DA81B8EC030393B0ADEBDB02050FCFCB /* PBXTargetDependency */, + ); + name = "Pods-web3swift-macOS_Tests"; + productName = "Pods-web3swift-macOS_Tests"; + productReference = 4530120DD6B0DBFF5F660844F8E1C873 /* libPods-web3swift-macOS_Tests.a */; + productType = "com.apple.product-type.library.static"; + }; 8FBD6D69D989701B31E1FE3221BEE90E /* PromiseKit.root-CorePromise-Foundation */ = { isa = PBXNativeTarget; buildConfigurationList = 90AA254D9E86CD85BB781ED544A9AD4D /* Build configuration list for PBXNativeTarget "PromiseKit.root-CorePromise-Foundation" */; buildPhases = ( 8AE7964BDBCBC7A4B3EF612DBBB01CFB /* Headers */, 522D955B2AE41A55E3997790054B5A45 /* Sources */, - 7F6A486645004AAAB0DCFD9434E95C8A /* Frameworks */, + 56EC7C06C400F808A27DE468D01518F4 /* Frameworks */, A9726B7B90A669FBDD968B4924FF4AAA /* Copy generated compatibility header */, ); buildRules = ( @@ -2196,36 +2057,11 @@ productReference = DB87E523FFE6DE6B135FDDCF9D25E434 /* libBigInt-macOS.a */; productType = "com.apple.product-type.library.static"; }; - A6E382D5D6B07674E43016DC3F7671CC /* Pods-web3swift-iOS_Tests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 9147D93E20526E57F1BB313A953B43D1 /* Build configuration list for PBXNativeTarget "Pods-web3swift-iOS_Tests" */; - buildPhases = ( - BA17525E72EFD72AB4A5CEE5D1DE9913 /* Headers */, - 9C078DA6D64602BF6F7F10C04D17538E /* Sources */, - 6DFB6B55ACDC8896004424C72E661A13 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 0369606DF73B34BA53E902AAE7ABCB8D /* PBXTargetDependency */, - 140A2805AFC5E9E1D29C021B9F0B98A4 /* PBXTargetDependency */, - DF1348A409DE287D9A11CB0349D3631E /* PBXTargetDependency */, - 3C30CC3BA0DF7C5F1487E1F3463FA434 /* PBXTargetDependency */, - C9296DE20B1E928B6832A65EEF1CA3F8 /* PBXTargetDependency */, - DFB0834A4804B2141DDD6BF517CF4FB2 /* PBXTargetDependency */, - 561B23E3A3796938CFD68E9F4390EEAF /* PBXTargetDependency */, - 4618C453E6BB9258BEEC8F6A61F25283 /* PBXTargetDependency */, - ); - name = "Pods-web3swift-iOS_Tests"; - productName = "Pods-web3swift-iOS_Tests"; - productReference = AAF423028DF35854B3087F873B6965E4 /* libPods-web3swift-iOS_Tests.a */; - productType = "com.apple.product-type.library.static"; - }; AF9F48E6961507C0E2FD7A3CDBC652DA /* BigInt-iOS */ = { isa = PBXNativeTarget; buildConfigurationList = 47C2AA14D9BBB2B7CC5629CE1C553C1B /* Build configuration list for PBXNativeTarget "BigInt-iOS" */; buildPhases = ( - F29EC8E739F9852F086EF5BCFF543A3C /* Headers */, + 3A62C11C69001C7BF554031AE5C3194C /* Headers */, 104CDA071EC594D0742ECA77BC001352 /* Sources */, F3D19D58AA787766BBBD7801570222E2 /* Frameworks */, 48CAA26C5BA7CC4886CFBB5FF41C3C8C /* Copy generated compatibility header */, @@ -2244,7 +2080,7 @@ isa = PBXNativeTarget; buildConfigurationList = 7E6FEF7BE12C0B86CC254EF55EDD9699 /* Build configuration list for PBXNativeTarget "Result-iOS" */; buildPhases = ( - E6F669BE3BCF96FD16DC82FAD9B85CD0 /* Headers */, + 9A87699A079E63916F2A22ACA7AE1750 /* Headers */, 3182A9C8AF2293F468CC2FF1757CED05 /* Sources */, 99245CA93B0B66E3E442328913763B1A /* Frameworks */, 44F4CE8355F5D5F1F809089CCBBEBF00 /* Copy generated compatibility header */, @@ -2361,9 +2197,9 @@ 44D204414133961DD4B492AFB5C4DEEB /* CryptoSwift-iOS */, D618CA243075F5EB0C89F808DD7756D8 /* CryptoSwift-macOS */, 242D7A70DFF4194FB7B7DA7C1AA5384E /* Pods-web3swift-iOS */, - A6E382D5D6B07674E43016DC3F7671CC /* Pods-web3swift-iOS_Tests */, + 566C98B9528CB1527582959B19D87238 /* Pods-web3swift-iOS_Tests */, BB68F9B80C22C74C528A2A837F77C592 /* Pods-web3swift-macOS */, - 3E398E9E64DEB2271B9D8FDDFED73BD4 /* Pods-web3swift-macOS_Tests */, + 7ED7E08B2BE4D50AC5F7E73B32DD2203 /* Pods-web3swift-macOS_Tests */, 00370D91F8D61EB1B486DA6056B32406 /* PromiseKit */, 8FBD6D69D989701B31E1FE3221BEE90E /* PromiseKit.root-CorePromise-Foundation */, B4C770D41049AF2A6AAF1D99D0B08152 /* Result-iOS */, @@ -2837,6 +2673,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 6F5CC9B499993EA733C785A3803C553D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B6699C206D4772B76BEAF1722CB04572 /* Pods-web3swift-macOS_Tests-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 713698705E8D1E339E70B30159672ECB /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -2916,14 +2760,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 7A01331384E69561B35E1B17927CF339 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 6F05C030F1EA0E9ADF729E6E647CACFE /* Pods-web3swift-macOS_Tests-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 7BA75396367E53FB54211DB664B4547E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -3038,11 +2874,11 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 9C078DA6D64602BF6F7F10C04D17538E /* Sources */ = { + A27CC87411918F0608EA9F4339733D80 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 0E8C948E26CAA74B6E9C53529481D064 /* Pods-web3swift-iOS_Tests-dummy.m in Sources */, + 3A611A77C4E834E1E7F375E6362DB0D7 /* Pods-web3swift-iOS_Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3111,12 +2947,6 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 0369606DF73B34BA53E902AAE7ABCB8D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "BigInt-iOS"; - target = AF9F48E6961507C0E2FD7A3CDBC652DA /* BigInt-iOS */; - targetProxy = D26D83FD52873C0724F3563C9D973BC0 /* PBXContainerItemProxy */; - }; 05CEE04471CEA2C0AA9EA5ADBFFA05E7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "scrypt-iOS"; @@ -3147,30 +2977,12 @@ target = B4C770D41049AF2A6AAF1D99D0B08152 /* Result-iOS */; targetProxy = 95EBCBEDA8C09F798A8B0AAC2A665789 /* PBXContainerItemProxy */; }; - 140A2805AFC5E9E1D29C021B9F0B98A4 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "CryptoSwift-iOS"; - target = 44D204414133961DD4B492AFB5C4DEEB /* CryptoSwift-iOS */; - targetProxy = 78020117C086D2646E8237DA59CF8059 /* PBXContainerItemProxy */; - }; - 1884C486EFCD3632140C9DA981269622 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "PromiseKit.root-CorePromise-Foundation"; - target = 8FBD6D69D989701B31E1FE3221BEE90E /* PromiseKit.root-CorePromise-Foundation */; - targetProxy = D327745110CF6AAD186CFD3D40F2CBC6 /* PBXContainerItemProxy */; - }; 1FF54C81F8FD2950BADB45C07E63D89A /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "BigInt-macOS"; target = 9646F4C6B5DB5298F5EEE5871120A244 /* BigInt-macOS */; targetProxy = CCD1E562EFB874B8CB4B33E000B51CD1 /* PBXContainerItemProxy */; }; - 28A91A27FCB812BF53CE1FA12D06AE3E /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Result-macOS"; - target = D65B13BFF251965985F677C194C0CACF /* Result-macOS */; - targetProxy = B9315564689272999D44E50694EC0449 /* PBXContainerItemProxy */; - }; 2A5B940C38D42B8D734A160124EFFE9A /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "SipHash-iOS"; @@ -3183,30 +2995,6 @@ target = 2FE2011DA32CEB3AE7A817A294041570 /* secp256k1_ios-iOS */; targetProxy = 2D3F534715B6632C78072C8E5A65094A /* PBXContainerItemProxy */; }; - 387C287A34ADC9409A8BEEF451C17496 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "secp256k1_ios-macOS"; - target = FC621AC7D03DDE6D391CACBAF8CA054E /* secp256k1_ios-macOS */; - targetProxy = 435993337DC7ED14E3B81E444FA17FFF /* PBXContainerItemProxy */; - }; - 3C30CC3BA0DF7C5F1487E1F3463FA434 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = PromiseKit; - target = 00370D91F8D61EB1B486DA6056B32406 /* PromiseKit */; - targetProxy = B6E1ACAF6088DCEB605C6E0A670B2881 /* PBXContainerItemProxy */; - }; - 4618C453E6BB9258BEEC8F6A61F25283 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "secp256k1_ios-iOS"; - target = 2FE2011DA32CEB3AE7A817A294041570 /* secp256k1_ios-iOS */; - targetProxy = 352364F0383233F4CC7C27744D6969FD /* PBXContainerItemProxy */; - }; - 49CB980932C976A944482646B3EC2CBA /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "SipHash-macOS"; - target = 4FCBE56BC5E931FDC43C642250037C1F /* SipHash-macOS */; - targetProxy = D6399F92B7E7FFC27E2EC6AB44FC20E5 /* PBXContainerItemProxy */; - }; 52C2527A7F646C87C9D482AC95F732B8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "SipHash-macOS"; @@ -3219,12 +3007,6 @@ target = D618CA243075F5EB0C89F808DD7756D8 /* CryptoSwift-macOS */; targetProxy = 2A0AAC3DD9D962F949F31A5F7F0B5C5F /* PBXContainerItemProxy */; }; - 561B23E3A3796938CFD68E9F4390EEAF /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "scrypt-iOS"; - target = 717A6C5D2749A62529F91EEEFE9D7643 /* scrypt-iOS */; - targetProxy = 1534DAD4B031EBB9EB9ECFF9A0272039 /* PBXContainerItemProxy */; - }; 5A6CD68FDC0875A4FFDC427E943CA6A9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "secp256k1_ios-macOS"; @@ -3249,12 +3031,6 @@ target = AF9F48E6961507C0E2FD7A3CDBC652DA /* BigInt-iOS */; targetProxy = 85EC6E047CB93E2443B62439D51DBE4F /* PBXContainerItemProxy */; }; - 87A9622383708208060343907EABFD5E /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "CryptoSwift-macOS"; - target = D618CA243075F5EB0C89F808DD7756D8 /* CryptoSwift-macOS */; - targetProxy = 5D305E4E35D6FFC5F0B493DC1272B0EE /* PBXContainerItemProxy */; - }; B8DAD04D999708156ACCC4354565CBE5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "scrypt-macOS"; @@ -3273,35 +3049,11 @@ target = 4FCBE56BC5E931FDC43C642250037C1F /* SipHash-macOS */; targetProxy = 284C9AFC38A225A506CB24973AEFB321 /* PBXContainerItemProxy */; }; - C8BC042896E6C3D76E0A86A63368E3F8 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "scrypt-macOS"; - target = 07841E92CB371DB60A1803D68D0B6814 /* scrypt-macOS */; - targetProxy = 972D1D5783F52F9D41D5545982623D83 /* PBXContainerItemProxy */; - }; - C9296DE20B1E928B6832A65EEF1CA3F8 /* PBXTargetDependency */ = { + DA81B8EC030393B0ADEBDB02050FCFCB /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Result-iOS"; - target = B4C770D41049AF2A6AAF1D99D0B08152 /* Result-iOS */; - targetProxy = 22DD5B8659B60E31EEF9FA61FF70F620 /* PBXContainerItemProxy */; - }; - D1082A5270870F4606D6C175E249EA5C /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "BigInt-macOS"; - target = 9646F4C6B5DB5298F5EEE5871120A244 /* BigInt-macOS */; - targetProxy = 9708F8CBA381DF40339F65A62C5299F3 /* PBXContainerItemProxy */; - }; - DF1348A409DE287D9A11CB0349D3631E /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Pods-web3swift-iOS"; - target = 242D7A70DFF4194FB7B7DA7C1AA5384E /* Pods-web3swift-iOS */; - targetProxy = 8EB9105FCFFB3B026DF8D04211F344F9 /* PBXContainerItemProxy */; - }; - DFB0834A4804B2141DDD6BF517CF4FB2 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "SipHash-iOS"; - target = 3B79F6DB09B597AAE9D3EB939DA463D8 /* SipHash-iOS */; - targetProxy = 360BC8035FDA2684D3D224FE94563CD5 /* PBXContainerItemProxy */; + name = "Pods-web3swift-macOS"; + target = BB68F9B80C22C74C528A2A837F77C592 /* Pods-web3swift-macOS */; + targetProxy = 1E5017C3A1512E67B0318DD1DACDE515 /* PBXContainerItemProxy */; }; EAE562F38811B30E5C913FF971E5BB27 /* PBXTargetDependency */ = { isa = PBXTargetDependency; @@ -3309,18 +3061,18 @@ target = 44D204414133961DD4B492AFB5C4DEEB /* CryptoSwift-iOS */; targetProxy = 5C4F2ED3F13D3478905D555D2B67CD1E /* PBXContainerItemProxy */; }; - EFE957A099ACAD26F04AD100FEE855DF /* PBXTargetDependency */ = { + F3DDE7BB170DA1519FDDE4BA03AB73FA /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Pods-web3swift-macOS"; - target = BB68F9B80C22C74C528A2A837F77C592 /* Pods-web3swift-macOS */; - targetProxy = 8EAEE80824AC260B45892170FD94FFA9 /* PBXContainerItemProxy */; + name = "Pods-web3swift-iOS"; + target = 242D7A70DFF4194FB7B7DA7C1AA5384E /* Pods-web3swift-iOS */; + targetProxy = 366CCE30759EB3C0FF8E45BE9572B007 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ 10094E4712902F615969B9C3AD86AA9A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EB696CF5BB96FFB89395E6F2FF0E57AA /* secp256k1_ios-iOS.xcconfig */; + baseConfigurationReference = 18CAB3E754AA5CC3978FFD653BC874A3 /* secp256k1_ios-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3344,34 +3096,65 @@ }; name = Release; }; - 18E24F416DE781FAB553C6A7E3F3C1EF /* Debug */ = { + 1F132949D546EF7F3FEDAF289A9CCECF /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CFF935D0FA27DF791E8FDBB6D5D68CB2 /* Pods-web3swift-macOS_Tests.debug.xcconfig */; + baseConfigurationReference = 534009974277EC43330183E1CF3A73A3 /* CryptoSwift-macOS.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MODULEMAP_FILE = "Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MODULEMAP_FILE = "Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = CryptoSwift; + PRODUCT_NAME = "CryptoSwift-macOS"; + PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.2; }; - name = Debug; + name = Release; + }; + 22828402F006586F2011758B9199E3F7 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2452C598AA33B18F81F1D5FE847DF8C7 /* Result-macOS.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "-"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + EXECUTABLE_PREFIX = lib; + GCC_PREFIX_HEADER = "Target Support Files/Result-macOS/Result-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MODULEMAP_FILE = "Headers/Public/Result/Result-macOS.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = Result; + PRODUCT_NAME = "Result-macOS"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.0; + }; + name = Release; }; 25479A05EC723879F7D0842978AC42B6 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 098E4539FFEB1EB276A76F56D0829434 /* scrypt-iOS.xcconfig */; + baseConfigurationReference = E0002BF7495DF77615C17C435108BAC4 /* scrypt-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3397,7 +3180,7 @@ }; 29F4C48EAEC88A7864CDB6C4FE628440 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EB696CF5BB96FFB89395E6F2FF0E57AA /* secp256k1_ios-iOS.xcconfig */; + baseConfigurationReference = 18CAB3E754AA5CC3978FFD653BC874A3 /* secp256k1_ios-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3420,35 +3203,9 @@ }; name = Debug; }; - 35FE90C4321FAFFDC78AB8AAA38B1ABA /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AC53F2E963D210DCBAC0E8AAD2682664 /* CryptoSwift-macOS.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "-"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = CryptoSwift; - PRODUCT_NAME = "CryptoSwift-macOS"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; - }; - name = Debug; - }; 3A0E8B9AEE3FB2C2FF6480F0457CB4ED /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E962BC8D4DB16BC7DECDA0FA691774E2 /* Result-iOS.xcconfig */; + baseConfigurationReference = 95E6916802B9A0D029D336A91E220830 /* Result-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3474,7 +3231,7 @@ }; 3C9131BF8D77FFD3F3302CC9B5C5B5E6 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D1C14722F45B3D63B1FB360F6F553FF5 /* BigInt-iOS.xcconfig */; + baseConfigurationReference = EAC47FA975BD89D9C68F3C958A58964C /* BigInt-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3498,36 +3255,37 @@ }; name = Debug; }; - 3FC11F99C63AE0234062EDB05FC05F05 /* Release */ = { + 3DBEFAA40421868F6F66B16ACEFE5910 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8F3D3202602E52028B31A9BC0E40E4BE /* BigInt-macOS.xcconfig */; + baseConfigurationReference = 30FDF56132F92204ACAD922366ABC434 /* scrypt-macOS.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/BigInt-macOS/BigInt-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/BigInt/BigInt-macOS.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/scrypt-macOS/scrypt-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MODULEMAP_FILE = "Headers/Public/scrypt/scrypt-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = BigInt; - PRODUCT_NAME = "BigInt-macOS"; + PRODUCT_MODULE_NAME = scrypt; + PRODUCT_NAME = "scrypt-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.0; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.1; }; - name = Release; + name = Debug; }; 433482CC83281FBCC068E5C1BB82C335 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7201AB4205DACC1A886D0B4FE0F68E52 /* PromiseKit.xcconfig */; + baseConfigurationReference = DE552F4DC19246DE02459BBEAECE3070 /* PromiseKit.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3551,65 +3309,34 @@ }; name = Debug; }; - 44EA677F9CA122DFC44F54EA53936998 /* Debug */ = { + 4CA9B35348640CA3DA1AAB6A01AB2BE4 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 79F3D8E746AF01E98DE20BD2C1572F35 /* scrypt-macOS.xcconfig */; + baseConfigurationReference = 0D88C9D56C3885598E20D9718F3B8F16 /* Pods-web3swift-macOS_Tests.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/scrypt-macOS/scrypt-macOS-prefix.pch"; + MACH_O_TYPE = staticlib; MACOSX_DEPLOYMENT_TARGET = 10.11; - MODULEMAP_FILE = "Headers/Public/scrypt/scrypt-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = scrypt; - PRODUCT_NAME = "scrypt-macOS"; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = macosx; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.1; }; - name = Debug; + name = Release; }; - 47384531706EF84966CA26E5D7B959C7 /* Release */ = { + 50921841075F46C5C393DB5B6A2529EB /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AC53F2E963D210DCBAC0E8AAD2682664 /* CryptoSwift-macOS.xcconfig */; + baseConfigurationReference = FAE5BF28C394D398788317F877E314ED /* SipHash-iOS.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = "-"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = CryptoSwift; - PRODUCT_NAME = "CryptoSwift-macOS"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.2; - }; - name = Release; - }; - 50921841075F46C5C393DB5B6A2529EB /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 2FC68718A68C6212B73ECD1E04C03B9E /* SipHash-iOS.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -3631,60 +3358,33 @@ }; name = Debug; }; - 5BD49BF86CA4E1A90D03BA1E96ADB13B /* Debug */ = { + 560816912205F95947EE5A51E4D1D47B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8F3D3202602E52028B31A9BC0E40E4BE /* BigInt-macOS.xcconfig */; + baseConfigurationReference = F5928C098D1CFB5B0E1932A24EDA49AF /* secp256k1_ios-macOS.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/BigInt-macOS/BigInt-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/BigInt/BigInt-macOS.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = BigInt; - PRODUCT_NAME = "BigInt-macOS"; + PRODUCT_MODULE_NAME = secp256k1_ios; + PRODUCT_NAME = "secp256k1_ios-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.0; }; name = Debug; }; - 5E6A8C563219ECE58D56F1197D8A3920 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 79F3D8E746AF01E98DE20BD2C1572F35 /* scrypt-macOS.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "-"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/scrypt-macOS/scrypt-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MODULEMAP_FILE = "Headers/Public/scrypt/scrypt-macOS.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = scrypt; - PRODUCT_NAME = "scrypt-macOS"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.1; - }; - name = Release; - }; 5FCBD0A9F6FEC43961BDF6211D4F283C /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -3750,37 +3450,9 @@ }; name = Debug; }; - 612B5902FE5E832A73EDB161E1AAC30C /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5E0CF3B2DBBE8BE4869291A759FF8F08 /* PromiseKit.root-CorePromise-Foundation.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "-"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = PromiseKit; - PRODUCT_NAME = "PromiseKit.root-CorePromise-Foundation"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.0; - }; - name = Release; - }; 6532888DD4B4FA3AB86C68A86E46EA3F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E4B7CA27A16C36354B610B52AE86A10D /* CryptoSwift-iOS.xcconfig */; + baseConfigurationReference = E228BA1C68962471174AF53D116026C3 /* CryptoSwift-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3806,7 +3478,7 @@ }; 680029FB47A1EBBABD9AD8A0B3C5229F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7201AB4205DACC1A886D0B4FE0F68E52 /* PromiseKit.xcconfig */; + baseConfigurationReference = DE552F4DC19246DE02459BBEAECE3070 /* PromiseKit.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3832,23 +3504,51 @@ }; name = Release; }; - 6AF2C20B5049A10797F680AB5CA6620B /* Debug */ = { + 6B796AE0DE8CD6CD142647A2318DE8AF /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DF7B01CA7ACC331E63AB800D165E15AF /* Result-macOS.xcconfig */; + baseConfigurationReference = F5928C098D1CFB5B0E1932A24EDA49AF /* secp256k1_ios-macOS.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/Result-macOS/Result-macOS-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = secp256k1_ios; + PRODUCT_NAME = "secp256k1_ios-macOS"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 4.0; + }; + name = Release; + }; + 75E16E6E94E4CDC1DF735E3C84E87DEC /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 64389E571A401AFB1A430A11C7053757 /* SipHash-macOS.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "-"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + EXECUTABLE_PREFIX = lib; + GCC_PREFIX_HEADER = "Target Support Files/SipHash-macOS/SipHash-macOS-prefix.pch"; MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/Result/Result-macOS.modulemap"; + MODULEMAP_FILE = "Headers/Public/SipHash/SipHash-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Result; - PRODUCT_NAME = "Result-macOS"; + PRODUCT_MODULE_NAME = SipHash; + PRODUCT_NAME = "SipHash-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; @@ -3858,24 +3558,24 @@ }; name = Debug; }; - 6E34FCE5A5C4BC5EF28B39656E186C9B /* Debug */ = { + 7F01219BC1BDE1F6107FFFC385406E65 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5E0CF3B2DBBE8BE4869291A759FF8F08 /* PromiseKit.root-CorePromise-Foundation.xcconfig */; + baseConfigurationReference = 2452C598AA33B18F81F1D5FE847DF8C7 /* Result-macOS.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/Result-macOS/Result-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MODULEMAP_FILE = "Headers/Public/Result/Result-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = PromiseKit; - PRODUCT_NAME = "PromiseKit.root-CorePromise-Foundation"; + PRODUCT_MODULE_NAME = Result; + PRODUCT_NAME = "Result-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; @@ -3885,86 +3585,83 @@ }; name = Debug; }; - 76F0F201AF62E5ADB1FB800FA47E6B8B /* Debug */ = { + 83210CA27027B561A7B5E007B06CA4D7 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3C18FE09DB747D4F64CDC4EBF07A6AF0 /* Pods-web3swift-macOS.debug.xcconfig */; + baseConfigurationReference = E3ADB0156604A4FD7CD47B25248088C2 /* Pods-web3swift-iOS_Tests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MODULEMAP_FILE = "Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = macosx; + SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - 78F5E0C529376E6151E878C5660947DE /* Debug */ = { + 8518F8D713080EF1D6A105CF2021EC99 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 02408D11F33503E2122742BBD9381C6D /* SipHash-macOS.xcconfig */; + baseConfigurationReference = B7762E4245191B27674EB7EB82DCFFF1 /* Pods-web3swift-macOS_Tests.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/SipHash-macOS/SipHash-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/SipHash/SipHash-macOS.modulemap"; + MACH_O_TYPE = staticlib; + MACOSX_DEPLOYMENT_TARGET = 10.11; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = SipHash; - PRODUCT_NAME = "SipHash-macOS"; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = macosx; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; }; name = Debug; }; - 7B10ACAF67B67E1F28D1FCCD72356264 /* Release */ = { + 8731B072BDE8EC8403ED1A2CC4D5B6E8 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D78F1D1F6EB23F362E664280AC0B5F29 /* secp256k1_ios-macOS.xcconfig */; + baseConfigurationReference = 342482D0962E817B844EE7E6446AF932 /* PromiseKit.root-CorePromise-Foundation.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch"; MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap"; + MODULEMAP_FILE = "Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = secp256k1_ios; - PRODUCT_NAME = "secp256k1_ios-macOS"; + PRODUCT_MODULE_NAME = PromiseKit; + PRODUCT_NAME = "PromiseKit.root-CorePromise-Foundation"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 4.0; }; name = Release; }; 88B5271640DB2C8BF6FB6CCBE72CC45C /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 098E4539FFEB1EB276A76F56D0829434 /* scrypt-iOS.xcconfig */; + baseConfigurationReference = E0002BF7495DF77615C17C435108BAC4 /* scrypt-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3992,7 +3689,7 @@ }; 89A2F8336294B44F9A1F3E017D12D948 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E962BC8D4DB16BC7DECDA0FA691774E2 /* Result-iOS.xcconfig */; + baseConfigurationReference = 95E6916802B9A0D029D336A91E220830 /* Result-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -4018,53 +3715,56 @@ }; name = Release; }; - 98AF6D85D71B94FF5D6C3CF5082D872B /* Release */ = { + 9CB53DBABB1EF37A4357655D3343BFCA /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 50832FC4B2337F53A6F628D514DA730A /* Pods-web3swift-macOS_Tests.release.xcconfig */; + baseConfigurationReference = 673FFC4D2B959AB8AEC35D646A85CDCD /* Pods-web3swift-iOS.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MODULEMAP_FILE = "Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = macosx; + SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; name = Release; }; - 9CB53DBABB1EF37A4357655D3343BFCA /* Release */ = { + 9F89BA0BDBDA8C292C7AF81AE6E74193 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6D76E01714111860B1A58E945BFEDC3A /* Pods-web3swift-iOS.release.xcconfig */; + baseConfigurationReference = 64389E571A401AFB1A430A11C7053757 /* SipHash-macOS.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.modulemap"; + EXECUTABLE_PREFIX = lib; + GCC_PREFIX_HEADER = "Target Support Files/SipHash-macOS/SipHash-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MODULEMAP_FILE = "Headers/Public/SipHash/SipHash-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = SipHash; + PRODUCT_NAME = "SipHash-macOS"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = macosx; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; + SWIFT_VERSION = 4.0; }; name = Release; }; @@ -4130,7 +3830,7 @@ }; A3E4112FE42CFA94B62FF18D5AB77FFA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 549BC77FB563C5F7078EEF621568360D /* Pods-web3swift-iOS.debug.xcconfig */; + baseConfigurationReference = 042CC2D185140E7D725D22562A3E307F /* Pods-web3swift-iOS.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -4154,7 +3854,7 @@ }; A45B3EF7FBB166F549A4ABEE13B6CE87 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D1C14722F45B3D63B1FB360F6F553FF5 /* BigInt-iOS.xcconfig */; + baseConfigurationReference = EAC47FA975BD89D9C68F3C958A58964C /* BigInt-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -4182,7 +3882,7 @@ }; ADB19600F3034CFC88E8930883A97411 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2FC68718A68C6212B73ECD1E04C03B9E /* SipHash-iOS.xcconfig */; + baseConfigurationReference = FAE5BF28C394D398788317F877E314ED /* SipHash-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -4210,7 +3910,7 @@ }; B126933F20D893DEA9C786FE63964623 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E4B7CA27A16C36354B610B52AE86A10D /* CryptoSwift-iOS.xcconfig */; + baseConfigurationReference = E228BA1C68962471174AF53D116026C3 /* CryptoSwift-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -4236,9 +3936,9 @@ }; name = Release; }; - B8223E088B646E2B7B098BCC550A800B /* Debug */ = { + B3F7C2C3054C9BA9D5FEAF7BBEB5B707 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 838E20D48ECBA3CCA073FF52AA6BD234 /* Pods-web3swift-iOS_Tests.debug.xcconfig */; + baseConfigurationReference = 24B5C2F89100EAE084E4AF83DDE6303D /* Pods-web3swift-iOS_Tests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -4247,102 +3947,132 @@ "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; IPHONEOS_DEPLOYMENT_TARGET = 9.0; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - BFF56DB574CEA1C37D72068D236C8AE5 /* Debug */ = { + BC4BAC6AA94C490A760BEDE9A557D810 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D78F1D1F6EB23F362E664280AC0B5F29 /* secp256k1_ios-macOS.xcconfig */; + baseConfigurationReference = 534009974277EC43330183E1CF3A73A3 /* CryptoSwift-macOS.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MODULEMAP_FILE = "Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = secp256k1_ios; - PRODUCT_NAME = "secp256k1_ios-macOS"; + PRODUCT_MODULE_NAME = CryptoSwift; + PRODUCT_NAME = "CryptoSwift-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.2; }; name = Debug; }; - C1E9B06F9C9510286ABAD0948E4169ED /* Release */ = { + C2EDEB28A4F3FFE3DDA2839B19887003 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B12A75E0FD8B52123CBAE9EEB4A42F3B /* Pods-web3swift-iOS_Tests.release.xcconfig */; + baseConfigurationReference = A5D9B32B104EA0A137D78B89D4D19D40 /* Pods-web3swift-macOS.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + EXECUTABLE_PREFIX = lib; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.modulemap"; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MODULEMAP_FILE = "Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; + SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; }; name = Release; }; - C1FD17244D3DF3AEB632173F2EDF3362 /* Release */ = { + C3C1B7428904A21F8AA26C9489F6C9A4 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DF7B01CA7ACC331E63AB800D165E15AF /* Result-macOS.xcconfig */; + baseConfigurationReference = 30FDF56132F92204ACAD922366ABC434 /* scrypt-macOS.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/Result-macOS/Result-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/Result/Result-macOS.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/scrypt-macOS/scrypt-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MODULEMAP_FILE = "Headers/Public/scrypt/scrypt-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Result; - PRODUCT_NAME = "Result-macOS"; + PRODUCT_MODULE_NAME = scrypt; + PRODUCT_NAME = "scrypt-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 4.1; }; name = Release; }; - D97B6232C64EF4F3E53D87B089AE2444 /* Release */ = { + E460EA6D66EB6907CA9263273F819449 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 342482D0962E817B844EE7E6446AF932 /* PromiseKit.root-CorePromise-Foundation.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "-"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + EXECUTABLE_PREFIX = lib; + GCC_PREFIX_HEADER = "Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = PromiseKit; + PRODUCT_NAME = "PromiseKit.root-CorePromise-Foundation"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; + }; + name = Debug; + }; + ED09B172AB5480532BD924829D65FD5F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2C06CEB32F04CBF303CC2562A16F7241 /* Pods-web3swift-macOS.release.xcconfig */; + baseConfigurationReference = 1C8F00AC871FE0EC2FBD9A40F62753CD /* Pods-web3swift-macOS.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -4358,28 +4088,29 @@ PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = macosx; SKIP_INSTALL = YES; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; - name = Release; + name = Debug; }; - D9AA31D15DB782125A10664AA33B034A /* Release */ = { + F4CD297453714BA949383E8B4EAB4DA3 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 02408D11F33503E2122742BBD9381C6D /* SipHash-macOS.xcconfig */; + baseConfigurationReference = C60F71A13E6B38C36897688C101E2C9C /* BigInt-macOS.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/SipHash-macOS/SipHash-macOS-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/BigInt-macOS/BigInt-macOS-prefix.pch"; MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/SipHash/SipHash-macOS.modulemap"; + MODULEMAP_FILE = "Headers/Public/BigInt/BigInt-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = SipHash; - PRODUCT_NAME = "SipHash-macOS"; + PRODUCT_MODULE_NAME = BigInt; + PRODUCT_NAME = "BigInt-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; @@ -4390,14 +4121,41 @@ }; name = Release; }; + F6220DAE297B6F9A75ACF0DCDBBE507C /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C60F71A13E6B38C36897688C101E2C9C /* BigInt-macOS.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "-"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + EXECUTABLE_PREFIX = lib; + GCC_PREFIX_HEADER = "Target Support Files/BigInt-macOS/BigInt-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MODULEMAP_FILE = "Headers/Public/BigInt/BigInt-macOS.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = BigInt; + PRODUCT_NAME = "BigInt-macOS"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; + }; + name = Debug; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ 249649C0D306826B8AEC43AC3D978C98 /* Build configuration list for PBXNativeTarget "SipHash-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 78F5E0C529376E6151E878C5660947DE /* Debug */, - D9AA31D15DB782125A10664AA33B034A /* Release */, + 75E16E6E94E4CDC1DF735E3C84E87DEC /* Debug */, + 9F89BA0BDBDA8C292C7AF81AE6E74193 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4405,8 +4163,8 @@ 29A07133D1A6CF7B1FA82AE653B63864 /* Build configuration list for PBXNativeTarget "Result-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 6AF2C20B5049A10797F680AB5CA6620B /* Debug */, - C1FD17244D3DF3AEB632173F2EDF3362 /* Release */, + 7F01219BC1BDE1F6107FFFC385406E65 /* Debug */, + 22828402F006586F2011758B9199E3F7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4432,8 +4190,8 @@ 541A64F9C81EF0A1C40F5895519E4172 /* Build configuration list for PBXNativeTarget "Pods-web3swift-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 76F0F201AF62E5ADB1FB800FA47E6B8B /* Debug */, - D97B6232C64EF4F3E53D87B089AE2444 /* Release */, + ED09B172AB5480532BD924829D65FD5F /* Debug */, + C2EDEB28A4F3FFE3DDA2839B19887003 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4441,35 +4199,35 @@ 604E68D68F08C230C85D2D819532C6AF /* Build configuration list for PBXNativeTarget "CryptoSwift-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 35FE90C4321FAFFDC78AB8AAA38B1ABA /* Debug */, - 47384531706EF84966CA26E5D7B959C7 /* Release */, + BC4BAC6AA94C490A760BEDE9A557D810 /* Debug */, + 1F132949D546EF7F3FEDAF289A9CCECF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 6879EDE7D4DD74BDD3333F7F47505BD5 /* Build configuration list for PBXNativeTarget "scrypt-iOS" */ = { + 62550B15363844675EDB2F185CB619A8 /* Build configuration list for PBXNativeTarget "Pods-web3swift-iOS_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 25479A05EC723879F7D0842978AC42B6 /* Debug */, - 88B5271640DB2C8BF6FB6CCBE72CC45C /* Release */, + B3F7C2C3054C9BA9D5FEAF7BBEB5B707 /* Debug */, + 83210CA27027B561A7B5E007B06CA4D7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 6FBBA029AFB86EC5F02D2B578121B307 /* Build configuration list for PBXNativeTarget "CryptoSwift-iOS" */ = { + 6879EDE7D4DD74BDD3333F7F47505BD5 /* Build configuration list for PBXNativeTarget "scrypt-iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 6532888DD4B4FA3AB86C68A86E46EA3F /* Debug */, - B126933F20D893DEA9C786FE63964623 /* Release */, + 25479A05EC723879F7D0842978AC42B6 /* Debug */, + 88B5271640DB2C8BF6FB6CCBE72CC45C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 7C6361B9759E1BA4AD88E9A851A42894 /* Build configuration list for PBXNativeTarget "Pods-web3swift-macOS_Tests" */ = { + 6FBBA029AFB86EC5F02D2B578121B307 /* Build configuration list for PBXNativeTarget "CryptoSwift-iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 18E24F416DE781FAB553C6A7E3F3C1EF /* Debug */, - 98AF6D85D71B94FF5D6C3CF5082D872B /* Release */, + 6532888DD4B4FA3AB86C68A86E46EA3F /* Debug */, + B126933F20D893DEA9C786FE63964623 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4504,17 +4262,17 @@ 90AA254D9E86CD85BB781ED544A9AD4D /* Build configuration list for PBXNativeTarget "PromiseKit.root-CorePromise-Foundation" */ = { isa = XCConfigurationList; buildConfigurations = ( - 6E34FCE5A5C4BC5EF28B39656E186C9B /* Debug */, - 612B5902FE5E832A73EDB161E1AAC30C /* Release */, + E460EA6D66EB6907CA9263273F819449 /* Debug */, + 8731B072BDE8EC8403ED1A2CC4D5B6E8 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 9147D93E20526E57F1BB313A953B43D1 /* Build configuration list for PBXNativeTarget "Pods-web3swift-iOS_Tests" */ = { + 91E81CC04B48CAA0AA6D1FB891F14331 /* Build configuration list for PBXNativeTarget "Pods-web3swift-macOS_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - B8223E088B646E2B7B098BCC550A800B /* Debug */, - C1E9B06F9C9510286ABAD0948E4169ED /* Release */, + 8518F8D713080EF1D6A105CF2021EC99 /* Debug */, + 4CA9B35348640CA3DA1AAB6A01AB2BE4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4522,8 +4280,8 @@ A1A3D7F09A5AFD2BD4DA3D3CDACBBCFC /* Build configuration list for PBXNativeTarget "BigInt-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 5BD49BF86CA4E1A90D03BA1E96ADB13B /* Debug */, - 3FC11F99C63AE0234062EDB05FC05F05 /* Release */, + F6220DAE297B6F9A75ACF0DCDBBE507C /* Debug */, + F4CD297453714BA949383E8B4EAB4DA3 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4531,8 +4289,8 @@ A262B3F49AC1A14340997F3AF65BDBA1 /* Build configuration list for PBXNativeTarget "secp256k1_ios-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - BFF56DB574CEA1C37D72068D236C8AE5 /* Debug */, - 7B10ACAF67B67E1F28D1FCCD72356264 /* Release */, + 560816912205F95947EE5A51E4D1D47B /* Debug */, + 6B796AE0DE8CD6CD142647A2318DE8AF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4549,8 +4307,8 @@ F6D85B2AD38EF6575756FBE3C41AB015 /* Build configuration list for PBXNativeTarget "scrypt-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 44EA677F9CA122DFC44F54EA53936998 /* Debug */, - 5E6A8C563219ECE58D56F1197D8A3920 /* Release */, + 3DBEFAA40421868F6F66B16ACEFE5910 /* Debug */, + C3C1B7428904A21F8AA26C9489F6C9A4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Pods/Target Support Files/BigInt-iOS/BigInt-iOS.xcconfig b/Pods/Target Support Files/BigInt-iOS/BigInt-iOS.xcconfig index a4f59a42b..e0dbc8dd1 100644 --- a/Pods/Target Support Files/BigInt-iOS/BigInt-iOS.xcconfig +++ b/Pods/Target Support Files/BigInt-iOS/BigInt-iOS.xcconfig @@ -1,8 +1,7 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/BigInt-macOS/BigInt-macOS.xcconfig b/Pods/Target Support Files/BigInt-macOS/BigInt-macOS.xcconfig index 9c380b72f..d943bc66b 100644 --- a/Pods/Target Support Files/BigInt-macOS/BigInt-macOS.xcconfig +++ b/Pods/Target Support Files/BigInt-macOS/BigInt-macOS.xcconfig @@ -1,8 +1,7 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS.xcconfig b/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS.xcconfig index 457ce5a30..b97f0dccb 100644 --- a/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS.xcconfig +++ b/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS.xcconfig @@ -1,7 +1,7 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_UNROLL_LOOPS = YES -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS.xcconfig b/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS.xcconfig index 8f6da58dd..5432418cb 100644 --- a/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS.xcconfig +++ b/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS.xcconfig @@ -1,7 +1,7 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_UNROLL_LOOPS = YES -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.plist b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.plist index 10045e5ae..7c82be473 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.plist @@ -1,221 +1,5 @@ - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - -Copyright (c) 2016-2017 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - BigInt - Type - PSGroupSpecifier - - - FooterText - Copyright (C) 2014-2017 Marcin Krzyżanowski <marcin.krzyzanowski@gmail.com> -This software is provided 'as-is', without any express or implied warranty. - -In no event will the authors be held liable for any damages arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - -- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. -- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. -- This notice may not be removed or altered from any source or binary distribution. -- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' - License - Attribution - Title - CryptoSwift - Type - PSGroupSpecifier - - - FooterText - Copyright 2016-present, Max Howell; mxcl@me.com - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - License - MIT - Title - PromiseKit - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2014 Rob Rix - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - License - MIT - Title - Result - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2016 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - SipHash - Type - PSGroupSpecifier - - - FooterText - Copyright 2018 Alex Vlasov <alex.m.vlasov@gmail.com> - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - - License - Apache License 2.0 - Title - scrypt - Type - PSGroupSpecifier - - - FooterText - Copyright (c) 2017 shamatar <alex.m.vlasov@gmail.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - License - MIT - Title - secp256k1_ios - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - + diff --git a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.debug.xcconfig b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.debug.xcconfig index 658b6fe86..c3ad3f72e 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.debug.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.debug.xcconfig @@ -3,9 +3,9 @@ HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/H LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-iOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt-iOS" -l"CryptoSwift-iOS" -l"PromiseKit" -l"Result-iOS" -l"SipHash-iOS" -l"scrypt-iOS" -l"secp256k1_ios-iOS" -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" $(inherited) "-D" "COCOAPODS" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" $(PODS_TARGET_SRCROOT)/scrypt diff --git a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.release.xcconfig b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.release.xcconfig index 658b6fe86..c3ad3f72e 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.release.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.release.xcconfig @@ -3,9 +3,9 @@ HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/H LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-iOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt-iOS" -l"CryptoSwift-iOS" -l"PromiseKit" -l"Result-iOS" -l"SipHash-iOS" -l"scrypt-iOS" -l"secp256k1_ios-iOS" -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" $(inherited) "-D" "COCOAPODS" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" $(PODS_TARGET_SRCROOT)/scrypt diff --git a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.markdown b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.markdown index 6d12f7235..102af7538 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.markdown +++ b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.markdown @@ -1,153 +1,3 @@ # Acknowledgements This application makes use of the following third party libraries: - -## BigInt - - -Copyright (c) 2016-2017 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -## CryptoSwift - -Copyright (C) 2014-2017 Marcin Krzyżanowski -This software is provided 'as-is', without any express or implied warranty. - -In no event will the authors be held liable for any damages arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - -- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. -- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. -- This notice may not be removed or altered from any source or binary distribution. -- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' - -## PromiseKit - -Copyright 2016-present, Max Howell; mxcl@me.com - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -## Result - -The MIT License (MIT) - -Copyright (c) 2014 Rob Rix - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -## SipHash - -The MIT License (MIT) - -Copyright (c) 2016 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -## scrypt - -Copyright 2018 Alex Vlasov - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - - -## secp256k1_ios - -Copyright (c) 2017 shamatar - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. Generated by CocoaPods - https://cocoapods.org diff --git a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.plist b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.plist index 10045e5ae..7c82be473 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.plist @@ -1,221 +1,5 @@ - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - -Copyright (c) 2016-2017 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - BigInt - Type - PSGroupSpecifier - - - FooterText - Copyright (C) 2014-2017 Marcin Krzyżanowski <marcin.krzyzanowski@gmail.com> -This software is provided 'as-is', without any express or implied warranty. - -In no event will the authors be held liable for any damages arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - -- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. -- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. -- This notice may not be removed or altered from any source or binary distribution. -- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' - License - Attribution - Title - CryptoSwift - Type - PSGroupSpecifier - - - FooterText - Copyright 2016-present, Max Howell; mxcl@me.com - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - License - MIT - Title - PromiseKit - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2014 Rob Rix - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - License - MIT - Title - Result - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2016 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - SipHash - Type - PSGroupSpecifier - - - FooterText - Copyright 2018 Alex Vlasov <alex.m.vlasov@gmail.com> - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - - License - Apache License 2.0 - Title - scrypt - Type - PSGroupSpecifier - - - FooterText - Copyright (c) 2017 shamatar <alex.m.vlasov@gmail.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - License - MIT - Title - secp256k1_ios - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - + diff --git a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.debug.xcconfig b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.debug.xcconfig index 27192f4f3..5499ba4f6 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.debug.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.debug.xcconfig @@ -1,12 +1,10 @@ -ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-iOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" OTHER_LDFLAGS = $(inherited) -ObjC -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" $(inherited) "-D" "COCOAPODS" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" diff --git a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.release.xcconfig b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.release.xcconfig index 27192f4f3..5499ba4f6 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.release.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.release.xcconfig @@ -1,12 +1,10 @@ -ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-iOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" OTHER_LDFLAGS = $(inherited) -ObjC -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" $(inherited) "-D" "COCOAPODS" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" diff --git a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.plist b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.plist index 10045e5ae..7c82be473 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.plist @@ -1,221 +1,5 @@ - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - -Copyright (c) 2016-2017 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - BigInt - Type - PSGroupSpecifier - - - FooterText - Copyright (C) 2014-2017 Marcin Krzyżanowski <marcin.krzyzanowski@gmail.com> -This software is provided 'as-is', without any express or implied warranty. - -In no event will the authors be held liable for any damages arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - -- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. -- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. -- This notice may not be removed or altered from any source or binary distribution. -- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' - License - Attribution - Title - CryptoSwift - Type - PSGroupSpecifier - - - FooterText - Copyright 2016-present, Max Howell; mxcl@me.com - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - License - MIT - Title - PromiseKit - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2014 Rob Rix - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - License - MIT - Title - Result - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2016 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - SipHash - Type - PSGroupSpecifier - - - FooterText - Copyright 2018 Alex Vlasov <alex.m.vlasov@gmail.com> - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - - License - Apache License 2.0 - Title - scrypt - Type - PSGroupSpecifier - - - FooterText - Copyright (c) 2017 shamatar <alex.m.vlasov@gmail.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - License - MIT - Title - secp256k1_ios - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - + diff --git a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.debug.xcconfig b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.debug.xcconfig index 5c03c427d..bbf72833e 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.debug.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.debug.xcconfig @@ -3,9 +3,9 @@ HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/H LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-macOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt-macOS" -l"CryptoSwift-macOS" -l"PromiseKit.root-CorePromise-Foundation" -l"Result-macOS" -l"SipHash-macOS" -l"scrypt-macOS" -l"secp256k1_ios-macOS" -framework "Foundation" -OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" $(inherited) "-D" "COCOAPODS" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" $(PODS_TARGET_SRCROOT)/scrypt diff --git a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.release.xcconfig b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.release.xcconfig index 5c03c427d..bbf72833e 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.release.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.release.xcconfig @@ -3,9 +3,9 @@ HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/H LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-macOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt-macOS" -l"CryptoSwift-macOS" -l"PromiseKit.root-CorePromise-Foundation" -l"Result-macOS" -l"SipHash-macOS" -l"scrypt-macOS" -l"secp256k1_ios-macOS" -framework "Foundation" -OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" $(inherited) "-D" "COCOAPODS" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" $(PODS_TARGET_SRCROOT)/scrypt diff --git a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.markdown b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.markdown index 6d12f7235..102af7538 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.markdown +++ b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.markdown @@ -1,153 +1,3 @@ # Acknowledgements This application makes use of the following third party libraries: - -## BigInt - - -Copyright (c) 2016-2017 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -## CryptoSwift - -Copyright (C) 2014-2017 Marcin Krzyżanowski -This software is provided 'as-is', without any express or implied warranty. - -In no event will the authors be held liable for any damages arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - -- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. -- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. -- This notice may not be removed or altered from any source or binary distribution. -- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' - -## PromiseKit - -Copyright 2016-present, Max Howell; mxcl@me.com - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -## Result - -The MIT License (MIT) - -Copyright (c) 2014 Rob Rix - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -## SipHash - -The MIT License (MIT) - -Copyright (c) 2016 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -## scrypt - -Copyright 2018 Alex Vlasov - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - - -## secp256k1_ios - -Copyright (c) 2017 shamatar - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. Generated by CocoaPods - https://cocoapods.org diff --git a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.plist b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.plist index 10045e5ae..7c82be473 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.plist @@ -1,221 +1,5 @@ - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - -Copyright (c) 2016-2017 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - BigInt - Type - PSGroupSpecifier - - - FooterText - Copyright (C) 2014-2017 Marcin Krzyżanowski <marcin.krzyzanowski@gmail.com> -This software is provided 'as-is', without any express or implied warranty. - -In no event will the authors be held liable for any damages arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - -- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. -- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. -- This notice may not be removed or altered from any source or binary distribution. -- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' - License - Attribution - Title - CryptoSwift - Type - PSGroupSpecifier - - - FooterText - Copyright 2016-present, Max Howell; mxcl@me.com - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - License - MIT - Title - PromiseKit - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2014 Rob Rix - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - License - MIT - Title - Result - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2016 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - SipHash - Type - PSGroupSpecifier - - - FooterText - Copyright 2018 Alex Vlasov <alex.m.vlasov@gmail.com> - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - - License - Apache License 2.0 - Title - scrypt - Type - PSGroupSpecifier - - - FooterText - Copyright (c) 2017 shamatar <alex.m.vlasov@gmail.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - License - MIT - Title - secp256k1_ios - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - + diff --git a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.debug.xcconfig b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.debug.xcconfig index 48fd940ca..30b773007 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.debug.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.debug.xcconfig @@ -1,12 +1,10 @@ -ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-macOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" OTHER_LDFLAGS = $(inherited) -ObjC -framework "Foundation" -OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" $(inherited) "-D" "COCOAPODS" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" diff --git a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.release.xcconfig b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.release.xcconfig index 48fd940ca..30b773007 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.release.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.release.xcconfig @@ -1,12 +1,10 @@ -ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-macOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" OTHER_LDFLAGS = $(inherited) -ObjC -framework "Foundation" -OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" $(inherited) "-D" "COCOAPODS" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" diff --git a/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.xcconfig b/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.xcconfig index ab6043e58..cc61a17f5 100644 --- a/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.xcconfig +++ b/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.xcconfig @@ -1,8 +1,7 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/PromiseKit" "${PODS_ROOT}/Headers/Public" -OTHER_LDFLAGS = -framework "Foundation" -OTHER_SWIFT_FLAGS = $(inherited) -DPMKCocoaPods $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" -DPMKCocoaPods PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig b/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig index b5a065a40..a385c9355 100644 --- a/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig +++ b/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig @@ -1,8 +1,7 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/PromiseKit" "${PODS_ROOT}/Headers/Public" -OTHER_LDFLAGS = -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -DPMKCocoaPods $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" -DPMKCocoaPods PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/Result-iOS/Result-iOS.xcconfig b/Pods/Target Support Files/Result-iOS/Result-iOS.xcconfig index 6c599b44f..7145d7ce4 100644 --- a/Pods/Target Support Files/Result-iOS/Result-iOS.xcconfig +++ b/Pods/Target Support Files/Result-iOS/Result-iOS.xcconfig @@ -1,6 +1,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/Result-macOS/Result-macOS.xcconfig b/Pods/Target Support Files/Result-macOS/Result-macOS.xcconfig index c096cab38..351b2e81b 100644 --- a/Pods/Target Support Files/Result-macOS/Result-macOS.xcconfig +++ b/Pods/Target Support Files/Result-macOS/Result-macOS.xcconfig @@ -1,6 +1,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/SipHash-iOS/SipHash-iOS.xcconfig b/Pods/Target Support Files/SipHash-iOS/SipHash-iOS.xcconfig index 9be0ed1e8..2f73e675b 100644 --- a/Pods/Target Support Files/SipHash-iOS/SipHash-iOS.xcconfig +++ b/Pods/Target Support Files/SipHash-iOS/SipHash-iOS.xcconfig @@ -1,6 +1,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/SipHash-macOS/SipHash-macOS.xcconfig b/Pods/Target Support Files/SipHash-macOS/SipHash-macOS.xcconfig index 5b24b85bc..6e6389570 100644 --- a/Pods/Target Support Files/SipHash-macOS/SipHash-macOS.xcconfig +++ b/Pods/Target Support Files/SipHash-macOS/SipHash-macOS.xcconfig @@ -1,6 +1,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Pods/Target Support Files/scrypt-iOS/scrypt-iOS.xcconfig b/Pods/Target Support Files/scrypt-iOS/scrypt-iOS.xcconfig index 2b672fb1c..3fc6d9e54 100644 --- a/Pods/Target Support Files/scrypt-iOS/scrypt-iOS.xcconfig +++ b/Pods/Target Support Files/scrypt-iOS/scrypt-iOS.xcconfig @@ -3,9 +3,8 @@ DEFINES_MODULE = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_UNROLL_LOOPS = YES HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/scrypt" "${PODS_ROOT}/Headers/Public" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} @@ -15,6 +14,6 @@ SKIP_INSTALL = YES SWIFT_COMPILATION_MODE = wholemodule SWIFT_DISABLE_SAFETY_CHECKS = YES SWIFT_ENFORCE_EXCLUSIVE_ACCESS = compile-time -SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" $(PODS_TARGET_SRCROOT)/scrypt SWIFT_OPTIMIZATION_LEVEL = -O SWIFT_WHOLE_MODULE_OPTIMIZATION = YES diff --git a/Pods/Target Support Files/scrypt-macOS/scrypt-macOS.xcconfig b/Pods/Target Support Files/scrypt-macOS/scrypt-macOS.xcconfig index fa117ea0d..36188d342 100644 --- a/Pods/Target Support Files/scrypt-macOS/scrypt-macOS.xcconfig +++ b/Pods/Target Support Files/scrypt-macOS/scrypt-macOS.xcconfig @@ -3,9 +3,8 @@ DEFINES_MODULE = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_UNROLL_LOOPS = YES HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/scrypt" "${PODS_ROOT}/Headers/Public" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} @@ -15,6 +14,6 @@ SKIP_INSTALL = YES SWIFT_COMPILATION_MODE = wholemodule SWIFT_DISABLE_SAFETY_CHECKS = YES SWIFT_ENFORCE_EXCLUSIVE_ACCESS = compile-time -SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" $(PODS_TARGET_SRCROOT)/scrypt SWIFT_OPTIMIZATION_LEVEL = -O SWIFT_WHOLE_MODULE_OPTIMIZATION = YES diff --git a/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.xcconfig b/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.xcconfig index b135d4457..b6ddadd3f 100644 --- a/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.xcconfig +++ b/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.xcconfig @@ -1,12 +1,11 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-iOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/secp256k1_ios" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/secp256k1_ios/secp256k1_ios" -OTHER_CFLAGS = $(inherited) -DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3 -OTHER_SWIFT_FLAGS = $(inherited) -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_CFLAGS = -DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3 PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/secp256k1_ios PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = $(inherited) ${PODS_ROOT} +SWIFT_INCLUDE_PATHS = ${PODS_ROOT} diff --git a/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig b/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig index dfd2aa2f4..2a7be75cc 100644 --- a/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig +++ b/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig @@ -1,12 +1,11 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-macOS GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/secp256k1_ios" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/secp256k1_ios/secp256k1_ios" -OTHER_CFLAGS = $(inherited) -DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3 -OTHER_SWIFT_FLAGS = $(inherited) -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_CFLAGS = -DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3 PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/secp256k1_ios PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = $(inherited) ${PODS_ROOT} +SWIFT_INCLUDE_PATHS = ${PODS_ROOT} From 528e3a583b047a4ca0fadb75efaae9d04e725c2d Mon Sep 17 00:00:00 2001 From: Georgii Fesenko Date: Tue, 25 Sep 2018 11:19:12 +0300 Subject: [PATCH 11/66] more methods for ENS interaction added --- web3swift/Utils/Classes/ENS.swift | 212 +++++----- web3swift/Utils/Classes/ENSResolver.swift | 84 ++-- web3swift/Web3/Classes/Web3+Utils.swift | 450 +++++++++++++++++++++- web3swiftTests/web3swift_ENS_Tests.swift | 16 +- 4 files changed, 606 insertions(+), 156 deletions(-) diff --git a/web3swift/Utils/Classes/ENS.swift b/web3swift/Utils/Classes/ENS.swift index 37803006f..7ed3ded79 100644 --- a/web3swift/Utils/Classes/ENS.swift +++ b/web3swift/Utils/Classes/ENS.swift @@ -36,6 +36,110 @@ public struct ENS { return Web3Options.defaultOptions() }() + //MARK: - Convenience methods + public mutating func getAddress(_ domain: String) -> Result { + let resolver = self.resolver(forDomain: domain) + switch resolver { + case .success(var resolver): + let isAddrSupports = resolver.supportsInterface(interfaceID: ResolverENS.InterfaceName.addr.hash()) + switch isAddrSupports{ + case .success(let isSupported): + if isSupported { + return resolver.addr(forDomain: domain) + } else { + return Result.failure(Web3Error.dataError) + } + case .failure(let error): + return Result.failure(error) + } + case .failure(let error): + return Result.failure(error) + } + } + + + public mutating func setAddress(domain: String, address: EthereumAddress, options: Web3Options, password: String? = nil) -> Result{ + let resolver = self.resolver(forDomain: domain) + switch resolver { + case .success(var resolver): + let isSetAddrSupported = resolver.supportsInterface(interfaceID: ResolverENS.InterfaceName.addr.hash()) + switch isSetAddrSupported { + case .success(let value): + if value { + return resolver.setAddr(node: domain, address: address, options: options, password: password) + } else { + return Result.failure(Web3Error.dataError) + } + case .failure(let error): + return Result.failure(error) + } + case .failure(let error): + return Result.failure(error) + } + } + + public mutating func getPubkey(domain: String) -> Result { + let resolver = self.resolver(forDomain: domain) + switch resolver { + case .success(var resolver): + let isPubkeySupports = resolver.supportsInterface(interfaceID: ResolverENS.InterfaceName.pubkey.hash()) + switch isPubkeySupports { + case .success(let value): + if value { + return resolver.pubkey(node: domain) + } else { + return Result.failure(Web3Error.dataError) + } + case .failure(let error): + return Result.failure(error) + } + + case .failure(let error): + return Result.failure(error) + } + } + + mutating public func setPubkey(domain: String, x: String, y: String, options: Web3Options, password: String? = nil) -> Result { + let resolver = self.resolver(forDomain: domain) + switch resolver { + case .success(var value): + return value.setPubkey(node: domain, x: x, y: y, options: options, password: password) + case .failure(let error): + return Result.failure(error) + } + } + + mutating public func getContent(domain: String) -> Result { + let resolver = self.resolver(forDomain: domain) + switch resolver { + case .success(var value): + return value.content(node: domain) + case .failure(let error): + return Result.failure(error) + } + } + + public mutating func setContent(domain: String, hash: String, options: Web3Options, password: String? = nil) -> Result { + let resolver = self.resolver(forDomain: domain) + switch resolver { + case .success(var value): + return value.setContent(node: domain, hash: hash, options: options, password: password) + case .failure(let error): + return Result.failure(error) + } + } + + + public mutating func getMultihash(domain: String) -> Result { + let resolver = self.resolver(forDomain: domain) + switch resolver { + case .success(var value): + return value.multihash(node: domain) + case .failure(let error): + return Result.failure(error) + } + } + //MARK: - Returns resolver for the given domain mutating func resolver(forDomain domain: String) -> Result { @@ -97,7 +201,8 @@ public struct ENS { mutating func setSubnodeOwner(node: String, label: String, owner: EthereumAddress, options: Web3Options, password: String? = nil) -> Result { let options = getOptions(options) guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } - guard let transaction = self.registryContract.method("setSubnodeOwner", parameters: [nameHash, label, owner] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError)} + guard let labelHash = NameHash.nameHash(label) else { return Result.failure(Web3Error.dataError) } + guard let transaction = self.registryContract.method("setSubnodeOwner", parameters: [nameHash, labelHash, owner] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError)} let result = password == nil ? transaction.send() : transaction.send(password: password!, options: options) switch result { case .success(let value): @@ -136,111 +241,6 @@ public struct ENS { } } - //MARK: - Convenience methods - - - public mutating func getAddress(_ domain: String) -> Result { - let resolver = self.resolver(forDomain: domain) - switch resolver { - case .success(var resolver): - let isAddrSupports = resolver.supportsInterface(interfaceID: ResolverENS.InterfaceName.addr.hash()) - switch isAddrSupports{ - case .success(let isSupported): - if isSupported { - return resolver.addr(forDomain: domain) - } else { - return Result.failure(Web3Error.dataError) - } - case .failure(let error): - return Result.failure(error) - } - case .failure(let error): - return Result.failure(error) - } - } - - - public mutating func setAddress(domain: String, address: EthereumAddress, options: Web3Options, password: String? = nil) -> Result{ - let resolver = self.resolver(forDomain: domain) - switch resolver { - case .success(var resolver): - let isSetAddrSupported = resolver.supportsInterface(interfaceID: ResolverENS.InterfaceName.setAddr.hash()) - switch isSetAddrSupported { - case .success(let value): - if value { - return resolver.setAddr(node: domain, address: address, options: options, password: password) - } else { - return Result.failure(Web3Error.dataError) - } - case .failure(let error): - return Result.failure(error) - } - case .failure(let error): - return Result.failure(error) - } - } - - public mutating func getPubkey(domain: String) -> Result { - let resolver = self.resolver(forDomain: domain) - switch resolver { - case .success(var resolver): - let isPubkeySupports = resolver.supportsInterface(interfaceID: ResolverENS.InterfaceName.pubkey.hash()) - switch isPubkeySupports { - case .success(let value): - if value { - return resolver.pubkey(node: domain) - } else { - return Result.failure(Web3Error.dataError) - } - case .failure(let error): - return Result.failure(error) - } - - case .failure(let error): - return Result.failure(error) - } - } - - mutating public func setPubkey(domain: String, x: String, y: String, options: Web3Options, password: String? = nil) -> Result { - let resolver = self.resolver(forDomain: domain) - switch resolver { - case .success(var value): - return value.setPubkey(node: domain, x: x, y: y, options: options, password: password) - case .failure(let error): - return Result.failure(error) - } - } - - mutating public func getContent(domain: String) -> Result { - let resolver = self.resolver(forDomain: domain) - switch resolver { - case .success(var value): - return value.content(node: domain) - case .failure(let error): - return Result.failure(error) - } - } - - - mutating public func setContent(domain: String, hash: String, options: Web3Options, password: String? = nil) -> Result { - let resolver = self.resolver(forDomain: domain) - switch resolver { - case .success(var value): - return value.setContent(node: domain, hash: hash, options: options, password: password) - case .failure(let error): - return Result.failure(error) - } - } - - /* - TODO: - */ - -// -// public func getMultihash(domain: String) -> String { -// -// } - private func getOptions(_ options: Web3Options) -> Web3Options { var options = options options.to = self.ensContractAddress diff --git a/web3swift/Utils/Classes/ENSResolver.swift b/web3swift/Utils/Classes/ENSResolver.swift index 7d8db69f0..18b4af41b 100644 --- a/web3swift/Utils/Classes/ENSResolver.swift +++ b/web3swift/Utils/Classes/ENSResolver.swift @@ -19,8 +19,9 @@ public struct ResolverENS { case name case ABI case pubkey - case setAddr case content + case multihash + case text func hash() -> String { switch self { @@ -34,8 +35,10 @@ public struct ResolverENS { return "0xc8690233" case .content: return "0xd8389dc5" - case .setAddr: - return "0x01ffc9a7" + case .multihash: + return "0xe89401a1" + case .text: + return "0x59d1d43c" } } } @@ -91,12 +94,7 @@ public struct ResolverENS { guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError)} guard let transaction = self.resolverContract.method("setAddr", parameters: [nameHash, address] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } let result = password == nil ? transaction.send() : transaction.send(password: password!, options: options) - switch result { - case .failure(let error): - return Result.failure(error) - case .success(let value): - return Result(value) - } + return result } //MARK: - returns corresponding ENS to the requested node @@ -117,12 +115,7 @@ public struct ResolverENS { guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } guard let transaction = self.resolverContract.method("setName", parameters: [nameHash, name] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } let result = password == nil ? transaction.send() : transaction.send(password: password!, options: options) - switch result { - case .success(let value): - return Result(value) - case .failure(let error): - return Result.failure(error) - } + return result } //MARK: - returns ABI in the requested encodings @@ -145,16 +138,11 @@ public struct ResolverENS { guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } guard let transaction = self.resolverContract.method("setABI", parameters: [nameHash, contentType, data] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } let result = password == nil ? transaction.send() : transaction.send(password: password!, options: options) - switch result { - case .success(let value): - return Result(value) - case .failure(let error): - return Result.failure(error) - } + return result } //MARK: - returns x and y coordinates - mutating public func pubkey(node: String) -> Result { + mutating public func pubkey(node: String) -> Result { guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } guard let transaction = self.resolverContract.method("pubkey", parameters: [nameHash as AnyObject], options: defaultOptions) else { return Result.failure(Web3Error.transactionSerializationError) } let result = transaction.call(options: defaultOptions) @@ -163,7 +151,7 @@ public struct ResolverENS { print(value) guard let x = value["x"] as? Data else { return Result.failure(Web3Error.dataError) } guard let y = value["y"] as? Data else { return Result.failure(Web3Error.dataError) } - return Result(Point(x: "0x" + x.toHexString(), y: "0x" + y.toHexString())) + return Result(PublicKey(x: "0x" + x.toHexString(), y: "0x" + y.toHexString())) case .failure(let error): return Result.failure(error) } @@ -174,12 +162,7 @@ public struct ResolverENS { guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } guard let transaction = self.resolverContract.method("getPubkey", parameters: [nameHash, x, y] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } let result = password == nil ? transaction.send() : transaction.send(password: password!, options: options) - switch result { - case .success(let value): - return Result(value) - case .failure(let error): - return Result.failure(error) - } + return result } mutating func content(node: String) -> Result { @@ -195,19 +178,54 @@ public struct ResolverENS { } } - mutating func setContent(node: String, hash: String, options: Web3Options, password: String? = nil) -> Result{ + mutating func setContent(node: String, hash: String, options: Web3Options, password: String? = nil) -> Result { let options = getOptions(options) guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } guard let transaction = self.resolverContract.method("setContent", parameters: [nameHash, hash] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } let result = password == nil ? transaction.send() : transaction.send(password: password!, options: options) + return result + } + //function multihash(bytes32 node) public view returns (bytes) + mutating public func multihash(node: String) -> Result { + guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.transactionSerializationError) } + guard let transaction = self.resolverContract.method("multihash", parameters: [nameHash] as [AnyObject], options: self.defaultOptions) else { return Result.failure(Web3Error.dataError) } + let result = transaction.call(options: defaultOptions) switch result { case .success(let value): - return Result(value) + guard let hash = value["0"] as? Data else { return Result.failure(Web3Error.dataError) } + return Result(hash) case .failure(let error): return Result.failure(error) } } - + //function setMultihash(bytes32 node, bytes hash) public only_owner(node) + mutating public func setMultihash(node: String, hash: Data, options: Web3Options, password: String? = nil) -> Result { + guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.transactionSerializationError) } + let options = getOptions(options) + guard let transaction = self.resolverContract.method("setMultihash", parameters: [nameHash, hash] as [AnyObject], options: options) else { return Result.failure(Web3Error.dataError) } + let result = password == nil ? transaction.send() : transaction.send(password: password!, options: options) + return result + } + //function text(bytes32 node, string key) public view returns (string) + mutating public func text(node: String, key: String) -> Result { + guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } + guard let transaction = self.resolverContract.method("text", parameters: [nameHash, key] as [AnyObject], options: defaultOptions) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = transaction.call(options: defaultOptions) + switch result { + case .failure(let error): + return Result.failure(error) + case .success(let value): + guard let ans = value["0"] as? String else { return Result.failure(Web3Error.dataError) } + return Result(ans) + } + } + //function setText(bytes32 node, string key, string value) public only_owner(node) + mutating public func setText(node: String, key: String, value: String, options: Web3Options, password: String? = nil) -> Result { + guard let nameHash = NameHash.nameHash(node) else { return Result.failure(Web3Error.dataError) } + guard let transaction = self.resolverContract.method("setText", parameters: [nameHash, key, value] as [AnyObject], options: options) else { return Result.failure(Web3Error.transactionSerializationError) } + let result = password == nil ? transaction.send() : transaction.send(password: password!, options: options) + return result + } private func getOptions(_ options: Web3Options) -> Web3Options { var options = options options.to = self.resolverAddress @@ -215,7 +233,7 @@ public struct ResolverENS { } } -public struct Point { +public struct PublicKey { let x: String let y: String } diff --git a/web3swift/Web3/Classes/Web3+Utils.swift b/web3swift/Web3/Classes/Web3+Utils.swift index 69c89fd3d..00d976651 100755 --- a/web3swift/Web3/Classes/Web3+Utils.swift +++ b/web3swift/Web3/Classes/Web3+Utils.swift @@ -78,8 +78,454 @@ extension Web3.Utils { //function setAddr(bytes32 node, address addr) public static var resolverABI = """ -[{"constant":true,"inputs":[{"name":"interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"},{"name":"contentTypes","type":"uint256"}],"name":"ABI","outputs":[{"name":"contentType","type":"uint256"},{"name":"data","type":"bytes"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"node","type":"bytes32"},{"name":"x","type":"bytes32"},{"name":"y","type":"bytes32"}],"name":"setPubkey","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"content","outputs":[{"name":"ret","type":"bytes32"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"addr","outputs":[{"name":"ret","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"node","type":"bytes32"},{"name":"contentType","type":"uint256"},{"name":"data","type":"bytes"}],"name":"setABI","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"name","outputs":[{"name":"ret","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"node","type":"bytes32"},{"name":"name","type":"string"}],"name":"setName","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"node","type":"bytes32"},{"name":"hash","type":"bytes32"}],"name":"setContent","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"node","type":"bytes32"}],"name":"pubkey","outputs":[{"name":"x","type":"bytes32"},{"name":"y","type":"bytes32"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"node","type":"bytes32"},{"name":"addr","type":"address"}],"name":"setAddr","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"ensAddr","type":"address"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"node","type":"bytes32"},{"indexed":false,"name":"a","type":"address"}],"name":"AddrChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"node","type":"bytes32"},{"indexed":false,"name":"hash","type":"bytes32"}],"name":"ContentChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"node","type":"bytes32"},{"indexed":false,"name":"name","type":"string"}],"name":"NameChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"node","type":"bytes32"},{"indexed":true,"name":"contentType","type":"uint256"}],"name":"ABIChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"node","type":"bytes32"},{"indexed":false,"name":"x","type":"bytes32"},{"indexed":false,"name":"y","type":"bytes32"}],"name":"PubkeyChanged","type":"event"}] - +[ + { + "constant": true, + "inputs": [ + { + "name": "interfaceID", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "node", + "type": "bytes32" + }, + { + "name": "key", + "type": "string" + }, + { + "name": "value", + "type": "string" + } + ], + "name": "setText", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "node", + "type": "bytes32" + }, + { + "name": "contentTypes", + "type": "uint256" + } + ], + "name": "ABI", + "outputs": [ + { + "name": "contentType", + "type": "uint256" + }, + { + "name": "data", + "type": "bytes" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "node", + "type": "bytes32" + }, + { + "name": "x", + "type": "bytes32" + }, + { + "name": "y", + "type": "bytes32" + } + ], + "name": "setPubkey", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "node", + "type": "bytes32" + } + ], + "name": "content", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "node", + "type": "bytes32" + } + ], + "name": "addr", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "node", + "type": "bytes32" + }, + { + "name": "key", + "type": "string" + } + ], + "name": "text", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "node", + "type": "bytes32" + }, + { + "name": "contentType", + "type": "uint256" + }, + { + "name": "data", + "type": "bytes" + } + ], + "name": "setABI", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "node", + "type": "bytes32" + } + ], + "name": "name", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "node", + "type": "bytes32" + }, + { + "name": "name", + "type": "string" + } + ], + "name": "setName", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "node", + "type": "bytes32" + }, + { + "name": "hash", + "type": "bytes" + } + ], + "name": "setMultihash", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "node", + "type": "bytes32" + }, + { + "name": "hash", + "type": "bytes32" + } + ], + "name": "setContent", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "node", + "type": "bytes32" + } + ], + "name": "pubkey", + "outputs": [ + { + "name": "x", + "type": "bytes32" + }, + { + "name": "y", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "node", + "type": "bytes32" + }, + { + "name": "addr", + "type": "address" + } + ], + "name": "setAddr", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "node", + "type": "bytes32" + } + ], + "name": "multihash", + "outputs": [ + { + "name": "", + "type": "bytes" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "ensAddr", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "name": "a", + "type": "address" + } + ], + "name": "AddrChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "name": "hash", + "type": "bytes32" + } + ], + "name": "ContentChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "name": "name", + "type": "string" + } + ], + "name": "NameChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "node", + "type": "bytes32" + }, + { + "indexed": true, + "name": "contentType", + "type": "uint256" + } + ], + "name": "ABIChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "name": "x", + "type": "bytes32" + }, + { + "indexed": false, + "name": "y", + "type": "bytes32" + } + ], + "name": "PubkeyChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "name": "indexedKey", + "type": "string" + }, + { + "indexed": false, + "name": "key", + "type": "string" + } + ], + "name": "TextChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "node", + "type": "bytes32" + }, + { + "indexed": false, + "name": "hash", + "type": "bytes" + } + ], + "name": "MultihashChanged", + "type": "event" + } +] """ } diff --git a/web3swiftTests/web3swift_ENS_Tests.swift b/web3swiftTests/web3swift_ENS_Tests.swift index a3ff81371..685f82a4a 100644 --- a/web3swiftTests/web3swift_ENS_Tests.swift +++ b/web3swiftTests/web3swift_ENS_Tests.swift @@ -99,22 +99,8 @@ class web3swift_ENS_Tests: XCTestCase { XCTAssert(point.y == "0x0000000000000000000000000000000000000000000000000000000000000000") } - func testSetOwner() { - let web = web3(provider: InfuraProvider(Networks.Rinkeby)!) - let pk = Data.fromHex("0xc606bf70d7cbf90e8eb75050c810a4a749f8dce645f5afbe70635d1f0ebdb13b")! - let keystore = (try! EthereumKeystoreV3(privateKey: pk))! - let manager = KeystoreManager([keystore]) - web.addKeystoreManager(manager) - var ens = ENS(web3: web) - let node = "somename.test" - var options = Web3Options.defaultOptions() - options.from = EthereumAddress("0x7792e5D9FcC8cc23D312B9062F492a7f3E9f2f98")! - options.value = 0 - ens.setOwner(node: node, owner: EthereumAddress("0x7792e5D9FcC8cc23D312B9062F492a7f3E9f2f98")!, options: options) - } - - + From 96c96284a9c034a143213bc90fa62e4a3c06d310 Mon Sep 17 00:00:00 2001 From: BaldyAsh Date: Tue, 25 Sep 2018 18:05:23 +0300 Subject: [PATCH 12/66] added erc20 token for testing web3swift lib --- web3swiftToken/.DS_Store | Bin 0 -> 8196 bytes web3swiftToken/Helpers/.DS_Store | Bin 0 -> 6148 bytes web3swiftToken/Helpers/Modifiers/Ownable.sol | 50 +++++++++ web3swiftToken/Helpers/Modifiers/Pausable.sol | 61 +++++++++++ web3swiftToken/Helpers/SafeMath/SafeMath.sol | 46 ++++++++ web3swiftToken/Helpers/TokenBasics/.DS_Store | Bin 0 -> 6148 bytes .../Helpers/TokenBasics/BasicToken.sol | 48 +++++++++ web3swiftToken/Helpers/TokenBasics/ERC20.sol | 14 +++ .../Helpers/TokenBasics/ERC20Basic.sol | 13 +++ .../Helpers/TokenBasics/StandardToken.sol | 102 ++++++++++++++++++ .../Helpers/TokenBasics/Web3SwiftToken.sol | 19 ++++ web3swiftToken/Token/Web3SwiftToken.sol | 19 ++++ 12 files changed, 372 insertions(+) create mode 100644 web3swiftToken/.DS_Store create mode 100644 web3swiftToken/Helpers/.DS_Store create mode 100644 web3swiftToken/Helpers/Modifiers/Ownable.sol create mode 100644 web3swiftToken/Helpers/Modifiers/Pausable.sol create mode 100644 web3swiftToken/Helpers/SafeMath/SafeMath.sol create mode 100644 web3swiftToken/Helpers/TokenBasics/.DS_Store create mode 100644 web3swiftToken/Helpers/TokenBasics/BasicToken.sol create mode 100644 web3swiftToken/Helpers/TokenBasics/ERC20.sol create mode 100644 web3swiftToken/Helpers/TokenBasics/ERC20Basic.sol create mode 100644 web3swiftToken/Helpers/TokenBasics/StandardToken.sol create mode 100644 web3swiftToken/Helpers/TokenBasics/Web3SwiftToken.sol create mode 100644 web3swiftToken/Token/Web3SwiftToken.sol diff --git a/web3swiftToken/.DS_Store b/web3swiftToken/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..095d47706369d9fd4fa886faa710aa2cfd88efe5 GIT binary patch literal 8196 zcmeHMO>h)N6n-xWWEu#WAS64$!b&Rq!~jVk1eBj8yTpVaq1=Qd{3WwHLo&r=X4#qD z1!AmdsVBjblj23og9TK1!h;?_4_b;<;vp7bl?T0ew6wI!ljZB~*;ELG3sp)L(^dUm zcfWr9^Yu5~c^d%0j=a$V5CH&%GS}*S5)Vk+&hve#ENEe*k^BKn$bn~g89VLX*E?(o z5eN|o5eN|o5eN}@91x&4n#UR8$=}z_-?@l@%=n1K%JD_w23}(h4LP0S*`Nc$c zz_`?*3=s$sxE}!?yH`RNMea6ar^oNE&A+rc&;u@7IdfBw?rm6Ltbk?>!zq$D~ zmX%k`nOmtS^OSj2^Ny!R++xbt{k+$q=Z^B)A>AKI2jw2uwWrE@`mkjd2i3(1*YS1B zF>}J%GEC}ntj}@`x7gw49m5mjq@+Pnn8F6t$k_R{#v@5&8haA`obtWU{HRGPL$d$=W)aYwUL_Is^fAt3=MyI2C? zP6+_U=4)Nud-n~hYTh$nG;Q6t3T9IGO>a=G_6UjYjO!fAnFZQ)U&gibqYhbWGP<3~ zQ)hFxZKterrq}PAXMA2d;<-6LAv*S3$2)B1JkpF^U9cp&YV|YC zZO`sZOja$dR%;e9c7zafeCwoT=6Z{k;g1aHUdD6`%Ngz~Se})(%^pV|HEXbmvB}!H zNR_r!TV68FbWzlLr9YpxPUkKEte9iPN{t;eXypf7gU@29pD0XN>Q`#oQEo}(Op=D8 zOsWg3tJqqtk*T`U>uJ-LP3>%(qV8jT1-V_> zxQOjgSU(-sC~eXc)9#9E+6g}Ge%8n13$+v@Fw2EJ92$xB_{8m#!)Kbk0hou*((GeYuUhqxEkHl z`F!Gk;p*K5lAup5Ub3Qo?fTaC?eVE&oN;>7IV4CUSs~a`VuLuoduYh1tSw!}qP;{a z^UO>lmk6#_a^fqK8nGi9i>^|LD{4?}h^|qH&1#t#Yh7cMspUjm@s(&BHnONXhd8PT z>!!_&sTD+GY2CVwtaFL3awxWp?IJsfX;?!v!4wr|Bj2pl`v9)Mr|>1*B+C5&Kfy2X z8~jaltH6asw+Jr7swkPT(u}Dv|I!ULX>_jTiAfd|y&*igI1DUXpm3O4BGe>L!y$-p>HszI7x1*@>A} z<001U$ipt)LMrFjt}{#{mgrwvM5rGDfpX~^;qm{T*?<3kgc(BD5P=YZ#~lHzNT!k< zw946TR~~D}C=XHQiT9h3TDXu9;W%j#j+37Hhar_?)Rp_h13e)%wNU!ce+UTv_6^_v L@ckDAd_u*)ptu{a literal 0 HcmV?d00001 diff --git a/web3swiftToken/Helpers/.DS_Store b/web3swiftToken/Helpers/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b13eeb2b75177704f435d9adeb2a8b9793ca97ad GIT binary patch literal 6148 zcmeHKyG{c^3>-s>pfo8d_ZRqs)hU!z;R6V{AP^BJ<)FVVzn$>|5_F-Z09*3T#rCXq zQ=DS}(tNZxz#PDou86%JW7E9)$SxvsNff)|2`|`ShraDc)#n4sy}}(jwB(-f*W1Ug z+wxlWUSh@6hGi?f= a); + return c; + } +} \ No newline at end of file diff --git a/web3swiftToken/Helpers/TokenBasics/.DS_Store b/web3swiftToken/Helpers/TokenBasics/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 uint256) balances; + + uint256 totalSupply_; + + /** + * @dev total number of tokens in existence + */ + function totalSupply() public view returns (uint256) { + return totalSupply_; + } + + /** + * @dev transfer token for a specified address + * @param _to The address to transfer to. + * @param _value The amount to be transferred. + */ + function transfer(address _to, uint256 _value) public returns (bool) { + require(_to != address(0)); + require(_value <= balances[msg.sender]); + + balances[msg.sender] = balances[msg.sender].sub(_value); + balances[_to] = balances[_to].add(_value); + emit Transfer(msg.sender, _to, _value); + return true; + } + + /** + * @dev Gets the balance of the specified address. + * @param _owner The address to query the the balance of. + * @return An uint256 representing the amount owned by the passed address. + */ + function balanceOf(address _owner) public view returns (uint256) { + return balances[_owner]; + } + +} \ No newline at end of file diff --git a/web3swiftToken/Helpers/TokenBasics/ERC20.sol b/web3swiftToken/Helpers/TokenBasics/ERC20.sol new file mode 100644 index 000000000..2bbadefcf --- /dev/null +++ b/web3swiftToken/Helpers/TokenBasics/ERC20.sol @@ -0,0 +1,14 @@ +pragma solidity ^0.4.23; + +import "./ERC20Basic.sol"; + +/** + * @title ERC20 interface + * @dev see https://github.com/ethereum/EIPs/issues/20 + */ +contract ERC20 is ERC20Basic { + function allowance(address owner, address spender) public view returns (uint256); + function transferFrom(address from, address to, uint256 value) public returns (bool); + function approve(address spender, uint256 value) public returns (bool); + event Approval(address indexed owner, address indexed spender, uint256 value); +} \ No newline at end of file diff --git a/web3swiftToken/Helpers/TokenBasics/ERC20Basic.sol b/web3swiftToken/Helpers/TokenBasics/ERC20Basic.sol new file mode 100644 index 000000000..c2d7d20a0 --- /dev/null +++ b/web3swiftToken/Helpers/TokenBasics/ERC20Basic.sol @@ -0,0 +1,13 @@ +pragma solidity ^0.4.23; + +/** + * @title ERC20Basic + * @dev Simpler version of ERC20 interface + * @dev see https://github.com/ethereum/EIPs/issues/179 + */ +contract ERC20Basic { + function totalSupply() public view returns (uint256); + function balanceOf(address who) public view returns (uint256); + function transfer(address to, uint256 value) public returns (bool); + event Transfer(address indexed from, address indexed to, uint256 value); +} \ No newline at end of file diff --git a/web3swiftToken/Helpers/TokenBasics/StandardToken.sol b/web3swiftToken/Helpers/TokenBasics/StandardToken.sol new file mode 100644 index 000000000..b8bcafd8e --- /dev/null +++ b/web3swiftToken/Helpers/TokenBasics/StandardToken.sol @@ -0,0 +1,102 @@ +pragma solidity ^0.4.23; + +import "./ERC20.sol"; +import "./BasicToken.sol"; +import "../SafeMath/SafeMath.sol"; + +/** + * @title Standard ERC20 token + * + * @dev Implementation of the basic standard token. + * @dev https://github.com/ethereum/EIPs/issues/20 + * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol + */ +contract StandardToken is ERC20, BasicToken { + + mapping (address => mapping (address => uint256)) internal allowed; + + /** + * @dev Transfer tokens from one address to another + * @param _from address The address which you want to send tokens from + * @param _to address The address which you want to transfer to + * @param _value uint256 the amount of tokens to be transferred + */ + function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { + require(_to != address(0)); + require(_value <= balances[_from]); + require(_value <= allowed[_from][msg.sender]); + + balances[_from] = balances[_from].sub(_value); + balances[_to] = balances[_to].add(_value); + allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); + emit Transfer(_from, _to, _value); + return true; + } + + /** + * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. + * + * Beware that changing an allowance with this method brings the risk that someone may use both the old + * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this + * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: + * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 + * @param _spender The address which will spend the funds. + * @param _value The amount of tokens to be spent. + */ + function approve(address _spender, uint256 _value) public returns (bool) { + allowed[msg.sender][_spender] = _value; + emit Approval(msg.sender, _spender, _value); + return true; + } + + /** + * @dev Function to check the amount of tokens that an owner allowed to a spender. + * @param _owner address The address which owns the funds. + * @param _spender address The address which will spend the funds. + * @return A uint256 specifying the amount of tokens still available for the spender. + */ + function allowance(address _owner, address _spender) public view returns (uint256) { + return allowed[_owner][_spender]; + } + + /** + * @dev Increase the amount of tokens that an owner allowed to a spender. + * + * approve should be called when allowed[_spender] == 0. To increment + * allowed value is better to use this function to avoid 2 calls (and wait until + * the first transaction is mined) + * From MonolithDAO Token.sol + * @param _spender The address which will spend the funds. + * @param _addedValue The amount of tokens to increase the allowance by. + */ + function increaseApproval(address _spender, uint _addedValue) public returns (bool) { + allowed[msg.sender][_spender] = ( + allowed[msg.sender][_spender].add(_addedValue)); + emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); + return true; + } + + /** + * @dev Decrease the amount of tokens that an owner allowed to a spender. + * + * approve should be called when allowed[_spender] == 0. To decrement + * allowed value is better to use this function to avoid 2 calls (and wait until + * the first transaction is mined) + * From MonolithDAO Token.sol + * @param _spender The address which will spend the funds. + * @param _subtractedValue The amount of tokens to decrease the allowance by. + */ + function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) { + uint oldValue = allowed[msg.sender][_spender]; + + if (_subtractedValue > oldValue) { + allowed[msg.sender][_spender] = 0; + } else { + allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); + } + + emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); + return true; + } + +} \ No newline at end of file diff --git a/web3swiftToken/Helpers/TokenBasics/Web3SwiftToken.sol b/web3swiftToken/Helpers/TokenBasics/Web3SwiftToken.sol new file mode 100644 index 000000000..1ea799664 --- /dev/null +++ b/web3swiftToken/Helpers/TokenBasics/Web3SwiftToken.sol @@ -0,0 +1,19 @@ +pragma solidity ^0.4.24; + +import "../../Helpers/TokenBasics/StandardToken.sol"; + +contract web3swift is StandardToken { + string public constant NAME = "web3swift"; + string public constant SYMBOL = "w3s"; + uint256 public constant DECIMALS = 18; + + uint256 public constant INITIAL_SUPPLY = 500000000 * 10**18; + + /** + * @dev Create and issue tokens to msg.sender. + */ + constructor() public { + totalSupply = INITIAL_SUPPLY; + balances[msg.sender] = INITIAL_SUPPLY; + } +} \ No newline at end of file diff --git a/web3swiftToken/Token/Web3SwiftToken.sol b/web3swiftToken/Token/Web3SwiftToken.sol new file mode 100644 index 000000000..81e94f1f3 --- /dev/null +++ b/web3swiftToken/Token/Web3SwiftToken.sol @@ -0,0 +1,19 @@ +pragma solidity ^0.4.23; + +import "../../Helpers/TokenBasics/StandardToken.sol"; + +contract web3swift is StandardToken { + string public constant NAME = "web3swift"; + string public constant SYMBOL = "w3s"; + uint256 public constant DECIMALS = 18; + + uint256 public constant INITIAL_SUPPLY = 500000000 * 10**18; + + /** + * @dev Create and issue tokens to msg.sender. + */ + constructor() public { + totalSupply = INITIAL_SUPPLY; + balances[msg.sender] = INITIAL_SUPPLY; + } +} \ No newline at end of file From a877252f77ffeeb4e3d69741ce0fbfaea57c0882 Mon Sep 17 00:00:00 2001 From: BaldyAsh Date: Tue, 25 Sep 2018 18:08:31 +0300 Subject: [PATCH 13/66] small fix --- web3swiftToken/Token/Web3SwiftToken.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web3swiftToken/Token/Web3SwiftToken.sol b/web3swiftToken/Token/Web3SwiftToken.sol index 81e94f1f3..d43ed2d6c 100644 --- a/web3swiftToken/Token/Web3SwiftToken.sol +++ b/web3swiftToken/Token/Web3SwiftToken.sol @@ -13,7 +13,7 @@ contract web3swift is StandardToken { * @dev Create and issue tokens to msg.sender. */ constructor() public { - totalSupply = INITIAL_SUPPLY; + totalSupply_ = INITIAL_SUPPLY; balances[msg.sender] = INITIAL_SUPPLY; } } \ No newline at end of file From e33bcd5a85ccc34ab9846ae66e95ea78c39459be Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Tue, 25 Sep 2018 23:41:56 +0200 Subject: [PATCH 14/66] remove service files --- web3swiftToken/.DS_Store | Bin 8196 -> 0 bytes web3swiftToken/Helpers/.DS_Store | Bin 6148 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 web3swiftToken/.DS_Store delete mode 100644 web3swiftToken/Helpers/.DS_Store diff --git a/web3swiftToken/.DS_Store b/web3swiftToken/.DS_Store deleted file mode 100644 index 095d47706369d9fd4fa886faa710aa2cfd88efe5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMO>h)N6n-xWWEu#WAS64$!b&Rq!~jVk1eBj8yTpVaq1=Qd{3WwHLo&r=X4#qD z1!AmdsVBjblj23og9TK1!h;?_4_b;<;vp7bl?T0ew6wI!ljZB~*;ELG3sp)L(^dUm zcfWr9^Yu5~c^d%0j=a$V5CH&%GS}*S5)Vk+&hve#ENEe*k^BKn$bn~g89VLX*E?(o z5eN|o5eN|o5eN}@91x&4n#UR8$=}z_-?@l@%=n1K%JD_w23}(h4LP0S*`Nc$c zz_`?*3=s$sxE}!?yH`RNMea6ar^oNE&A+rc&;u@7IdfBw?rm6Ltbk?>!zq$D~ zmX%k`nOmtS^OSj2^Ny!R++xbt{k+$q=Z^B)A>AKI2jw2uwWrE@`mkjd2i3(1*YS1B zF>}J%GEC}ntj}@`x7gw49m5mjq@+Pnn8F6t$k_R{#v@5&8haA`obtWU{HRGPL$d$=W)aYwUL_Is^fAt3=MyI2C? zP6+_U=4)Nud-n~hYTh$nG;Q6t3T9IGO>a=G_6UjYjO!fAnFZQ)U&gibqYhbWGP<3~ zQ)hFxZKterrq}PAXMA2d;<-6LAv*S3$2)B1JkpF^U9cp&YV|YC zZO`sZOja$dR%;e9c7zafeCwoT=6Z{k;g1aHUdD6`%Ngz~Se})(%^pV|HEXbmvB}!H zNR_r!TV68FbWzlLr9YpxPUkKEte9iPN{t;eXypf7gU@29pD0XN>Q`#oQEo}(Op=D8 zOsWg3tJqqtk*T`U>uJ-LP3>%(qV8jT1-V_> zxQOjgSU(-sC~eXc)9#9E+6g}Ge%8n13$+v@Fw2EJ92$xB_{8m#!)Kbk0hou*((GeYuUhqxEkHl z`F!Gk;p*K5lAup5Ub3Qo?fTaC?eVE&oN;>7IV4CUSs~a`VuLuoduYh1tSw!}qP;{a z^UO>lmk6#_a^fqK8nGi9i>^|LD{4?}h^|qH&1#t#Yh7cMspUjm@s(&BHnONXhd8PT z>!!_&sTD+GY2CVwtaFL3awxWp?IJsfX;?!v!4wr|Bj2pl`v9)Mr|>1*B+C5&Kfy2X z8~jaltH6asw+Jr7swkPT(u}Dv|I!ULX>_jTiAfd|y&*igI1DUXpm3O4BGe>L!y$-p>HszI7x1*@>A} z<001U$ipt)LMrFjt}{#{mgrwvM5rGDfpX~^;qm{T*?<3kgc(BD5P=YZ#~lHzNT!k< zw946TR~~D}C=XHQiT9h3TDXu9;W%j#j+37Hhar_?)Rp_h13e)%wNU!ce+UTv_6^_v L@ckDAd_u*)ptu{a diff --git a/web3swiftToken/Helpers/.DS_Store b/web3swiftToken/Helpers/.DS_Store deleted file mode 100644 index b13eeb2b75177704f435d9adeb2a8b9793ca97ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKyG{c^3>-s>pfo8d_ZRqs)hU!z;R6V{AP^BJ<)FVVzn$>|5_F-Z09*3T#rCXq zQ=DS}(tNZxz#PDou86%JW7E9)$SxvsNff)|2`|`ShraDc)#n4sy}}(jwB(-f*W1Ug z+wxlWUSh@6hGi?f Date: Wed, 26 Sep 2018 06:16:57 +0300 Subject: [PATCH 15/66] Update README.md --- README.md | 332 +++++++++++++----------------------------------------- 1 file changed, 80 insertions(+), 252 deletions(-) diff --git a/README.md b/README.md index 6fbf4d9bc..38cfc20c4 100755 --- a/README.md +++ b/README.md @@ -11,90 +11,71 @@ The work for 2.0 release is about to start. Ideas for new more Swift idiomatic A **web3swift** is your toolbelt for any kind interactions with Ethereum network. - -- [web3swift](#web3swift) -+ [Features:](#features-) -* [Design decisions](#design-decisions) -* [Example](#example) -* [Installation](#installation) -+ [Requirements](#requirements) -+ [CocoaPods](#cocoapods) -* [Getting started](#getting-started) -+ [Create Account](#create-account) -+ [Save keystore to the memory](#save-keystore-to-the-memory) -+ [Initializing Ethereum address](#initializing-ethereum-address) -+ [Setting options](#setting-options) -+ [Encoding Transaction](#encoding-transaction) -+ [Signing Transaction](#signing-transaction) -+ [Getting ETH balance](#getting-eth-balance) -+ [Getting gas price](#getting-gas-price) -+ [Sending ETH](#sending-eth) -+ [ERC20 Iteraction:](#erc20-iteraction-) -- [Getting ERC20 token balance](#getting-erc20-token-balance) -- [Sending ERC20](#sending-erc20) -* [Apps using this library](#apps-using-this-library) -* [Future plans](#future-plans) -+ [Extra features:](#extra-features-) -* [Stay in touch](#stay-in-touch) -+ [Contribution](#contribution) -+ [Communication](#communication) -+ [Special thanks to](#special-thanks-to) -* [Authors](#authors) -* [License](#license) - - -### Features: - -- Swift implementation of [web3.js](https://github.com/ethereum/web3.js/) functionality :zap: -- Interaction with remote node via JSON RPC :thought_balloon: -- Smart-contract ABI parsing :book: -- ABI deconding (V2 is supported with return of structures from public functions. Part of 0.4.22 Solidity compiler) -- RLP encoding -- Interactions (read/write to Smart contracts) :arrows_counterclockwise: -- Local keystore management (`geth` compatible) -- Literally following the standards: -- [BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) HD Wallets: Deterministic Wallet -- [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) (Seed phrases) -- [BIP44](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) (Key generation prefixes) -- [EIP-155](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md) (Replay attacks protection) *enforced!* - -**Account Managment:** -- [x] Create Account -- [x] Import Account -- [x] Manage user's private keys through encrypted keystore abstractions - -**Transactions operations:** -- [x] Sign transactions -- [x] Send transactions, call functions of smart-contracts, estimate gas costs -- [x] Serialize and deserialize transactions and results to native Swift types -- [x] Check transaction results and get the receipt -- [x] Parse event logs for the transaction -- [x] Convenience functions for chain state: block number, gas price -- [x] Batched requests in concurrent mode, check balances of 580 tokens (from the latest MyEtherWallet repo) over 3 seconds - - -## Design decisions +- [Features](#features) +- [Design Decisions](#design-decisions) +- [Requirements](#requirements) +- [Migration Guides](#migration-guides) +- [Communication](#communication) +- [Installation](#installation) +- [Usage](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md) + - **Account Management -** [Create Account](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#create-account), [Import Account](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#import-account), [Manage Keystore](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#manage-keystore), [Ethereum Address](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#ethereum-address), [Get Balance](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#get-balance) + - **Transactions Operations -** [Prepare Transaction](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#prepare-transaction), [Send Transaction](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#send-transaction), [Get gas price](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#transaction-gasprice), [Serialize & deserialize transactions](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#serialize-deserialize-transactions), [Get result](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#get-result) + - **Chain State -** [Get Block number](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#get-block-number), [Get gas price](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#block-gasprice) +- [Example Project](#example-project) +- [Credits](#credits) +- [Donations](#donations) +- [License](#license) + +## Features + +- [x] Swift implementation of [web3.js](https://github.com/ethereum/web3.js/) functionality :zap: +- [x] Interaction with remote node via JSON RPC :thought_balloon: +- [x] Smart-contract ABI parsing :book: +- [x] ABI deconding (V2 is supported with return of structures from public functions. Part of 0.4.22 Solidity compiler) +- [x] RLP encoding +- [x] Interactions (read/write to Smart contracts) :arrows_counterclockwise: +- [x] Local keystore management (`geth` compatible) +- [x] Batched requests in concurrent mode +- [x] Literally following the standards: + - [x] [BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) HD Wallets: Deterministic Wallet + - [x] [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) (Seed phrases) + - [x] [BIP44](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) (Key generation prefixes) + - [x] [EIP-155](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md) (Replay attacks protection) *enforced!* +- [x] Comprehensive Unit and Integration Test Coverage +- [x] [Complete Documentation](https://web3swift.github.io/web3swift) + +## Design Desisions - Not every JSON RPC function is exposed yet, and priority is given to the ones required for mobile devices - Functionality was focused on serializing and signing transactions locally on the device to send raw transactions to Ethereum network - Requirements for password input on every transaction are indeed a design decision. Interface designers can save user passwords with the user's consent - Public function for private key export is exposed for user convenience but marked as UNSAFE_ :) Normal workflow takes care of EIP155 compatibility and proper clearing of private key data from memory -## Example +## Requirements -You can try it yourself by running the example project: +- iOS 9.0+ / macOS 10.11+ +- Xcode 9.0+ +- Swift 4.1+ -- Clone the repo: `git clone https://github.com/matterinc/web3swift.git` -- Move to the repo: `cd web3swift/Example/web3swiftExample` -- Install Dependencies: `pod install` -- Open: `open ./web3swiftExample.xcworkspace` +## Migration Guides +- [web3swift 2.0 Migration Guide](https://github.com/matterinc/web3swift/blob/master/Documentation/web3swift%202.0%20Migration%20Guide.md) -## Installation +## Communication -### Requirements +When using this lib, please make references to this repo and give your start! :) +*Nothing makes developers happier than seeing someone else use our work and go wild with it.* -Web3swift requires `Swift 4.1` and `iOS 9.0` or `macOS 10.11` although we recommend using the latest iOS and MacOS versions for your safety. Don't forget to set the iOS version in a Podfile. Otherwise, you get an error if the deployment target is less than the latest SDK. +If you are using web3swift in your app or know of an app that uses it, please add it to [this list](https://github.com/matterinc/web3swift/wiki/Apps-using-web3swift). + +- If you **need help**, use [Stack Overflow](https://stackoverflow.com/questions/tagged/web3swift) and tag `web3swift`. +- If you need to **find or understand an API**, check [our documentation](http://web3swift.github.io/web3swift/). +- If you'd like to **see web3swift best practices**, check [Apps using this library](https://github.com/matterinc/web3swift/wiki/Apps-using-web3swift). +- If you **found a bug**, [open an issue](https://github.com/matterinc/web3swift/issues). +- If you **have a feature request**, [open an issue](https://github.com/matterinc/web3swift/issues). +- If you **want to contribute**, [submit a pull request](https://github.com/matterinc/web3swift/pulls). + +## Installation ### CocoaPods @@ -122,205 +103,52 @@ Then, run the following command: $ pod install ``` -## Getting started - -Here are a few use cases: - -### Create Account - -```swift - // Create keystore and account with password. - - let keystore = try! EthereumKeystoreV3(password: "changeme"); // generates a private key internally if node "privateKey" parameter supplied - let account = keystore!.addresses![0] - print(account) - - let data = try! keystore!.serialize() // internally serializes to JSON - print(try! JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions(rawValue:0))) - let key = try! keystore!.UNSAFE_getPrivateKeyData(password: "changeme", account: account) // you should rarely use this and expose a key manually -``` - -### Save keystore to the memory +### Carthage -```swift -//First you need a `KeystoreManager` instance: -guard let userDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first, - let keystoreManager = KeystoreManager.managerForPath(userDirectory + "/keystore") -else { - fatalError("Couldn't create a KeystoreManager.") -} +[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. -//Next you create a new Keystore: +You can install Carthage with [Homebrew](https://brew.sh/) using the following command: -let newKeystore = try? EthereumKeystoreV3(password: "YOUR_PASSWORD") - -// Then you save the created keystore to the file system: - -let newKeystoreJSON = try? JSONEncoder().encode(newKeystore.keystoreParams) -FileManager.default.createFile(atPath: "\(keystoreManager.path)/keystore.json", contents: newKeystoreJSON, attributes: nil) - -// Later you can retreive it: - -if let address = keystoreManager.addresses?.first, -let retrievedKeystore = keystoreManager.walletForAddress(address) as? EthereumKeystoreV3 { - return retrievedKeystore -} -``` - -### Initializing Ethereum address -```swift -let coldWalletAddress = EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B") -let constractAddress = EthereumAddress("0x45245bc59219eeaaf6cd3f382e078a461ff9de7b", ignoreChecksum: true) -``` -Ethereum addresses are checksum checked if they are not lowercased or uppercased and always length checked - -### Setting options - -```swift -var options = Web3Options.defaultOptions() - // public var to: EthereumAddress? = nil - to what address transaction is aimed - // public var from: EthereumAddress? = nil - form what address it should be sent (either signed locally or on the node) - // public var gasLimit: BigUInt? = BigUInt(90000) - default gas limit - // public var gasPrice: BigUInt? = BigUInt(5000000000) - default gas price, quite small - // public var value: BigUInt? = BigUInt(0) - amount of WEI sent along the transaction -options.gasPrice = gasPrice -options.gasLimit = gasLimit -options.from = EthereumAddress("0xE6877A4d8806e9A9F12eB2e8561EA6c1db19978d") -``` - -### Encoding Transaction - -``` -//TODO -``` - -### Signing Transaction - -``` -//TODO -``` -### Getting ETH balance -```swift -let address = EthereumAddress("0xE6877A4d8806e9A9F12eB2e8561EA6c1db19978d")! -let web3Main = Web3.InfuraMainnetWeb3() -let balanceResult = web3Main.eth.getBalance(address) -guard case .success(let balance) = balanceResult else {return} -``` -### Getting gas price -```swift -let web3Main = Web3.InfuraMainnetWeb3() -let gasPriceResult = web3Main.eth.getGasPrice() -guard case .success(let gasPrice) = gasPriceResult else {return} -``` - -### Sending ETH -```swift -let web3Rinkeby = Web3.InfuraRinkebyWeb3() -web3Rinkeby.addKeystoreManager(bip32keystoreManager) // attach a keystore if you want to sign locally. Otherwise unsigned request will be sent to remote node -options.from = bip32ks?.addresses?.first! // specify from what address you want to send it -intermediateSend = web3Rinkeby.contract(Web3.Utils.coldWalletABI, at: coldWalletAddress, abiVersion: 2)!.method(options: options)! // an address with a private key attached in not different from any other address, just has very simple ABI -let sendResultBip32 = intermediateSend.send(password: "changeme") +```bash +$ brew update +$ brew install carthage ``` -### ERC20 Iteraction: +To integrate web3swift into your Xcode project using Carthage, specify it in your `Cartfile`: -#### Getting ERC20 token balance -```swift -let contractAddress = EthereumAddress("0x45245bc59219eeaaf6cd3f382e078a461ff9de7b")! // BKX token on Ethereum mainnet -let contract = web3.contract(Web3.Utils.erc20ABI, at: contractAddress, abiVersion: 2)! // utilize precompiled ERC20 ABI for your concenience -guard let bkxBalanceResult = contract.method("balanceOf", parameters: [coldWalletAddress] as [AnyObject], options: options)?.call(options: nil) else {return} // encode parameters for transaction -guard case .success(let bkxBalance) = bkxBalanceResult, let bal = bkxBalance["0"] as? BigUInt else {return} // bkxBalance is [String: Any], and parameters are enumerated as "0", "1", etc in order of being returned. If returned parameter has a name in ABI, it is also duplicated -print("BKX token balance = " + String(bal)) +```ogdl +github "web3swift/web3swift" ~> 1.1.9 ``` -#### Sending ERC20 -```swift -var convenienceTransferOptions = Web3Options.defaultOptions() -convenienceTransferOptions.gasPrice = gasPriceRinkeby -let convenienceTokenTransfer = web3Rinkeby.eth.sendERC20tokensWithNaturalUnits(tokenAddress: EthereumAddress("0xa407dd0cbc9f9d20cdbd557686625e586c85b20a")!, from: (ks?.addresses?.first!)!, to: EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B")!, amount: "0.0001", options: convenienceTransferOptions) // there are also convenience functions to send ETH and ERC20 under the .eth structure -let gasEstimateResult = convenienceTokenTransfer!.estimateGas(options: nil) -guard case .success(let gasEstimate) = gasEstimateResult else {return} -convenienceTransferOptions.gasLimit = gasEstimate -let convenienceTransferResult = convenienceTokenTransfer!.send(password: "changeme", options: convenienceTransferOptions) -switch convenienceTransferResult { - case .success(let res): - print("Token transfer successful") - print(res) - case .failure(let error): - print(error) -} -``` - -## Apps using this library - -If you are using `web3swift` in your app or know of an app that uses it, please add it to this list: [Apps using this library](https://github.com/matterinc/web3swift/wiki/Apps-using-web3swift) -It would be much appreciated! 👍 - -Here is some examples: - -* [MEWconnect-iOS](https://github.com/MyEtherWallet/MEWconnect-iOS) -* [Peepeth iOS client](https://github.com/matterinc/PeepethClient) -* [Ethereum & ERC20Tokens Wallet](https://itunes.apple.com/us/app/ethereum-erc20tokens-wallet/id1386738877?ls=1&mt=8) -* [BankexWallet](https://github.com/BANKEX/Pay-iOS) -* [GeoChain](https://github.com/awallish/GeoChain) -* [TRX-Wallet](https://github.com/NewHorizonLabs/TRX-Wallet) -* [YOUR APP CAN BE THERE (click me)](https://github.com/matterinc/web3swift/wiki/Apps-using-web3swift/_edit) :wink: - -If you've used this project in a live app, please let us know! - -*If you are using `web3swift` in your app or know of an app that uses it, please add it to [this](https://github.com/matterinc/web3swift/wiki/Apps-using-web3swift) list.* - - - -## Plans - -- Full reference `web3js` functionality -- Light Ethereum subprotocol (LES) integration - - -### Extra features: - -For the latest version, please check [develop](https://github.com/matterinc/web3swift/tree/develop) branch. -Changes made to this branch will be merged into the [master](https://github.com/matterinc/web3swift/tree/master) branch at some point. - ---- - +Run `carthage update` to build the framework and drag the built `web3swift.framework` into your Xcode project. -## Stay in touch - -When using this pod, please make references to this repo and give your start! :) -*Nothing makes developers happier than seeing someone else use our work and go wild with it.* - - -If you are using web3swift in your app or know of an app that uses it, please add it to [this list](https://github.com/matterinc/web3swift/wiki/Apps-using-web3swift). +## Example Project +You can try lib by running the example project: -### Contribution - - -- If you **have a feature request**, [open an issue](https://github.com/matterinc/web3swift/issues). -- If you **want to contribute**, [submit a pull request](https://github.com/matterinc/web3swift/pulls). +- Clone the repo: `git clone https://github.com/matterinc/web3swift.git` +- Move to the repo: `cd web3swift/Example/web3swiftExample` +- Install Dependencies: `pod install` +- Open: `open ./web3swiftExample.xcworkspace` +## Credits -### Communication +Alex Vlasov, [@shamatar](https://github.com/shamatar), alex.m.vlasov@gmail.com -- if you **need help**, use [Stack Overflow](https://stackoverflow.com/questions/tagged/web3swift) (tag 'web3swift') -- If you'd like to **ask a general question**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/web3swift). -- If you **found a bug**, [open an issue](https://github.com/matterinc/web3swift/issues). +Petr Korolev, [@skywinder](https://github.com/skywinder) +### Security Disclosure -### Special thanks to +If you believe you have identified a security vulnerability with web3swift, you should report it as soon as possible via email to [Alex Vlasov](alex.m.vlasov@gmail.com). Please do not post it to a public issue tracker. -- Gnosis team and their library [Bivrost-swift](https://github.com/gnosis/bivrost-swift) for inspiration for the ABI decoding approach -- [Trust iOS Wallet](https://github.com/TrustWallet/trust-wallet-ios) for the collaboration and discussion of the initial idea -- Official Ethereum and Solidity docs, everything was written from ground truth standards -- -## Authors +## Donations -Alex Vlasov, [@shamatar](https://github.com/shamatar), alex.m.vlasov@gmail.com +The [Matter](https://github.com/orgs/matterinc/people) are charged with open-sorсe and do not require money for using their web3swift lib. +We want to continue to do everything we can to move the needle forward. +If you use any of our libraries for work, see if your employers would be interested in donating. Any amount you can donate today to help us reach our goal would be greatly appreciated. -Petr Korolev, [@skywinder](https://github.com/skywinder) +//TODO: - Donate ## License -web3swift is available under the Apache License 2.0 license. See the [LICENSE](https://github.com/matterinc/web3swift/blob/master/LICENSE) file for more info. +web3swift is available under the Apache License 2.0 license. See the [LICENSE](https://github.com/matterinc/web3swift/blob/master/LICENSE) for details. From eab214d55f8604da25fa84f793df2d07c8ed1b3d Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Wed, 26 Sep 2018 06:18:37 +0300 Subject: [PATCH 16/66] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 38cfc20c4..9b0a6ca58 100755 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ The work for 2.0 release is about to start. Ideas for new more Swift idiomatic A - [Communication](#communication) - [Installation](#installation) - [Usage](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md) - - **Account Management -** [Create Account](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#create-account), [Import Account](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#import-account), [Manage Keystore](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#manage-keystore), [Ethereum Address](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#ethereum-address), [Get Balance](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#get-balance) + - **Account Management -** [Create Account](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#create-account), [Import Account](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#import-account), [Manage Keystore](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#manage-keystore), [Ethereum Address](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#ethereum-address), [Get Balance](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#get-balance) - **Transactions Operations -** [Prepare Transaction](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#prepare-transaction), [Send Transaction](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#send-transaction), [Get gas price](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#transaction-gasprice), [Serialize & deserialize transactions](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#serialize-deserialize-transactions), [Get result](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#get-result) - **Chain State -** [Get Block number](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#get-block-number), [Get gas price](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#block-gasprice) - [Example Project](#example-project) From 1aadb348382e4f91b50d9f0fe6ecacfb8ae7eabb Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Wed, 26 Sep 2018 06:19:24 +0300 Subject: [PATCH 17/66] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9b0a6ca58..81822f01a 100755 --- a/README.md +++ b/README.md @@ -143,7 +143,7 @@ If you believe you have identified a security vulnerability with web3swift, you ## Donations -The [Matter](https://github.com/orgs/matterinc/people) are charged with open-sorсe and do not require money for using their web3swift lib. +[The Matters](https://github.com/orgs/matterinc/people) are charged with open-sorсe and do not require money for using their web3swift lib. We want to continue to do everything we can to move the needle forward. If you use any of our libraries for work, see if your employers would be interested in donating. Any amount you can donate today to help us reach our goal would be greatly appreciated. From f0a823ceff068d49ef7ae8cae686a423ccc2e58e Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Wed, 26 Sep 2018 06:20:51 +0300 Subject: [PATCH 18/66] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81822f01a..b011bf033 100755 --- a/README.md +++ b/README.md @@ -139,7 +139,7 @@ Petr Korolev, [@skywinder](https://github.com/skywinder) ### Security Disclosure -If you believe you have identified a security vulnerability with web3swift, you should report it as soon as possible via email to [Alex Vlasov](alex.m.vlasov@gmail.com). Please do not post it to a public issue tracker. +If you believe you have identified a security vulnerability with web3swift, you should report it as soon as possible via email to [Alex Vlasov](https://github.com/shamatar) alex.m.vlasov@gmail.com. Please do not post it to a public issue tracker. ## Donations From 8081a8e69897d75a22d40c4e98552c0a8fd845ac Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Wed, 26 Sep 2018 06:23:25 +0300 Subject: [PATCH 19/66] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b011bf033..b27333325 100755 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ The work for 2.0 release is about to start. Ideas for new more Swift idiomatic A - [x] Comprehensive Unit and Integration Test Coverage - [x] [Complete Documentation](https://web3swift.github.io/web3swift) -## Design Desisions +## Design Decisions - Not every JSON RPC function is exposed yet, and priority is given to the ones required for mobile devices - Functionality was focused on serializing and signing transactions locally on the device to send raw transactions to Ethereum network From 7d3e9358811b5852635713f2a7ab800d7a251777 Mon Sep 17 00:00:00 2001 From: BaldyAsh Date: Wed, 26 Sep 2018 23:24:52 +0300 Subject: [PATCH 20/66] some changes in contracts --- TestToken/Helpers/SafeMath/SafeMath.sol | 65 ++++++ .../Helpers/TokenBasics/.DS_Store | Bin TestToken/Helpers/TokenBasics/ERC20.sol | 205 ++++++++++++++++++ TestToken/Helpers/TokenBasics/IERC20.sol | 34 +++ TestToken/Token/Web3SwiftToken.sol | 19 ++ web3swiftToken/Helpers/Modifiers/Ownable.sol | 50 ----- web3swiftToken/Helpers/Modifiers/Pausable.sol | 61 ------ web3swiftToken/Helpers/SafeMath/SafeMath.sol | 46 ---- .../Helpers/TokenBasics/BasicToken.sol | 48 ---- web3swiftToken/Helpers/TokenBasics/ERC20.sol | 14 -- .../Helpers/TokenBasics/ERC20Basic.sol | 13 -- .../Helpers/TokenBasics/StandardToken.sol | 102 --------- .../Helpers/TokenBasics/Web3SwiftToken.sol | 19 -- web3swiftToken/Token/Web3SwiftToken.sol | 19 -- 14 files changed, 323 insertions(+), 372 deletions(-) create mode 100644 TestToken/Helpers/SafeMath/SafeMath.sol rename {web3swiftToken => TestToken}/Helpers/TokenBasics/.DS_Store (100%) create mode 100644 TestToken/Helpers/TokenBasics/ERC20.sol create mode 100644 TestToken/Helpers/TokenBasics/IERC20.sol create mode 100644 TestToken/Token/Web3SwiftToken.sol delete mode 100644 web3swiftToken/Helpers/Modifiers/Ownable.sol delete mode 100644 web3swiftToken/Helpers/Modifiers/Pausable.sol delete mode 100644 web3swiftToken/Helpers/SafeMath/SafeMath.sol delete mode 100644 web3swiftToken/Helpers/TokenBasics/BasicToken.sol delete mode 100644 web3swiftToken/Helpers/TokenBasics/ERC20.sol delete mode 100644 web3swiftToken/Helpers/TokenBasics/ERC20Basic.sol delete mode 100644 web3swiftToken/Helpers/TokenBasics/StandardToken.sol delete mode 100644 web3swiftToken/Helpers/TokenBasics/Web3SwiftToken.sol delete mode 100644 web3swiftToken/Token/Web3SwiftToken.sol diff --git a/TestToken/Helpers/SafeMath/SafeMath.sol b/TestToken/Helpers/SafeMath/SafeMath.sol new file mode 100644 index 000000000..97494e1f1 --- /dev/null +++ b/TestToken/Helpers/SafeMath/SafeMath.sol @@ -0,0 +1,65 @@ +pragma solidity ^0.4.24; + +/** + * @title SafeMath + * @dev Math operations with safety checks that revert on error + */ +library SafeMath { + + /** + * @dev Multiplies two numbers, reverts on overflow. + */ + function mul(uint256 a, uint256 b) internal pure returns (uint256) { + // Gas optimization: this is cheaper than requiring 'a' not being zero, but the + // benefit is lost if 'b' is also tested. + // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 + if (a == 0) { + return 0; + } + + uint256 c = a * b; + require(c / a == b); + + return c; + } + + /** + * @dev Integer division of two numbers truncating the quotient, reverts on division by zero. + */ + function div(uint256 a, uint256 b) internal pure returns (uint256) { + require(b > 0); // Solidity only automatically asserts when dividing by 0 + uint256 c = a / b; + // assert(a == b * c + a % b); // There is no case in which this doesn't hold + + return c; + } + + /** + * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend). + */ + function sub(uint256 a, uint256 b) internal pure returns (uint256) { + require(b <= a); + uint256 c = a - b; + + return c; + } + + /** + * @dev Adds two numbers, reverts on overflow. + */ + function add(uint256 a, uint256 b) internal pure returns (uint256) { + uint256 c = a + b; + require(c >= a); + + return c; + } + + /** + * @dev Divides two numbers and returns the remainder (unsigned integer modulo), + * reverts when dividing by zero. + */ + function mod(uint256 a, uint256 b) internal pure returns (uint256) { + require(b != 0); + return a % b; + } +} diff --git a/web3swiftToken/Helpers/TokenBasics/.DS_Store b/TestToken/Helpers/TokenBasics/.DS_Store similarity index 100% rename from web3swiftToken/Helpers/TokenBasics/.DS_Store rename to TestToken/Helpers/TokenBasics/.DS_Store diff --git a/TestToken/Helpers/TokenBasics/ERC20.sol b/TestToken/Helpers/TokenBasics/ERC20.sol new file mode 100644 index 000000000..7ecea0073 --- /dev/null +++ b/TestToken/Helpers/TokenBasics/ERC20.sol @@ -0,0 +1,205 @@ +pragma solidity ^0.4.24; + +import "./IERC20.sol"; +import "../SafeMath/SafeMath.sol"; + +/** + * @title Standard ERC20 token + * + * @dev Implementation of the basic standard token. + * https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md + * Originally based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol + */ +contract ERC20 is IERC20 { + using SafeMath for uint256; + + mapping (address => uint256) private _balances; + + mapping (address => mapping (address => uint256)) private _allowed; + + uint256 private _totalSupply; + + /** + * @dev Total number of tokens in existence + */ + function totalSupply() public view returns (uint256) { + return _totalSupply; + } + + /** + * @dev Gets the balance of the specified address. + * @param owner The address to query the balance of. + * @return An uint256 representing the amount owned by the passed address. + */ + function balanceOf(address owner) public view returns (uint256) { + return _balances[owner]; + } + + /** + * @dev Function to check the amount of tokens that an owner allowed to a spender. + * @param owner address The address which owns the funds. + * @param spender address The address which will spend the funds. + * @return A uint256 specifying the amount of tokens still available for the spender. + */ + function allowance( + address owner, + address spender + ) + public + view + returns (uint256) + { + return _allowed[owner][spender]; + } + + /** + * @dev Transfer token for a specified address + * @param to The address to transfer to. + * @param value The amount to be transferred. + */ + function transfer(address to, uint256 value) public returns (bool) { + require(value <= _balances[msg.sender]); + require(to != address(0)); + + _balances[msg.sender] = _balances[msg.sender].sub(value); + _balances[to] = _balances[to].add(value); + emit Transfer(msg.sender, to, value); + return true; + } + + /** + * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. + * Beware that changing an allowance with this method brings the risk that someone may use both the old + * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this + * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: + * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 + * @param spender The address which will spend the funds. + * @param value The amount of tokens to be spent. + */ + function approve(address spender, uint256 value) public returns (bool) { + require(spender != address(0)); + + _allowed[msg.sender][spender] = value; + emit Approval(msg.sender, spender, value); + return true; + } + + /** + * @dev Transfer tokens from one address to another + * @param from address The address which you want to send tokens from + * @param to address The address which you want to transfer to + * @param value uint256 the amount of tokens to be transferred + */ + function transferFrom( + address from, + address to, + uint256 value + ) + public + returns (bool) + { + require(value <= _balances[from]); + require(value <= _allowed[from][msg.sender]); + require(to != address(0)); + + _balances[from] = _balances[from].sub(value); + _balances[to] = _balances[to].add(value); + _allowed[from][msg.sender] = _allowed[from][msg.sender].sub(value); + emit Transfer(from, to, value); + return true; + } + + /** + * @dev Increase the amount of tokens that an owner allowed to a spender. + * approve should be called when allowed_[_spender] == 0. To increment + * allowed value is better to use this function to avoid 2 calls (and wait until + * the first transaction is mined) + * From MonolithDAO Token.sol + * @param spender The address which will spend the funds. + * @param addedValue The amount of tokens to increase the allowance by. + */ + function increaseAllowance( + address spender, + uint256 addedValue + ) + public + returns (bool) + { + require(spender != address(0)); + + _allowed[msg.sender][spender] = ( + _allowed[msg.sender][spender].add(addedValue)); + emit Approval(msg.sender, spender, _allowed[msg.sender][spender]); + return true; + } + + /** + * @dev Decrease the amount of tokens that an owner allowed to a spender. + * approve should be called when allowed_[_spender] == 0. To decrement + * allowed value is better to use this function to avoid 2 calls (and wait until + * the first transaction is mined) + * From MonolithDAO Token.sol + * @param spender The address which will spend the funds. + * @param subtractedValue The amount of tokens to decrease the allowance by. + */ + function decreaseAllowance( + address spender, + uint256 subtractedValue + ) + public + returns (bool) + { + require(spender != address(0)); + + _allowed[msg.sender][spender] = ( + _allowed[msg.sender][spender].sub(subtractedValue)); + emit Approval(msg.sender, spender, _allowed[msg.sender][spender]); + return true; + } + + /** + * @dev Internal function that mints an amount of the token and assigns it to + * an account. This encapsulates the modification of balances such that the + * proper events are emitted. + * @param account The account that will receive the created tokens. + * @param amount The amount that will be created. + */ + function _mint(address account, uint256 amount) internal { + require(account != 0); + _totalSupply = _totalSupply.add(amount); + _balances[account] = _balances[account].add(amount); + emit Transfer(address(0), account, amount); + } + + /** + * @dev Internal function that burns an amount of the token of a given + * account. + * @param account The account whose tokens will be burnt. + * @param amount The amount that will be burnt. + */ + function _burn(address account, uint256 amount) internal { + require(account != 0); + require(amount <= _balances[account]); + + _totalSupply = _totalSupply.sub(amount); + _balances[account] = _balances[account].sub(amount); + emit Transfer(account, address(0), amount); + } + + /** + * @dev Internal function that burns an amount of the token of a given + * account, deducting from the sender's allowance for said account. Uses the + * internal burn function. + * @param account The account whose tokens will be burnt. + * @param amount The amount that will be burnt. + */ + function _burnFrom(address account, uint256 amount) internal { + require(amount <= _allowed[account][msg.sender]); + + // Should https://github.com/OpenZeppelin/zeppelin-solidity/issues/707 be accepted, + // this function needs to emit an event with the updated approval. + _allowed[account][msg.sender] = _allowed[account][msg.sender].sub( + amount); + _burn(account, amount); + } +} \ No newline at end of file diff --git a/TestToken/Helpers/TokenBasics/IERC20.sol b/TestToken/Helpers/TokenBasics/IERC20.sol new file mode 100644 index 000000000..6e322fe03 --- /dev/null +++ b/TestToken/Helpers/TokenBasics/IERC20.sol @@ -0,0 +1,34 @@ +pragma solidity ^0.4.24; + +/** + * @title ERC20 interface + * @dev see https://github.com/ethereum/EIPs/issues/20 + */ +interface IERC20 { + function totalSupply() external view returns (uint256); + + function balanceOf(address who) external view returns (uint256); + + function allowance(address owner, address spender) + external view returns (uint256); + + function transfer(address to, uint256 value) external returns (bool); + + function approve(address spender, uint256 value) + external returns (bool); + + function transferFrom(address from, address to, uint256 value) + external returns (bool); + + event Transfer( + address indexed from, + address indexed to, + uint256 value + ); + + event Approval( + address indexed owner, + address indexed spender, + uint256 value + ); +} \ No newline at end of file diff --git a/TestToken/Token/Web3SwiftToken.sol b/TestToken/Token/Web3SwiftToken.sol new file mode 100644 index 000000000..631bb9df0 --- /dev/null +++ b/TestToken/Token/Web3SwiftToken.sol @@ -0,0 +1,19 @@ +pragma solidity ^0.4.24; + +import "../Helpers/TokenBasics/ERC20.sol"; + +contract Web3SwiftToken is ERC20 { + + string public constant name = "Web3Swift"; + string public constant symbol = "W3S"; + uint8 public constant decimals = 18; + + uint256 public constant INITIAL_SUPPLY = 10000 * (10 ** uint256(decimals)); + + /** + * @dev Constructor that gives msg.sender all of existing tokens. + */ + constructor() public { + _mint(msg.sender, INITIAL_SUPPLY); + } + diff --git a/web3swiftToken/Helpers/Modifiers/Ownable.sol b/web3swiftToken/Helpers/Modifiers/Ownable.sol deleted file mode 100644 index 60b513f4e..000000000 --- a/web3swiftToken/Helpers/Modifiers/Ownable.sol +++ /dev/null @@ -1,50 +0,0 @@ -pragma solidity ^0.4.23; - - -/** - * @title Ownable - * @dev The Ownable contract has an owner address, and provides basic authorization control - * functions, this simplifies the implementation of "user permissions". - */ -contract Ownable { - address public owner; - - - event OwnershipRenounced(address indexed previousOwner); - event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); - - - /** - * @dev The Ownable constructor sets the original `owner` of the contract to the sender - * account. - */ - constructor() public { - owner = msg.sender; - } - - /** - * @dev Throws if called by any account other than the owner. - */ - modifier onlyOwner() { - require(msg.sender == owner); - _; - } - - /** - * @dev Allows the current owner to transfer control of the contract to a newOwner. - * @param newOwner The address to transfer ownership to. - */ - function transferOwnership(address newOwner) public onlyOwner { - require(newOwner != address(0)); - emit OwnershipTransferred(owner, newOwner); - owner = newOwner; - } - - /** - * @dev Allows the current owner to relinquish control of the contract. - */ - function renounceOwnership() public onlyOwner { - emit OwnershipRenounced(owner); - owner = address(0); - } -} \ No newline at end of file diff --git a/web3swiftToken/Helpers/Modifiers/Pausable.sol b/web3swiftToken/Helpers/Modifiers/Pausable.sol deleted file mode 100644 index 472b0dede..000000000 --- a/web3swiftToken/Helpers/Modifiers/Pausable.sol +++ /dev/null @@ -1,61 +0,0 @@ -pragma solidity ^0.4.23; - - -import "./Ownable.sol"; - - -/** - * @title Pausable - * @dev Base contract which allows children to implement an emergency stop mechanism. - */ -contract Pausable is Ownable { - event Pause(); - event Unpause(); - event NotPausable(); - - bool public paused = false; - bool public canPause = true; - - /** - * @dev Modifier to make a function callable only when the contract is not paused. - */ - modifier whenNotPaused() { - require(!paused || msg.sender == owner); - _; - } - - /** - * @dev Modifier to make a function callable only when the contract is paused. - */ - modifier whenPaused() { - require(paused); - _; - } - - /** - * @dev called by the owner to pause, triggers stopped state - **/ - function pause() onlyOwner whenNotPaused public { - require(canPause == true); - paused = true; - emit Pause(); - } - - /** - * @dev called by the owner to unpause, returns to normal state - */ - function unpause() onlyOwner whenPaused public { - require(paused == true); - paused = false; - emit Unpause(); - } - - /** - * @dev Prevent the token from ever being paused again - **/ - function notPauseable() onlyOwner public{ - paused = false; - canPause = false; - emit NotPausable(); - } -} diff --git a/web3swiftToken/Helpers/SafeMath/SafeMath.sol b/web3swiftToken/Helpers/SafeMath/SafeMath.sol deleted file mode 100644 index 9d69a80f3..000000000 --- a/web3swiftToken/Helpers/SafeMath/SafeMath.sol +++ /dev/null @@ -1,46 +0,0 @@ -pragma solidity ^0.4.23; - -/** - * @title SafeMath - * @dev Math operations with safety checks that throw on error - * @notice https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol - */ -library SafeMath { - /** - * SafeMath mul function - * @dev function for safe multiply, throws on overflow. - **/ - function mul(uint256 a, uint256 b) internal pure returns (uint256) { - uint256 c = a * b; - assert(a == 0 || c / a == b); - return c; - } - - /** - * SafeMath div funciotn - * @dev function for safe devide, throws on overflow. - **/ - function div(uint256 a, uint256 b) internal pure returns (uint256) { - uint256 c = a / b; - return c; - } - - /** - * SafeMath sub function - * @dev function for safe subtraction, throws on overflow. - **/ - function sub(uint256 a, uint256 b) internal pure returns (uint256) { - assert(b <= a); - return a - b; - } - - /** - * SafeMath add function - * @dev Adds two numbers, throws on overflow. - */ - function add(uint256 a, uint256 b) internal pure returns (uint256 c) { - c = a + b; - assert(c >= a); - return c; - } -} \ No newline at end of file diff --git a/web3swiftToken/Helpers/TokenBasics/BasicToken.sol b/web3swiftToken/Helpers/TokenBasics/BasicToken.sol deleted file mode 100644 index 8e8c4f969..000000000 --- a/web3swiftToken/Helpers/TokenBasics/BasicToken.sol +++ /dev/null @@ -1,48 +0,0 @@ -pragma solidity ^0.4.23; - -import "../SafeMath/SafeMath.sol"; -import "./ERC20Basic.sol"; - -/** - * @title Basic token - * @dev Basic version of StandardToken, with no allowances. - */ -contract BasicToken is ERC20Basic { - using SafeMath for uint256; - - mapping(address => uint256) balances; - - uint256 totalSupply_; - - /** - * @dev total number of tokens in existence - */ - function totalSupply() public view returns (uint256) { - return totalSupply_; - } - - /** - * @dev transfer token for a specified address - * @param _to The address to transfer to. - * @param _value The amount to be transferred. - */ - function transfer(address _to, uint256 _value) public returns (bool) { - require(_to != address(0)); - require(_value <= balances[msg.sender]); - - balances[msg.sender] = balances[msg.sender].sub(_value); - balances[_to] = balances[_to].add(_value); - emit Transfer(msg.sender, _to, _value); - return true; - } - - /** - * @dev Gets the balance of the specified address. - * @param _owner The address to query the the balance of. - * @return An uint256 representing the amount owned by the passed address. - */ - function balanceOf(address _owner) public view returns (uint256) { - return balances[_owner]; - } - -} \ No newline at end of file diff --git a/web3swiftToken/Helpers/TokenBasics/ERC20.sol b/web3swiftToken/Helpers/TokenBasics/ERC20.sol deleted file mode 100644 index 2bbadefcf..000000000 --- a/web3swiftToken/Helpers/TokenBasics/ERC20.sol +++ /dev/null @@ -1,14 +0,0 @@ -pragma solidity ^0.4.23; - -import "./ERC20Basic.sol"; - -/** - * @title ERC20 interface - * @dev see https://github.com/ethereum/EIPs/issues/20 - */ -contract ERC20 is ERC20Basic { - function allowance(address owner, address spender) public view returns (uint256); - function transferFrom(address from, address to, uint256 value) public returns (bool); - function approve(address spender, uint256 value) public returns (bool); - event Approval(address indexed owner, address indexed spender, uint256 value); -} \ No newline at end of file diff --git a/web3swiftToken/Helpers/TokenBasics/ERC20Basic.sol b/web3swiftToken/Helpers/TokenBasics/ERC20Basic.sol deleted file mode 100644 index c2d7d20a0..000000000 --- a/web3swiftToken/Helpers/TokenBasics/ERC20Basic.sol +++ /dev/null @@ -1,13 +0,0 @@ -pragma solidity ^0.4.23; - -/** - * @title ERC20Basic - * @dev Simpler version of ERC20 interface - * @dev see https://github.com/ethereum/EIPs/issues/179 - */ -contract ERC20Basic { - function totalSupply() public view returns (uint256); - function balanceOf(address who) public view returns (uint256); - function transfer(address to, uint256 value) public returns (bool); - event Transfer(address indexed from, address indexed to, uint256 value); -} \ No newline at end of file diff --git a/web3swiftToken/Helpers/TokenBasics/StandardToken.sol b/web3swiftToken/Helpers/TokenBasics/StandardToken.sol deleted file mode 100644 index b8bcafd8e..000000000 --- a/web3swiftToken/Helpers/TokenBasics/StandardToken.sol +++ /dev/null @@ -1,102 +0,0 @@ -pragma solidity ^0.4.23; - -import "./ERC20.sol"; -import "./BasicToken.sol"; -import "../SafeMath/SafeMath.sol"; - -/** - * @title Standard ERC20 token - * - * @dev Implementation of the basic standard token. - * @dev https://github.com/ethereum/EIPs/issues/20 - * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol - */ -contract StandardToken is ERC20, BasicToken { - - mapping (address => mapping (address => uint256)) internal allowed; - - /** - * @dev Transfer tokens from one address to another - * @param _from address The address which you want to send tokens from - * @param _to address The address which you want to transfer to - * @param _value uint256 the amount of tokens to be transferred - */ - function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { - require(_to != address(0)); - require(_value <= balances[_from]); - require(_value <= allowed[_from][msg.sender]); - - balances[_from] = balances[_from].sub(_value); - balances[_to] = balances[_to].add(_value); - allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); - emit Transfer(_from, _to, _value); - return true; - } - - /** - * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. - * - * Beware that changing an allowance with this method brings the risk that someone may use both the old - * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this - * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: - * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 - * @param _spender The address which will spend the funds. - * @param _value The amount of tokens to be spent. - */ - function approve(address _spender, uint256 _value) public returns (bool) { - allowed[msg.sender][_spender] = _value; - emit Approval(msg.sender, _spender, _value); - return true; - } - - /** - * @dev Function to check the amount of tokens that an owner allowed to a spender. - * @param _owner address The address which owns the funds. - * @param _spender address The address which will spend the funds. - * @return A uint256 specifying the amount of tokens still available for the spender. - */ - function allowance(address _owner, address _spender) public view returns (uint256) { - return allowed[_owner][_spender]; - } - - /** - * @dev Increase the amount of tokens that an owner allowed to a spender. - * - * approve should be called when allowed[_spender] == 0. To increment - * allowed value is better to use this function to avoid 2 calls (and wait until - * the first transaction is mined) - * From MonolithDAO Token.sol - * @param _spender The address which will spend the funds. - * @param _addedValue The amount of tokens to increase the allowance by. - */ - function increaseApproval(address _spender, uint _addedValue) public returns (bool) { - allowed[msg.sender][_spender] = ( - allowed[msg.sender][_spender].add(_addedValue)); - emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); - return true; - } - - /** - * @dev Decrease the amount of tokens that an owner allowed to a spender. - * - * approve should be called when allowed[_spender] == 0. To decrement - * allowed value is better to use this function to avoid 2 calls (and wait until - * the first transaction is mined) - * From MonolithDAO Token.sol - * @param _spender The address which will spend the funds. - * @param _subtractedValue The amount of tokens to decrease the allowance by. - */ - function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) { - uint oldValue = allowed[msg.sender][_spender]; - - if (_subtractedValue > oldValue) { - allowed[msg.sender][_spender] = 0; - } else { - allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); - } - - emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); - return true; - } - -} \ No newline at end of file diff --git a/web3swiftToken/Helpers/TokenBasics/Web3SwiftToken.sol b/web3swiftToken/Helpers/TokenBasics/Web3SwiftToken.sol deleted file mode 100644 index 1ea799664..000000000 --- a/web3swiftToken/Helpers/TokenBasics/Web3SwiftToken.sol +++ /dev/null @@ -1,19 +0,0 @@ -pragma solidity ^0.4.24; - -import "../../Helpers/TokenBasics/StandardToken.sol"; - -contract web3swift is StandardToken { - string public constant NAME = "web3swift"; - string public constant SYMBOL = "w3s"; - uint256 public constant DECIMALS = 18; - - uint256 public constant INITIAL_SUPPLY = 500000000 * 10**18; - - /** - * @dev Create and issue tokens to msg.sender. - */ - constructor() public { - totalSupply = INITIAL_SUPPLY; - balances[msg.sender] = INITIAL_SUPPLY; - } -} \ No newline at end of file diff --git a/web3swiftToken/Token/Web3SwiftToken.sol b/web3swiftToken/Token/Web3SwiftToken.sol deleted file mode 100644 index d43ed2d6c..000000000 --- a/web3swiftToken/Token/Web3SwiftToken.sol +++ /dev/null @@ -1,19 +0,0 @@ -pragma solidity ^0.4.23; - -import "../../Helpers/TokenBasics/StandardToken.sol"; - -contract web3swift is StandardToken { - string public constant NAME = "web3swift"; - string public constant SYMBOL = "w3s"; - uint256 public constant DECIMALS = 18; - - uint256 public constant INITIAL_SUPPLY = 500000000 * 10**18; - - /** - * @dev Create and issue tokens to msg.sender. - */ - constructor() public { - totalSupply_ = INITIAL_SUPPLY; - balances[msg.sender] = INITIAL_SUPPLY; - } -} \ No newline at end of file From 94bd4496bd461ac72e991f7c4f35757507a44664 Mon Sep 17 00:00:00 2001 From: BaldyAsh Date: Thu, 27 Sep 2018 00:18:46 +0300 Subject: [PATCH 21/66] Added empty docs files --- Documentation/AdvancedUsage.md | 1 + Documentation/Usage.md | 1 + Documentation/web3swift 2.0 Migration Guide.md | 1 + 3 files changed, 3 insertions(+) create mode 100755 Documentation/AdvancedUsage.md create mode 100755 Documentation/Usage.md create mode 100755 Documentation/web3swift 2.0 Migration Guide.md diff --git a/Documentation/AdvancedUsage.md b/Documentation/AdvancedUsage.md new file mode 100755 index 000000000..8b1378917 --- /dev/null +++ b/Documentation/AdvancedUsage.md @@ -0,0 +1 @@ + diff --git a/Documentation/Usage.md b/Documentation/Usage.md new file mode 100755 index 000000000..8b1378917 --- /dev/null +++ b/Documentation/Usage.md @@ -0,0 +1 @@ + diff --git a/Documentation/web3swift 2.0 Migration Guide.md b/Documentation/web3swift 2.0 Migration Guide.md new file mode 100755 index 000000000..8b1378917 --- /dev/null +++ b/Documentation/web3swift 2.0 Migration Guide.md @@ -0,0 +1 @@ + From 4981bf27c0160a655c8dcda9c8f4823bee9049e9 Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Thu, 27 Sep 2018 00:25:43 +0300 Subject: [PATCH 22/66] Update Usage.md --- Documentation/Usage.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/Documentation/Usage.md b/Documentation/Usage.md index 8b1378917..df885c83f 100755 --- a/Documentation/Usage.md +++ b/Documentation/Usage.md @@ -1 +1,36 @@ +## Usage +### Create Account + + +### Import Account + + +### Manage Keystore + + +### Ethereum Address + + +### Get Balance + + +### Prepare Transaction + + +### Send Transaction + + +### Get gas price + + +### Serialize & deserialize transactions + + +### Get result + + +### Get Block number + + +### Get gas price From ebbe5a85ec76bba5d948a6ed1e848c7f99eded0f Mon Sep 17 00:00:00 2001 From: BaldyAsh Date: Thu, 27 Sep 2018 00:31:50 +0300 Subject: [PATCH 23/66] Update Readme --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index b27333325..f3cda6cac 100755 --- a/README.md +++ b/README.md @@ -17,10 +17,10 @@ The work for 2.0 release is about to start. Ideas for new more Swift idiomatic A - [Migration Guides](#migration-guides) - [Communication](#communication) - [Installation](#installation) -- [Usage](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md) - - **Account Management -** [Create Account](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#create-account), [Import Account](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#import-account), [Manage Keystore](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#manage-keystore), [Ethereum Address](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#ethereum-address), [Get Balance](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#get-balance) - - **Transactions Operations -** [Prepare Transaction](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#prepare-transaction), [Send Transaction](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#send-transaction), [Get gas price](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#transaction-gasprice), [Serialize & deserialize transactions](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#serialize-deserialize-transactions), [Get result](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#get-result) - - **Chain State -** [Get Block number](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#get-block-number), [Get gas price](https://github.com/matterinc/web3swift/blob/master/Documentation/Usage.md#block-gasprice) +- [Usage](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md) + - **Account Management -** [Create Account](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#create-account), [Import Account](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#import-account), [Manage Keystore](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#manage-keystore), [Ethereum Address](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#ethereum-address), [Get Balance](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-balance) + - **Transactions Operations -** [Prepare Transaction](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#prepare-transaction), [Send Transaction](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#send-transaction), [Get gas price](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#transaction-gasprice), [Serialize & deserialize transactions](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#serialize-deserialize-transactions), [Get result](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-result) + - **Chain State -** [Get Block number](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-block-number), [Get gas price](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#block-gasprice) - [Example Project](#example-project) - [Credits](#credits) - [Donations](#donations) @@ -37,10 +37,10 @@ The work for 2.0 release is about to start. Ideas for new more Swift idiomatic A - [x] Local keystore management (`geth` compatible) - [x] Batched requests in concurrent mode - [x] Literally following the standards: - - [x] [BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) HD Wallets: Deterministic Wallet - - [x] [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) (Seed phrases) - - [x] [BIP44](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) (Key generation prefixes) - - [x] [EIP-155](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md) (Replay attacks protection) *enforced!* + - [x] [BIP32](https://github.com/bitcoin/bips/blob/feature/readmeImprovement/bip-0032.mediawiki) HD Wallets: Deterministic Wallet + - [x] [BIP39](https://github.com/bitcoin/bips/blob/feature/readmeImprovement/bip-0039.mediawiki) (Seed phrases) + - [x] [BIP44](https://github.com/bitcoin/bips/blob/feature/readmeImprovement/bip-0044.mediawiki) (Key generation prefixes) + - [x] [EIP-155](https://github.com/ethereum/EIPs/blob/feature/readmeImprovement/EIPS/eip-155.md) (Replay attacks protection) *enforced!* - [x] Comprehensive Unit and Integration Test Coverage - [x] [Complete Documentation](https://web3swift.github.io/web3swift) @@ -59,7 +59,7 @@ The work for 2.0 release is about to start. Ideas for new more Swift idiomatic A ## Migration Guides -- [web3swift 2.0 Migration Guide](https://github.com/matterinc/web3swift/blob/master/Documentation/web3swift%202.0%20Migration%20Guide.md) +- [web3swift 2.0 Migration Guide](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/web3swift%202.0%20Migration%20Guide.md) ## Communication @@ -151,4 +151,4 @@ If you use any of our libraries for work, see if your employers would be interes ## License -web3swift is available under the Apache License 2.0 license. See the [LICENSE](https://github.com/matterinc/web3swift/blob/master/LICENSE) for details. +web3swift is available under the Apache License 2.0 license. See the [LICENSE](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/LICENSE) for details. From a135aa93f832b914fb4c441a6bbafc3e64e5d553 Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Thu, 27 Sep 2018 00:41:32 +0300 Subject: [PATCH 24/66] Update Usage.md --- Documentation/Usage.md | 106 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) diff --git a/Documentation/Usage.md b/Documentation/Usage.md index df885c83f..cdfa787b5 100755 --- a/Documentation/Usage.md +++ b/Documentation/Usage.md @@ -2,27 +2,133 @@ ### Create Account +```swift + // Create keystore and account with password. + + let keystore = try! EthereumKeystoreV3(password: "changeme"); // generates a private key internally if node "privateKey" parameter supplied + let account = keystore!.addresses![0] + print(account) + + let data = try! keystore!.serialize() // internally serializes to JSON + print(try! JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions(rawValue:0))) + let key = try! keystore!.UNSAFE_getPrivateKeyData(password: "changeme", account: account) // you should rarely use this and expose a key manually +``` ### Import Account ### Manage Keystore +#### Save keystore to the memory + +```swift +//First you need a `KeystoreManager` instance: +guard let userDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first, + let keystoreManager = KeystoreManager.managerForPath(userDirectory + "/keystore") +else { + fatalError("Couldn't create a KeystoreManager.") +} + +//Next you create a new Keystore: + +let newKeystore = try? EthereumKeystoreV3(password: "YOUR_PASSWORD") + +// Then you save the created keystore to the file system: + +let newKeystoreJSON = try? JSONEncoder().encode(newKeystore.keystoreParams) +FileManager.default.createFile(atPath: "\(keystoreManager.path)/keystore.json", contents: newKeystoreJSON, attributes: nil) + +// Later you can retreive it: + +if let address = keystoreManager.addresses?.first, +let retrievedKeystore = keystoreManager.walletForAddress(address) as? EthereumKeystoreV3 { + return retrievedKeystore +} +``` ### Ethereum Address +#### Initializing Ethereum Address + +```swift +let coldWalletAddress = EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B") +let constractAddress = EthereumAddress("0x45245bc59219eeaaf6cd3f382e078a461ff9de7b", ignoreChecksum: true) +``` +Ethereum addresses are checksum checked if they are not lowercased or uppercased and always length checked ### Get Balance +#### Getting ETH balance + +```swift +let address = EthereumAddress("0xE6877A4d8806e9A9F12eB2e8561EA6c1db19978d")! +let web3Main = Web3.InfuraMainnetWeb3() +let balanceResult = web3Main.eth.getBalance(address) +guard case .success(let balance) = balanceResult else {return} +``` + +#### Getting ERC20 token balance +```swift +let contractAddress = EthereumAddress("0x45245bc59219eeaaf6cd3f382e078a461ff9de7b")! // BKX token on Ethereum mainnet +let contract = web3.contract(Web3.Utils.erc20ABI, at: contractAddress, abiVersion: 2)! // utilize precompiled ERC20 ABI for your concenience +guard let bkxBalanceResult = contract.method("balanceOf", parameters: [coldWalletAddress] as [AnyObject], options: options)?.call(options: nil) else {return} // encode parameters for transaction +guard case .success(let bkxBalance) = bkxBalanceResult, let bal = bkxBalance["0"] as? BigUInt else {return} // bkxBalance is [String: Any], and parameters are enumerated as "0", "1", etc in order of being returned. If returned parameter has a name in ABI, it is also duplicated +print("BKX token balance = " + String(bal)) +``` ### Prepare Transaction +#### Setting Transaction Options + +```swift +var options = Web3Options.defaultOptions() + // public var to: EthereumAddress? = nil - to what address transaction is aimed + // public var from: EthereumAddress? = nil - form what address it should be sent (either signed locally or on the node) + // public var gasLimit: BigUInt? = BigUInt(90000) - default gas limit + // public var gasPrice: BigUInt? = BigUInt(5000000000) - default gas price, quite small + // public var value: BigUInt? = BigUInt(0) - amount of WEI sent along the transaction +options.gasPrice = gasPrice +options.gasLimit = gasLimit +options.from = EthereumAddress("0xE6877A4d8806e9A9F12eB2e8561EA6c1db19978d") +``` ### Send Transaction +#### Sending ETH + +```swift +let web3Rinkeby = Web3.InfuraRinkebyWeb3() +web3Rinkeby.addKeystoreManager(bip32keystoreManager) // attach a keystore if you want to sign locally. Otherwise unsigned request will be sent to remote node +options.from = bip32ks?.addresses?.first! // specify from what address you want to send it +intermediateSend = web3Rinkeby.contract(Web3.Utils.coldWalletABI, at: coldWalletAddress, abiVersion: 2)!.method(options: options)! // an address with a private key attached in not different from any other address, just has very simple ABI +let sendResultBip32 = intermediateSend.send(password: "changeme") +``` + +#### Sending ERC20 +```swift +var convenienceTransferOptions = Web3Options.defaultOptions() +convenienceTransferOptions.gasPrice = gasPriceRinkeby +let convenienceTokenTransfer = web3Rinkeby.eth.sendERC20tokensWithNaturalUnits(tokenAddress: EthereumAddress("0xa407dd0cbc9f9d20cdbd557686625e586c85b20a")!, from: (ks?.addresses?.first!)!, to: EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B")!, amount: "0.0001", options: convenienceTransferOptions) // there are also convenience functions to send ETH and ERC20 under the .eth structure +let gasEstimateResult = convenienceTokenTransfer!.estimateGas(options: nil) +guard case .success(let gasEstimate) = gasEstimateResult else {return} +convenienceTransferOptions.gasLimit = gasEstimate +let convenienceTransferResult = convenienceTokenTransfer!.send(password: "changeme", options: convenienceTransferOptions) +switch convenienceTransferResult { + case .success(let res): + print("Token transfer successful") + print(res) + case .failure(let error): + print(error) +} +``` ### Get gas price +```swift +let web3Main = Web3.InfuraMainnetWeb3() +let gasPriceResult = web3Main.eth.getGasPrice() +guard case .success(let gasPrice) = gasPriceResult else {return} +``` ### Serialize & deserialize transactions From 5fa02a9f5858d75d4e9bee3373662edadf47316a Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Thu, 27 Sep 2018 00:45:18 +0300 Subject: [PATCH 25/66] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f3cda6cac..d49e02458 100755 --- a/README.md +++ b/README.md @@ -19,8 +19,8 @@ The work for 2.0 release is about to start. Ideas for new more Swift idiomatic A - [Installation](#installation) - [Usage](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md) - **Account Management -** [Create Account](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#create-account), [Import Account](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#import-account), [Manage Keystore](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#manage-keystore), [Ethereum Address](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#ethereum-address), [Get Balance](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-balance) - - **Transactions Operations -** [Prepare Transaction](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#prepare-transaction), [Send Transaction](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#send-transaction), [Get gas price](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#transaction-gasprice), [Serialize & deserialize transactions](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#serialize-deserialize-transactions), [Get result](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-result) - - **Chain State -** [Get Block number](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-block-number), [Get gas price](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#block-gasprice) + - **Transactions Operations -** [Prepare Transaction](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#prepare-transaction), [Send Transaction](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#send-transaction), [Get Transaction Gas Price](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-transaction-gas-price), [Serialize And Deserialize Transactions](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#serialize-and-deserialize-transactions), [Get Result](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-result) + - **Chain State -** [Get Block Number](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-block-number), [Get Block Gas Price](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-block-gas-price) - [Example Project](#example-project) - [Credits](#credits) - [Donations](#donations) From dec8c3cf8122ee82917f4d51ca3e8fe88005f22c Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Thu, 27 Sep 2018 01:06:05 +0300 Subject: [PATCH 26/66] Update Usage.md --- Documentation/Usage.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Documentation/Usage.md b/Documentation/Usage.md index cdfa787b5..145e6e5c3 100755 --- a/Documentation/Usage.md +++ b/Documentation/Usage.md @@ -122,7 +122,7 @@ switch convenienceTransferResult { } ``` -### Get gas price +### Get Transaction Gas Price ```swift let web3Main = Web3.InfuraMainnetWeb3() @@ -130,13 +130,13 @@ let gasPriceResult = web3Main.eth.getGasPrice() guard case .success(let gasPrice) = gasPriceResult else {return} ``` -### Serialize & deserialize transactions +### Serialize And Deserialize transactions -### Get result +### Get Result ### Get Block number -### Get gas price +### Get Block Gas Price From 14725e1148bf9f2984684a0d9185dc83666e2dfa Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Thu, 27 Sep 2018 01:08:13 +0300 Subject: [PATCH 27/66] Update Usage.md --- Documentation/Usage.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Documentation/Usage.md b/Documentation/Usage.md index 145e6e5c3..459996bea 100755 --- a/Documentation/Usage.md +++ b/Documentation/Usage.md @@ -1,4 +1,6 @@ -## Usage +# Usage + +## Account Management ### Create Account @@ -76,6 +78,8 @@ guard case .success(let bkxBalance) = bkxBalanceResult, let bal = bkxBalance["0" print("BKX token balance = " + String(bal)) ``` +## Transactions Operations + ### Prepare Transaction #### Setting Transaction Options @@ -136,6 +140,8 @@ guard case .success(let gasPrice) = gasPriceResult else {return} ### Get Result +## Chain state + ### Get Block number From b98c87bba492567dafd4f43db0493fd782311e4e Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Thu, 27 Sep 2018 01:09:58 +0300 Subject: [PATCH 28/66] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d49e02458..b6c46ab58 100755 --- a/README.md +++ b/README.md @@ -147,7 +147,7 @@ If you believe you have identified a security vulnerability with web3swift, you We want to continue to do everything we can to move the needle forward. If you use any of our libraries for work, see if your employers would be interested in donating. Any amount you can donate today to help us reach our goal would be greatly appreciated. -//TODO: - Donate +Our Ether wallet address: 0xe22b8979739d724343bd002f9f432f5990879901 ## License From 8555b857fc92792a9c30b91fdfbf593fd1df9b98 Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Thu, 27 Sep 2018 01:14:53 +0300 Subject: [PATCH 29/66] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index b6c46ab58..d4fc50132 100755 --- a/README.md +++ b/README.md @@ -149,6 +149,8 @@ If you use any of our libraries for work, see if your employers would be interes Our Ether wallet address: 0xe22b8979739d724343bd002f9f432f5990879901 +![Donate](http://qrcoder.ru/code/?0xe22b8979739d724343bd002f9f432f5990879901&4&0) + ## License web3swift is available under the Apache License 2.0 license. See the [LICENSE](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/LICENSE) for details. From 29235a801ca5e7ee48211432f49e651c4b5c7fcf Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Thu, 27 Sep 2018 18:39:50 +0300 Subject: [PATCH 30/66] Update Web3SwiftToken.sol --- TestToken/Token/Web3SwiftToken.sol | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/TestToken/Token/Web3SwiftToken.sol b/TestToken/Token/Web3SwiftToken.sol index 631bb9df0..6f3fab8fd 100644 --- a/TestToken/Token/Web3SwiftToken.sol +++ b/TestToken/Token/Web3SwiftToken.sol @@ -2,13 +2,13 @@ pragma solidity ^0.4.24; import "../Helpers/TokenBasics/ERC20.sol"; -contract Web3SwiftToken is ERC20 { +contract web3swift is ERC20 { - string public constant name = "Web3Swift"; - string public constant symbol = "W3S"; + string public constant name = "web3swift"; + string public constant symbol = "w3s"; uint8 public constant decimals = 18; - uint256 public constant INITIAL_SUPPLY = 10000 * (10 ** uint256(decimals)); + uint256 public constant INITIAL_SUPPLY = 1024 * (10 ** uint256(decimals)); /** * @dev Constructor that gives msg.sender all of existing tokens. From 9ba1a39c5297c4a0324acdd6c3c44341aa6daecf Mon Sep 17 00:00:00 2001 From: BaldyAsh Date: Thu, 27 Sep 2018 18:58:30 +0300 Subject: [PATCH 31/66] Fixed tests with w3s token contract address and matter wallet address --- web3swiftTests/web3swift_EIP67_Tests.swift | 6 +++--- web3swiftTests/web3swift_EIP681_Tests.swift | 4 ++-- .../web3swift_ERC20_Class_Tests.swift | 4 ++-- web3swiftTests/web3swift_ERC20_Tests.swift | 18 +++++++++--------- web3swiftTests/web3swift_ObjC_Tests.swift | 2 +- web3swiftTests/web3swift_User_cases.swift | 6 +++--- web3swiftTests/web3swift_infura_Tests.swift | 2 +- .../web3swift_local_node_Tests.swift | 2 +- web3swiftTests/web3swift_promises_Tests.swift | 10 +++++----- .../web3swift_transactions_Tests.swift | 12 ++++++------ 10 files changed, 33 insertions(+), 33 deletions(-) diff --git a/web3swiftTests/web3swift_EIP67_Tests.swift b/web3swiftTests/web3swift_EIP67_Tests.swift index b72b3991b..757a49964 100755 --- a/web3swiftTests/web3swift_EIP67_Tests.swift +++ b/web3swiftTests/web3swift_EIP67_Tests.swift @@ -18,7 +18,7 @@ import secp256k1_ios class web3swift_EIP67_Tests: XCTestCase { func testEIP67encoding() { - var eip67Data = Web3.EIP67Code.init(address: EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B")!) + var eip67Data = Web3.EIP67Code.init(address: EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901")!) eip67Data.gasLimit = BigUInt(21000) eip67Data.amount = BigUInt("1000000000000000000") // eip67Data.data = @@ -27,7 +27,7 @@ class web3swift_EIP67_Tests: XCTestCase { } func testEIP67codeGeneration() { - var eip67Data = Web3.EIP67Code.init(address: EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B")!) + var eip67Data = Web3.EIP67Code.init(address: EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901")!) eip67Data.gasLimit = BigUInt(21000) eip67Data.amount = BigUInt("1000000000000000000") // eip67Data.data = @@ -36,7 +36,7 @@ class web3swift_EIP67_Tests: XCTestCase { } func testEIP67decoding() { - var eip67Data = Web3.EIP67Code.init(address: EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B")!) + var eip67Data = Web3.EIP67Code.init(address: EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901")!) eip67Data.gasLimit = BigUInt(21000) eip67Data.amount = BigUInt("1000000000000000000") // eip67Data.data = diff --git a/web3swiftTests/web3swift_EIP681_Tests.swift b/web3swiftTests/web3swift_EIP681_Tests.swift index 01412bdba..db2e3a1dd 100644 --- a/web3swiftTests/web3swift_EIP681_Tests.swift +++ b/web3swiftTests/web3swift_EIP681_Tests.swift @@ -16,7 +16,7 @@ class web3swift_EIP681_Tests: XCTestCase { //ERC20 transfer - //ethereum:0x45245bc59219eeaaf6cd3f382e078a461ff9de7b/transfer?address=0x6891dC3962e710f0ff711B9c6acc26133Fd35Cb4&uint256=1 + //ethereum:0x8932404A197D84Ec3Ea55971AADE11cdA1dddff1/transfer?address=0x6891dC3962e710f0ff711B9c6acc26133Fd35Cb4&uint256=1 func testEIP681Parsing() { let parsed = Web3.EIP681CodeParser.parse("ethereum:0x5ffc014343cd971b7eb70732021e26c35b744cc4?value=2.014e18") @@ -24,7 +24,7 @@ class web3swift_EIP681_Tests: XCTestCase { } func testEIP681Parsing2() { - let parsed = Web3.EIP681CodeParser.parse("ethereum:0x45245bc59219eeaaf6cd3f382e078a461ff9de7b/transfer?address=0x6891dC3962e710f0ff711B9c6acc26133Fd35Cb4&uint256=1") + let parsed = Web3.EIP681CodeParser.parse("ethereum:0x8932404A197D84Ec3Ea55971AADE11cdA1dddff1/transfer?address=0x6891dC3962e710f0ff711B9c6acc26133Fd35Cb4&uint256=1") XCTAssert(parsed != nil) } diff --git a/web3swiftTests/web3swift_ERC20_Class_Tests.swift b/web3swiftTests/web3swift_ERC20_Class_Tests.swift index 5ab898dbf..f7478685d 100644 --- a/web3swiftTests/web3swift_ERC20_Class_Tests.swift +++ b/web3swiftTests/web3swift_ERC20_Class_Tests.swift @@ -29,10 +29,10 @@ class web3swift_ERC20_Class_Tests: XCTestCase { let web3 = Web3.InfuraMainnetWeb3() let SALTtokenAddress = EthereumAddress("0x4156D3342D5c385a87D264F90653733592000581")! let erc20token = ERC20.init(web3: web3, provider: web3.provider, address: SALTtokenAddress) - let userAddress = EthereumAddress("0x6394b37cf80a7358b38068f0ca4760ad49983a1b")! + let userAddress = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901")! guard case .success(let balance) = erc20token.getBalance(account: userAddress) else {return XCTFail()} guard case .success(let allowance) = erc20token.getAllowance(originalOwner: userAddress, delegate: userAddress) else {return XCTFail()} - XCTAssert(String(balance) == "28986212") + XCTAssert(String(balance) == "0") XCTAssert(allowance == 0) } } diff --git a/web3swiftTests/web3swift_ERC20_Tests.swift b/web3swiftTests/web3swift_ERC20_Tests.swift index f7017740e..f2eb67dd1 100755 --- a/web3swiftTests/web3swift_ERC20_Tests.swift +++ b/web3swiftTests/web3swift_ERC20_Tests.swift @@ -101,11 +101,11 @@ class web3swift_ERC20_Tests: XCTestCase { func testInfuraERC20name() { let jsonString = "[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"remaining\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"inputs\":[{\"name\":\"_initialAmount\",\"type\":\"uint256\"},{\"name\":\"_tokenName\",\"type\":\"string\"},{\"name\":\"_decimalUnits\",\"type\":\"uint8\"},{\"name\":\"_tokenSymbol\",\"type\":\"string\"}],\"type\":\"constructor\"},{\"payable\":false,\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},]" let web3 = Web3.InfuraMainnetWeb3() - let contractAddress = EthereumAddress("0x45245bc59219eeaaf6cd3f382e078a461ff9de7b") + let contractAddress = EthereumAddress("0x8932404A197D84Ec3Ea55971AADE11cdA1dddff1") let contract = web3.contract(jsonString, at: contractAddress) XCTAssert(contract != nil, "Failed to create ERC20 contract from ABI") var options = Web3Options.defaultOptions() - options.from = EthereumAddress("0xE6877A4d8806e9A9F12eB2e8561EA6c1db19978d") + options.from = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901") let parameters = [] as [AnyObject] let transactionIntermediate = contract?.method("name", parameters:parameters, options: options) let result = transactionIntermediate!.call(options: options) @@ -115,18 +115,18 @@ class web3swift_ERC20_Tests: XCTestCase { XCTFail() case .success(let response): let name = response["0"] as? String - XCTAssert(name == "\"BANKEX\" project utility token", "Failed to create ERC20 name transaction") + XCTAssert(name == "web3swift", "Failed to create ERC20 name transaction") } } func testInfuraERC20nameUsingABIv2() { let jsonString = "[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"},{\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"approveAndCall\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"remaining\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"inputs\":[{\"name\":\"_initialAmount\",\"type\":\"uint256\"},{\"name\":\"_tokenName\",\"type\":\"string\"},{\"name\":\"_decimalUnits\",\"type\":\"uint8\"},{\"name\":\"_tokenSymbol\",\"type\":\"string\"}],\"type\":\"constructor\"},{\"payable\":false,\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},]" let web3 = Web3.InfuraMainnetWeb3() - let contractAddress = EthereumAddress("0x45245bc59219eeaaf6cd3f382e078a461ff9de7b") + let contractAddress = EthereumAddress("0x8932404A197D84Ec3Ea55971AADE11cdA1dddff1") let contract = web3.contract(jsonString, at: contractAddress,abiVersion: 2) XCTAssert(contract != nil, "Failed to create ERC20 contract from ABI") var options = Web3Options.defaultOptions() - options.from = EthereumAddress("0xE6877A4d8806e9A9F12eB2e8561EA6c1db19978d") + options.from = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901") let parameters = [] as [AnyObject] let transactionIntermediate = contract?.method("name", parameters:parameters, options: options) let result = transactionIntermediate!.call(options: options) @@ -136,17 +136,17 @@ class web3swift_ERC20_Tests: XCTestCase { XCTFail() case .success(let response): let name = response["0"] as? String - XCTAssert(name == "\"BANKEX\" project utility token", "Failed to create ERC20 name transaction") + XCTAssert(name == "web3swift", "Failed to create ERC20 name transaction") print("Token name = " + name!) } } func testERC20tokenBalance() { let web3 = Web3.InfuraMainnetWeb3() - let contract = web3.contract(Web3.Utils.erc20ABI, at: EthereumAddress("0x45245bc59219eeaaf6cd3f382e078a461ff9de7b")!, abiVersion: 2) + let contract = web3.contract(Web3.Utils.erc20ABI, at: EthereumAddress("0x8932404A197D84Ec3Ea55971AADE11cdA1dddff1")!, abiVersion: 2) var options = Web3Options(); - options.from = EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B")! - let addressOfUser = EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B")! + options.from = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901")! + let addressOfUser = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901")! guard let tokenBalanceResult = contract?.method("balanceOf", parameters: [addressOfUser] as [AnyObject], options: options)?.call(options: nil) else {return XCTFail()} guard case .success(let tokenBalance) = tokenBalanceResult, let bal = tokenBalance["0"] as? BigUInt else {return XCTFail()} print(String(bal)) diff --git a/web3swiftTests/web3swift_ObjC_Tests.swift b/web3swiftTests/web3swift_ObjC_Tests.swift index 4c46f5e9a..0a0e2ddc1 100755 --- a/web3swiftTests/web3swift_ObjC_Tests.swift +++ b/web3swiftTests/web3swift_ObjC_Tests.swift @@ -12,7 +12,7 @@ import XCTest class web3swift_ObjC_Tests: XCTestCase { func testBalance() { let web3 = _ObjCWeb3.InfuraMainnetWeb3() - let address = _ObjCEthereumAddress(address: "0x6394b37Cf80A7358b38068f0CA4760ad49983a1B") + let address = _ObjCEthereumAddress(address: "0xe22b8979739D724343bd002F9f432F5990879901") let err: NSErrorPointer = NSErrorPointer(nilLiteral: ()) let balance = web3.web3Eth.getBalance(address: address, error: err) XCTAssert(err?.pointee == nil) diff --git a/web3swiftTests/web3swift_User_cases.swift b/web3swiftTests/web3swift_User_cases.swift index e55b824b3..cbfc70ad9 100755 --- a/web3swiftTests/web3swift_User_cases.swift +++ b/web3swiftTests/web3swift_User_cases.swift @@ -54,7 +54,7 @@ class web3swift_User_cases: XCTestCase { let keystoreManager = KeystoreManager.init([keystoreV3]) web3Rinkeby.addKeystoreManager(keystoreManager) guard case .success(let gasPriceRinkeby) = web3Rinkeby.eth.getGasPrice() else {return XCTFail()} - let sendToAddress = EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B")! + let sendToAddress = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901")! guard let intermediate = web3Rinkeby.eth.sendETH(to: sendToAddress, amount: "0.001") else {return XCTFail()} var options = Web3Options.defaultOptions() options.from = keystoreV3.addresses?.first @@ -72,7 +72,7 @@ class web3swift_User_cases: XCTestCase { let keystoreManager = KeystoreManager.init([keystoreV3]) web3Rinkeby.addKeystoreManager(keystoreManager) guard case .success(let gasPriceRinkeby) = web3Rinkeby.eth.getGasPrice() else {return XCTFail()} - let sendToAddress = EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B")! + let sendToAddress = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901")! guard let intermediate = web3Rinkeby.eth.sendETH(to: sendToAddress, amount: "0.001") else {return XCTFail()} var options = Web3Options.defaultOptions() options.from = keystoreV3.addresses?.first @@ -108,7 +108,7 @@ class web3swift_User_cases: XCTestCase { func testNonBatchedRequest() { let web3 = Web3.InfuraMainnetWeb3() - let address = EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B")! + let address = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901")! web3.requestDispatcher.policy = .NoBatching let balanceResult = web3.eth.getBalance(address: address) switch balanceResult { diff --git a/web3swiftTests/web3swift_infura_Tests.swift b/web3swiftTests/web3swift_infura_Tests.swift index 04c81c9b1..7b9dcf70a 100755 --- a/web3swiftTests/web3swift_infura_Tests.swift +++ b/web3swiftTests/web3swift_infura_Tests.swift @@ -13,7 +13,7 @@ class web3swift_infura_Tests: XCTestCase { func testGetBalance() { let web3 = Web3.InfuraMainnetWeb3() - let address = EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B")! + let address = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901")! let response = web3.eth.getBalance(address: address) switch response { case .failure(_): diff --git a/web3swiftTests/web3swift_local_node_Tests.swift b/web3swiftTests/web3swift_local_node_Tests.swift index 77fee87f7..99dcc11d4 100755 --- a/web3swiftTests/web3swift_local_node_Tests.swift +++ b/web3swiftTests/web3swift_local_node_Tests.swift @@ -54,7 +54,7 @@ class web3swift_local_node_Tests: XCTestCase { func testEthSendExampleWithRemoteSigning() { let web3 = Web3.new(URL.init(string: "http://127.0.0.1:8545")!)! guard case .success(let allAddresses) = web3.eth.getAccounts() else {return XCTFail()} - let sendToAddress = EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B") + let sendToAddress = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901") let contract = web3.contract(Web3.Utils.coldWalletABI, at: sendToAddress, abiVersion: 2) var options = Web3Options.defaultOptions() options.value = Web3.Utils.parseToBigUInt("1.0", units: .eth) diff --git a/web3swiftTests/web3swift_promises_Tests.swift b/web3swiftTests/web3swift_promises_Tests.swift index dcabc36ac..478ab302a 100755 --- a/web3swiftTests/web3swift_promises_Tests.swift +++ b/web3swiftTests/web3swift_promises_Tests.swift @@ -17,7 +17,7 @@ class web3swift_promises_Tests: XCTestCase { func testGetBalancePromise() { do { let web3 = Web3.InfuraMainnetWeb3() - let balance = try web3.eth.getBalancePromise(address: "0x6394b37Cf80A7358b38068f0CA4760ad49983a1B").wait() + let balance = try web3.eth.getBalancePromise(address: "0xe22b8979739D724343bd002F9f432F5990879901").wait() print(balance) } catch { print(error) @@ -38,7 +38,7 @@ class web3swift_promises_Tests: XCTestCase { func testEstimateGasPromise() { do { let web3 = Web3.InfuraMainnetWeb3() - let sendToAddress = EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B") + let sendToAddress = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901") let tempKeystore = try! EthereumKeystoreV3(password: "") let keystoreManager = KeystoreManager([tempKeystore!]) web3.addKeystoreManager(keystoreManager) @@ -64,7 +64,7 @@ class web3swift_promises_Tests: XCTestCase { let keystoreManager = KeystoreManager.init([keystoreV3]) web3Rinkeby.addKeystoreManager(keystoreManager) guard case .success(let gasPriceRinkeby) = web3Rinkeby.eth.getGasPrice() else {return} - let sendToAddress = EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B")! + let sendToAddress = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901")! guard let intermediate = web3Rinkeby.eth.sendETH(to: sendToAddress, amount: "0.001") else {return XCTFail()} var options = Web3Options.defaultOptions() options.from = keystoreV3.addresses?.first @@ -80,8 +80,8 @@ class web3swift_promises_Tests: XCTestCase { func testERC20tokenBalancePromise() { do { let web3 = Web3.InfuraMainnetWeb3() - let contract = web3.contract(Web3.Utils.erc20ABI, at: EthereumAddress("0x45245bc59219eeaaf6cd3f382e078a461ff9de7b")!, abiVersion: 2) - let addressOfUser = EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B")! + let contract = web3.contract(Web3.Utils.erc20ABI, at: EthereumAddress("0x8932404A197D84Ec3Ea55971AADE11cdA1dddff1")!, abiVersion: 2) + let addressOfUser = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901")! let tokenBalance = try contract!.method("balanceOf", parameters: [addressOfUser] as [AnyObject], options: nil)!.callPromise(options: nil).wait() guard let bal = tokenBalance["0"] as? BigUInt else {return XCTFail()} print(String(bal)) diff --git a/web3swiftTests/web3swift_transactions_Tests.swift b/web3swiftTests/web3swift_transactions_Tests.swift index 47104fe21..30b5d362e 100755 --- a/web3swiftTests/web3swift_transactions_Tests.swift +++ b/web3swiftTests/web3swift_transactions_Tests.swift @@ -48,7 +48,7 @@ class web3swift_transactions_Tests: XCTestCase { func testEthSendExample() { let web3 = Web3.InfuraMainnetWeb3() - let sendToAddress = EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B")! + let sendToAddress = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901")! let tempKeystore = try! EthereumKeystoreV3(password: "") let keystoreManager = KeystoreManager([tempKeystore!]) web3.addKeystoreManager(keystoreManager) @@ -109,7 +109,7 @@ class web3swift_transactions_Tests: XCTestCase { let keystoreManager = KeystoreManager.init([keystoreV3]) web3Rinkeby.addKeystoreManager(keystoreManager) guard case .success(let gasPriceRinkeby) = web3Rinkeby.eth.getGasPrice() else {return} - let sendToAddress = EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B")! + let sendToAddress = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901")! guard let intermediate = web3Rinkeby.eth.sendETH(to: sendToAddress, amount: "0.001") else {return XCTFail()} var options = Web3Options.defaultOptions() options.from = keystoreV3.addresses?.first @@ -127,8 +127,8 @@ class web3swift_transactions_Tests: XCTestCase { func testTokenBalanceTransferOnMainNet() { // BKX TOKEN let web3 = Web3.InfuraMainnetWeb3() - let coldWalletAddress = EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B")! - let contractAddress = EthereumAddress("0x45245bc59219eeaaf6cd3f382e078a461ff9de7b")! + let coldWalletAddress = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901")! + let contractAddress = EthereumAddress("0x8932404A197D84Ec3Ea55971AADE11cdA1dddff1")! var options = Web3Options() options.from = coldWalletAddress let tempKeystore = try! EthereumKeystoreV3(password: "") @@ -148,8 +148,8 @@ class web3swift_transactions_Tests: XCTestCase { func testTokenBalanceTransferOnMainNetUsingConvenience() { // BKX TOKEN let web3 = Web3.InfuraMainnetWeb3() - let coldWalletAddress = EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B")! - let contractAddress = EthereumAddress("0x45245bc59219eeaaf6cd3f382e078a461ff9de7b")! + let coldWalletAddress = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901")! + let contractAddress = EthereumAddress("0x8932404A197D84Ec3Ea55971AADE11cdA1dddff1")! let tempKeystore = try! EthereumKeystoreV3(password: "") let keystoreManager = KeystoreManager([tempKeystore!]) web3.addKeystoreManager(keystoreManager) From 60634b5142332232f6fef038a5a5abe1c679d6cf Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Fri, 28 Sep 2018 15:42:56 +0300 Subject: [PATCH 32/66] Update web3swift_ERC20_Class_Tests.swift --- web3swiftTests/web3swift_ERC20_Class_Tests.swift | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/web3swiftTests/web3swift_ERC20_Class_Tests.swift b/web3swiftTests/web3swift_ERC20_Class_Tests.swift index f7478685d..3857f73e7 100644 --- a/web3swiftTests/web3swift_ERC20_Class_Tests.swift +++ b/web3swiftTests/web3swift_ERC20_Class_Tests.swift @@ -17,22 +17,22 @@ class web3swift_ERC20_Class_Tests: XCTestCase { func testERC20TokenCreation() { let web3 = Web3.InfuraMainnetWeb3() - let SALTtokenAddress = EthereumAddress("0x4156D3342D5c385a87D264F90653733592000581")! - let erc20token = ERC20.init(web3: web3, provider: web3.provider, address: SALTtokenAddress) + let w3sTokenAddress = EthereumAddress("0x8932404A197D84Ec3Ea55971AADE11cdA1dddff1")! + let erc20token = ERC20.init(web3: web3, provider: web3.provider, address: w3sTokenAddress) erc20token.readProperties() - XCTAssert(erc20token.symbol == "SALT") - XCTAssert(erc20token.name == "Salt") - XCTAssert(erc20token.decimals == 8) + XCTAssert(erc20token.symbol == "w3s") + XCTAssert(erc20token.name == "web3swift") + XCTAssert(erc20token.decimals == 18) } func testERC20tokenBalanceAndAllowance() { let web3 = Web3.InfuraMainnetWeb3() - let SALTtokenAddress = EthereumAddress("0x4156D3342D5c385a87D264F90653733592000581")! - let erc20token = ERC20.init(web3: web3, provider: web3.provider, address: SALTtokenAddress) + let w3sTokenAddress = EthereumAddress("0x8932404A197D84Ec3Ea55971AADE11cdA1dddff1")! + let erc20token = ERC20.init(web3: web3, provider: web3.provider, address: w3sTokenAddress) let userAddress = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901")! guard case .success(let balance) = erc20token.getBalance(account: userAddress) else {return XCTFail()} guard case .success(let allowance) = erc20token.getAllowance(originalOwner: userAddress, delegate: userAddress) else {return XCTFail()} - XCTAssert(String(balance) == "0") + XCTAssert(String(balance) == "1024000000000000000000") XCTAssert(allowance == 0) } } From 2321aeb5bca126e6805de9cf0ebeca3263191d53 Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Fri, 28 Sep 2018 17:22:52 +0300 Subject: [PATCH 33/66] Update Usage.md --- Documentation/Usage.md | 151 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 144 insertions(+), 7 deletions(-) diff --git a/Documentation/Usage.md b/Documentation/Usage.md index 459996bea..ca5dff65a 100755 --- a/Documentation/Usage.md +++ b/Documentation/Usage.md @@ -4,20 +4,157 @@ ### Create Account +#### Create Account With Private Key ```swift - // Create keystore and account with password. + public func createWalletWithPrivateKey(withName: String?, + password: String, + completion: @escaping (KeyWalletModel?, Error?) -> Void) + { + guard let newWallet = try? EthereumKeystoreV3(password: password) else { + completion(nil, WalletSavingError.couldNotCreateKeystore) + return + } + guard let wallet = newWallet, wallet.addresses?.count == 1 else { + completion(nil, WalletSavingError.couldNotCreateWalletWithAddress) + return + } + guard let keyData = try? JSONEncoder().encode(wallet.keystoreParams) else { + completion(nil, WalletSavingError.couldNotGetKeyData) + return + } + guard let address = wallet.addresses?.first?.address else { + completion(nil, WalletSavingError.couldNotCreateAddress) + return + } + let walletModel = KeyWalletModel(address: address, + data: keyData, + name: withName ?? "", + isHD: false) + completion(walletModel, nil) + } + +``` + +#### Create Account With Mnemonics Phrase +```swift + func generateMnemonics(bitsOfEntropy: Int) -> String? { + guard let mnemonics = try? BIP39.generateMnemonics(bitsOfEntropy: bitsOfEntropy), + let unwrapped = mnemonics else { + return nil + } + return unwrapped + } - let keystore = try! EthereumKeystoreV3(password: "changeme"); // generates a private key internally if node "privateKey" parameter supplied - let account = keystore!.addresses![0] - print(account) + func createHDWallet(withName name: String, + password: String, + completion: @escaping (KeyWalletModel?, Error?) -> Void) + { + + guard let mnemonics = keysService.generateMnemonics(bitsOfEntropy: 128) else { + completion(nil, WalletSavingError.couldNotGenerateMnemonics) + return + } - let data = try! keystore!.serialize() // internally serializes to JSON - print(try! JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions(rawValue:0))) - let key = try! keystore!.UNSAFE_getPrivateKeyData(password: "changeme", account: account) // you should rarely use this and expose a key manually + guard let keystore = try? BIP32Keystore( + mnemonics: mnemonics, + password: password, + mnemonicsPassword: "", + language: .english + ), + let wallet = keystore else { + completion(nil, WalletSavingError.couldNotCreateKeystore) + return + } + guard let address = wallet.addresses?.first?.address else { + completion(nil, WalletSavingError.couldNotCreateAddress) + return + } + guard let keyData = try? JSONEncoder().encode(wallet.keystoreParams) else { + completion(nil, WalletSavingError.couldNotGetKeyData) + return + } + let walletModel = KeyWalletModel(address: address, + data: keyData, + name: name, + isHD: true) + completion(walletModel, nil) + } ``` ### Import Account +#### Import Account With Private Key +```swift + public func addWalletWithPrivateKey(withName: String?, + key: String, + password: String, + completion: @escaping (KeyWalletModel?, Error?) -> Void) + { + let text = key.trimmingCharacters(in: .whitespacesAndNewlines) + + guard let data = Data.fromHex(text) else { + completion(nil, WalletSavingError.wrongKey) + return + } + + guard let newWallet = try? EthereumKeystoreV3(privateKey: data, password: password) else { + completion(nil, WalletSavingError.couldNotSaveTheWallet) + return + } + + guard let wallet = newWallet, wallet.addresses?.count == 1 else { + completion(nil, WalletSavingError.couldNotCreateWalletWithAddress) + return + } + guard let keyData = try? JSONEncoder().encode(wallet.keystoreParams) else { + completion(nil, WalletSavingError.couldNotGetKeyData) + return + } + guard let address = newWallet?.addresses?.first?.address else { + completion(nil, WalletSavingError.couldNotCreateAddress) + return + } + let walletModel = KeyWalletModel(address: address, + data: keyData, + name: withName ?? "", + isHD: false) + completion(walletModel, nil) + } + +``` + +#### Import Account With Mnemonics Phrase +```swift + func addHDWallet(withName name: String, + password: String, + mnemonics: String, + completion: @escaping (KeyWalletModel?, Error?) -> Void) + { + guard let keystore = try? BIP32Keystore( + mnemonics: mnemonics, + password: password, + mnemonicsPassword: "", + language: .english + ), + let wallet = keystore else { + completion(nil, WalletSavingError.couldNotCreateKeystore) + return + } + guard let address = wallet.addresses?.first?.address else { + completion(nil, WalletSavingError.couldNotCreateAddress) + return + } + guard let keyData = try? JSONEncoder().encode(wallet.keystoreParams) else { + completion(nil, WalletSavingError.couldNotGetKeyData) + return + } + let walletModel = KeyWalletModel(address: address, + data: keyData, + name: name, + isHD: true) + completion(walletModel, nil) + } +``` ### Manage Keystore From e3b4f9534c09bd2b18eac84043c022249c3c88f9 Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Fri, 28 Sep 2018 17:30:23 +0300 Subject: [PATCH 34/66] Update Usage.md --- Documentation/Usage.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Documentation/Usage.md b/Documentation/Usage.md index ca5dff65a..fb33a92ad 100755 --- a/Documentation/Usage.md +++ b/Documentation/Usage.md @@ -45,7 +45,7 @@ return unwrapped } - func createHDWallet(withName name: String, + func createHDWallet(withName name: String?, password: String, completion: @escaping (KeyWalletModel?, Error?) -> Void) { @@ -75,7 +75,7 @@ } let walletModel = KeyWalletModel(address: address, data: keyData, - name: name, + name: name ?? "", isHD: true) completion(walletModel, nil) } @@ -125,7 +125,7 @@ #### Import Account With Mnemonics Phrase ```swift - func addHDWallet(withName name: String, + func addHDWallet(withName name: String?, password: String, mnemonics: String, completion: @escaping (KeyWalletModel?, Error?) -> Void) @@ -150,7 +150,7 @@ } let walletModel = KeyWalletModel(address: address, data: keyData, - name: name, + name: name ?? "", isHD: true) completion(walletModel, nil) } From 8b820c7b0883317bdcd16b5a8a89520158229436 Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Fri, 28 Sep 2018 17:57:38 +0300 Subject: [PATCH 35/66] Update Usage.md --- Documentation/Usage.md | 110 +++++++++++++++++++++++++++++++++++------ 1 file changed, 94 insertions(+), 16 deletions(-) diff --git a/Documentation/Usage.md b/Documentation/Usage.md index fb33a92ad..6b6e6632e 100755 --- a/Documentation/Usage.md +++ b/Documentation/Usage.md @@ -2,6 +2,36 @@ ## Account Management +#### Preffered Key Wallet Model + +```swift + struct KeyWalletModel { + let address: String + let data: Data? + let name: String + let isHD: Bool + + static func fromCoreData(crModel: KeyWallet) -> KeyWalletModel { + let model = KeyWalletModel(address: crModel.address ?? "", + data: crModel.data, + name: crModel.name ?? "", + isHD: crModel.isHD) + return model + } +} + + extension KeyWalletModel: Equatable { + static func == (lhs: KeyWalletModel, rhs: KeyWalletModel) -> Bool { + return lhs.address == rhs.address + } + } + + struct HDKey { + let name: String? + let address: String + } +``` + ### Create Account #### Create Account With Private Key @@ -161,28 +191,76 @@ #### Save keystore to the memory ```swift -//First you need a `KeystoreManager` instance: -guard let userDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first, - let keystoreManager = KeystoreManager.managerForPath(userDirectory + "/keystore") -else { - fatalError("Couldn't create a KeystoreManager.") -} + //First you need a `KeystoreManager` instance: + guard let userDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first, + let keystoreManager = KeystoreManager.managerForPath(userDirectory + "/keystore") + else { + fatalError("Couldn't create a KeystoreManager.") + } -//Next you create a new Keystore: + // Next you create a new Keystore: -let newKeystore = try? EthereumKeystoreV3(password: "YOUR_PASSWORD") + let newKeystore = try? EthereumKeystoreV3(password: "YOUR_PASSWORD") -// Then you save the created keystore to the file system: + // Then you save the created keystore to the file system: -let newKeystoreJSON = try? JSONEncoder().encode(newKeystore.keystoreParams) -FileManager.default.createFile(atPath: "\(keystoreManager.path)/keystore.json", contents: newKeystoreJSON, attributes: nil) + let newKeystoreJSON = try? JSONEncoder().encode(newKeystore.keystoreParams) + FileManager.default.createFile(atPath: "\(keystoreManager.path)/keystore.json", contents: newKeystoreJSON, attributes: nil) -// Later you can retreive it: + // Later you can retreive it: -if let address = keystoreManager.addresses?.first, -let retrievedKeystore = keystoreManager.walletForAddress(address) as? EthereumKeystoreV3 { - return retrievedKeystore -} + if let address = keystoreManager.addresses?.first, + let retrievedKeystore = keystoreManager.walletForAddress(address) as? EthereumKeystoreV3 { + return retrievedKeystore + } +``` + +#### Get Keysore Manager + +```swift + + func getWallet() -> KeyWalletModel? { + let requestWallet: NSFetchRequest = KeyWallet.fetchRequest() + requestWallet.predicate = NSPredicate(format: "isSelected = %@", NSNumber(value: true)) + do { + let results = try mainContext.fetch(requestWallet) + guard let result = results.first else { return nil } + return KeyWalletModel.fromCoreData(crModel: result) + + } catch { + print(error) + return nil + } + + } + + func keystoreManager() -> KeystoreManager { + // Firstly you need to get + guard let selectedWallet = getWallet(), + let data = selectedWallet.data else { + return KeystoreManager.defaultManager! + } + if selectedWallet.isHD { + return KeystoreManager([BIP32Keystore(data)!]) + } else { + return KeystoreManager([EthereumKeystoreV3(data)!]) + } + } +``` + +#### Get private key data + +```swift + func getPrivateKey(forWallet wallet: KeyWalletModel, password: String) -> String? { + do { + guard let ethereumAddress = EthereumAddress(wallet.address) else { return nil } + let pkData = try keystoreManager().UNSAFE_getPrivateKeyData(password: password, account: ethereumAddress) + return pkData.toHexString() + } catch { + print(error) + return nil + } + } ``` ### Ethereum Address From 5c0f3ef0f3ba3b1bcbcc0d0b1f71ee07e6636079 Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Fri, 28 Sep 2018 17:58:01 +0300 Subject: [PATCH 36/66] Update Usage.md --- Documentation/Usage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/Usage.md b/Documentation/Usage.md index 6b6e6632e..7793c992d 100755 --- a/Documentation/Usage.md +++ b/Documentation/Usage.md @@ -17,8 +17,8 @@ name: crModel.name ?? "", isHD: crModel.isHD) return model + } } -} extension KeyWalletModel: Equatable { static func == (lhs: KeyWalletModel, rhs: KeyWalletModel) -> Bool { From f5f9f7146d57971dfb1451bbeb9fd0c0908e31fa Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Fri, 28 Sep 2018 18:00:06 +0300 Subject: [PATCH 37/66] Update Usage.md --- Documentation/Usage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/Usage.md b/Documentation/Usage.md index 7793c992d..fd4821da7 100755 --- a/Documentation/Usage.md +++ b/Documentation/Usage.md @@ -269,7 +269,7 @@ ```swift let coldWalletAddress = EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B") -let constractAddress = EthereumAddress("0x45245bc59219eeaaf6cd3f382e078a461ff9de7b", ignoreChecksum: true) +let contractAddress = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901", ignoreChecksum: true) ``` Ethereum addresses are checksum checked if they are not lowercased or uppercased and always length checked From 6095454776abc02f10caa5d6e5bc34577cd9349d Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Fri, 28 Sep 2018 18:15:06 +0300 Subject: [PATCH 38/66] Update Usage.md --- Documentation/Usage.md | 397 ++++++++++++++++++++--------------------- 1 file changed, 197 insertions(+), 200 deletions(-) diff --git a/Documentation/Usage.md b/Documentation/Usage.md index fd4821da7..a11548a59 100755 --- a/Documentation/Usage.md +++ b/Documentation/Usage.md @@ -5,185 +5,185 @@ #### Preffered Key Wallet Model ```swift - struct KeyWalletModel { - let address: String - let data: Data? - let name: String - let isHD: Bool - - static func fromCoreData(crModel: KeyWallet) -> KeyWalletModel { - let model = KeyWalletModel(address: crModel.address ?? "", - data: crModel.data, - name: crModel.name ?? "", - isHD: crModel.isHD) - return model - } +struct KeyWalletModel { + let address: String + let data: Data? + let name: String + let isHD: Bool + + static func fromCoreData(crModel: KeyWallet) -> KeyWalletModel { + let model = KeyWalletModel(address: crModel.address ?? "", + data: crModel.data, + name: crModel.name ?? "", + isHD: crModel.isHD) + return model } +} - extension KeyWalletModel: Equatable { - static func == (lhs: KeyWalletModel, rhs: KeyWalletModel) -> Bool { - return lhs.address == rhs.address - } +extension KeyWalletModel: Equatable { + static func == (lhs: KeyWalletModel, rhs: KeyWalletModel) -> Bool { + return lhs.address == rhs.address } +} - struct HDKey { - let name: String? - let address: String - } +struct HDKey { + let name: String? + let address: String +} ``` ### Create Account #### Create Account With Private Key ```swift - public func createWalletWithPrivateKey(withName: String?, - password: String, - completion: @escaping (KeyWalletModel?, Error?) -> Void) - { - guard let newWallet = try? EthereumKeystoreV3(password: password) else { - completion(nil, WalletSavingError.couldNotCreateKeystore) - return - } - guard let wallet = newWallet, wallet.addresses?.count == 1 else { - completion(nil, WalletSavingError.couldNotCreateWalletWithAddress) - return - } - guard let keyData = try? JSONEncoder().encode(wallet.keystoreParams) else { - completion(nil, WalletSavingError.couldNotGetKeyData) - return - } - guard let address = wallet.addresses?.first?.address else { - completion(nil, WalletSavingError.couldNotCreateAddress) - return - } - let walletModel = KeyWalletModel(address: address, - data: keyData, - name: withName ?? "", - isHD: false) - completion(walletModel, nil) +public func createWalletWithPrivateKey(withName: String?, + password: String, + completion: @escaping (KeyWalletModel?, Error?) -> Void) +{ + guard let newWallet = try? EthereumKeystoreV3(password: password) else { + completion(nil, WalletSavingError.couldNotCreateKeystore) + return + } + guard let wallet = newWallet, wallet.addresses?.count == 1 else { + completion(nil, WalletSavingError.couldNotCreateWalletWithAddress) + return } + guard let keyData = try? JSONEncoder().encode(wallet.keystoreParams) else { + completion(nil, WalletSavingError.couldNotGetKeyData) + return + } + guard let address = wallet.addresses?.first?.address else { + completion(nil, WalletSavingError.couldNotCreateAddress) + return + } + let walletModel = KeyWalletModel(address: address, + data: keyData, + name: withName ?? "", + isHD: false) + completion(walletModel, nil) +} ``` #### Create Account With Mnemonics Phrase ```swift - func generateMnemonics(bitsOfEntropy: Int) -> String? { - guard let mnemonics = try? BIP39.generateMnemonics(bitsOfEntropy: bitsOfEntropy), - let unwrapped = mnemonics else { - return nil - } - return unwrapped +func generateMnemonics(bitsOfEntropy: Int) -> String? { + guard let mnemonics = try? BIP39.generateMnemonics(bitsOfEntropy: bitsOfEntropy), + let unwrapped = mnemonics else { + return nil } - - func createHDWallet(withName name: String?, - password: String, - completion: @escaping (KeyWalletModel?, Error?) -> Void) - { - - guard let mnemonics = keysService.generateMnemonics(bitsOfEntropy: 128) else { - completion(nil, WalletSavingError.couldNotGenerateMnemonics) - return - } - - guard let keystore = try? BIP32Keystore( - mnemonics: mnemonics, - password: password, - mnemonicsPassword: "", - language: .english - ), - let wallet = keystore else { - completion(nil, WalletSavingError.couldNotCreateKeystore) - return - } - guard let address = wallet.addresses?.first?.address else { - completion(nil, WalletSavingError.couldNotCreateAddress) - return - } - guard let keyData = try? JSONEncoder().encode(wallet.keystoreParams) else { - completion(nil, WalletSavingError.couldNotGetKeyData) - return - } - let walletModel = KeyWalletModel(address: address, - data: keyData, - name: name ?? "", - isHD: true) - completion(walletModel, nil) - } + return unwrapped +} + +func createHDWallet(withName name: String?, + password: String, + completion: @escaping (KeyWalletModel?, Error?) -> Void) +{ + + guard let mnemonics = keysService.generateMnemonics(bitsOfEntropy: 128) else { + completion(nil, WalletSavingError.couldNotGenerateMnemonics) + return + } + + guard let keystore = try? BIP32Keystore( + mnemonics: mnemonics, + password: password, + mnemonicsPassword: "", + language: .english + ), + let wallet = keystore else { + completion(nil, WalletSavingError.couldNotCreateKeystore) + return + } + guard let address = wallet.addresses?.first?.address else { + completion(nil, WalletSavingError.couldNotCreateAddress) + return + } + guard let keyData = try? JSONEncoder().encode(wallet.keystoreParams) else { + completion(nil, WalletSavingError.couldNotGetKeyData) + return + } + let walletModel = KeyWalletModel(address: address, + data: keyData, + name: name ?? "", + isHD: true) + completion(walletModel, nil) +} ``` ### Import Account #### Import Account With Private Key ```swift - public func addWalletWithPrivateKey(withName: String?, - key: String, - password: String, - completion: @escaping (KeyWalletModel?, Error?) -> Void) - { - let text = key.trimmingCharacters(in: .whitespacesAndNewlines) - - guard let data = Data.fromHex(text) else { - completion(nil, WalletSavingError.wrongKey) - return - } - - guard let newWallet = try? EthereumKeystoreV3(privateKey: data, password: password) else { - completion(nil, WalletSavingError.couldNotSaveTheWallet) - return - } - - guard let wallet = newWallet, wallet.addresses?.count == 1 else { - completion(nil, WalletSavingError.couldNotCreateWalletWithAddress) - return - } - guard let keyData = try? JSONEncoder().encode(wallet.keystoreParams) else { - completion(nil, WalletSavingError.couldNotGetKeyData) - return - } - guard let address = newWallet?.addresses?.first?.address else { - completion(nil, WalletSavingError.couldNotCreateAddress) - return - } - let walletModel = KeyWalletModel(address: address, - data: keyData, - name: withName ?? "", - isHD: false) - completion(walletModel, nil) +public func addWalletWithPrivateKey(withName: String?, + key: String, + password: String, + completion: @escaping (KeyWalletModel?, Error?) -> Void) +{ + let text = key.trimmingCharacters(in: .whitespacesAndNewlines) + + guard let data = Data.fromHex(text) else { + completion(nil, WalletSavingError.wrongKey) + return + } + + guard let newWallet = try? EthereumKeystoreV3(privateKey: data, password: password) else { + completion(nil, WalletSavingError.couldNotSaveTheWallet) + return } + + guard let wallet = newWallet, wallet.addresses?.count == 1 else { + completion(nil, WalletSavingError.couldNotCreateWalletWithAddress) + return + } + guard let keyData = try? JSONEncoder().encode(wallet.keystoreParams) else { + completion(nil, WalletSavingError.couldNotGetKeyData) + return + } + guard let address = newWallet?.addresses?.first?.address else { + completion(nil, WalletSavingError.couldNotCreateAddress) + return + } + let walletModel = KeyWalletModel(address: address, + data: keyData, + name: withName ?? "", + isHD: false) + completion(walletModel, nil) +} ``` #### Import Account With Mnemonics Phrase ```swift - func addHDWallet(withName name: String?, - password: String, - mnemonics: String, - completion: @escaping (KeyWalletModel?, Error?) -> Void) - { - guard let keystore = try? BIP32Keystore( - mnemonics: mnemonics, - password: password, - mnemonicsPassword: "", - language: .english - ), - let wallet = keystore else { - completion(nil, WalletSavingError.couldNotCreateKeystore) - return - } - guard let address = wallet.addresses?.first?.address else { - completion(nil, WalletSavingError.couldNotCreateAddress) - return - } - guard let keyData = try? JSONEncoder().encode(wallet.keystoreParams) else { - completion(nil, WalletSavingError.couldNotGetKeyData) - return - } - let walletModel = KeyWalletModel(address: address, - data: keyData, - name: name ?? "", - isHD: true) - completion(walletModel, nil) - } +func addHDWallet(withName name: String?, + password: String, + mnemonics: String, + completion: @escaping (KeyWalletModel?, Error?) -> Void) +{ + guard let keystore = try? BIP32Keystore( + mnemonics: mnemonics, + password: password, + mnemonicsPassword: "", + language: .english + ), + let wallet = keystore else { + completion(nil, WalletSavingError.couldNotCreateKeystore) + return + } + guard let address = wallet.addresses?.first?.address else { + completion(nil, WalletSavingError.couldNotCreateAddress) + return + } + guard let keyData = try? JSONEncoder().encode(wallet.keystoreParams) else { + completion(nil, WalletSavingError.couldNotGetKeyData) + return + } + let walletModel = KeyWalletModel(address: address, + data: keyData, + name: name ?? "", + isHD: true) + completion(walletModel, nil) +} ``` ### Manage Keystore @@ -191,76 +191,73 @@ #### Save keystore to the memory ```swift - //First you need a `KeystoreManager` instance: - guard let userDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first, - let keystoreManager = KeystoreManager.managerForPath(userDirectory + "/keystore") - else { - fatalError("Couldn't create a KeystoreManager.") - } +//First you need a `KeystoreManager` instance: +guard let userDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first, + let keystoreManager = KeystoreManager.managerForPath(userDirectory + "/keystore") + else { + fatalError("Couldn't create a KeystoreManager.") +} - // Next you create a new Keystore: +// Next you create a new Keystore: - let newKeystore = try? EthereumKeystoreV3(password: "YOUR_PASSWORD") +let newKeystore = try? EthereumKeystoreV3(password: "YOUR_PASSWORD") - // Then you save the created keystore to the file system: +// Then you save the created keystore to the file system: - let newKeystoreJSON = try? JSONEncoder().encode(newKeystore.keystoreParams) - FileManager.default.createFile(atPath: "\(keystoreManager.path)/keystore.json", contents: newKeystoreJSON, attributes: nil) +let newKeystoreJSON = try? JSONEncoder().encode(newKeystore.keystoreParams) +FileManager.default.createFile(atPath: "\(keystoreManager.path)/keystore.json", contents: newKeystoreJSON, attributes: nil) - // Later you can retreive it: +// Later you can retreive it: - if let address = keystoreManager.addresses?.first, - let retrievedKeystore = keystoreManager.walletForAddress(address) as? EthereumKeystoreV3 { - return retrievedKeystore - } +if let address = keystoreManager.addresses?.first, +let retrievedKeystore = keystoreManager.walletForAddress(address) as? EthereumKeystoreV3 { + return retrievedKeystore +} ``` #### Get Keysore Manager ```swift - - func getWallet() -> KeyWalletModel? { - let requestWallet: NSFetchRequest = KeyWallet.fetchRequest() - requestWallet.predicate = NSPredicate(format: "isSelected = %@", NSNumber(value: true)) - do { - let results = try mainContext.fetch(requestWallet) - guard let result = results.first else { return nil } - return KeyWalletModel.fromCoreData(crModel: result) - - } catch { - print(error) - return nil - } - +func getWallet() -> KeyWalletModel? { + let requestWallet: NSFetchRequest = KeyWallet.fetchRequest() + requestWallet.predicate = NSPredicate(format: "isSelected = %@", NSNumber(value: true)) + do { + let results = try mainContext.fetch(requestWallet) + guard let result = results.first else { return nil } + return KeyWalletModel.fromCoreData(crModel: result) + } catch { + print(error) + return nil } +} - func keystoreManager() -> KeystoreManager { - // Firstly you need to get - guard let selectedWallet = getWallet(), - let data = selectedWallet.data else { - return KeystoreManager.defaultManager! - } - if selectedWallet.isHD { - return KeystoreManager([BIP32Keystore(data)!]) - } else { - return KeystoreManager([EthereumKeystoreV3(data)!]) - } +func keystoreManager() -> KeystoreManager { +// Firstly you need to get + guard let selectedWallet = getWallet(), + let data = selectedWallet.data else { + return KeystoreManager.defaultManager! } + if selectedWallet.isHD { + return KeystoreManager([BIP32Keystore(data)!]) + } else { + return KeystoreManager([EthereumKeystoreV3(data)!]) + } +} ``` #### Get private key data ```swift - func getPrivateKey(forWallet wallet: KeyWalletModel, password: String) -> String? { - do { - guard let ethereumAddress = EthereumAddress(wallet.address) else { return nil } - let pkData = try keystoreManager().UNSAFE_getPrivateKeyData(password: password, account: ethereumAddress) - return pkData.toHexString() - } catch { - print(error) - return nil - } +func getPrivateKey(forWallet wallet: KeyWalletModel, password: String) -> String? { + do { + guard let ethereumAddress = EthereumAddress(wallet.address) else { return nil } + let pkData = try keystoreManager().UNSAFE_getPrivateKeyData(password: password, account: ethereumAddress) + return pkData.toHexString() + } catch { + print(error) + return nil } +} ``` ### Ethereum Address From bb1091aa2133210645ebdc4b37cea1be0fa9d7a9 Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Fri, 28 Sep 2018 18:19:34 +0300 Subject: [PATCH 39/66] Update Usage.md --- Documentation/Usage.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/Documentation/Usage.md b/Documentation/Usage.md index a11548a59..50c500e2c 100755 --- a/Documentation/Usage.md +++ b/Documentation/Usage.md @@ -275,7 +275,7 @@ Ethereum addresses are checksum checked if they are not lowercased or uppercased #### Getting ETH balance ```swift -let address = EthereumAddress("0xE6877A4d8806e9A9F12eB2e8561EA6c1db19978d")! +let address = EthereumAddress("0xe22b8979739D724343bd002F9f432F5990879901")! let web3Main = Web3.InfuraMainnetWeb3() let balanceResult = web3Main.eth.getBalance(address) guard case .success(let balance) = balanceResult else {return} @@ -283,11 +283,16 @@ guard case .success(let balance) = balanceResult else {return} #### Getting ERC20 token balance ```swift -let contractAddress = EthereumAddress("0x45245bc59219eeaaf6cd3f382e078a461ff9de7b")! // BKX token on Ethereum mainnet +let contractAddress = EthereumAddress("0x8932404A197D84Ec3Ea55971AADE11cdA1dddff1")! // w3s token on Ethereum mainnet let contract = web3.contract(Web3.Utils.erc20ABI, at: contractAddress, abiVersion: 2)! // utilize precompiled ERC20 ABI for your concenience -guard let bkxBalanceResult = contract.method("balanceOf", parameters: [coldWalletAddress] as [AnyObject], options: options)?.call(options: nil) else {return} // encode parameters for transaction -guard case .success(let bkxBalance) = bkxBalanceResult, let bal = bkxBalance["0"] as? BigUInt else {return} // bkxBalance is [String: Any], and parameters are enumerated as "0", "1", etc in order of being returned. If returned parameter has a name in ABI, it is also duplicated -print("BKX token balance = " + String(bal)) +guard let w3sBalanceResult = contract.method( + "balanceOf", + parameters: [coldWalletAddress] as [AnyObject], + options: options + )?.call(options: nil) + else {return} // encode parameters for transaction +guard case .success(let w3sBalance) = w3sBalanceResult, let bal = w3sBalance["0"] as? BigUInt else {return} // w3sBalance is [String: Any], and parameters are enumerated as "0", "1", etc in order of being returned. If returned parameter has a name in ABI, it is also duplicated +print("w3s token balance = " + String(bal)) ``` ## Transactions Operations From 78fbd2843e673e62812a15de21f3e8b1370b08af Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Fri, 28 Sep 2018 18:38:58 +0300 Subject: [PATCH 40/66] Update Usage.md --- Documentation/Usage.md | 353 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 353 insertions(+) diff --git a/Documentation/Usage.md b/Documentation/Usage.md index 50c500e2c..383ff8585 100755 --- a/Documentation/Usage.md +++ b/Documentation/Usage.md @@ -297,6 +297,156 @@ print("w3s token balance = " + String(bal)) ## Transactions Operations +#### Web3Options + +```swift +/// A web3 instance bound to provider. All further functionality is provided under web.*. namespaces. +public class web3: Web3OptionsInheritable { + public var provider : Web3Provider + public var options : Web3Options = Web3Options.defaultOptions() + public var defaultBlock = "latest" + public var requestDispatcher: JSONRPCrequestDispatcher + + /// Add a provider request to the dispatch queue. + public func dispatch(_ request: JSONRPCrequest) -> Promise { + return self.requestDispatcher.addToQueue(request: request) + } + + /// Raw initializer using a Web3Provider protocol object, dispatch queue and request dispatcher. + public init(provider prov: Web3Provider, queue: OperationQueue? = nil, requestDispatcher: JSONRPCrequestDispatcher? = nil) { + provider = prov + if requestDispatcher == nil { + self.requestDispatcher = JSONRPCrequestDispatcher(provider: provider, queue: DispatchQueue.global(qos: .userInteractive), policy: .Batch(32)) + } else { + self.requestDispatcher = requestDispatcher! + } + } + + /// Keystore manager can be bound to Web3 instance. If some manager is bound all further account related functions, such + /// as account listing, transaction signing, etc. are done locally using private keys and accounts found in a manager. + public func addKeystoreManager(_ manager: KeystoreManager?) { + self.provider.attachedKeystoreManager = manager + } + + var ethInstance: web3.Eth? + + /// Public web3.eth.* namespace. + public var eth: web3.Eth { + if (self.ethInstance != nil) { + return self.ethInstance! + } + self.ethInstance = web3.Eth(provider : self.provider, web3: self) + return self.ethInstance! + } + + public class Eth:Web3OptionsInheritable { + var provider:Web3Provider +// weak var web3: web3? + var web3: web3 + public var options: Web3Options { + return self.web3.options + } + public init(provider prov: Web3Provider, web3 web3instance: web3) { + provider = prov + web3 = web3instance + } + } + + var personalInstance: web3.Personal? + + /// Public web3.personal.* namespace. + public var personal: web3.Personal { + if (self.personalInstance != nil) { + return self.personalInstance! + } + self.personalInstance = web3.Personal(provider : self.provider, web3: self) + return self.personalInstance! + } + + public class Personal:Web3OptionsInheritable { + var provider:Web3Provider + // weak var web3: web3? + var web3: web3 + public var options: Web3Options { + return self.web3.options + } + public init(provider prov: Web3Provider, web3 web3instance: web3) { + provider = prov + web3 = web3instance + } + } + + var walletInstance: web3.Web3Wallet? + + /// Public web3.wallet.* namespace. + public var wallet: web3.Web3Wallet { + if (self.walletInstance != nil) { + return self.walletInstance! + } + self.walletInstance = web3.Web3Wallet(provider : self.provider, web3: self) + return self.walletInstance! + } + + public class Web3Wallet { + var provider:Web3Provider +// weak var web3: web3? + var web3: web3 + public init(provider prov: Web3Provider, web3 web3instance: web3) { + provider = prov + web3 = web3instance + } + } + + var browserFunctionsInstance: web3.BrowserFunctions? + + /// Public web3.browserFunctions.* namespace. + public var browserFunctions: web3.BrowserFunctions { + if (self.browserFunctionsInstance != nil) { + return self.browserFunctionsInstance! + } + self.browserFunctionsInstance = web3.BrowserFunctions(provider : self.provider, web3: self) + return self.browserFunctionsInstance! + } + + public class BrowserFunctions:Web3OptionsInheritable { + var provider:Web3Provider + // weak var web3: web3? + var web3: web3 + public var options: Web3Options { + return self.web3.options + } + public init(provider prov: Web3Provider, web3 web3instance: web3) { + provider = prov + web3 = web3instance + } + } + + var erc721Instance: web3.ERC721? + + /// Public web3.browserFunctions.* namespace. + public var erc721: web3.ERC721 { + if (self.erc721Instance != nil) { + return self.erc721Instance! + } + self.erc721Instance = web3.ERC721(provider : self.provider, web3: self) + return self.erc721Instance! + } + + public class ERC721: Web3OptionsInheritable { + var provider:Web3Provider + // weak var web3: web3? + var web3: web3 + public var options: Web3Options { + return self.web3.options + } + public init(provider prov: Web3Provider, web3 web3instance: web3) { + provider = prov + web3 = web3instance + } + } +} +``` + ### Prepare Transaction #### Setting Transaction Options @@ -313,6 +463,209 @@ options.gasLimit = gasLimit options.from = EthereumAddress("0xE6877A4d8806e9A9F12eB2e8561EA6c1db19978d") ``` +#### Preparing Transaction For Sending Ether + +```swift +public func prepareTransactionForSendingEther(destinationAddressString: String, + amountString: String, + gasLimit: BigUInt, + completion: @escaping (Result) -> Void) { + DispatchQueue.global(qos: .userInitiated).async { + guard let destinationEthAddress = EthereumAddress(destinationAddressString) else { + DispatchQueue.main.async { + completion(Result.Error(SendErrors.invalidDestinationAddress)) + } + return + } + guard let amount = Web3.Utils.parseToBigUInt(amountString, units: .eth) else { + DispatchQueue.main.async { + completion(Result.Error(SendErrors.invalidAmountFormat)) + } + return + } + guard let selectedKey = KeysService().selectedWallet()?.address else { + DispatchQueue.main.async { + completion(Result.Error(SendErrors.noAvailableKeys)) + } + return + } + + + let web3 = web3swift.web3(provider: InfuraProvider(CurrentNetwork.currentNetwork ?? Networks.Mainnet)!) + web3.addKeystoreManager(KeysService().keystoreManager()) + + let ethAddressFrom = EthereumAddress(selectedKey) + var options = Web3Options.defaultOptions() + options.from = ethAddressFrom + options.value = BigUInt(amount) + + guard let contract = web3.contract(Web3.Utils.coldWalletABI, at: destinationEthAddress) else { + DispatchQueue.main.async { + completion(Result.Error(SendErrors.contractLoadingError)) + } + return + } + + guard let estimatedGas = contract.method(options: options)?.estimateGas(options: nil).value else { + DispatchQueue.main.async { + completion(Result.Error(SendErrors.retrievingEstimatedGasError)) + } + return + } + options.gasLimit = estimatedGas + + guard let gasPrice = web3.eth.getGasPrice().value else { + DispatchQueue.main.async { + completion(Result.Error(SendErrors.retrievingGasPriceError)) + } + return + } + options.gasPrice = gasPrice + + guard let transaction = contract.method(options: options) else { + DispatchQueue.main.async { + completion(Result.Error(SendErrors.createTransactionIssue)) + } + return + } + + DispatchQueue.main.async { + completion(Result.Success(transaction)) + } + + } +} +``` + +#### Preparing Transaction For Sending ERC-20 tokens + +```swift +public func prepareTransactionForSendingERC(destinationAddressString: String, + amountString: String, + gasLimit: BigUInt, + tokenAddress token: String, + completion: @escaping (Result) -> Void) { + DispatchQueue.global(qos: .userInitiated).async { + guard let destinationEthAddress = EthereumAddress(destinationAddressString) else { + DispatchQueue.main.async { + completion(Result.Error(SendErrors.invalidDestinationAddress)) + } + return + } + guard let amount = Web3.Utils.parseToBigUInt(amountString, units: .eth) else { + DispatchQueue.main.async { + completion(Result.Error(SendErrors.invalidAmountFormat)) + } + return + } + + let web3 = web3swift.web3(provider: InfuraProvider(CurrentNetwork.currentNetwork ?? Networks.Mainnet)!) + web3.addKeystoreManager(KeysService().keystoreManager()) + + let contract = self.contract(for: token, web3: web3) + var options = Web3Options.defaultOptions() + + guard let tokenAddress = EthereumAddress(token), + let fromAddress = Web3SwiftService.currentAddress, + let intermediate = web3.eth.sendERC20tokensWithNaturalUnits( + tokenAddress: tokenAddress, + from: fromAddress, + to: destinationEthAddress, + amount: amountString) else { + DispatchQueue.main.async { + completion(Result.Error(SendErrors.createTransactionIssue)) + } + return + } + DispatchQueue.main.async { + completion(Result.Success(intermediate)) + } + + //MARK: - Just to check that everything is all right + guard let _ = contract?.method(options: options)?.estimateGas(options: options).value else { + DispatchQueue.main.async { + completion(Result.Error(SendErrors.retrievingEstimatedGasError)) + } + return + } + guard let gasPrice = web3.eth.getGasPrice().value else { + DispatchQueue.main.async { + completion(Result.Error(SendErrors.retrievingGasPriceError)) + } + return + } + + options.from = Web3SwiftService.currentAddress + options.gasPrice = gasPrice + //options.gasLimit = estimatedGas + options.value = 0 + options.to = EthereumAddress(token) + let parameters = [destinationEthAddress, + amount] as [Any] + guard let transaction = contract?.method("transfer", + parameters: parameters as [AnyObject], + options: options) else { + DispatchQueue.main.async { + completion(Result.Error(SendErrors.createTransactionIssue)) + } + + return + } + DispatchQueue.main.async { + completion(Result.Success(transaction)) + } + + return + } +} +``` + +#### Preparing Transaction For Sending To Some Contract + +```swift +public func prepareTransactionToContract(data: [AnyObject], + contractAbi: String, + contractAddress: String, + method: String, + predefinedOptions: Web3Options? = nil, + completion: @escaping (Result) -> Void) { + let wallet = TransactionsService.keyservice.selectedWallet() + guard let address = wallet?.address else { return } + let ethAddressFrom = EthereumAddress(address) + let ethContractAddress = EthereumAddress(contractAddress)! + + let web3 = CurrentWeb.currentWeb ?? Web3.InfuraMainnetWeb3() + web3.addKeystoreManager(TransactionsService.keyservice.keystoreManager()) + var options = predefinedOptions ?? Web3Options.defaultOptions() + options.from = ethAddressFrom + options.to = ethContractAddress + options.value = options.value ?? 0 + guard let contract = web3.contract(contractAbi, + at: ethContractAddress, + abiVersion: 2) else { + return + DispatchQueue.main.async { + completion(Result.Error(TransactionErrors.init(rawValue: "Can not create a contract with given abi and address.")!)) + } + } + guard let gasPrice = web3.eth.getGasPrice().value else { return } + options.gasPrice = predefinedOptions?.gasPrice ?? gasPrice + guard let transaction = contract.method(method, + parameters: data, + options: options) else { return } + guard case .success(let estimate) = transaction.estimateGas(options: options) else { + DispatchQueue.main.async { + completion(Result.Error(TransactionErrors.PreparingError)) + } + return + } + print("estimated cost: \(estimate)") + DispatchQueue.main.async { + completion(Result.Success(transaction)) + } +} +``` + ### Send Transaction #### Sending ETH From 1606defab844e826d27266e511f97a537db68753 Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Fri, 28 Sep 2018 18:48:13 +0300 Subject: [PATCH 41/66] Update Usage.md --- Documentation/Usage.md | 99 ++++++++++++++++++++++++++++-------------- 1 file changed, 67 insertions(+), 32 deletions(-) diff --git a/Documentation/Usage.md b/Documentation/Usage.md index 383ff8585..282fc49fc 100755 --- a/Documentation/Usage.md +++ b/Documentation/Usage.md @@ -297,7 +297,10 @@ print("w3s token balance = " + String(bal)) ## Transactions Operations -#### Web3Options + +### Prepare Transaction + +#### The class created to bound provider ```swift /// A web3 instance bound to provider. All further functionality is provided under web.*. namespaces. @@ -447,7 +450,16 @@ public class web3: Web3OptionsInheritable { } ``` -### Prepare Transaction +#### Getting Contract By Address + +```swift +func contract(for address: String, web3: web3) -> web3.web3contract? { + guard let ethAddress = EthereumAddress(address) else { + return nil + } + return web3.contract(Web3.Utils.erc20ABI, at: ethAddress) +} +``` #### Setting Transaction Options @@ -466,7 +478,7 @@ options.from = EthereumAddress("0xE6877A4d8806e9A9F12eB2e8561EA6c1db19978d") #### Preparing Transaction For Sending Ether ```swift -public func prepareTransactionForSendingEther(destinationAddressString: String, +func prepareTransactionForSendingEther(destinationAddressString: String, amountString: String, gasLimit: BigUInt, completion: @escaping (Result) -> Void) { @@ -537,10 +549,10 @@ public func prepareTransactionForSendingEther(destinationAddressString: String, } ``` -#### Preparing Transaction For Sending ERC-20 tokens +#### Preparing Transaction For Sending ERC-20 Tokens ```swift -public func prepareTransactionForSendingERC(destinationAddressString: String, +func prepareTransactionForSendingERC(destinationAddressString: String, amountString: String, gasLimit: BigUInt, tokenAddress token: String, @@ -623,7 +635,7 @@ public func prepareTransactionForSendingERC(destinationAddressString: String, #### Preparing Transaction For Sending To Some Contract ```swift -public func prepareTransactionToContract(data: [AnyObject], +func prepareTransactionToContract(data: [AnyObject], contractAbi: String, contractAddress: String, method: String, @@ -668,31 +680,60 @@ public func prepareTransactionToContract(data: [AnyObject], ### Send Transaction -#### Sending ETH +#### Sending Tokens ```swift -let web3Rinkeby = Web3.InfuraRinkebyWeb3() -web3Rinkeby.addKeystoreManager(bip32keystoreManager) // attach a keystore if you want to sign locally. Otherwise unsigned request will be sent to remote node -options.from = bip32ks?.addresses?.first! // specify from what address you want to send it -intermediateSend = web3Rinkeby.contract(Web3.Utils.coldWalletABI, at: coldWalletAddress, abiVersion: 2)!.method(options: options)! // an address with a private key attached in not different from any other address, just has very simple ABI -let sendResultBip32 = intermediateSend.send(password: "changeme") +func sendToken(transaction: TransactionIntermediate, + with password: String? = "YOURPASSWORD", + options: Web3Options? = nil, + completion: @escaping (Result) -> Void) { + DispatchQueue.global(qos: .userInitiated).async { + let result = transaction.send(password: password ?? "YOURPASSWORD", + options: options) + if let error = result.error { + DispatchQueue.main.async { + completion(Result.Error(error)) + } + return + } + guard let value = result.value else { + DispatchQueue.main.async { + completion(Result.Error(SendErrors.emptyResult)) + } + return + } + DispatchQueue.main.async { + completion(Result.Success(value)) + } + } +} ``` -#### Sending ERC20 +#### Sending To Contract ```swift -var convenienceTransferOptions = Web3Options.defaultOptions() -convenienceTransferOptions.gasPrice = gasPriceRinkeby -let convenienceTokenTransfer = web3Rinkeby.eth.sendERC20tokensWithNaturalUnits(tokenAddress: EthereumAddress("0xa407dd0cbc9f9d20cdbd557686625e586c85b20a")!, from: (ks?.addresses?.first!)!, to: EthereumAddress("0x6394b37Cf80A7358b38068f0CA4760ad49983a1B")!, amount: "0.0001", options: convenienceTransferOptions) // there are also convenience functions to send ETH and ERC20 under the .eth structure -let gasEstimateResult = convenienceTokenTransfer!.estimateGas(options: nil) -guard case .success(let gasEstimate) = gasEstimateResult else {return} -convenienceTransferOptions.gasLimit = gasEstimate -let convenienceTransferResult = convenienceTokenTransfer!.send(password: "changeme", options: convenienceTransferOptions) -switch convenienceTransferResult { - case .success(let res): - print("Token transfer successful") - print(res) - case .failure(let error): - print(error) +public func sendToContract(transaction: TransactionIntermediate, + with password: String? = "YOURPASSWORD", + options: Web3Options? = nil, + completion: @escaping (Result) -> Void) { + DispatchQueue.global(qos: .userInitiated).async { + let result = transaction.send(password: password ?? "YOURPASSWORD", + options: transaction.options) + if let error = result.error { + DispatchQueue.main.async { + completion(Result.Error(error)) + } + return + } + guard let value = result.value else { + DispatchQueue.main.async { + completion(Result.Error(SendErrors.emptyResult)) + } + return + } + DispatchQueue.main.async { + completion(Result.Success(value)) + } + } } ``` @@ -704,12 +745,6 @@ let gasPriceResult = web3Main.eth.getGasPrice() guard case .success(let gasPrice) = gasPriceResult else {return} ``` -### Serialize And Deserialize transactions - - -### Get Result - - ## Chain state ### Get Block number From f8acb939f7d6ca2e5c21514ebe1f4393a16f875c Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Fri, 28 Sep 2018 18:49:25 +0300 Subject: [PATCH 42/66] Update Usage.md --- Documentation/Usage.md | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/Documentation/Usage.md b/Documentation/Usage.md index 282fc49fc..3d035daa5 100755 --- a/Documentation/Usage.md +++ b/Documentation/Usage.md @@ -297,7 +297,6 @@ print("w3s token balance = " + String(bal)) ## Transactions Operations - ### Prepare Transaction #### The class created to bound provider @@ -461,20 +460,6 @@ func contract(for address: String, web3: web3) -> web3.web3contract? { } ``` -#### Setting Transaction Options - -```swift -var options = Web3Options.defaultOptions() - // public var to: EthereumAddress? = nil - to what address transaction is aimed - // public var from: EthereumAddress? = nil - form what address it should be sent (either signed locally or on the node) - // public var gasLimit: BigUInt? = BigUInt(90000) - default gas limit - // public var gasPrice: BigUInt? = BigUInt(5000000000) - default gas price, quite small - // public var value: BigUInt? = BigUInt(0) - amount of WEI sent along the transaction -options.gasPrice = gasPrice -options.gasLimit = gasLimit -options.from = EthereumAddress("0xE6877A4d8806e9A9F12eB2e8561EA6c1db19978d") -``` - #### Preparing Transaction For Sending Ether ```swift @@ -737,14 +722,6 @@ public func sendToContract(transaction: TransactionIntermediate, } ``` -### Get Transaction Gas Price - -```swift -let web3Main = Web3.InfuraMainnetWeb3() -let gasPriceResult = web3Main.eth.getGasPrice() -guard case .success(let gasPrice) = gasPriceResult else {return} -``` - ## Chain state ### Get Block number From b7a77b1259749e7c4ad070b93c6dd4903c7d8b99 Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Fri, 28 Sep 2018 18:50:54 +0300 Subject: [PATCH 43/66] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d4fc50132..58f9ae790 100755 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ The work for 2.0 release is about to start. Ideas for new more Swift idiomatic A - [Installation](#installation) - [Usage](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md) - **Account Management -** [Create Account](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#create-account), [Import Account](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#import-account), [Manage Keystore](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#manage-keystore), [Ethereum Address](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#ethereum-address), [Get Balance](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-balance) - - **Transactions Operations -** [Prepare Transaction](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#prepare-transaction), [Send Transaction](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#send-transaction), [Get Transaction Gas Price](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-transaction-gas-price), [Serialize And Deserialize Transactions](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#serialize-and-deserialize-transactions), [Get Result](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-result) + - **Transactions Operations -** [Prepare Transaction](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#prepare-transaction), [Send Transaction](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#send-transaction) - **Chain State -** [Get Block Number](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-block-number), [Get Block Gas Price](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-block-gas-price) - [Example Project](#example-project) - [Credits](#credits) From 5ecd418ab37e052f96731ac393f02a7d6a658cfe Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Fri, 28 Sep 2018 19:04:17 +0300 Subject: [PATCH 44/66] Update Usage.md --- Documentation/Usage.md | 182 ++++++----------------------------------- 1 file changed, 25 insertions(+), 157 deletions(-) diff --git a/Documentation/Usage.md b/Documentation/Usage.md index 3d035daa5..fe494e522 100755 --- a/Documentation/Usage.md +++ b/Documentation/Usage.md @@ -36,7 +36,7 @@ struct HDKey { #### Create Account With Private Key ```swift -public func createWalletWithPrivateKey(withName: String?, +func createWalletWithPrivateKey(withName: String?, password: String, completion: @escaping (KeyWalletModel?, Error?) -> Void) { @@ -115,7 +115,7 @@ func createHDWallet(withName name: String?, #### Import Account With Private Key ```swift -public func addWalletWithPrivateKey(withName: String?, +func addWalletWithPrivateKey(withName: String?, key: String, password: String, completion: @escaping (KeyWalletModel?, Error?) -> Void) @@ -299,156 +299,6 @@ print("w3s token balance = " + String(bal)) ### Prepare Transaction -#### The class created to bound provider - -```swift -/// A web3 instance bound to provider. All further functionality is provided under web.*. namespaces. -public class web3: Web3OptionsInheritable { - public var provider : Web3Provider - public var options : Web3Options = Web3Options.defaultOptions() - public var defaultBlock = "latest" - public var requestDispatcher: JSONRPCrequestDispatcher - - /// Add a provider request to the dispatch queue. - public func dispatch(_ request: JSONRPCrequest) -> Promise { - return self.requestDispatcher.addToQueue(request: request) - } - - /// Raw initializer using a Web3Provider protocol object, dispatch queue and request dispatcher. - public init(provider prov: Web3Provider, queue: OperationQueue? = nil, requestDispatcher: JSONRPCrequestDispatcher? = nil) { - provider = prov - if requestDispatcher == nil { - self.requestDispatcher = JSONRPCrequestDispatcher(provider: provider, queue: DispatchQueue.global(qos: .userInteractive), policy: .Batch(32)) - } else { - self.requestDispatcher = requestDispatcher! - } - } - - /// Keystore manager can be bound to Web3 instance. If some manager is bound all further account related functions, such - /// as account listing, transaction signing, etc. are done locally using private keys and accounts found in a manager. - public func addKeystoreManager(_ manager: KeystoreManager?) { - self.provider.attachedKeystoreManager = manager - } - - var ethInstance: web3.Eth? - - /// Public web3.eth.* namespace. - public var eth: web3.Eth { - if (self.ethInstance != nil) { - return self.ethInstance! - } - self.ethInstance = web3.Eth(provider : self.provider, web3: self) - return self.ethInstance! - } - - public class Eth:Web3OptionsInheritable { - var provider:Web3Provider -// weak var web3: web3? - var web3: web3 - public var options: Web3Options { - return self.web3.options - } - public init(provider prov: Web3Provider, web3 web3instance: web3) { - provider = prov - web3 = web3instance - } - } - - var personalInstance: web3.Personal? - - /// Public web3.personal.* namespace. - public var personal: web3.Personal { - if (self.personalInstance != nil) { - return self.personalInstance! - } - self.personalInstance = web3.Personal(provider : self.provider, web3: self) - return self.personalInstance! - } - - public class Personal:Web3OptionsInheritable { - var provider:Web3Provider - // weak var web3: web3? - var web3: web3 - public var options: Web3Options { - return self.web3.options - } - public init(provider prov: Web3Provider, web3 web3instance: web3) { - provider = prov - web3 = web3instance - } - } - - var walletInstance: web3.Web3Wallet? - - /// Public web3.wallet.* namespace. - public var wallet: web3.Web3Wallet { - if (self.walletInstance != nil) { - return self.walletInstance! - } - self.walletInstance = web3.Web3Wallet(provider : self.provider, web3: self) - return self.walletInstance! - } - - public class Web3Wallet { - var provider:Web3Provider -// weak var web3: web3? - var web3: web3 - public init(provider prov: Web3Provider, web3 web3instance: web3) { - provider = prov - web3 = web3instance - } - } - - var browserFunctionsInstance: web3.BrowserFunctions? - - /// Public web3.browserFunctions.* namespace. - public var browserFunctions: web3.BrowserFunctions { - if (self.browserFunctionsInstance != nil) { - return self.browserFunctionsInstance! - } - self.browserFunctionsInstance = web3.BrowserFunctions(provider : self.provider, web3: self) - return self.browserFunctionsInstance! - } - - public class BrowserFunctions:Web3OptionsInheritable { - var provider:Web3Provider - // weak var web3: web3? - var web3: web3 - public var options: Web3Options { - return self.web3.options - } - public init(provider prov: Web3Provider, web3 web3instance: web3) { - provider = prov - web3 = web3instance - } - } - - var erc721Instance: web3.ERC721? - - /// Public web3.browserFunctions.* namespace. - public var erc721: web3.ERC721 { - if (self.erc721Instance != nil) { - return self.erc721Instance! - } - self.erc721Instance = web3.ERC721(provider : self.provider, web3: self) - return self.erc721Instance! - } - - public class ERC721: Web3OptionsInheritable { - var provider:Web3Provider - // weak var web3: web3? - var web3: web3 - public var options: Web3Options { - return self.web3.options - } - public init(provider prov: Web3Provider, web3 web3instance: web3) { - provider = prov - web3 = web3instance - } - } -} -``` - #### Getting Contract By Address ```swift @@ -487,8 +337,7 @@ func prepareTransactionForSendingEther(destinationAddressString: String, return } - - let web3 = web3swift.web3(provider: InfuraProvider(CurrentNetwork.currentNetwork ?? Networks.Mainnet)!) + let web3 = web3swift.web3(provider: InfuraProvider(Networks.Mainnet)!) //or any other network web3.addKeystoreManager(KeysService().keystoreManager()) let ethAddressFrom = EthereumAddress(selectedKey) @@ -556,7 +405,7 @@ func prepareTransactionForSendingERC(destinationAddressString: String, return } - let web3 = web3swift.web3(provider: InfuraProvider(CurrentNetwork.currentNetwork ?? Networks.Mainnet)!) + let web3 = web3swift.web3(provider: InfuraProvider(Networks.Mainnet)!) //or any other network web3.addKeystoreManager(KeysService().keystoreManager()) let contract = self.contract(for: token, web3: web3) @@ -631,7 +480,7 @@ func prepareTransactionToContract(data: [AnyObject], let ethAddressFrom = EthereumAddress(address) let ethContractAddress = EthereumAddress(contractAddress)! - let web3 = CurrentWeb.currentWeb ?? Web3.InfuraMainnetWeb3() + let web3 = Web3.InfuraMainnetWeb3() //or any other web web3.addKeystoreManager(TransactionsService.keyservice.keystoreManager()) var options = predefinedOptions ?? Web3Options.defaultOptions() options.from = ethAddressFrom @@ -696,7 +545,7 @@ func sendToken(transaction: TransactionIntermediate, #### Sending To Contract ```swift -public func sendToContract(transaction: TransactionIntermediate, +func sendToContract(transaction: TransactionIntermediate, with password: String? = "YOURPASSWORD", options: Web3Options? = nil, completion: @escaping (Result) -> Void) { @@ -726,5 +575,24 @@ public func sendToContract(transaction: TransactionIntermediate, ### Get Block number +```swift +func getBlockNumber(completion: @escaping (String?) -> Void) { + DispatchQueue.global().async { + let web3 = WalletWeb3Factory.web3() + let res = web3.eth.getBlockNumber() + switch res { + case .failure(let error): + print(error) + DispatchQueue.main.async { + completion(nil) + } + case .success(let number): + DispatchQueue.main.async { + completion(number.description) + } + } + } +} +``` ### Get Block Gas Price From b9d92a62905157b6b3f13f81a68c8a56f29400fc Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Fri, 28 Sep 2018 19:07:21 +0300 Subject: [PATCH 45/66] Update Usage.md --- Documentation/Usage.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/Documentation/Usage.md b/Documentation/Usage.md index fe494e522..5ef2c8149 100755 --- a/Documentation/Usage.md +++ b/Documentation/Usage.md @@ -594,5 +594,3 @@ func getBlockNumber(completion: @escaping (String?) -> Void) { } } ``` - -### Get Block Gas Price From 0b3af3a3214df1ce98fb206d41082c875f8f41ed Mon Sep 17 00:00:00 2001 From: Anton Grigoriev Date: Fri, 28 Sep 2018 19:07:53 +0300 Subject: [PATCH 46/66] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 58f9ae790..a4df41eda 100755 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ The work for 2.0 release is about to start. Ideas for new more Swift idiomatic A - [Usage](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md) - **Account Management -** [Create Account](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#create-account), [Import Account](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#import-account), [Manage Keystore](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#manage-keystore), [Ethereum Address](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#ethereum-address), [Get Balance](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-balance) - **Transactions Operations -** [Prepare Transaction](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#prepare-transaction), [Send Transaction](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#send-transaction) - - **Chain State -** [Get Block Number](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-block-number), [Get Block Gas Price](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-block-gas-price) + - **Chain State -** [Get Block Number](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-block-number) - [Example Project](#example-project) - [Credits](#credits) - [Donations](#donations) From 3d6961f687fc691dde478452db7873903e8f7b9b Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sun, 30 Sep 2018 04:08:52 +0300 Subject: [PATCH 47/66] updaate toc to make it more readable --- README.md | 47 ++++++++++++++++++++++------------------------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 6fbf4d9bc..9172f808e 100755 --- a/README.md +++ b/README.md @@ -11,38 +11,35 @@ The work for 2.0 release is about to start. Ideas for new more Swift idiomatic A **web3swift** is your toolbelt for any kind interactions with Ethereum network. - -- [web3swift](#web3swift) -+ [Features:](#features-) -* [Design decisions](#design-decisions) -* [Example](#example) ++ [Features:](#features) + * [Design decisions](#design-decisions) + * [Example](#example) * [Installation](#installation) -+ [Requirements](#requirements) -+ [CocoaPods](#cocoapods) + + [Requirements](#requirements) + + [CocoaPods](#cocoapods) * [Getting started](#getting-started) -+ [Create Account](#create-account) -+ [Save keystore to the memory](#save-keystore-to-the-memory) -+ [Initializing Ethereum address](#initializing-ethereum-address) -+ [Setting options](#setting-options) -+ [Encoding Transaction](#encoding-transaction) -+ [Signing Transaction](#signing-transaction) -+ [Getting ETH balance](#getting-eth-balance) -+ [Getting gas price](#getting-gas-price) -+ [Sending ETH](#sending-eth) -+ [ERC20 Iteraction:](#erc20-iteraction-) -- [Getting ERC20 token balance](#getting-erc20-token-balance) -- [Sending ERC20](#sending-erc20) + + [Create Account](#create-account) + + [Save keystore to the memory](#save-keystore-to-the-memory) + + [Initializing Ethereum address](#initializing-ethereum-address) + + [Setting options](#setting-options) + + [Encoding Transaction](#encoding-transaction) + + [Signing Transaction](#signing-transaction) + + [Getting ETH balance](#getting-eth-balance) + + [Getting gas price](#getting-gas-price) + + [Sending ETH](#sending-eth) + + [ERC20 Iteraction:](#erc20-iteraction) + - [Getting ERC20 token balance](#getting-erc20-token-balance) + - [Sending ERC20](#sending-erc20) * [Apps using this library](#apps-using-this-library) -* [Future plans](#future-plans) -+ [Extra features:](#extra-features-) +* [Plans](#plans) + + [Extra features:](#extra-features) * [Stay in touch](#stay-in-touch) -+ [Contribution](#contribution) -+ [Communication](#communication) -+ [Special thanks to](#special-thanks-to) + + [Contribution](#contribution) + + [Communication](#communication) + + [Special thanks to](#special-thanks-to) * [Authors](#authors) * [License](#license) - ### Features: - Swift implementation of [web3.js](https://github.com/ethereum/web3.js/) functionality :zap: From 1cc49271449faa369d0525ad89c74b16675d0657 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sun, 30 Sep 2018 07:27:19 +0300 Subject: [PATCH 48/66] add key.json file. fixed test. --- web3swift.xcodeproj/project.pbxproj | 8 +++++++- web3swiftTests/Resourses/key.json | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 web3swiftTests/Resourses/key.json diff --git a/web3swift.xcodeproj/project.pbxproj b/web3swift.xcodeproj/project.pbxproj index d98185730..6d301ce5a 100755 --- a/web3swift.xcodeproj/project.pbxproj +++ b/web3swift.xcodeproj/project.pbxproj @@ -16,6 +16,8 @@ 00E5FE8020EA3CEA0030E0D6 /* web3swift_RLP_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00E5FE7F20EA3CEA0030E0D6 /* web3swift_RLP_Tests.swift */; }; 00E5FE8220EA3FF40030E0D6 /* web3swift_infura_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00E5FE8120EA3FF40030E0D6 /* web3swift_infura_Tests.swift */; }; 13AE5971A972F5B55FA6FB69 /* libPods-web3swift-iOS_Tests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8349531F1984454E50389370 /* libPods-web3swift-iOS_Tests.a */; }; + 1CB818902160868000726CF8 /* key.json in Resources */ = {isa = PBXBuildFile; fileRef = 1CB8188F2160867700726CF8 /* key.json */; }; + 1CB818912160871000726CF8 /* key.json in Resources */ = {isa = PBXBuildFile; fileRef = 1CB8188F2160867700726CF8 /* key.json */; }; 1CD91B321FD769A6007BFB45 /* web3swift_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CD91B311FD769A6007BFB45 /* web3swift_Tests.swift */; }; 1CD91B341FD769A6007BFB45 /* web3swift_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CD91AFC1FD76910007BFB45 /* web3swift_iOS.framework */; }; 4194811B203630530065A83B /* Web3+HttpProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 817EBB142004FE4200E02EAA /* Web3+HttpProvider.swift */; }; @@ -242,6 +244,7 @@ 0F133EC83594B17BA8C71784 /* Pods_web3swift_ios_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_web3swift_ios_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 10C02100CDF7C2D5C79A52B9 /* Pods_web3Swift_Demo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_web3Swift_Demo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 18E81592D2802B9F4E200823 /* Pods_web3swift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_web3swift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1CB8188F2160867700726CF8 /* key.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = key.json; path = Resourses/key.json; sourceTree = ""; }; 1CD91AFC1FD76910007BFB45 /* web3swift_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = web3swift_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1CD91AFF1FD76910007BFB45 /* web3swift.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = web3swift.h; sourceTree = ""; }; 1CD91B001FD76910007BFB45 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; @@ -487,6 +490,7 @@ 1CD91B301FD769A6007BFB45 /* web3swiftTests */ = { isa = PBXGroup; children = ( + 1CB8188F2160867700726CF8 /* key.json */, 81A7B2892143DF1D004CD2C7 /* web3swift_EIP681_Tests.swift */, 81A7B2782143C978004CD2C7 /* web3swift_ENS_Tests.swift */, 8159C50D2135901700197B91 /* web3swift_ERC20_Class_Tests.swift */, @@ -952,7 +956,7 @@ attributes = { LastSwiftUpdateCheck = 0920; LastUpgradeCheck = 0930; - ORGANIZATIONNAME = "The Matter"; + ORGANIZATIONNAME = "The Matter Inc"; TargetAttributes = { 1CD91AFB1FD76910007BFB45 = { CreatedOnToolsVersion = 9.1; @@ -1000,6 +1004,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 1CB818902160868000726CF8 /* key.json in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1007,6 +1012,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 1CB818912160871000726CF8 /* key.json in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/web3swiftTests/Resourses/key.json b/web3swiftTests/Resourses/key.json new file mode 100644 index 000000000..a23c2ec67 --- /dev/null +++ b/web3swiftTests/Resourses/key.json @@ -0,0 +1 @@ +{"version":3,"id":"f96d74b2-8f25-40e0-81d3-1a6875b3f9a5","crypto":{"ciphertext":"a9a1f9144fe252514f160ff23244959193f5f98de9a1c160cace5098ce3b94c8","cipherparams":{"iv":"e2afc3c43576f985fb2b64e3de363c95"},"kdf":"scrypt","kdfparams":{"r":6,"p":1,"n":4096,"dklen":32,"salt":"f2c9a8a9bcfd2672d81af8cdb86f0df9ba879113c1926e163056bf766e1671ad"},"mac":"72e2360bc01ec91f137a47d9156c89d07b23a20262b26a157917ce99554befff","cipher":"aes-128-cbc"},"address":"0x3c5bb4fec14c202352b3177e0d14e645493bbf16"} From 2138678e3fa81c0dc25a13779030bbc7ddb622f1 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sun, 30 Sep 2018 07:55:10 +0300 Subject: [PATCH 49/66] add travis file --- .travis.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..82ce87ec0 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,11 @@ +language: objective-c +osx_image: xcode10 +xcode_project: web3swift.xcworkspace # path to your xcodeproj folder +xcode_scheme: web3swift-iOS +xcode_destination: platform=iOS Simulator, OS=12.0, name=iPhone X +before_install: + - gem install cocoapods --pre --no-rdoc --no-ri --no-document --quiet +script: + - xcodebuild -scheme web3swift-iOS -workspace web3swift.xcworkspace -sdk iphonesimulator build test +after_success: + - bash <(curl -s https://codecov.io/bash) From 2b67761d3fef522da184663d43b8c2ebc3550612 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sun, 30 Sep 2018 08:04:55 +0300 Subject: [PATCH 50/66] add installation step --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 82ce87ec0..9cdc3967e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,6 +5,7 @@ xcode_scheme: web3swift-iOS xcode_destination: platform=iOS Simulator, OS=12.0, name=iPhone X before_install: - gem install cocoapods --pre --no-rdoc --no-ri --no-document --quiet + - pod install script: - xcodebuild -scheme web3swift-iOS -workspace web3swift.xcworkspace -sdk iphonesimulator build test after_success: From c29892ca7790905d7f59944aa29e9213f64f251b Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sun, 30 Sep 2018 08:12:34 +0300 Subject: [PATCH 51/66] add badge, update readme --- README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 9172f808e..e933478d2 100755 --- a/README.md +++ b/README.md @@ -1,16 +1,18 @@ -[Ask questions](https://stackoverflow.com/questions/tagged/web3swift) -## Important notices -The work for 2.0 release is about to start. Ideas for new more Swift idiomatic API are welcome in issues. - # web3swift [![Version](https://img.shields.io/cocoapods/v/web3swift.svg?style=flat)](http://cocoapods.org/pods/web3swift) [![License](https://img.shields.io/cocoapods/l/web3swift.svg?style=flat)](http://cocoapods.org/pods/web3swift) [![Platform](https://img.shields.io/cocoapods/p/web3swift.svg?style=flat)](http://cocoapods.org/pods/web3swift) [![support](https://brianmacdonald.github.io/Ethonate/svg/eth-support-blue.svg)](https://brianmacdonald.github.io/Ethonate/address#0x6394b37Cf80A7358b38068f0CA4760ad49983a1B) +[![Build Status](https://travis-ci.com/matterinc/web3swift.svg?branch=develop)](https://travis-ci.com/matterinc/web3swift) + +[Ask questions](https://stackoverflow.com/questions/tagged/web3swift) **web3swift** is your toolbelt for any kind interactions with Ethereum network. +### Important notices: +> The work for 2.0 release is about to start. Ideas for new more Swift idiomatic API are welcome in issues. + + [Features:](#features) * [Design decisions](#design-decisions) * [Example](#example) From 01d15708da01a3aec01b4be08391e3c4430920d0 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sun, 30 Sep 2018 08:27:34 +0300 Subject: [PATCH 52/66] update TOC --- README.md | 43 +++++++++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 8b89d278d..d46a9b0ae 100755 --- a/README.md +++ b/README.md @@ -10,20 +10,35 @@ **web3swift** is your toolbelt for any kind interactions with Ethereum network. -- [Features](#features) -- [Design Decisions](#design-decisions) -- [Requirements](#requirements) -- [Migration Guides](#migration-guides) -- [Communication](#communication) -- [Installation](#installation) -- [Usage](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md) - - **Account Management -** [Create Account](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#create-account), [Import Account](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#import-account), [Manage Keystore](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#manage-keystore), [Ethereum Address](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#ethereum-address), [Get Balance](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-balance) - - **Transactions Operations -** [Prepare Transaction](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#prepare-transaction), [Send Transaction](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#send-transaction) - - **Chain State -** [Get Block Number](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-block-number) -- [Example Project](#example-project) -- [Credits](#credits) -- [Donations](#donations) -- [License](#license) + + * [Features](#features) + * [Design Decisions](#design-decisions) + * [Requirements](#requirements) + * [Migration Guides](#migration-guides) + * [Communication](#communication) + * [Installation](#installation) + + [CocoaPods](#cocoapods) + + [Carthage](#carthage) + * [Example Project](#example-project) + * [Credits](#credits) + + [Security Disclosure](#security-disclosure) + * [Donations](#donations) + * [License](#license) + +--- + - [Usage Doc](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md) + - **Account Management** + - [Create Account](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#create-account) + - [Import Account](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#import-account) + - [Manage Keystore](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#manage-keystore) + - [Ethereum Address](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#ethereum-address) + - [Get Balance](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-balance) + - **Transactions Operations** + - [Prepare Transaction](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#prepare-transaction) + - [Send Transaction](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#send-transaction) + - **Chain State** + - [Get Block Number](https://github.com/matterinc/web3swift/blob/feature/readmeImprovement/Documentation/Usage.md#get-block-number) + ## Features From 79933fde7635d2bcab5447f833d10775bc5379b8 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sun, 30 Sep 2018 15:42:12 +0300 Subject: [PATCH 53/66] update pods in example --- Example/web3swiftExample/Podfile.lock | 18 +- .../Headers/Public/BigInt/BigInt-umbrella.h | 17 +- .../Headers/Public/BigInt/BigInt.modulemap | 7 +- .../Public/CryptoSwift/CryptoSwift-umbrella.h | 17 +- .../Public/CryptoSwift/CryptoSwift.modulemap | 7 +- .../Public/PromiseKit/PromiseKit-umbrella.h | 27 +- .../Public/PromiseKit/PromiseKit.modulemap | 7 +- .../Headers/Public/Result/Result-umbrella.h | 17 +- .../Headers/Public/Result/Result.modulemap | 7 +- .../Headers/Public/SipHash/SipHash-umbrella.h | 17 +- .../Headers/Public/SipHash/SipHash.modulemap | 7 +- .../Headers/Public/scrypt/scrypt-umbrella.h | 18 +- .../Headers/Public/scrypt/scrypt.modulemap | 7 +- .../secp256k1_ios/secp256k1_ios-umbrella.h | 20 +- .../secp256k1_ios/secp256k1_ios.modulemap | 7 +- .../Public/web3swift/web3swift-umbrella.h | 19 +- .../Public/web3swift/web3swift.modulemap | 7 +- Example/web3swiftExample/Pods/Manifest.lock | 18 +- .../Pods/Pods.xcodeproj/project.pbxproj | 2712 +++++++++-------- .../BigInt/BigInt.xcconfig | 3 +- .../CryptoSwift/CryptoSwift.xcconfig | 2 +- ...ds-web3swiftExample-acknowledgements.plist | 430 +-- .../Pods-web3swiftExample.debug.xcconfig | 6 +- .../Pods-web3swiftExample.release.xcconfig | 6 +- .../PromiseKit/PromiseKit.xcconfig | 3 +- .../Result/Result.xcconfig | 2 +- .../SipHash/SipHash.xcconfig | 2 +- .../scrypt/scrypt.xcconfig | 5 +- .../secp256k1_ios/secp256k1_ios.xcconfig | 5 +- .../web3swift/web3swift.xcconfig | 6 +- 30 files changed, 1409 insertions(+), 2017 deletions(-) mode change 100644 => 120000 Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt-umbrella.h mode change 100644 => 120000 Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt.modulemap mode change 100644 => 120000 Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h mode change 100644 => 120000 Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift.modulemap mode change 100644 => 120000 Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h mode change 100644 => 120000 Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap mode change 100644 => 120000 Example/web3swiftExample/Pods/Headers/Public/Result/Result-umbrella.h mode change 100644 => 120000 Example/web3swiftExample/Pods/Headers/Public/Result/Result.modulemap mode change 100644 => 120000 Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash-umbrella.h mode change 100644 => 120000 Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash.modulemap mode change 100644 => 120000 Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h mode change 100644 => 120000 Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap mode change 100644 => 120000 Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-umbrella.h mode change 100644 => 120000 Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap mode change 100644 => 120000 Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-umbrella.h mode change 100644 => 120000 Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift.modulemap diff --git a/Example/web3swiftExample/Podfile.lock b/Example/web3swiftExample/Podfile.lock index 17cbb74b6..860e84d2d 100755 --- a/Example/web3swiftExample/Podfile.lock +++ b/Example/web3swiftExample/Podfile.lock @@ -2,14 +2,14 @@ PODS: - BigInt (3.1.0): - SipHash (~> 1.2) - CryptoSwift (0.12.0) - - PromiseKit (6.4.0): - - PromiseKit/CorePromise (= 6.4.0) - - PromiseKit/Foundation (= 6.4.0) - - PromiseKit/UIKit (= 6.4.0) - - PromiseKit/CorePromise (6.4.0) - - PromiseKit/Foundation (6.4.0): + - PromiseKit (6.4.1): + - PromiseKit/CorePromise (= 6.4.1) + - PromiseKit/Foundation (= 6.4.1) + - PromiseKit/UIKit (= 6.4.1) + - PromiseKit/CorePromise (6.4.1) + - PromiseKit/Foundation (6.4.1): - PromiseKit/CorePromise - - PromiseKit/UIKit (6.4.0): + - PromiseKit/UIKit (6.4.1): - PromiseKit/CorePromise - Result (4.0.0) - scrypt (2.0): @@ -41,7 +41,7 @@ SPEC REPOS: SPEC CHECKSUMS: BigInt: 76b5dfdfa3e2e478d4ffdf161aeede5502e2742f CryptoSwift: 1c07ca50843dd48bc54e6ea53d7a4dba3b645716 - PromiseKit: ae3616f45d7bb9bf4ff1e91abc9b7a8c48a340e0 + PromiseKit: 4c76a6506638034e3d7bede97b2ff7743f7bd2dc Result: 7645bb3f50c2ce726dd0ff2fa7b6f42bbe6c3713 scrypt: 3fe5b1a3b0976f97cd87488673a8f7c65708cc84 secp256k1_ios: ac9ef04e761f43c58012b28548afa91493761f17 @@ -50,4 +50,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 8d61818b8900609b53352708ddba0659befd3536 -COCOAPODS: 1.5.3 +COCOAPODS: 1.6.0.beta.1 diff --git a/Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt-umbrella.h deleted file mode 100644 index e3d2506e1..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double BigIntVersionNumber; -FOUNDATION_EXPORT const unsigned char BigIntVersionString[]; - diff --git a/Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt-umbrella.h new file mode 120000 index 000000000..84822fbfe --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt-umbrella.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt.modulemap b/Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt.modulemap deleted file mode 100644 index 63586a3d5..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -module BigInt { - umbrella header "BigInt-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt.modulemap b/Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt.modulemap new file mode 120000 index 000000000..3299db98f --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.modulemap \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h deleted file mode 100644 index e93efa884..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double CryptoSwiftVersionNumber; -FOUNDATION_EXPORT const unsigned char CryptoSwiftVersionString[]; - diff --git a/Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h new file mode 120000 index 000000000..874c61dfb --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift-umbrella.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift.modulemap b/Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift.modulemap deleted file mode 100644 index 7ada19a07..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -module CryptoSwift { - umbrella header "CryptoSwift-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift.modulemap b/Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift.modulemap new file mode 120000 index 000000000..de45efa41 --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.modulemap \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h deleted file mode 100644 index 4a0b02de6..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "fwd.h" -#import "AnyPromise.h" -#import "PromiseKit.h" -#import "NSURLSession+AnyPromise.h" -#import "NSTask+AnyPromise.h" -#import "NSNotificationCenter+AnyPromise.h" -#import "PMKFoundation.h" -#import "PMKUIKit.h" -#import "UIView+AnyPromise.h" -#import "UIViewController+AnyPromise.h" - -FOUNDATION_EXPORT double PromiseKitVersionNumber; -FOUNDATION_EXPORT const unsigned char PromiseKitVersionString[]; - diff --git a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h new file mode 120000 index 000000000..399185659 --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit-umbrella.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap b/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap deleted file mode 100644 index 9ecd09e3d..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -module PromiseKit { - umbrella header "PromiseKit-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap b/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap new file mode 120000 index 000000000..cf1260056 --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.modulemap \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/Result/Result-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/Result/Result-umbrella.h deleted file mode 100644 index 25f5eb129..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/Result/Result-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double ResultVersionNumber; -FOUNDATION_EXPORT const unsigned char ResultVersionString[]; - diff --git a/Example/web3swiftExample/Pods/Headers/Public/Result/Result-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/Result/Result-umbrella.h new file mode 120000 index 000000000..bbf416808 --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/Result/Result-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/Result/Result-umbrella.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/Result/Result.modulemap b/Example/web3swiftExample/Pods/Headers/Public/Result/Result.modulemap deleted file mode 100644 index b61c747fd..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/Result/Result.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -module Result { - umbrella header "Result-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/web3swiftExample/Pods/Headers/Public/Result/Result.modulemap b/Example/web3swiftExample/Pods/Headers/Public/Result/Result.modulemap new file mode 120000 index 000000000..29d5b188d --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/Result/Result.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/Result/Result.modulemap \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash-umbrella.h deleted file mode 100644 index 65aec28d8..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double SipHashVersionNumber; -FOUNDATION_EXPORT const unsigned char SipHashVersionString[]; - diff --git a/Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash-umbrella.h new file mode 120000 index 000000000..c06d14bd2 --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash-umbrella.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash.modulemap b/Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash.modulemap deleted file mode 100644 index 6a46dd267..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -module SipHash { - umbrella header "SipHash-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash.modulemap b/Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash.modulemap new file mode 120000 index 000000000..625ed68db --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.modulemap \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h deleted file mode 100644 index 5dccb1b3e..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "scrypt.h" - -FOUNDATION_EXPORT double scryptVersionNumber; -FOUNDATION_EXPORT const unsigned char scryptVersionString[]; - diff --git a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h new file mode 120000 index 000000000..5fee0461f --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt-umbrella.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap deleted file mode 100644 index eaa26fa34..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -module scrypt { - umbrella header "scrypt-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap new file mode 120000 index 000000000..f65db83fe --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.modulemap \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-umbrella.h deleted file mode 100644 index 5fdc91610..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-umbrella.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "secp256k1.h" -#import "secp256k1_ecdh.h" -#import "secp256k1_recovery.h" - -FOUNDATION_EXPORT double secp256k1_iosVersionNumber; -FOUNDATION_EXPORT const unsigned char secp256k1_iosVersionString[]; - diff --git a/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-umbrella.h new file mode 120000 index 000000000..415aa9908 --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios-umbrella.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap b/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap deleted file mode 100644 index 606bdc2da..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -module secp256k1_ios { - umbrella header "secp256k1_ios-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap b/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap new file mode 120000 index 000000000..42c348637 --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.modulemap \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-umbrella.h deleted file mode 100644 index dcf840e46..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-umbrella.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "web3swift-Bridging-Header.h" -#import "web3swift.h" - -FOUNDATION_EXPORT double web3swiftVersionNumber; -FOUNDATION_EXPORT const unsigned char web3swiftVersionString[]; - diff --git a/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-umbrella.h new file mode 120000 index 000000000..dd1a39dc1 --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-umbrella.h @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift-umbrella.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift.modulemap b/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift.modulemap deleted file mode 100644 index 9e944ea5b..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -module web3swift { - umbrella header "web3swift-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift.modulemap b/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift.modulemap new file mode 120000 index 000000000..30c1f35cb --- /dev/null +++ b/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift.modulemap @@ -0,0 +1 @@ +/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.modulemap \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Manifest.lock b/Example/web3swiftExample/Pods/Manifest.lock index 17cbb74b6..860e84d2d 100755 --- a/Example/web3swiftExample/Pods/Manifest.lock +++ b/Example/web3swiftExample/Pods/Manifest.lock @@ -2,14 +2,14 @@ PODS: - BigInt (3.1.0): - SipHash (~> 1.2) - CryptoSwift (0.12.0) - - PromiseKit (6.4.0): - - PromiseKit/CorePromise (= 6.4.0) - - PromiseKit/Foundation (= 6.4.0) - - PromiseKit/UIKit (= 6.4.0) - - PromiseKit/CorePromise (6.4.0) - - PromiseKit/Foundation (6.4.0): + - PromiseKit (6.4.1): + - PromiseKit/CorePromise (= 6.4.1) + - PromiseKit/Foundation (= 6.4.1) + - PromiseKit/UIKit (= 6.4.1) + - PromiseKit/CorePromise (6.4.1) + - PromiseKit/Foundation (6.4.1): - PromiseKit/CorePromise - - PromiseKit/UIKit (6.4.0): + - PromiseKit/UIKit (6.4.1): - PromiseKit/CorePromise - Result (4.0.0) - scrypt (2.0): @@ -41,7 +41,7 @@ SPEC REPOS: SPEC CHECKSUMS: BigInt: 76b5dfdfa3e2e478d4ffdf161aeede5502e2742f CryptoSwift: 1c07ca50843dd48bc54e6ea53d7a4dba3b645716 - PromiseKit: ae3616f45d7bb9bf4ff1e91abc9b7a8c48a340e0 + PromiseKit: 4c76a6506638034e3d7bede97b2ff7743f7bd2dc Result: 7645bb3f50c2ce726dd0ff2fa7b6f42bbe6c3713 scrypt: 3fe5b1a3b0976f97cd87488673a8f7c65708cc84 secp256k1_ios: ac9ef04e761f43c58012b28548afa91493761f17 @@ -50,4 +50,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 8d61818b8900609b53352708ddba0659befd3536 -COCOAPODS: 1.5.3 +COCOAPODS: 1.6.0.beta.1 diff --git a/Example/web3swiftExample/Pods/Pods.xcodeproj/project.pbxproj b/Example/web3swiftExample/Pods/Pods.xcodeproj/project.pbxproj index 5ae535aa0..218d4af57 100644 --- a/Example/web3swiftExample/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/web3swiftExample/Pods/Pods.xcodeproj/project.pbxproj @@ -7,513 +7,501 @@ objects = { /* Begin PBXBuildFile section */ - 002F7F8AD99AB16EEFD4D2EC66C5DF42 /* Web3+Options.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D81EA660BB41A6042EB12554C011FF5 /* Web3+Options.swift */; }; - 00763A6DC5CB5814AA51CAC50219E0B7 /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = F69249253939D72D4870706405B1DD0C /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 00C254F6A4CC3BE1B686A487FB768C63 /* AbstractKeystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91DC39A093E0AC3021796C0C881D7423 /* AbstractKeystore.swift */; }; - 00F71256E738522ACAF0A3837A9CE8C7 /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF39ECE02AE8493AAF47EDD68429E007 /* CipherModeWorker.swift */; }; - 028123624D306D66FE5CCFA650DC451F /* ABIv2Encoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = C79C70AB4E5DF69385497C717CEBFB75 /* ABIv2Encoding.swift */; }; - 029E4B8A9E3B89B94F19AE60A5FD2BEA /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C8FC8BC9825E5A78B2CDACAB1C7EAE7 /* OFB.swift */; }; - 02AA88A345F378DDDAD94FBE2153C3D4 /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = A1EBCC0F3780CD1BF5924A52550B2326 /* lax_der_parsing.c */; }; - 02CCD0123FF7A3ACB4A0E42DCC5CE64F /* BigInt-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ADA5A209265D621A4CF71041B71DF52 /* BigInt-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 03099199C661C6C02EC9030BE7C0F140 /* AnyPromise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 329C9AA169E8289B92C3FEFDA41B215E /* AnyPromise.swift */; }; - 03826F22499C16E2303F4CBFA3F4B200 /* secp256k1_ios-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 57BF46728D1879DAAC9EBF3C6992D16F /* secp256k1_ios-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0383D3FBA2D7DD1CCC83D19FF1B088D5 /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = D3D75A6D93D9A7DF105F25DC93688461 /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 05B60D1C230ACBC8BF1984448505EDBF /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7824C3291189F43DB7D1217F4967A4F2 /* Random.swift */; }; - 060BB18747566086B03D2D74247901BA /* RIPEMD160+StackOveflow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84AB4B26E85BB1F6973CFA28CD3096B5 /* RIPEMD160+StackOveflow.swift */; }; - 066A53F312CC5FC28183A28210B8F581 /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2B5D7FCD090BEF9FFFB3C684DCB1B18 /* Catchable.swift */; }; - 06AED41E6F5C82F9952CA5163D66D6AC /* EthereumKeystoreV3.swift in Sources */ = {isa = PBXBuildFile; fileRef = A740ACE88D9C0FCCAA9BF577B356D151 /* EthereumKeystoreV3.swift */; }; - 086CC60DC623B2A61CF1CA8E230F3249 /* Promise+Web3+Eth+GetBlockByNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 891D55C717F344B9C14142E735B75843 /* Promise+Web3+Eth+GetBlockByNumber.swift */; }; - 0A1DE69222FA7487FCF30F417987011D /* CryptoSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = ED15D096C66E0B57F819BD7C2711C0F2 /* CryptoSwift-dummy.m */; }; - 0A5A7ABD361C4BFCF21D78ABF06C0FAA /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = C7BFE272DA00B10F8102625518DEADB8 /* join.m */; }; - 0AA85817C56EE5460F87A6B84ED73ADB /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 976F6985F84517A349137181F3CBB38C /* UInt16+Extension.swift */; }; - 0B6225818CF8D0C1211208ED65DB3D1E /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAFF5311E9BA57C195A3AF3540BB75A1 /* SHA1.swift */; }; - 0CACF8A72112BA4AA7033AD079F49437 /* Web3.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFE4248F45D9EE5AAA7A83114F6B2BF6 /* Web3.swift */; }; - 0D9AED5BD9970F9FAA6B709531FCA711 /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F4F320F47509747094BF6BAE12A4D24 /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0DB8BE3C362FFF9FE17D9E19DD9791E4 /* Web3+Infura.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B07F39C278099EF682E0CE68BCD5498 /* Web3+Infura.swift */; }; - 0E2058EFEA89E6DF232C0D0367CA2AB2 /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14EB90988A4AD64E02B4BC0D410025D1 /* Utils+Foundation.swift */; }; - 0E71F81FE762CCF68D1D1568A8BC2A63 /* Web3+EventParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2F40252FE652D0C4730C00077BADDAA /* Web3+EventParser.swift */; }; - 0EDDF7477E288E84577052C1658B41CB /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 458014C6622264651F6A80E772E8ED42 /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1007F2C201CB0F9428EB814F23638146 /* Words and Bits.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60BC0AB6A6A28CC649B0FF506918AB6F /* Words and Bits.swift */; }; - 10FD227E060754DD84FF51B1B2D5A67F /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = 353D2E93E15B57FEC4A9C0B5CC561DCB /* lax_der_privatekey_parsing.c */; }; - 11371BD0B588E43BFF1CD5D68F5C7FD4 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 973DD5BB41EA9F79AF3EC787D0C36229 /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1169B3EC51581229EFA1E4C38B501518 /* BloomFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39E4ECDC1C840F2E1D4F0634927F7BB7 /* BloomFilter.swift */; }; - 116FF0F8BA7104A8EA633D1B0D7B2589 /* Result-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BBB4E3EFCFB5EE8A172C605E76645746 /* Result-dummy.m */; }; - 126F1C3FBA6323B7AB317E6D896C71EC /* NoError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 598C899118EB120568F6595B3CA4CF62 /* NoError.swift */; }; - 1304DC56E39237BCDBA3FE4E41862A9E /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = E77AC5D58E1FF6C75FCC6752505572A9 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 13833EC6433306D6D80859640C813492 /* Web3+Contract.swift in Sources */ = {isa = PBXBuildFile; fileRef = B78D71D7365AE4B58112354EDD377D4D /* Web3+Contract.swift */; }; - 13EBF8998AC76281856F84258FDD2F54 /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2535CD8F39B0A548B8948A1D4DFCDA4C /* PKCS5.swift */; }; - 1639CA53F0D4BC32928CCFA4254AD9B7 /* BIP32HDNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D22A1274D72F8069BBEBF15A847277B5 /* BIP32HDNode.swift */; }; - 1647257B4D9A55A1F3314ACF6404D5F7 /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = BA06B61BC294257DACC3E1D0FD32DA53 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 18EE1209E6F559738AA62B36075DFB27 /* Promise+Web3+Eth+GetTransactionCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 100B115D06674BEC5FE6A0B8CEFE2F84 /* Promise+Web3+Eth+GetTransactionCount.swift */; }; - 192C761FAA55B7C0BAE8B6C9620EC07C /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 347D7C773BE16C921C11062107552892 /* Codable.swift */; }; - 1B25B3292EA947EDD7BB8BBFD557CB53 /* PromiseKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 48E5DB8DD854EDCDD6095F95889DCAF9 /* PromiseKit-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1BEC8E33DBDEEC762CD136EBA82BC52D /* Web3+Protocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39676721FFFBFCD3ACA7964DBA994E81 /* Web3+Protocols.swift */; }; - 1C5F2E4BA7BE6A06422712620E1AE0EF /* Division.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F01FE95147DDFFD02325C07A8F6783D /* Division.swift */; }; - 1CD4E827C0EC9D39E979570AFD3DA007 /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 99C57625E52E17DB4D8B152FC7D1772F /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1D2C4897CB73C1E3B64D33E08FDFFF29 /* Promise+Web3+Intermediate+Send.swift in Sources */ = {isa = PBXBuildFile; fileRef = 952E5E5A20415427CA78C75911C62ABD /* Promise+Web3+Intermediate+Send.swift */; }; - 1D5335B7B63350DA411E92FE0F9C813E /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 75D06CDEDBF36C342B7FFE38F8F51A90 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1DEF1D64ED601BF90162C2707F385A28 /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8287DF2117A869C0B6C9BC2CAAC80DD /* Rabbit+Foundation.swift */; }; - 1FCAD12310C043F8A9072C6CF988767D /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7653D4CA3F95CD7C0BD5C5634BC8726 /* Authenticator.swift */; }; - 20184706B98B5BA901297119DAD31FE0 /* dispatch_promise.m in Sources */ = {isa = PBXBuildFile; fileRef = 53053374B0830B4CF86F4E46A7232798 /* dispatch_promise.m */; }; - 20ADB6E2D2319C6EBE37DA44F119D530 /* Web3+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 292938D4E2E614F82D7E4A4A53919089 /* Web3+ObjC.swift */; }; - 20DFE4B49EEAE46732BABB51E4556FA0 /* Web3+Instance+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96F86314D21C56C76D90CA969B03162F /* Web3+Instance+ObjC.swift */; }; - 222B2D51836967D1089878DD3095A940 /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFC18FE05DFD6D953716F8225BEC16A8 /* Checksum.swift */; }; - 235629BF70BDCCD843048436ADA7233F /* EventFiltering.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7535931BF67E66F8AAE328BEE0EC6A24 /* EventFiltering.swift */; }; - 2416EC233D7CED3374899795B2661A81 /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4656C6F079843C6375DBFB8F3F149CD5 /* PCBC.swift */; }; - 24238E1E19686A7C5274E269C9211FCB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */; }; - 242A376408D955350E487D3E2531D329 /* Web3+HttpProvider+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D1A082C236FA698192257797E4895EC /* Web3+HttpProvider+ObjC.swift */; }; - 26E19E8B2BC8C63262E05D47D42801AE /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A6D448881C8648C29B2822564286304 /* NSURLSession+Promise.swift */; }; - 282C8C8F4F37DAC72C13B5C4878305CD /* RLP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FC0C757DEC5E742B77C173A8B9FA6B7 /* RLP.swift */; }; - 2ABF8654708D394C425FE49E444A7A46 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9D56D5E5F9EF5E2211C743FEDCBAADD /* String+Extension.swift */; }; - 2CCC69A35D8263BBAF73B815E5AB8278 /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = DB6B3F25A51F2AB28AC33743DAB74418 /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2E464D2901FA5D092017F62136E143C6 /* Promise+Batching.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2967DC4D563FB31C61E228B5CBB7F6E2 /* Promise+Batching.swift */; }; - 2EF56412944236855432B9B5F3C4FB51 /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E5AE0371FA8682D8CCBB47D262545A4 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2F1FCB4EAD4702FFE60ECDB007015833 /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83D65244334349A7D66163DFEE37F1FA /* Process+Promise.swift */; }; - 30DCA337250F0BF3347548F999C0D6CA /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0FD9DB2AEDA0136A6B828690C3BE23 /* UInt8+Extension.swift */; }; - 313AF5ADF37E9908E80116CBE9A08433 /* Pods-web3swiftExample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 59F77AE95BC9FEABC9D930C1AB687A02 /* Pods-web3swiftExample-dummy.m */; }; - 31580A5F9F52127289617022E521EA76 /* Salsa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 264884CE631173016E083169227D349F /* Salsa.swift */; }; - 320C1B66497F7A138EB1D642CDCE22AC /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03180B6A770752FE7AF4453AE81CA412 /* Cryptors.swift */; }; - 34412A2B372C4B46E37201E2E9DB0048 /* web3swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 35D8A4E4B2DBCC4C72036CB80D4ED663 /* web3swift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3508DE381A1F7BB7874717DA81D49679 /* Web3+Wallet.swift in Sources */ = {isa = PBXBuildFile; fileRef = D48E4039D8A05D930087548282B6EDFB /* Web3+Wallet.swift */; }; - 3638DE61A4AAC74549E4E4D50DE21140 /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FAFAE9D7630D61F389768DE544675E3 /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 389B1B7CAE05D1212618C8FEA00B8559 /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FA106D7CC1651054D660C68F23DE86E /* Promise.swift */; }; - 38CC7371C0CCDD34630FB55D1B1FE8EE /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9CAE13A8BC055260DED74FDBDE2A710 /* AEADChaCha20Poly1305.swift */; }; - 39FA54F442116DAE993C29047DD5DFE8 /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1080142E5C98D83C6423ACA6241A5A6 /* AES+Foundation.swift */; }; - 3A3743429F44358D2D9A22A361A578A2 /* Promise+Web3+Eth+SendRawTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68BB7A2BC3583AD28EAD25EA7ED9D5FD /* Promise+Web3+Eth+SendRawTransaction.swift */; }; - 3B2B2FBE097E322CF911DE111067CE1C /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 078AF53D6A07F762432A2424B5D58161 /* StreamEncryptor.swift */; }; - 3B32F1B1529E347404566192FBF59B31 /* LibSecp256k1Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66175BB0554541A3D3816C0B65138569 /* LibSecp256k1Extension.swift */; }; - 3BDF1A017D709F6906EB6D80A5C2DC21 /* String Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83028A48F74FCB58CD998F99671B2730 /* String Conversion.swift */; }; - 3D75BBCDE541EBCD957E5A88F27E3759 /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = C52F5EDD1118D33A3B10C6452A089E8F /* PMKFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3DF3CFB359275D2F13C0582198384948 /* EthereumAddress+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = E876079E09845BBA655ED734665C8A43 /* EthereumAddress+ObjC.swift */; }; - 408DD0B99E8B5D002EDFF64857434F33 /* Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9008A60A0D23BDC48F41DFAA7F9FBA08 /* Comparable.swift */; }; - 409AB8F2738245087DD60C50D35C3BAE /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = A4AD0B0CDC89E37F1F3D10E361AB2BD7 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 409BE8830A676B9A918AD077D5FF56E9 /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2BB223B0460060F3F08F67C605E6971 /* Bit.swift */; }; - 40DE88714DAB5B695E9504CC44074768 /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E396C482D49D085DD8E5C6F1538A1B3 /* DigestType.swift */; }; - 414CCA7E94F734241C7D0FEC73191B72 /* Web3+BrowserFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 845B2F9B3F1C9FB2895E49DB515D07CA /* Web3+BrowserFunctions.swift */; }; - 415244A9CA0ABFDAFE8F9AE2885A27D9 /* race.m in Sources */ = {isa = PBXBuildFile; fileRef = 95F9DAFFDEA63060E250D163213F0C61 /* race.m */; }; - 41E9ADB001B08B9B3C12A8F954B1380A /* Web3+Instance.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAB94D7201EC9D4222C28065007D51EB /* Web3+Instance.swift */; }; - 42765D981100A8DDF5AB1137C53FA683 /* CryptoExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F227060DB927464FC9041C45A8FFB80 /* CryptoExtensions.swift */; }; - 427CCC9BF12EFD167E5A2466E0800662 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5766E309D1AB7421873E2E4C04C5A5AA /* UIKit.framework */; }; - 43787E958BCA388DC0A35719D58AA8C7 /* ABIv2.swift in Sources */ = {isa = PBXBuildFile; fileRef = E32EAD6B9FA7E7949B7E044DF88FAE25 /* ABIv2.swift */; }; - 4413CB40BA7831228B511444C65D4598 /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = B225A007A4268038A9E454D13111A89D /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 455022BD6C131F380ADC838E416869AE /* after.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C8EDCC12EBCA64B4D3B9C433300DD15 /* after.swift */; }; - 4575619E0D86ECE1E08DDE865D6EFE2C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */; }; - 45E7587AF987436DCE0EA5F264221163 /* BIP39+WordLists.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B102B3CA88EB8D8489C8BD4E882B887 /* BIP39+WordLists.swift */; }; - 46BD7484F9CCF884C8A6CAF420742AE5 /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 90FB08FA3883CDF506EFD3894126E276 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 46C58EC1B780C2200D4E5D919B3C5599 /* SipHasher.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDDE6BE27FBDE2D0053FF4448C47148D /* SipHasher.swift */; }; - 48743A0B0B3B20D0ED87CF7DC79EC2FB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */; }; - 48DFE885EFB47BA9357E5E14E888211B /* PlainKeystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 785088A8C7337172C11F39BC9A4A9321 /* PlainKeystore.swift */; }; - 493DBDEF9FCD12D7123669FD8A9E4ED8 /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA571FCCE0EC4EA1D6F0234A756DE463 /* HMAC+Foundation.swift */; }; - 4959715C70113FD032696A21147492E3 /* Promise+Web3+Contract+GetIndexedEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47C25EDDC521B2D33E3E14E53A09B8CB /* Promise+Web3+Contract+GetIndexedEvents.swift */; }; - 4A8378B2DB22C72EE7097963957E4975 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 788557B540DA06D0AF67BA99AF689F4C /* Configuration.swift */; }; - 4C006DD7D86E3A0D2F9FB5E2AEFD396E /* NSRegularExpressionExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F403D2ACFA1FBE4817C4DD35F625E829 /* NSRegularExpressionExtension.swift */; }; - 4C691971C96B4DB9C05916B9E6049502 /* ContractABIv2.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAB3B3DB7F29D6CDD16814E658597C38 /* ContractABIv2.swift */; }; - 4E581DAE61FBDA958EC801E7AB4D50A1 /* UIViewController+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 619A8D3D3D97DA2E15C31D9AEFCDABF8 /* UIViewController+AnyPromise.m */; }; - 4E63355A79E87A47052FF7BE0BDAA343 /* Web3+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20B0DF172F7BCE780CE4325B9FA737E8 /* Web3+Utils.swift */; }; - 4FB1270D906EA5C11DDC829AE5191718 /* Floating Point Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4CD7FD8C56DD910536ADB36E1277B34 /* Floating Point Conversion.swift */; }; - 4FF08A981BC45F80F749B3B61F57F48A /* web3swift-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = CED83459CAB009994922F31BDEFD623E /* web3swift-Bridging-Header.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 50322A8A7E46ED66E0C1CAF9F7F2162C /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EC0E04C3669680657625472D862D24A /* afterlife.swift */; }; - 517877F9B6573EA88198DCE60D14529E /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B7D9D842F7D0AA20338FB007081B95 /* Array+Extension.swift */; }; - 51C9F718376F1C4E6582A410C2E90FCD /* EthereumAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CB230DD879156CD4033668CEE509774 /* EthereumAddress.swift */; }; - 51E590F089649612858EF086B0A70EBD /* Web3+Eth+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27CFA7ED30A911A75D056CBDD52EF777 /* Web3+Eth+ObjC.swift */; }; - 522F04B75736285444076E68D66DD971 /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F4ED35987097AEB911D8C66F9DBBFB9 /* String+FoundationExtension.swift */; }; - 531CF173530CF762BA014B482E2765A1 /* Prime Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01B9F8302C27EEB6B1B175888E08664C /* Prime Test.swift */; }; - 538C6A258F935F06DE9961004DC18E99 /* Data Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2691542C5286F07821B7CD3CF161270A /* Data Conversion.swift */; }; - 55269F22EFD97643EE271CFCFE8E8290 /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56AD7AD28B0B51693A9D7B079E162D05 /* NSNotificationCenter+Promise.swift */; }; - 5563BD4C5797B7CFB1661E0270BEC931 /* scrypt-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = EA9156726C96A92A511AB297A9A9E3A4 /* scrypt-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 59E39ABE1E262D82F21AB859BAA0252B /* Pods-web3swiftExample-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 26986386406787D15D8C39F0B109D08A /* Pods-web3swiftExample-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 59ED8A2C470C704D06EBD04FA08DC8CD /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 92BA0A05E447FDB20B427DC9BA3F17BA /* NSTask+AnyPromise.m */; }; - 5B528D78E102DA266E62EDF868A924ED /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D780067516C26611C3598987A7B875A8 /* BlockModeOptions.swift */; }; - 5BA3E93A31BD8E788ACDC074BF9173DF /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41C6D67293FF379F07747E16571D4A7B /* Padding.swift */; }; - 5C95E757F399AAB9A3A7934C6CB2F8C7 /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CAC92B61D9654425EE1338FD274CDAD /* when.swift */; }; - 5EB1E58D38587644D3316C80683FF2E7 /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = EC27CE020482173FFDCE321039C1E1B7 /* NSURLSession+AnyPromise.m */; }; - 5EE4E0C0152AC9B60B5FDE21D1FE1376 /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = B8CBA501A152AA198F4C80D0E17BAFED /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5F0A86C61CAF70E58EA049D39F6986D0 /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 40E213322D7482A63CDC0B2220AE92F8 /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5FEC7B656ADC638E54103241C6C7EA8C /* scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = EB90911DBCE2B6C999C122F3EC56E386 /* scrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 61BE8DC3CCB15BFCC1FEE6F7939661A7 /* Promise+Web3+Eth+GetAccounts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 958751D0D47E3CCFFC945333CEB4F72E /* Promise+Web3+Eth+GetAccounts.swift */; }; - 6255AF52A113C5C624A545D90892CA83 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = BB1C6578AA63B23B241C85DCD3EF3D21 /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 62AB1143A260C92031A2BDA46B43A317 /* Result-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 27185CC1895D79F7DD34E6740F038154 /* Result-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 63782F3285FAA31B6F008F2061D17962 /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63210423770306A042AA9FF3B458E4E7 /* Updatable.swift */; }; - 63C167BD70D688AC5489A06251A6025E /* Promise+Web3+Personal+Sign.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A270F07FA0270BCC20180DB9DCC1B67 /* Promise+Web3+Personal+Sign.swift */; }; - 640BB66F12A6D78556068CDF7BE37784 /* ABIv2Elements.swift in Sources */ = {isa = PBXBuildFile; fileRef = E33486FBAA345E14AD805DEC0E47A803 /* ABIv2Elements.swift */; }; - 66BA3F31DB96AB44086B540815DC24C5 /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD0F82A7D2464AEF836A81F2E23371DD /* NoPadding.swift */; }; - 68658EB3A3F87578A106603B085A69CB /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A81B88260492B4477381A6A631B8D02 /* GCM.swift */; }; - 693C57B0B65DC83E1555A5C2B81B3D61 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC203122F4CADEB96AD6DC31C9B89CD7 /* UInt128.swift */; }; - 6971ADB08D769BFBED32F3C60C547AE4 /* Primitive Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = E27EAF74BA22155644BF26D238704159 /* Primitive Types.swift */; }; - 6A19EFEE2A0EA24330B43B9EB40ED57F /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC990486D4C0CEEBBB80C141DC8AAF7C /* CustomStringConvertible.swift */; }; - 6A5266BC118376146CBF0FBE1D3CD067 /* BIP39.swift in Sources */ = {isa = PBXBuildFile; fileRef = B230E8C1B6762E788B76F2AA859FF02E /* BIP39.swift */; }; - 6A9086C4572C4F6541AC78DD1265EB7F /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = E9124AFC41B95D43CF8CC563C862991C /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6AC28C41444CFF537AC1A94D82E6CE30 /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A0AAEC1A587F9F34485AC86C4D355AE /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6AE91686DA9073D6CA45FF5075E46441 /* Addition.swift in Sources */ = {isa = PBXBuildFile; fileRef = E035FE22D8FD996F3D0563F19CB710CE /* Addition.swift */; }; - 6BE8D77D9B1DBA1685D7A66EDD89C5E5 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9025BAAEE8CC693DC8E66CE52E77768 /* Data+Extension.swift */; }; - 6CA43D480D59CCE6C3022B6FB860DD54 /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A898FF424BAA4A4E440EB964B7BB831 /* BlockMode.swift */; }; - 6CAB83600CCF9E95170473F8234921FA /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69DD73C0AA680B56241490A79FDB334B /* Result.swift */; }; - 6CEA49D30549F21750F502823DAA158C /* BufferStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC96BFAF2B1203FC9CA3C40F8C68BE0A /* BufferStorage.swift */; }; - 6DBA91E98EA3741594A1235DC7620207 /* BigUInt+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4D0235918D0C322E2E83A50D0A2CD24 /* BigUInt+ObjC.swift */; }; - 6FEC51B5BFB8DCF0676B5E4BE46C3673 /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D699FB2D6E241D8DD3F2A527E0F732E /* RandomBytesSequence.swift */; }; - 70586DBC0FCE02A174A7289612B1F4A1 /* Subtraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2742EF48D7A9BADD15DFA2028CDB4AD /* Subtraction.swift */; }; - 718C642040F35BEA8535D17B4E27A943 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */; }; - 72CCA97DBFCACB74A5FE01DBFB69740F /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 1726EC7BDEA2D89FB4D2AD0CE0562EB0 /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 730A21FE23F5384258BDD6AC6B2F64FE /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED32FA320D4B20F774457FA9C15F4DD2 /* Int+Extension.swift */; }; - 73102333360230E5C8A9291A0E823E2B /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 912B8C0B1FBC7A948BA82A00E7045D27 /* Deprecations.swift */; }; - 74D3C9CDD4497710D136EF41E2D7940A /* UIView+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D9827104D7B5DA3C16491C9811CC664 /* UIView+Promise.swift */; }; - 74F8840AB444CA331900088D83219C36 /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4079EF5F5CB33767D580095FD9CE038E /* CFB.swift */; }; - 74FA4E3559ADA2E7BB1C9D6E9E8AAF37 /* Promise+Web3+Eth+SendTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA17BEB9A7129021CB18F6B91D12748C /* Promise+Web3+Eth+SendTransaction.swift */; }; - 76691510142C52A1ACC5E168EF593AA3 /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D88F2B395E5E3F2C3E61220B75F9EFE4 /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 791475EA185803133514B38B3FAE5419 /* BIP32Keystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 573C281E9AC6356B325AD8D6510F60B7 /* BIP32Keystore.swift */; }; - 79286AC9F08C96AD6B9F2B61DF5023FB /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = 60D6A69168B4A121E9E39646B6E40E1A /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7B2159CA7807E3B32E0C0C30209A01BF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */; }; - 7BCC4966D8B68BF25D6A6E55D49E278C /* KeystoreV3JSONStructure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 135C2258FEDDC235C7E7781BD638E0D0 /* KeystoreV3JSONStructure.swift */; }; - 7C662950E114EDA7DEAF253EE5841534 /* EIP681.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CCD691C76047A933F592EC30383C674 /* EIP681.swift */; }; - 7D185A3BC322B12664AF0CC92971CA64 /* Promise+Web3+Eth+GetTransactionReceipt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 376411273811B98AA866A25753F7A66E /* Promise+Web3+Eth+GetTransactionReceipt.swift */; }; - 7DFFB011553BDD738BEFE0F582119989 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E4C0E96E391A3A6478442E71331B4C8 /* Utils.swift */; }; - 7E2C56629D76BCBB9A7597AB3C01230E /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = B5B0E053F4769044408474F4EDD0450B /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7F1951CE198D26F00A57E599E8A156C8 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33DC10E06571EAC477A1E0EA68D6DDCC /* SHA3.swift */; }; - 807B07BE5F3E0281F560DBC081BC8EF0 /* GCD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75B53B7D429106EC393E04CCE7E0FCF7 /* GCD.swift */; }; - 809A3965A2E9593BCE26CAC23D39C83C /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 753FBDA47B0F3ABF841BFB35EE89BF17 /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 80AA0105BEEE9286664DE223447D5BFD /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A505618B7794960687DBA4DE9404FD /* Rabbit.swift */; }; - 812FFF9974631FD48A86B071AAAD70C7 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = E91345FF5BDDF745793EEDF104FCDCB0 /* Error.swift */; }; - 83DCB51AC89FDB9A5EFCA77F42E2BD64 /* UIViewPropertyAnimator+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93527029429AD83050A8FED1326A171C /* UIViewPropertyAnimator+Promise.swift */; }; - 83E70ED9E7FCB1E454707FABAEE0C49D /* secp256k1_ios-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 950B12DB7F4C7CF3F58880BC46966315 /* secp256k1_ios-dummy.m */; }; - 85784EB74592B1F757DB340F92867BBF /* Multiplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F7C2F3619BC1AC64F8ABA62C7169C22 /* Multiplication.swift */; }; - 8592249C052EDBCD63F00D8D4710AA51 /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BD8F7B538E9955AD6B31C5548E85E3A /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 869AB1CFDB2B38A223D116F72A3E4233 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */; }; - 879BC75322CA6DE36F0A0CD945389A8E /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB6386E81F459ED74E6BB3E8FA4FF3CE /* CBC.swift */; }; - 88B29449C32692F7D73AD19AB9508E9E /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FE8C570A67B72F1871BDC1419D7B753 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 897E29344596CED94C8C73BED4A11573 /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7BE49D1EB253D7DE7539B872CDAD284 /* Scrypt.swift */; }; - 8BBA8708379FB610EB986C6AB1A55CE2 /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E2D99198D5B7D091C057148F3CDC4DC /* Cryptor.swift */; }; - 8D4303A4D5211E6AE958C8457C8685F0 /* BIP32KeystoreJSONStructure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17030AF3741AF00A5A580D4345C62671 /* BIP32KeystoreJSONStructure.swift */; }; - 8E13C6E338A8211FE29C5883AA49C379 /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFB2C7C3A237D8835945428FD197C62E /* Array+Foundation.swift */; }; - 8E8757AEF9F6B8DF5B03D98B670775D4 /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1416B00744E099B449B5484EB4FE66B9 /* ChaCha20+Foundation.swift */; }; - 8F6EBD2B192DFF91E1C9D783A3257186 /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = FFB342B57716D3C137EA03417F2362B3 /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 901EE7A09AC4266A373940B173492982 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D7048890B198E005491CCFCEB097B6C6 /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 903162D5F5F9CFB9592A9DA8541BEE24 /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F3913F7F2CBD112E100212D4E6CD280 /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 90BC99CEAA9416F74A738E33D3599D44 /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B6D04221009B07824A6130FC77D31C9 /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 90D4B17E148D3BF98981EC70E145D41D /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FF21379AF18F46F4F0D6D75E0FF54F4 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 91A8E04DEE9062D981048CA8E4E6E8EB /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFBD00269481FF629C0D75143D8ED5CB /* Operators.swift */; }; - 9203B30DE38793571B0095089A85A6C3 /* KeystoreManager+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7F281434684B8C111CACBAE1BCD1B8A /* KeystoreManager+ObjC.swift */; }; - 9284881BE476A8120F8BAEDAB18AC9D8 /* AnyError.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCD3FB4606DD884C6F35F97D863A296F /* AnyError.swift */; }; - 93DAEF762AF4E2920D206F88D8B7C41F /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F61FB300C8C0447EB3B39E0D27DCC86 /* Digest.swift */; }; - 954FEDA487771E21F37475C2D1F85FDD /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 819DF3E764AD03A99AE1276773AA60D9 /* PKCS7.swift */; }; - 96B01C81222EDFBE07E1113BD5C8709A /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = B76269C67E36441FAD8FF805B6A60FF1 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 96B7FC322AC43E4559A1E7085F5977E4 /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = 5278987D2532144A7BD28E9111659639 /* secp256k1.c */; }; - 973835E7143B221B1963413928B2D5A4 /* SipHash-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = EAF65854A3BB618F07D90EDF805CA448 /* SipHash-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 993523EB326D12F27CA076957296D7EC /* web3swift.h in Headers */ = {isa = PBXBuildFile; fileRef = EAE853F3B901CD0EFBB3049D7288A635 /* web3swift.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 99A160ADF20348295DE343E7BE6969E7 /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 69CA1E92AD82C49EF237136039463B58 /* PromiseKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 99E69744951D77345EBD5D2E1F4B6EA3 /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29C001CC84817EC570F42EB843806088 /* ChaCha20.swift */; }; - 99F2F006365C8153B433B0D6519E60CB /* scrypt-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 914FA8B4E5606148A3FDB7A4AF04B6C1 /* scrypt-dummy.m */; }; - 9AD9BAC2BFB2F5844FE2EAFCD353C009 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8991CD2A50906AF10EB4BDB7E932FAEF /* Array+Extension.swift */; }; - 9C2C36DFE4B3034B0284D83C2B6D75F0 /* ABIv2Parsing.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE50FC315B634183486EDEF0DBB59268 /* ABIv2Parsing.swift */; }; - 9CB55B6F7E057141E3704C800EA13C89 /* Web3+Personal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87A57BF304C2840A5AFBC40A55F95F7A /* Web3+Personal.swift */; }; - 9CDB1A02BF14D3FA9ED7767CD865E621 /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4147FE7BEB4CBD63C000B5CDFE1CE694 /* UInt32+Extension.swift */; }; - 9D6719DF68EB45255D72D5D894ABEA8D /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FD0BFFC7C6E627BB86EE5C540F71341 /* BlockDecryptor.swift */; }; - 9D9C558DB69FEB1ED39E011DBC63A76D /* Promise+HttpProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = C93101B181E8AABEB131C0915B6F3015 /* Promise+HttpProvider.swift */; }; - 9DC16ED0186FB4FAA63F91DF2284F5B4 /* ABIv2TypeParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4DBB0B96A0D97186D0D275913EFB6F4 /* ABIv2TypeParser.swift */; }; - 9E39E12281D5ACCCED1214F2F8E7FBCB /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = FB9227AD4EC63BDE92E26BD15585FCA5 /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9E99F580BA70CA1755A2CB88CFDD12D0 /* Bitwise Ops.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB5B6ACFABC7EC18ACEAA8633842A947 /* Bitwise Ops.swift */; }; - 9F0E04F678341D3BABD67F41B9F0A784 /* SipHash-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CB0F38E28056726FF806F5BCFE43B68A /* SipHash-dummy.m */; }; - A09DF175AC968737B7A979CDDCE9B740 /* ABIv2Decoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F07C5E878C387F3ABE98CE9E9CC042B /* ABIv2Decoding.swift */; }; - A13114C8DF64DC969B166D90D90C93D5 /* Promise+Web3+Eth+GetTransactionDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE2E92733967F592C99E77387B2DD8FD /* Promise+Web3+Eth+GetTransactionDetails.swift */; }; - A1AB964743F0699F984589A79E8BEB2C /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0582381AC2421163F7FC6854DF81F48D /* BlockCipher.swift */; }; - A1B4B5E67C1A85B4EF0764D02000CC36 /* Promise+Web3+Eth+GetBalance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 373E0AFCEE02274BAE66A586B88A17D4 /* Promise+Web3+Eth+GetBalance.swift */; }; - A230F02D50871D17994B9EF116ECE5B8 /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75BBEA9589DE194D6D03679EDBDB8F36 /* Collection+Extension.swift */; }; - A247B3F2DFC919B9040D135679F8F973 /* ComparisonExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 094419FE4BE23498B11CBA6A878600DF /* ComparisonExtensions.swift */; }; - A353FCEF28A16EE6DD1E798805A4195D /* Promise+Web3+Eth+GetGasPrice.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2B568367A9864B63A35097D9E4AB93A /* Promise+Web3+Eth+GetGasPrice.swift */; }; - A3BFABE55739664620DBD17FBCDC7167 /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CFC32E2261053E3091FD1DCC05DF4D5 /* UInt64+Extension.swift */; }; - A504680DC4D09BECAB31AD17442D6193 /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CAF79CEAC3F53315AED830078D52BA7 /* MD5.swift */; }; - A54605541B253BB07995E7739AE98BEA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */; }; - A6A4E89F4E4F313C578324D21AC2CF30 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6030A6AE80EF19BF46A279BA9B759C1 /* ECB.swift */; }; - A73626E8BF7B64C1605FD9FEEC31911E /* SipHashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A96630CA550118EAC05864B2C651DF35 /* SipHashable.swift */; }; - A7A2D678ECF49203B326B57D425F3F5D /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 850721D7FB7DE9412EBAADE3BE6A6532 /* Poly1305.swift */; }; - A81872D07159FEA88A0E51882593BB1D /* Web3+Eth.swift in Sources */ = {isa = PBXBuildFile; fileRef = C613C1A4193B296D8171C94206D33C31 /* Web3+Eth.swift */; }; - A83A9339CF7777B3639BC3ACF15AD200 /* Shifts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 693EA8BE7F3922FAB6C8D9FB9B29DD52 /* Shifts.swift */; }; - A8ED2011C6459454B17016453117E474 /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = CB23B0951CD5D604D24EA76B4B41466F /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A924CBC85FFB545CD4AFE5C30B5AEBFE /* Square Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E651A4C1D8411BB17C4D0A883ECCE95 /* Square Root.swift */; }; - AB82DB3EFE2358CFBD953CBE5B6A78ED /* ContractProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D8007518DBD2C969B8AF1A986FF45C9 /* ContractProtocol.swift */; }; - ABAA5DF8E066AB78312E7B86F2113CAC /* ABIv2ParameterTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D57382F3D45CBD48EC909FE9F31DD25 /* ABIv2ParameterTypes.swift */; }; - ABB16B77223F03DEFE19A3D29BD57A6F /* Strideable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76C5EBB02B365D308E28575CC36D5CA0 /* Strideable.swift */; }; - AFE6F1DD2568B8E29ABFB63BC2F45386 /* NativeTypesEncoding+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B8E411298FF1752518A56381CD096CD /* NativeTypesEncoding+Extensions.swift */; }; - B02BBC80956D7BDA1F0890275173227A /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 414BCF28F898344A3ACB4CFA9EAC0C6A /* ResultProtocol.swift */; }; - B0424CD39C7CF9838EE85449AA0CDC11 /* hang.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DF8BA790BE9738632EE52265150D03A /* hang.swift */; }; - B0888E2B0EAA782E80DC68316842968F /* PromiseKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 938683358C3B5AA2CFBFE642980B4AA3 /* PromiseKit-dummy.m */; }; - B19E4CAF3B4FE4212C286D7326949C8F /* Web3+TransactionIntermediate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9D0562D53ACD302EE60EE8967515E45 /* Web3+TransactionIntermediate.swift */; }; - B23D8193C1A9CD528235AC938F3DE779 /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = B3AE1B016C720A6861CFEEED6B0B1E5D /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B445F0CE0E3F59F3626F5EF8CD7EC353 /* BigInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FDA429500C1942B661A657EA51E45DD /* BigInt.swift */; }; - B5063849D8178D48CFE6BFF1B8B9B1F1 /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = F4CE7F01DBF56348E5D752C5E4A2573C /* hang.m */; }; - B5B8AE814BED84CA67054EDEEAE547A2 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 709E41B5FAC1DD8F9B55AF533813EFBB /* Data+Extension.swift */; }; - B76AD79D919B630576536F2462ACA4E3 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0EAE40505327D2CB02940BDEB3B21DC /* HMAC.swift */; }; - B7C57A67BB4AFC411DB31B7CB5B6B9FD /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = 6799868DDDED4341574C8A8D6027075A /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B892A7776D38BD3022DF881E43B813B3 /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 02DC13AF775E722F06F597A8A14B0AE6 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BA678376264117D59BF4EFC93D854537 /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78EB2D7AF07B5FB60C2DE1449E308285 /* AES.Cryptors.swift */; }; - BAA0C902ABB98915B52D6F5310E8E4EF /* UIView+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 394D7CE2F861BEF42B052C1127E8BE02 /* UIView+AnyPromise.m */; }; - BB5BFB94695CEF17AE75B9CE0A68F177 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */; }; - BC16041490B59CF1918F8A48F6505959 /* Promise+Web3+Eth+GetBlockNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 212B93EFB576141803D3468A4F741935 /* Promise+Web3+Eth+GetBlockNumber.swift */; }; - BC73142D48CCD117C6F4B7AFAA254F0D /* Guarantee.swift in Sources */ = {isa = PBXBuildFile; fileRef = F46ACB0433C87E504F733209EBE2BF33 /* Guarantee.swift */; }; - BDF76907A74CB47143093603602619EB /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = D646DCC70198FD61095957E5652DEF33 /* HKDF.swift */; }; - BE542E63E2485118E79441E7999F55B1 /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BC6637281B8A68F6FC9D03AD4BE8663 /* ZeroPadding.swift */; }; - BE95728E93BC22D4E96096306FB98331 /* Integer Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B2A909107AF59DD8B8759CFE5DC93C3 /* Integer Conversion.swift */; }; - BFBAF99A0E26012C6AC30E523F907883 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D7BB0E009A62667D94F3144CF4F0FA0 /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C0AFC3711AFA96EFEA49AC3E336E59EC /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 123FCC5CF86530D3AA0B411043CCF3FC /* String+Extension.swift */; }; - C0BEA3AE3A9D32BEA36E9F305BE0E9DB /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39746AC697FEEA2BEB3737B0A0ADB594 /* SecureBytes.swift */; }; - C10B358E899775E5A1CA11C725CE93D3 /* Web3+Structures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51291E05C571952BED7774C956E85673 /* Web3+Structures.swift */; }; - C1656619715A02B614AEBA99459F996B /* IBAN.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3724656679C0E551B0D424B10D8BDE0 /* IBAN.swift */; }; - C2718750F418C5D2B3156FE222D7E588 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */; }; - C2A31DC9B5491A34D20260BE0FB5431A /* AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C56A8FF9537CCF10D87B749E9F62732 /* AnyPromise.m */; }; - C2ECA5F3DF56072B8FA9BEC7543D0DDA /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 474585527D4B8900A32D2242E978847F /* NSNotificationCenter+AnyPromise.m */; }; - C31A5F32FE61914B45BEC06BAAEFE033 /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C339595D926BED9A5D0167C24CDC4B8 /* Resolver.swift */; }; - C477F9CC9D6A21DFEAC4E0A4DCBFFFAB /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 046EE18AB153A100831CC08374F28865 /* Cipher.swift */; }; - C4B679ABDA72C47D64527AFBE4C04FEC /* web3swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7490D6F83AB700404C125AC3E6A130A2 /* web3swift-dummy.m */; }; - C500D01C45D029E9E85D29383043CC72 /* NSObject+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F6CCA99139E9FA673025D313067429D /* NSObject+Promise.swift */; }; - C5BFE54E462CEA37EAE05F06CC40CAFC /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FDC70BC746BDB97351736B2E75A507F /* AES.swift */; }; - C6B939C5DB85F68033B851B536DFAE97 /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BA64E966CB81F4DBF7A2DE773DF868A /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C8191586FF54E17A336D3D2D137BF524 /* NameHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = B271D2C6AB2B214DB0BBE7869FA70164 /* NameHash.swift */; }; - C98B6055A3509C2A51349554D6AB446D /* race.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45F782717284628C9976CC3513689E42 /* race.swift */; }; - CA3C9E912D97C56C04DEFC16FEE5BD8B /* Promise+Web3+Eth+GetBlockByHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77BA68E17B6BB6941FB1F5C040C24663 /* Promise+Web3+Eth+GetBlockByHash.swift */; }; - CAA45BA0541A7F4A2D854952CDA92758 /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = 20CB207C8B0FDA2529F2F5D253C4A534 /* fwd.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CB8C7EBF77B59ACF71AC7D62D4D662FF /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = A96F34D195736EFBEE26EAF01CFB8519 /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CBF4FBEF42C80D833C3C93460086E4CB /* Promise+Web3+Eth+EstimateGas.swift in Sources */ = {isa = PBXBuildFile; fileRef = 534FF25435EEA486F21EC56EBCAB291A /* Promise+Web3+Eth+EstimateGas.swift */; }; - CC1931CF82E7096A93F71FAC15A2368C /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F4A3C614502E99D77C9651CF09BD01B /* firstly.swift */; }; - CC649B6B389468CBEA2D8CC1188D24B6 /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = C0330E643D2770F7C6D422B4085388DA /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CD2E4A6C7480D47AFA2E27FBA6F538B8 /* Web3+ERC20.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DAD5F524037255589944BAAAF9B3EDC /* Web3+ERC20.swift */; }; - CDE9115B99FB035DF31575BCD1856176 /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = CC7703D2D8872FC0ABD92EE3F90EBDCB /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CE4EAF03E45F6783B55462ED597DF674 /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB2F2E4377859F7D681FE473B587053B /* BatchedCollection.swift */; }; - D067A5252ECCBB152D142B02C6A48497 /* UIView+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 14F7AD83E425807B028866A517E0155F /* UIView+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D09091B94532C278BCF3C3379CB58848 /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4FEF4545266F6206AEB6A317C63BDC2 /* Thenable.swift */; }; - D0ED390D223D65AED4918159B4E83518 /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = 61C7FDF5E2DDE25A864126B5CDE2560A /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D2334E5723DA38C7FE9EBE99DA28978B /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 729AEEED6FDD90CEDBADA5C6755B9536 /* SHA2.swift */; }; - D3D29344FDB7450A4C53B18EAB183EFB /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 6850F16CFC2F18D10E4E30E73F0552A8 /* AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D3F8A6927686E5F587F6C37A8768EC5E /* KeystoreManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D8E5BAB976E1215ADA818D366891226 /* KeystoreManager.swift */; }; - D48257219A517C7B544EC8F5FC7CE52D /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B33E9D7080834138F6B05D08954A9AA /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D4D59603BDE5980B8070D37AC4E202ED /* Exponentiation.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD0A982799C4459FD2E3166540B9A18D /* Exponentiation.swift */; }; - D531C0F4DC34B01BD246C1B1EC5068EA /* EIP67Code.swift in Sources */ = {isa = PBXBuildFile; fileRef = C191C1B178EC68CC1E14B9012A443F62 /* EIP67Code.swift */; }; - D5C5C921C1CB10C4A9A5EB05361E7338 /* CoreImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D1FE5696E0B254ED3F3CEF1700BFE3EF /* CoreImage.framework */; }; - D6F5C3DB51F463EBC05A47E34AED52C2 /* UIViewController+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 5419632D59B4453866138B147398B786 /* UIViewController+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D91CB1FD9B8648ABF4E539F1D026D6F2 /* Web3+Methods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9778E61DBD908F7C81939F9640787434 /* Web3+Methods.swift */; }; - D95CF1C2FE09EA43DF63C4DD978D9A3C /* Web3+HttpProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAABB0F89CF876EA103285C487CD9403 /* Web3+HttpProvider.swift */; }; - DA049A324AEE4E1D0660D0605F2B36A1 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C5DCCE452FBA3A37BE4A3C6ECB9C33 /* CompactMap.swift */; }; - DB2AD8BB5134D34E6E776539A83F0AB6 /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AB539FAAC4756E9D732FC45FA73B7D3 /* Blowfish.swift */; }; - DB6D332339076837BF529F161695300E /* CryptoSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 046CD9C71F2C224C3CAF90FFBD22174A /* CryptoSwift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DD4F0B5459AC03D854CF914377FF7AF8 /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = E0ED08C56E8F5A2573652D57C0E00AB1 /* when.m */; }; - DEF371792BD7952C8BB9D550D6B87D18 /* BlockExplorer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 631CEB8A33B0BABC23841BB536628BFA /* BlockExplorer.swift */; }; - DEF4308C1D254B7046901273C02406C6 /* BigInt-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 11D89C581D76CF01DAE12F8728D1828B /* BigInt-dummy.m */; }; - E0DC2448FBF7D5B446989F11A2353A61 /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = B1AF162652CC96EC4E7AA8713BEEF5B7 /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E13993B4E44256FD584BE3637A9155B0 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F0E78B73C5750335C94D48A43488F1 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E17D11ACDDF519813FDB233920EC8659 /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735E74D1B58493E7131A357B28151246 /* AEAD.swift */; }; - E20EA4D94335C9EB5D16C1BBACB1EE8D /* Promise+Web3+Eth+Call.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1065518E9270D7BB4FC633894765466D /* Promise+Web3+Eth+Call.swift */; }; - E2F20A4517CB23C4191AA5953850D0C7 /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F568297D4D43D340BC0B85931EF3ECEB /* Blowfish+Foundation.swift */; }; - E2F9B7B5AD54BCC930605F1E62FC4951 /* PlainKeystore+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B461C953E96246972B9FD88D07AD66E5 /* PlainKeystore+ObjC.swift */; }; - E3D2396BEAF014F7FB436B8E0098DEAF /* Dictionary+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BB13364DA7A1C04B41722DD1B785D8E /* Dictionary+Extension.swift */; }; - E5E7C8C8BFE08BAC8BE1D48BF4E4EEC6 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = A740FA5D5A7CC8E07FC8BA48D71D4558 /* Box.swift */; }; - E989A6FB1681262A87CCE58E002D09DB /* EthereumFilterEncodingExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EDABCC9E8C9DBD6F0354ADD3FC0D47B /* EthereumFilterEncodingExtensions.swift */; }; - E9996CF89769BC6E0A23565BA241E886 /* BigUInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9B7FC1C4BA7B43D989DB2B556486352 /* BigUInt.swift */; }; - E9EDFEAF82BDECFB5B2C7A4A269117E9 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = E22171F0C69D8C40BCDB2F57BE46B364 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EBF8FE9A06F1AE78A436416971F6D15C /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = CD6A176D312F0AE31DF835BCA4A0F342 /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EC271B9B67906BD2D607F2E1EDE64BFD /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32117111790566596776609D1005CEF8 /* Generics.swift */; }; - EC99D8C4AD4D2730993BE9E75FFBA9C2 /* Web3+JSONRPC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70E0EEB2A88058CB61B7C02075E3FBC7 /* Web3+JSONRPC.swift */; }; - ECD1A21FE9A1CF6147E947C6243B2656 /* EthereumTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = B806FEEE8A1AD5FF1AB49E5928BBC3A3 /* EthereumTransaction.swift */; }; - ED2AB53698CB5369C137E63E66D62108 /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5838F39185E3EAE8E18B70420E9A65E9 /* CMAC.swift */; }; - F077C061E7C6DE9634E53933176AED12 /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = E3FCFAFE5E2F92BF925E516BA5C6D586 /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F0B784E17804D5E84BA1DAE0C7549769 /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 913CF4153E753730DC216ECBA138739A /* BlockEncryptor.swift */; }; - F147FF24D349839D4BD32ED93CF288FA /* ENS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21563C94F3C303F058BA156A1F488535 /* ENS.swift */; }; - F3649D1559ABBD0842FAD6CD252CF5C5 /* Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 550AC365129396E2F60D5C364FA8B799 /* Hashable.swift */; }; - F47B31DCAF2F279AEB5BE848B666E7C2 /* Base58.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6295CFD25EA738F9FEF1FD0EE5FE0B06 /* Base58.swift */; }; - F4D85C27C6BB1452324FFC2456B67681 /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E7E12DF7A156B87C52342DADEF5F3D9 /* CTR.swift */; }; - F4EB3BB45A110F376689E772EDAA79E7 /* BlockExplorer+GetTransactionHistory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 316084C209096DC615680F3C10C4C605 /* BlockExplorer+GetTransactionHistory.swift */; }; - F57BEB34E9C79ADEBB885E84008AE0E9 /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A355B05B0BED16919207A4BD94258BA /* PKCS7Padding.swift */; }; - F7E3406D1BA7665C27427E1D6CCC9668 /* TransactionSigner.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1E9E05C913C27A3BCDC1B5C783DE9B9 /* TransactionSigner.swift */; }; - F80782A83BE40C1CEA827E6C144009FD /* Promise+Web3+Personal+UnlockAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B853AE4883AC6BC8B6D6F0876142F8 /* Promise+Web3+Personal+UnlockAccount.swift */; }; - FDE5A7E63389DB9715C4C23D4ADA7C0D /* PMKUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = EE6713D6A2C799F18F66DEAF4B9DA002 /* PMKUIKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FE65A2540C6E76089372119B2F94A5AB /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = EADAE9DDDE266D2FA434262C25991F22 /* PBKDF2.swift */; }; - FEDD97DDD605CF96A6FA9C8A4D58FBCB /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E54F021F03B8254D3E0139DB1197C21 /* PBKDF1.swift */; }; - FF5058AB561C8B54477DABC1E2CD5C17 /* RandomUInt64.swift in Sources */ = {isa = PBXBuildFile; fileRef = B71A2239207EC9A9FD4F65D23E822396 /* RandomUInt64.swift */; }; - FFA857880C4A489DFA18FCB33A90E834 /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = 290AA67F142E07CC2C3BE60373077AAF /* after.m */; }; + 0069D192EEB5FD6E4FE6CE081766BF84 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED32FA320D4B20F774457FA9C15F4DD2 /* Int+Extension.swift */; }; + 0075468647D0FFC3AAED89F1F23D66CF /* PlainKeystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 785088A8C7337172C11F39BC9A4A9321 /* PlainKeystore.swift */; }; + 00A7C1597DE9265F746EA649878A668C /* BIP32HDNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D22A1274D72F8069BBEBF15A847277B5 /* BIP32HDNode.swift */; }; + 011C7540AA287C97361474C15BEC543C /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A355B05B0BED16919207A4BD94258BA /* PKCS7Padding.swift */; }; + 02B1E2D6F7BBED451D46B09035722FA0 /* BIP39.swift in Sources */ = {isa = PBXBuildFile; fileRef = B230E8C1B6762E788B76F2AA859FF02E /* BIP39.swift */; }; + 0342898ED680F5682ED857AD2025247D /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BD8F7B538E9955AD6B31C5548E85E3A /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 03C3AFC1A73CC721DFC025DA0492B8F7 /* AnyError.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCD3FB4606DD884C6F35F97D863A296F /* AnyError.swift */; }; + 045FA7F5C4FA073D115933C8046C954D /* KeystoreManager+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7F281434684B8C111CACBAE1BCD1B8A /* KeystoreManager+ObjC.swift */; }; + 04BAB9000ECA1DF9525E0A15D715B307 /* RandomUInt64.swift in Sources */ = {isa = PBXBuildFile; fileRef = B71A2239207EC9A9FD4F65D23E822396 /* RandomUInt64.swift */; }; + 05DCD2FC5F3843251C1B431881F46A15 /* ABIv2TypeParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4DBB0B96A0D97186D0D275913EFB6F4 /* ABIv2TypeParser.swift */; }; + 061CD8DF38E45A06BCA57538669821F8 /* after.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C8EDCC12EBCA64B4D3B9C433300DD15 /* after.swift */; }; + 06346EDCC1E2F52FE78341A96C1C2E80 /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 414BCF28F898344A3ACB4CFA9EAC0C6A /* ResultProtocol.swift */; }; + 08126F596F171C58B2CDD7314A1129D6 /* Web3+HttpProvider+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D1A082C236FA698192257797E4895EC /* Web3+HttpProvider+ObjC.swift */; }; + 090FC12C45ED8F6A69B4E632DFE94915 /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39746AC697FEEA2BEB3737B0A0ADB594 /* SecureBytes.swift */; }; + 0BC51526B2D3116FE16EBE44DA507D3C /* EIP681.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CCD691C76047A933F592EC30383C674 /* EIP681.swift */; }; + 0C3AE310B1F97E722879135D91FC439B /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = BA06B61BC294257DACC3E1D0FD32DA53 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0C76323B6074D43A33E958630E2FA2B8 /* Promise+Web3+Eth+GetBlockByHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77BA68E17B6BB6941FB1F5C040C24663 /* Promise+Web3+Eth+GetBlockByHash.swift */; }; + 0E285E910A32BEC3C90AE7FCD361AD63 /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF39ECE02AE8493AAF47EDD68429E007 /* CipherModeWorker.swift */; }; + 0E4E5A6466DC27E019E10B79F0AB77EA /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FE8C570A67B72F1871BDC1419D7B753 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0E595594925920B81CBDC1EF1F737727 /* Words and Bits.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60BC0AB6A6A28CC649B0FF506918AB6F /* Words and Bits.swift */; }; + 0F0DCA8CBC42D5EBFAE1401F86393B1A /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4FEF4545266F6206AEB6A317C63BDC2 /* Thenable.swift */; }; + 0F122728D41D7ACC67337E2E602B04A9 /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 753FBDA47B0F3ABF841BFB35EE89BF17 /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 104041B63A33F6C978EBE1042E7F36C6 /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA571FCCE0EC4EA1D6F0234A756DE463 /* HMAC+Foundation.swift */; }; + 1393314FA30ED036A4876EED12EF15DF /* BigInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FDA429500C1942B661A657EA51E45DD /* BigInt.swift */; }; + 13BB14D730491354406F32259BFA9257 /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 75D06CDEDBF36C342B7FFE38F8F51A90 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 13DFC709B5090CE924800551AE5D9808 /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78EB2D7AF07B5FB60C2DE1449E308285 /* AES.Cryptors.swift */; }; + 1418FE8C38CFB0A63618CB505778FF1A /* String Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83028A48F74FCB58CD998F99671B2730 /* String Conversion.swift */; }; + 168BDC656BAAED4F5FC8CF368D073EF2 /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A81B88260492B4477381A6A631B8D02 /* GCM.swift */; }; + 16BD01485AEA764E1D7AE403EDAA7CAC /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E7E12DF7A156B87C52342DADEF5F3D9 /* CTR.swift */; }; + 175846F537D8B12473C9BD1BC7664B16 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 1726EC7BDEA2D89FB4D2AD0CE0562EB0 /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1774B3B2CE80448F302A78251D87401A /* Web3+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 292938D4E2E614F82D7E4A4A53919089 /* Web3+ObjC.swift */; }; + 17A85E0EC18A32952F779A75E09AB131 /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0FD9DB2AEDA0136A6B828690C3BE23 /* UInt8+Extension.swift */; }; + 1802CDD64DFC896D6C4107DE83FB1BF2 /* NSObject+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F6CCA99139E9FA673025D313067429D /* NSObject+Promise.swift */; }; + 1819715D4AE9B9E34CC6884404B925A7 /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F4ED35987097AEB911D8C66F9DBBFB9 /* String+FoundationExtension.swift */; }; + 1827A2E7503354E5079D35079745DE19 /* CryptoSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D0BFE961FEE019F0474CC71591FBA21 /* CryptoSwift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 185B22077187E274AD1554F64AEDCD02 /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = CD6A176D312F0AE31DF835BCA4A0F342 /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1876693CC43D85F269BADE3E768EDA7D /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = E3FCFAFE5E2F92BF925E516BA5C6D586 /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 19127EBDCFDCA18FB791457D9636554A /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75BBEA9589DE194D6D03679EDBDB8F36 /* Collection+Extension.swift */; }; + 193BCB45EB2F96FFD27337F8D2D9603F /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = B225A007A4268038A9E454D13111A89D /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1A4B5F4283534B7876F0797D79743E7C /* UIView+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D9827104D7B5DA3C16491C9811CC664 /* UIView+Promise.swift */; }; + 1AA2BEDB70F75FB46C0DDEAF37624686 /* race.m in Sources */ = {isa = PBXBuildFile; fileRef = 95F9DAFFDEA63060E250D163213F0C61 /* race.m */; }; + 1AEA4CC9FAFDF49652633E9DBE16D80E /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FDC70BC746BDB97351736B2E75A507F /* AES.swift */; }; + 1B3A7F77E5D5CE5F8E299A6B6FC3239D /* AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C56A8FF9537CCF10D87B749E9F62732 /* AnyPromise.m */; }; + 1C161B8EA65B5BDAE68E60F1554853DD /* ABIv2Encoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = C79C70AB4E5DF69385497C717CEBFB75 /* ABIv2Encoding.swift */; }; + 1EE14F44BE6D7C6D015982EBCB62366B /* Square Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E651A4C1D8411BB17C4D0A883ECCE95 /* Square Root.swift */; }; + 1F775B3A5B3F7AD66C937140F5D64981 /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D699FB2D6E241D8DD3F2A527E0F732E /* RandomBytesSequence.swift */; }; + 202EDC7A61D90D385D5A163E66665BF7 /* Web3+Methods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9778E61DBD908F7C81939F9640787434 /* Web3+Methods.swift */; }; + 21BEF33F6A2B374B486F089628B99B25 /* PromiseKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 03427BFCE54F27CE4E2B39BF4A10CC94 /* PromiseKit-dummy.m */; }; + 21C57C5726D2EB337172882289EBA3B6 /* Promise+Web3+Eth+GetTransactionReceipt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 376411273811B98AA866A25753F7A66E /* Promise+Web3+Eth+GetTransactionReceipt.swift */; }; + 22DCAC3A73E88CA5628BC1FEB5DBA99F /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = 20CB207C8B0FDA2529F2F5D253C4A534 /* fwd.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 22FD54B4C827131C4D684D2EAA053145 /* Promise+Web3+Eth+Call.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1065518E9270D7BB4FC633894765466D /* Promise+Web3+Eth+Call.swift */; }; + 2498514CC27CCDFE8E81FAE89A1A286B /* ContractProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D8007518DBD2C969B8AF1A986FF45C9 /* ContractProtocol.swift */; }; + 27FE3E93F1532DBADEF4E265BECD3B77 /* Web3+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20B0DF172F7BCE780CE4325B9FA737E8 /* Web3+Utils.swift */; }; + 2A1C4A8A8BA9576AE5DF448DB426C023 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D7BB0E009A62667D94F3144CF4F0FA0 /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2A8F6944A9B01C4D77F755677E3B50CD /* Exponentiation.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD0A982799C4459FD2E3166540B9A18D /* Exponentiation.swift */; }; + 2B4AEEF5291AF4C54375103E51B33EED /* Strideable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76C5EBB02B365D308E28575CC36D5CA0 /* Strideable.swift */; }; + 2C9C89045C33D64985BF4225219BD28A /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = C0330E643D2770F7C6D422B4085388DA /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2DD6BC67B196FDEB6520629498A29D83 /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = B5B0E053F4769044408474F4EDD0450B /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2EB9A7BDFE7194105B1D955541456E8E /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = D3D75A6D93D9A7DF105F25DC93688461 /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2FDA0E6E5364186683841D4CB7F2AA96 /* web3swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BB92D928E7F0A70EED5685C3FCC2629 /* web3swift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 30E55EC1173BE1FB08D744675769DBD2 /* EthereumFilterEncodingExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EDABCC9E8C9DBD6F0354ADD3FC0D47B /* EthereumFilterEncodingExtensions.swift */; }; + 31BE361F12FECC822B92E13681857FD0 /* Promise+HttpProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = C93101B181E8AABEB131C0915B6F3015 /* Promise+HttpProvider.swift */; }; + 328764F572D114FE4FD89859EA7D0C82 /* NoError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 598C899118EB120568F6595B3CA4CF62 /* NoError.swift */; }; + 331CE8D8224F71C9D3D70DC1801A1715 /* Promise+Web3+Contract+GetIndexedEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47C25EDDC521B2D33E3E14E53A09B8CB /* Promise+Web3+Contract+GetIndexedEvents.swift */; }; + 337A8793B004627DE63C9C9F3718957B /* dispatch_promise.m in Sources */ = {isa = PBXBuildFile; fileRef = 53053374B0830B4CF86F4E46A7232798 /* dispatch_promise.m */; }; + 3401E200180CF3B6563B96FEAF55CA94 /* Result-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 63CAA63FD9DC75F798C3FEB9BDC9E1C3 /* Result-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 35923DB1A6781812B8913ECD0416D749 /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = B3AE1B016C720A6861CFEEED6B0B1E5D /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 36306880A632F6028A29C9EF3AF21D76 /* Web3+Infura.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B07F39C278099EF682E0CE68BCD5498 /* Web3+Infura.swift */; }; + 36A0040F0878B1983F1EA1303DEA3A8A /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 078AF53D6A07F762432A2424B5D58161 /* StreamEncryptor.swift */; }; + 36CD9E2F0BD86A31E701E02DAB5AE6F2 /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7653D4CA3F95CD7C0BD5C5634BC8726 /* Authenticator.swift */; }; + 37457234666FBA7DF56C16652038067A /* Dictionary+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BB13364DA7A1C04B41722DD1B785D8E /* Dictionary+Extension.swift */; }; + 37741FB620689069751B06889B7C7143 /* Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9008A60A0D23BDC48F41DFAA7F9FBA08 /* Comparable.swift */; }; + 37F32E3E1902C1C57EEC4067E506189D /* BIP32KeystoreJSONStructure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17030AF3741AF00A5A580D4345C62671 /* BIP32KeystoreJSONStructure.swift */; }; + 390BD2F5D6EE5DC4869B75A58E5A45D9 /* scrypt-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 132EEA6FACDEAEC8CD7FD1339E7D9008 /* scrypt-dummy.m */; }; + 39CDE4B10C60D85F37F77C939C51E074 /* Shifts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 693EA8BE7F3922FAB6C8D9FB9B29DD52 /* Shifts.swift */; }; + 3A0B9F7D652FAD6B6F41E8ECBC672B2E /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9D56D5E5F9EF5E2211C743FEDCBAADD /* String+Extension.swift */; }; + 3B670C333D1FA4301955FC92E0ADE64A /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 474585527D4B8900A32D2242E978847F /* NSNotificationCenter+AnyPromise.m */; }; + 3B85CE7D9D64282311FA54DBC8286756 /* Promise+Web3+Eth+GetBlockByNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 891D55C717F344B9C14142E735B75843 /* Promise+Web3+Eth+GetBlockByNumber.swift */; }; + 3C3E2109D1CACB25EAFAF06D4238567E /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AB539FAAC4756E9D732FC45FA73B7D3 /* Blowfish.swift */; }; + 3CB14077F8EC08C91CC67F7A527B417E /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735E74D1B58493E7131A357B28151246 /* AEAD.swift */; }; + 3CB94F4227FD789E4DF19BE266778FA8 /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 912B8C0B1FBC7A948BA82A00E7045D27 /* Deprecations.swift */; }; + 3E3087E0AF2608D58EFD71B57D6FF5D5 /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = B1AF162652CC96EC4E7AA8713BEEF5B7 /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3F1665AFCA874E77038222C32CA21CF4 /* TransactionSigner.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1E9E05C913C27A3BCDC1B5C783DE9B9 /* TransactionSigner.swift */; }; + 403488C6FD6D81EC1837EB3785B143A7 /* Guarantee.swift in Sources */ = {isa = PBXBuildFile; fileRef = F46ACB0433C87E504F733209EBE2BF33 /* Guarantee.swift */; }; + 40FCE77060A9F031CFDE7A39DB8BE346 /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = CB23B0951CD5D604D24EA76B4B41466F /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4144EBF3173A41E918C16A79249458E3 /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = C7BFE272DA00B10F8102625518DEADB8 /* join.m */; }; + 42911B8E04109940D27D03B76FDB71DA /* Integer Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B2A909107AF59DD8B8759CFE5DC93C3 /* Integer Conversion.swift */; }; + 43FD8DB1CCB725A4FE8894835801F3EB /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB6386E81F459ED74E6BB3E8FA4FF3CE /* CBC.swift */; }; + 45216D6980BC449A1E84C0C6CC1AA6F9 /* Web3+Options.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D81EA660BB41A6042EB12554C011FF5 /* Web3+Options.swift */; }; + 45EE1E43188FD2E7FC8B2D5030BFC973 /* BloomFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39E4ECDC1C840F2E1D4F0634927F7BB7 /* BloomFilter.swift */; }; + 465596376950D8BA52A52DF91185308A /* Web3+JSONRPC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70E0EEB2A88058CB61B7C02075E3FBC7 /* Web3+JSONRPC.swift */; }; + 46D913BB12854D13B0F897B37C0645A4 /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB2F2E4377859F7D681FE473B587053B /* BatchedCollection.swift */; }; + 4713F0A481C5F6ACE1E7F285B4FA5FEE /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 99C57625E52E17DB4D8B152FC7D1772F /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4739C9EEFC54F5C097D8D9D86CECEC2D /* ComparisonExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 094419FE4BE23498B11CBA6A878600DF /* ComparisonExtensions.swift */; }; + 48388B84776F7C1407A1E118B089CBEA /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9CAE13A8BC055260DED74FDBDE2A710 /* AEADChaCha20Poly1305.swift */; }; + 48455593A60C3CA87A214694EF5D1873 /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EC0E04C3669680657625472D862D24A /* afterlife.swift */; }; + 49DD2B0B8B0B0E37B1823A8AA30CD26D /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = E91345FF5BDDF745793EEDF104FCDCB0 /* Error.swift */; }; + 49FEEA70ABC39AF55CD97D81857EF07E /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FD0BFFC7C6E627BB86EE5C540F71341 /* BlockDecryptor.swift */; }; + 4A5593F6C0B13BB81EAD2D062E38E21A /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = E22171F0C69D8C40BCDB2F57BE46B364 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4AACA123F47301AFCECF75FE8D86BBBD /* Promise+Web3+Eth+SendRawTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68BB7A2BC3583AD28EAD25EA7ED9D5FD /* Promise+Web3+Eth+SendRawTransaction.swift */; }; + 4AB8899CD9B274899C569E8E4F6B8163 /* Web3+BrowserFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 845B2F9B3F1C9FB2895E49DB515D07CA /* Web3+BrowserFunctions.swift */; }; + 4BEC002E24F5AD2E72EE77A41D06AA1D /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = A96F34D195736EFBEE26EAF01CFB8519 /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4C3CAE4E66950002C334290828030002 /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC990486D4C0CEEBBB80C141DC8AAF7C /* CustomStringConvertible.swift */; }; + 4CFF75EF09263579007C95CD2C296463 /* Subtraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2742EF48D7A9BADD15DFA2028CDB4AD /* Subtraction.swift */; }; + 4D3407C41F4EEB3975ACE1EED0B49A16 /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2B5D7FCD090BEF9FFFB3C684DCB1B18 /* Catchable.swift */; }; + 4DEA27C788BF3119B52411CCB2922FB2 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0EAE40505327D2CB02940BDEB3B21DC /* HMAC.swift */; }; + 4E3FDA58133BED7E50509490CD6FD4F4 /* AbstractKeystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91DC39A093E0AC3021796C0C881D7423 /* AbstractKeystore.swift */; }; + 4E6B32A3483F0BFABBD797909A9DEF6E /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 976F6985F84517A349137181F3CBB38C /* UInt16+Extension.swift */; }; + 4F6ED8ADD7B24315D4F8D18C227D3ACD /* Primitive Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = E27EAF74BA22155644BF26D238704159 /* Primitive Types.swift */; }; + 5111E29F246083C72BED5DCB4AB23339 /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FF21379AF18F46F4F0D6D75E0FF54F4 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 52FB513158120D5E9A5D0F389C8B4705 /* BigUInt+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4D0235918D0C322E2E83A50D0A2CD24 /* BigUInt+ObjC.swift */; }; + 543D935BDB2B65030F4F1CC620E38CC2 /* BIP39+WordLists.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B102B3CA88EB8D8489C8BD4E882B887 /* BIP39+WordLists.swift */; }; + 56ACBF1330E1BDB853FC94E16E41A0C7 /* Promise+Web3+Eth+GetTransactionCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 100B115D06674BEC5FE6A0B8CEFE2F84 /* Promise+Web3+Eth+GetTransactionCount.swift */; }; + 56FEEE8BC37939684F8887F96C6EFE1E /* PMKUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = EE6713D6A2C799F18F66DEAF4B9DA002 /* PMKUIKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 57EE2999B5A42AB125DE111FD58382E8 /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAFF5311E9BA57C195A3AF3540BB75A1 /* SHA1.swift */; }; + 58560D5361D4C0DA182EDE13BD4BF20A /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = A740FA5D5A7CC8E07FC8BA48D71D4558 /* Box.swift */; }; + 58ACD248746150D1523327FBE5B37A1C /* EthereumAddress+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = E876079E09845BBA655ED734665C8A43 /* EthereumAddress+ObjC.swift */; }; + 595B8A2A0CCEBF78C630FF9978F29AB7 /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1080142E5C98D83C6423ACA6241A5A6 /* AES+Foundation.swift */; }; + 5A62E1514221B943B7A3D3946E7C33F7 /* NameHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = B271D2C6AB2B214DB0BBE7869FA70164 /* NameHash.swift */; }; + 5A6C4BA33ADE33CC6B382B120B679237 /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F568297D4D43D340BC0B85931EF3ECEB /* Blowfish+Foundation.swift */; }; + 5BDE74041F9724B7C2A40FD1FCFA45F0 /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4147FE7BEB4CBD63C000B5CDFE1CE694 /* UInt32+Extension.swift */; }; + 5C54B9B9E5E0B285872796330B999044 /* EthereumTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = B806FEEE8A1AD5FF1AB49E5928BBC3A3 /* EthereumTransaction.swift */; }; + 5DB7A571F556449AD9706B01CB07EA6A /* KeystoreV3JSONStructure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 135C2258FEDDC235C7E7781BD638E0D0 /* KeystoreV3JSONStructure.swift */; }; + 5E249F6FB23CCC4985EFB3FDCADE487B /* Result-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 25919B578B7379AB255855AA74003212 /* Result-dummy.m */; }; + 6367286AA49B412B8FA5D9E60AC57942 /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 90FB08FA3883CDF506EFD3894126E276 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 63DE145E1764A86D1ABB97F789625268 /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CFC32E2261053E3091FD1DCC05DF4D5 /* UInt64+Extension.swift */; }; + 64B367DFA40AC646E11DAB819B0E292E /* Promise+Batching.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2967DC4D563FB31C61E228B5CBB7F6E2 /* Promise+Batching.swift */; }; + 655563EF592B664426E4F924AD94A1EE /* Web3+HttpProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAABB0F89CF876EA103285C487CD9403 /* Web3+HttpProvider.swift */; }; + 661C802B489BBD3DFD82BFD64B22436D /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 02DC13AF775E722F06F597A8A14B0AE6 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6795E9608781C7A1914DBFC1D1B3BBD0 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 123FCC5CF86530D3AA0B411043CCF3FC /* String+Extension.swift */; }; + 681FBF1DE7F5E28A656C33C24795C69D /* CryptoSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6987CE8539E8316A528A63024B5DC52C /* CryptoSwift-dummy.m */; }; + 68967D93A7040322F28E032A686ADDB8 /* BIP32Keystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 573C281E9AC6356B325AD8D6510F60B7 /* BIP32Keystore.swift */; }; + 68AC0F69139647F7B018BBF14976F577 /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFC18FE05DFD6D953716F8225BEC16A8 /* Checksum.swift */; }; + 68C039D30A4BD8D39DF56B559B4ADB68 /* NativeTypesEncoding+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B8E411298FF1752518A56381CD096CD /* NativeTypesEncoding+Extensions.swift */; }; + 68C3B925415233905445BBC632E33D98 /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 92BA0A05E447FDB20B427DC9BA3F17BA /* NSTask+AnyPromise.m */; }; + 68FCBCF149554A07A481E77E101529A0 /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 40E213322D7482A63CDC0B2220AE92F8 /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6951FF81102CC5BFF9688FD32F93DB93 /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4656C6F079843C6375DBFB8F3F149CD5 /* PCBC.swift */; }; + 69B43E85EA9FD569A466BE6BA94A5F86 /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F61FB300C8C0447EB3B39E0D27DCC86 /* Digest.swift */; }; + 6AF78554F313E5317E4F904D7B8D56A2 /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = FB9227AD4EC63BDE92E26BD15585FCA5 /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6B5044E9BC84F66C42F5923359015BF8 /* Web3+Structures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51291E05C571952BED7774C956E85673 /* Web3+Structures.swift */; }; + 6D8404384D6E70502A028E0A183163BB /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = B8CBA501A152AA198F4C80D0E17BAFED /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6EBEEEDAACA227734E95EA5211665100 /* GCD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75B53B7D429106EC393E04CCE7E0FCF7 /* GCD.swift */; }; + 6F853D5E1F77B742C8BC832153D2CFB7 /* race.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45F782717284628C9976CC3513689E42 /* race.swift */; }; + 70C753C56B4C246E2B038E4F94BF0BBF /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 347D7C773BE16C921C11062107552892 /* Codable.swift */; }; + 718236F77969D41EA45AE28A7EF14E52 /* Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 550AC365129396E2F60D5C364FA8B799 /* Hashable.swift */; }; + 7206709B12948E39A73C1443F4476FE4 /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F3913F7F2CBD112E100212D4E6CD280 /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 726BB598C1055EDC9C6423E70C91C90A /* CryptoExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F227060DB927464FC9041C45A8FFB80 /* CryptoExtensions.swift */; }; + 72C25CF4053DCD62E5447817C0B9221E /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14EB90988A4AD64E02B4BC0D410025D1 /* Utils+Foundation.swift */; }; + 7528DA81FC748DE3FC4BBCD0A2E1400C /* Web3+Wallet.swift in Sources */ = {isa = PBXBuildFile; fileRef = D48E4039D8A05D930087548282B6EDFB /* Web3+Wallet.swift */; }; + 76470FC323983D6226BCF68B1164E3F5 /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41C6D67293FF379F07747E16571D4A7B /* Padding.swift */; }; + 76B563B51D27673895764F16C48D5E24 /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8287DF2117A869C0B6C9BC2CAAC80DD /* Rabbit+Foundation.swift */; }; + 77178248CD6460B5432AC6DFC3579E23 /* web3swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 19D96B7EB5F4FBCB0D6CD0C3E49624FB /* web3swift-dummy.m */; }; + 778848906301AB76386C72A37543BE52 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8991CD2A50906AF10EB4BDB7E932FAEF /* Array+Extension.swift */; }; + 779F797D02BC03B4AC8C9BA2F32EDD86 /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = 60D6A69168B4A121E9E39646B6E40E1A /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 78589BD06CD8A1E65939A186F9EF2AB5 /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2BB223B0460060F3F08F67C605E6971 /* Bit.swift */; }; + 7879C44114E0F4F770B0E68610F5ACFB /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BC6637281B8A68F6FC9D03AD4BE8663 /* ZeroPadding.swift */; }; + 78FD627F252ED1A0015EE533DD68C2FF /* Web3+Personal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87A57BF304C2840A5AFBC40A55F95F7A /* Web3+Personal.swift */; }; + 7CF47931D812B23E671EC0DEA0706DFA /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD0F82A7D2464AEF836A81F2E23371DD /* NoPadding.swift */; }; + 7D67866AC6C3A9D16FE90065AADC0149 /* EthereumKeystoreV3.swift in Sources */ = {isa = PBXBuildFile; fileRef = A740ACE88D9C0FCCAA9BF577B356D151 /* EthereumKeystoreV3.swift */; }; + 7DB611371F67DF74D20797AD0B4B3032 /* RLP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FC0C757DEC5E742B77C173A8B9FA6B7 /* RLP.swift */; }; + 7E314E370D8E63F9D28EB4D83FF125C5 /* Promise+Web3+Eth+GetTransactionDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE2E92733967F592C99E77387B2DD8FD /* Promise+Web3+Eth+GetTransactionDetails.swift */; }; + 7E85ACD04ADFC992156F52FBE1BFE20A /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = CC7703D2D8872FC0ABD92EE3F90EBDCB /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7EC88E86E051E823EE620293A70225BB /* UIView+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 394D7CE2F861BEF42B052C1127E8BE02 /* UIView+AnyPromise.m */; }; + 7EFCEF370D1273ECA03178E054495922 /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63210423770306A042AA9FF3B458E4E7 /* Updatable.swift */; }; + 7F77F6FF53784ED6A5A93AC3D548F02A /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFBD00269481FF629C0D75143D8ED5CB /* Operators.swift */; }; + 7FADDF54E465F347CF0C611B940B56E2 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 973DD5BB41EA9F79AF3EC787D0C36229 /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7FEA191A8B72A225854E8C1E418CF7B1 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = BB1C6578AA63B23B241C85DCD3EF3D21 /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8008DD7D87F87B9E3D5ECEA3467E1A9C /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03180B6A770752FE7AF4453AE81CA412 /* Cryptors.swift */; }; + 809461B522DAD1CC4DA7B304793057A5 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6030A6AE80EF19BF46A279BA9B759C1 /* ECB.swift */; }; + 80FFFE82E8A8DE6ED294DECE0DDE1908 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D7048890B198E005491CCFCEB097B6C6 /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 822D2EB3DC201386CF9DF682794D91F7 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E4C0E96E391A3A6478442E71331B4C8 /* Utils.swift */; }; + 836C8A3CCAD5C5FE68F01D5B3AB57174 /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A6D448881C8648C29B2822564286304 /* NSURLSession+Promise.swift */; }; + 838FC79B49A0DD9506EDFF36DC730262 /* Web3+EventParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2F40252FE652D0C4730C00077BADDAA /* Web3+EventParser.swift */; }; + 83DE107ED68E9FFA4B62A5A12B99223B /* web3swift.h in Headers */ = {isa = PBXBuildFile; fileRef = EAE853F3B901CD0EFBB3049D7288A635 /* web3swift.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 847F825E0F00B1476A42EC1A2914DA3B /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A0AAEC1A587F9F34485AC86C4D355AE /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 849B9967D22A26A74AD8C73FB1648F23 /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = E77AC5D58E1FF6C75FCC6752505572A9 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 84A96034B669A157EFCB701B8F7F635F /* secp256k1_ios-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ADF7BA967B554C691C423EEA65EEFDA /* secp256k1_ios-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 84BCF4CADBC4D7DDA795387EC0AC07E7 /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CAF79CEAC3F53315AED830078D52BA7 /* MD5.swift */; }; + 8517DDE6E73644C042195E2C78A312E6 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B7D9D842F7D0AA20338FB007081B95 /* Array+Extension.swift */; }; + 8573AF1939D602ADE9AC58E01AD361EE /* scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = EB90911DBCE2B6C999C122F3EC56E386 /* scrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 859729A76D2AFAB1080AB8E850982E4B /* Promise+Web3+Eth+GetGasPrice.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2B568367A9864B63A35097D9E4AB93A /* Promise+Web3+Eth+GetGasPrice.swift */; }; + 85973E99277A40CB09CD12CDB7F66743 /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D88F2B395E5E3F2C3E61220B75F9EFE4 /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8606AA654F3D24B407E7274A9BB3995F /* Division.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F01FE95147DDFFD02325C07A8F6783D /* Division.swift */; }; + 86F8EB37DA0D0B1894675C2A41A949CE /* IBAN.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3724656679C0E551B0D424B10D8BDE0 /* IBAN.swift */; }; + 872CC7E11DB7B5D9E47440A739E574AB /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2535CD8F39B0A548B8948A1D4DFCDA4C /* PKCS5.swift */; }; + 873DE3CC5FB993DC11904D529384C888 /* ABIv2ParameterTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D57382F3D45CBD48EC909FE9F31DD25 /* ABIv2ParameterTypes.swift */; }; + 875C13093A167B1933DD251F3F1A84D1 /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = B76269C67E36441FAD8FF805B6A60FF1 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 88ED6F7E091B1D56573DCEFA4F60B010 /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4079EF5F5CB33767D580095FD9CE038E /* CFB.swift */; }; + 890D1216015AC23C813DD998F3D0BD6A /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9025BAAEE8CC693DC8E66CE52E77768 /* Data+Extension.swift */; }; + 8B28B522A60F6F1A0BEC7E64514B0976 /* LibSecp256k1Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66175BB0554541A3D3816C0B65138569 /* LibSecp256k1Extension.swift */; }; + 8C4634FA8F9D714321F3973BAC3756CD /* Web3+Contract.swift in Sources */ = {isa = PBXBuildFile; fileRef = B78D71D7365AE4B58112354EDD377D4D /* Web3+Contract.swift */; }; + 8E5BF109ABE01A8C75C78AEB7B902FC3 /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = D646DCC70198FD61095957E5652DEF33 /* HKDF.swift */; }; + 8E67099B57DC9596F3EA8ECD4E33CBE4 /* Base58.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6295CFD25EA738F9FEF1FD0EE5FE0B06 /* Base58.swift */; }; + 8FB3313F35F24D37534650188E353A5A /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = E9124AFC41B95D43CF8CC563C862991C /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9032FD5A6851FA0796FE178236BE9949 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC203122F4CADEB96AD6DC31C9B89CD7 /* UInt128.swift */; }; + 916D4FB604792532AFA1C162DECB998D /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56AD7AD28B0B51693A9D7B079E162D05 /* NSNotificationCenter+Promise.swift */; }; + 91C565DE7355FB1961E40D10EE14CDBE /* RIPEMD160+StackOveflow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84AB4B26E85BB1F6973CFA28CD3096B5 /* RIPEMD160+StackOveflow.swift */; }; + 924E737605ABB2921B3F48BFD380944B /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = DB6B3F25A51F2AB28AC33743DAB74418 /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 92AF3433DD838ABA99BEBEFDAF5182B8 /* BufferStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC96BFAF2B1203FC9CA3C40F8C68BE0A /* BufferStorage.swift */; }; + 948850F4D9DCBDA7885F96517F7C93B2 /* Web3+Eth.swift in Sources */ = {isa = PBXBuildFile; fileRef = C613C1A4193B296D8171C94206D33C31 /* Web3+Eth.swift */; }; + 970434B3CDFCB829040B04EB0280678E /* EthereumAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CB230DD879156CD4033668CEE509774 /* EthereumAddress.swift */; }; + 975D0B554704CA112AE1A7071249F89F /* BlockExplorer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 631CEB8A33B0BABC23841BB536628BFA /* BlockExplorer.swift */; }; + 97E9D2C351BA784EAB933580AD206C13 /* secp256k1_ios-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BF9CD7996E9539414390F255AAE03851 /* secp256k1_ios-dummy.m */; }; + 9985C1DF20C3A844133CC24F260232A6 /* SipHashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A96630CA550118EAC05864B2C651DF35 /* SipHashable.swift */; }; + 99F02A84D0D5E2765EE4F4C4AA684A63 /* Web3+TransactionIntermediate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9D0562D53ACD302EE60EE8967515E45 /* Web3+TransactionIntermediate.swift */; }; + 9C41B74A57AA5CFF765F024109AC0578 /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 69CA1E92AD82C49EF237136039463B58 /* PromiseKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9C99049FC31F95572D2E8F8D8A159681 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 788557B540DA06D0AF67BA99AF689F4C /* Configuration.swift */; }; + 9D39EF4996CB92E27C1BAF0651E2C242 /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1416B00744E099B449B5484EB4FE66B9 /* ChaCha20+Foundation.swift */; }; + 9D526303604B00B72758C41A697E5995 /* EIP67Code.swift in Sources */ = {isa = PBXBuildFile; fileRef = C191C1B178EC68CC1E14B9012A443F62 /* EIP67Code.swift */; }; + 9E61496223A21B14280586F3E47065BC /* PlainKeystore+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B461C953E96246972B9FD88D07AD66E5 /* PlainKeystore+ObjC.swift */; }; + 9FD060EF8DF515DA0B961EEFA266D545 /* BigInt-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7215A5A55F2FAB77E52827BDC972EEFC /* BigInt-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A10552DA49C1B421E22D5BBD00043EB5 /* Web3+ERC20.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DAD5F524037255589944BAAAF9B3EDC /* Web3+ERC20.swift */; }; + A2282701DE9BC91494A2065F23824272 /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7824C3291189F43DB7D1217F4967A4F2 /* Random.swift */; }; + A2800740B805FE08662A48D9C0CFF49E /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 046EE18AB153A100831CC08374F28865 /* Cipher.swift */; }; + A30DC6AF6EF10EB0690299A4867C9B84 /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = C52F5EDD1118D33A3B10C6452A089E8F /* PMKFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A3990AC532A16D984A30B92171E19633 /* Addition.swift in Sources */ = {isa = PBXBuildFile; fileRef = E035FE22D8FD996F3D0563F19CB710CE /* Addition.swift */; }; + A5CE80C2CF454667ADBEFFF8D35EC95B /* SipHash-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 241A56E773F086ECBC740412E6904C70 /* SipHash-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A5DAA10D56BDF5F37BF37565DECAA21B /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E5AE0371FA8682D8CCBB47D262545A4 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A60E9D71694BFC11E2A9A86B8C1B0095 /* ABIv2.swift in Sources */ = {isa = PBXBuildFile; fileRef = E32EAD6B9FA7E7949B7E044DF88FAE25 /* ABIv2.swift */; }; + A80D6A613610153FFF343C7385871FE8 /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C339595D926BED9A5D0167C24CDC4B8 /* Resolver.swift */; }; + A8FFEB53432DC4F2885A8CD8E1E9870E /* hang.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DF8BA790BE9738632EE52265150D03A /* hang.swift */; }; + A92458877FCA59086F67BB51DDC41CAB /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 6850F16CFC2F18D10E4E30E73F0552A8 /* AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A9DAD6C60EFAA6AD3077726E8C56ED31 /* Salsa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 264884CE631173016E083169227D349F /* Salsa.swift */; }; + AA30153EC052C2F6DC67B9E50E451A6C /* SipHash-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 45785764A72ADF6B322ADB75DF6AC70B /* SipHash-dummy.m */; }; + AB905E3B9A9CB2C8F126AB2F7A985B63 /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29C001CC84817EC570F42EB843806088 /* ChaCha20.swift */; }; + AB9668A6835AEC7962A3C7768ADAAA56 /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 913CF4153E753730DC216ECBA138739A /* BlockEncryptor.swift */; }; + AD7D2F8C362981D42EA5497CC71F7737 /* EventFiltering.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7535931BF67E66F8AAE328BEE0EC6A24 /* EventFiltering.swift */; }; + ADB06AA1B5A4414AD55E5A2D2653DDA6 /* Pods-web3swiftExample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EE64A9528FF128B9020101AA65FE4AB /* Pods-web3swiftExample-dummy.m */; }; + ADDCFDBB0901A879A2803A20BDFF5CF3 /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = FFB342B57716D3C137EA03417F2362B3 /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AE94E5909CD8A6A29021E7DB20613096 /* Promise+Web3+Eth+GetBlockNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 212B93EFB576141803D3468A4F741935 /* Promise+Web3+Eth+GetBlockNumber.swift */; }; + AEDEB90675798B030C87A90F64EBE68A /* Web3+Protocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39676721FFFBFCD3ACA7964DBA994E81 /* Web3+Protocols.swift */; }; + AF86C21D7723F3C8030AF9530676083E /* Promise+Web3+Personal+Sign.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A270F07FA0270BCC20180DB9DCC1B67 /* Promise+Web3+Personal+Sign.swift */; }; + B1E21083CCF70CA10BCFB0D6BDF4DC7B /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = 353D2E93E15B57FEC4A9C0B5CC561DCB /* lax_der_privatekey_parsing.c */; }; + B248D148FE951A0655197593FABD5BF7 /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = 290AA67F142E07CC2C3BE60373077AAF /* after.m */; }; + B3FEBCC1E6F68131A464D2D28417BA24 /* Promise+Web3+Personal+UnlockAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B853AE4883AC6BC8B6D6F0876142F8 /* Promise+Web3+Personal+UnlockAccount.swift */; }; + B6626A2B587568E2256A791C094CDF0E /* KeystoreManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D8E5BAB976E1215ADA818D366891226 /* KeystoreManager.swift */; }; + B6DFE0242C66C8E98A2F6825401A50B1 /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32117111790566596776609D1005CEF8 /* Generics.swift */; }; + B8A496A3D5363FF8EF9121E53AD89050 /* UIView+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 14F7AD83E425807B028866A517E0155F /* UIView+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B9D179880E2C5A583513BF6086375292 /* BigUInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9B7FC1C4BA7B43D989DB2B556486352 /* BigUInt.swift */; }; + BAB523E44314747F529F07E9D858D0A9 /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E2D99198D5B7D091C057148F3CDC4DC /* Cryptor.swift */; }; + BBA227B2DA3FCD94E3C3869334FDDE64 /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BA64E966CB81F4DBF7A2DE773DF868A /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BBC3534E14BA11CE9BCF8FA0848D76D4 /* Web3+Instance.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAB94D7201EC9D4222C28065007D51EB /* Web3+Instance.swift */; }; + BD25CB4CFA3B80A28358767263C8EC4F /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 458014C6622264651F6A80E772E8ED42 /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BDB8D41248A445BAFA1149FB0649B411 /* ContractABIv2.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAB3B3DB7F29D6CDD16814E658597C38 /* ContractABIv2.swift */; }; + BE321B31D7AFC12E0BF53438F00832FB /* Promise+Web3+Eth+GetAccounts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 958751D0D47E3CCFFC945333CEB4F72E /* Promise+Web3+Eth+GetAccounts.swift */; }; + BEDBDFC232562E554358904415EE39B1 /* Promise+Web3+Eth+SendTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA17BEB9A7129021CB18F6B91D12748C /* Promise+Web3+Eth+SendTransaction.swift */; }; + C00477878E267142569D0C12C78018BC /* ABIv2Elements.swift in Sources */ = {isa = PBXBuildFile; fileRef = E33486FBAA345E14AD805DEC0E47A803 /* ABIv2Elements.swift */; }; + C0CB7BA8B8378B845E1231E46A00302F /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0582381AC2421163F7FC6854DF81F48D /* BlockCipher.swift */; }; + C688F5C8C2D7B7BEAE10B658160B336D /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = 61C7FDF5E2DDE25A864126B5CDE2560A /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C8218EC292D51987B5ABF02470D28BF8 /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = A1EBCC0F3780CD1BF5924A52550B2326 /* lax_der_parsing.c */; }; + C8B2BE26A0484B6A1523D9E2B3818EDC /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69DD73C0AA680B56241490A79FDB334B /* Result.swift */; }; + C8FD04BAEFFFEF92BF2303ACA42207F6 /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5838F39185E3EAE8E18B70420E9A65E9 /* CMAC.swift */; }; + C970C24BFEAF379BB919A0CD4B1FE320 /* Promise+Web3+Intermediate+Send.swift in Sources */ = {isa = PBXBuildFile; fileRef = 952E5E5A20415427CA78C75911C62ABD /* Promise+Web3+Intermediate+Send.swift */; }; + C976B78DB3A9AE8CA86A6C9634D9B476 /* ABIv2Decoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F07C5E878C387F3ABE98CE9E9CC042B /* ABIv2Decoding.swift */; }; + C9BA69738F1D82501188F3E78B25FDE2 /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = 6799868DDDED4341574C8A8D6027075A /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CAF7F95BAAA850711BA9ABB88C4DBE58 /* Data Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2691542C5286F07821B7CD3CF161270A /* Data Conversion.swift */; }; + CB2D6447D8F5DE72BEF8DC58E09758C8 /* Web3+Eth+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27CFA7ED30A911A75D056CBDD52EF777 /* Web3+Eth+ObjC.swift */; }; + CED84B344142DF490AF0D18D8E9479DF /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B33E9D7080834138F6B05D08954A9AA /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CF2D9BDBC33A9414DDEBF3BA43546D67 /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F4A3C614502E99D77C9651CF09BD01B /* firstly.swift */; }; + CF3EE764A7A7F7F57EB8610C7E684B04 /* Multiplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F7C2F3619BC1AC64F8ABA62C7169C22 /* Multiplication.swift */; }; + CFA93FAF0D4ECF135C0F0E190C6C170E /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A898FF424BAA4A4E440EB964B7BB831 /* BlockMode.swift */; }; + CFCEF00E9F843C0E9885D25D3FE776AD /* BigInt-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E639196F504CE0F26B4C3BE988D0753E /* BigInt-dummy.m */; }; + D1F5CB987F614989A6C17C93F2DD5EE8 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33DC10E06571EAC477A1E0EA68D6DDCC /* SHA3.swift */; }; + D42866E9D1CC9FAA8B4D290D9021ADED /* Floating Point Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4CD7FD8C56DD910536ADB36E1277B34 /* Floating Point Conversion.swift */; }; + D4470C40B8D7625549DDBC8F4D111CD9 /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7BE49D1EB253D7DE7539B872CDAD284 /* Scrypt.swift */; }; + D5E62815F43DB6C9CBF0DEA75BC88E8D /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83D65244334349A7D66163DFEE37F1FA /* Process+Promise.swift */; }; + D65BBA0A22D0D76A1CD79598C618D55E /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B6D04221009B07824A6130FC77D31C9 /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DA60C0DBB660F185C28AB5427B4EFA7D /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F4F320F47509747094BF6BAE12A4D24 /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DCD11459A6DD0C7757AD81AB42D7ADAC /* SipHasher.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDDE6BE27FBDE2D0053FF4448C47148D /* SipHasher.swift */; }; + DCEFC750784BC92CC015B9B973982194 /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = EADAE9DDDE266D2FA434262C25991F22 /* PBKDF2.swift */; }; + DD69B45CCE6E9919A0D08FE9498D2B2E /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 819DF3E764AD03A99AE1276773AA60D9 /* PKCS7.swift */; }; + DDB1738B9B50E6F1120181DE827F7A91 /* UIViewController+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 5419632D59B4453866138B147398B786 /* UIViewController+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DE36A3AB6FC0CB1BB0454F548068AF89 /* scrypt-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 66A0A452A31539038312A19BDEC81AE1 /* scrypt-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DE5662D83AD07D877CB46011E963932B /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C8FC8BC9825E5A78B2CDACAB1C7EAE7 /* OFB.swift */; }; + DF0D4847B87A1A34C252A22B47A68A8D /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CAC92B61D9654425EE1338FD274CDAD /* when.swift */; }; + DF7F955F953C523ECE12E71C4990F56A /* Promise+Web3+Eth+EstimateGas.swift in Sources */ = {isa = PBXBuildFile; fileRef = 534FF25435EEA486F21EC56EBCAB291A /* Promise+Web3+Eth+EstimateGas.swift */; }; + E00C3E6F15B657031D180E254291281E /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = A4AD0B0CDC89E37F1F3D10E361AB2BD7 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E0A8CB42FD278D108E4A708AC52D84C3 /* web3swift-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = CED83459CAB009994922F31BDEFD623E /* web3swift-Bridging-Header.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E17468799BD83B1D0859237015708D37 /* Promise+Web3+Eth+GetBalance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 373E0AFCEE02274BAE66A586B88A17D4 /* Promise+Web3+Eth+GetBalance.swift */; }; + E2262EC80364EF8400960EDAF09318D9 /* Web3.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFE4248F45D9EE5AAA7A83114F6B2BF6 /* Web3.swift */; }; + E37A842880FB67BC31021D43DF112704 /* NSRegularExpressionExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F403D2ACFA1FBE4817C4DD35F625E829 /* NSRegularExpressionExtension.swift */; }; + E414C892B9DD5C86CF589F3C119330C3 /* AnyPromise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 329C9AA169E8289B92C3FEFDA41B215E /* AnyPromise.swift */; }; + E5E3667FFF55ADA12DD9114649E29031 /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D780067516C26611C3598987A7B875A8 /* BlockModeOptions.swift */; }; + E6B051B4B35607992353F833DE6578C1 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 709E41B5FAC1DD8F9B55AF533813EFBB /* Data+Extension.swift */; }; + E738C32AC026327A0C48144C7979EC30 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C5DCCE452FBA3A37BE4A3C6ECB9C33 /* CompactMap.swift */; }; + E98669BD82B8EF36AA49932E9A1C5559 /* Bitwise Ops.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB5B6ACFABC7EC18ACEAA8633842A947 /* Bitwise Ops.swift */; }; + EB01BFB4856AE2B0729EEF5BB2E4F4BB /* Pods-web3swiftExample-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 421B749E58F87E0C839D613211A2D0D6 /* Pods-web3swiftExample-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EC5E4784D34A1D2A17EEDD85A46D465A /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 729AEEED6FDD90CEDBADA5C6755B9536 /* SHA2.swift */; }; + ED758B1BD45542378CBF6391BB8C5488 /* ENS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21563C94F3C303F058BA156A1F488535 /* ENS.swift */; }; + ED87753A5604561B7D2436DE33925A7C /* PromiseKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CBCCA9834BAC9372CB234B4219882001 /* PromiseKit-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EEBA55F15AFE35277B68E8ECF0006359 /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFB2C7C3A237D8835945428FD197C62E /* Array+Foundation.swift */; }; + EFB65DCDDA87312B24CDDC1F7132FA4B /* UIViewController+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 619A8D3D3D97DA2E15C31D9AEFCDABF8 /* UIViewController+AnyPromise.m */; }; + EFE805A3CA08B8838793F8E245B5ECE3 /* BlockExplorer+GetTransactionHistory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 316084C209096DC615680F3C10C4C605 /* BlockExplorer+GetTransactionHistory.swift */; }; + F29E02078681BBB088849F8B66655247 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E54F021F03B8254D3E0139DB1197C21 /* PBKDF1.swift */; }; + F392AA2B2B63A326860A273536FD150D /* ABIv2Parsing.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE50FC315B634183486EDEF0DBB59268 /* ABIv2Parsing.swift */; }; + F3B5788DE236BC5FDC36A19160E3A121 /* Web3+Instance+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96F86314D21C56C76D90CA969B03162F /* Web3+Instance+ObjC.swift */; }; + F41F4AAC34AB627DE3BEE8826AA9D736 /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = 5278987D2532144A7BD28E9111659639 /* secp256k1.c */; }; + F478A3B08D8979D2B11FC7EC2576FA53 /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = E0ED08C56E8F5A2573652D57C0E00AB1 /* when.m */; }; + F655EFB3487D02AF6B56FD352C326EF5 /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = F4CE7F01DBF56348E5D752C5E4A2573C /* hang.m */; }; + F6BDDA6489801D31B93897C692036EED /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = EC27CE020482173FFDCE321039C1E1B7 /* NSURLSession+AnyPromise.m */; }; + F78C1DE8D506C812DCD441568DD25248 /* Prime Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01B9F8302C27EEB6B1B175888E08664C /* Prime Test.swift */; }; + F95D72C282B42FFE8FE2F10C0AB327F2 /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 850721D7FB7DE9412EBAADE3BE6A6532 /* Poly1305.swift */; }; + FAD004A3C7DC1D0D87FFF0C642A98A86 /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FA106D7CC1651054D660C68F23DE86E /* Promise.swift */; }; + FB20391449E34100261FC37107DC6078 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A505618B7794960687DBA4DE9404FD /* Rabbit.swift */; }; + FBF77F35D1FB8C0B49461F323CC64EF7 /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E396C482D49D085DD8E5C6F1538A1B3 /* DigestType.swift */; }; + FC1F07D24FAAD244DFC4B45090EE5950 /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = F69249253939D72D4870706405B1DD0C /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FD0D4090ED18D30D6B23CFD9926574F8 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F0E78B73C5750335C94D48A43488F1 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FED52EE758698BB66DDCCC50D40D2E97 /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FAFAE9D7630D61F389768DE544675E3 /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FF8CB400714408878D8321DC83943490 /* UIViewPropertyAnimator+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93527029429AD83050A8FED1326A171C /* UIViewPropertyAnimator+Promise.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 11A2BB77C485A266DEBF7AA057C5CEC7 /* PBXContainerItemProxy */ = { + 0E01B73CC8F027E3BB675B850520B20E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 691E5BFE487640DE1E2DD74E28EBE528; - remoteInfo = Result; + remoteGlobalIDString = C36167279A3ACEC5E09E05AC17E973AB; + remoteInfo = PromiseKit; }; - 154FD551C35082A733CF27851A45873B /* PBXContainerItemProxy */ = { + 111385C619C9ADC78F47666FAA2A22A7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = F61D23C9CB20E66E4ACFBAB69D99879A; + remoteGlobalIDString = D93CC8797FA6642C382C93BBA9AE8B0D; remoteInfo = web3swift; }; - 21EECB2AF750309F2B59326AAE061AE6 /* PBXContainerItemProxy */ = { + 1D7E7E679A2F944C7B68599B9949B3D9 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 716435BD4A1FEB954EBD1C25D7EC0BB6; - remoteInfo = BigInt; + remoteGlobalIDString = 60BF36463B9896F856D87DA4DE89FBB9; + remoteInfo = secp256k1_ios; }; - 39B6BDB795ECBD4EF78E4AA966364F1B /* PBXContainerItemProxy */ = { + 36A8B274F50442AE2C466F7B8C8A2E09 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 3A129877346434719FFE6B01BCA2513B; + remoteGlobalIDString = EA114BE2D9D1BCDA6E1013C3301492A8; remoteInfo = SipHash; }; - 3FEBB0E8FF54EB005815F39AF02DA652 /* PBXContainerItemProxy */ = { + 51F19D8B3983CC6266B592A32F736A15 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 0CDCD15B895E5E3C642256B9466BAF51; + remoteGlobalIDString = 60BF36463B9896F856D87DA4DE89FBB9; remoteInfo = secp256k1_ios; }; - 480127A1B9AE1E23814FED67B06CB002 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = C313269A2B1C23544DE089CFAA786C33; - remoteInfo = CryptoSwift; - }; - 4A3EA886C534DA6E2D3E8B7CBEDDF36D /* PBXContainerItemProxy */ = { + 6BF9B000996DF9D64D4FE4DEECF00413 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C313269A2B1C23544DE089CFAA786C33; - remoteInfo = CryptoSwift; + remoteGlobalIDString = 23A9C77578E46AEB069BEF36B9B5ADA6; + remoteInfo = BigInt; }; - 4F5992DA25BD4D957A469B238740F3DF /* PBXContainerItemProxy */ = { + 6EA95E18AF08E391FC2DD079C00AC604 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = EDCC3A3E8A567995312D9F435A5A88EC; - remoteInfo = scrypt; + remoteGlobalIDString = C36167279A3ACEC5E09E05AC17E973AB; + remoteInfo = PromiseKit; }; - 54FD6216423E5F7F52201DDDE1480BAB /* PBXContainerItemProxy */ = { + 76DB86015CEE178C79D4F291C64586B2 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 716435BD4A1FEB954EBD1C25D7EC0BB6; + remoteGlobalIDString = 23A9C77578E46AEB069BEF36B9B5ADA6; remoteInfo = BigInt; }; - 845211B1A3B8302CC6873C1DC90D2E13 /* PBXContainerItemProxy */ = { + 7BD0D139C37C19537A6DF939C1048252 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 3A129877346434719FFE6B01BCA2513B; - remoteInfo = SipHash; + remoteGlobalIDString = 0E877A906EE881D9A703E2CEB69B27B0; + remoteInfo = scrypt; }; - A99D675BD98897507E4AD89112CD1676 /* PBXContainerItemProxy */ = { + ABA2DC1B51EB47A1C58FD8EB202B5FAE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 9E0FC65126A61EC4E4C869BA932807E4; - remoteInfo = PromiseKit; + remoteGlobalIDString = 0E877A906EE881D9A703E2CEB69B27B0; + remoteInfo = scrypt; }; - C92357257C88252798F17EB0FB961C16 /* PBXContainerItemProxy */ = { + AC93B93DEA6B153F441ACDD47711CB50 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C313269A2B1C23544DE089CFAA786C33; + remoteGlobalIDString = D2CEBF8355BADD8508F8266F0D4AE1DD; remoteInfo = CryptoSwift; }; - C9A0DB9B5BCE9D59FC6C0F33F3297059 /* PBXContainerItemProxy */ = { + B2520BE59D3D835F91798AA0CB79DEE8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 9E0FC65126A61EC4E4C869BA932807E4; - remoteInfo = PromiseKit; + remoteGlobalIDString = D2CEBF8355BADD8508F8266F0D4AE1DD; + remoteInfo = CryptoSwift; }; - D1C97C34834751B541AC06B12144F72E /* PBXContainerItemProxy */ = { + BE88B88019CC73C5F4692FCFFE00A16E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 0CDCD15B895E5E3C642256B9466BAF51; - remoteInfo = secp256k1_ios; + remoteGlobalIDString = EA114BE2D9D1BCDA6E1013C3301492A8; + remoteInfo = SipHash; }; - D859CF09FCB933666F712E5E2F479D0D /* PBXContainerItemProxy */ = { + D6AE6C9B739C8079861FA4830DE57BFF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 3A129877346434719FFE6B01BCA2513B; - remoteInfo = SipHash; + remoteGlobalIDString = D2CEBF8355BADD8508F8266F0D4AE1DD; + remoteInfo = CryptoSwift; }; - D94189C5999AEF19467AEA7DA9649E87 /* PBXContainerItemProxy */ = { + DAAF4FFB27B380502C83474E2C10B2C0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 691E5BFE487640DE1E2DD74E28EBE528; + remoteGlobalIDString = C7F768100F7D32B078FA6D19893B5741; remoteInfo = Result; }; - E219E4C6CD954172C59F189A1BF5088B /* PBXContainerItemProxy */ = { + FD3871FA93CC618634A2D7AB7E6A288C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = EDCC3A3E8A567995312D9F435A5A88EC; - remoteInfo = scrypt; + remoteGlobalIDString = C7F768100F7D32B078FA6D19893B5741; + remoteInfo = Result; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ 01B9F8302C27EEB6B1B175888E08664C /* Prime Test.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Prime Test.swift"; path = "sources/Prime Test.swift"; sourceTree = ""; }; - 02C519FDB5FE4C5643A843724C5FACA2 /* Pods-web3swiftExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swiftExample.debug.xcconfig"; sourceTree = ""; }; 02DC13AF775E722F06F597A8A14B0AE6 /* secp256k1_ios.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ios.h; path = secp256k1_ios/secp256k1_ios.h; sourceTree = ""; }; 03180B6A770752FE7AF4453AE81CA412 /* Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptors.swift; path = Sources/CryptoSwift/Cryptors.swift; sourceTree = ""; }; - 046CD9C71F2C224C3CAF90FFBD22174A /* CryptoSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CryptoSwift-umbrella.h"; path = "../../Headers/Public/CryptoSwift/CryptoSwift-umbrella.h"; sourceTree = ""; }; + 033BA231ACC2136A6CB8BFB0112A0FC5 /* web3swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = web3swift.modulemap; sourceTree = ""; }; + 03427BFCE54F27CE4E2B39BF4A10CC94 /* PromiseKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PromiseKit-dummy.m"; sourceTree = ""; }; 046EE18AB153A100831CC08374F28865 /* Cipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cipher.swift; path = Sources/CryptoSwift/Cipher.swift; sourceTree = ""; }; 0582381AC2421163F7FC6854DF81F48D /* BlockCipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockCipher.swift; path = Sources/CryptoSwift/BlockCipher.swift; sourceTree = ""; }; 078AF53D6A07F762432A2424B5D58161 /* StreamEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StreamEncryptor.swift; path = Sources/CryptoSwift/StreamEncryptor.swift; sourceTree = ""; }; 094419FE4BE23498B11CBA6A878600DF /* ComparisonExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ComparisonExtensions.swift; path = web3swift/Contract/Classes/ComparisonExtensions.swift; sourceTree = ""; }; - 0A2E17AC2242821FB7FF4539D7F4FAB9 /* web3swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = web3swift.modulemap; path = ../../Headers/Public/web3swift/web3swift.modulemap; sourceTree = ""; }; 0A6D448881C8648C29B2822564286304 /* NSURLSession+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSURLSession+Promise.swift"; path = "Extensions/Foundation/Sources/NSURLSession+Promise.swift"; sourceTree = ""; }; + 0D0BFE961FEE019F0474CC71591FBA21 /* CryptoSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-umbrella.h"; sourceTree = ""; }; 0D8E5BAB976E1215ADA818D366891226 /* KeystoreManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeystoreManager.swift; path = web3swift/KeystoreManager/Classes/KeystoreManager.swift; sourceTree = ""; }; + 0E2E24E6150E5C09FCC81471D9E99B90 /* secp256k1_ios.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = secp256k1_ios.xcconfig; sourceTree = ""; }; 0EDABCC9E8C9DBD6F0354ADD3FC0D47B /* EthereumFilterEncodingExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumFilterEncodingExtensions.swift; path = web3swift/Contract/Classes/EthereumFilterEncodingExtensions.swift; sourceTree = ""; }; 0FDC70BC746BDB97351736B2E75A507F /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/CryptoSwift/AES.swift; sourceTree = ""; }; 0FE8C570A67B72F1871BDC1419D7B753 /* ecdsa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa.h; path = secp256k1_ios/src/ecdsa.h; sourceTree = ""; }; 100B115D06674BEC5FE6A0B8CEFE2F84 /* Promise+Web3+Eth+GetTransactionCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionCount.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionCount.swift"; sourceTree = ""; }; 1065518E9270D7BB4FC633894765466D /* Promise+Web3+Eth+Call.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+Call.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+Call.swift"; sourceTree = ""; }; + 1121829B65569768952C19E25B1AAE69 /* PromiseKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = PromiseKit.modulemap; sourceTree = ""; }; 11C3B3B474849C50B68C60D72D2A7ED4 /* libBigInt.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libBigInt.a; path = libBigInt.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 11D89C581D76CF01DAE12F8728D1828B /* BigInt-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BigInt-dummy.m"; sourceTree = ""; }; 123FCC5CF86530D3AA0B411043CCF3FC /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "web3swift/Convenience/Classes/String+Extension.swift"; sourceTree = ""; }; + 132EEA6FACDEAEC8CD7FD1339E7D9008 /* scrypt-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "scrypt-dummy.m"; sourceTree = ""; }; 135C2258FEDDC235C7E7781BD638E0D0 /* KeystoreV3JSONStructure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeystoreV3JSONStructure.swift; path = web3swift/KeystoreManager/Classes/KeystoreV3JSONStructure.swift; sourceTree = ""; }; - 138892441A5B43660E6766A7D981C559 /* Pods-web3swiftExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swiftExample.release.xcconfig"; sourceTree = ""; }; + 13AF7186ED58867EA6E22302C659426E /* BigInt-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-prefix.pch"; sourceTree = ""; }; 1416B00744E099B449B5484EB4FE66B9 /* ChaCha20+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ChaCha20+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift"; sourceTree = ""; }; 14EB90988A4AD64E02B4BC0D410025D1 /* Utils+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Utils+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Utils+Foundation.swift"; sourceTree = ""; }; 14F7AD83E425807B028866A517E0155F /* UIView+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.h"; sourceTree = ""; }; 17030AF3741AF00A5A580D4345C62671 /* BIP32KeystoreJSONStructure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32KeystoreJSONStructure.swift; path = web3swift/KeystoreManager/Classes/BIP32KeystoreJSONStructure.swift; sourceTree = ""; }; 1726EC7BDEA2D89FB4D2AD0CE0562EB0 /* hash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash.h; path = secp256k1_ios/src/hash.h; sourceTree = ""; }; + 1783AE3ABADA5096BE70D5939EE58E22 /* Pods-web3swiftExample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swiftExample-acknowledgements.plist"; sourceTree = ""; }; 17B0A033B10B035FFCCA80D2BE4C4839 /* libPods-web3swiftExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swiftExample.a"; path = "libPods-web3swiftExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 1827336AF5F51D580426EC596EF7357E /* libCryptoSwift.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libCryptoSwift.a; path = libCryptoSwift.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 19B4E01A253286950C09A5669EF5781F /* CryptoSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = CryptoSwift.modulemap; sourceTree = ""; }; + 19D96B7EB5F4FBCB0D6CD0C3E49624FB /* web3swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "web3swift-dummy.m"; sourceTree = ""; }; + 1ADF7BA967B554C691C423EEA65EEFDA /* secp256k1_ios-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-umbrella.h"; sourceTree = ""; }; 1B102B3CA88EB8D8489C8BD4E882B887 /* BIP39+WordLists.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BIP39+WordLists.swift"; path = "web3swift/KeystoreManager/Classes/BIP39+WordLists.swift"; sourceTree = ""; }; 1C56A8FF9537CCF10D87B749E9F62732 /* AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AnyPromise.m; path = Sources/AnyPromise.m; sourceTree = ""; }; 1CFC32E2261053E3091FD1DCC05DF4D5 /* UInt64+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt64+Extension.swift"; path = "Sources/CryptoSwift/UInt64+Extension.swift"; sourceTree = ""; }; 1D1A082C236FA698192257797E4895EC /* Web3+HttpProvider+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+HttpProvider+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+HttpProvider+ObjC.swift"; sourceTree = ""; }; + 1D34472BFED7C973DE16C67C43B8DD51 /* PromiseKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-prefix.pch"; sourceTree = ""; }; 1DF8BA790BE9738632EE52265150D03A /* hang.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = hang.swift; path = Sources/hang.swift; sourceTree = ""; }; - 1E078781E4A11116263643F9D1AAC14E /* secp256k1_ios.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = secp256k1_ios.modulemap; path = ../../Headers/Public/secp256k1_ios/secp256k1_ios.modulemap; sourceTree = ""; }; 1E2D99198D5B7D091C057148F3CDC4DC /* Cryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptor.swift; path = Sources/CryptoSwift/Cryptor.swift; sourceTree = ""; }; 1E5AE0371FA8682D8CCBB47D262545A4 /* field_5x52_int128_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_int128_impl.h; path = secp256k1_ios/src/field_5x52_int128_impl.h; sourceTree = ""; }; 1F01FE95147DDFFD02325C07A8F6783D /* Division.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Division.swift; path = sources/Division.swift; sourceTree = ""; }; - 1F48C69683BD62C478F08C59DCF2E589 /* SipHash.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SipHash.xcconfig; sourceTree = ""; }; 1F4A3C614502E99D77C9651CF09BD01B /* firstly.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = firstly.swift; path = Sources/firstly.swift; sourceTree = ""; }; 1FD0BFFC7C6E627BB86EE5C540F71341 /* BlockDecryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockDecryptor.swift; path = Sources/CryptoSwift/BlockDecryptor.swift; sourceTree = ""; }; 20B0DF172F7BCE780CE4325B9FA737E8 /* Web3+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Utils.swift"; path = "web3swift/Web3/Classes/Web3+Utils.swift"; sourceTree = ""; }; 20CB207C8B0FDA2529F2F5D253C4A534 /* fwd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fwd.h; path = Sources/fwd.h; sourceTree = ""; }; + 20CDC39702A75FA362AF09280907A20B /* scrypt-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-prefix.pch"; sourceTree = ""; }; 212B93EFB576141803D3468A4F741935 /* Promise+Web3+Eth+GetBlockNumber.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockNumber.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockNumber.swift"; sourceTree = ""; }; 21563C94F3C303F058BA156A1F488535 /* ENS.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ENS.swift; path = web3swift/Utils/Classes/ENS.swift; sourceTree = ""; }; - 22D34076EA0440B505461DA3E8B815CA /* Result.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Result.xcconfig; sourceTree = ""; }; - 241B18C64A7ED8609A9A6C70163C9FFC /* SipHash-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-prefix.pch"; sourceTree = ""; }; + 241A56E773F086ECBC740412E6904C70 /* SipHash-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-umbrella.h"; sourceTree = ""; }; 2535CD8F39B0A548B8948A1D4DFCDA4C /* PKCS5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS5.swift; path = Sources/CryptoSwift/PKCS/PKCS5.swift; sourceTree = ""; }; + 25919B578B7379AB255855AA74003212 /* Result-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Result-dummy.m"; sourceTree = ""; }; 25A7B1871BF03428A855BE688D20521E /* libweb3swift.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libweb3swift.a; path = libweb3swift.a; sourceTree = BUILT_PRODUCTS_DIR; }; 264884CE631173016E083169227D349F /* Salsa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Salsa.swift; path = scrypt/scrypt/Salsa.swift; sourceTree = ""; }; 2691542C5286F07821B7CD3CF161270A /* Data Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data Conversion.swift"; path = "sources/Data Conversion.swift"; sourceTree = ""; }; - 26986386406787D15D8C39F0B109D08A /* Pods-web3swiftExample-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swiftExample-umbrella.h"; sourceTree = ""; }; - 27185CC1895D79F7DD34E6740F038154 /* Result-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Result-umbrella.h"; path = "../../Headers/Public/Result/Result-umbrella.h"; sourceTree = ""; }; 27CFA7ED30A911A75D056CBDD52EF777 /* Web3+Eth+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Eth+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+Eth+ObjC.swift"; sourceTree = ""; }; 290AA67F142E07CC2C3BE60373077AAF /* after.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = after.m; path = Sources/after.m; sourceTree = ""; }; 292938D4E2E614F82D7E4A4A53919089 /* Web3+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+ObjC.swift"; sourceTree = ""; }; 2967DC4D563FB31C61E228B5CBB7F6E2 /* Promise+Batching.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Batching.swift"; path = "web3swift/Promises/Classes/Promise+Batching.swift"; sourceTree = ""; }; 29C001CC84817EC570F42EB843806088 /* ChaCha20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChaCha20.swift; path = Sources/CryptoSwift/ChaCha20.swift; sourceTree = ""; }; + 2A3B82C924810D565EACB8DD0250AF2F /* Pods-web3swiftExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swiftExample.debug.xcconfig"; sourceTree = ""; }; 2B33E9D7080834138F6B05D08954A9AA /* ecmult_gen_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen_impl.h; path = secp256k1_ios/src/ecmult_gen_impl.h; sourceTree = ""; }; 2B8E411298FF1752518A56381CD096CD /* NativeTypesEncoding+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NativeTypesEncoding+Extensions.swift"; path = "web3swift/Convenience/Classes/NativeTypesEncoding+Extensions.swift"; sourceTree = ""; }; 2CCD691C76047A933F592EC30383C674 /* EIP681.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EIP681.swift; path = web3swift/Utils/Classes/EIP681.swift; sourceTree = ""; }; 2D7BB0E009A62667D94F3144CF4F0FA0 /* scratch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch.h; path = secp256k1_ios/src/scratch.h; sourceTree = ""; }; + 2E25A4BC37421B57AB6AFC5F6B21A519 /* scrypt.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = scrypt.xcconfig; sourceTree = ""; }; 2E651A4C1D8411BB17C4D0A883ECCE95 /* Square Root.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Square Root.swift"; path = "sources/Square Root.swift"; sourceTree = ""; }; 2F6CCA99139E9FA673025D313067429D /* NSObject+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Promise.swift"; path = "Extensions/Foundation/Sources/NSObject+Promise.swift"; sourceTree = ""; }; 2F7C2F3619BC1AC64F8ABA62C7169C22 /* Multiplication.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multiplication.swift; path = sources/Multiplication.swift; sourceTree = ""; }; @@ -524,11 +512,9 @@ 33DC10E06571EAC477A1E0EA68D6DDCC /* SHA3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA3.swift; path = Sources/CryptoSwift/SHA3.swift; sourceTree = ""; }; 347D7C773BE16C921C11062107552892 /* Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Codable.swift; path = sources/Codable.swift; sourceTree = ""; }; 353D2E93E15B57FEC4A9C0B5CC561DCB /* lax_der_privatekey_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_privatekey_parsing.c; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.c; sourceTree = ""; }; - 35A9FE789E37975C0131E64AE7B7282E /* scrypt.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = scrypt.xcconfig; sourceTree = ""; }; - 35D8A4E4B2DBCC4C72036CB80D4ED663 /* web3swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "web3swift-umbrella.h"; path = "../../Headers/Public/web3swift/web3swift-umbrella.h"; sourceTree = ""; }; - 35EB5BB18736A988E04A7C2ABE4DD406 /* PromiseKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-prefix.pch"; sourceTree = ""; }; 373E0AFCEE02274BAE66A586B88A17D4 /* Promise+Web3+Eth+GetBalance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBalance.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBalance.swift"; sourceTree = ""; }; 376411273811B98AA866A25753F7A66E /* Promise+Web3+Eth+GetTransactionReceipt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionReceipt.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionReceipt.swift"; sourceTree = ""; }; + 3923B0035F9528F642633EABD2E39E97 /* CryptoSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CryptoSwift.xcconfig; sourceTree = ""; }; 394D7CE2F861BEF42B052C1127E8BE02 /* UIView+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.m"; sourceTree = ""; }; 39676721FFFBFCD3ACA7964DBA994E81 /* Web3+Protocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Protocols.swift"; path = "web3swift/Web3/Classes/Web3+Protocols.swift"; sourceTree = ""; }; 39746AC697FEEA2BEB3737B0A0ADB594 /* SecureBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SecureBytes.swift; path = Sources/CryptoSwift/SecureBytes.swift; sourceTree = ""; }; @@ -543,24 +529,25 @@ 4147FE7BEB4CBD63C000B5CDFE1CE694 /* UInt32+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt32+Extension.swift"; path = "Sources/CryptoSwift/UInt32+Extension.swift"; sourceTree = ""; }; 414BCF28F898344A3ACB4CFA9EAC0C6A /* ResultProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResultProtocol.swift; path = Result/ResultProtocol.swift; sourceTree = ""; }; 41C6D67293FF379F07747E16571D4A7B /* Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Padding.swift; path = Sources/CryptoSwift/Padding.swift; sourceTree = ""; }; + 421B749E58F87E0C839D613211A2D0D6 /* Pods-web3swiftExample-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swiftExample-umbrella.h"; sourceTree = ""; }; + 45785764A72ADF6B322ADB75DF6AC70B /* SipHash-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SipHash-dummy.m"; sourceTree = ""; }; 458014C6622264651F6A80E772E8ED42 /* ecmult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult.h; path = secp256k1_ios/src/ecmult.h; sourceTree = ""; }; 45F782717284628C9976CC3513689E42 /* race.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = race.swift; path = Sources/race.swift; sourceTree = ""; }; 4656C6F079843C6375DBFB8F3F149CD5 /* PCBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PCBC.swift; path = Sources/CryptoSwift/BlockMode/PCBC.swift; sourceTree = ""; }; 474585527D4B8900A32D2242E978847F /* NSNotificationCenter+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.m"; sourceTree = ""; }; 47C25EDDC521B2D33E3E14E53A09B8CB /* Promise+Web3+Contract+GetIndexedEvents.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Contract+GetIndexedEvents.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Contract+GetIndexedEvents.swift"; sourceTree = ""; }; - 48E5DB8DD854EDCDD6095F95889DCAF9 /* PromiseKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PromiseKit-umbrella.h"; path = "../../Headers/Public/PromiseKit/PromiseKit-umbrella.h"; sourceTree = ""; }; 4A0AAEC1A587F9F34485AC86C4D355AE /* NSURLSession+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLSession+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.h"; sourceTree = ""; }; 4A355B05B0BED16919207A4BD94258BA /* PKCS7Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7Padding.swift; path = Sources/CryptoSwift/PKCS/PKCS7Padding.swift; sourceTree = ""; }; + 4A6B1B16288DE16421DD874A78466051 /* Result.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Result.xcconfig; sourceTree = ""; }; 4A898FF424BAA4A4E440EB964B7BB831 /* BlockMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockMode.swift; path = Sources/CryptoSwift/BlockMode/BlockMode.swift; sourceTree = ""; }; - 4ADA5A209265D621A4CF71041B71DF52 /* BigInt-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "BigInt-umbrella.h"; path = "../../Headers/Public/BigInt/BigInt-umbrella.h"; sourceTree = ""; }; 4B07F39C278099EF682E0CE68BCD5498 /* Web3+Infura.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Infura.swift"; path = "web3swift/Web3/Classes/Web3+Infura.swift"; sourceTree = ""; }; + 4BB92D928E7F0A70EED5685C3FCC2629 /* web3swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "web3swift-umbrella.h"; sourceTree = ""; }; 4C5AB9A84E399C3C8F2ED978C0B4DD46 /* libResult.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libResult.a; path = libResult.a; sourceTree = BUILT_PRODUCTS_DIR; }; 4CAF79CEAC3F53315AED830078D52BA7 /* MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MD5.swift; path = Sources/CryptoSwift/MD5.swift; sourceTree = ""; }; 4D8007518DBD2C969B8AF1A986FF45C9 /* ContractProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContractProtocol.swift; path = web3swift/Contract/Classes/ContractProtocol.swift; sourceTree = ""; }; 4E7E12DF7A156B87C52342DADEF5F3D9 /* CTR.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CTR.swift; path = Sources/CryptoSwift/BlockMode/CTR.swift; sourceTree = ""; }; 4F3913F7F2CBD112E100212D4E6CD280 /* eckey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey.h; path = secp256k1_ios/src/eckey.h; sourceTree = ""; }; 50A505618B7794960687DBA4DE9404FD /* Rabbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rabbit.swift; path = Sources/CryptoSwift/Rabbit.swift; sourceTree = ""; }; - 50EA02714EC707E77A1214BBC12D9969 /* Pods-web3swiftExample-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-web3swiftExample-resources.sh"; sourceTree = ""; }; 51291E05C571952BED7774C956E85673 /* Web3+Structures.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Structures.swift"; path = "web3swift/Web3/Classes/Web3+Structures.swift"; sourceTree = ""; }; 5278987D2532144A7BD28E9111659639 /* secp256k1.c */ = {isa = PBXFileReference; includeInIndex = 1; name = secp256k1.c; path = secp256k1_ios/src/secp256k1.c; sourceTree = ""; }; 53053374B0830B4CF86F4E46A7232798 /* dispatch_promise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = dispatch_promise.m; path = Sources/dispatch_promise.m; sourceTree = ""; }; @@ -568,15 +555,10 @@ 5419632D59B4453866138B147398B786 /* UIViewController+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.h"; sourceTree = ""; }; 54A9032553D1C61F8E0154E2C0D53FD2 /* libsecp256k1_ios.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libsecp256k1_ios.a; path = libsecp256k1_ios.a; sourceTree = BUILT_PRODUCTS_DIR; }; 550AC365129396E2F60D5C364FA8B799 /* Hashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Hashable.swift; path = sources/Hashable.swift; sourceTree = ""; }; - 5513D4EFDADCA1289BF2EB43EEFE0227 /* Result.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = Result.modulemap; path = ../../Headers/Public/Result/Result.modulemap; sourceTree = ""; }; - 569F9DFB870F6B539E0A31012FC0361B /* Result-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-prefix.pch"; sourceTree = ""; }; 56AD7AD28B0B51693A9D7B079E162D05 /* NSNotificationCenter+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSNotificationCenter+Promise.swift"; path = "Extensions/Foundation/Sources/NSNotificationCenter+Promise.swift"; sourceTree = ""; }; 573C281E9AC6356B325AD8D6510F60B7 /* BIP32Keystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32Keystore.swift; path = web3swift/KeystoreManager/Classes/BIP32Keystore.swift; sourceTree = ""; }; - 5766E309D1AB7421873E2E4C04C5A5AA /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - 57BF46728D1879DAAC9EBF3C6992D16F /* secp256k1_ios-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_ios-umbrella.h"; path = "../../Headers/Public/secp256k1_ios/secp256k1_ios-umbrella.h"; sourceTree = ""; }; 5838F39185E3EAE8E18B70420E9A65E9 /* CMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CMAC.swift; path = Sources/CryptoSwift/CMAC.swift; sourceTree = ""; }; 598C899118EB120568F6595B3CA4CF62 /* NoError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoError.swift; path = Result/NoError.swift; sourceTree = ""; }; - 59F77AE95BC9FEABC9D930C1AB687A02 /* Pods-web3swiftExample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swiftExample-dummy.m"; sourceTree = ""; }; 5BA64E966CB81F4DBF7A2DE773DF868A /* field_10x26_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26_impl.h; path = secp256k1_ios/src/field_10x26_impl.h; sourceTree = ""; }; 5BC6637281B8A68F6FC9D03AD4BE8663 /* ZeroPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZeroPadding.swift; path = Sources/CryptoSwift/ZeroPadding.swift; sourceTree = ""; }; 5D57382F3D45CBD48EC909FE9F31DD25 /* ABIv2ParameterTypes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2ParameterTypes.swift; path = web3swift/ABIv2/Classes/ABIv2ParameterTypes.swift; sourceTree = ""; }; @@ -589,37 +571,37 @@ 6295CFD25EA738F9FEF1FD0EE5FE0B06 /* Base58.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Base58.swift; path = web3swift/Convenience/Classes/Base58.swift; sourceTree = ""; }; 631CEB8A33B0BABC23841BB536628BFA /* BlockExplorer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockExplorer.swift; path = web3swift/BlockExplorer/Classes/BlockExplorer.swift; sourceTree = ""; }; 63210423770306A042AA9FF3B458E4E7 /* Updatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Updatable.swift; path = Sources/CryptoSwift/Updatable.swift; sourceTree = ""; }; + 63CAA63FD9DC75F798C3FEB9BDC9E1C3 /* Result-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-umbrella.h"; sourceTree = ""; }; 66175BB0554541A3D3816C0B65138569 /* LibSecp256k1Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LibSecp256k1Extension.swift; path = web3swift/Convenience/Classes/LibSecp256k1Extension.swift; sourceTree = ""; }; + 66A0A452A31539038312A19BDEC81AE1 /* scrypt-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-umbrella.h"; sourceTree = ""; }; 6799868DDDED4341574C8A8D6027075A /* secp256k1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1.h; path = secp256k1_ios/include/secp256k1.h; sourceTree = ""; }; 6850F16CFC2F18D10E4E30E73F0552A8 /* AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AnyPromise.h; path = Sources/AnyPromise.h; sourceTree = ""; }; 68BB7A2BC3583AD28EAD25EA7ED9D5FD /* Promise+Web3+Eth+SendRawTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+SendRawTransaction.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+SendRawTransaction.swift"; sourceTree = ""; }; 693EA8BE7F3922FAB6C8D9FB9B29DD52 /* Shifts.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Shifts.swift; path = sources/Shifts.swift; sourceTree = ""; }; + 6987CE8539E8316A528A63024B5DC52C /* CryptoSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CryptoSwift-dummy.m"; sourceTree = ""; }; 69CA1E92AD82C49EF237136039463B58 /* PromiseKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PromiseKit.h; path = Sources/PromiseKit.h; sourceTree = ""; }; - 69CD19444455A47F7707DA7A006277B4 /* SipHash.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = SipHash.modulemap; path = ../../Headers/Public/SipHash/SipHash.modulemap; sourceTree = ""; }; 69DD73C0AA680B56241490A79FDB334B /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Result/Result.swift; sourceTree = ""; }; 6A270F07FA0270BCC20180DB9DCC1B67 /* Promise+Web3+Personal+Sign.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Personal+Sign.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Personal+Sign.swift"; sourceTree = ""; }; 6B2A909107AF59DD8B8759CFE5DC93C3 /* Integer Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Integer Conversion.swift"; path = "sources/Integer Conversion.swift"; sourceTree = ""; }; - 6B7201DD7B676D754F535E10B68B800E /* PromiseKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = PromiseKit.modulemap; path = ../../Headers/Public/PromiseKit/PromiseKit.modulemap; sourceTree = ""; }; - 6C45D29D8FF386012D33CFF0BE84AD2B /* secp256k1_ios.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = secp256k1_ios.xcconfig; sourceTree = ""; }; 6CAC92B61D9654425EE1338FD274CDAD /* when.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = when.swift; path = Sources/when.swift; sourceTree = ""; }; 6E54F021F03B8254D3E0139DB1197C21 /* PBKDF1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF1.swift; path = Sources/CryptoSwift/PKCS/PBKDF1.swift; sourceTree = ""; }; 6F4ED35987097AEB911D8C66F9DBBFB9 /* String+FoundationExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+FoundationExtension.swift"; path = "Sources/CryptoSwift/Foundation/String+FoundationExtension.swift"; sourceTree = ""; }; 6F4F320F47509747094BF6BAE12A4D24 /* secp256k1_recovery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_recovery.h; path = secp256k1_ios/include/secp256k1_recovery.h; sourceTree = ""; }; - 6F569DE923E2ED82AAC896068E839D04 /* PromiseKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromiseKit.xcconfig; sourceTree = ""; }; 6FA106D7CC1651054D660C68F23DE86E /* Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Promise.swift; path = Sources/Promise.swift; sourceTree = ""; }; + 701F9C15E529443E9FB73C6B379161AB /* web3swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "web3swift-prefix.pch"; sourceTree = ""; }; 709E41B5FAC1DD8F9B55AF533813EFBB /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "Sources/CryptoSwift/Foundation/Data+Extension.swift"; sourceTree = ""; }; 70E0EEB2A88058CB61B7C02075E3FBC7 /* Web3+JSONRPC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+JSONRPC.swift"; path = "web3swift/Web3/Classes/Web3+JSONRPC.swift"; sourceTree = ""; }; + 7215A5A55F2FAB77E52827BDC972EEFC /* BigInt-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-umbrella.h"; sourceTree = ""; }; 729AEEED6FDD90CEDBADA5C6755B9536 /* SHA2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA2.swift; path = Sources/CryptoSwift/SHA2.swift; sourceTree = ""; }; 735E74D1B58493E7131A357B28151246 /* AEAD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEAD.swift; path = Sources/CryptoSwift/AEAD/AEAD.swift; sourceTree = ""; }; - 7490D6F83AB700404C125AC3E6A130A2 /* web3swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "web3swift-dummy.m"; sourceTree = ""; }; 7535931BF67E66F8AAE328BEE0EC6A24 /* EventFiltering.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EventFiltering.swift; path = web3swift/Contract/Classes/EventFiltering.swift; sourceTree = ""; }; 753FBDA47B0F3ABF841BFB35EE89BF17 /* NSTask+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSTask+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.h"; sourceTree = ""; }; 75B53B7D429106EC393E04CCE7E0FCF7 /* GCD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCD.swift; path = sources/GCD.swift; sourceTree = ""; }; 75BBEA9589DE194D6D03679EDBDB8F36 /* Collection+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Collection+Extension.swift"; path = "Sources/CryptoSwift/Collection+Extension.swift"; sourceTree = ""; }; 75D06CDEDBF36C342B7FFE38F8F51A90 /* field_5x52.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52.h; path = secp256k1_ios/src/field_5x52.h; sourceTree = ""; }; + 766D24708AC3AAE11C1368CEAEB4EA5C /* Pods-web3swiftExample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swiftExample-acknowledgements.markdown"; sourceTree = ""; }; 76C5EBB02B365D308E28575CC36D5CA0 /* Strideable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Strideable.swift; path = sources/Strideable.swift; sourceTree = ""; }; 77BA68E17B6BB6941FB1F5C040C24663 /* Promise+Web3+Eth+GetBlockByHash.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockByHash.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByHash.swift"; sourceTree = ""; }; - 78065485981757B26523C1E5BD7EAD03 /* Pods-web3swiftExample-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-web3swiftExample-frameworks.sh"; sourceTree = ""; }; 7824C3291189F43DB7D1217F4967A4F2 /* Random.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Random.swift; path = sources/Random.swift; sourceTree = ""; }; 785088A8C7337172C11F39BC9A4A9321 /* PlainKeystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PlainKeystore.swift; path = web3swift/KeystoreManager/Classes/PlainKeystore.swift; sourceTree = ""; }; 788557B540DA06D0AF67BA99AF689F4C /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Configuration.swift; sourceTree = ""; }; @@ -631,7 +613,7 @@ 7FAFAE9D7630D61F389768DE544675E3 /* num_gmp_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp_impl.h; path = secp256k1_ios/src/num_gmp_impl.h; sourceTree = ""; }; 7FF21379AF18F46F4F0D6D75E0FF54F4 /* scalar_8x32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32.h; path = secp256k1_ios/src/scalar_8x32.h; sourceTree = ""; }; 819DF3E764AD03A99AE1276773AA60D9 /* PKCS7.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7.swift; path = Sources/CryptoSwift/PKCS/PKCS7.swift; sourceTree = ""; }; - 81DEF759EE796B2DE4FC5D93FACFB387 /* CryptoSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-prefix.pch"; sourceTree = ""; }; + 829D5DC3C89D61D074F050F2057A4DD0 /* BigInt.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = BigInt.modulemap; sourceTree = ""; }; 83028A48F74FCB58CD998F99671B2730 /* String Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String Conversion.swift"; path = "sources/String Conversion.swift"; sourceTree = ""; }; 83D65244334349A7D66163DFEE37F1FA /* Process+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Process+Promise.swift"; path = "Extensions/Foundation/Sources/Process+Promise.swift"; sourceTree = ""; }; 845B2F9B3F1C9FB2895E49DB515D07CA /* Web3+BrowserFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+BrowserFunctions.swift"; path = "web3swift/HookedFunctions/Classes/Web3+BrowserFunctions.swift"; sourceTree = ""; }; @@ -652,14 +634,10 @@ 90FB08FA3883CDF506EFD3894126E276 /* group_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group_impl.h; path = secp256k1_ios/src/group_impl.h; sourceTree = ""; }; 912B8C0B1FBC7A948BA82A00E7045D27 /* Deprecations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecations.swift; path = Sources/Deprecations.swift; sourceTree = ""; }; 913CF4153E753730DC216ECBA138739A /* BlockEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockEncryptor.swift; path = Sources/CryptoSwift/BlockEncryptor.swift; sourceTree = ""; }; - 914FA8B4E5606148A3FDB7A4AF04B6C1 /* scrypt-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "scrypt-dummy.m"; sourceTree = ""; }; 91DC39A093E0AC3021796C0C881D7423 /* AbstractKeystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AbstractKeystore.swift; path = web3swift/KeystoreManager/Classes/AbstractKeystore.swift; sourceTree = ""; }; 92BA0A05E447FDB20B427DC9BA3F17BA /* NSTask+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSTask+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.m"; sourceTree = ""; }; 93527029429AD83050A8FED1326A171C /* UIViewPropertyAnimator+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewPropertyAnimator+Promise.swift"; path = "Extensions/UIKit/Sources/UIViewPropertyAnimator+Promise.swift"; sourceTree = ""; }; - 938683358C3B5AA2CFBFE642980B4AA3 /* PromiseKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PromiseKit-dummy.m"; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 950B12DB7F4C7CF3F58880BC46966315 /* secp256k1_ios-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "secp256k1_ios-dummy.m"; sourceTree = ""; }; - 95249F16407D5F29A7DC563FCF50F1F3 /* scrypt-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-prefix.pch"; sourceTree = ""; }; 952E5E5A20415427CA78C75911C62ABD /* Promise+Web3+Intermediate+Send.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Intermediate+Send.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Intermediate+Send.swift"; sourceTree = ""; }; 958751D0D47E3CCFFC945333CEB4F72E /* Promise+Web3+Eth+GetAccounts.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetAccounts.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetAccounts.swift"; sourceTree = ""; }; 95F9DAFFDEA63060E250D163213F0C61 /* race.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = race.m; path = Sources/race.m; sourceTree = ""; }; @@ -668,15 +646,20 @@ 976F6985F84517A349137181F3CBB38C /* UInt16+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt16+Extension.swift"; path = "Sources/CryptoSwift/UInt16+Extension.swift"; sourceTree = ""; }; 9778E61DBD908F7C81939F9640787434 /* Web3+Methods.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Methods.swift"; path = "web3swift/Web3/Classes/Web3+Methods.swift"; sourceTree = ""; }; 99C57625E52E17DB4D8B152FC7D1772F /* scalar_low_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low_impl.h; path = secp256k1_ios/src/scalar_low_impl.h; sourceTree = ""; }; + 99FD9803A2BF705DFA95E8CFE488F5D5 /* Pods-web3swiftExample.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swiftExample.modulemap"; sourceTree = ""; }; 9BD8F7B538E9955AD6B31C5548E85E3A /* scalar_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_impl.h; path = secp256k1_ios/src/scalar_impl.h; sourceTree = ""; }; + 9C1BF0239536A2BCDF991B0D37C862CC /* secp256k1_ios.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = secp256k1_ios.modulemap; sourceTree = ""; }; 9C8EDCC12EBCA64B4D3B9C433300DD15 /* after.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = after.swift; path = Sources/after.swift; sourceTree = ""; }; 9D81EA660BB41A6042EB12554C011FF5 /* Web3+Options.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Options.swift"; path = "web3swift/Web3/Classes/Web3+Options.swift"; sourceTree = ""; }; 9E396C482D49D085DD8E5C6F1538A1B3 /* DigestType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DigestType.swift; path = Sources/CryptoSwift/DigestType.swift; sourceTree = ""; }; 9E4C0E96E391A3A6478442E71331B4C8 /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = Sources/CryptoSwift/Utils.swift; sourceTree = ""; }; + 9EE64A9528FF128B9020101AA65FE4AB /* Pods-web3swiftExample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swiftExample-dummy.m"; sourceTree = ""; }; A1EBCC0F3780CD1BF5924A52550B2326 /* lax_der_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_parsing.c; path = secp256k1_ios/contrib/lax_der_parsing.c; sourceTree = ""; }; A1F0E78B73C5750335C94D48A43488F1 /* libsecp256k1-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "libsecp256k1-config.h"; path = "secp256k1_ios/libsecp256k1-config.h"; sourceTree = ""; }; + A37C37229B14679020F711CCFB377624 /* secp256k1_ios-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-prefix.pch"; sourceTree = ""; }; A4AD0B0CDC89E37F1F3D10E361AB2BD7 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/recovery/main_impl.h; sourceTree = ""; }; A4DBB0B96A0D97186D0D275913EFB6F4 /* ABIv2TypeParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2TypeParser.swift; path = web3swift/ABIv2/Classes/ABIv2TypeParser.swift; sourceTree = ""; }; + A66255E5AEA5BC28BB87C3D0EFD8D2AA /* web3swift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = web3swift.xcconfig; sourceTree = ""; }; A740ACE88D9C0FCCAA9BF577B356D151 /* EthereumKeystoreV3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumKeystoreV3.swift; path = web3swift/KeystoreManager/Classes/EthereumKeystoreV3.swift; sourceTree = ""; }; A740FA5D5A7CC8E07FC8BA48D71D4558 /* Box.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Box.swift; path = Sources/Box.swift; sourceTree = ""; }; A7653D4CA3F95CD7C0BD5C5634BC8726 /* Authenticator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Authenticator.swift; path = Sources/CryptoSwift/Authenticator.swift; sourceTree = ""; }; @@ -684,12 +667,11 @@ A96F34D195736EFBEE26EAF01CFB8519 /* field_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_impl.h; path = secp256k1_ios/src/field_impl.h; sourceTree = ""; }; A9B7FC1C4BA7B43D989DB2B556486352 /* BigUInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigUInt.swift; path = sources/BigUInt.swift; sourceTree = ""; }; A9D56D5E5F9EF5E2211C743FEDCBAADD /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "Sources/CryptoSwift/String+Extension.swift"; sourceTree = ""; }; + AAE18F0D9A22AE97A40D945DCE17B624 /* SipHash.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SipHash.modulemap; sourceTree = ""; }; AB5B6ACFABC7EC18ACEAA8633842A947 /* Bitwise Ops.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bitwise Ops.swift"; path = "sources/Bitwise Ops.swift"; sourceTree = ""; }; AE50FC315B634183486EDEF0DBB59268 /* ABIv2Parsing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Parsing.swift; path = web3swift/ABIv2/Classes/ABIv2Parsing.swift; sourceTree = ""; }; AF39ECE02AE8493AAF47EDD68429E007 /* CipherModeWorker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CipherModeWorker.swift; path = Sources/CryptoSwift/BlockMode/CipherModeWorker.swift; sourceTree = ""; }; - B091BC43DB6D17BF018B2F63555755B4 /* BigInt-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-prefix.pch"; sourceTree = ""; }; B1080142E5C98D83C6423ACA6241A5A6 /* AES+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AES+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/AES+Foundation.swift"; sourceTree = ""; }; - B1647966CB1B1D43959CF4E871BD9B36 /* secp256k1_ios-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-prefix.pch"; sourceTree = ""; }; B1AF162652CC96EC4E7AA8713BEEF5B7 /* num_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_impl.h; path = secp256k1_ios/src/num_impl.h; sourceTree = ""; }; B225A007A4268038A9E454D13111A89D /* ecmult_gen.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen.h; path = secp256k1_ios/src/ecmult_gen.h; sourceTree = ""; }; B230E8C1B6762E788B76F2AA859FF02E /* BIP39.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP39.swift; path = web3swift/KeystoreManager/Classes/BIP39.swift; sourceTree = ""; }; @@ -697,9 +679,7 @@ B2742EF48D7A9BADD15DFA2028CDB4AD /* Subtraction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Subtraction.swift; path = sources/Subtraction.swift; sourceTree = ""; }; B2BB223B0460060F3F08F67C605E6971 /* Bit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bit.swift; path = Sources/CryptoSwift/Bit.swift; sourceTree = ""; }; B3AE1B016C720A6861CFEEED6B0B1E5D /* NSNotificationCenter+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.h"; sourceTree = ""; }; - B3F9A1907F29304BFC44C6ACB93771D4 /* Pods-web3swiftExample.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swiftExample.modulemap"; sourceTree = ""; }; B461C953E96246972B9FD88D07AD66E5 /* PlainKeystore+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PlainKeystore+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/PlainKeystore+ObjC.swift"; sourceTree = ""; }; - B46845985AF612A96C9CC720A9AA1928 /* BigInt.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BigInt.xcconfig; sourceTree = ""; }; B4CD7FD8C56DD910536ADB36E1277B34 /* Floating Point Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Floating Point Conversion.swift"; path = "sources/Floating Point Conversion.swift"; sourceTree = ""; }; B4D0235918D0C322E2E83A50D0A2CD24 /* BigUInt+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BigUInt+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/BigUInt+ObjC.swift"; sourceTree = ""; }; B5B0E053F4769044408474F4EDD0450B /* eckey_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey_impl.h; path = secp256k1_ios/src/eckey_impl.h; sourceTree = ""; }; @@ -708,26 +688,30 @@ B78D71D7365AE4B58112354EDD377D4D /* Web3+Contract.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Contract.swift"; path = "web3swift/Web3/Classes/Web3+Contract.swift"; sourceTree = ""; }; B7BE49D1EB253D7DE7539B872CDAD284 /* Scrypt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scrypt.swift; path = scrypt/scrypt/Scrypt.swift; sourceTree = ""; }; B806FEEE8A1AD5FF1AB49E5928BBC3A3 /* EthereumTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumTransaction.swift; path = web3swift/Transaction/Classes/EthereumTransaction.swift; sourceTree = ""; }; + B81556F0FE01DF09B1A857C01311DF62 /* PromiseKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromiseKit.xcconfig; sourceTree = ""; }; B8CBA501A152AA198F4C80D0E17BAFED /* basic-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "basic-config.h"; path = "secp256k1_ios/src/basic-config.h"; sourceTree = ""; }; + B9579DEB6145661F6E7A13CFED754827 /* Result.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Result.modulemap; sourceTree = ""; }; B9CAE13A8BC055260DED74FDBDE2A710 /* AEADChaCha20Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEADChaCha20Poly1305.swift; path = Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift; sourceTree = ""; }; BA06B61BC294257DACC3E1D0FD32DA53 /* lax_der_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_parsing.h; path = secp256k1_ios/contrib/lax_der_parsing.h; sourceTree = ""; }; + BAD8E2243595210891E90A221AD22915 /* BigInt.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BigInt.xcconfig; sourceTree = ""; }; BB1C6578AA63B23B241C85DCD3EF3D21 /* group.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group.h; path = secp256k1_ios/src/group.h; sourceTree = ""; }; - BBB4E3EFCFB5EE8A172C605E76645746 /* Result-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Result-dummy.m"; sourceTree = ""; }; BC0FD9DB2AEDA0136A6B828690C3BE23 /* UInt8+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt8+Extension.swift"; path = "Sources/CryptoSwift/UInt8+Extension.swift"; sourceTree = ""; }; + BF9CD7996E9539414390F255AAE03851 /* secp256k1_ios-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "secp256k1_ios-dummy.m"; sourceTree = ""; }; BFE4248F45D9EE5AAA7A83114F6B2BF6 /* Web3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Web3.swift; path = web3swift/Web3/Classes/Web3.swift; sourceTree = ""; }; C0330E643D2770F7C6D422B4085388DA /* scalar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar.h; path = secp256k1_ios/src/scalar.h; sourceTree = ""; }; + C13316F7E9A1CE6B07783B3F5F10CF3B /* Result-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-prefix.pch"; sourceTree = ""; }; C191C1B178EC68CC1E14B9012A443F62 /* EIP67Code.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EIP67Code.swift; path = web3swift/Utils/Classes/EIP67Code.swift; sourceTree = ""; }; C52F5EDD1118D33A3B10C6452A089E8F /* PMKFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKFoundation.h; path = Extensions/Foundation/Sources/PMKFoundation.h; sourceTree = ""; }; C613C1A4193B296D8171C94206D33C31 /* Web3+Eth.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Eth.swift"; path = "web3swift/Web3/Classes/Web3+Eth.swift"; sourceTree = ""; }; C79C70AB4E5DF69385497C717CEBFB75 /* ABIv2Encoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Encoding.swift; path = web3swift/ABIv2/Classes/ABIv2Encoding.swift; sourceTree = ""; }; C7BFE272DA00B10F8102625518DEADB8 /* join.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = join.m; path = Sources/join.m; sourceTree = ""; }; C9025BAAEE8CC693DC8E66CE52E77768 /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "web3swift/Convenience/Classes/Data+Extension.swift"; sourceTree = ""; }; + C91E162C53A209FDFA94395F091AF0EE /* SipHash.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SipHash.xcconfig; sourceTree = ""; }; C93101B181E8AABEB131C0915B6F3015 /* Promise+HttpProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+HttpProvider.swift"; path = "web3swift/Promises/Classes/Promise+HttpProvider.swift"; sourceTree = ""; }; - CA513A9C6927CE8B124B8CE4A371839B /* scrypt.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = scrypt.modulemap; path = ../../Headers/Public/scrypt/scrypt.modulemap; sourceTree = ""; }; CAABB0F89CF876EA103285C487CD9403 /* Web3+HttpProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+HttpProvider.swift"; path = "web3swift/Web3/Classes/Web3+HttpProvider.swift"; sourceTree = ""; }; CAB3B3DB7F29D6CDD16814E658597C38 /* ContractABIv2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContractABIv2.swift; path = web3swift/Contract/Classes/ContractABIv2.swift; sourceTree = ""; }; - CB0F38E28056726FF806F5BCFE43B68A /* SipHash-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SipHash-dummy.m"; sourceTree = ""; }; CB23B0951CD5D604D24EA76B4B41466F /* ecmult_const.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const.h; path = secp256k1_ios/src/ecmult_const.h; sourceTree = ""; }; + CBCCA9834BAC9372CB234B4219882001 /* PromiseKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-umbrella.h"; sourceTree = ""; }; CC203122F4CADEB96AD6DC31C9B89CD7 /* UInt128.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UInt128.swift; path = Sources/CryptoSwift/UInt128.swift; sourceTree = ""; }; CC7703D2D8872FC0ABD92EE3F90EBDCB /* field_5x52_asm_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_asm_impl.h; path = secp256k1_ios/src/field_5x52_asm_impl.h; sourceTree = ""; }; CC990486D4C0CEEBBB80C141DC8AAF7C /* CustomStringConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomStringConvertible.swift; path = Sources/CustomStringConvertible.swift; sourceTree = ""; }; @@ -739,7 +723,6 @@ CFBD00269481FF629C0D75143D8ED5CB /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/CryptoSwift/Operators.swift; sourceTree = ""; }; CFC18FE05DFD6D953716F8225BEC16A8 /* Checksum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Checksum.swift; path = Sources/CryptoSwift/Checksum.swift; sourceTree = ""; }; D0C5DCCE452FBA3A37BE4A3C6ECB9C33 /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = Sources/CryptoSwift/CompactMap.swift; sourceTree = ""; }; - D1FE5696E0B254ED3F3CEF1700BFE3EF /* CoreImage.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreImage.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/CoreImage.framework; sourceTree = DEVELOPER_DIR; }; D22A1274D72F8069BBEBF15A847277B5 /* BIP32HDNode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32HDNode.swift; path = web3swift/KeystoreManager/Classes/BIP32HDNode.swift; sourceTree = ""; }; D3D75A6D93D9A7DF105F25DC93688461 /* util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = util.h; path = secp256k1_ios/src/util.h; sourceTree = ""; }; D48E4039D8A05D930087548282B6EDFB /* Web3+Wallet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Wallet.swift"; path = "web3swift/HookedFunctions/Classes/Web3+Wallet.swift"; sourceTree = ""; }; @@ -749,22 +732,18 @@ D780067516C26611C3598987A7B875A8 /* BlockModeOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockModeOptions.swift; path = Sources/CryptoSwift/BlockMode/BlockModeOptions.swift; sourceTree = ""; }; D8287DF2117A869C0B6C9BC2CAAC80DD /* Rabbit+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Rabbit+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift"; sourceTree = ""; }; D88F2B395E5E3F2C3E61220B75F9EFE4 /* scalar_8x32_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32_impl.h; path = secp256k1_ios/src/scalar_8x32_impl.h; sourceTree = ""; }; + D91E3092AC45FADA1BD6F43737530A9C /* CryptoSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-prefix.pch"; sourceTree = ""; }; D9D0562D53ACD302EE60EE8967515E45 /* Web3+TransactionIntermediate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+TransactionIntermediate.swift"; path = "web3swift/Web3/Classes/Web3+TransactionIntermediate.swift"; sourceTree = ""; }; DA17BEB9A7129021CB18F6B91D12748C /* Promise+Web3+Eth+SendTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+SendTransaction.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+SendTransaction.swift"; sourceTree = ""; }; DA571FCCE0EC4EA1D6F0234A756DE463 /* HMAC+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "HMAC+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/HMAC+Foundation.swift"; sourceTree = ""; }; DAB94D7201EC9D4222C28065007D51EB /* Web3+Instance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Instance.swift"; path = "web3swift/Web3/Classes/Web3+Instance.swift"; sourceTree = ""; }; - DABE58DA84A9A1A36E5A36F6D7751D80 /* web3swift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = web3swift.xcconfig; sourceTree = ""; }; DAFF5311E9BA57C195A3AF3540BB75A1 /* SHA1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA1.swift; path = Sources/CryptoSwift/SHA1.swift; sourceTree = ""; }; DB6386E81F459ED74E6BB3E8FA4FF3CE /* CBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBC.swift; path = Sources/CryptoSwift/BlockMode/CBC.swift; sourceTree = ""; }; DB6B3F25A51F2AB28AC33743DAB74418 /* num.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num.h; path = secp256k1_ios/src/num.h; sourceTree = ""; }; DD0A982799C4459FD2E3166540B9A18D /* Exponentiation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Exponentiation.swift; path = sources/Exponentiation.swift; sourceTree = ""; }; - DD5A83F499A1B0FA6DF5618B53E3ECA2 /* Pods-web3swiftExample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swiftExample-acknowledgements.markdown"; sourceTree = ""; }; - DE41C3A37D47F69479B88DBC5B6F839A /* CryptoSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = CryptoSwift.modulemap; path = ../../Headers/Public/CryptoSwift/CryptoSwift.modulemap; sourceTree = ""; }; - E030C6F26BFADC8F35D1E4CA476BF788 /* Pods-web3swiftExample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swiftExample-acknowledgements.plist"; sourceTree = ""; }; E035FE22D8FD996F3D0563F19CB710CE /* Addition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Addition.swift; path = sources/Addition.swift; sourceTree = ""; }; E0EAE40505327D2CB02940BDEB3B21DC /* HMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HMAC.swift; path = Sources/CryptoSwift/HMAC.swift; sourceTree = ""; }; E0ED08C56E8F5A2573652D57C0E00AB1 /* when.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = when.m; path = Sources/when.m; sourceTree = ""; }; - E13AD94F677C7C10FB9A6946D2C69BBC /* web3swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "web3swift-prefix.pch"; sourceTree = ""; }; E1E9E05C913C27A3BCDC1B5C783DE9B9 /* TransactionSigner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransactionSigner.swift; path = web3swift/Transaction/Classes/TransactionSigner.swift; sourceTree = ""; }; E22171F0C69D8C40BCDB2F57BE46B364 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/ecdh/main_impl.h; sourceTree = ""; }; E27EAF74BA22155644BF26D238704159 /* Primitive Types.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Primitive Types.swift"; path = "SipHash/Primitive Types.swift"; sourceTree = ""; }; @@ -774,25 +753,23 @@ E33486FBAA345E14AD805DEC0E47A803 /* ABIv2Elements.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Elements.swift; path = web3swift/ABIv2/Classes/ABIv2Elements.swift; sourceTree = ""; }; E3724656679C0E551B0D424B10D8BDE0 /* IBAN.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IBAN.swift; path = web3swift/KeystoreManager/Classes/IBAN.swift; sourceTree = ""; }; E3FCFAFE5E2F92BF925E516BA5C6D586 /* ecmult_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_impl.h; path = secp256k1_ios/src/ecmult_impl.h; sourceTree = ""; }; + E639196F504CE0F26B4C3BE988D0753E /* BigInt-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BigInt-dummy.m"; sourceTree = ""; }; E77AC5D58E1FF6C75FCC6752505572A9 /* scalar_low.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low.h; path = secp256k1_ios/src/scalar_low.h; sourceTree = ""; }; E876079E09845BBA655ED734665C8A43 /* EthereumAddress+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EthereumAddress+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/EthereumAddress+ObjC.swift"; sourceTree = ""; }; E9124AFC41B95D43CF8CC563C862991C /* hash_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash_impl.h; path = secp256k1_ios/src/hash_impl.h; sourceTree = ""; }; E91345FF5BDDF745793EEDF104FCDCB0 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = Sources/Error.swift; sourceTree = ""; }; - EA9156726C96A92A511AB297A9A9E3A4 /* scrypt-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "scrypt-umbrella.h"; path = "../../Headers/Public/scrypt/scrypt-umbrella.h"; sourceTree = ""; }; EADAE9DDDE266D2FA434262C25991F22 /* PBKDF2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF2.swift; path = Sources/CryptoSwift/PKCS/PBKDF2.swift; sourceTree = ""; }; EAE853F3B901CD0EFBB3049D7288A635 /* web3swift.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = web3swift.h; path = web3swift/web3swift.h; sourceTree = ""; }; - EAF65854A3BB618F07D90EDF805CA448 /* SipHash-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SipHash-umbrella.h"; path = "../../Headers/Public/SipHash/SipHash-umbrella.h"; sourceTree = ""; }; + EAF95D7A08AE9E5B89144BED0AE0C4C0 /* SipHash-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-prefix.pch"; sourceTree = ""; }; EB2F2E4377859F7D681FE473B587053B /* BatchedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BatchedCollection.swift; path = Sources/CryptoSwift/BatchedCollection.swift; sourceTree = ""; }; EB90911DBCE2B6C999C122F3EC56E386 /* scrypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scrypt.h; path = scrypt/scrypt.h; sourceTree = ""; }; EC27CE020482173FFDCE321039C1E1B7 /* NSURLSession+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURLSession+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.m"; sourceTree = ""; }; EC96BFAF2B1203FC9CA3C40F8C68BE0A /* BufferStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BufferStorage.swift; path = scrypt/scrypt/BufferStorage.swift; sourceTree = ""; }; - ED15D096C66E0B57F819BD7C2711C0F2 /* CryptoSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CryptoSwift-dummy.m"; sourceTree = ""; }; ED32FA320D4B20F774457FA9C15F4DD2 /* Int+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Int+Extension.swift"; path = "Sources/CryptoSwift/Int+Extension.swift"; sourceTree = ""; }; EDDE6BE27FBDE2D0053FF4448C47148D /* SipHasher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHasher.swift; path = SipHash/SipHasher.swift; sourceTree = ""; }; EE6713D6A2C799F18F66DEAF4B9DA002 /* PMKUIKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKUIKit.h; path = Extensions/UIKit/Sources/PMKUIKit.h; sourceTree = ""; }; - EF59F5648FE9BCB0EDD6800DD3E28D06 /* CryptoSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CryptoSwift.xcconfig; sourceTree = ""; }; - F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; F2B5D7FCD090BEF9FFFB3C684DCB1B18 /* Catchable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catchable.swift; path = Sources/Catchable.swift; sourceTree = ""; }; + F3DB5983D5328F395EC023B6F7BA9412 /* Pods-web3swiftExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swiftExample.release.xcconfig"; sourceTree = ""; }; F403D2ACFA1FBE4817C4DD35F625E829 /* NSRegularExpressionExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSRegularExpressionExtension.swift; path = web3swift/Convenience/Classes/NSRegularExpressionExtension.swift; sourceTree = ""; }; F46ACB0433C87E504F733209EBE2BF33 /* Guarantee.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Guarantee.swift; path = Sources/Guarantee.swift; sourceTree = ""; }; F4CE7F01DBF56348E5D752C5E4A2573C /* hang.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = hang.m; path = Sources/hang.m; sourceTree = ""; }; @@ -800,95 +777,83 @@ F568297D4D43D340BC0B85931EF3ECEB /* Blowfish+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Blowfish+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift"; sourceTree = ""; }; F69249253939D72D4870706405B1DD0C /* ecdsa_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa_impl.h; path = secp256k1_ios/src/ecdsa_impl.h; sourceTree = ""; }; F7F281434684B8C111CACBAE1BCD1B8A /* KeystoreManager+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KeystoreManager+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/KeystoreManager+ObjC.swift"; sourceTree = ""; }; - F96277F4F7F4EDE613B805FB34B336B5 /* BigInt.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = BigInt.modulemap; path = ../../Headers/Public/BigInt/BigInt.modulemap; sourceTree = ""; }; FB9227AD4EC63BDE92E26BD15585FCA5 /* field_10x26.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26.h; path = secp256k1_ios/src/field_10x26.h; sourceTree = ""; }; + FC2F9C9C1C2C85E089F281E24A59A511 /* scrypt.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = scrypt.modulemap; sourceTree = ""; }; FDA88052388E64B0D79D3B4902DD4F7A /* libscrypt.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libscrypt.a; path = libscrypt.a; sourceTree = BUILT_PRODUCTS_DIR; }; FE2E92733967F592C99E77387B2DD8FD /* Promise+Web3+Eth+GetTransactionDetails.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionDetails.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionDetails.swift"; sourceTree = ""; }; FFB342B57716D3C137EA03417F2362B3 /* num_gmp.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp.h; path = secp256k1_ios/src/num_gmp.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 753CB2AB9003C32D5B710D627DD9752D /* Frameworks */ = { + 0537F34931CD1EAF1B45F6B72325E869 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C2718750F418C5D2B3156FE222D7E588 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8CDDE45391457DD173AF5335076460AF /* Frameworks */ = { + 074822914DA50BC43B6AB0802CD935A2 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 869AB1CFDB2B38A223D116F72A3E4233 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - B63483B215488C44FE00081829DAE8E4 /* Frameworks */ = { + 18C5ABD1C406C832B0DD15AA82CC41C4 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 24238E1E19686A7C5274E269C9211FCB /* Foundation.framework in Frameworks */, - 427CCC9BF12EFD167E5A2466E0800662 /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - B8BD56316C697D9C72E79DD24CD78057 /* Frameworks */ = { + 21FA9C90304F8596C9EE0647F7C9E1EE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D5C5C921C1CB10C4A9A5EB05361E7338 /* CoreImage.framework in Frameworks */, - A54605541B253BB07995E7739AE98BEA /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - BA9D302E84C74045A19D2F197478FE64 /* Frameworks */ = { + 325A85FC0CD5BCF38ADE42EE7531C2A2 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BB5BFB94695CEF17AE75B9CE0A68F177 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - BBA41508228DD970799D14EDC888D457 /* Frameworks */ = { + 76402B5CC42ABD207A9C81A6A4712B42 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 48743A0B0B3B20D0ED87CF7DC79EC2FB /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - D4CBD5945C478754DA1A271A51936CE3 /* Frameworks */ = { + 841B7B892F8C57CBEF5FB03AC753C3AB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7B2159CA7807E3B32E0C0C30209A01BF /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - D940039687CE98B626EEFD9F33FB2FF9 /* Frameworks */ = { + 90440DC7AC48BE32148838250163B5C1 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 718C642040F35BEA8535D17B4E27A943 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E8BEAA12D8403A53C88C590AACC93D0F /* Frameworks */ = { + A7F757D73E3A0EC9C2E23F63AE6289BE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 4575619E0D86ECE1E08DDE865D6EFE2C /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 122DA2E5084A4393C29BE363C764795C /* Frameworks */ = { + 0F8D2E47FE03D3B91B51069F7C273AF4 /* Frameworks */ = { isa = PBXGroup; children = ( - C472227818EDFDAF1A596D87BB07017E /* iOS */, ); name = Frameworks; sourceTree = ""; @@ -898,26 +863,13 @@ children = ( 5E39DB4468217B8D450F69FACC4551D0 /* CorePromise */, CA3D3C1EBFFC7D898A27E843C5439CE0 /* Foundation */, - C7008B32BE430039207C595C3726AA01 /* Support Files */, + F0821097ACC5C2B11943D823DDAB40BF /* Support Files */, FFF8EAFC7FE4BFDD7276AFA7EF2810BE /* UIKit */, ); name = PromiseKit; path = PromiseKit; sourceTree = ""; }; - 1722229FD4DB7AD2C441546254739FEC /* Support Files */ = { - isa = PBXGroup; - children = ( - CA513A9C6927CE8B124B8CE4A371839B /* scrypt.modulemap */, - 35A9FE789E37975C0131E64AE7B7282E /* scrypt.xcconfig */, - 914FA8B4E5606148A3FDB7A4AF04B6C1 /* scrypt-dummy.m */, - 95249F16407D5F29A7DC563FCF50F1F3 /* scrypt-prefix.pch */, - EA9156726C96A92A511AB297A9A9E3A4 /* scrypt-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/scrypt"; - sourceTree = ""; - }; 17DCDE0D99696B7889B5B8C2A38BEEDE /* Result */ = { isa = PBXGroup; children = ( @@ -925,23 +877,38 @@ 598C899118EB120568F6595B3CA4CF62 /* NoError.swift */, 69DD73C0AA680B56241490A79FDB334B /* Result.swift */, 414BCF28F898344A3ACB4CFA9EAC0C6A /* ResultProtocol.swift */, - A3C432A62DBD773DDE1F6FC6141A8015 /* Support Files */, + FF10E37F76B00A6FA631924E5B1455B8 /* Support Files */, ); name = Result; path = Result; sourceTree = ""; }; - 25FE3D3FCAC05A47AB3C62CB43E56326 /* Support Files */ = { + 24756851651A12FD68D67F6ED528DB92 /* Support Files */ = { isa = PBXGroup; children = ( - DE41C3A37D47F69479B88DBC5B6F839A /* CryptoSwift.modulemap */, - EF59F5648FE9BCB0EDD6800DD3E28D06 /* CryptoSwift.xcconfig */, - ED15D096C66E0B57F819BD7C2711C0F2 /* CryptoSwift-dummy.m */, - 81DEF759EE796B2DE4FC5D93FACFB387 /* CryptoSwift-prefix.pch */, - 046CD9C71F2C224C3CAF90FFBD22174A /* CryptoSwift-umbrella.h */, + FC2F9C9C1C2C85E089F281E24A59A511 /* scrypt.modulemap */, + 2E25A4BC37421B57AB6AFC5F6B21A519 /* scrypt.xcconfig */, + 132EEA6FACDEAEC8CD7FD1339E7D9008 /* scrypt-dummy.m */, + 20CDC39702A75FA362AF09280907A20B /* scrypt-prefix.pch */, + 66A0A452A31539038312A19BDEC81AE1 /* scrypt-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/CryptoSwift"; + path = "../Target Support Files/scrypt"; + sourceTree = ""; + }; + 33548EC949E8B683284D35310869DD50 /* Pods-web3swiftExample */ = { + isa = PBXGroup; + children = ( + 99FD9803A2BF705DFA95E8CFE488F5D5 /* Pods-web3swiftExample.modulemap */, + 766D24708AC3AAE11C1368CEAEB4EA5C /* Pods-web3swiftExample-acknowledgements.markdown */, + 1783AE3ABADA5096BE70D5939EE58E22 /* Pods-web3swiftExample-acknowledgements.plist */, + 9EE64A9528FF128B9020101AA65FE4AB /* Pods-web3swiftExample-dummy.m */, + 421B749E58F87E0C839D613211A2D0D6 /* Pods-web3swiftExample-umbrella.h */, + 2A3B82C924810D565EACB8DD0250AF2F /* Pods-web3swiftExample.debug.xcconfig */, + F3DB5983D5328F395EC023B6F7BA9412 /* Pods-web3swiftExample.release.xcconfig */, + ); + name = "Pods-web3swiftExample"; + path = "Target Support Files/Pods-web3swiftExample"; sourceTree = ""; }; 34102ACBD9DC50BE768CCB1D30FAF725 /* Pods */ = { @@ -959,17 +926,30 @@ name = Pods; sourceTree = ""; }; - 46B20C7C72517DE1197CCA18250C3BAF /* Support Files */ = { + 370542143BCDBB42A24BF4297594D4EE /* Support Files */ = { isa = PBXGroup; children = ( - 0A2E17AC2242821FB7FF4539D7F4FAB9 /* web3swift.modulemap */, - DABE58DA84A9A1A36E5A36F6D7751D80 /* web3swift.xcconfig */, - 7490D6F83AB700404C125AC3E6A130A2 /* web3swift-dummy.m */, - E13AD94F677C7C10FB9A6946D2C69BBC /* web3swift-prefix.pch */, - 35D8A4E4B2DBCC4C72036CB80D4ED663 /* web3swift-umbrella.h */, + 9C1BF0239536A2BCDF991B0D37C862CC /* secp256k1_ios.modulemap */, + 0E2E24E6150E5C09FCC81471D9E99B90 /* secp256k1_ios.xcconfig */, + BF9CD7996E9539414390F255AAE03851 /* secp256k1_ios-dummy.m */, + A37C37229B14679020F711CCFB377624 /* secp256k1_ios-prefix.pch */, + 1ADF7BA967B554C691C423EEA65EEFDA /* secp256k1_ios-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/web3swift"; + path = "../Target Support Files/secp256k1_ios"; + sourceTree = ""; + }; + 3E35F52F2F42C41ECF56153EED258566 /* Support Files */ = { + isa = PBXGroup; + children = ( + 829D5DC3C89D61D074F050F2057A4DD0 /* BigInt.modulemap */, + BAD8E2243595210891E90A221AD22915 /* BigInt.xcconfig */, + E639196F504CE0F26B4C3BE988D0753E /* BigInt-dummy.m */, + 13AF7186ED58867EA6E22302C659426E /* BigInt-prefix.pch */, + 7215A5A55F2FAB77E52827BDC972EEFC /* BigInt-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/BigInt"; sourceTree = ""; }; 55BFDEAA1CAE3CA920202AFFAAF2F058 /* SipHash */ = { @@ -979,7 +959,7 @@ B71A2239207EC9A9FD4F65D23E822396 /* RandomUInt64.swift */, A96630CA550118EAC05864B2C651DF35 /* SipHashable.swift */, EDDE6BE27FBDE2D0053FF4448C47148D /* SipHasher.swift */, - BD30C8AF77B5A8F88A9204EEA5A7AD02 /* Support Files */, + DBB9FDC9200083588F83405D2F5E7525 /* Support Files */, ); name = SipHash; path = SipHash; @@ -1018,17 +998,17 @@ name = CorePromise; sourceTree = ""; }; - 6C94807A652A3CD4FFEC33FB419C1364 /* Support Files */ = { + 6165385505DECC06DFE831E3EAF3672E /* Support Files */ = { isa = PBXGroup; children = ( - F96277F4F7F4EDE613B805FB34B336B5 /* BigInt.modulemap */, - B46845985AF612A96C9CC720A9AA1928 /* BigInt.xcconfig */, - 11D89C581D76CF01DAE12F8728D1828B /* BigInt-dummy.m */, - B091BC43DB6D17BF018B2F63555755B4 /* BigInt-prefix.pch */, - 4ADA5A209265D621A4CF71041B71DF52 /* BigInt-umbrella.h */, + 19B4E01A253286950C09A5669EF5781F /* CryptoSwift.modulemap */, + 3923B0035F9528F642633EABD2E39E97 /* CryptoSwift.xcconfig */, + 6987CE8539E8316A528A63024B5DC52C /* CryptoSwift-dummy.m */, + D91E3092AC45FADA1BD6F43737530A9C /* CryptoSwift-prefix.pch */, + 0D0BFE961FEE019F0474CC71591FBA21 /* CryptoSwift-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/BigInt"; + path = "../Target Support Files/CryptoSwift"; sourceTree = ""; }; 782D405DD9684C4993D80097C661CF74 /* CryptoSwift */ = { @@ -1105,28 +1085,20 @@ 9E4C0E96E391A3A6478442E71331B4C8 /* Utils.swift */, 14EB90988A4AD64E02B4BC0D410025D1 /* Utils+Foundation.swift */, 5BC6637281B8A68F6FC9D03AD4BE8663 /* ZeroPadding.swift */, - 25FE3D3FCAC05A47AB3C62CB43E56326 /* Support Files */, + 6165385505DECC06DFE831E3EAF3672E /* Support Files */, ); name = CryptoSwift; path = CryptoSwift; sourceTree = ""; }; - 7876869AA79AFDD4D8ED5A3466B54853 /* Targets Support Files */ = { - isa = PBXGroup; - children = ( - A594039006D69F6E7EB52154DD258AE1 /* Pods-web3swiftExample */, - ); - name = "Targets Support Files"; - sourceTree = ""; - }; 7DB346D0F39D3F0E887471402A8071AB = { isa = PBXGroup; children = ( 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - 122DA2E5084A4393C29BE363C764795C /* Frameworks */, + 0F8D2E47FE03D3B91B51069F7C273AF4 /* Frameworks */, 34102ACBD9DC50BE768CCB1D30FAF725 /* Pods */, 9D4E26DF6080ADCB389AB90D4A3DE678 /* Products */, - 7876869AA79AFDD4D8ED5A3466B54853 /* Targets Support Files */, + F5D91304DDB412ABC767B52A512077BF /* Targets Support Files */, ); sourceTree = ""; }; @@ -1155,7 +1127,7 @@ 83028A48F74FCB58CD998F99671B2730 /* String Conversion.swift */, B2742EF48D7A9BADD15DFA2028CDB4AD /* Subtraction.swift */, 60BC0AB6A6A28CC649B0FF506918AB6F /* Words and Bits.swift */, - 6C94807A652A3CD4FFEC33FB419C1364 /* Support Files */, + 3E35F52F2F42C41ECF56153EED258566 /* Support Files */, ); name = BigInt; path = BigInt; @@ -1168,25 +1140,12 @@ 264884CE631173016E083169227D349F /* Salsa.swift */, EB90911DBCE2B6C999C122F3EC56E386 /* scrypt.h */, B7BE49D1EB253D7DE7539B872CDAD284 /* Scrypt.swift */, - 1722229FD4DB7AD2C441546254739FEC /* Support Files */, + 24756851651A12FD68D67F6ED528DB92 /* Support Files */, ); name = scrypt; path = scrypt; sourceTree = ""; }; - 9B1BBE6CE2CA03B732374E1949A0B5F1 /* Support Files */ = { - isa = PBXGroup; - children = ( - 1E078781E4A11116263643F9D1AAC14E /* secp256k1_ios.modulemap */, - 6C45D29D8FF386012D33CFF0BE84AD2B /* secp256k1_ios.xcconfig */, - 950B12DB7F4C7CF3F58880BC46966315 /* secp256k1_ios-dummy.m */, - B1647966CB1B1D43959CF4E871BD9B36 /* secp256k1_ios-prefix.pch */, - 57BF46728D1879DAAC9EBF3C6992D16F /* secp256k1_ios-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/secp256k1_ios"; - sourceTree = ""; - }; 9D4E26DF6080ADCB389AB90D4A3DE678 /* Products */ = { isa = PBXGroup; children = ( @@ -1203,36 +1162,6 @@ name = Products; sourceTree = ""; }; - A3C432A62DBD773DDE1F6FC6141A8015 /* Support Files */ = { - isa = PBXGroup; - children = ( - 5513D4EFDADCA1289BF2EB43EEFE0227 /* Result.modulemap */, - 22D34076EA0440B505461DA3E8B815CA /* Result.xcconfig */, - BBB4E3EFCFB5EE8A172C605E76645746 /* Result-dummy.m */, - 569F9DFB870F6B539E0A31012FC0361B /* Result-prefix.pch */, - 27185CC1895D79F7DD34E6740F038154 /* Result-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/Result"; - sourceTree = ""; - }; - A594039006D69F6E7EB52154DD258AE1 /* Pods-web3swiftExample */ = { - isa = PBXGroup; - children = ( - B3F9A1907F29304BFC44C6ACB93771D4 /* Pods-web3swiftExample.modulemap */, - DD5A83F499A1B0FA6DF5618B53E3ECA2 /* Pods-web3swiftExample-acknowledgements.markdown */, - E030C6F26BFADC8F35D1E4CA476BF788 /* Pods-web3swiftExample-acknowledgements.plist */, - 59F77AE95BC9FEABC9D930C1AB687A02 /* Pods-web3swiftExample-dummy.m */, - 78065485981757B26523C1E5BD7EAD03 /* Pods-web3swiftExample-frameworks.sh */, - 50EA02714EC707E77A1214BBC12D9969 /* Pods-web3swiftExample-resources.sh */, - 26986386406787D15D8C39F0B109D08A /* Pods-web3swiftExample-umbrella.h */, - 02C519FDB5FE4C5643A843724C5FACA2 /* Pods-web3swiftExample.debug.xcconfig */, - 138892441A5B43660E6766A7D981C559 /* Pods-web3swiftExample.release.xcconfig */, - ); - name = "Pods-web3swiftExample"; - path = "Target Support Files/Pods-web3swiftExample"; - sourceTree = ""; - }; AB4CFD4D1BF889729C2D139EDC2212A7 /* web3swift */ = { isa = PBXGroup; children = ( @@ -1327,48 +1256,12 @@ D48E4039D8A05D930087548282B6EDFB /* Web3+Wallet.swift */, EAE853F3B901CD0EFBB3049D7288A635 /* web3swift.h */, CED83459CAB009994922F31BDEFD623E /* web3swift-Bridging-Header.h */, - 46B20C7C72517DE1197CCA18250C3BAF /* Support Files */, + F7F97F66661BB1AEF5E211A71304AF1A /* Support Files */, ); name = web3swift; path = web3swift; sourceTree = ""; }; - BD30C8AF77B5A8F88A9204EEA5A7AD02 /* Support Files */ = { - isa = PBXGroup; - children = ( - 69CD19444455A47F7707DA7A006277B4 /* SipHash.modulemap */, - 1F48C69683BD62C478F08C59DCF2E589 /* SipHash.xcconfig */, - CB0F38E28056726FF806F5BCFE43B68A /* SipHash-dummy.m */, - 241B18C64A7ED8609A9A6C70163C9FFC /* SipHash-prefix.pch */, - EAF65854A3BB618F07D90EDF805CA448 /* SipHash-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/SipHash"; - sourceTree = ""; - }; - C472227818EDFDAF1A596D87BB07017E /* iOS */ = { - isa = PBXGroup; - children = ( - D1FE5696E0B254ED3F3CEF1700BFE3EF /* CoreImage.framework */, - F218131E4EAFA82EAEAF259285394928 /* Foundation.framework */, - 5766E309D1AB7421873E2E4C04C5A5AA /* UIKit.framework */, - ); - name = iOS; - sourceTree = ""; - }; - C7008B32BE430039207C595C3726AA01 /* Support Files */ = { - isa = PBXGroup; - children = ( - 6B7201DD7B676D754F535E10B68B800E /* PromiseKit.modulemap */, - 6F569DE923E2ED82AAC896068E839D04 /* PromiseKit.xcconfig */, - 938683358C3B5AA2CFBFE642980B4AA3 /* PromiseKit-dummy.m */, - 35EB5BB18736A988E04A7C2ABE4DD406 /* PromiseKit-prefix.pch */, - 48E5DB8DD854EDCDD6095F95889DCAF9 /* PromiseKit-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/PromiseKit"; - sourceTree = ""; - }; CA3D3C1EBFFC7D898A27E843C5439CE0 /* Foundation */ = { isa = PBXGroup; children = ( @@ -1441,12 +1334,72 @@ 02DC13AF775E722F06F597A8A14B0AE6 /* secp256k1_ios.h */, 6F4F320F47509747094BF6BAE12A4D24 /* secp256k1_recovery.h */, D3D75A6D93D9A7DF105F25DC93688461 /* util.h */, - 9B1BBE6CE2CA03B732374E1949A0B5F1 /* Support Files */, + 370542143BCDBB42A24BF4297594D4EE /* Support Files */, ); name = secp256k1_ios; path = secp256k1_ios; sourceTree = ""; }; + DBB9FDC9200083588F83405D2F5E7525 /* Support Files */ = { + isa = PBXGroup; + children = ( + AAE18F0D9A22AE97A40D945DCE17B624 /* SipHash.modulemap */, + C91E162C53A209FDFA94395F091AF0EE /* SipHash.xcconfig */, + 45785764A72ADF6B322ADB75DF6AC70B /* SipHash-dummy.m */, + EAF95D7A08AE9E5B89144BED0AE0C4C0 /* SipHash-prefix.pch */, + 241A56E773F086ECBC740412E6904C70 /* SipHash-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/SipHash"; + sourceTree = ""; + }; + F0821097ACC5C2B11943D823DDAB40BF /* Support Files */ = { + isa = PBXGroup; + children = ( + 1121829B65569768952C19E25B1AAE69 /* PromiseKit.modulemap */, + B81556F0FE01DF09B1A857C01311DF62 /* PromiseKit.xcconfig */, + 03427BFCE54F27CE4E2B39BF4A10CC94 /* PromiseKit-dummy.m */, + 1D34472BFED7C973DE16C67C43B8DD51 /* PromiseKit-prefix.pch */, + CBCCA9834BAC9372CB234B4219882001 /* PromiseKit-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/PromiseKit"; + sourceTree = ""; + }; + F5D91304DDB412ABC767B52A512077BF /* Targets Support Files */ = { + isa = PBXGroup; + children = ( + 33548EC949E8B683284D35310869DD50 /* Pods-web3swiftExample */, + ); + name = "Targets Support Files"; + sourceTree = ""; + }; + F7F97F66661BB1AEF5E211A71304AF1A /* Support Files */ = { + isa = PBXGroup; + children = ( + 033BA231ACC2136A6CB8BFB0112A0FC5 /* web3swift.modulemap */, + A66255E5AEA5BC28BB87C3D0EFD8D2AA /* web3swift.xcconfig */, + 19D96B7EB5F4FBCB0D6CD0C3E49624FB /* web3swift-dummy.m */, + 701F9C15E529443E9FB73C6B379161AB /* web3swift-prefix.pch */, + 4BB92D928E7F0A70EED5685C3FCC2629 /* web3swift-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/web3swift"; + sourceTree = ""; + }; + FF10E37F76B00A6FA631924E5B1455B8 /* Support Files */ = { + isa = PBXGroup; + children = ( + B9579DEB6145661F6E7A13CFED754827 /* Result.modulemap */, + 4A6B1B16288DE16421DD874A78466051 /* Result.xcconfig */, + 25919B578B7379AB255855AA74003212 /* Result-dummy.m */, + C13316F7E9A1CE6B07783B3F5F10CF3B /* Result-prefix.pch */, + 63CAA63FD9DC75F798C3FEB9BDC9E1C3 /* Result-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/Result"; + sourceTree = ""; + }; FFF8EAFC7FE4BFDD7276AFA7EF2810BE /* UIKit */ = { isa = PBXGroup; children = ( @@ -1464,264 +1417,265 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 35F9FE8309F1E63F763141F0B0039EC8 /* Headers */ = { + 4950E5373AD51C9D8BC9C6D99E3169ED /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 5EE4E0C0152AC9B60B5FDE21D1FE1376 /* basic-config.h in Headers */, - 88B29449C32692F7D73AD19AB9508E9E /* ecdsa.h in Headers */, - 00763A6DC5CB5814AA51CAC50219E0B7 /* ecdsa_impl.h in Headers */, - 903162D5F5F9CFB9592A9DA8541BEE24 /* eckey.h in Headers */, - 7E2C56629D76BCBB9A7597AB3C01230E /* eckey_impl.h in Headers */, - 0EDDF7477E288E84577052C1658B41CB /* ecmult.h in Headers */, - A8ED2011C6459454B17016453117E474 /* ecmult_const.h in Headers */, - 96B01C81222EDFBE07E1113BD5C8709A /* ecmult_const_impl.h in Headers */, - 4413CB40BA7831228B511444C65D4598 /* ecmult_gen.h in Headers */, - D48257219A517C7B544EC8F5FC7CE52D /* ecmult_gen_impl.h in Headers */, - F077C061E7C6DE9634E53933176AED12 /* ecmult_impl.h in Headers */, - D0ED390D223D65AED4918159B4E83518 /* field.h in Headers */, - 9E39E12281D5ACCCED1214F2F8E7FBCB /* field_10x26.h in Headers */, - C6B939C5DB85F68033B851B536DFAE97 /* field_10x26_impl.h in Headers */, - 1D5335B7B63350DA411E92FE0F9C813E /* field_5x52.h in Headers */, - CDE9115B99FB035DF31575BCD1856176 /* field_5x52_asm_impl.h in Headers */, - EBF8FE9A06F1AE78A436416971F6D15C /* field_5x52_impl.h in Headers */, - 2EF56412944236855432B9B5F3C4FB51 /* field_5x52_int128_impl.h in Headers */, - CB8C7EBF77B59ACF71AC7D62D4D662FF /* field_impl.h in Headers */, - 6255AF52A113C5C624A545D90892CA83 /* group.h in Headers */, - 46BD7484F9CCF884C8A6CAF420742AE5 /* group_impl.h in Headers */, - 72CCA97DBFCACB74A5FE01DBFB69740F /* hash.h in Headers */, - 6A9086C4572C4F6541AC78DD1265EB7F /* hash_impl.h in Headers */, - 1647257B4D9A55A1F3314ACF6404D5F7 /* lax_der_parsing.h in Headers */, - 90BC99CEAA9416F74A738E33D3599D44 /* lax_der_privatekey_parsing.h in Headers */, - E13993B4E44256FD584BE3637A9155B0 /* libsecp256k1-config.h in Headers */, - E9EDFEAF82BDECFB5B2C7A4A269117E9 /* main_impl.h in Headers */, - 409AB8F2738245087DD60C50D35C3BAE /* main_impl.h in Headers */, - 2CCC69A35D8263BBAF73B815E5AB8278 /* num.h in Headers */, - 8F6EBD2B192DFF91E1C9D783A3257186 /* num_gmp.h in Headers */, - 3638DE61A4AAC74549E4E4D50DE21140 /* num_gmp_impl.h in Headers */, - E0DC2448FBF7D5B446989F11A2353A61 /* num_impl.h in Headers */, - CC649B6B389468CBEA2D8CC1188D24B6 /* scalar.h in Headers */, - 11371BD0B588E43BFF1CD5D68F5C7FD4 /* scalar_4x64.h in Headers */, - 5F0A86C61CAF70E58EA049D39F6986D0 /* scalar_4x64_impl.h in Headers */, - 90D4B17E148D3BF98981EC70E145D41D /* scalar_8x32.h in Headers */, - 76691510142C52A1ACC5E168EF593AA3 /* scalar_8x32_impl.h in Headers */, - 8592249C052EDBCD63F00D8D4710AA51 /* scalar_impl.h in Headers */, - 1304DC56E39237BCDBA3FE4E41862A9E /* scalar_low.h in Headers */, - 1CD4E827C0EC9D39E979570AFD3DA007 /* scalar_low_impl.h in Headers */, - BFBAF99A0E26012C6AC30E523F907883 /* scratch.h in Headers */, - 901EE7A09AC4266A373940B173492982 /* scratch_impl.h in Headers */, - B7C57A67BB4AFC411DB31B7CB5B6B9FD /* secp256k1.h in Headers */, - 79286AC9F08C96AD6B9F2B61DF5023FB /* secp256k1_ecdh.h in Headers */, - 03826F22499C16E2303F4CBFA3F4B200 /* secp256k1_ios-umbrella.h in Headers */, - B892A7776D38BD3022DF881E43B813B3 /* secp256k1_ios.h in Headers */, - 0D9AED5BD9970F9FAA6B709531FCA711 /* secp256k1_recovery.h in Headers */, - 0383D3FBA2D7DD1CCC83D19FF1B088D5 /* util.h in Headers */, + EB01BFB4856AE2B0729EEF5BB2E4F4BB /* Pods-web3swiftExample-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 36BDF644967752D2BA93E9782E7CA411 /* Headers */ = { + 52C34075DAB19ED44ACB50B0711DE98E /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 02CCD0123FF7A3ACB4A0E42DCC5CE64F /* BigInt-umbrella.h in Headers */, + 1827A2E7503354E5079D35079745DE19 /* CryptoSwift-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 40B19E1F3F1B8CF3B44E95995B9A1711 /* Headers */ = { + 6F71C6D55A9BEC0CE7216BC963319251 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - DB6D332339076837BF529F161695300E /* CryptoSwift-umbrella.h in Headers */, + A92458877FCA59086F67BB51DDC41CAB /* AnyPromise.h in Headers */, + 22DCAC3A73E88CA5628BC1FEB5DBA99F /* fwd.h in Headers */, + 35923DB1A6781812B8913ECD0416D749 /* NSNotificationCenter+AnyPromise.h in Headers */, + 0F122728D41D7ACC67337E2E602B04A9 /* NSTask+AnyPromise.h in Headers */, + 847F825E0F00B1476A42EC1A2914DA3B /* NSURLSession+AnyPromise.h in Headers */, + A30DC6AF6EF10EB0690299A4867C9B84 /* PMKFoundation.h in Headers */, + 56FEEE8BC37939684F8887F96C6EFE1E /* PMKUIKit.h in Headers */, + ED87753A5604561B7D2436DE33925A7C /* PromiseKit-umbrella.h in Headers */, + 9C41B74A57AA5CFF765F024109AC0578 /* PromiseKit.h in Headers */, + B8A496A3D5363FF8EF9121E53AD89050 /* UIView+AnyPromise.h in Headers */, + DDB1738B9B50E6F1120181DE827F7A91 /* UIViewController+AnyPromise.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 47D4BB29B406891C2706A80B1FC25B61 /* Headers */ = { + D97844B1DEDE16B186EE602B8171F0CD /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 62AB1143A260C92031A2BDA46B43A317 /* Result-umbrella.h in Headers */, + 9FD060EF8DF515DA0B961EEFA266D545 /* BigInt-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5EACE4F098F6A2C0D25D3FC17BB2000F /* Headers */ = { + DB07A1DD46275B0EBDC17F26454350D7 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 59E39ABE1E262D82F21AB859BAA0252B /* Pods-web3swiftExample-umbrella.h in Headers */, + DE36A3AB6FC0CB1BB0454F548068AF89 /* scrypt-umbrella.h in Headers */, + 8573AF1939D602ADE9AC58E01AD361EE /* scrypt.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8738CFADC53B046DCE9C8E96C203BC52 /* Headers */ = { + E48F92574331C298E9A411300A4C8866 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 4FF08A981BC45F80F749B3B61F57F48A /* web3swift-Bridging-Header.h in Headers */, - 34412A2B372C4B46E37201E2E9DB0048 /* web3swift-umbrella.h in Headers */, - 993523EB326D12F27CA076957296D7EC /* web3swift.h in Headers */, + 3401E200180CF3B6563B96FEAF55CA94 /* Result-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8B9262F43550559FA35B520E39F64DEB /* Headers */ = { + EB79ED98B75A5B0283699BCF857B3EEC /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 973835E7143B221B1963413928B2D5A4 /* SipHash-umbrella.h in Headers */, + A5CE80C2CF454667ADBEFFF8D35EC95B /* SipHash-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - E2C9C33E43F48026AC9839CFC360FEF5 /* Headers */ = { + FBA602E8EEE4C842340E51E8C5014BAC /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 5563BD4C5797B7CFB1661E0270BEC931 /* scrypt-umbrella.h in Headers */, - 5FEC7B656ADC638E54103241C6C7EA8C /* scrypt.h in Headers */, + E0A8CB42FD278D108E4A708AC52D84C3 /* web3swift-Bridging-Header.h in Headers */, + 2FDA0E6E5364186683841D4CB7F2AA96 /* web3swift-umbrella.h in Headers */, + 83DE107ED68E9FFA4B62A5A12B99223B /* web3swift.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - FC71CAEAF6AFD0C8BD700C10D644FCA9 /* Headers */ = { + FE3CD8B6EFC826ACACF93012F3F3DB7F /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - D3D29344FDB7450A4C53B18EAB183EFB /* AnyPromise.h in Headers */, - CAA45BA0541A7F4A2D854952CDA92758 /* fwd.h in Headers */, - B23D8193C1A9CD528235AC938F3DE779 /* NSNotificationCenter+AnyPromise.h in Headers */, - 809A3965A2E9593BCE26CAC23D39C83C /* NSTask+AnyPromise.h in Headers */, - 6AC28C41444CFF537AC1A94D82E6CE30 /* NSURLSession+AnyPromise.h in Headers */, - 3D75BBCDE541EBCD957E5A88F27E3759 /* PMKFoundation.h in Headers */, - FDE5A7E63389DB9715C4C23D4ADA7C0D /* PMKUIKit.h in Headers */, - 1B25B3292EA947EDD7BB8BBFD557CB53 /* PromiseKit-umbrella.h in Headers */, - 99A160ADF20348295DE343E7BE6969E7 /* PromiseKit.h in Headers */, - D067A5252ECCBB152D142B02C6A48497 /* UIView+AnyPromise.h in Headers */, - D6F5C3DB51F463EBC05A47E34AED52C2 /* UIViewController+AnyPromise.h in Headers */, + 6D8404384D6E70502A028E0A183163BB /* basic-config.h in Headers */, + 0E4E5A6466DC27E019E10B79F0AB77EA /* ecdsa.h in Headers */, + FC1F07D24FAAD244DFC4B45090EE5950 /* ecdsa_impl.h in Headers */, + 7206709B12948E39A73C1443F4476FE4 /* eckey.h in Headers */, + 2DD6BC67B196FDEB6520629498A29D83 /* eckey_impl.h in Headers */, + BD25CB4CFA3B80A28358767263C8EC4F /* ecmult.h in Headers */, + 40FCE77060A9F031CFDE7A39DB8BE346 /* ecmult_const.h in Headers */, + 875C13093A167B1933DD251F3F1A84D1 /* ecmult_const_impl.h in Headers */, + 193BCB45EB2F96FFD27337F8D2D9603F /* ecmult_gen.h in Headers */, + CED84B344142DF490AF0D18D8E9479DF /* ecmult_gen_impl.h in Headers */, + 1876693CC43D85F269BADE3E768EDA7D /* ecmult_impl.h in Headers */, + C688F5C8C2D7B7BEAE10B658160B336D /* field.h in Headers */, + 6AF78554F313E5317E4F904D7B8D56A2 /* field_10x26.h in Headers */, + BBA227B2DA3FCD94E3C3869334FDDE64 /* field_10x26_impl.h in Headers */, + 13BB14D730491354406F32259BFA9257 /* field_5x52.h in Headers */, + 7E85ACD04ADFC992156F52FBE1BFE20A /* field_5x52_asm_impl.h in Headers */, + 185B22077187E274AD1554F64AEDCD02 /* field_5x52_impl.h in Headers */, + A5DAA10D56BDF5F37BF37565DECAA21B /* field_5x52_int128_impl.h in Headers */, + 4BEC002E24F5AD2E72EE77A41D06AA1D /* field_impl.h in Headers */, + 7FEA191A8B72A225854E8C1E418CF7B1 /* group.h in Headers */, + 6367286AA49B412B8FA5D9E60AC57942 /* group_impl.h in Headers */, + 175846F537D8B12473C9BD1BC7664B16 /* hash.h in Headers */, + 8FB3313F35F24D37534650188E353A5A /* hash_impl.h in Headers */, + 0C3AE310B1F97E722879135D91FC439B /* lax_der_parsing.h in Headers */, + D65BBA0A22D0D76A1CD79598C618D55E /* lax_der_privatekey_parsing.h in Headers */, + FD0D4090ED18D30D6B23CFD9926574F8 /* libsecp256k1-config.h in Headers */, + 4A5593F6C0B13BB81EAD2D062E38E21A /* main_impl.h in Headers */, + E00C3E6F15B657031D180E254291281E /* main_impl.h in Headers */, + 924E737605ABB2921B3F48BFD380944B /* num.h in Headers */, + ADDCFDBB0901A879A2803A20BDFF5CF3 /* num_gmp.h in Headers */, + FED52EE758698BB66DDCCC50D40D2E97 /* num_gmp_impl.h in Headers */, + 3E3087E0AF2608D58EFD71B57D6FF5D5 /* num_impl.h in Headers */, + 2C9C89045C33D64985BF4225219BD28A /* scalar.h in Headers */, + 7FADDF54E465F347CF0C611B940B56E2 /* scalar_4x64.h in Headers */, + 68FCBCF149554A07A481E77E101529A0 /* scalar_4x64_impl.h in Headers */, + 5111E29F246083C72BED5DCB4AB23339 /* scalar_8x32.h in Headers */, + 85973E99277A40CB09CD12CDB7F66743 /* scalar_8x32_impl.h in Headers */, + 0342898ED680F5682ED857AD2025247D /* scalar_impl.h in Headers */, + 849B9967D22A26A74AD8C73FB1648F23 /* scalar_low.h in Headers */, + 4713F0A481C5F6ACE1E7F285B4FA5FEE /* scalar_low_impl.h in Headers */, + 2A1C4A8A8BA9576AE5DF448DB426C023 /* scratch.h in Headers */, + 80FFFE82E8A8DE6ED294DECE0DDE1908 /* scratch_impl.h in Headers */, + C9BA69738F1D82501188F3E78B25FDE2 /* secp256k1.h in Headers */, + 779F797D02BC03B4AC8C9BA2F32EDD86 /* secp256k1_ecdh.h in Headers */, + 84A96034B669A157EFCB701B8F7F635F /* secp256k1_ios-umbrella.h in Headers */, + 661C802B489BBD3DFD82BFD64B22436D /* secp256k1_ios.h in Headers */, + DA60C0DBB660F185C28AB5427B4EFA7D /* secp256k1_recovery.h in Headers */, + 2EB9A7BDFE7194105B1D955541456E8E /* util.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 0A08C496E950E96AB09A23744F3C082E /* Pods-web3swiftExample */ = { + 0E877A906EE881D9A703E2CEB69B27B0 /* scrypt */ = { isa = PBXNativeTarget; - buildConfigurationList = B25AC1C31D061882155E16B2A579B3E4 /* Build configuration list for PBXNativeTarget "Pods-web3swiftExample" */; + buildConfigurationList = 4E0232B8BAE447830A17E134BCD5FC4E /* Build configuration list for PBXNativeTarget "scrypt" */; buildPhases = ( - A5DA2226091709FBAA9E7C00FE849D3B /* Sources */, - BA9D302E84C74045A19D2F197478FE64 /* Frameworks */, - 5EACE4F098F6A2C0D25D3FC17BB2000F /* Headers */, + DB07A1DD46275B0EBDC17F26454350D7 /* Headers */, + 33E275AFBDBDA0AAFDF1F42911F4E4A5 /* Sources */, + 074822914DA50BC43B6AB0802CD935A2 /* Frameworks */, + EBF754F6CDE2179EC6ACADCF7648ACA7 /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( - A054D0D393F7402DAC86BBBB70D84899 /* PBXTargetDependency */, - 0465644DC2AEBE1ABBF8FB1B0B1D41A2 /* PBXTargetDependency */, - 43E614385A8557DFB8BF9FAA55D0DF24 /* PBXTargetDependency */, - 662D3AD29D481E615ED723D3A06C059C /* PBXTargetDependency */, - E748055BA2211356B1160E3F5423F5EC /* PBXTargetDependency */, - 1BA09AA5C2BB3035C61D53AF174D17C7 /* PBXTargetDependency */, - 1756DA2A0929883155F82EDEE78DBB00 /* PBXTargetDependency */, - 273C2608422A04D9E44B422947092A4A /* PBXTargetDependency */, + 4BC8665C320BCB284F1AB9E0F52EEF22 /* PBXTargetDependency */, ); - name = "Pods-web3swiftExample"; - productName = "Pods-web3swiftExample"; - productReference = 17B0A033B10B035FFCCA80D2BE4C4839 /* libPods-web3swiftExample.a */; + name = scrypt; + productName = scrypt; + productReference = FDA88052388E64B0D79D3B4902DD4F7A /* libscrypt.a */; productType = "com.apple.product-type.library.static"; }; - 0CDCD15B895E5E3C642256B9466BAF51 /* secp256k1_ios */ = { + 23A9C77578E46AEB069BEF36B9B5ADA6 /* BigInt */ = { isa = PBXNativeTarget; - buildConfigurationList = 5AC9B27B568F66FE744FE66340253607 /* Build configuration list for PBXNativeTarget "secp256k1_ios" */; + buildConfigurationList = C2F0F5224D2CB877BA3BE60F8BC9AF96 /* Build configuration list for PBXNativeTarget "BigInt" */; buildPhases = ( - 96290FE231FC3A051106FD23E60489E3 /* Sources */, - 8CDDE45391457DD173AF5335076460AF /* Frameworks */, - 35F9FE8309F1E63F763141F0B0039EC8 /* Headers */, + D97844B1DEDE16B186EE602B8171F0CD /* Headers */, + E2D6BCD5E5A99E5CAB3F3FBB1D6EC36E /* Sources */, + 21FA9C90304F8596C9EE0647F7C9E1EE /* Frameworks */, + A3482DBFA9CE4039AA1605DA46D15EAB /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( + 2602660D03EAE2BE41324DCD70D6B7C9 /* PBXTargetDependency */, ); - name = secp256k1_ios; - productName = secp256k1_ios; - productReference = 54A9032553D1C61F8E0154E2C0D53FD2 /* libsecp256k1_ios.a */; + name = BigInt; + productName = BigInt; + productReference = 11C3B3B474849C50B68C60D72D2A7ED4 /* libBigInt.a */; productType = "com.apple.product-type.library.static"; }; - 3A129877346434719FFE6B01BCA2513B /* SipHash */ = { + 60BF36463B9896F856D87DA4DE89FBB9 /* secp256k1_ios */ = { isa = PBXNativeTarget; - buildConfigurationList = 3818346D5343954B4E597C23EED3945D /* Build configuration list for PBXNativeTarget "SipHash" */; + buildConfigurationList = F03D2FCD8A4F5A2AA17A4CE1442CBB2E /* Build configuration list for PBXNativeTarget "secp256k1_ios" */; buildPhases = ( - 6F54F54F4BC48AED34E1E993F600BF51 /* Sources */, - BBA41508228DD970799D14EDC888D457 /* Frameworks */, - 8B9262F43550559FA35B520E39F64DEB /* Headers */, - D222B151AB4DFE2D61AA6FBE0240B2C3 /* Copy generated compatibility header */, + FE3CD8B6EFC826ACACF93012F3F3DB7F /* Headers */, + D0AC93315DC7E224CAFDF4FDBCD3DB40 /* Sources */, + 0537F34931CD1EAF1B45F6B72325E869 /* Frameworks */, ); buildRules = ( ); dependencies = ( ); - name = SipHash; - productName = SipHash; - productReference = 8FBB098F98DE89D1DE9C0EDB16C22E15 /* libSipHash.a */; + name = secp256k1_ios; + productName = secp256k1_ios; + productReference = 54A9032553D1C61F8E0154E2C0D53FD2 /* libsecp256k1_ios.a */; productType = "com.apple.product-type.library.static"; }; - 691E5BFE487640DE1E2DD74E28EBE528 /* Result */ = { + 9BA501B73C50D92DA96F15F9A57236B4 /* Pods-web3swiftExample */ = { isa = PBXNativeTarget; - buildConfigurationList = 8EEFC91FF7E8635717F5FB26E8649000 /* Build configuration list for PBXNativeTarget "Result" */; + buildConfigurationList = 4E4F824E27325209F56A4EC7858E6091 /* Build configuration list for PBXNativeTarget "Pods-web3swiftExample" */; buildPhases = ( - 74858447C62218CBBC185F23A71426F4 /* Sources */, - D940039687CE98B626EEFD9F33FB2FF9 /* Frameworks */, - 47D4BB29B406891C2706A80B1FC25B61 /* Headers */, - 0B87D405D96095455F79F567B9475972 /* Copy generated compatibility header */, + 4950E5373AD51C9D8BC9C6D99E3169ED /* Headers */, + 1BF933BE2E3DCACA2BC8EF8D8D3B9A58 /* Sources */, + 90440DC7AC48BE32148838250163B5C1 /* Frameworks */, ); buildRules = ( ); dependencies = ( + 0A8C82D239CBDF1B011E11B329EA616A /* PBXTargetDependency */, + 9235C791AF1571AD8742EA4B298E89C5 /* PBXTargetDependency */, + 64DA449404BAFB38711865F0C1D0C3ED /* PBXTargetDependency */, + 4A7B421C839A9B98B687CAA8B6917FF0 /* PBXTargetDependency */, + 8FD5D15A53AB1364D3C37E633E297FD9 /* PBXTargetDependency */, + A3C90A98231D5DDB2A79AFA9C07695B8 /* PBXTargetDependency */, + 4F4E9B99540CA6BFAFEF683BB7AFA0D3 /* PBXTargetDependency */, + D5D89B0A0375005F9DC439BA79768218 /* PBXTargetDependency */, ); - name = Result; - productName = Result; - productReference = 4C5AB9A84E399C3C8F2ED978C0B4DD46 /* libResult.a */; + name = "Pods-web3swiftExample"; + productName = "Pods-web3swiftExample"; + productReference = 17B0A033B10B035FFCCA80D2BE4C4839 /* libPods-web3swiftExample.a */; productType = "com.apple.product-type.library.static"; }; - 716435BD4A1FEB954EBD1C25D7EC0BB6 /* BigInt */ = { + C36167279A3ACEC5E09E05AC17E973AB /* PromiseKit */ = { isa = PBXNativeTarget; - buildConfigurationList = 9443A20B2E1249352E90CACAC25A10F9 /* Build configuration list for PBXNativeTarget "BigInt" */; + buildConfigurationList = 57A8C2137268F228E4AE6A14F1B64A8F /* Build configuration list for PBXNativeTarget "PromiseKit" */; buildPhases = ( - BB23C35D1C8CF70B14021B6B4DB4417C /* Sources */, - 753CB2AB9003C32D5B710D627DD9752D /* Frameworks */, - 36BDF644967752D2BA93E9782E7CA411 /* Headers */, - 1D703CF6DC59EFB868ADE2E528EBED2E /* Copy generated compatibility header */, + 6F71C6D55A9BEC0CE7216BC963319251 /* Headers */, + 552DE267AA2D2460F5728C085566B604 /* Sources */, + 18C5ABD1C406C832B0DD15AA82CC41C4 /* Frameworks */, + 29D34ADAF501515AA186182B5263DF54 /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( - FED36EEEE3EDD72CB4BFE445A2DED504 /* PBXTargetDependency */, ); - name = BigInt; - productName = BigInt; - productReference = 11C3B3B474849C50B68C60D72D2A7ED4 /* libBigInt.a */; + name = PromiseKit; + productName = PromiseKit; + productReference = 7D734165233A268ADD9C2C4EC0FBCB2D /* libPromiseKit.a */; productType = "com.apple.product-type.library.static"; }; - 9E0FC65126A61EC4E4C869BA932807E4 /* PromiseKit */ = { + C7F768100F7D32B078FA6D19893B5741 /* Result */ = { isa = PBXNativeTarget; - buildConfigurationList = 7F6E416CE690738F5CF300086B702BE2 /* Build configuration list for PBXNativeTarget "PromiseKit" */; + buildConfigurationList = DF9E202F8E4A79152D39EF70F774415F /* Build configuration list for PBXNativeTarget "Result" */; buildPhases = ( - 212F35BA14939B04B98DAC91584E21BF /* Sources */, - B63483B215488C44FE00081829DAE8E4 /* Frameworks */, - FC71CAEAF6AFD0C8BD700C10D644FCA9 /* Headers */, - D4CE61429145E429CC4B3DACDAB9520B /* Copy generated compatibility header */, + E48F92574331C298E9A411300A4C8866 /* Headers */, + 09037262A0E37EFB8B826CDC57F5B914 /* Sources */, + A7F757D73E3A0EC9C2E23F63AE6289BE /* Frameworks */, + 65B08350FB8CB8E67708C48B13D9D59B /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( ); - name = PromiseKit; - productName = PromiseKit; - productReference = 7D734165233A268ADD9C2C4EC0FBCB2D /* libPromiseKit.a */; + name = Result; + productName = Result; + productReference = 4C5AB9A84E399C3C8F2ED978C0B4DD46 /* libResult.a */; productType = "com.apple.product-type.library.static"; }; - C313269A2B1C23544DE089CFAA786C33 /* CryptoSwift */ = { + D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */ = { isa = PBXNativeTarget; - buildConfigurationList = 735BEA0CBE887CE8804BF5009FF6639E /* Build configuration list for PBXNativeTarget "CryptoSwift" */; + buildConfigurationList = 8FBF93FB50500F9A39127B851D0248BE /* Build configuration list for PBXNativeTarget "CryptoSwift" */; buildPhases = ( - FAC6AF6E8005F5C4CF5E7ECAA539CF2D /* Sources */, - E8BEAA12D8403A53C88C590AACC93D0F /* Frameworks */, - 40B19E1F3F1B8CF3B44E95995B9A1711 /* Headers */, - 84A2240FFFAEB6CCCE5941CB202A303F /* Copy generated compatibility header */, + 52C34075DAB19ED44ACB50B0711DE98E /* Headers */, + 7845B68B8E520FB143745DE94DEF574C /* Sources */, + 841B7B892F8C57CBEF5FB03AC753C3AB /* Frameworks */, + A71224FCAB2F1A69BDDB38161270471D /* Copy generated compatibility header */, ); buildRules = ( ); @@ -1732,48 +1686,46 @@ productReference = 1827336AF5F51D580426EC596EF7357E /* libCryptoSwift.a */; productType = "com.apple.product-type.library.static"; }; - EDCC3A3E8A567995312D9F435A5A88EC /* scrypt */ = { + D93CC8797FA6642C382C93BBA9AE8B0D /* web3swift */ = { isa = PBXNativeTarget; - buildConfigurationList = 40D8E8F189B02991201B925FC09EF694 /* Build configuration list for PBXNativeTarget "scrypt" */; + buildConfigurationList = 5479530AA132063FEE7E1514B16AF961 /* Build configuration list for PBXNativeTarget "web3swift" */; buildPhases = ( - 1FD88B4E4B6ED336DEFB1C8381C4C339 /* Sources */, - D4CBD5945C478754DA1A271A51936CE3 /* Frameworks */, - E2C9C33E43F48026AC9839CFC360FEF5 /* Headers */, - AE64B21781CA89A7E50F3D70A7870BE1 /* Copy generated compatibility header */, + FBA602E8EEE4C842340E51E8C5014BAC /* Headers */, + 75CF15D54090EDCFDF8B670A39424F28 /* Sources */, + 76402B5CC42ABD207A9C81A6A4712B42 /* Frameworks */, + 21CB88C1803158D8E98C78F99A3D1CD5 /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( - D80B8C9CAC5A4EF01AB3734E4FA514CF /* PBXTargetDependency */, + E92C0852F7CA81FC3C083C6A05797271 /* PBXTargetDependency */, + 469BA73D7FD92EEC96D218C7F3F3196F /* PBXTargetDependency */, + 3F569904A0954E065753A145676105A7 /* PBXTargetDependency */, + 0B6AA6919B8A7CB6BC051AF90DF91D0D /* PBXTargetDependency */, + D0835B4CA84CEE3755B21228D6CA6FFC /* PBXTargetDependency */, + BC80BF207538A95305A7D118B9B7C215 /* PBXTargetDependency */, ); - name = scrypt; - productName = scrypt; - productReference = FDA88052388E64B0D79D3B4902DD4F7A /* libscrypt.a */; + name = web3swift; + productName = web3swift; + productReference = 25A7B1871BF03428A855BE688D20521E /* libweb3swift.a */; productType = "com.apple.product-type.library.static"; }; - F61D23C9CB20E66E4ACFBAB69D99879A /* web3swift */ = { + EA114BE2D9D1BCDA6E1013C3301492A8 /* SipHash */ = { isa = PBXNativeTarget; - buildConfigurationList = 60B2FB44801DB1760F455FE3C6317A14 /* Build configuration list for PBXNativeTarget "web3swift" */; + buildConfigurationList = F3F633396C389256F8850D996A26B1BB /* Build configuration list for PBXNativeTarget "SipHash" */; buildPhases = ( - 2C8CE9CE7C214DAF4A12F761DCDE5FD2 /* Sources */, - B8BD56316C697D9C72E79DD24CD78057 /* Frameworks */, - 8738CFADC53B046DCE9C8E96C203BC52 /* Headers */, - 8B254761E243265EBC4B2E4753EE7851 /* Copy generated compatibility header */, + EB79ED98B75A5B0283699BCF857B3EEC /* Headers */, + 11E5015995179759F0C316DF1D3E75E0 /* Sources */, + 325A85FC0CD5BCF38ADE42EE7531C2A2 /* Frameworks */, + AC3A522E24D3A9502F059B0483E9FDB6 /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( - 96713201020D11B4F462679823BE0999 /* PBXTargetDependency */, - CEC8AEFC24A2A583B9A0F19190820F55 /* PBXTargetDependency */, - 48DD0041B86E1DA2270D12909EA76561 /* PBXTargetDependency */, - B0DF197C71A0796DB079A628F0C6E87B /* PBXTargetDependency */, - B76C549F1077A249A793E83C3FD52965 /* PBXTargetDependency */, - 75339B3658463D5928A20C9412070E92 /* PBXTargetDependency */, - F9B3E04E287071C52A7FECF3015FEC8C /* PBXTargetDependency */, ); - name = web3swift; - productName = web3swift; - productReference = 25A7B1871BF03428A855BE688D20521E /* libweb3swift.a */; + name = SipHash; + productName = SipHash; + productReference = 8FBB098F98DE89D1DE9C0EDB16C22E15 /* libSipHash.a */; productType = "com.apple.product-type.library.static"; }; /* End PBXNativeTarget section */ @@ -1797,136 +1749,160 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 716435BD4A1FEB954EBD1C25D7EC0BB6 /* BigInt */, - C313269A2B1C23544DE089CFAA786C33 /* CryptoSwift */, - 0A08C496E950E96AB09A23744F3C082E /* Pods-web3swiftExample */, - 9E0FC65126A61EC4E4C869BA932807E4 /* PromiseKit */, - 691E5BFE487640DE1E2DD74E28EBE528 /* Result */, - EDCC3A3E8A567995312D9F435A5A88EC /* scrypt */, - 0CDCD15B895E5E3C642256B9466BAF51 /* secp256k1_ios */, - 3A129877346434719FFE6B01BCA2513B /* SipHash */, - F61D23C9CB20E66E4ACFBAB69D99879A /* web3swift */, + 23A9C77578E46AEB069BEF36B9B5ADA6 /* BigInt */, + D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */, + 9BA501B73C50D92DA96F15F9A57236B4 /* Pods-web3swiftExample */, + C36167279A3ACEC5E09E05AC17E973AB /* PromiseKit */, + C7F768100F7D32B078FA6D19893B5741 /* Result */, + 0E877A906EE881D9A703E2CEB69B27B0 /* scrypt */, + 60BF36463B9896F856D87DA4DE89FBB9 /* secp256k1_ios */, + EA114BE2D9D1BCDA6E1013C3301492A8 /* SipHash */, + D93CC8797FA6642C382C93BBA9AE8B0D /* web3swift */, ); }; /* End PBXProject section */ /* Begin PBXShellScriptBuildPhase section */ - 0B87D405D96095455F79F567B9475972 /* Copy generated compatibility header */ = { + 21CB88C1803158D8E98C78F99A3D1CD5 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/Result/Result.modulemap", - "${PODS_ROOT}/Headers/Public/Result/Result-umbrella.h", + "${PODS_ROOT}/Headers/Public/web3swift/web3swift.modulemap", + "${PODS_ROOT}/Headers/Public/web3swift/web3swift-umbrella.h", ); name = "Copy generated compatibility header"; + outputFileListPaths = ( + ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/Result-umbrella.h", + "${BUILT_PRODUCTS_DIR}/web3swift-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/web3swift/web3swift.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/web3swift/web3swift-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - 1D703CF6DC59EFB868ADE2E528EBED2E /* Copy generated compatibility header */ = { + 29D34ADAF501515AA186182B5263DF54 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/BigInt/BigInt.modulemap", - "${PODS_ROOT}/Headers/Public/BigInt/BigInt-umbrella.h", + "${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.modulemap", + "${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit-umbrella.h", ); name = "Copy generated compatibility header"; + outputFileListPaths = ( + ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/BigInt-umbrella.h", + "${BUILT_PRODUCTS_DIR}/PromiseKit-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - 84A2240FFFAEB6CCCE5941CB202A303F /* Copy generated compatibility header */ = { + 65B08350FB8CB8E67708C48B13D9D59B /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift.modulemap", - "${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h", + "${PODS_ROOT}/Headers/Public/Result/Result.modulemap", + "${PODS_ROOT}/Headers/Public/Result/Result-umbrella.h", ); name = "Copy generated compatibility header"; + outputFileListPaths = ( + ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/CryptoSwift-umbrella.h", + "${BUILT_PRODUCTS_DIR}/Result-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - 8B254761E243265EBC4B2E4753EE7851 /* Copy generated compatibility header */ = { + A3482DBFA9CE4039AA1605DA46D15EAB /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/web3swift/web3swift.modulemap", - "${PODS_ROOT}/Headers/Public/web3swift/web3swift-umbrella.h", + "${PODS_ROOT}/Headers/Public/BigInt/BigInt.modulemap", + "${PODS_ROOT}/Headers/Public/BigInt/BigInt-umbrella.h", ); name = "Copy generated compatibility header"; + outputFileListPaths = ( + ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/web3swift-umbrella.h", + "${BUILT_PRODUCTS_DIR}/BigInt-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/web3swift/web3swift.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/web3swift/web3swift-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - AE64B21781CA89A7E50F3D70A7870BE1 /* Copy generated compatibility header */ = { + A71224FCAB2F1A69BDDB38161270471D /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/scrypt/scrypt.modulemap", - "${PODS_ROOT}/Headers/Public/scrypt/scrypt-umbrella.h", + "${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift.modulemap", + "${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h", ); name = "Copy generated compatibility header"; + outputFileListPaths = ( + ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/scrypt-umbrella.h", + "${BUILT_PRODUCTS_DIR}/CryptoSwift-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - D222B151AB4DFE2D61AA6FBE0240B2C3 /* Copy generated compatibility header */ = { + AC3A522E24D3A9502F059B0483E9FDB6 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", "${PODS_ROOT}/Headers/Public/SipHash/SipHash.modulemap", "${PODS_ROOT}/Headers/Public/SipHash/SipHash-umbrella.h", ); name = "Copy generated compatibility header"; + outputFileListPaths = ( + ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", "${BUILT_PRODUCTS_DIR}/SipHash-umbrella.h", @@ -1937,445 +1913,444 @@ shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SipHash/SipHash.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SipHash/SipHash-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - D4CE61429145E429CC4B3DACDAB9520B /* Copy generated compatibility header */ = { + EBF754F6CDE2179EC6ACADCF7648ACA7 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.modulemap", - "${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit-umbrella.h", + "${PODS_ROOT}/Headers/Public/scrypt/scrypt.modulemap", + "${PODS_ROOT}/Headers/Public/scrypt/scrypt-umbrella.h", ); name = "Copy generated compatibility header"; + outputFileListPaths = ( + ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/PromiseKit-umbrella.h", + "${BUILT_PRODUCTS_DIR}/scrypt-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 1FD88B4E4B6ED336DEFB1C8381C4C339 /* Sources */ = { + 09037262A0E37EFB8B826CDC57F5B914 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6CEA49D30549F21750F502823DAA158C /* BufferStorage.swift in Sources */, - 31580A5F9F52127289617022E521EA76 /* Salsa.swift in Sources */, - 99F2F006365C8153B433B0D6519E60CB /* scrypt-dummy.m in Sources */, - 897E29344596CED94C8C73BED4A11573 /* Scrypt.swift in Sources */, + 03C3AFC1A73CC721DFC025DA0492B8F7 /* AnyError.swift in Sources */, + 328764F572D114FE4FD89859EA7D0C82 /* NoError.swift in Sources */, + 5E249F6FB23CCC4985EFB3FDCADE487B /* Result-dummy.m in Sources */, + C8B2BE26A0484B6A1523D9E2B3818EDC /* Result.swift in Sources */, + 06346EDCC1E2F52FE78341A96C1C2E80 /* ResultProtocol.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 212F35BA14939B04B98DAC91584E21BF /* Sources */ = { + 11E5015995179759F0C316DF1D3E75E0 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - FFA857880C4A489DFA18FCB33A90E834 /* after.m in Sources */, - 455022BD6C131F380ADC838E416869AE /* after.swift in Sources */, - 50322A8A7E46ED66E0C1CAF9F7F2162C /* afterlife.swift in Sources */, - C2A31DC9B5491A34D20260BE0FB5431A /* AnyPromise.m in Sources */, - 03099199C661C6C02EC9030BE7C0F140 /* AnyPromise.swift in Sources */, - E5E7C8C8BFE08BAC8BE1D48BF4E4EEC6 /* Box.swift in Sources */, - 066A53F312CC5FC28183A28210B8F581 /* Catchable.swift in Sources */, - 4A8378B2DB22C72EE7097963957E4975 /* Configuration.swift in Sources */, - 6A19EFEE2A0EA24330B43B9EB40ED57F /* CustomStringConvertible.swift in Sources */, - 73102333360230E5C8A9291A0E823E2B /* Deprecations.swift in Sources */, - 20184706B98B5BA901297119DAD31FE0 /* dispatch_promise.m in Sources */, - 812FFF9974631FD48A86B071AAAD70C7 /* Error.swift in Sources */, - CC1931CF82E7096A93F71FAC15A2368C /* firstly.swift in Sources */, - BC73142D48CCD117C6F4B7AFAA254F0D /* Guarantee.swift in Sources */, - B5063849D8178D48CFE6BFF1B8B9B1F1 /* hang.m in Sources */, - B0424CD39C7CF9838EE85449AA0CDC11 /* hang.swift in Sources */, - 0A5A7ABD361C4BFCF21D78ABF06C0FAA /* join.m in Sources */, - C2ECA5F3DF56072B8FA9BEC7543D0DDA /* NSNotificationCenter+AnyPromise.m in Sources */, - 55269F22EFD97643EE271CFCFE8E8290 /* NSNotificationCenter+Promise.swift in Sources */, - C500D01C45D029E9E85D29383043CC72 /* NSObject+Promise.swift in Sources */, - 59ED8A2C470C704D06EBD04FA08DC8CD /* NSTask+AnyPromise.m in Sources */, - 5EB1E58D38587644D3316C80683FF2E7 /* NSURLSession+AnyPromise.m in Sources */, - 26E19E8B2BC8C63262E05D47D42801AE /* NSURLSession+Promise.swift in Sources */, - 2F1FCB4EAD4702FFE60ECDB007015833 /* Process+Promise.swift in Sources */, - 389B1B7CAE05D1212618C8FEA00B8559 /* Promise.swift in Sources */, - B0888E2B0EAA782E80DC68316842968F /* PromiseKit-dummy.m in Sources */, - 415244A9CA0ABFDAFE8F9AE2885A27D9 /* race.m in Sources */, - C98B6055A3509C2A51349554D6AB446D /* race.swift in Sources */, - C31A5F32FE61914B45BEC06BAAEFE033 /* Resolver.swift in Sources */, - D09091B94532C278BCF3C3379CB58848 /* Thenable.swift in Sources */, - BAA0C902ABB98915B52D6F5310E8E4EF /* UIView+AnyPromise.m in Sources */, - 74D3C9CDD4497710D136EF41E2D7940A /* UIView+Promise.swift in Sources */, - 4E581DAE61FBDA958EC801E7AB4D50A1 /* UIViewController+AnyPromise.m in Sources */, - 83DCB51AC89FDB9A5EFCA77F42E2BD64 /* UIViewPropertyAnimator+Promise.swift in Sources */, - DD4F0B5459AC03D854CF914377FF7AF8 /* when.m in Sources */, - 5C95E757F399AAB9A3A7934C6CB2F8C7 /* when.swift in Sources */, + 4F6ED8ADD7B24315D4F8D18C227D3ACD /* Primitive Types.swift in Sources */, + 04BAB9000ECA1DF9525E0A15D715B307 /* RandomUInt64.swift in Sources */, + AA30153EC052C2F6DC67B9E50E451A6C /* SipHash-dummy.m in Sources */, + 9985C1DF20C3A844133CC24F260232A6 /* SipHashable.swift in Sources */, + DCD11459A6DD0C7757AD81AB42D7ADAC /* SipHasher.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2C8CE9CE7C214DAF4A12F761DCDE5FD2 /* Sources */ = { + 1BF933BE2E3DCACA2BC8EF8D8D3B9A58 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 43787E958BCA388DC0A35719D58AA8C7 /* ABIv2.swift in Sources */, - A09DF175AC968737B7A979CDDCE9B740 /* ABIv2Decoding.swift in Sources */, - 640BB66F12A6D78556068CDF7BE37784 /* ABIv2Elements.swift in Sources */, - 028123624D306D66FE5CCFA650DC451F /* ABIv2Encoding.swift in Sources */, - ABAA5DF8E066AB78312E7B86F2113CAC /* ABIv2ParameterTypes.swift in Sources */, - 9C2C36DFE4B3034B0284D83C2B6D75F0 /* ABIv2Parsing.swift in Sources */, - 9DC16ED0186FB4FAA63F91DF2284F5B4 /* ABIv2TypeParser.swift in Sources */, - 00C254F6A4CC3BE1B686A487FB768C63 /* AbstractKeystore.swift in Sources */, - 517877F9B6573EA88198DCE60D14529E /* Array+Extension.swift in Sources */, - F47B31DCAF2F279AEB5BE848B666E7C2 /* Base58.swift in Sources */, - 6DBA91E98EA3741594A1235DC7620207 /* BigUInt+ObjC.swift in Sources */, - 1639CA53F0D4BC32928CCFA4254AD9B7 /* BIP32HDNode.swift in Sources */, - 791475EA185803133514B38B3FAE5419 /* BIP32Keystore.swift in Sources */, - 8D4303A4D5211E6AE958C8457C8685F0 /* BIP32KeystoreJSONStructure.swift in Sources */, - 45E7587AF987436DCE0EA5F264221163 /* BIP39+WordLists.swift in Sources */, - 6A5266BC118376146CBF0FBE1D3CD067 /* BIP39.swift in Sources */, - F4EB3BB45A110F376689E772EDAA79E7 /* BlockExplorer+GetTransactionHistory.swift in Sources */, - DEF371792BD7952C8BB9D550D6B87D18 /* BlockExplorer.swift in Sources */, - 1169B3EC51581229EFA1E4C38B501518 /* BloomFilter.swift in Sources */, - A247B3F2DFC919B9040D135679F8F973 /* ComparisonExtensions.swift in Sources */, - 4C691971C96B4DB9C05916B9E6049502 /* ContractABIv2.swift in Sources */, - AB82DB3EFE2358CFBD953CBE5B6A78ED /* ContractProtocol.swift in Sources */, - 42765D981100A8DDF5AB1137C53FA683 /* CryptoExtensions.swift in Sources */, - 6BE8D77D9B1DBA1685D7A66EDD89C5E5 /* Data+Extension.swift in Sources */, - E3D2396BEAF014F7FB436B8E0098DEAF /* Dictionary+Extension.swift in Sources */, - D531C0F4DC34B01BD246C1B1EC5068EA /* EIP67Code.swift in Sources */, - 7C662950E114EDA7DEAF253EE5841534 /* EIP681.swift in Sources */, - F147FF24D349839D4BD32ED93CF288FA /* ENS.swift in Sources */, - 3DF3CFB359275D2F13C0582198384948 /* EthereumAddress+ObjC.swift in Sources */, - 51C9F718376F1C4E6582A410C2E90FCD /* EthereumAddress.swift in Sources */, - E989A6FB1681262A87CCE58E002D09DB /* EthereumFilterEncodingExtensions.swift in Sources */, - 06AED41E6F5C82F9952CA5163D66D6AC /* EthereumKeystoreV3.swift in Sources */, - ECD1A21FE9A1CF6147E947C6243B2656 /* EthereumTransaction.swift in Sources */, - 235629BF70BDCCD843048436ADA7233F /* EventFiltering.swift in Sources */, - C1656619715A02B614AEBA99459F996B /* IBAN.swift in Sources */, - 9203B30DE38793571B0095089A85A6C3 /* KeystoreManager+ObjC.swift in Sources */, - D3F8A6927686E5F587F6C37A8768EC5E /* KeystoreManager.swift in Sources */, - 7BCC4966D8B68BF25D6A6E55D49E278C /* KeystoreV3JSONStructure.swift in Sources */, - 3B32F1B1529E347404566192FBF59B31 /* LibSecp256k1Extension.swift in Sources */, - C8191586FF54E17A336D3D2D137BF524 /* NameHash.swift in Sources */, - AFE6F1DD2568B8E29ABFB63BC2F45386 /* NativeTypesEncoding+Extensions.swift in Sources */, - 4C006DD7D86E3A0D2F9FB5E2AEFD396E /* NSRegularExpressionExtension.swift in Sources */, - E2F9B7B5AD54BCC930605F1E62FC4951 /* PlainKeystore+ObjC.swift in Sources */, - 48DFE885EFB47BA9357E5E14E888211B /* PlainKeystore.swift in Sources */, - 2E464D2901FA5D092017F62136E143C6 /* Promise+Batching.swift in Sources */, - 9D9C558DB69FEB1ED39E011DBC63A76D /* Promise+HttpProvider.swift in Sources */, - 4959715C70113FD032696A21147492E3 /* Promise+Web3+Contract+GetIndexedEvents.swift in Sources */, - E20EA4D94335C9EB5D16C1BBACB1EE8D /* Promise+Web3+Eth+Call.swift in Sources */, - CBF4FBEF42C80D833C3C93460086E4CB /* Promise+Web3+Eth+EstimateGas.swift in Sources */, - 61BE8DC3CCB15BFCC1FEE6F7939661A7 /* Promise+Web3+Eth+GetAccounts.swift in Sources */, - A1B4B5E67C1A85B4EF0764D02000CC36 /* Promise+Web3+Eth+GetBalance.swift in Sources */, - CA3C9E912D97C56C04DEFC16FEE5BD8B /* Promise+Web3+Eth+GetBlockByHash.swift in Sources */, - 086CC60DC623B2A61CF1CA8E230F3249 /* Promise+Web3+Eth+GetBlockByNumber.swift in Sources */, - BC16041490B59CF1918F8A48F6505959 /* Promise+Web3+Eth+GetBlockNumber.swift in Sources */, - A353FCEF28A16EE6DD1E798805A4195D /* Promise+Web3+Eth+GetGasPrice.swift in Sources */, - 18EE1209E6F559738AA62B36075DFB27 /* Promise+Web3+Eth+GetTransactionCount.swift in Sources */, - A13114C8DF64DC969B166D90D90C93D5 /* Promise+Web3+Eth+GetTransactionDetails.swift in Sources */, - 7D185A3BC322B12664AF0CC92971CA64 /* Promise+Web3+Eth+GetTransactionReceipt.swift in Sources */, - 3A3743429F44358D2D9A22A361A578A2 /* Promise+Web3+Eth+SendRawTransaction.swift in Sources */, - 74FA4E3559ADA2E7BB1C9D6E9E8AAF37 /* Promise+Web3+Eth+SendTransaction.swift in Sources */, - 1D2C4897CB73C1E3B64D33E08FDFFF29 /* Promise+Web3+Intermediate+Send.swift in Sources */, - 63C167BD70D688AC5489A06251A6025E /* Promise+Web3+Personal+Sign.swift in Sources */, - F80782A83BE40C1CEA827E6C144009FD /* Promise+Web3+Personal+UnlockAccount.swift in Sources */, - 060BB18747566086B03D2D74247901BA /* RIPEMD160+StackOveflow.swift in Sources */, - 282C8C8F4F37DAC72C13B5C4878305CD /* RLP.swift in Sources */, - C0AFC3711AFA96EFEA49AC3E336E59EC /* String+Extension.swift in Sources */, - F7E3406D1BA7665C27427E1D6CCC9668 /* TransactionSigner.swift in Sources */, - 414CCA7E94F734241C7D0FEC73191B72 /* Web3+BrowserFunctions.swift in Sources */, - 13833EC6433306D6D80859640C813492 /* Web3+Contract.swift in Sources */, - CD2E4A6C7480D47AFA2E27FBA6F538B8 /* Web3+ERC20.swift in Sources */, - 51E590F089649612858EF086B0A70EBD /* Web3+Eth+ObjC.swift in Sources */, - A81872D07159FEA88A0E51882593BB1D /* Web3+Eth.swift in Sources */, - 0E71F81FE762CCF68D1D1568A8BC2A63 /* Web3+EventParser.swift in Sources */, - 242A376408D955350E487D3E2531D329 /* Web3+HttpProvider+ObjC.swift in Sources */, - D95CF1C2FE09EA43DF63C4DD978D9A3C /* Web3+HttpProvider.swift in Sources */, - 0DB8BE3C362FFF9FE17D9E19DD9791E4 /* Web3+Infura.swift in Sources */, - 20DFE4B49EEAE46732BABB51E4556FA0 /* Web3+Instance+ObjC.swift in Sources */, - 41E9ADB001B08B9B3C12A8F954B1380A /* Web3+Instance.swift in Sources */, - EC99D8C4AD4D2730993BE9E75FFBA9C2 /* Web3+JSONRPC.swift in Sources */, - D91CB1FD9B8648ABF4E539F1D026D6F2 /* Web3+Methods.swift in Sources */, - 20ADB6E2D2319C6EBE37DA44F119D530 /* Web3+ObjC.swift in Sources */, - 002F7F8AD99AB16EEFD4D2EC66C5DF42 /* Web3+Options.swift in Sources */, - 9CB55B6F7E057141E3704C800EA13C89 /* Web3+Personal.swift in Sources */, - 1BEC8E33DBDEEC762CD136EBA82BC52D /* Web3+Protocols.swift in Sources */, - C10B358E899775E5A1CA11C725CE93D3 /* Web3+Structures.swift in Sources */, - B19E4CAF3B4FE4212C286D7326949C8F /* Web3+TransactionIntermediate.swift in Sources */, - 4E63355A79E87A47052FF7BE0BDAA343 /* Web3+Utils.swift in Sources */, - 3508DE381A1F7BB7874717DA81D49679 /* Web3+Wallet.swift in Sources */, - 0CACF8A72112BA4AA7033AD079F49437 /* Web3.swift in Sources */, - C4B679ABDA72C47D64527AFBE4C04FEC /* web3swift-dummy.m in Sources */, + ADB06AA1B5A4414AD55E5A2D2653DDA6 /* Pods-web3swiftExample-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6F54F54F4BC48AED34E1E993F600BF51 /* Sources */ = { + 33E275AFBDBDA0AAFDF1F42911F4E4A5 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6971ADB08D769BFBED32F3C60C547AE4 /* Primitive Types.swift in Sources */, - FF5058AB561C8B54477DABC1E2CD5C17 /* RandomUInt64.swift in Sources */, - 9F0E04F678341D3BABD67F41B9F0A784 /* SipHash-dummy.m in Sources */, - A73626E8BF7B64C1605FD9FEEC31911E /* SipHashable.swift in Sources */, - 46C58EC1B780C2200D4E5D919B3C5599 /* SipHasher.swift in Sources */, + 92AF3433DD838ABA99BEBEFDAF5182B8 /* BufferStorage.swift in Sources */, + A9DAD6C60EFAA6AD3077726E8C56ED31 /* Salsa.swift in Sources */, + 390BD2F5D6EE5DC4869B75A58E5A45D9 /* scrypt-dummy.m in Sources */, + D4470C40B8D7625549DDBC8F4D111CD9 /* Scrypt.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 74858447C62218CBBC185F23A71426F4 /* Sources */ = { + 552DE267AA2D2460F5728C085566B604 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 9284881BE476A8120F8BAEDAB18AC9D8 /* AnyError.swift in Sources */, - 126F1C3FBA6323B7AB317E6D896C71EC /* NoError.swift in Sources */, - 116FF0F8BA7104A8EA633D1B0D7B2589 /* Result-dummy.m in Sources */, - 6CAB83600CCF9E95170473F8234921FA /* Result.swift in Sources */, - B02BBC80956D7BDA1F0890275173227A /* ResultProtocol.swift in Sources */, + B248D148FE951A0655197593FABD5BF7 /* after.m in Sources */, + 061CD8DF38E45A06BCA57538669821F8 /* after.swift in Sources */, + 48455593A60C3CA87A214694EF5D1873 /* afterlife.swift in Sources */, + 1B3A7F77E5D5CE5F8E299A6B6FC3239D /* AnyPromise.m in Sources */, + E414C892B9DD5C86CF589F3C119330C3 /* AnyPromise.swift in Sources */, + 58560D5361D4C0DA182EDE13BD4BF20A /* Box.swift in Sources */, + 4D3407C41F4EEB3975ACE1EED0B49A16 /* Catchable.swift in Sources */, + 9C99049FC31F95572D2E8F8D8A159681 /* Configuration.swift in Sources */, + 4C3CAE4E66950002C334290828030002 /* CustomStringConvertible.swift in Sources */, + 3CB94F4227FD789E4DF19BE266778FA8 /* Deprecations.swift in Sources */, + 337A8793B004627DE63C9C9F3718957B /* dispatch_promise.m in Sources */, + 49DD2B0B8B0B0E37B1823A8AA30CD26D /* Error.swift in Sources */, + CF2D9BDBC33A9414DDEBF3BA43546D67 /* firstly.swift in Sources */, + 403488C6FD6D81EC1837EB3785B143A7 /* Guarantee.swift in Sources */, + F655EFB3487D02AF6B56FD352C326EF5 /* hang.m in Sources */, + A8FFEB53432DC4F2885A8CD8E1E9870E /* hang.swift in Sources */, + 4144EBF3173A41E918C16A79249458E3 /* join.m in Sources */, + 3B670C333D1FA4301955FC92E0ADE64A /* NSNotificationCenter+AnyPromise.m in Sources */, + 916D4FB604792532AFA1C162DECB998D /* NSNotificationCenter+Promise.swift in Sources */, + 1802CDD64DFC896D6C4107DE83FB1BF2 /* NSObject+Promise.swift in Sources */, + 68C3B925415233905445BBC632E33D98 /* NSTask+AnyPromise.m in Sources */, + F6BDDA6489801D31B93897C692036EED /* NSURLSession+AnyPromise.m in Sources */, + 836C8A3CCAD5C5FE68F01D5B3AB57174 /* NSURLSession+Promise.swift in Sources */, + D5E62815F43DB6C9CBF0DEA75BC88E8D /* Process+Promise.swift in Sources */, + FAD004A3C7DC1D0D87FFF0C642A98A86 /* Promise.swift in Sources */, + 21BEF33F6A2B374B486F089628B99B25 /* PromiseKit-dummy.m in Sources */, + 1AA2BEDB70F75FB46C0DDEAF37624686 /* race.m in Sources */, + 6F853D5E1F77B742C8BC832153D2CFB7 /* race.swift in Sources */, + A80D6A613610153FFF343C7385871FE8 /* Resolver.swift in Sources */, + 0F0DCA8CBC42D5EBFAE1401F86393B1A /* Thenable.swift in Sources */, + 7EC88E86E051E823EE620293A70225BB /* UIView+AnyPromise.m in Sources */, + 1A4B5F4283534B7876F0797D79743E7C /* UIView+Promise.swift in Sources */, + EFB65DCDDA87312B24CDDC1F7132FA4B /* UIViewController+AnyPromise.m in Sources */, + FF8CB400714408878D8321DC83943490 /* UIViewPropertyAnimator+Promise.swift in Sources */, + F478A3B08D8979D2B11FC7EC2576FA53 /* when.m in Sources */, + DF0D4847B87A1A34C252A22B47A68A8D /* when.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 96290FE231FC3A051106FD23E60489E3 /* Sources */ = { + 75CF15D54090EDCFDF8B670A39424F28 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 02AA88A345F378DDDAD94FBE2153C3D4 /* lax_der_parsing.c in Sources */, - 10FD227E060754DD84FF51B1B2D5A67F /* lax_der_privatekey_parsing.c in Sources */, - 96B7FC322AC43E4559A1E7085F5977E4 /* secp256k1.c in Sources */, - 83E70ED9E7FCB1E454707FABAEE0C49D /* secp256k1_ios-dummy.m in Sources */, + A60E9D71694BFC11E2A9A86B8C1B0095 /* ABIv2.swift in Sources */, + C976B78DB3A9AE8CA86A6C9634D9B476 /* ABIv2Decoding.swift in Sources */, + C00477878E267142569D0C12C78018BC /* ABIv2Elements.swift in Sources */, + 1C161B8EA65B5BDAE68E60F1554853DD /* ABIv2Encoding.swift in Sources */, + 873DE3CC5FB993DC11904D529384C888 /* ABIv2ParameterTypes.swift in Sources */, + F392AA2B2B63A326860A273536FD150D /* ABIv2Parsing.swift in Sources */, + 05DCD2FC5F3843251C1B431881F46A15 /* ABIv2TypeParser.swift in Sources */, + 4E3FDA58133BED7E50509490CD6FD4F4 /* AbstractKeystore.swift in Sources */, + 8517DDE6E73644C042195E2C78A312E6 /* Array+Extension.swift in Sources */, + 8E67099B57DC9596F3EA8ECD4E33CBE4 /* Base58.swift in Sources */, + 52FB513158120D5E9A5D0F389C8B4705 /* BigUInt+ObjC.swift in Sources */, + 00A7C1597DE9265F746EA649878A668C /* BIP32HDNode.swift in Sources */, + 68967D93A7040322F28E032A686ADDB8 /* BIP32Keystore.swift in Sources */, + 37F32E3E1902C1C57EEC4067E506189D /* BIP32KeystoreJSONStructure.swift in Sources */, + 543D935BDB2B65030F4F1CC620E38CC2 /* BIP39+WordLists.swift in Sources */, + 02B1E2D6F7BBED451D46B09035722FA0 /* BIP39.swift in Sources */, + EFE805A3CA08B8838793F8E245B5ECE3 /* BlockExplorer+GetTransactionHistory.swift in Sources */, + 975D0B554704CA112AE1A7071249F89F /* BlockExplorer.swift in Sources */, + 45EE1E43188FD2E7FC8B2D5030BFC973 /* BloomFilter.swift in Sources */, + 4739C9EEFC54F5C097D8D9D86CECEC2D /* ComparisonExtensions.swift in Sources */, + BDB8D41248A445BAFA1149FB0649B411 /* ContractABIv2.swift in Sources */, + 2498514CC27CCDFE8E81FAE89A1A286B /* ContractProtocol.swift in Sources */, + 726BB598C1055EDC9C6423E70C91C90A /* CryptoExtensions.swift in Sources */, + 890D1216015AC23C813DD998F3D0BD6A /* Data+Extension.swift in Sources */, + 37457234666FBA7DF56C16652038067A /* Dictionary+Extension.swift in Sources */, + 9D526303604B00B72758C41A697E5995 /* EIP67Code.swift in Sources */, + 0BC51526B2D3116FE16EBE44DA507D3C /* EIP681.swift in Sources */, + ED758B1BD45542378CBF6391BB8C5488 /* ENS.swift in Sources */, + 58ACD248746150D1523327FBE5B37A1C /* EthereumAddress+ObjC.swift in Sources */, + 970434B3CDFCB829040B04EB0280678E /* EthereumAddress.swift in Sources */, + 30E55EC1173BE1FB08D744675769DBD2 /* EthereumFilterEncodingExtensions.swift in Sources */, + 7D67866AC6C3A9D16FE90065AADC0149 /* EthereumKeystoreV3.swift in Sources */, + 5C54B9B9E5E0B285872796330B999044 /* EthereumTransaction.swift in Sources */, + AD7D2F8C362981D42EA5497CC71F7737 /* EventFiltering.swift in Sources */, + 86F8EB37DA0D0B1894675C2A41A949CE /* IBAN.swift in Sources */, + 045FA7F5C4FA073D115933C8046C954D /* KeystoreManager+ObjC.swift in Sources */, + B6626A2B587568E2256A791C094CDF0E /* KeystoreManager.swift in Sources */, + 5DB7A571F556449AD9706B01CB07EA6A /* KeystoreV3JSONStructure.swift in Sources */, + 8B28B522A60F6F1A0BEC7E64514B0976 /* LibSecp256k1Extension.swift in Sources */, + 5A62E1514221B943B7A3D3946E7C33F7 /* NameHash.swift in Sources */, + 68C039D30A4BD8D39DF56B559B4ADB68 /* NativeTypesEncoding+Extensions.swift in Sources */, + E37A842880FB67BC31021D43DF112704 /* NSRegularExpressionExtension.swift in Sources */, + 9E61496223A21B14280586F3E47065BC /* PlainKeystore+ObjC.swift in Sources */, + 0075468647D0FFC3AAED89F1F23D66CF /* PlainKeystore.swift in Sources */, + 64B367DFA40AC646E11DAB819B0E292E /* Promise+Batching.swift in Sources */, + 31BE361F12FECC822B92E13681857FD0 /* Promise+HttpProvider.swift in Sources */, + 331CE8D8224F71C9D3D70DC1801A1715 /* Promise+Web3+Contract+GetIndexedEvents.swift in Sources */, + 22FD54B4C827131C4D684D2EAA053145 /* Promise+Web3+Eth+Call.swift in Sources */, + DF7F955F953C523ECE12E71C4990F56A /* Promise+Web3+Eth+EstimateGas.swift in Sources */, + BE321B31D7AFC12E0BF53438F00832FB /* Promise+Web3+Eth+GetAccounts.swift in Sources */, + E17468799BD83B1D0859237015708D37 /* Promise+Web3+Eth+GetBalance.swift in Sources */, + 0C76323B6074D43A33E958630E2FA2B8 /* Promise+Web3+Eth+GetBlockByHash.swift in Sources */, + 3B85CE7D9D64282311FA54DBC8286756 /* Promise+Web3+Eth+GetBlockByNumber.swift in Sources */, + AE94E5909CD8A6A29021E7DB20613096 /* Promise+Web3+Eth+GetBlockNumber.swift in Sources */, + 859729A76D2AFAB1080AB8E850982E4B /* Promise+Web3+Eth+GetGasPrice.swift in Sources */, + 56ACBF1330E1BDB853FC94E16E41A0C7 /* Promise+Web3+Eth+GetTransactionCount.swift in Sources */, + 7E314E370D8E63F9D28EB4D83FF125C5 /* Promise+Web3+Eth+GetTransactionDetails.swift in Sources */, + 21C57C5726D2EB337172882289EBA3B6 /* Promise+Web3+Eth+GetTransactionReceipt.swift in Sources */, + 4AACA123F47301AFCECF75FE8D86BBBD /* Promise+Web3+Eth+SendRawTransaction.swift in Sources */, + BEDBDFC232562E554358904415EE39B1 /* Promise+Web3+Eth+SendTransaction.swift in Sources */, + C970C24BFEAF379BB919A0CD4B1FE320 /* Promise+Web3+Intermediate+Send.swift in Sources */, + AF86C21D7723F3C8030AF9530676083E /* Promise+Web3+Personal+Sign.swift in Sources */, + B3FEBCC1E6F68131A464D2D28417BA24 /* Promise+Web3+Personal+UnlockAccount.swift in Sources */, + 91C565DE7355FB1961E40D10EE14CDBE /* RIPEMD160+StackOveflow.swift in Sources */, + 7DB611371F67DF74D20797AD0B4B3032 /* RLP.swift in Sources */, + 6795E9608781C7A1914DBFC1D1B3BBD0 /* String+Extension.swift in Sources */, + 3F1665AFCA874E77038222C32CA21CF4 /* TransactionSigner.swift in Sources */, + 4AB8899CD9B274899C569E8E4F6B8163 /* Web3+BrowserFunctions.swift in Sources */, + 8C4634FA8F9D714321F3973BAC3756CD /* Web3+Contract.swift in Sources */, + A10552DA49C1B421E22D5BBD00043EB5 /* Web3+ERC20.swift in Sources */, + CB2D6447D8F5DE72BEF8DC58E09758C8 /* Web3+Eth+ObjC.swift in Sources */, + 948850F4D9DCBDA7885F96517F7C93B2 /* Web3+Eth.swift in Sources */, + 838FC79B49A0DD9506EDFF36DC730262 /* Web3+EventParser.swift in Sources */, + 08126F596F171C58B2CDD7314A1129D6 /* Web3+HttpProvider+ObjC.swift in Sources */, + 655563EF592B664426E4F924AD94A1EE /* Web3+HttpProvider.swift in Sources */, + 36306880A632F6028A29C9EF3AF21D76 /* Web3+Infura.swift in Sources */, + F3B5788DE236BC5FDC36A19160E3A121 /* Web3+Instance+ObjC.swift in Sources */, + BBC3534E14BA11CE9BCF8FA0848D76D4 /* Web3+Instance.swift in Sources */, + 465596376950D8BA52A52DF91185308A /* Web3+JSONRPC.swift in Sources */, + 202EDC7A61D90D385D5A163E66665BF7 /* Web3+Methods.swift in Sources */, + 1774B3B2CE80448F302A78251D87401A /* Web3+ObjC.swift in Sources */, + 45216D6980BC449A1E84C0C6CC1AA6F9 /* Web3+Options.swift in Sources */, + 78FD627F252ED1A0015EE533DD68C2FF /* Web3+Personal.swift in Sources */, + AEDEB90675798B030C87A90F64EBE68A /* Web3+Protocols.swift in Sources */, + 6B5044E9BC84F66C42F5923359015BF8 /* Web3+Structures.swift in Sources */, + 99F02A84D0D5E2765EE4F4C4AA684A63 /* Web3+TransactionIntermediate.swift in Sources */, + 27FE3E93F1532DBADEF4E265BECD3B77 /* Web3+Utils.swift in Sources */, + 7528DA81FC748DE3FC4BBCD0A2E1400C /* Web3+Wallet.swift in Sources */, + E2262EC80364EF8400960EDAF09318D9 /* Web3.swift in Sources */, + 77178248CD6460B5432AC6DFC3579E23 /* web3swift-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A5DA2226091709FBAA9E7C00FE849D3B /* Sources */ = { + 7845B68B8E520FB143745DE94DEF574C /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 313AF5ADF37E9908E80116CBE9A08433 /* Pods-web3swiftExample-dummy.m in Sources */, + 3CB14077F8EC08C91CC67F7A527B417E /* AEAD.swift in Sources */, + 48388B84776F7C1407A1E118B089CBEA /* AEADChaCha20Poly1305.swift in Sources */, + 595B8A2A0CCEBF78C630FF9978F29AB7 /* AES+Foundation.swift in Sources */, + 13DFC709B5090CE924800551AE5D9808 /* AES.Cryptors.swift in Sources */, + 1AEA4CC9FAFDF49652633E9DBE16D80E /* AES.swift in Sources */, + 778848906301AB76386C72A37543BE52 /* Array+Extension.swift in Sources */, + EEBA55F15AFE35277B68E8ECF0006359 /* Array+Foundation.swift in Sources */, + 36CD9E2F0BD86A31E701E02DAB5AE6F2 /* Authenticator.swift in Sources */, + 46D913BB12854D13B0F897B37C0645A4 /* BatchedCollection.swift in Sources */, + 78589BD06CD8A1E65939A186F9EF2AB5 /* Bit.swift in Sources */, + C0CB7BA8B8378B845E1231E46A00302F /* BlockCipher.swift in Sources */, + 49FEEA70ABC39AF55CD97D81857EF07E /* BlockDecryptor.swift in Sources */, + AB9668A6835AEC7962A3C7768ADAAA56 /* BlockEncryptor.swift in Sources */, + CFA93FAF0D4ECF135C0F0E190C6C170E /* BlockMode.swift in Sources */, + E5E3667FFF55ADA12DD9114649E29031 /* BlockModeOptions.swift in Sources */, + 5A6C4BA33ADE33CC6B382B120B679237 /* Blowfish+Foundation.swift in Sources */, + 3C3E2109D1CACB25EAFAF06D4238567E /* Blowfish.swift in Sources */, + 43FD8DB1CCB725A4FE8894835801F3EB /* CBC.swift in Sources */, + 88ED6F7E091B1D56573DCEFA4F60B010 /* CFB.swift in Sources */, + 9D39EF4996CB92E27C1BAF0651E2C242 /* ChaCha20+Foundation.swift in Sources */, + AB905E3B9A9CB2C8F126AB2F7A985B63 /* ChaCha20.swift in Sources */, + 68AC0F69139647F7B018BBF14976F577 /* Checksum.swift in Sources */, + A2800740B805FE08662A48D9C0CFF49E /* Cipher.swift in Sources */, + 0E285E910A32BEC3C90AE7FCD361AD63 /* CipherModeWorker.swift in Sources */, + C8FD04BAEFFFEF92BF2303ACA42207F6 /* CMAC.swift in Sources */, + 19127EBDCFDCA18FB791457D9636554A /* Collection+Extension.swift in Sources */, + E738C32AC026327A0C48144C7979EC30 /* CompactMap.swift in Sources */, + BAB523E44314747F529F07E9D858D0A9 /* Cryptor.swift in Sources */, + 8008DD7D87F87B9E3D5ECEA3467E1A9C /* Cryptors.swift in Sources */, + 681FBF1DE7F5E28A656C33C24795C69D /* CryptoSwift-dummy.m in Sources */, + 16BD01485AEA764E1D7AE403EDAA7CAC /* CTR.swift in Sources */, + E6B051B4B35607992353F833DE6578C1 /* Data+Extension.swift in Sources */, + 69B43E85EA9FD569A466BE6BA94A5F86 /* Digest.swift in Sources */, + FBF77F35D1FB8C0B49461F323CC64EF7 /* DigestType.swift in Sources */, + 809461B522DAD1CC4DA7B304793057A5 /* ECB.swift in Sources */, + 168BDC656BAAED4F5FC8CF368D073EF2 /* GCM.swift in Sources */, + B6DFE0242C66C8E98A2F6825401A50B1 /* Generics.swift in Sources */, + 8E5BF109ABE01A8C75C78AEB7B902FC3 /* HKDF.swift in Sources */, + 104041B63A33F6C978EBE1042E7F36C6 /* HMAC+Foundation.swift in Sources */, + 4DEA27C788BF3119B52411CCB2922FB2 /* HMAC.swift in Sources */, + 0069D192EEB5FD6E4FE6CE081766BF84 /* Int+Extension.swift in Sources */, + 84BCF4CADBC4D7DDA795387EC0AC07E7 /* MD5.swift in Sources */, + 7CF47931D812B23E671EC0DEA0706DFA /* NoPadding.swift in Sources */, + DE5662D83AD07D877CB46011E963932B /* OFB.swift in Sources */, + 7F77F6FF53784ED6A5A93AC3D548F02A /* Operators.swift in Sources */, + 76470FC323983D6226BCF68B1164E3F5 /* Padding.swift in Sources */, + F29E02078681BBB088849F8B66655247 /* PBKDF1.swift in Sources */, + DCEFC750784BC92CC015B9B973982194 /* PBKDF2.swift in Sources */, + 6951FF81102CC5BFF9688FD32F93DB93 /* PCBC.swift in Sources */, + 872CC7E11DB7B5D9E47440A739E574AB /* PKCS5.swift in Sources */, + DD69B45CCE6E9919A0D08FE9498D2B2E /* PKCS7.swift in Sources */, + 011C7540AA287C97361474C15BEC543C /* PKCS7Padding.swift in Sources */, + F95D72C282B42FFE8FE2F10C0AB327F2 /* Poly1305.swift in Sources */, + 76B563B51D27673895764F16C48D5E24 /* Rabbit+Foundation.swift in Sources */, + FB20391449E34100261FC37107DC6078 /* Rabbit.swift in Sources */, + 1F775B3A5B3F7AD66C937140F5D64981 /* RandomBytesSequence.swift in Sources */, + 090FC12C45ED8F6A69B4E632DFE94915 /* SecureBytes.swift in Sources */, + 57EE2999B5A42AB125DE111FD58382E8 /* SHA1.swift in Sources */, + EC5E4784D34A1D2A17EEDD85A46D465A /* SHA2.swift in Sources */, + D1F5CB987F614989A6C17C93F2DD5EE8 /* SHA3.swift in Sources */, + 36A0040F0878B1983F1EA1303DEA3A8A /* StreamEncryptor.swift in Sources */, + 3A0B9F7D652FAD6B6F41E8ECBC672B2E /* String+Extension.swift in Sources */, + 1819715D4AE9B9E34CC6884404B925A7 /* String+FoundationExtension.swift in Sources */, + 9032FD5A6851FA0796FE178236BE9949 /* UInt128.swift in Sources */, + 4E6B32A3483F0BFABBD797909A9DEF6E /* UInt16+Extension.swift in Sources */, + 5BDE74041F9724B7C2A40FD1FCFA45F0 /* UInt32+Extension.swift in Sources */, + 63DE145E1764A86D1ABB97F789625268 /* UInt64+Extension.swift in Sources */, + 17A85E0EC18A32952F779A75E09AB131 /* UInt8+Extension.swift in Sources */, + 7EFCEF370D1273ECA03178E054495922 /* Updatable.swift in Sources */, + 72C25CF4053DCD62E5447817C0B9221E /* Utils+Foundation.swift in Sources */, + 822D2EB3DC201386CF9DF682794D91F7 /* Utils.swift in Sources */, + 7879C44114E0F4F770B0E68610F5ACFB /* ZeroPadding.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - BB23C35D1C8CF70B14021B6B4DB4417C /* Sources */ = { + D0AC93315DC7E224CAFDF4FDBCD3DB40 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6AE91686DA9073D6CA45FF5075E46441 /* Addition.swift in Sources */, - DEF4308C1D254B7046901273C02406C6 /* BigInt-dummy.m in Sources */, - B445F0CE0E3F59F3626F5EF8CD7EC353 /* BigInt.swift in Sources */, - E9996CF89769BC6E0A23565BA241E886 /* BigUInt.swift in Sources */, - 9E99F580BA70CA1755A2CB88CFDD12D0 /* Bitwise Ops.swift in Sources */, - 192C761FAA55B7C0BAE8B6C9620EC07C /* Codable.swift in Sources */, - 408DD0B99E8B5D002EDFF64857434F33 /* Comparable.swift in Sources */, - 538C6A258F935F06DE9961004DC18E99 /* Data Conversion.swift in Sources */, - 1C5F2E4BA7BE6A06422712620E1AE0EF /* Division.swift in Sources */, - D4D59603BDE5980B8070D37AC4E202ED /* Exponentiation.swift in Sources */, - 4FB1270D906EA5C11DDC829AE5191718 /* Floating Point Conversion.swift in Sources */, - 807B07BE5F3E0281F560DBC081BC8EF0 /* GCD.swift in Sources */, - F3649D1559ABBD0842FAD6CD252CF5C5 /* Hashable.swift in Sources */, - BE95728E93BC22D4E96096306FB98331 /* Integer Conversion.swift in Sources */, - 85784EB74592B1F757DB340F92867BBF /* Multiplication.swift in Sources */, - 531CF173530CF762BA014B482E2765A1 /* Prime Test.swift in Sources */, - 05B60D1C230ACBC8BF1984448505EDBF /* Random.swift in Sources */, - A83A9339CF7777B3639BC3ACF15AD200 /* Shifts.swift in Sources */, - A924CBC85FFB545CD4AFE5C30B5AEBFE /* Square Root.swift in Sources */, - ABB16B77223F03DEFE19A3D29BD57A6F /* Strideable.swift in Sources */, - 3BDF1A017D709F6906EB6D80A5C2DC21 /* String Conversion.swift in Sources */, - 70586DBC0FCE02A174A7289612B1F4A1 /* Subtraction.swift in Sources */, - 1007F2C201CB0F9428EB814F23638146 /* Words and Bits.swift in Sources */, + C8218EC292D51987B5ABF02470D28BF8 /* lax_der_parsing.c in Sources */, + B1E21083CCF70CA10BCFB0D6BDF4DC7B /* lax_der_privatekey_parsing.c in Sources */, + F41F4AAC34AB627DE3BEE8826AA9D736 /* secp256k1.c in Sources */, + 97E9D2C351BA784EAB933580AD206C13 /* secp256k1_ios-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - FAC6AF6E8005F5C4CF5E7ECAA539CF2D /* Sources */ = { + E2D6BCD5E5A99E5CAB3F3FBB1D6EC36E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E17D11ACDDF519813FDB233920EC8659 /* AEAD.swift in Sources */, - 38CC7371C0CCDD34630FB55D1B1FE8EE /* AEADChaCha20Poly1305.swift in Sources */, - 39FA54F442116DAE993C29047DD5DFE8 /* AES+Foundation.swift in Sources */, - BA678376264117D59BF4EFC93D854537 /* AES.Cryptors.swift in Sources */, - C5BFE54E462CEA37EAE05F06CC40CAFC /* AES.swift in Sources */, - 9AD9BAC2BFB2F5844FE2EAFCD353C009 /* Array+Extension.swift in Sources */, - 8E13C6E338A8211FE29C5883AA49C379 /* Array+Foundation.swift in Sources */, - 1FCAD12310C043F8A9072C6CF988767D /* Authenticator.swift in Sources */, - CE4EAF03E45F6783B55462ED597DF674 /* BatchedCollection.swift in Sources */, - 409BE8830A676B9A918AD077D5FF56E9 /* Bit.swift in Sources */, - A1AB964743F0699F984589A79E8BEB2C /* BlockCipher.swift in Sources */, - 9D6719DF68EB45255D72D5D894ABEA8D /* BlockDecryptor.swift in Sources */, - F0B784E17804D5E84BA1DAE0C7549769 /* BlockEncryptor.swift in Sources */, - 6CA43D480D59CCE6C3022B6FB860DD54 /* BlockMode.swift in Sources */, - 5B528D78E102DA266E62EDF868A924ED /* BlockModeOptions.swift in Sources */, - E2F20A4517CB23C4191AA5953850D0C7 /* Blowfish+Foundation.swift in Sources */, - DB2AD8BB5134D34E6E776539A83F0AB6 /* Blowfish.swift in Sources */, - 879BC75322CA6DE36F0A0CD945389A8E /* CBC.swift in Sources */, - 74F8840AB444CA331900088D83219C36 /* CFB.swift in Sources */, - 8E8757AEF9F6B8DF5B03D98B670775D4 /* ChaCha20+Foundation.swift in Sources */, - 99E69744951D77345EBD5D2E1F4B6EA3 /* ChaCha20.swift in Sources */, - 222B2D51836967D1089878DD3095A940 /* Checksum.swift in Sources */, - C477F9CC9D6A21DFEAC4E0A4DCBFFFAB /* Cipher.swift in Sources */, - 00F71256E738522ACAF0A3837A9CE8C7 /* CipherModeWorker.swift in Sources */, - ED2AB53698CB5369C137E63E66D62108 /* CMAC.swift in Sources */, - A230F02D50871D17994B9EF116ECE5B8 /* Collection+Extension.swift in Sources */, - DA049A324AEE4E1D0660D0605F2B36A1 /* CompactMap.swift in Sources */, - 8BBA8708379FB610EB986C6AB1A55CE2 /* Cryptor.swift in Sources */, - 320C1B66497F7A138EB1D642CDCE22AC /* Cryptors.swift in Sources */, - 0A1DE69222FA7487FCF30F417987011D /* CryptoSwift-dummy.m in Sources */, - F4D85C27C6BB1452324FFC2456B67681 /* CTR.swift in Sources */, - B5B8AE814BED84CA67054EDEEAE547A2 /* Data+Extension.swift in Sources */, - 93DAEF762AF4E2920D206F88D8B7C41F /* Digest.swift in Sources */, - 40DE88714DAB5B695E9504CC44074768 /* DigestType.swift in Sources */, - A6A4E89F4E4F313C578324D21AC2CF30 /* ECB.swift in Sources */, - 68658EB3A3F87578A106603B085A69CB /* GCM.swift in Sources */, - EC271B9B67906BD2D607F2E1EDE64BFD /* Generics.swift in Sources */, - BDF76907A74CB47143093603602619EB /* HKDF.swift in Sources */, - 493DBDEF9FCD12D7123669FD8A9E4ED8 /* HMAC+Foundation.swift in Sources */, - B76AD79D919B630576536F2462ACA4E3 /* HMAC.swift in Sources */, - 730A21FE23F5384258BDD6AC6B2F64FE /* Int+Extension.swift in Sources */, - A504680DC4D09BECAB31AD17442D6193 /* MD5.swift in Sources */, - 66BA3F31DB96AB44086B540815DC24C5 /* NoPadding.swift in Sources */, - 029E4B8A9E3B89B94F19AE60A5FD2BEA /* OFB.swift in Sources */, - 91A8E04DEE9062D981048CA8E4E6E8EB /* Operators.swift in Sources */, - 5BA3E93A31BD8E788ACDC074BF9173DF /* Padding.swift in Sources */, - FEDD97DDD605CF96A6FA9C8A4D58FBCB /* PBKDF1.swift in Sources */, - FE65A2540C6E76089372119B2F94A5AB /* PBKDF2.swift in Sources */, - 2416EC233D7CED3374899795B2661A81 /* PCBC.swift in Sources */, - 13EBF8998AC76281856F84258FDD2F54 /* PKCS5.swift in Sources */, - 954FEDA487771E21F37475C2D1F85FDD /* PKCS7.swift in Sources */, - F57BEB34E9C79ADEBB885E84008AE0E9 /* PKCS7Padding.swift in Sources */, - A7A2D678ECF49203B326B57D425F3F5D /* Poly1305.swift in Sources */, - 1DEF1D64ED601BF90162C2707F385A28 /* Rabbit+Foundation.swift in Sources */, - 80AA0105BEEE9286664DE223447D5BFD /* Rabbit.swift in Sources */, - 6FEC51B5BFB8DCF0676B5E4BE46C3673 /* RandomBytesSequence.swift in Sources */, - C0BEA3AE3A9D32BEA36E9F305BE0E9DB /* SecureBytes.swift in Sources */, - 0B6225818CF8D0C1211208ED65DB3D1E /* SHA1.swift in Sources */, - D2334E5723DA38C7FE9EBE99DA28978B /* SHA2.swift in Sources */, - 7F1951CE198D26F00A57E599E8A156C8 /* SHA3.swift in Sources */, - 3B2B2FBE097E322CF911DE111067CE1C /* StreamEncryptor.swift in Sources */, - 2ABF8654708D394C425FE49E444A7A46 /* String+Extension.swift in Sources */, - 522F04B75736285444076E68D66DD971 /* String+FoundationExtension.swift in Sources */, - 693C57B0B65DC83E1555A5C2B81B3D61 /* UInt128.swift in Sources */, - 0AA85817C56EE5460F87A6B84ED73ADB /* UInt16+Extension.swift in Sources */, - 9CDB1A02BF14D3FA9ED7767CD865E621 /* UInt32+Extension.swift in Sources */, - A3BFABE55739664620DBD17FBCDC7167 /* UInt64+Extension.swift in Sources */, - 30DCA337250F0BF3347548F999C0D6CA /* UInt8+Extension.swift in Sources */, - 63782F3285FAA31B6F008F2061D17962 /* Updatable.swift in Sources */, - 0E2058EFEA89E6DF232C0D0367CA2AB2 /* Utils+Foundation.swift in Sources */, - 7DFFB011553BDD738BEFE0F582119989 /* Utils.swift in Sources */, - BE542E63E2485118E79441E7999F55B1 /* ZeroPadding.swift in Sources */, + A3990AC532A16D984A30B92171E19633 /* Addition.swift in Sources */, + CFCEF00E9F843C0E9885D25D3FE776AD /* BigInt-dummy.m in Sources */, + 1393314FA30ED036A4876EED12EF15DF /* BigInt.swift in Sources */, + B9D179880E2C5A583513BF6086375292 /* BigUInt.swift in Sources */, + E98669BD82B8EF36AA49932E9A1C5559 /* Bitwise Ops.swift in Sources */, + 70C753C56B4C246E2B038E4F94BF0BBF /* Codable.swift in Sources */, + 37741FB620689069751B06889B7C7143 /* Comparable.swift in Sources */, + CAF7F95BAAA850711BA9ABB88C4DBE58 /* Data Conversion.swift in Sources */, + 8606AA654F3D24B407E7274A9BB3995F /* Division.swift in Sources */, + 2A8F6944A9B01C4D77F755677E3B50CD /* Exponentiation.swift in Sources */, + D42866E9D1CC9FAA8B4D290D9021ADED /* Floating Point Conversion.swift in Sources */, + 6EBEEEDAACA227734E95EA5211665100 /* GCD.swift in Sources */, + 718236F77969D41EA45AE28A7EF14E52 /* Hashable.swift in Sources */, + 42911B8E04109940D27D03B76FDB71DA /* Integer Conversion.swift in Sources */, + CF3EE764A7A7F7F57EB8610C7E684B04 /* Multiplication.swift in Sources */, + F78C1DE8D506C812DCD441568DD25248 /* Prime Test.swift in Sources */, + A2282701DE9BC91494A2065F23824272 /* Random.swift in Sources */, + 39CDE4B10C60D85F37F77C939C51E074 /* Shifts.swift in Sources */, + 1EE14F44BE6D7C6D015982EBCB62366B /* Square Root.swift in Sources */, + 2B4AEEF5291AF4C54375103E51B33EED /* Strideable.swift in Sources */, + 1418FE8C38CFB0A63618CB505778FF1A /* String Conversion.swift in Sources */, + 4CFF75EF09263579007C95CD2C296463 /* Subtraction.swift in Sources */, + 0E595594925920B81CBDC1EF1F737727 /* Words and Bits.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 0465644DC2AEBE1ABBF8FB1B0B1D41A2 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = CryptoSwift; - target = C313269A2B1C23544DE089CFAA786C33 /* CryptoSwift */; - targetProxy = C92357257C88252798F17EB0FB961C16 /* PBXContainerItemProxy */; - }; - 1756DA2A0929883155F82EDEE78DBB00 /* PBXTargetDependency */ = { + 0A8C82D239CBDF1B011E11B329EA616A /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = secp256k1_ios; - target = 0CDCD15B895E5E3C642256B9466BAF51 /* secp256k1_ios */; - targetProxy = 3FEBB0E8FF54EB005815F39AF02DA652 /* PBXContainerItemProxy */; + name = BigInt; + target = 23A9C77578E46AEB069BEF36B9B5ADA6 /* BigInt */; + targetProxy = 6BF9B000996DF9D64D4FE4DEECF00413 /* PBXContainerItemProxy */; }; - 1BA09AA5C2BB3035C61D53AF174D17C7 /* PBXTargetDependency */ = { + 0B6AA6919B8A7CB6BC051AF90DF91D0D /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = scrypt; - target = EDCC3A3E8A567995312D9F435A5A88EC /* scrypt */; - targetProxy = E219E4C6CD954172C59F189A1BF5088B /* PBXContainerItemProxy */; + name = Result; + target = C7F768100F7D32B078FA6D19893B5741 /* Result */; + targetProxy = FD3871FA93CC618634A2D7AB7E6A288C /* PBXContainerItemProxy */; }; - 273C2608422A04D9E44B422947092A4A /* PBXTargetDependency */ = { + 2602660D03EAE2BE41324DCD70D6B7C9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = web3swift; - target = F61D23C9CB20E66E4ACFBAB69D99879A /* web3swift */; - targetProxy = 154FD551C35082A733CF27851A45873B /* PBXContainerItemProxy */; + name = SipHash; + target = EA114BE2D9D1BCDA6E1013C3301492A8 /* SipHash */; + targetProxy = 36A8B274F50442AE2C466F7B8C8A2E09 /* PBXContainerItemProxy */; }; - 43E614385A8557DFB8BF9FAA55D0DF24 /* PBXTargetDependency */ = { + 3F569904A0954E065753A145676105A7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = PromiseKit; - target = 9E0FC65126A61EC4E4C869BA932807E4 /* PromiseKit */; - targetProxy = C9A0DB9B5BCE9D59FC6C0F33F3297059 /* PBXContainerItemProxy */; + target = C36167279A3ACEC5E09E05AC17E973AB /* PromiseKit */; + targetProxy = 0E01B73CC8F027E3BB675B850520B20E /* PBXContainerItemProxy */; }; - 48DD0041B86E1DA2270D12909EA76561 /* PBXTargetDependency */ = { + 469BA73D7FD92EEC96D218C7F3F3196F /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = PromiseKit; - target = 9E0FC65126A61EC4E4C869BA932807E4 /* PromiseKit */; - targetProxy = A99D675BD98897507E4AD89112CD1676 /* PBXContainerItemProxy */; + name = CryptoSwift; + target = D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */; + targetProxy = B2520BE59D3D835F91798AA0CB79DEE8 /* PBXContainerItemProxy */; }; - 662D3AD29D481E615ED723D3A06C059C /* PBXTargetDependency */ = { + 4A7B421C839A9B98B687CAA8B6917FF0 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Result; - target = 691E5BFE487640DE1E2DD74E28EBE528 /* Result */; - targetProxy = 11A2BB77C485A266DEBF7AA057C5CEC7 /* PBXContainerItemProxy */; + target = C7F768100F7D32B078FA6D19893B5741 /* Result */; + targetProxy = DAAF4FFB27B380502C83474E2C10B2C0 /* PBXContainerItemProxy */; }; - 75339B3658463D5928A20C9412070E92 /* PBXTargetDependency */ = { + 4BC8665C320BCB284F1AB9E0F52EEF22 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = scrypt; - target = EDCC3A3E8A567995312D9F435A5A88EC /* scrypt */; - targetProxy = 4F5992DA25BD4D957A469B238740F3DF /* PBXContainerItemProxy */; + name = CryptoSwift; + target = D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */; + targetProxy = AC93B93DEA6B153F441ACDD47711CB50 /* PBXContainerItemProxy */; }; - 96713201020D11B4F462679823BE0999 /* PBXTargetDependency */ = { + 4F4E9B99540CA6BFAFEF683BB7AFA0D3 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = BigInt; - target = 716435BD4A1FEB954EBD1C25D7EC0BB6 /* BigInt */; - targetProxy = 54FD6216423E5F7F52201DDDE1480BAB /* PBXContainerItemProxy */; - }; - A054D0D393F7402DAC86BBBB70D84899 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = BigInt; - target = 716435BD4A1FEB954EBD1C25D7EC0BB6 /* BigInt */; - targetProxy = 21EECB2AF750309F2B59326AAE061AE6 /* PBXContainerItemProxy */; + name = secp256k1_ios; + target = 60BF36463B9896F856D87DA4DE89FBB9 /* secp256k1_ios */; + targetProxy = 1D7E7E679A2F944C7B68599B9949B3D9 /* PBXContainerItemProxy */; }; - B0DF197C71A0796DB079A628F0C6E87B /* PBXTargetDependency */ = { + 64DA449404BAFB38711865F0C1D0C3ED /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Result; - target = 691E5BFE487640DE1E2DD74E28EBE528 /* Result */; - targetProxy = D94189C5999AEF19467AEA7DA9649E87 /* PBXContainerItemProxy */; + name = PromiseKit; + target = C36167279A3ACEC5E09E05AC17E973AB /* PromiseKit */; + targetProxy = 6EA95E18AF08E391FC2DD079C00AC604 /* PBXContainerItemProxy */; }; - B76C549F1077A249A793E83C3FD52965 /* PBXTargetDependency */ = { + 8FD5D15A53AB1364D3C37E633E297FD9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SipHash; - target = 3A129877346434719FFE6B01BCA2513B /* SipHash */; - targetProxy = D859CF09FCB933666F712E5E2F479D0D /* PBXContainerItemProxy */; + target = EA114BE2D9D1BCDA6E1013C3301492A8 /* SipHash */; + targetProxy = BE88B88019CC73C5F4692FCFFE00A16E /* PBXContainerItemProxy */; }; - CEC8AEFC24A2A583B9A0F19190820F55 /* PBXTargetDependency */ = { + 9235C791AF1571AD8742EA4B298E89C5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = CryptoSwift; - target = C313269A2B1C23544DE089CFAA786C33 /* CryptoSwift */; - targetProxy = 480127A1B9AE1E23814FED67B06CB002 /* PBXContainerItemProxy */; + target = D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */; + targetProxy = D6AE6C9B739C8079861FA4830DE57BFF /* PBXContainerItemProxy */; }; - D80B8C9CAC5A4EF01AB3734E4FA514CF /* PBXTargetDependency */ = { + A3C90A98231D5DDB2A79AFA9C07695B8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CryptoSwift; - target = C313269A2B1C23544DE089CFAA786C33 /* CryptoSwift */; - targetProxy = 4A3EA886C534DA6E2D3E8B7CBEDDF36D /* PBXContainerItemProxy */; + name = scrypt; + target = 0E877A906EE881D9A703E2CEB69B27B0 /* scrypt */; + targetProxy = 7BD0D139C37C19537A6DF939C1048252 /* PBXContainerItemProxy */; }; - E748055BA2211356B1160E3F5423F5EC /* PBXTargetDependency */ = { + BC80BF207538A95305A7D118B9B7C215 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SipHash; - target = 3A129877346434719FFE6B01BCA2513B /* SipHash */; - targetProxy = 845211B1A3B8302CC6873C1DC90D2E13 /* PBXContainerItemProxy */; + name = secp256k1_ios; + target = 60BF36463B9896F856D87DA4DE89FBB9 /* secp256k1_ios */; + targetProxy = 51F19D8B3983CC6266B592A32F736A15 /* PBXContainerItemProxy */; }; - F9B3E04E287071C52A7FECF3015FEC8C /* PBXTargetDependency */ = { + D0835B4CA84CEE3755B21228D6CA6FFC /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = secp256k1_ios; - target = 0CDCD15B895E5E3C642256B9466BAF51 /* secp256k1_ios */; - targetProxy = D1C97C34834751B541AC06B12144F72E /* PBXContainerItemProxy */; + name = scrypt; + target = 0E877A906EE881D9A703E2CEB69B27B0 /* scrypt */; + targetProxy = ABA2DC1B51EB47A1C58FD8EB202B5FAE /* PBXContainerItemProxy */; }; - FED36EEEE3EDD72CB4BFE445A2DED504 /* PBXTargetDependency */ = { + D5D89B0A0375005F9DC439BA79768218 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SipHash; - target = 3A129877346434719FFE6B01BCA2513B /* SipHash */; - targetProxy = 39B6BDB795ECBD4EF78E4AA966364F1B /* PBXContainerItemProxy */; + name = web3swift; + target = D93CC8797FA6642C382C93BBA9AE8B0D /* web3swift */; + targetProxy = 111385C619C9ADC78F47666FAA2A22A7 /* PBXContainerItemProxy */; + }; + E92C0852F7CA81FC3C083C6A05797271 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = BigInt; + target = 23A9C77578E46AEB069BEF36B9B5ADA6 /* BigInt */; + targetProxy = 76DB86015CEE178C79D4F291C64586B2 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 0A48AA75ECBA8BA9DCD29523CFFA624B /* Release */ = { + 08325AB7BA3DEA33A660C8DA62E9D84C /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6F569DE923E2ED82AAC896068E839D04 /* PromiseKit.xcconfig */; + baseConfigurationReference = B81556F0FE01DF09B1A857C01311DF62 /* PromiseKit.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -2392,256 +2367,213 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; name = Release; }; - 0B4F9E9C67FADD4CF438916CE76040B9 /* Release */ = { + 0F2AD7A3E58FD789DAFDAD2D62E8EAE8 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 138892441A5B43660E6766A7D981C559 /* Pods-web3swiftExample.release.xcconfig */; + baseConfigurationReference = B81556F0FE01DF09B1A857C01311DF62 /* PromiseKit.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = Headers/Public/PromiseKit/PromiseKit.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = PromiseKit; + PRODUCT_NAME = PromiseKit; + PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; }; - 0CAE229A10A3BB46B3FF44121042F4AD /* Debug */ = { + 129C407B7AA2AA4EFFB5A2F12C7C5C9F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B46845985AF612A96C9CC720A9AA1928 /* BigInt.xcconfig */; + baseConfigurationReference = 3923B0035F9528F642633EABD2E39E97 /* CryptoSwift.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/BigInt/BigInt-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/BigInt/BigInt.modulemap; + MODULEMAP_FILE = Headers/Public/CryptoSwift/CryptoSwift.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = BigInt; - PRODUCT_NAME = BigInt; + PRODUCT_MODULE_NAME = CryptoSwift; + PRODUCT_NAME = CryptoSwift; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 4.2; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - 2FC84E1C17F017C1C4E42D51BD969240 /* Debug */ = { + 1F61E648B46E8059A6BA7643BB43C497 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6C45D29D8FF386012D33CFF0BE84AD2B /* secp256k1_ios.xcconfig */; + baseConfigurationReference = 2E25A4BC37421B57AB6AFC5F6B21A519 /* scrypt.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios/secp256k1_ios-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/scrypt/scrypt-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/secp256k1_ios/secp256k1_ios.modulemap; + MODULEMAP_FILE = Headers/Public/scrypt/scrypt.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = secp256k1_ios; - PRODUCT_NAME = secp256k1_ios; + PRODUCT_MODULE_NAME = scrypt; + PRODUCT_NAME = scrypt; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.1; TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 30D948AE62C04225F8DEF8734A4C5A26 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_ALLOWED = NO; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; + VALIDATE_PRODUCT = YES; }; name = Release; }; - 41A318BB340ABD6902E7BAC43B72BBE7 /* Debug */ = { + 1F6504C4E48E957D125D98953B6D92A4 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EF59F5648FE9BCB0EDD6800DD3E28D06 /* CryptoSwift.xcconfig */; + baseConfigurationReference = 4A6B1B16288DE16421DD874A78466051 /* Result.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/CryptoSwift/CryptoSwift.modulemap; + MODULEMAP_FILE = Headers/Public/Result/Result.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = CryptoSwift; - PRODUCT_NAME = CryptoSwift; + PRODUCT_MODULE_NAME = Result; + PRODUCT_NAME = Result; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - 4396E7E028B9BBFF539BCD229DD77984 /* Debug */ = { + 293DDB39182F265B42217C016494DB99 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 22D34076EA0440B505461DA3E8B815CA /* Result.xcconfig */; + baseConfigurationReference = BAD8E2243595210891E90A221AD22915 /* BigInt.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/BigInt/BigInt-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/Result/Result.modulemap; + MODULEMAP_FILE = Headers/Public/BigInt/BigInt.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Result; - PRODUCT_NAME = Result; + PRODUCT_MODULE_NAME = BigInt; + PRODUCT_NAME = BigInt; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - 56CB9575B1684A547BA4A7D57E08E1BF /* Debug */ = { + 29FB8CEE5D10AEC3F56ABDDA0E163E03 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 35A9FE789E37975C0131E64AE7B7282E /* scrypt.xcconfig */; + baseConfigurationReference = C91E162C53A209FDFA94395F091AF0EE /* SipHash.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/scrypt/scrypt-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/scrypt/scrypt.modulemap; + GCC_PREFIX_HEADER = "Target Support Files/SipHash/SipHash-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = Headers/Public/SipHash/SipHash.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = scrypt; - PRODUCT_NAME = scrypt; + PRODUCT_MODULE_NAME = SipHash; + PRODUCT_NAME = SipHash; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.1; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - 649468DD4EEC4BBE97F2590529B131DE /* Release */ = { + 50ED217796E02020588E19C68D54E32B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 35A9FE789E37975C0131E64AE7B7282E /* scrypt.xcconfig */; + baseConfigurationReference = 2A3B82C924810D565EACB8DD0250AF2F /* Pods-web3swiftExample.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/scrypt/scrypt-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/scrypt/scrypt.modulemap; + IPHONEOS_DEPLOYMENT_TARGET = 11.2; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = scrypt; - PRODUCT_NAME = scrypt; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.1; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; }; - 678ACC840A9FBFC8A401F921EF4020A4 /* Release */ = { + 513C2D1D1841AE354CC0CB3E061004D2 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6C45D29D8FF386012D33CFF0BE84AD2B /* secp256k1_ios.xcconfig */; + baseConfigurationReference = 0E2E24E6150E5C09FCC81471D9E99B90 /* secp256k1_ios.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -2664,86 +2596,88 @@ }; name = Release; }; - 6B74F3A83F3D8E7C401423C9427FD70D /* Release */ = { + 6108586F8F8F0257AB3167314622B299 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EF59F5648FE9BCB0EDD6800DD3E28D06 /* CryptoSwift.xcconfig */; + baseConfigurationReference = A66255E5AEA5BC28BB87C3D0EFD8D2AA /* web3swift.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/CryptoSwift/CryptoSwift.modulemap; + GCC_PREFIX_HEADER = "Target Support Files/web3swift/web3swift-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MODULEMAP_FILE = Headers/Public/web3swift/web3swift.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = CryptoSwift; - PRODUCT_NAME = CryptoSwift; + PRODUCT_MODULE_NAME = web3swift; + PRODUCT_NAME = web3swift; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.2; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.1; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; }; - 7C3E2A3592D669D472C92C0689F115F0 /* Release */ = { + 6D2EF2542636FDEBC0F444BEFF0D8586 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DABE58DA84A9A1A36E5A36F6D7751D80 /* web3swift.xcconfig */; + baseConfigurationReference = BAD8E2243595210891E90A221AD22915 /* BigInt.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/web3swift/web3swift-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/web3swift/web3swift.modulemap; + GCC_PREFIX_HEADER = "Target Support Files/BigInt/BigInt-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = Headers/Public/BigInt/BigInt.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = web3swift; - PRODUCT_NAME = web3swift; + PRODUCT_MODULE_NAME = BigInt; + PRODUCT_NAME = BigInt; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.1; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; }; - 89DC8070955DBE94BDB0FF1387A3BC69 /* Debug */ = { + 70B146F75766AA3CF946169E1A7ADF8F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 02C519FDB5FE4C5643A843724C5FACA2 /* Pods-web3swiftExample.debug.xcconfig */; + baseConfigurationReference = C91E162C53A209FDFA94395F091AF0EE /* SipHash.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/SipHash/SipHash-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = Headers/Public/SipHash/SipHash.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = SipHash; + PRODUCT_NAME = SipHash; + PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - 9E88537B08ED4D6EB44DBA7BC8D56A35 /* Debug */ = { + 7FC7B8135FDED1560A80CA98EC6F7207 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -2778,16 +2712,13 @@ CODE_SIGNING_ALLOWED = NO; CODE_SIGNING_REQUIRED = NO; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", + "POD_CONFIGURATION_RELEASE=1", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -2797,31 +2728,31 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 11.2; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SYMROOT = "${SRCROOT}/../build"; }; - name = Debug; + name = Release; }; - AA61FCC9A20C2110C2F0804265B56308 /* Debug */ = { + 993F1D7FAF8EFEFEB26D36763ADF08C8 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DABE58DA84A9A1A36E5A36F6D7751D80 /* web3swift.xcconfig */; + baseConfigurationReference = 2E25A4BC37421B57AB6AFC5F6B21A519 /* scrypt.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/web3swift/web3swift-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/scrypt/scrypt-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/web3swift/web3swift.modulemap; + MODULEMAP_FILE = Headers/Public/scrypt/scrypt.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = web3swift; - PRODUCT_NAME = web3swift; + PRODUCT_MODULE_NAME = scrypt; + PRODUCT_NAME = scrypt; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -2832,133 +2763,204 @@ }; name = Debug; }; - CAE39506F55262A7B52675045626FEDC /* Release */ = { + 9E9436ED9C6418E12F7A3F93C5DAB441 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B46845985AF612A96C9CC720A9AA1928 /* BigInt.xcconfig */; + baseConfigurationReference = 0E2E24E6150E5C09FCC81471D9E99B90 /* secp256k1_ios.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/BigInt/BigInt-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/BigInt/BigInt.modulemap; + GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios/secp256k1_ios-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MODULEMAP_FILE = Headers/Public/secp256k1_ios/secp256k1_ios.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = BigInt; - PRODUCT_NAME = BigInt; + PRODUCT_MODULE_NAME = secp256k1_ios; + PRODUCT_NAME = secp256k1_ios; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; }; - CC4807242B25096CCAA26E1DF06C0EDF /* Debug */ = { + B26A8C903BC8D3AE3522950A7BD2263B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1F48C69683BD62C478F08C59DCF2E589 /* SipHash.xcconfig */; + baseConfigurationReference = F3DB5983D5328F395EC023B6F7BA9412 /* Pods-web3swiftExample.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/SipHash/SipHash-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/SipHash/SipHash.modulemap; + IPHONEOS_DEPLOYMENT_TARGET = 11.2; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = SipHash; - PRODUCT_NAME = SipHash; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + B4A339C5C9837FC180FD2D276CBB365A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_ALLOWED = NO; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.2; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SYMROOT = "${SRCROOT}/../build"; }; name = Debug; }; - D7E9681B994FA5D49DCD073FBFF146F3 /* Debug */ = { + B9ED7A6486BCF4D742F2D1B1CFF5570F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6F569DE923E2ED82AAC896068E839D04 /* PromiseKit.xcconfig */; + baseConfigurationReference = A66255E5AEA5BC28BB87C3D0EFD8D2AA /* web3swift.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/PromiseKit/PromiseKit.modulemap; + GCC_PREFIX_HEADER = "Target Support Files/web3swift/web3swift-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MODULEMAP_FILE = Headers/Public/web3swift/web3swift.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = PromiseKit; - PRODUCT_NAME = PromiseKit; + PRODUCT_MODULE_NAME = web3swift; + PRODUCT_NAME = web3swift; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.1; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - E41AAF7DFDA89ECBA7BFE15368B9A9DB /* Release */ = { + C820CCD265BB93D16107A121C2E5EB96 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 22D34076EA0440B505461DA3E8B815CA /* Result.xcconfig */; + baseConfigurationReference = 3923B0035F9528F642633EABD2E39E97 /* CryptoSwift.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/Result/Result.modulemap; + MODULEMAP_FILE = Headers/Public/CryptoSwift/CryptoSwift.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Result; - PRODUCT_NAME = Result; + PRODUCT_MODULE_NAME = CryptoSwift; + PRODUCT_NAME = CryptoSwift; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 4.0; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.2; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; name = Release; }; - FE1C39085AF7A396BCABA7386B35719D /* Release */ = { + F6A647E0F39295E03ECEE064527336CF /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1F48C69683BD62C478F08C59DCF2E589 /* SipHash.xcconfig */; + baseConfigurationReference = 4A6B1B16288DE16421DD874A78466051 /* Result.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/SipHash/SipHash-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/SipHash/SipHash.modulemap; + MODULEMAP_FILE = Headers/Public/Result/Result.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = SipHash; - PRODUCT_NAME = SipHash; + PRODUCT_MODULE_NAME = Result; + PRODUCT_NAME = Result; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; @@ -2971,89 +2973,89 @@ 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 9E88537B08ED4D6EB44DBA7BC8D56A35 /* Debug */, - 30D948AE62C04225F8DEF8734A4C5A26 /* Release */, + B4A339C5C9837FC180FD2D276CBB365A /* Debug */, + 7FC7B8135FDED1560A80CA98EC6F7207 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3818346D5343954B4E597C23EED3945D /* Build configuration list for PBXNativeTarget "SipHash" */ = { + 4E0232B8BAE447830A17E134BCD5FC4E /* Build configuration list for PBXNativeTarget "scrypt" */ = { isa = XCConfigurationList; buildConfigurations = ( - CC4807242B25096CCAA26E1DF06C0EDF /* Debug */, - FE1C39085AF7A396BCABA7386B35719D /* Release */, + 993F1D7FAF8EFEFEB26D36763ADF08C8 /* Debug */, + 1F61E648B46E8059A6BA7643BB43C497 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 40D8E8F189B02991201B925FC09EF694 /* Build configuration list for PBXNativeTarget "scrypt" */ = { + 4E4F824E27325209F56A4EC7858E6091 /* Build configuration list for PBXNativeTarget "Pods-web3swiftExample" */ = { isa = XCConfigurationList; buildConfigurations = ( - 56CB9575B1684A547BA4A7D57E08E1BF /* Debug */, - 649468DD4EEC4BBE97F2590529B131DE /* Release */, + 50ED217796E02020588E19C68D54E32B /* Debug */, + B26A8C903BC8D3AE3522950A7BD2263B /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 5AC9B27B568F66FE744FE66340253607 /* Build configuration list for PBXNativeTarget "secp256k1_ios" */ = { + 5479530AA132063FEE7E1514B16AF961 /* Build configuration list for PBXNativeTarget "web3swift" */ = { isa = XCConfigurationList; buildConfigurations = ( - 2FC84E1C17F017C1C4E42D51BD969240 /* Debug */, - 678ACC840A9FBFC8A401F921EF4020A4 /* Release */, + 6108586F8F8F0257AB3167314622B299 /* Debug */, + B9ED7A6486BCF4D742F2D1B1CFF5570F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 60B2FB44801DB1760F455FE3C6317A14 /* Build configuration list for PBXNativeTarget "web3swift" */ = { + 57A8C2137268F228E4AE6A14F1B64A8F /* Build configuration list for PBXNativeTarget "PromiseKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - AA61FCC9A20C2110C2F0804265B56308 /* Debug */, - 7C3E2A3592D669D472C92C0689F115F0 /* Release */, + 0F2AD7A3E58FD789DAFDAD2D62E8EAE8 /* Debug */, + 08325AB7BA3DEA33A660C8DA62E9D84C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 735BEA0CBE887CE8804BF5009FF6639E /* Build configuration list for PBXNativeTarget "CryptoSwift" */ = { + 8FBF93FB50500F9A39127B851D0248BE /* Build configuration list for PBXNativeTarget "CryptoSwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - 41A318BB340ABD6902E7BAC43B72BBE7 /* Debug */, - 6B74F3A83F3D8E7C401423C9427FD70D /* Release */, + 129C407B7AA2AA4EFFB5A2F12C7C5C9F /* Debug */, + C820CCD265BB93D16107A121C2E5EB96 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 7F6E416CE690738F5CF300086B702BE2 /* Build configuration list for PBXNativeTarget "PromiseKit" */ = { + C2F0F5224D2CB877BA3BE60F8BC9AF96 /* Build configuration list for PBXNativeTarget "BigInt" */ = { isa = XCConfigurationList; buildConfigurations = ( - D7E9681B994FA5D49DCD073FBFF146F3 /* Debug */, - 0A48AA75ECBA8BA9DCD29523CFFA624B /* Release */, + 6D2EF2542636FDEBC0F444BEFF0D8586 /* Debug */, + 293DDB39182F265B42217C016494DB99 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 8EEFC91FF7E8635717F5FB26E8649000 /* Build configuration list for PBXNativeTarget "Result" */ = { + DF9E202F8E4A79152D39EF70F774415F /* Build configuration list for PBXNativeTarget "Result" */ = { isa = XCConfigurationList; buildConfigurations = ( - 4396E7E028B9BBFF539BCD229DD77984 /* Debug */, - E41AAF7DFDA89ECBA7BFE15368B9A9DB /* Release */, + 1F6504C4E48E957D125D98953B6D92A4 /* Debug */, + F6A647E0F39295E03ECEE064527336CF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 9443A20B2E1249352E90CACAC25A10F9 /* Build configuration list for PBXNativeTarget "BigInt" */ = { + F03D2FCD8A4F5A2AA17A4CE1442CBB2E /* Build configuration list for PBXNativeTarget "secp256k1_ios" */ = { isa = XCConfigurationList; buildConfigurations = ( - 0CAE229A10A3BB46B3FF44121042F4AD /* Debug */, - CAE39506F55262A7B52675045626FEDC /* Release */, + 9E9436ED9C6418E12F7A3F93C5DAB441 /* Debug */, + 513C2D1D1841AE354CC0CB3E061004D2 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - B25AC1C31D061882155E16B2A579B3E4 /* Build configuration list for PBXNativeTarget "Pods-web3swiftExample" */ = { + F3F633396C389256F8850D996A26B1BB /* Build configuration list for PBXNativeTarget "SipHash" */ = { isa = XCConfigurationList; buildConfigurations = ( - 89DC8070955DBE94BDB0FF1387A3BC69 /* Debug */, - 0B4F9E9C67FADD4CF438916CE76040B9 /* Release */, + 70B146F75766AA3CF946169E1A7ADF8F /* Debug */, + 29FB8CEE5D10AEC3F56ABDDA0E163E03 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.xcconfig index 990e77007..aab87fccd 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.xcconfig @@ -1,8 +1,7 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/BigInt GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.xcconfig index 9fc4d7452..cca9425b6 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.xcconfig @@ -1,7 +1,7 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_UNROLL_LOOPS = YES -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.plist b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.plist index 469011cd7..7c82be473 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.plist +++ b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.plist @@ -1,433 +1,5 @@ - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - -Copyright (c) 2016-2017 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - BigInt - Type - PSGroupSpecifier - - - FooterText - Copyright (C) 2014-2017 Marcin Krzyżanowski <marcin.krzyzanowski@gmail.com> -This software is provided 'as-is', without any express or implied warranty. - -In no event will the authors be held liable for any damages arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - -- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. -- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. -- This notice may not be removed or altered from any source or binary distribution. -- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' - License - Attribution - Title - CryptoSwift - Type - PSGroupSpecifier - - - FooterText - Copyright 2016-present, Max Howell; mxcl@me.com - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - License - MIT - Title - PromiseKit - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2014 Rob Rix - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - License - MIT - Title - Result - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2016 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - SipHash - Type - PSGroupSpecifier - - - FooterText - Copyright 2018 Alex Vlasov <alex.m.vlasov@gmail.com> - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - - License - Apache License 2.0 - Title - scrypt - Type - PSGroupSpecifier - - - FooterText - Copyright (c) 2017 shamatar <alex.m.vlasov@gmail.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - License - MIT - Title - secp256k1_ios - Type - PSGroupSpecifier - - - FooterText - Copyright (c) 2018 Aleksandr Vlasov, Stichting Bankex Foundation <av@bankexfoundation.org> - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2018 Stichting Bankex Foundation - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - License - Apache License 2.0 - Title - web3swift - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - + diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.debug.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.debug.xcconfig index 40ae1ec0b..f06457be5 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.debug.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.debug.xcconfig @@ -2,11 +2,11 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" "${PODS_ROOT}/Headers/Public/web3swift" LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" -isystem "${PODS_ROOT}/Headers/Public/web3swift" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" -isystem "${PODS_ROOT}/Headers/Public/web3swift" OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt" -l"CryptoSwift" -l"PromiseKit" -l"Result" -l"SipHash" -l"scrypt" -l"secp256k1_ios" -l"web3swift" -framework "CoreImage" -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" $(inherited) "-D" "COCOAPODS" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" $(PODS_TARGET_SRCROOT)/scrypt diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.release.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.release.xcconfig index 40ae1ec0b..f06457be5 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.release.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.release.xcconfig @@ -2,11 +2,11 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" "${PODS_ROOT}/Headers/Public/web3swift" LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" -isystem "${PODS_ROOT}/Headers/Public/web3swift" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" -isystem "${PODS_ROOT}/Headers/Public/web3swift" OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt" -l"CryptoSwift" -l"PromiseKit" -l"Result" -l"SipHash" -l"scrypt" -l"secp256k1_ios" -l"web3swift" -framework "CoreImage" -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" $(inherited) "-D" "COCOAPODS" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" $(PODS_TARGET_SRCROOT)/scrypt diff --git a/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig index b5a065a40..a385c9355 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig @@ -1,8 +1,7 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/PromiseKit" "${PODS_ROOT}/Headers/Public" -OTHER_LDFLAGS = -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -DPMKCocoaPods $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" -DPMKCocoaPods PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/Result/Result.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/Result/Result.xcconfig index e568bc4c1..df4fd1f5f 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/Result/Result.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/Result/Result.xcconfig @@ -1,6 +1,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Result GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.xcconfig index 2767c35ce..ff192e403 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.xcconfig @@ -1,6 +1,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SipHash GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.xcconfig index fd471d754..46b0d7da4 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.xcconfig @@ -3,9 +3,8 @@ DEFINES_MODULE = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_UNROLL_LOOPS = YES HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/scrypt" "${PODS_ROOT}/Headers/Public" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} @@ -15,6 +14,6 @@ SKIP_INSTALL = YES SWIFT_COMPILATION_MODE = wholemodule SWIFT_DISABLE_SAFETY_CHECKS = YES SWIFT_ENFORCE_EXCLUSIVE_ACCESS = compile-time -SWIFT_INCLUDE_PATHS = $(inherited) $(PODS_TARGET_SRCROOT)/scrypt "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" $(PODS_TARGET_SRCROOT)/scrypt SWIFT_OPTIMIZATION_LEVEL = -O SWIFT_WHOLE_MODULE_OPTIMIZATION = YES diff --git a/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.xcconfig index f3ffa2802..2594d1954 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.xcconfig @@ -1,12 +1,11 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/secp256k1_ios" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/secp256k1_ios/secp256k1_ios" -OTHER_CFLAGS = $(inherited) -DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3 -OTHER_SWIFT_FLAGS = $(inherited) -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_CFLAGS = -DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3 PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/secp256k1_ios PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = $(inherited) ${PODS_ROOT} +SWIFT_INCLUDE_PATHS = ${PODS_ROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.xcconfig index 07fee9460..241c0cd2b 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.xcconfig @@ -2,10 +2,8 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/web3swift DEFINES_MODULE = YES GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/web3swift" "${PODS_ROOT}/Headers/Public" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -OTHER_LDFLAGS = -framework "CoreImage" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} From e096f71eb93e25eadb63b3677c3a3df8ec71507b Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sun, 30 Sep 2018 15:46:44 +0300 Subject: [PATCH 54/66] update pod in main repo --- Example/web3swiftExample/Podfile | 4 ++-- .../Pods/Headers/Private/PromiseKit/AnyPromise.h | 1 - .../PromiseKit/NSNotificationCenter+AnyPromise.h | 1 - .../Private/PromiseKit/NSTask+AnyPromise.h | 1 - .../Private/PromiseKit/NSURLSession+AnyPromise.h | 1 - .../Headers/Private/PromiseKit/PMKFoundation.h | 1 - .../Pods/Headers/Private/PromiseKit/PMKUIKit.h | 1 - .../Pods/Headers/Private/PromiseKit/PromiseKit.h | 1 - .../Private/PromiseKit/UIView+AnyPromise.h | 1 - .../PromiseKit/UIViewController+AnyPromise.h | 1 - .../Pods/Headers/Private/PromiseKit/fwd.h | 1 - .../Pods/Headers/Private/scrypt/scrypt.h | 1 - .../Headers/Private/secp256k1_ios/basic-config.h | 1 - .../Pods/Headers/Private/secp256k1_ios/ecdsa.h | 1 - .../Headers/Private/secp256k1_ios/ecdsa_impl.h | 1 - .../Pods/Headers/Private/secp256k1_ios/eckey.h | 1 - .../Headers/Private/secp256k1_ios/eckey_impl.h | 1 - .../Pods/Headers/Private/secp256k1_ios/ecmult.h | 1 - .../Headers/Private/secp256k1_ios/ecmult_const.h | 1 - .../Private/secp256k1_ios/ecmult_const_impl.h | 1 - .../Headers/Private/secp256k1_ios/ecmult_gen.h | 1 - .../Private/secp256k1_ios/ecmult_gen_impl.h | 1 - .../Headers/Private/secp256k1_ios/ecmult_impl.h | 1 - .../Pods/Headers/Private/secp256k1_ios/field.h | 1 - .../Headers/Private/secp256k1_ios/field_10x26.h | 1 - .../Private/secp256k1_ios/field_10x26_impl.h | 1 - .../Headers/Private/secp256k1_ios/field_5x52.h | 1 - .../Private/secp256k1_ios/field_5x52_asm_impl.h | 1 - .../Private/secp256k1_ios/field_5x52_impl.h | 1 - .../secp256k1_ios/field_5x52_int128_impl.h | 1 - .../Headers/Private/secp256k1_ios/field_impl.h | 1 - .../Pods/Headers/Private/secp256k1_ios/group.h | 1 - .../Headers/Private/secp256k1_ios/group_impl.h | 1 - .../Pods/Headers/Private/secp256k1_ios/hash.h | 1 - .../Headers/Private/secp256k1_ios/hash_impl.h | 1 - .../Private/secp256k1_ios/lax_der_parsing.h | 1 - .../secp256k1_ios/lax_der_privatekey_parsing.h | 1 - .../Private/secp256k1_ios/libsecp256k1-config.h | 1 - .../Headers/Private/secp256k1_ios/main_impl.h | 1 - .../Pods/Headers/Private/secp256k1_ios/num.h | 1 - .../Pods/Headers/Private/secp256k1_ios/num_gmp.h | 1 - .../Headers/Private/secp256k1_ios/num_gmp_impl.h | 1 - .../Headers/Private/secp256k1_ios/num_impl.h | 1 - .../Pods/Headers/Private/secp256k1_ios/scalar.h | 1 - .../Headers/Private/secp256k1_ios/scalar_4x64.h | 1 - .../Private/secp256k1_ios/scalar_4x64_impl.h | 1 - .../Headers/Private/secp256k1_ios/scalar_8x32.h | 1 - .../Private/secp256k1_ios/scalar_8x32_impl.h | 1 - .../Headers/Private/secp256k1_ios/scalar_impl.h | 1 - .../Headers/Private/secp256k1_ios/scalar_low.h | 1 - .../Private/secp256k1_ios/scalar_low_impl.h | 1 - .../Pods/Headers/Private/secp256k1_ios/scratch.h | 1 - .../Headers/Private/secp256k1_ios/scratch_impl.h | 1 - .../Headers/Private/secp256k1_ios/secp256k1.h | 1 - .../Private/secp256k1_ios/secp256k1_ecdh.h | 1 - .../Private/secp256k1_ios/secp256k1_ios.h | 1 - .../Private/secp256k1_ios/secp256k1_recovery.h | 1 - .../Pods/Headers/Private/secp256k1_ios/util.h | 1 - .../web3swift/web3swift-Bridging-Header.h | 1 - .../Pods/Headers/Private/web3swift/web3swift.h | 1 - .../Pods/Headers/Public/BigInt/BigInt-umbrella.h | 1 - .../Pods/Headers/Public/BigInt/BigInt.modulemap | 1 - .../Public/CryptoSwift/CryptoSwift-umbrella.h | 1 - .../Public/CryptoSwift/CryptoSwift.modulemap | 1 - .../Pods/Headers/Public/PromiseKit/AnyPromise.h | 1 - .../PromiseKit/NSNotificationCenter+AnyPromise.h | 1 - .../Public/PromiseKit/NSTask+AnyPromise.h | 1 - .../Public/PromiseKit/NSURLSession+AnyPromise.h | 1 - .../Headers/Public/PromiseKit/PMKFoundation.h | 1 - .../Pods/Headers/Public/PromiseKit/PMKUIKit.h | 1 - .../Public/PromiseKit/PromiseKit-umbrella.h | 1 - .../Pods/Headers/Public/PromiseKit/PromiseKit.h | 1 - .../Public/PromiseKit/PromiseKit.modulemap | 1 - .../Public/PromiseKit/UIView+AnyPromise.h | 1 - .../PromiseKit/UIViewController+AnyPromise.h | 1 - .../Pods/Headers/Public/PromiseKit/fwd.h | 1 - .../Pods/Headers/Public/Result/Result-umbrella.h | 1 - .../Pods/Headers/Public/Result/Result.modulemap | 1 - .../Headers/Public/SipHash/SipHash-umbrella.h | 1 - .../Headers/Public/SipHash/SipHash.modulemap | 1 - .../Pods/Headers/Public/scrypt/scrypt-umbrella.h | 1 - .../Pods/Headers/Public/scrypt/scrypt.h | 1 - .../Pods/Headers/Public/scrypt/scrypt.modulemap | 1 - .../Headers/Public/secp256k1_ios/secp256k1.h | 1 - .../Public/secp256k1_ios/secp256k1_ecdh.h | 1 - .../secp256k1_ios/secp256k1_ios-umbrella.h | 1 - .../Public/secp256k1_ios/secp256k1_ios.modulemap | 1 - .../Public/secp256k1_ios/secp256k1_recovery.h | 1 - .../Public/web3swift/web3swift-Bridging-Header.h | 1 - .../Public/web3swift/web3swift-umbrella.h | 1 - .../Pods/Headers/Public/web3swift/web3swift.h | 1 - .../Headers/Public/web3swift/web3swift.modulemap | 1 - Podfile.lock | 16 ++++++++-------- Pods/Manifest.lock | 16 ++++++++-------- 94 files changed, 18 insertions(+), 109 deletions(-) delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/PromiseKit/AnyPromise.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/PromiseKit/NSNotificationCenter+AnyPromise.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/PromiseKit/NSTask+AnyPromise.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/PromiseKit/NSURLSession+AnyPromise.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/PromiseKit/PMKFoundation.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/PromiseKit/PMKUIKit.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/PromiseKit/PromiseKit.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/PromiseKit/UIView+AnyPromise.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/PromiseKit/UIViewController+AnyPromise.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/PromiseKit/fwd.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/scrypt/scrypt.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/basic-config.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecdsa.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecdsa_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/eckey.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/eckey_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_const.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_const_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_gen.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_gen_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_10x26.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_10x26_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_5x52.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_5x52_asm_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_5x52_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_5x52_int128_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/group.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/group_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/hash.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/hash_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/lax_der_parsing.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/lax_der_privatekey_parsing.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/libsecp256k1-config.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/main_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/num.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/num_gmp.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/num_gmp_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/num_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_4x64.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_4x64_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_8x32.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_8x32_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_low.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_low_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scratch.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scratch_impl.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/secp256k1.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/secp256k1_ecdh.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/secp256k1_ios.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/secp256k1_recovery.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/util.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/web3swift/web3swift-Bridging-Header.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Private/web3swift/web3swift.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt-umbrella.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt.modulemap delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift.modulemap delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/PromiseKit/AnyPromise.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/PromiseKit/NSNotificationCenter+AnyPromise.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/PromiseKit/NSTask+AnyPromise.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/PromiseKit/NSURLSession+AnyPromise.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PMKFoundation.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PMKUIKit.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/PromiseKit/UIView+AnyPromise.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/PromiseKit/UIViewController+AnyPromise.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/PromiseKit/fwd.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/Result/Result-umbrella.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/Result/Result.modulemap delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash-umbrella.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash.modulemap delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ecdh.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-umbrella.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_recovery.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-Bridging-Header.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-umbrella.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift.h delete mode 120000 Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift.modulemap diff --git a/Example/web3swiftExample/Podfile b/Example/web3swiftExample/Podfile index 6c030d991..0bf22bd4f 100755 --- a/Example/web3swiftExample/Podfile +++ b/Example/web3swiftExample/Podfile @@ -1,8 +1,8 @@ platform :ios, '11.2' target 'web3swiftExample' do -# use_frameworks! - use_modular_headers! + use_frameworks! + #use_modular_headers! pod 'web3swift', '~> 1.1.9' # pod 'web3swift', :git => 'https://github.com/matterinc/web3swift.git' end diff --git a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/AnyPromise.h b/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/AnyPromise.h deleted file mode 120000 index 61ce91eb0..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/AnyPromise.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Sources/AnyPromise.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/NSNotificationCenter+AnyPromise.h b/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/NSNotificationCenter+AnyPromise.h deleted file mode 120000 index fb77ce98f..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/NSNotificationCenter+AnyPromise.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/NSTask+AnyPromise.h b/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/NSTask+AnyPromise.h deleted file mode 120000 index f6f912f74..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/NSTask+AnyPromise.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Extensions/Foundation/Sources/NSTask+AnyPromise.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/NSURLSession+AnyPromise.h b/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/NSURLSession+AnyPromise.h deleted file mode 120000 index e0a210888..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/NSURLSession+AnyPromise.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Extensions/Foundation/Sources/NSURLSession+AnyPromise.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/PMKFoundation.h b/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/PMKFoundation.h deleted file mode 120000 index 53ace48f9..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/PMKFoundation.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Extensions/Foundation/Sources/PMKFoundation.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/PMKUIKit.h b/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/PMKUIKit.h deleted file mode 120000 index 1e411a5ad..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/PMKUIKit.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Extensions/UIKit/Sources/PMKUIKit.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/PromiseKit.h b/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/PromiseKit.h deleted file mode 120000 index c941a074e..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/PromiseKit.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Sources/PromiseKit.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/UIView+AnyPromise.h b/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/UIView+AnyPromise.h deleted file mode 120000 index f4831df2e..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/UIView+AnyPromise.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Extensions/UIKit/Sources/UIView+AnyPromise.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/UIViewController+AnyPromise.h b/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/UIViewController+AnyPromise.h deleted file mode 120000 index 55ef216dc..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/UIViewController+AnyPromise.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Extensions/UIKit/Sources/UIViewController+AnyPromise.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/fwd.h b/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/fwd.h deleted file mode 120000 index 282004ea1..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/PromiseKit/fwd.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Sources/fwd.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/scrypt/scrypt.h b/Example/web3swiftExample/Pods/Headers/Private/scrypt/scrypt.h deleted file mode 120000 index ea8c1e5e4..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/scrypt/scrypt.h +++ /dev/null @@ -1 +0,0 @@ -../../../scrypt/scrypt/scrypt.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/basic-config.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/basic-config.h deleted file mode 120000 index 350c92ddf..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/basic-config.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/basic-config.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecdsa.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecdsa.h deleted file mode 120000 index f4aabdb43..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecdsa.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/ecdsa.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecdsa_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecdsa_impl.h deleted file mode 120000 index 508ab9d16..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecdsa_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/ecdsa_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/eckey.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/eckey.h deleted file mode 120000 index b1913cf0b..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/eckey.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/eckey.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/eckey_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/eckey_impl.h deleted file mode 120000 index c9f278cdf..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/eckey_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/eckey_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult.h deleted file mode 120000 index 910b0a948..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/ecmult.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_const.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_const.h deleted file mode 120000 index b2e85ca32..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_const.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/ecmult_const.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_const_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_const_impl.h deleted file mode 120000 index 64501fdef..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_const_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/ecmult_const_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_gen.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_gen.h deleted file mode 120000 index fbc644656..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_gen.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/ecmult_gen.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_gen_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_gen_impl.h deleted file mode 120000 index 0242d9a1c..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_gen_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/ecmult_gen_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_impl.h deleted file mode 120000 index 69bc0ede2..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/ecmult_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/ecmult_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field.h deleted file mode 120000 index 2afcf136d..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/field.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_10x26.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_10x26.h deleted file mode 120000 index e92322792..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_10x26.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/field_10x26.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_10x26_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_10x26_impl.h deleted file mode 120000 index d311eed8e..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_10x26_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/field_10x26_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_5x52.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_5x52.h deleted file mode 120000 index ea2c4d1de..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_5x52.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/field_5x52.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_5x52_asm_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_5x52_asm_impl.h deleted file mode 120000 index c15b90e1f..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_5x52_asm_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/field_5x52_asm_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_5x52_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_5x52_impl.h deleted file mode 120000 index 98d693822..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_5x52_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/field_5x52_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_5x52_int128_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_5x52_int128_impl.h deleted file mode 120000 index e097fe97d..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_5x52_int128_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/field_5x52_int128_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_impl.h deleted file mode 120000 index 8b3a252dd..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/field_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/field_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/group.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/group.h deleted file mode 120000 index a1886a1c9..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/group.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/group.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/group_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/group_impl.h deleted file mode 120000 index 6c1051595..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/group_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/group_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/hash.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/hash.h deleted file mode 120000 index f0cf00769..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/hash.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/hash.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/hash_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/hash_impl.h deleted file mode 120000 index a9f8c4a65..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/hash_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/hash_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/lax_der_parsing.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/lax_der_parsing.h deleted file mode 120000 index d194cbfdb..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/lax_der_parsing.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/contrib/lax_der_parsing.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/lax_der_privatekey_parsing.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/lax_der_privatekey_parsing.h deleted file mode 120000 index 1a50697b7..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/lax_der_privatekey_parsing.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/contrib/lax_der_privatekey_parsing.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/libsecp256k1-config.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/libsecp256k1-config.h deleted file mode 120000 index d74badff1..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/libsecp256k1-config.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/libsecp256k1-config.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/main_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/main_impl.h deleted file mode 120000 index 0ee7989b6..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/main_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/modules/recovery/main_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/num.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/num.h deleted file mode 120000 index cdd98f099..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/num.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/num.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/num_gmp.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/num_gmp.h deleted file mode 120000 index bc8ba689a..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/num_gmp.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/num_gmp.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/num_gmp_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/num_gmp_impl.h deleted file mode 120000 index cc7e9e2f4..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/num_gmp_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/num_gmp_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/num_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/num_impl.h deleted file mode 120000 index 0f0021b3c..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/num_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/num_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar.h deleted file mode 120000 index d25c7e4a3..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scalar.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_4x64.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_4x64.h deleted file mode 120000 index 3a5248a63..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_4x64.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scalar_4x64.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_4x64_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_4x64_impl.h deleted file mode 120000 index a1988e476..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_4x64_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scalar_4x64_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_8x32.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_8x32.h deleted file mode 120000 index a5d150d90..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_8x32.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scalar_8x32.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_8x32_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_8x32_impl.h deleted file mode 120000 index e7fa5da33..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_8x32_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scalar_8x32_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_impl.h deleted file mode 120000 index 9471fc517..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scalar_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_low.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_low.h deleted file mode 120000 index 3cb8233b5..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_low.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scalar_low.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_low_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_low_impl.h deleted file mode 120000 index d46f42834..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scalar_low_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scalar_low_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scratch.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scratch.h deleted file mode 120000 index 7022d0a7e..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scratch.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scratch.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scratch_impl.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scratch_impl.h deleted file mode 120000 index ea4833ed7..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/scratch_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scratch_impl.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/secp256k1.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/secp256k1.h deleted file mode 120000 index 3ebcafc20..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/secp256k1.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/include/secp256k1.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/secp256k1_ecdh.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/secp256k1_ecdh.h deleted file mode 120000 index be8a22f32..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/secp256k1_ecdh.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/include/secp256k1_ecdh.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/secp256k1_ios.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/secp256k1_ios.h deleted file mode 120000 index 9bea4f4ca..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/secp256k1_ios.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/secp256k1_ios.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/secp256k1_recovery.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/secp256k1_recovery.h deleted file mode 120000 index 81614ea81..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/secp256k1_recovery.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/include/secp256k1_recovery.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/util.h b/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/util.h deleted file mode 120000 index 5a36f8a11..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/secp256k1_ios/util.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/util.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/web3swift/web3swift-Bridging-Header.h b/Example/web3swiftExample/Pods/Headers/Private/web3swift/web3swift-Bridging-Header.h deleted file mode 120000 index 35c6d901e..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/web3swift/web3swift-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -../../../web3swift/web3swift/web3swift-Bridging-Header.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Private/web3swift/web3swift.h b/Example/web3swiftExample/Pods/Headers/Private/web3swift/web3swift.h deleted file mode 120000 index e16e44375..000000000 --- a/Example/web3swiftExample/Pods/Headers/Private/web3swift/web3swift.h +++ /dev/null @@ -1 +0,0 @@ -../../../web3swift/web3swift/web3swift.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt-umbrella.h deleted file mode 120000 index 84822fbfe..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt-umbrella.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt.modulemap b/Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt.modulemap deleted file mode 120000 index 3299db98f..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/BigInt/BigInt.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.modulemap \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h deleted file mode 120000 index 874c61dfb..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift-umbrella.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift.modulemap b/Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift.modulemap deleted file mode 120000 index de45efa41..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/CryptoSwift/CryptoSwift.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.modulemap \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/AnyPromise.h b/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/AnyPromise.h deleted file mode 120000 index 61ce91eb0..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/AnyPromise.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Sources/AnyPromise.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/NSNotificationCenter+AnyPromise.h b/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/NSNotificationCenter+AnyPromise.h deleted file mode 120000 index fb77ce98f..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/NSNotificationCenter+AnyPromise.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/NSTask+AnyPromise.h b/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/NSTask+AnyPromise.h deleted file mode 120000 index f6f912f74..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/NSTask+AnyPromise.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Extensions/Foundation/Sources/NSTask+AnyPromise.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/NSURLSession+AnyPromise.h b/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/NSURLSession+AnyPromise.h deleted file mode 120000 index e0a210888..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/NSURLSession+AnyPromise.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Extensions/Foundation/Sources/NSURLSession+AnyPromise.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PMKFoundation.h b/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PMKFoundation.h deleted file mode 120000 index 53ace48f9..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PMKFoundation.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Extensions/Foundation/Sources/PMKFoundation.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PMKUIKit.h b/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PMKUIKit.h deleted file mode 120000 index 1e411a5ad..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PMKUIKit.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Extensions/UIKit/Sources/PMKUIKit.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h deleted file mode 120000 index 399185659..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit-umbrella.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit.h b/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit.h deleted file mode 120000 index c941a074e..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Sources/PromiseKit.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap b/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap deleted file mode 120000 index cf1260056..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.modulemap \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/UIView+AnyPromise.h b/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/UIView+AnyPromise.h deleted file mode 120000 index f4831df2e..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/UIView+AnyPromise.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Extensions/UIKit/Sources/UIView+AnyPromise.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/UIViewController+AnyPromise.h b/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/UIViewController+AnyPromise.h deleted file mode 120000 index 55ef216dc..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/UIViewController+AnyPromise.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Extensions/UIKit/Sources/UIViewController+AnyPromise.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/fwd.h b/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/fwd.h deleted file mode 120000 index 282004ea1..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/PromiseKit/fwd.h +++ /dev/null @@ -1 +0,0 @@ -../../../PromiseKit/Sources/fwd.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/Result/Result-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/Result/Result-umbrella.h deleted file mode 120000 index bbf416808..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/Result/Result-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/Result/Result-umbrella.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/Result/Result.modulemap b/Example/web3swiftExample/Pods/Headers/Public/Result/Result.modulemap deleted file mode 120000 index 29d5b188d..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/Result/Result.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/Result/Result.modulemap \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash-umbrella.h deleted file mode 120000 index c06d14bd2..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash-umbrella.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash.modulemap b/Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash.modulemap deleted file mode 120000 index 625ed68db..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/SipHash/SipHash.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.modulemap \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h deleted file mode 120000 index 5fee0461f..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt-umbrella.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.h b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.h deleted file mode 120000 index ea8c1e5e4..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.h +++ /dev/null @@ -1 +0,0 @@ -../../../scrypt/scrypt/scrypt.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap b/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap deleted file mode 120000 index f65db83fe..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/scrypt/scrypt.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.modulemap \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1.h b/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1.h deleted file mode 120000 index 3ebcafc20..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/include/secp256k1.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ecdh.h b/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ecdh.h deleted file mode 120000 index be8a22f32..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ecdh.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/include/secp256k1_ecdh.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-umbrella.h deleted file mode 120000 index 415aa9908..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios-umbrella.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap b/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap deleted file mode 120000 index 42c348637..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.modulemap \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_recovery.h b/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_recovery.h deleted file mode 120000 index 81614ea81..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/secp256k1_ios/secp256k1_recovery.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/include/secp256k1_recovery.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-Bridging-Header.h b/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-Bridging-Header.h deleted file mode 120000 index 35c6d901e..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -../../../web3swift/web3swift/web3swift-Bridging-Header.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-umbrella.h b/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-umbrella.h deleted file mode 120000 index dd1a39dc1..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift-umbrella.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift.h b/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift.h deleted file mode 120000 index e16e44375..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift.h +++ /dev/null @@ -1 +0,0 @@ -../../../web3swift/web3swift/web3swift.h \ No newline at end of file diff --git a/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift.modulemap b/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift.modulemap deleted file mode 120000 index 30c1f35cb..000000000 --- a/Example/web3swiftExample/Pods/Headers/Public/web3swift/web3swift.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/petrkorolev/repo/web3swift/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.modulemap \ No newline at end of file diff --git a/Podfile.lock b/Podfile.lock index 2e97bce91..03b2add5c 100755 --- a/Podfile.lock +++ b/Podfile.lock @@ -2,14 +2,14 @@ PODS: - BigInt (3.1.0): - SipHash (~> 1.2) - CryptoSwift (0.12.0) - - PromiseKit (6.4.0): - - PromiseKit/CorePromise (= 6.4.0) - - PromiseKit/Foundation (= 6.4.0) - - PromiseKit/UIKit (= 6.4.0) - - PromiseKit/CorePromise (6.4.0) - - PromiseKit/Foundation (6.4.0): + - PromiseKit (6.4.1): + - PromiseKit/CorePromise (= 6.4.1) + - PromiseKit/Foundation (= 6.4.1) + - PromiseKit/UIKit (= 6.4.1) + - PromiseKit/CorePromise (6.4.1) + - PromiseKit/Foundation (6.4.1): - PromiseKit/CorePromise - - PromiseKit/UIKit (6.4.0): + - PromiseKit/UIKit (6.4.1): - PromiseKit/CorePromise - Result (4.0.0) - scrypt (2.0): @@ -46,7 +46,7 @@ CHECKOUT OPTIONS: SPEC CHECKSUMS: BigInt: 76b5dfdfa3e2e478d4ffdf161aeede5502e2742f CryptoSwift: 1c07ca50843dd48bc54e6ea53d7a4dba3b645716 - PromiseKit: ae3616f45d7bb9bf4ff1e91abc9b7a8c48a340e0 + PromiseKit: 4c76a6506638034e3d7bede97b2ff7743f7bd2dc Result: 7645bb3f50c2ce726dd0ff2fa7b6f42bbe6c3713 scrypt: 3fe5b1a3b0976f97cd87488673a8f7c65708cc84 secp256k1_ios: ac9ef04e761f43c58012b28548afa91493761f17 diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock index 2e97bce91..03b2add5c 100755 --- a/Pods/Manifest.lock +++ b/Pods/Manifest.lock @@ -2,14 +2,14 @@ PODS: - BigInt (3.1.0): - SipHash (~> 1.2) - CryptoSwift (0.12.0) - - PromiseKit (6.4.0): - - PromiseKit/CorePromise (= 6.4.0) - - PromiseKit/Foundation (= 6.4.0) - - PromiseKit/UIKit (= 6.4.0) - - PromiseKit/CorePromise (6.4.0) - - PromiseKit/Foundation (6.4.0): + - PromiseKit (6.4.1): + - PromiseKit/CorePromise (= 6.4.1) + - PromiseKit/Foundation (= 6.4.1) + - PromiseKit/UIKit (= 6.4.1) + - PromiseKit/CorePromise (6.4.1) + - PromiseKit/Foundation (6.4.1): - PromiseKit/CorePromise - - PromiseKit/UIKit (6.4.0): + - PromiseKit/UIKit (6.4.1): - PromiseKit/CorePromise - Result (4.0.0) - scrypt (2.0): @@ -46,7 +46,7 @@ CHECKOUT OPTIONS: SPEC CHECKSUMS: BigInt: 76b5dfdfa3e2e478d4ffdf161aeede5502e2742f CryptoSwift: 1c07ca50843dd48bc54e6ea53d7a4dba3b645716 - PromiseKit: ae3616f45d7bb9bf4ff1e91abc9b7a8c48a340e0 + PromiseKit: 4c76a6506638034e3d7bede97b2ff7743f7bd2dc Result: 7645bb3f50c2ce726dd0ff2fa7b6f42bbe6c3713 scrypt: 3fe5b1a3b0976f97cd87488673a8f7c65708cc84 secp256k1_ios: ac9ef04e761f43c58012b28548afa91493761f17 From dbf0f978457fb7101321f35cca0cd1151b8384a0 Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Sun, 30 Sep 2018 15:53:36 +0300 Subject: [PATCH 55/66] made Example works again. --- Example/web3swiftExample/Podfile | 5 +- Example/web3swiftExample/Podfile.lock | 4 +- .../Local Podspecs/web3swift.podspec.json | 51 - Example/web3swiftExample/Pods/Manifest.lock | 4 +- .../Pods/Pods.xcodeproj/project.pbxproj | 4368 +++++++++-------- .../web3swiftExample/Pods/SipHash/LICENSE.md | 0 .../web3swiftExample/Pods/SipHash/README.md | 0 .../SipHash/SipHash/Primitive Types.swift | 0 .../Pods/SipHash/SipHash/RandomUInt64.swift | 0 .../Pods/SipHash/SipHash/SipHashable.swift | 0 .../Pods/SipHash/SipHash/SipHasher.swift | 0 .../Info.plist => BigInt/BigInt-Info.plist} | 2 +- .../BigInt/BigInt-dummy.m | 0 .../BigInt/BigInt-prefix.pch | 0 .../BigInt/BigInt-umbrella.h | 0 .../BigInt/BigInt.modulemap | 2 +- .../BigInt/BigInt.xcconfig | 6 +- .../CryptoSwift/CryptoSwift-Info.plist | 26 + .../CryptoSwift/CryptoSwift-dummy.m | 0 .../CryptoSwift/CryptoSwift-prefix.pch | 0 .../CryptoSwift/CryptoSwift-umbrella.h | 0 .../CryptoSwift/CryptoSwift.modulemap | 2 +- .../CryptoSwift/CryptoSwift.xcconfig | 2 +- ...plist => Pods-web3swiftExample-Info.plist} | 0 ...web3swiftExample-acknowledgements.markdown | 0 ...ds-web3swiftExample-acknowledgements.plist | 430 +- .../Pods-web3swiftExample-dummy.m | 0 .../Pods-web3swiftExample-frameworks.sh | 30 +- .../Pods-web3swiftExample-resources.sh | 118 - .../Pods-web3swiftExample-umbrella.h | 0 .../Pods-web3swiftExample.debug.xcconfig | 12 +- .../Pods-web3swiftExample.modulemap | 2 +- .../Pods-web3swiftExample.release.xcconfig | 12 +- .../PromiseKit-Info.plist} | 2 +- .../PromiseKit/PromiseKit-dummy.m | 0 .../PromiseKit/PromiseKit-prefix.pch | 0 .../PromiseKit/PromiseKit.modulemap | 2 +- .../PromiseKit/PromiseKit.xcconfig | 4 +- .../Info.plist => Result/Result-Info.plist} | 2 +- .../Result/Result-dummy.m | 0 .../Result/Result-prefix.pch | 0 .../Result/Result-umbrella.h | 0 .../Result/Result.modulemap | 2 +- .../Result/Result.xcconfig | 2 +- .../{Info.plist => SipHash-Info.plist} | 2 +- .../SipHash/SipHash-dummy.m | 0 .../SipHash/SipHash-prefix.pch | 0 .../SipHash/SipHash-umbrella.h | 0 .../SipHash/SipHash.modulemap | 2 +- .../SipHash/SipHash.xcconfig | 2 +- .../scrypt/scrypt-Info.plist | 26 + .../scrypt/scrypt.modulemap | 2 +- .../scrypt/scrypt.xcconfig | 8 +- .../{Info.plist => secp256k1_ios-Info.plist} | 0 .../secp256k1_ios/secp256k1_ios-dummy.m | 0 .../secp256k1_ios/secp256k1_ios-prefix.pch | 0 .../secp256k1_ios/secp256k1_ios-umbrella.h | 0 .../secp256k1_ios/secp256k1_ios.modulemap | 2 +- .../secp256k1_ios/secp256k1_ios.xcconfig | 2 +- .../Target Support Files/web3swift/Info.plist | 26 - .../web3swift/web3swift-Info.plist | 26 + .../web3swift/web3swift-dummy.m | 0 .../web3swift/web3swift-prefix.pch | 0 .../web3swift/web3swift-umbrella.h | 0 .../web3swift/web3swift.modulemap | 2 +- .../web3swift/web3swift.xcconfig | 7 +- .../scrypt/Cimpl.c} | 203 +- .../pbkdf2-sha256.h => scrypt/scrypt/Cimpl.h} | 36 +- .../Pods/secp256k1_ios/LICENSE | 0 .../Pods/secp256k1_ios/README.md | 0 .../secp256k1_ios/contrib/lax_der_parsing.c | 0 .../secp256k1_ios/contrib/lax_der_parsing.h | 0 .../contrib/lax_der_privatekey_parsing.c | 0 .../contrib/lax_der_privatekey_parsing.h | 0 .../secp256k1_ios/include/secp256k1.h | 0 .../secp256k1_ios/include/secp256k1_ecdh.h | 0 .../include/secp256k1_recovery.h | 0 .../secp256k1_ios/libsecp256k1-config.h | 0 .../secp256k1_ios/secp256k1_ios.h | 0 .../secp256k1_ios/src/basic-config.h | 0 .../secp256k1_ios/secp256k1_ios/src/ecdsa.h | 0 .../secp256k1_ios/src/ecdsa_impl.h | 0 .../secp256k1_ios/secp256k1_ios/src/eckey.h | 0 .../secp256k1_ios/src/eckey_impl.h | 0 .../secp256k1_ios/secp256k1_ios/src/ecmult.h | 0 .../secp256k1_ios/src/ecmult_const.h | 0 .../secp256k1_ios/src/ecmult_const_impl.h | 0 .../secp256k1_ios/src/ecmult_gen.h | 0 .../secp256k1_ios/src/ecmult_gen_impl.h | 0 .../secp256k1_ios/src/ecmult_impl.h | 0 .../secp256k1_ios/secp256k1_ios/src/field.h | 0 .../secp256k1_ios/src/field_10x26.h | 0 .../secp256k1_ios/src/field_10x26_impl.h | 0 .../secp256k1_ios/src/field_5x52.h | 0 .../secp256k1_ios/src/field_5x52_asm_impl.h | 0 .../secp256k1_ios/src/field_5x52_impl.h | 0 .../src/field_5x52_int128_impl.h | 0 .../secp256k1_ios/src/field_impl.h | 0 .../secp256k1_ios/secp256k1_ios/src/group.h | 0 .../secp256k1_ios/src/group_impl.h | 0 .../secp256k1_ios/secp256k1_ios/src/hash.h | 0 .../secp256k1_ios/src/hash_impl.h | 0 .../src/modules/ecdh/main_impl.h | 0 .../secp256k1_ios/secp256k1_ios/src/num.h | 0 .../secp256k1_ios/secp256k1_ios/src/num_gmp.h | 0 .../secp256k1_ios/src/num_gmp_impl.h | 0 .../secp256k1_ios/src/num_impl.h | 0 .../secp256k1_ios/secp256k1_ios/src/scalar.h | 0 .../secp256k1_ios/src/scalar_4x64.h | 0 .../secp256k1_ios/src/scalar_4x64_impl.h | 0 .../secp256k1_ios/src/scalar_8x32.h | 0 .../secp256k1_ios/src/scalar_8x32_impl.h | 0 .../secp256k1_ios/src/scalar_impl.h | 0 .../secp256k1_ios/src/scalar_low.h | 0 .../secp256k1_ios/src/scalar_low_impl.h | 0 .../secp256k1_ios/secp256k1_ios/src/scratch.h | 0 .../secp256k1_ios/src/scratch_impl.h | 0 .../secp256k1_ios/src/secp256k1.c | 0 .../secp256k1_ios/secp256k1_ios/src/util.h | 0 .../{ABI => Utils}/Classes/RLP.swift | 11 +- .../project.pbxproj | 45 +- .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../AppIcon.appiconset/Contents.json | 5 + 124 files changed, 2981 insertions(+), 2524 deletions(-) mode change 100755 => 100644 Example/web3swiftExample/Podfile.lock delete mode 100755 Example/web3swiftExample/Pods/Local Podspecs/web3swift.podspec.json mode change 100755 => 100644 Example/web3swiftExample/Pods/Manifest.lock mode change 100755 => 100644 Example/web3swiftExample/Pods/SipHash/LICENSE.md mode change 100755 => 100644 Example/web3swiftExample/Pods/SipHash/README.md mode change 100755 => 100644 Example/web3swiftExample/Pods/SipHash/SipHash/Primitive Types.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/SipHash/SipHash/RandomUInt64.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/SipHash/SipHash/SipHashable.swift mode change 100755 => 100644 Example/web3swiftExample/Pods/SipHash/SipHash/SipHasher.swift rename Example/web3swiftExample/Pods/Target Support Files/{Result/Info.plist => BigInt/BigInt-Info.plist} (96%) mode change 100755 => 100644 mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt-dummy.m mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt-prefix.pch mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt-umbrella.h mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.modulemap create mode 100644 Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift-Info.plist mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift-dummy.m mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift-prefix.pch mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift-umbrella.h mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.modulemap rename Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/{Info.plist => Pods-web3swiftExample-Info.plist} (100%) mode change 100755 => 100644 mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.markdown mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-dummy.m delete mode 100755 Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-resources.sh mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-umbrella.h mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap rename Example/web3swiftExample/Pods/Target Support Files/{BigInt/Info.plist => PromiseKit/PromiseKit-Info.plist} (96%) mode change 100755 => 100644 mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit-dummy.m mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit-prefix.pch rename Example/web3swiftExample/Pods/Target Support Files/{CryptoSwift/Info.plist => Result/Result-Info.plist} (96%) mode change 100755 => 100644 mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/Result/Result-dummy.m mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/Result/Result-prefix.pch mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/Result/Result-umbrella.h mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/Result/Result.modulemap rename Example/web3swiftExample/Pods/Target Support Files/SipHash/{Info.plist => SipHash-Info.plist} (96%) mode change 100755 => 100644 mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash-dummy.m mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash-prefix.pch mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash-umbrella.h mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.modulemap create mode 100644 Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt-Info.plist rename Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/{Info.plist => secp256k1_ios-Info.plist} (100%) mode change 100755 => 100644 mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios-dummy.m mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios-prefix.pch mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios-umbrella.h mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.modulemap delete mode 100755 Example/web3swiftExample/Pods/Target Support Files/web3swift/Info.plist create mode 100644 Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift-Info.plist mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift-dummy.m mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift-prefix.pch mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift-umbrella.h mode change 100755 => 100644 Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.modulemap rename Example/web3swiftExample/Pods/{libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c => scrypt/scrypt/Cimpl.c} (78%) mode change 100755 => 100644 rename Example/web3swiftExample/Pods/{libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h => scrypt/scrypt/Cimpl.h} (68%) mode change 100755 => 100644 mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/LICENSE mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/README.md mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_parsing.c mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_parsing.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_privatekey_parsing.c mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_privatekey_parsing.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/include/secp256k1.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/include/secp256k1_ecdh.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/include/secp256k1_recovery.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/libsecp256k1-config.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/secp256k1_ios.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/basic-config.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecdsa.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecdsa_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/eckey.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/eckey_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecmult.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_const.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_const_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_gen.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_gen_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_10x26.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_10x26_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_asm_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_int128_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/group.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/group_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/hash.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/hash_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/modules/ecdh/main_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/num.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/num_gmp.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/num_gmp_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/num_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_4x64.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_4x64_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_8x32.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_8x32_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_low.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_low_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scratch.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scratch_impl.h mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/secp256k1.c mode change 100755 => 100644 Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/util.h rename Example/web3swiftExample/Pods/web3swift/web3swift/{ABI => Utils}/Classes/RLP.swift (96%) mode change 100755 => 100644 Example/web3swiftExample/web3swiftExample.xcodeproj/project.pbxproj mode change 100755 => 100644 Example/web3swiftExample/web3swiftExample.xcworkspace/contents.xcworkspacedata delete mode 100755 Example/web3swiftExample/web3swiftExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/Example/web3swiftExample/Podfile b/Example/web3swiftExample/Podfile index 0bf22bd4f..cbc7cf07a 100755 --- a/Example/web3swiftExample/Podfile +++ b/Example/web3swiftExample/Podfile @@ -1,8 +1,9 @@ -platform :ios, '11.2' +source 'https://github.com/CocoaPods/Specs.git' +platform :ios, '9.0' target 'web3swiftExample' do use_frameworks! #use_modular_headers! - pod 'web3swift', '~> 1.1.9' + pod 'web3swift' # pod 'web3swift', :git => 'https://github.com/matterinc/web3swift.git' end diff --git a/Example/web3swiftExample/Podfile.lock b/Example/web3swiftExample/Podfile.lock old mode 100755 new mode 100644 index 860e84d2d..589033287 --- a/Example/web3swiftExample/Podfile.lock +++ b/Example/web3swiftExample/Podfile.lock @@ -25,7 +25,7 @@ PODS: - secp256k1_ios (~> 0.1) DEPENDENCIES: - - web3swift (~> 1.1.9) + - web3swift SPEC REPOS: https://github.com/cocoapods/specs.git: @@ -48,6 +48,6 @@ SPEC CHECKSUMS: SipHash: fad90a4683e420c52ef28063063dbbce248ea6d4 web3swift: 4895c765c9858eb4737ef222eb8643bb5fc7fdb3 -PODFILE CHECKSUM: 8d61818b8900609b53352708ddba0659befd3536 +PODFILE CHECKSUM: 6d9e2706704c1b04a380df8a28b2457bc4f325b1 COCOAPODS: 1.6.0.beta.1 diff --git a/Example/web3swiftExample/Pods/Local Podspecs/web3swift.podspec.json b/Example/web3swiftExample/Pods/Local Podspecs/web3swift.podspec.json deleted file mode 100755 index 09910daff..000000000 --- a/Example/web3swiftExample/Pods/Local Podspecs/web3swift.podspec.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "web3swift", - "version": "1.1.5", - "summary": "Web3 implementation in vanilla Swift for iOS ans macOS", - "description": "Web3 implementation in vanilla Swift, intended for mobile developers of wallets, Dapps and Web3.0", - "homepage": "https://github.com/bankex/web3swift", - "license": "Apache License 2.0", - "authors": { - "Alex Vlasov": "av@bankexfoundation.org" - }, - "source": { - "git": "https://github.com/bankex/web3swift.git", - "tag": "1.1.5" - }, - "social_media_url": "https://twitter.com/shamatar", - "swift_version": "4.1", - "module_name": "web3swift", - "platforms": { - "ios": "9.0", - "osx": "10.11" - }, - "public_header_files": "web3swift/**/*.{h}", - "source_files": [ - "web3swift/**/*.{h,swift}", - "web3swift/**/*.{h}" - ], - "pod_target_xcconfig": { - "DEFINES_MODULE": "YES" - }, - "frameworks": "CoreImage", - "dependencies": { - "BigInt": [ - "~> 3.1" - ], - "Result": [ - "~> 3.0" - ], - "CryptoSwift": [ - "~> 0.11" - ], - "secp256k1_ios": [ - "~> 0.1" - ], - "PromiseKit": [ - "~> 6.3" - ], - "scrypt": [ - "~> 1.5" - ] - } -} diff --git a/Example/web3swiftExample/Pods/Manifest.lock b/Example/web3swiftExample/Pods/Manifest.lock old mode 100755 new mode 100644 index 860e84d2d..589033287 --- a/Example/web3swiftExample/Pods/Manifest.lock +++ b/Example/web3swiftExample/Pods/Manifest.lock @@ -25,7 +25,7 @@ PODS: - secp256k1_ios (~> 0.1) DEPENDENCIES: - - web3swift (~> 1.1.9) + - web3swift SPEC REPOS: https://github.com/cocoapods/specs.git: @@ -48,6 +48,6 @@ SPEC CHECKSUMS: SipHash: fad90a4683e420c52ef28063063dbbce248ea6d4 web3swift: 4895c765c9858eb4737ef222eb8643bb5fc7fdb3 -PODFILE CHECKSUM: 8d61818b8900609b53352708ddba0659befd3536 +PODFILE CHECKSUM: 6d9e2706704c1b04a380df8a28b2457bc4f325b1 COCOAPODS: 1.6.0.beta.1 diff --git a/Example/web3swiftExample/Pods/Pods.xcodeproj/project.pbxproj b/Example/web3swiftExample/Pods/Pods.xcodeproj/project.pbxproj index 218d4af57..e5e16d320 100644 --- a/Example/web3swiftExample/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/web3swiftExample/Pods/Pods.xcodeproj/project.pbxproj @@ -7,1726 +7,1821 @@ objects = { /* Begin PBXBuildFile section */ - 0069D192EEB5FD6E4FE6CE081766BF84 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED32FA320D4B20F774457FA9C15F4DD2 /* Int+Extension.swift */; }; - 0075468647D0FFC3AAED89F1F23D66CF /* PlainKeystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 785088A8C7337172C11F39BC9A4A9321 /* PlainKeystore.swift */; }; - 00A7C1597DE9265F746EA649878A668C /* BIP32HDNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D22A1274D72F8069BBEBF15A847277B5 /* BIP32HDNode.swift */; }; - 011C7540AA287C97361474C15BEC543C /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A355B05B0BED16919207A4BD94258BA /* PKCS7Padding.swift */; }; - 02B1E2D6F7BBED451D46B09035722FA0 /* BIP39.swift in Sources */ = {isa = PBXBuildFile; fileRef = B230E8C1B6762E788B76F2AA859FF02E /* BIP39.swift */; }; - 0342898ED680F5682ED857AD2025247D /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BD8F7B538E9955AD6B31C5548E85E3A /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 03C3AFC1A73CC721DFC025DA0492B8F7 /* AnyError.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCD3FB4606DD884C6F35F97D863A296F /* AnyError.swift */; }; - 045FA7F5C4FA073D115933C8046C954D /* KeystoreManager+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7F281434684B8C111CACBAE1BCD1B8A /* KeystoreManager+ObjC.swift */; }; - 04BAB9000ECA1DF9525E0A15D715B307 /* RandomUInt64.swift in Sources */ = {isa = PBXBuildFile; fileRef = B71A2239207EC9A9FD4F65D23E822396 /* RandomUInt64.swift */; }; - 05DCD2FC5F3843251C1B431881F46A15 /* ABIv2TypeParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4DBB0B96A0D97186D0D275913EFB6F4 /* ABIv2TypeParser.swift */; }; - 061CD8DF38E45A06BCA57538669821F8 /* after.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C8EDCC12EBCA64B4D3B9C433300DD15 /* after.swift */; }; - 06346EDCC1E2F52FE78341A96C1C2E80 /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 414BCF28F898344A3ACB4CFA9EAC0C6A /* ResultProtocol.swift */; }; - 08126F596F171C58B2CDD7314A1129D6 /* Web3+HttpProvider+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D1A082C236FA698192257797E4895EC /* Web3+HttpProvider+ObjC.swift */; }; - 090FC12C45ED8F6A69B4E632DFE94915 /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39746AC697FEEA2BEB3737B0A0ADB594 /* SecureBytes.swift */; }; - 0BC51526B2D3116FE16EBE44DA507D3C /* EIP681.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CCD691C76047A933F592EC30383C674 /* EIP681.swift */; }; - 0C3AE310B1F97E722879135D91FC439B /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = BA06B61BC294257DACC3E1D0FD32DA53 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0C76323B6074D43A33E958630E2FA2B8 /* Promise+Web3+Eth+GetBlockByHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77BA68E17B6BB6941FB1F5C040C24663 /* Promise+Web3+Eth+GetBlockByHash.swift */; }; - 0E285E910A32BEC3C90AE7FCD361AD63 /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF39ECE02AE8493AAF47EDD68429E007 /* CipherModeWorker.swift */; }; - 0E4E5A6466DC27E019E10B79F0AB77EA /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FE8C570A67B72F1871BDC1419D7B753 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0E595594925920B81CBDC1EF1F737727 /* Words and Bits.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60BC0AB6A6A28CC649B0FF506918AB6F /* Words and Bits.swift */; }; - 0F0DCA8CBC42D5EBFAE1401F86393B1A /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4FEF4545266F6206AEB6A317C63BDC2 /* Thenable.swift */; }; - 0F122728D41D7ACC67337E2E602B04A9 /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 753FBDA47B0F3ABF841BFB35EE89BF17 /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 104041B63A33F6C978EBE1042E7F36C6 /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA571FCCE0EC4EA1D6F0234A756DE463 /* HMAC+Foundation.swift */; }; - 1393314FA30ED036A4876EED12EF15DF /* BigInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FDA429500C1942B661A657EA51E45DD /* BigInt.swift */; }; - 13BB14D730491354406F32259BFA9257 /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 75D06CDEDBF36C342B7FFE38F8F51A90 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 13DFC709B5090CE924800551AE5D9808 /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78EB2D7AF07B5FB60C2DE1449E308285 /* AES.Cryptors.swift */; }; - 1418FE8C38CFB0A63618CB505778FF1A /* String Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83028A48F74FCB58CD998F99671B2730 /* String Conversion.swift */; }; - 168BDC656BAAED4F5FC8CF368D073EF2 /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A81B88260492B4477381A6A631B8D02 /* GCM.swift */; }; - 16BD01485AEA764E1D7AE403EDAA7CAC /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E7E12DF7A156B87C52342DADEF5F3D9 /* CTR.swift */; }; - 175846F537D8B12473C9BD1BC7664B16 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 1726EC7BDEA2D89FB4D2AD0CE0562EB0 /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1774B3B2CE80448F302A78251D87401A /* Web3+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 292938D4E2E614F82D7E4A4A53919089 /* Web3+ObjC.swift */; }; - 17A85E0EC18A32952F779A75E09AB131 /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC0FD9DB2AEDA0136A6B828690C3BE23 /* UInt8+Extension.swift */; }; - 1802CDD64DFC896D6C4107DE83FB1BF2 /* NSObject+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F6CCA99139E9FA673025D313067429D /* NSObject+Promise.swift */; }; - 1819715D4AE9B9E34CC6884404B925A7 /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F4ED35987097AEB911D8C66F9DBBFB9 /* String+FoundationExtension.swift */; }; - 1827A2E7503354E5079D35079745DE19 /* CryptoSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D0BFE961FEE019F0474CC71591FBA21 /* CryptoSwift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 185B22077187E274AD1554F64AEDCD02 /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = CD6A176D312F0AE31DF835BCA4A0F342 /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1876693CC43D85F269BADE3E768EDA7D /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = E3FCFAFE5E2F92BF925E516BA5C6D586 /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 19127EBDCFDCA18FB791457D9636554A /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75BBEA9589DE194D6D03679EDBDB8F36 /* Collection+Extension.swift */; }; - 193BCB45EB2F96FFD27337F8D2D9603F /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = B225A007A4268038A9E454D13111A89D /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1A4B5F4283534B7876F0797D79743E7C /* UIView+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D9827104D7B5DA3C16491C9811CC664 /* UIView+Promise.swift */; }; - 1AA2BEDB70F75FB46C0DDEAF37624686 /* race.m in Sources */ = {isa = PBXBuildFile; fileRef = 95F9DAFFDEA63060E250D163213F0C61 /* race.m */; }; - 1AEA4CC9FAFDF49652633E9DBE16D80E /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FDC70BC746BDB97351736B2E75A507F /* AES.swift */; }; - 1B3A7F77E5D5CE5F8E299A6B6FC3239D /* AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C56A8FF9537CCF10D87B749E9F62732 /* AnyPromise.m */; }; - 1C161B8EA65B5BDAE68E60F1554853DD /* ABIv2Encoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = C79C70AB4E5DF69385497C717CEBFB75 /* ABIv2Encoding.swift */; }; - 1EE14F44BE6D7C6D015982EBCB62366B /* Square Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E651A4C1D8411BB17C4D0A883ECCE95 /* Square Root.swift */; }; - 1F775B3A5B3F7AD66C937140F5D64981 /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D699FB2D6E241D8DD3F2A527E0F732E /* RandomBytesSequence.swift */; }; - 202EDC7A61D90D385D5A163E66665BF7 /* Web3+Methods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9778E61DBD908F7C81939F9640787434 /* Web3+Methods.swift */; }; - 21BEF33F6A2B374B486F089628B99B25 /* PromiseKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 03427BFCE54F27CE4E2B39BF4A10CC94 /* PromiseKit-dummy.m */; }; - 21C57C5726D2EB337172882289EBA3B6 /* Promise+Web3+Eth+GetTransactionReceipt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 376411273811B98AA866A25753F7A66E /* Promise+Web3+Eth+GetTransactionReceipt.swift */; }; - 22DCAC3A73E88CA5628BC1FEB5DBA99F /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = 20CB207C8B0FDA2529F2F5D253C4A534 /* fwd.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 22FD54B4C827131C4D684D2EAA053145 /* Promise+Web3+Eth+Call.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1065518E9270D7BB4FC633894765466D /* Promise+Web3+Eth+Call.swift */; }; - 2498514CC27CCDFE8E81FAE89A1A286B /* ContractProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D8007518DBD2C969B8AF1A986FF45C9 /* ContractProtocol.swift */; }; - 27FE3E93F1532DBADEF4E265BECD3B77 /* Web3+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20B0DF172F7BCE780CE4325B9FA737E8 /* Web3+Utils.swift */; }; - 2A1C4A8A8BA9576AE5DF448DB426C023 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D7BB0E009A62667D94F3144CF4F0FA0 /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2A8F6944A9B01C4D77F755677E3B50CD /* Exponentiation.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD0A982799C4459FD2E3166540B9A18D /* Exponentiation.swift */; }; - 2B4AEEF5291AF4C54375103E51B33EED /* Strideable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76C5EBB02B365D308E28575CC36D5CA0 /* Strideable.swift */; }; - 2C9C89045C33D64985BF4225219BD28A /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = C0330E643D2770F7C6D422B4085388DA /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2DD6BC67B196FDEB6520629498A29D83 /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = B5B0E053F4769044408474F4EDD0450B /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2EB9A7BDFE7194105B1D955541456E8E /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = D3D75A6D93D9A7DF105F25DC93688461 /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2FDA0E6E5364186683841D4CB7F2AA96 /* web3swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BB92D928E7F0A70EED5685C3FCC2629 /* web3swift-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 30E55EC1173BE1FB08D744675769DBD2 /* EthereumFilterEncodingExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EDABCC9E8C9DBD6F0354ADD3FC0D47B /* EthereumFilterEncodingExtensions.swift */; }; - 31BE361F12FECC822B92E13681857FD0 /* Promise+HttpProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = C93101B181E8AABEB131C0915B6F3015 /* Promise+HttpProvider.swift */; }; - 328764F572D114FE4FD89859EA7D0C82 /* NoError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 598C899118EB120568F6595B3CA4CF62 /* NoError.swift */; }; - 331CE8D8224F71C9D3D70DC1801A1715 /* Promise+Web3+Contract+GetIndexedEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47C25EDDC521B2D33E3E14E53A09B8CB /* Promise+Web3+Contract+GetIndexedEvents.swift */; }; - 337A8793B004627DE63C9C9F3718957B /* dispatch_promise.m in Sources */ = {isa = PBXBuildFile; fileRef = 53053374B0830B4CF86F4E46A7232798 /* dispatch_promise.m */; }; - 3401E200180CF3B6563B96FEAF55CA94 /* Result-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 63CAA63FD9DC75F798C3FEB9BDC9E1C3 /* Result-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 35923DB1A6781812B8913ECD0416D749 /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = B3AE1B016C720A6861CFEEED6B0B1E5D /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 36306880A632F6028A29C9EF3AF21D76 /* Web3+Infura.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B07F39C278099EF682E0CE68BCD5498 /* Web3+Infura.swift */; }; - 36A0040F0878B1983F1EA1303DEA3A8A /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 078AF53D6A07F762432A2424B5D58161 /* StreamEncryptor.swift */; }; - 36CD9E2F0BD86A31E701E02DAB5AE6F2 /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7653D4CA3F95CD7C0BD5C5634BC8726 /* Authenticator.swift */; }; - 37457234666FBA7DF56C16652038067A /* Dictionary+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BB13364DA7A1C04B41722DD1B785D8E /* Dictionary+Extension.swift */; }; - 37741FB620689069751B06889B7C7143 /* Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9008A60A0D23BDC48F41DFAA7F9FBA08 /* Comparable.swift */; }; - 37F32E3E1902C1C57EEC4067E506189D /* BIP32KeystoreJSONStructure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17030AF3741AF00A5A580D4345C62671 /* BIP32KeystoreJSONStructure.swift */; }; - 390BD2F5D6EE5DC4869B75A58E5A45D9 /* scrypt-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 132EEA6FACDEAEC8CD7FD1339E7D9008 /* scrypt-dummy.m */; }; - 39CDE4B10C60D85F37F77C939C51E074 /* Shifts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 693EA8BE7F3922FAB6C8D9FB9B29DD52 /* Shifts.swift */; }; - 3A0B9F7D652FAD6B6F41E8ECBC672B2E /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9D56D5E5F9EF5E2211C743FEDCBAADD /* String+Extension.swift */; }; - 3B670C333D1FA4301955FC92E0ADE64A /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 474585527D4B8900A32D2242E978847F /* NSNotificationCenter+AnyPromise.m */; }; - 3B85CE7D9D64282311FA54DBC8286756 /* Promise+Web3+Eth+GetBlockByNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 891D55C717F344B9C14142E735B75843 /* Promise+Web3+Eth+GetBlockByNumber.swift */; }; - 3C3E2109D1CACB25EAFAF06D4238567E /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AB539FAAC4756E9D732FC45FA73B7D3 /* Blowfish.swift */; }; - 3CB14077F8EC08C91CC67F7A527B417E /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 735E74D1B58493E7131A357B28151246 /* AEAD.swift */; }; - 3CB94F4227FD789E4DF19BE266778FA8 /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 912B8C0B1FBC7A948BA82A00E7045D27 /* Deprecations.swift */; }; - 3E3087E0AF2608D58EFD71B57D6FF5D5 /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = B1AF162652CC96EC4E7AA8713BEEF5B7 /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3F1665AFCA874E77038222C32CA21CF4 /* TransactionSigner.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1E9E05C913C27A3BCDC1B5C783DE9B9 /* TransactionSigner.swift */; }; - 403488C6FD6D81EC1837EB3785B143A7 /* Guarantee.swift in Sources */ = {isa = PBXBuildFile; fileRef = F46ACB0433C87E504F733209EBE2BF33 /* Guarantee.swift */; }; - 40FCE77060A9F031CFDE7A39DB8BE346 /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = CB23B0951CD5D604D24EA76B4B41466F /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4144EBF3173A41E918C16A79249458E3 /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = C7BFE272DA00B10F8102625518DEADB8 /* join.m */; }; - 42911B8E04109940D27D03B76FDB71DA /* Integer Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B2A909107AF59DD8B8759CFE5DC93C3 /* Integer Conversion.swift */; }; - 43FD8DB1CCB725A4FE8894835801F3EB /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB6386E81F459ED74E6BB3E8FA4FF3CE /* CBC.swift */; }; - 45216D6980BC449A1E84C0C6CC1AA6F9 /* Web3+Options.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D81EA660BB41A6042EB12554C011FF5 /* Web3+Options.swift */; }; - 45EE1E43188FD2E7FC8B2D5030BFC973 /* BloomFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39E4ECDC1C840F2E1D4F0634927F7BB7 /* BloomFilter.swift */; }; - 465596376950D8BA52A52DF91185308A /* Web3+JSONRPC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70E0EEB2A88058CB61B7C02075E3FBC7 /* Web3+JSONRPC.swift */; }; - 46D913BB12854D13B0F897B37C0645A4 /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB2F2E4377859F7D681FE473B587053B /* BatchedCollection.swift */; }; - 4713F0A481C5F6ACE1E7F285B4FA5FEE /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 99C57625E52E17DB4D8B152FC7D1772F /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4739C9EEFC54F5C097D8D9D86CECEC2D /* ComparisonExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 094419FE4BE23498B11CBA6A878600DF /* ComparisonExtensions.swift */; }; - 48388B84776F7C1407A1E118B089CBEA /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9CAE13A8BC055260DED74FDBDE2A710 /* AEADChaCha20Poly1305.swift */; }; - 48455593A60C3CA87A214694EF5D1873 /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EC0E04C3669680657625472D862D24A /* afterlife.swift */; }; - 49DD2B0B8B0B0E37B1823A8AA30CD26D /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = E91345FF5BDDF745793EEDF104FCDCB0 /* Error.swift */; }; - 49FEEA70ABC39AF55CD97D81857EF07E /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FD0BFFC7C6E627BB86EE5C540F71341 /* BlockDecryptor.swift */; }; - 4A5593F6C0B13BB81EAD2D062E38E21A /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = E22171F0C69D8C40BCDB2F57BE46B364 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4AACA123F47301AFCECF75FE8D86BBBD /* Promise+Web3+Eth+SendRawTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68BB7A2BC3583AD28EAD25EA7ED9D5FD /* Promise+Web3+Eth+SendRawTransaction.swift */; }; - 4AB8899CD9B274899C569E8E4F6B8163 /* Web3+BrowserFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 845B2F9B3F1C9FB2895E49DB515D07CA /* Web3+BrowserFunctions.swift */; }; - 4BEC002E24F5AD2E72EE77A41D06AA1D /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = A96F34D195736EFBEE26EAF01CFB8519 /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4C3CAE4E66950002C334290828030002 /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC990486D4C0CEEBBB80C141DC8AAF7C /* CustomStringConvertible.swift */; }; - 4CFF75EF09263579007C95CD2C296463 /* Subtraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2742EF48D7A9BADD15DFA2028CDB4AD /* Subtraction.swift */; }; - 4D3407C41F4EEB3975ACE1EED0B49A16 /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2B5D7FCD090BEF9FFFB3C684DCB1B18 /* Catchable.swift */; }; - 4DEA27C788BF3119B52411CCB2922FB2 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0EAE40505327D2CB02940BDEB3B21DC /* HMAC.swift */; }; - 4E3FDA58133BED7E50509490CD6FD4F4 /* AbstractKeystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91DC39A093E0AC3021796C0C881D7423 /* AbstractKeystore.swift */; }; - 4E6B32A3483F0BFABBD797909A9DEF6E /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 976F6985F84517A349137181F3CBB38C /* UInt16+Extension.swift */; }; - 4F6ED8ADD7B24315D4F8D18C227D3ACD /* Primitive Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = E27EAF74BA22155644BF26D238704159 /* Primitive Types.swift */; }; - 5111E29F246083C72BED5DCB4AB23339 /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FF21379AF18F46F4F0D6D75E0FF54F4 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 52FB513158120D5E9A5D0F389C8B4705 /* BigUInt+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4D0235918D0C322E2E83A50D0A2CD24 /* BigUInt+ObjC.swift */; }; - 543D935BDB2B65030F4F1CC620E38CC2 /* BIP39+WordLists.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B102B3CA88EB8D8489C8BD4E882B887 /* BIP39+WordLists.swift */; }; - 56ACBF1330E1BDB853FC94E16E41A0C7 /* Promise+Web3+Eth+GetTransactionCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 100B115D06674BEC5FE6A0B8CEFE2F84 /* Promise+Web3+Eth+GetTransactionCount.swift */; }; - 56FEEE8BC37939684F8887F96C6EFE1E /* PMKUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = EE6713D6A2C799F18F66DEAF4B9DA002 /* PMKUIKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 57EE2999B5A42AB125DE111FD58382E8 /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAFF5311E9BA57C195A3AF3540BB75A1 /* SHA1.swift */; }; - 58560D5361D4C0DA182EDE13BD4BF20A /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = A740FA5D5A7CC8E07FC8BA48D71D4558 /* Box.swift */; }; - 58ACD248746150D1523327FBE5B37A1C /* EthereumAddress+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = E876079E09845BBA655ED734665C8A43 /* EthereumAddress+ObjC.swift */; }; - 595B8A2A0CCEBF78C630FF9978F29AB7 /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1080142E5C98D83C6423ACA6241A5A6 /* AES+Foundation.swift */; }; - 5A62E1514221B943B7A3D3946E7C33F7 /* NameHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = B271D2C6AB2B214DB0BBE7869FA70164 /* NameHash.swift */; }; - 5A6C4BA33ADE33CC6B382B120B679237 /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F568297D4D43D340BC0B85931EF3ECEB /* Blowfish+Foundation.swift */; }; - 5BDE74041F9724B7C2A40FD1FCFA45F0 /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4147FE7BEB4CBD63C000B5CDFE1CE694 /* UInt32+Extension.swift */; }; - 5C54B9B9E5E0B285872796330B999044 /* EthereumTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = B806FEEE8A1AD5FF1AB49E5928BBC3A3 /* EthereumTransaction.swift */; }; - 5DB7A571F556449AD9706B01CB07EA6A /* KeystoreV3JSONStructure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 135C2258FEDDC235C7E7781BD638E0D0 /* KeystoreV3JSONStructure.swift */; }; - 5E249F6FB23CCC4985EFB3FDCADE487B /* Result-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 25919B578B7379AB255855AA74003212 /* Result-dummy.m */; }; - 6367286AA49B412B8FA5D9E60AC57942 /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 90FB08FA3883CDF506EFD3894126E276 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 63DE145E1764A86D1ABB97F789625268 /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CFC32E2261053E3091FD1DCC05DF4D5 /* UInt64+Extension.swift */; }; - 64B367DFA40AC646E11DAB819B0E292E /* Promise+Batching.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2967DC4D563FB31C61E228B5CBB7F6E2 /* Promise+Batching.swift */; }; - 655563EF592B664426E4F924AD94A1EE /* Web3+HttpProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAABB0F89CF876EA103285C487CD9403 /* Web3+HttpProvider.swift */; }; - 661C802B489BBD3DFD82BFD64B22436D /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 02DC13AF775E722F06F597A8A14B0AE6 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6795E9608781C7A1914DBFC1D1B3BBD0 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 123FCC5CF86530D3AA0B411043CCF3FC /* String+Extension.swift */; }; - 681FBF1DE7F5E28A656C33C24795C69D /* CryptoSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6987CE8539E8316A528A63024B5DC52C /* CryptoSwift-dummy.m */; }; - 68967D93A7040322F28E032A686ADDB8 /* BIP32Keystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 573C281E9AC6356B325AD8D6510F60B7 /* BIP32Keystore.swift */; }; - 68AC0F69139647F7B018BBF14976F577 /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFC18FE05DFD6D953716F8225BEC16A8 /* Checksum.swift */; }; - 68C039D30A4BD8D39DF56B559B4ADB68 /* NativeTypesEncoding+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B8E411298FF1752518A56381CD096CD /* NativeTypesEncoding+Extensions.swift */; }; - 68C3B925415233905445BBC632E33D98 /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 92BA0A05E447FDB20B427DC9BA3F17BA /* NSTask+AnyPromise.m */; }; - 68FCBCF149554A07A481E77E101529A0 /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 40E213322D7482A63CDC0B2220AE92F8 /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6951FF81102CC5BFF9688FD32F93DB93 /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4656C6F079843C6375DBFB8F3F149CD5 /* PCBC.swift */; }; - 69B43E85EA9FD569A466BE6BA94A5F86 /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F61FB300C8C0447EB3B39E0D27DCC86 /* Digest.swift */; }; - 6AF78554F313E5317E4F904D7B8D56A2 /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = FB9227AD4EC63BDE92E26BD15585FCA5 /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6B5044E9BC84F66C42F5923359015BF8 /* Web3+Structures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51291E05C571952BED7774C956E85673 /* Web3+Structures.swift */; }; - 6D8404384D6E70502A028E0A183163BB /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = B8CBA501A152AA198F4C80D0E17BAFED /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6EBEEEDAACA227734E95EA5211665100 /* GCD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75B53B7D429106EC393E04CCE7E0FCF7 /* GCD.swift */; }; - 6F853D5E1F77B742C8BC832153D2CFB7 /* race.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45F782717284628C9976CC3513689E42 /* race.swift */; }; - 70C753C56B4C246E2B038E4F94BF0BBF /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 347D7C773BE16C921C11062107552892 /* Codable.swift */; }; - 718236F77969D41EA45AE28A7EF14E52 /* Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 550AC365129396E2F60D5C364FA8B799 /* Hashable.swift */; }; - 7206709B12948E39A73C1443F4476FE4 /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F3913F7F2CBD112E100212D4E6CD280 /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 726BB598C1055EDC9C6423E70C91C90A /* CryptoExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F227060DB927464FC9041C45A8FFB80 /* CryptoExtensions.swift */; }; - 72C25CF4053DCD62E5447817C0B9221E /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14EB90988A4AD64E02B4BC0D410025D1 /* Utils+Foundation.swift */; }; - 7528DA81FC748DE3FC4BBCD0A2E1400C /* Web3+Wallet.swift in Sources */ = {isa = PBXBuildFile; fileRef = D48E4039D8A05D930087548282B6EDFB /* Web3+Wallet.swift */; }; - 76470FC323983D6226BCF68B1164E3F5 /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41C6D67293FF379F07747E16571D4A7B /* Padding.swift */; }; - 76B563B51D27673895764F16C48D5E24 /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8287DF2117A869C0B6C9BC2CAAC80DD /* Rabbit+Foundation.swift */; }; - 77178248CD6460B5432AC6DFC3579E23 /* web3swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 19D96B7EB5F4FBCB0D6CD0C3E49624FB /* web3swift-dummy.m */; }; - 778848906301AB76386C72A37543BE52 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8991CD2A50906AF10EB4BDB7E932FAEF /* Array+Extension.swift */; }; - 779F797D02BC03B4AC8C9BA2F32EDD86 /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = 60D6A69168B4A121E9E39646B6E40E1A /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 78589BD06CD8A1E65939A186F9EF2AB5 /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2BB223B0460060F3F08F67C605E6971 /* Bit.swift */; }; - 7879C44114E0F4F770B0E68610F5ACFB /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BC6637281B8A68F6FC9D03AD4BE8663 /* ZeroPadding.swift */; }; - 78FD627F252ED1A0015EE533DD68C2FF /* Web3+Personal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87A57BF304C2840A5AFBC40A55F95F7A /* Web3+Personal.swift */; }; - 7CF47931D812B23E671EC0DEA0706DFA /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD0F82A7D2464AEF836A81F2E23371DD /* NoPadding.swift */; }; - 7D67866AC6C3A9D16FE90065AADC0149 /* EthereumKeystoreV3.swift in Sources */ = {isa = PBXBuildFile; fileRef = A740ACE88D9C0FCCAA9BF577B356D151 /* EthereumKeystoreV3.swift */; }; - 7DB611371F67DF74D20797AD0B4B3032 /* RLP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FC0C757DEC5E742B77C173A8B9FA6B7 /* RLP.swift */; }; - 7E314E370D8E63F9D28EB4D83FF125C5 /* Promise+Web3+Eth+GetTransactionDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE2E92733967F592C99E77387B2DD8FD /* Promise+Web3+Eth+GetTransactionDetails.swift */; }; - 7E85ACD04ADFC992156F52FBE1BFE20A /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = CC7703D2D8872FC0ABD92EE3F90EBDCB /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7EC88E86E051E823EE620293A70225BB /* UIView+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 394D7CE2F861BEF42B052C1127E8BE02 /* UIView+AnyPromise.m */; }; - 7EFCEF370D1273ECA03178E054495922 /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63210423770306A042AA9FF3B458E4E7 /* Updatable.swift */; }; - 7F77F6FF53784ED6A5A93AC3D548F02A /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFBD00269481FF629C0D75143D8ED5CB /* Operators.swift */; }; - 7FADDF54E465F347CF0C611B940B56E2 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 973DD5BB41EA9F79AF3EC787D0C36229 /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7FEA191A8B72A225854E8C1E418CF7B1 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = BB1C6578AA63B23B241C85DCD3EF3D21 /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8008DD7D87F87B9E3D5ECEA3467E1A9C /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03180B6A770752FE7AF4453AE81CA412 /* Cryptors.swift */; }; - 809461B522DAD1CC4DA7B304793057A5 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6030A6AE80EF19BF46A279BA9B759C1 /* ECB.swift */; }; - 80FFFE82E8A8DE6ED294DECE0DDE1908 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D7048890B198E005491CCFCEB097B6C6 /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 822D2EB3DC201386CF9DF682794D91F7 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E4C0E96E391A3A6478442E71331B4C8 /* Utils.swift */; }; - 836C8A3CCAD5C5FE68F01D5B3AB57174 /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A6D448881C8648C29B2822564286304 /* NSURLSession+Promise.swift */; }; - 838FC79B49A0DD9506EDFF36DC730262 /* Web3+EventParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2F40252FE652D0C4730C00077BADDAA /* Web3+EventParser.swift */; }; - 83DE107ED68E9FFA4B62A5A12B99223B /* web3swift.h in Headers */ = {isa = PBXBuildFile; fileRef = EAE853F3B901CD0EFBB3049D7288A635 /* web3swift.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 847F825E0F00B1476A42EC1A2914DA3B /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A0AAEC1A587F9F34485AC86C4D355AE /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 849B9967D22A26A74AD8C73FB1648F23 /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = E77AC5D58E1FF6C75FCC6752505572A9 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 84A96034B669A157EFCB701B8F7F635F /* secp256k1_ios-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ADF7BA967B554C691C423EEA65EEFDA /* secp256k1_ios-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 84BCF4CADBC4D7DDA795387EC0AC07E7 /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CAF79CEAC3F53315AED830078D52BA7 /* MD5.swift */; }; - 8517DDE6E73644C042195E2C78A312E6 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78B7D9D842F7D0AA20338FB007081B95 /* Array+Extension.swift */; }; - 8573AF1939D602ADE9AC58E01AD361EE /* scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = EB90911DBCE2B6C999C122F3EC56E386 /* scrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 859729A76D2AFAB1080AB8E850982E4B /* Promise+Web3+Eth+GetGasPrice.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2B568367A9864B63A35097D9E4AB93A /* Promise+Web3+Eth+GetGasPrice.swift */; }; - 85973E99277A40CB09CD12CDB7F66743 /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D88F2B395E5E3F2C3E61220B75F9EFE4 /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8606AA654F3D24B407E7274A9BB3995F /* Division.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F01FE95147DDFFD02325C07A8F6783D /* Division.swift */; }; - 86F8EB37DA0D0B1894675C2A41A949CE /* IBAN.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3724656679C0E551B0D424B10D8BDE0 /* IBAN.swift */; }; - 872CC7E11DB7B5D9E47440A739E574AB /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2535CD8F39B0A548B8948A1D4DFCDA4C /* PKCS5.swift */; }; - 873DE3CC5FB993DC11904D529384C888 /* ABIv2ParameterTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D57382F3D45CBD48EC909FE9F31DD25 /* ABIv2ParameterTypes.swift */; }; - 875C13093A167B1933DD251F3F1A84D1 /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = B76269C67E36441FAD8FF805B6A60FF1 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 88ED6F7E091B1D56573DCEFA4F60B010 /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4079EF5F5CB33767D580095FD9CE038E /* CFB.swift */; }; - 890D1216015AC23C813DD998F3D0BD6A /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9025BAAEE8CC693DC8E66CE52E77768 /* Data+Extension.swift */; }; - 8B28B522A60F6F1A0BEC7E64514B0976 /* LibSecp256k1Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66175BB0554541A3D3816C0B65138569 /* LibSecp256k1Extension.swift */; }; - 8C4634FA8F9D714321F3973BAC3756CD /* Web3+Contract.swift in Sources */ = {isa = PBXBuildFile; fileRef = B78D71D7365AE4B58112354EDD377D4D /* Web3+Contract.swift */; }; - 8E5BF109ABE01A8C75C78AEB7B902FC3 /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = D646DCC70198FD61095957E5652DEF33 /* HKDF.swift */; }; - 8E67099B57DC9596F3EA8ECD4E33CBE4 /* Base58.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6295CFD25EA738F9FEF1FD0EE5FE0B06 /* Base58.swift */; }; - 8FB3313F35F24D37534650188E353A5A /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = E9124AFC41B95D43CF8CC563C862991C /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9032FD5A6851FA0796FE178236BE9949 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC203122F4CADEB96AD6DC31C9B89CD7 /* UInt128.swift */; }; - 916D4FB604792532AFA1C162DECB998D /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56AD7AD28B0B51693A9D7B079E162D05 /* NSNotificationCenter+Promise.swift */; }; - 91C565DE7355FB1961E40D10EE14CDBE /* RIPEMD160+StackOveflow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84AB4B26E85BB1F6973CFA28CD3096B5 /* RIPEMD160+StackOveflow.swift */; }; - 924E737605ABB2921B3F48BFD380944B /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = DB6B3F25A51F2AB28AC33743DAB74418 /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 92AF3433DD838ABA99BEBEFDAF5182B8 /* BufferStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC96BFAF2B1203FC9CA3C40F8C68BE0A /* BufferStorage.swift */; }; - 948850F4D9DCBDA7885F96517F7C93B2 /* Web3+Eth.swift in Sources */ = {isa = PBXBuildFile; fileRef = C613C1A4193B296D8171C94206D33C31 /* Web3+Eth.swift */; }; - 970434B3CDFCB829040B04EB0280678E /* EthereumAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CB230DD879156CD4033668CEE509774 /* EthereumAddress.swift */; }; - 975D0B554704CA112AE1A7071249F89F /* BlockExplorer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 631CEB8A33B0BABC23841BB536628BFA /* BlockExplorer.swift */; }; - 97E9D2C351BA784EAB933580AD206C13 /* secp256k1_ios-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BF9CD7996E9539414390F255AAE03851 /* secp256k1_ios-dummy.m */; }; - 9985C1DF20C3A844133CC24F260232A6 /* SipHashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A96630CA550118EAC05864B2C651DF35 /* SipHashable.swift */; }; - 99F02A84D0D5E2765EE4F4C4AA684A63 /* Web3+TransactionIntermediate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9D0562D53ACD302EE60EE8967515E45 /* Web3+TransactionIntermediate.swift */; }; - 9C41B74A57AA5CFF765F024109AC0578 /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 69CA1E92AD82C49EF237136039463B58 /* PromiseKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9C99049FC31F95572D2E8F8D8A159681 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 788557B540DA06D0AF67BA99AF689F4C /* Configuration.swift */; }; - 9D39EF4996CB92E27C1BAF0651E2C242 /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1416B00744E099B449B5484EB4FE66B9 /* ChaCha20+Foundation.swift */; }; - 9D526303604B00B72758C41A697E5995 /* EIP67Code.swift in Sources */ = {isa = PBXBuildFile; fileRef = C191C1B178EC68CC1E14B9012A443F62 /* EIP67Code.swift */; }; - 9E61496223A21B14280586F3E47065BC /* PlainKeystore+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B461C953E96246972B9FD88D07AD66E5 /* PlainKeystore+ObjC.swift */; }; - 9FD060EF8DF515DA0B961EEFA266D545 /* BigInt-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7215A5A55F2FAB77E52827BDC972EEFC /* BigInt-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A10552DA49C1B421E22D5BBD00043EB5 /* Web3+ERC20.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DAD5F524037255589944BAAAF9B3EDC /* Web3+ERC20.swift */; }; - A2282701DE9BC91494A2065F23824272 /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7824C3291189F43DB7D1217F4967A4F2 /* Random.swift */; }; - A2800740B805FE08662A48D9C0CFF49E /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 046EE18AB153A100831CC08374F28865 /* Cipher.swift */; }; - A30DC6AF6EF10EB0690299A4867C9B84 /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = C52F5EDD1118D33A3B10C6452A089E8F /* PMKFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A3990AC532A16D984A30B92171E19633 /* Addition.swift in Sources */ = {isa = PBXBuildFile; fileRef = E035FE22D8FD996F3D0563F19CB710CE /* Addition.swift */; }; - A5CE80C2CF454667ADBEFFF8D35EC95B /* SipHash-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 241A56E773F086ECBC740412E6904C70 /* SipHash-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A5DAA10D56BDF5F37BF37565DECAA21B /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E5AE0371FA8682D8CCBB47D262545A4 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A60E9D71694BFC11E2A9A86B8C1B0095 /* ABIv2.swift in Sources */ = {isa = PBXBuildFile; fileRef = E32EAD6B9FA7E7949B7E044DF88FAE25 /* ABIv2.swift */; }; - A80D6A613610153FFF343C7385871FE8 /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C339595D926BED9A5D0167C24CDC4B8 /* Resolver.swift */; }; - A8FFEB53432DC4F2885A8CD8E1E9870E /* hang.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DF8BA790BE9738632EE52265150D03A /* hang.swift */; }; - A92458877FCA59086F67BB51DDC41CAB /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 6850F16CFC2F18D10E4E30E73F0552A8 /* AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A9DAD6C60EFAA6AD3077726E8C56ED31 /* Salsa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 264884CE631173016E083169227D349F /* Salsa.swift */; }; - AA30153EC052C2F6DC67B9E50E451A6C /* SipHash-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 45785764A72ADF6B322ADB75DF6AC70B /* SipHash-dummy.m */; }; - AB905E3B9A9CB2C8F126AB2F7A985B63 /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29C001CC84817EC570F42EB843806088 /* ChaCha20.swift */; }; - AB9668A6835AEC7962A3C7768ADAAA56 /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 913CF4153E753730DC216ECBA138739A /* BlockEncryptor.swift */; }; - AD7D2F8C362981D42EA5497CC71F7737 /* EventFiltering.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7535931BF67E66F8AAE328BEE0EC6A24 /* EventFiltering.swift */; }; - ADB06AA1B5A4414AD55E5A2D2653DDA6 /* Pods-web3swiftExample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EE64A9528FF128B9020101AA65FE4AB /* Pods-web3swiftExample-dummy.m */; }; - ADDCFDBB0901A879A2803A20BDFF5CF3 /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = FFB342B57716D3C137EA03417F2362B3 /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AE94E5909CD8A6A29021E7DB20613096 /* Promise+Web3+Eth+GetBlockNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 212B93EFB576141803D3468A4F741935 /* Promise+Web3+Eth+GetBlockNumber.swift */; }; - AEDEB90675798B030C87A90F64EBE68A /* Web3+Protocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39676721FFFBFCD3ACA7964DBA994E81 /* Web3+Protocols.swift */; }; - AF86C21D7723F3C8030AF9530676083E /* Promise+Web3+Personal+Sign.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A270F07FA0270BCC20180DB9DCC1B67 /* Promise+Web3+Personal+Sign.swift */; }; - B1E21083CCF70CA10BCFB0D6BDF4DC7B /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = 353D2E93E15B57FEC4A9C0B5CC561DCB /* lax_der_privatekey_parsing.c */; }; - B248D148FE951A0655197593FABD5BF7 /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = 290AA67F142E07CC2C3BE60373077AAF /* after.m */; }; - B3FEBCC1E6F68131A464D2D28417BA24 /* Promise+Web3+Personal+UnlockAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B853AE4883AC6BC8B6D6F0876142F8 /* Promise+Web3+Personal+UnlockAccount.swift */; }; - B6626A2B587568E2256A791C094CDF0E /* KeystoreManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D8E5BAB976E1215ADA818D366891226 /* KeystoreManager.swift */; }; - B6DFE0242C66C8E98A2F6825401A50B1 /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32117111790566596776609D1005CEF8 /* Generics.swift */; }; - B8A496A3D5363FF8EF9121E53AD89050 /* UIView+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 14F7AD83E425807B028866A517E0155F /* UIView+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B9D179880E2C5A583513BF6086375292 /* BigUInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9B7FC1C4BA7B43D989DB2B556486352 /* BigUInt.swift */; }; - BAB523E44314747F529F07E9D858D0A9 /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E2D99198D5B7D091C057148F3CDC4DC /* Cryptor.swift */; }; - BBA227B2DA3FCD94E3C3869334FDDE64 /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BA64E966CB81F4DBF7A2DE773DF868A /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BBC3534E14BA11CE9BCF8FA0848D76D4 /* Web3+Instance.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAB94D7201EC9D4222C28065007D51EB /* Web3+Instance.swift */; }; - BD25CB4CFA3B80A28358767263C8EC4F /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 458014C6622264651F6A80E772E8ED42 /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BDB8D41248A445BAFA1149FB0649B411 /* ContractABIv2.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAB3B3DB7F29D6CDD16814E658597C38 /* ContractABIv2.swift */; }; - BE321B31D7AFC12E0BF53438F00832FB /* Promise+Web3+Eth+GetAccounts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 958751D0D47E3CCFFC945333CEB4F72E /* Promise+Web3+Eth+GetAccounts.swift */; }; - BEDBDFC232562E554358904415EE39B1 /* Promise+Web3+Eth+SendTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA17BEB9A7129021CB18F6B91D12748C /* Promise+Web3+Eth+SendTransaction.swift */; }; - C00477878E267142569D0C12C78018BC /* ABIv2Elements.swift in Sources */ = {isa = PBXBuildFile; fileRef = E33486FBAA345E14AD805DEC0E47A803 /* ABIv2Elements.swift */; }; - C0CB7BA8B8378B845E1231E46A00302F /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0582381AC2421163F7FC6854DF81F48D /* BlockCipher.swift */; }; - C688F5C8C2D7B7BEAE10B658160B336D /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = 61C7FDF5E2DDE25A864126B5CDE2560A /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C8218EC292D51987B5ABF02470D28BF8 /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = A1EBCC0F3780CD1BF5924A52550B2326 /* lax_der_parsing.c */; }; - C8B2BE26A0484B6A1523D9E2B3818EDC /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69DD73C0AA680B56241490A79FDB334B /* Result.swift */; }; - C8FD04BAEFFFEF92BF2303ACA42207F6 /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5838F39185E3EAE8E18B70420E9A65E9 /* CMAC.swift */; }; - C970C24BFEAF379BB919A0CD4B1FE320 /* Promise+Web3+Intermediate+Send.swift in Sources */ = {isa = PBXBuildFile; fileRef = 952E5E5A20415427CA78C75911C62ABD /* Promise+Web3+Intermediate+Send.swift */; }; - C976B78DB3A9AE8CA86A6C9634D9B476 /* ABIv2Decoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F07C5E878C387F3ABE98CE9E9CC042B /* ABIv2Decoding.swift */; }; - C9BA69738F1D82501188F3E78B25FDE2 /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = 6799868DDDED4341574C8A8D6027075A /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CAF7F95BAAA850711BA9ABB88C4DBE58 /* Data Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2691542C5286F07821B7CD3CF161270A /* Data Conversion.swift */; }; - CB2D6447D8F5DE72BEF8DC58E09758C8 /* Web3+Eth+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27CFA7ED30A911A75D056CBDD52EF777 /* Web3+Eth+ObjC.swift */; }; - CED84B344142DF490AF0D18D8E9479DF /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B33E9D7080834138F6B05D08954A9AA /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CF2D9BDBC33A9414DDEBF3BA43546D67 /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F4A3C614502E99D77C9651CF09BD01B /* firstly.swift */; }; - CF3EE764A7A7F7F57EB8610C7E684B04 /* Multiplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F7C2F3619BC1AC64F8ABA62C7169C22 /* Multiplication.swift */; }; - CFA93FAF0D4ECF135C0F0E190C6C170E /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A898FF424BAA4A4E440EB964B7BB831 /* BlockMode.swift */; }; - CFCEF00E9F843C0E9885D25D3FE776AD /* BigInt-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E639196F504CE0F26B4C3BE988D0753E /* BigInt-dummy.m */; }; - D1F5CB987F614989A6C17C93F2DD5EE8 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33DC10E06571EAC477A1E0EA68D6DDCC /* SHA3.swift */; }; - D42866E9D1CC9FAA8B4D290D9021ADED /* Floating Point Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4CD7FD8C56DD910536ADB36E1277B34 /* Floating Point Conversion.swift */; }; - D4470C40B8D7625549DDBC8F4D111CD9 /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7BE49D1EB253D7DE7539B872CDAD284 /* Scrypt.swift */; }; - D5E62815F43DB6C9CBF0DEA75BC88E8D /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83D65244334349A7D66163DFEE37F1FA /* Process+Promise.swift */; }; - D65BBA0A22D0D76A1CD79598C618D55E /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B6D04221009B07824A6130FC77D31C9 /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DA60C0DBB660F185C28AB5427B4EFA7D /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F4F320F47509747094BF6BAE12A4D24 /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DCD11459A6DD0C7757AD81AB42D7ADAC /* SipHasher.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDDE6BE27FBDE2D0053FF4448C47148D /* SipHasher.swift */; }; - DCEFC750784BC92CC015B9B973982194 /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = EADAE9DDDE266D2FA434262C25991F22 /* PBKDF2.swift */; }; - DD69B45CCE6E9919A0D08FE9498D2B2E /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 819DF3E764AD03A99AE1276773AA60D9 /* PKCS7.swift */; }; - DDB1738B9B50E6F1120181DE827F7A91 /* UIViewController+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 5419632D59B4453866138B147398B786 /* UIViewController+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DE36A3AB6FC0CB1BB0454F548068AF89 /* scrypt-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 66A0A452A31539038312A19BDEC81AE1 /* scrypt-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DE5662D83AD07D877CB46011E963932B /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C8FC8BC9825E5A78B2CDACAB1C7EAE7 /* OFB.swift */; }; - DF0D4847B87A1A34C252A22B47A68A8D /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CAC92B61D9654425EE1338FD274CDAD /* when.swift */; }; - DF7F955F953C523ECE12E71C4990F56A /* Promise+Web3+Eth+EstimateGas.swift in Sources */ = {isa = PBXBuildFile; fileRef = 534FF25435EEA486F21EC56EBCAB291A /* Promise+Web3+Eth+EstimateGas.swift */; }; - E00C3E6F15B657031D180E254291281E /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = A4AD0B0CDC89E37F1F3D10E361AB2BD7 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E0A8CB42FD278D108E4A708AC52D84C3 /* web3swift-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = CED83459CAB009994922F31BDEFD623E /* web3swift-Bridging-Header.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E17468799BD83B1D0859237015708D37 /* Promise+Web3+Eth+GetBalance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 373E0AFCEE02274BAE66A586B88A17D4 /* Promise+Web3+Eth+GetBalance.swift */; }; - E2262EC80364EF8400960EDAF09318D9 /* Web3.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFE4248F45D9EE5AAA7A83114F6B2BF6 /* Web3.swift */; }; - E37A842880FB67BC31021D43DF112704 /* NSRegularExpressionExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F403D2ACFA1FBE4817C4DD35F625E829 /* NSRegularExpressionExtension.swift */; }; - E414C892B9DD5C86CF589F3C119330C3 /* AnyPromise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 329C9AA169E8289B92C3FEFDA41B215E /* AnyPromise.swift */; }; - E5E3667FFF55ADA12DD9114649E29031 /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D780067516C26611C3598987A7B875A8 /* BlockModeOptions.swift */; }; - E6B051B4B35607992353F833DE6578C1 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 709E41B5FAC1DD8F9B55AF533813EFBB /* Data+Extension.swift */; }; - E738C32AC026327A0C48144C7979EC30 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C5DCCE452FBA3A37BE4A3C6ECB9C33 /* CompactMap.swift */; }; - E98669BD82B8EF36AA49932E9A1C5559 /* Bitwise Ops.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB5B6ACFABC7EC18ACEAA8633842A947 /* Bitwise Ops.swift */; }; - EB01BFB4856AE2B0729EEF5BB2E4F4BB /* Pods-web3swiftExample-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 421B749E58F87E0C839D613211A2D0D6 /* Pods-web3swiftExample-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EC5E4784D34A1D2A17EEDD85A46D465A /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 729AEEED6FDD90CEDBADA5C6755B9536 /* SHA2.swift */; }; - ED758B1BD45542378CBF6391BB8C5488 /* ENS.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21563C94F3C303F058BA156A1F488535 /* ENS.swift */; }; - ED87753A5604561B7D2436DE33925A7C /* PromiseKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CBCCA9834BAC9372CB234B4219882001 /* PromiseKit-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EEBA55F15AFE35277B68E8ECF0006359 /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFB2C7C3A237D8835945428FD197C62E /* Array+Foundation.swift */; }; - EFB65DCDDA87312B24CDDC1F7132FA4B /* UIViewController+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 619A8D3D3D97DA2E15C31D9AEFCDABF8 /* UIViewController+AnyPromise.m */; }; - EFE805A3CA08B8838793F8E245B5ECE3 /* BlockExplorer+GetTransactionHistory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 316084C209096DC615680F3C10C4C605 /* BlockExplorer+GetTransactionHistory.swift */; }; - F29E02078681BBB088849F8B66655247 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E54F021F03B8254D3E0139DB1197C21 /* PBKDF1.swift */; }; - F392AA2B2B63A326860A273536FD150D /* ABIv2Parsing.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE50FC315B634183486EDEF0DBB59268 /* ABIv2Parsing.swift */; }; - F3B5788DE236BC5FDC36A19160E3A121 /* Web3+Instance+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96F86314D21C56C76D90CA969B03162F /* Web3+Instance+ObjC.swift */; }; - F41F4AAC34AB627DE3BEE8826AA9D736 /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = 5278987D2532144A7BD28E9111659639 /* secp256k1.c */; }; - F478A3B08D8979D2B11FC7EC2576FA53 /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = E0ED08C56E8F5A2573652D57C0E00AB1 /* when.m */; }; - F655EFB3487D02AF6B56FD352C326EF5 /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = F4CE7F01DBF56348E5D752C5E4A2573C /* hang.m */; }; - F6BDDA6489801D31B93897C692036EED /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = EC27CE020482173FFDCE321039C1E1B7 /* NSURLSession+AnyPromise.m */; }; - F78C1DE8D506C812DCD441568DD25248 /* Prime Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01B9F8302C27EEB6B1B175888E08664C /* Prime Test.swift */; }; - F95D72C282B42FFE8FE2F10C0AB327F2 /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 850721D7FB7DE9412EBAADE3BE6A6532 /* Poly1305.swift */; }; - FAD004A3C7DC1D0D87FFF0C642A98A86 /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FA106D7CC1651054D660C68F23DE86E /* Promise.swift */; }; - FB20391449E34100261FC37107DC6078 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A505618B7794960687DBA4DE9404FD /* Rabbit.swift */; }; - FBF77F35D1FB8C0B49461F323CC64EF7 /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E396C482D49D085DD8E5C6F1538A1B3 /* DigestType.swift */; }; - FC1F07D24FAAD244DFC4B45090EE5950 /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = F69249253939D72D4870706405B1DD0C /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FD0D4090ED18D30D6B23CFD9926574F8 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = A1F0E78B73C5750335C94D48A43488F1 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FED52EE758698BB66DDCCC50D40D2E97 /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FAFAE9D7630D61F389768DE544675E3 /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FF8CB400714408878D8321DC83943490 /* UIViewPropertyAnimator+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93527029429AD83050A8FED1326A171C /* UIViewPropertyAnimator+Promise.swift */; }; + 0059405B888945E190437148D57D390D /* Promise+Web3+Eth+EstimateGas.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6851DCEA08736B9FD49677B930D804B9 /* Promise+Web3+Eth+EstimateGas.swift */; }; + 02E8046C2A767EA8848448EAB9E07A65 /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28D14AA0CBC0F7D8CB4FE9994C3B4B48 /* DigestType.swift */; }; + 03FA8EDEAAF28C2F20B6134374C42DAB /* SipHashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF11D2FEEDD0F5C59F1823F81B0D54DA /* SipHashable.swift */; }; + 0512B738C8204A95E8407E6893281245 /* BigUInt+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CC48F7531359D8D25C876099C73CD53 /* BigUInt+ObjC.swift */; }; + 051AD4160E32E958586C7F2F62C23172 /* PlainKeystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17FF07C284C525895497483DCD35E62F /* PlainKeystore.swift */; }; + 056D9F9029F5538C0D5AC9FFF9575693 /* UIView+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 33C9F06AC6D082FC66126F531BBC3E3F /* UIView+AnyPromise.m */; }; + 063172677A7320FA0176B8142D11805E /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEE2227E4C836011E279D5A187A8C1EA /* Authenticator.swift */; }; + 0717ACAE7ECC2E7D2E33FEEB38A76E2F /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C5FE3E2EF6CCCB0A8CA29C7C6F63DEE /* SHA3.swift */; }; + 0732B277DE0821A2E9F30FD82A2D505C /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11D360750D0388F4DDEA48C9C2C4CBA8 /* SHA2.swift */; }; + 074311E7BC28C29F29C28D05D1496B54 /* Promise+Web3+Eth+GetBlockNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F8C6DCFB940EB1AE8254FC269A0EBE9 /* Promise+Web3+Eth+GetBlockNumber.swift */; }; + 07A516E5DC61219A239FE2E3E902E691 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35D65B1B12252C4CDBEF210FE2DA6E52 /* ECB.swift */; }; + 088387733523D1CAFA7D4DC267EA4433 /* Strideable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B4A8E6D5817207A8BAFC2040BACBDF0 /* Strideable.swift */; }; + 08FF36052B67EAF44898509B87954A4B /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 98F7CA5B3DED455C4A7996A4D4163AA0 /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 09321ED82C7D46C3A861780082FE2BBE /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E9C3E6A47F759D446C9633237D3587A /* Deprecations.swift */; }; + 09648EACD312EC7080BB4E2CD9B0943F /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA6B0C20639EFF1F778E27935D0273C4 /* CBC.swift */; }; + 09F1D2094D102A74B519B96AE8B0A2C4 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = D460F9A266BE2FC2769DCC397350234B /* group.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 09F823407F1CF54E8E612A6A5B95D275 /* Web3+Eth.swift in Sources */ = {isa = PBXBuildFile; fileRef = 792AC5301BC3E29E4EF8E519E96F1ECC /* Web3+Eth.swift */; }; + 0C841B2C6A190FB7458744E4D635B9ED /* Web3+Personal.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE534FDA36211FEA618C63A4A7779CF5 /* Web3+Personal.swift */; }; + 0DA073582D93FDE5AD558D56BE5F3743 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9BC92AB3E8B43B6FEFE7AB4748793AE7 /* Foundation.framework */; }; + 0E37D3A9552CB1712CC4D9034079B1B0 /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 10E6CC65707B2EBCD6BD73088BB3B221 /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 0FA7E1ED09D6CB457D8B1F5880A97CEB /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FC82B238B016E51FBE7F8F1C2462A73 /* Data+Extension.swift */; }; + 101CEC15F6F283289721E6DA1640B5DB /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E23DA5CE9BE03D67FA010C086FD8443 /* AES.swift */; }; + 10A76A764D28EA81D00DCAE3BDBD54AD /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = AE5EE930804B944DB46E6C6221E7B4C4 /* ecdsa.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 10CB8C1B8BD3488CF50B902BB86709F3 /* race.m in Sources */ = {isa = PBXBuildFile; fileRef = EADF759D706E073C79D0A75908F5DB72 /* race.m */; }; + 11155D066240AA9BCB5FB19A8915C253 /* GCD.swift in Sources */ = {isa = PBXBuildFile; fileRef = F26C7D8E758DAAE0AE9602235489A452 /* GCD.swift */; }; + 16A37275A64EDC8D057D8793601091C1 /* AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 61B2EEC1A0CED11A8CD095B884755F14 /* AnyPromise.m */; }; + 1728A542D46BD6132968D04D711A9588 /* Promise+Web3+Eth+GetTransactionDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA0B3AE7019BDA95536AE5163FFCE31F /* Promise+Web3+Eth+GetTransactionDetails.swift */; }; + 18443ED1EE9C0FFCE14462F5AE1EFF57 /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A09EE23C660A1403809F462D2A1C0B7 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 19E2CEC0228F9E84247450A041E97E2C /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = B5AE0CE423C25CAF8DDEF32FE109DD36 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1AB7933C12CD4D54C044E42F565C943E /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = 48EB818C63ADD7AC3471D41B7FEFBEDE /* ecmult_const.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 1B4526E37C8A077336405AABCB0D7A76 /* EventFiltering.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80252C1601887FBAA6A92A7774A1AFE9 /* EventFiltering.swift */; }; + 1C53AF4113DA6608A4B207AFF139039A /* RandomUInt64.swift in Sources */ = {isa = PBXBuildFile; fileRef = 421EFAA21C55AAB5DBB49F3C8F2D1551 /* RandomUInt64.swift */; }; + 1C6305612C71BA4A41EA3EE86EF9DE98 /* Addition.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC8B5678B1206B79D7DFCE48E8DC433D /* Addition.swift */; }; + 1F4BD2A1E2D9E7C4534DA604B402FA3F /* ComparisonExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BB6725C03A0E4193BC3CE2081AED530 /* ComparisonExtensions.swift */; }; + 1F4BDDA00F127CA95F0BFC9F034BD28D /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30D3D5E52087AC748C8081879D9C93E0 /* ChaCha20.swift */; }; + 1F522B047157244684FC7A469A5654D5 /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = A04EB2E762C3C146021C34F31E991075 /* BlockMode.swift */; }; + 2058A726DD078C04D63E243565CD07E1 /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73385F119353E84309DFB29961588151 /* BatchedCollection.swift */; }; + 21347ECAADC4E528464E9B3170877703 /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = E69B0EEC45372ADC020F4E2957A210D2 /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 2256B334FEE938FC8542089190F86ABF /* CryptoSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 97BDBF4C5CA18216A7B59BE4733E8907 /* CryptoSwift.framework */; }; + 22D70E35B0800D871B84700928E26266 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = 229A34F67F1DD0EA4F4DCB16AB734B28 /* Box.swift */; }; + 22FE67B665841A937E8D95D9DBCC7EB7 /* Bitwise Ops.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0353245090FFB16BCAFE272E9F48A277 /* Bitwise Ops.swift */; }; + 23E69E19A1E45A210A051F28FBDF4279 /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = F78DD3E0F25108732A8209B2470BB51A /* Checksum.swift */; }; + 2453DCCE0591C08C9EB5DBAF48DCE56E /* Cimpl.c in Sources */ = {isa = PBXBuildFile; fileRef = 3300B7C7FE5D1D9B98E0EB72BAAEC209 /* Cimpl.c */; }; + 253A03485DB4317EB134F56B2E502053 /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = 3404AAEF07BB50E914AAA75416AF8556 /* ecmult_gen.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 25ADFF1D037F9E8F54618307F1ED2DAF /* ABIv2Parsing.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0675963B7F5BBBCE7B3FEACD46F1059 /* ABIv2Parsing.swift */; }; + 27C2946E57A2DADA5C8D171A7DC2A2BD /* NameHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD3A802B0EBBDBABC284E77D0173F524 /* NameHash.swift */; }; + 288250141FA353726E30472933B3E9DC /* Prime Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF7884454DEDC6025D2DF234BCEE6953 /* Prime Test.swift */; }; + 28D7A203B25D26891BE2E0EC01BBA797 /* ABIv2Encoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BAB8972F826F08F2AF2878A15874107 /* ABIv2Encoding.swift */; }; + 29FC0322575E983B2A4C695AB7E8AED0 /* AbstractKeystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07B36EAF62DEBCA4E85EC353970A217E /* AbstractKeystore.swift */; }; + 2A7A6CFC865030C10D3DE94D65B5502A /* ENS.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4C991E8454B8E94B54C310E76276DDD /* ENS.swift */; }; + 2BCA931010327B7616D84860C4E8DE2A /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44563320842BB46660FEE233AA4A38BD /* UInt32+Extension.swift */; }; + 2C0A3059883F6316F8686B6832E042FB /* web3swift-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = DC66B1C4A5263CB1B1CA7B87AA49418F /* web3swift-Bridging-Header.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2C50168E22ACB7A7D9E7ED2A643A1681 /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CD6B2B92DB312F13E1B847E31A1B602 /* String+FoundationExtension.swift */; }; + 2D81F68C100B42A128F026D10711E0C6 /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C15C5D29D981FFD7DB03B256FD134EE /* fwd.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2E2F39DE14D971C18F8B7AE2CF084C4E /* BIP32Keystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = D881EFCF8C8321AF82D7B1E16080EED1 /* BIP32Keystore.swift */; }; + 2E830391D5F11F6AB9F33366A403C0F3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9BC92AB3E8B43B6FEFE7AB4748793AE7 /* Foundation.framework */; }; + 2EBB7ADAEB63AA3974D8DB8047EAB538 /* BIP39+WordLists.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4E57C780B6DC73DDE512C89289D7C6D /* BIP39+WordLists.swift */; }; + 2ED5E810B3C7F74ACD88963DD096A8CE /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 01542E21EB2EEDA093596518918486A4 /* hash.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 2F3B479B4A026F3280BF4FA333726A86 /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9554A1412BDC823D749F20DEFFDCE38E /* AEADChaCha20Poly1305.swift */; }; + 2F42CF7089E970088164D26EC8BDD3C7 /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = B0DF79B993E5E4E742F07F91E5247FD4 /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 311DD072B99C375FA72BED3BEF6FAF02 /* Web3+EventParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5950DAB6A6AF16598B547C61614F67F /* Web3+EventParser.swift */; }; + 32466A7539462463993E957EE2462F58 /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA92C153CAE76CB71780322E95F9393B /* Blowfish+Foundation.swift */; }; + 324B8D907DD24DC359F04AA6C542B087 /* Web3+Contract.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE41274C9D04818CA1D824916BD156D5 /* Web3+Contract.swift */; }; + 32C2736797D270604AFB65A54134B17F /* scrypt-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0EF1C662C9485A5A72B33C4CD4E0CAD9 /* scrypt-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 34053DDDE72FFDD5416B487A059EA9AC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9BC92AB3E8B43B6FEFE7AB4748793AE7 /* Foundation.framework */; }; + 34B17DF22062E35B740FA4AA29300ED0 /* Division.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99F4C0E8C3EE8B472BEEC0F2E1795295 /* Division.swift */; }; + 34F013BF451F97489364B45D6CE486A6 /* KeystoreManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AED2A5ABC55B2E2852BAB3E48BE6124 /* KeystoreManager.swift */; }; + 359DF64332B137A22F623BDBFE283662 /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = E57F88566F2750F3697639B5C501F8F3 /* join.m */; }; + 35F55E0683F0C5A6EC4872A090D8ACE8 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E849077E96B6057FFFCBFE60E29E639 /* scratch_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 362EF07E94A6E51B4E80FAF53CCE6367 /* KeystoreV3JSONStructure.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7D5037585515D7D31ABCC390E523DCE /* KeystoreV3JSONStructure.swift */; }; + 3697589947BBEDE71944356FE6CE4362 /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = 2296888E4B0AF0932F150F5D557DD816 /* secp256k1.c */; }; + 373BCBD3BAFD4EEF405BA6A4B1DD206B /* SipHash-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B611AE2C6BEF0A2E26865F99A0DFC1D2 /* SipHash-dummy.m */; }; + 37E2B7216A4D87B38008F2FECE4CC335 /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = F0504F5A28A5B671EFD041FFF39ECCD1 /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3C14A6EDB43BEE051ED4B406A33DC65F /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67560E83D58D59D4B717878DC0D71057 /* UInt8+Extension.swift */; }; + 3D5D0963234AB64C9D426B8758656C47 /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA42AFA594E6D56EC46F6E754CBDA708 /* Scrypt.swift */; }; + 3D6DEB06562C0F35F36447D324F7B881 /* scrypt-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 728F62119180B063304005EF9E109C72 /* scrypt-dummy.m */; }; + 3D792AED79EC2D01C8DCCDE3840FA64D /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = 30B04630329D72AB07A6571B0E35368B /* field.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 3DBD2C1D797EFC53BB001EB1D6C96BE7 /* after.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAFAD63081AB296364EBEE0550B55C75 /* after.swift */; }; + 3E094A20F931453D1CB10651D5C83651 /* EthereumAddress+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 192224DB4709FB6A4273807EFBCDCBD4 /* EthereumAddress+ObjC.swift */; }; + 3E18435DD83EFD78B0C55534DE9F0578 /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BC6B91E0252F62A5E5F43F9AA236607 /* num.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 3E3188EE35DEDBA8EAF6854B9224011E /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C327B5F182BF8DF005B76982E2419A2 /* Utils+Foundation.swift */; }; + 3EDCE35B5BD08FB4348435D94A458376 /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = B64A66E3159EDD6E2476105656E5B809 /* PBKDF2.swift */; }; + 3F0FAD3B01F01B0C450A7ED622344733 /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BE0A0A33E52AD56332877241A1F5465 /* Process+Promise.swift */; }; + 3F7875216E3000A0AD8DD9566A69D50E /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 177C91EDD167FD64C32183AC2992D4A3 /* firstly.swift */; }; + 405BD7964F4B4EEF44FF3054C2F6C3F6 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC27BAB5F87E71098FCC3B49E257E226 /* Configuration.swift */; }; + 4261BDB05BD2252A1D37EF501EE7AE26 /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DB40030A8982CFEEB33A6F735ECF86B /* MD5.swift */; }; + 42CE685372C5AB0C197D4CBAB3230AB1 /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D606FC0EE4EE3BC0BB4A1413AD91A5E2 /* group_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 436E0D3E98FDA90F084FD4C3EB5D10D8 /* NSRegularExpressionExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8CDF9DE89CE405CCA08750BE0B93C09 /* NSRegularExpressionExtension.swift */; }; + 43A213F845B41C54A0C6E74E216D28E5 /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85D15B3C77562CE1D76E17840810174E /* Random.swift */; }; + 443E64134A2D26C41DB7302B8D788A27 /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DDFDF55E7005DEBC91225828C76BDB4 /* ecmult.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 44FDB7930C97998341299AC19CD52336 /* Web3+HttpProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = F368BDEF8D570DA31892DE78BFAFEC69 /* Web3+HttpProvider.swift */; }; + 4598AD50EA5239AEEAD9FEE55165D42D /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A95DBF14B5B5C4080A5984C12B11FB1 /* scalar_low.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 464FF1817C50D833815517539FE13BAD /* Web3+JSONRPC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0B4DEDF5D53AB822C732F43AFB83EA6 /* Web3+JSONRPC.swift */; }; + 469AAF3F2BCF89EB1AE5208BDDCD8524 /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF0A571C3D738760D77BE44DC3DBF459 /* BlockEncryptor.swift */; }; + 4868FC86913C7BEEF591B59A65E1C654 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D83A97A877542A2EC6DCA88DD2028EB /* String+Extension.swift */; }; + 48D8B679DA0511AB8EAC728612007462 /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7DB5E41B41743430F0D989437AD4091 /* OFB.swift */; }; + 4BF84961F4CACCF4703A5AD0E128033E /* dispatch_promise.m in Sources */ = {isa = PBXBuildFile; fileRef = BEA6C296294AF579C5E26DE62FC71CBC /* dispatch_promise.m */; }; + 4CC6D90B4992919977240F7380448848 /* Promise+Web3+Personal+UnlockAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CD73B7D3181B0D94CE212502F3D74EE /* Promise+Web3+Personal+UnlockAccount.swift */; }; + 4F303678FF7DDA68695B989311DD33B4 /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 231C2D02CFF005D80CAD0308D882A69A /* NSURLSession+Promise.swift */; }; + 4F3F51153F6029695BE6BE54FFBDC616 /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1651C3EB5087C3CF5294DBDA737440F2 /* Cryptors.swift */; }; + 5009487EA1550B855E0A8D0F5218E755 /* NativeTypesEncoding+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67DB53803B8AFF12F28E47500E5FA4D5 /* NativeTypesEncoding+Extensions.swift */; }; + 5078EB44DBFBFF5E4D0572BD45439BCE /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F20F56831A09E0B4A45D3E47576CF42 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 5177D0C2101B7DA5EE08F6111C768FCE /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2CFB442CB244B69C89D6C0651E21E9D /* Data+Extension.swift */; }; + 5356F05030669B23BAE51298F9EE5403 /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD20AF7008A9F71D298E2252FDF9EB7B /* CMAC.swift */; }; + 535A046EF29014CED01BF31BBCC547AA /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A40978EBB425827600AB1B975DAFEE5 /* Rabbit+Foundation.swift */; }; + 5403E57738826E187DE7C32E729B3B91 /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = F8C22382C482B8DB731B8A6B3B5618A5 /* lax_der_parsing.c */; }; + 541EE41CC83131708FC4873E24EB6813 /* Subtraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = A18BCBAF1463ABC38E43C310C8A5DC49 /* Subtraction.swift */; }; + 5424161BE3E074F4E7FEB20105CF2DEF /* Promise+Web3+Eth+GetAccounts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 703E60310515C9DAE5C5B44D4ADEF09D /* Promise+Web3+Eth+GetAccounts.swift */; }; + 54F1A3C5DE33561080A750257B22C23B /* Dictionary+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0C7EF8D801C5AF4AB0F1802971A0768 /* Dictionary+Extension.swift */; }; + 5749E971A5E9F57DD3CE90D4BEC95455 /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 72070A5E4D81C0DC66FD2630AB64FC35 /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 582127B8950A73384E0D7C919A6B9D76 /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3ADFA503DA3512C3D7462CEBC3461E1 /* Poly1305.swift */; }; + 5884800813971F246B42526DC8FC3B85 /* Promise+Web3+Personal+Sign.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99D3AA13FF0CF2C33FD2CB7EF9FE4214 /* Promise+Web3+Personal+Sign.swift */; }; + 58C54CE909D3981244E323D3DB2EADFD /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A0D7C8248B11637C656458A2F76AA99 /* AES.Cryptors.swift */; }; + 5B2CC610F0124B9A9C82A288860CDC34 /* Promise+Web3+Eth+GetTransactionCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B857314AF2E96C8DA7CAAEFAEF1F7A8 /* Promise+Web3+Eth+GetTransactionCount.swift */; }; + 5B7CABA7F60DDB6278C59F7107742033 /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB25E5C7BD25CD7E53D639B210A1B4AC /* Promise.swift */; }; + 5B9C17D9478EB66CF57A57017A230058 /* CryptoSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B2EBC8972ED05B8027B86BA6C334EC53 /* CryptoSwift-dummy.m */; }; + 5C1069C6EC60175E44BCEBDC0E34805A /* BufferStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8B307D4E26840540E204782630D463C /* BufferStorage.swift */; }; + 5C55F3DE15A87BC02CF66FE4EC78B387 /* Promise+Batching.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DE42A2863AE2DBF2428DD725882E73F /* Promise+Batching.swift */; }; + 5CBEF893697D411E6DAFF8283DBF5C1B /* Promise+Web3+Eth+GetBalance.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5C02D3C50FB98C143D745510D16219A /* Promise+Web3+Eth+GetBalance.swift */; }; + 5D50C194C45265600EF508EBAA45E587 /* UIViewController+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = B0C8BA06101F357C799BC88E5081257A /* UIViewController+AnyPromise.m */; }; + 5D8B08FF6F53F23FF23A5F2C4D5249A8 /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E59725DE3DCFD49F652BE2F16C05B26 /* PCBC.swift */; }; + 5ED753E367A75BE0055D8AADD86B71CB /* Words and Bits.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6B836C566DD50CDDC91622F1017A907 /* Words and Bits.swift */; }; + 5F76BDF4F74809A4CE24FCE8EF0CA536 /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = A7B345CA772E8DBD55A2E927CBA8604A /* scalar_8x32.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 6031615CB271AAFFE43DAB124BE8A6BC /* Web3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E6BCC699F0A197E17875C4F23F79E33 /* Web3.swift */; }; + 605E9831CB62A4E917E6296572119554 /* AnyPromise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D0B55151A9D3FF6DF524D9E72CBFCB2 /* AnyPromise.swift */; }; + 6096AEBF1D98A5660AD58DB451ACBFB3 /* CryptoSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 97BDBF4C5CA18216A7B59BE4733E8907 /* CryptoSwift.framework */; }; + 60D03407C65DD41B77633BEBA45350BD /* Square Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFDEB675E0A92FD109E8578E45A910EB /* Square Root.swift */; }; + 60E624888EDC3FAA5DD873759CA6A5F0 /* Pods-web3swiftExample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E440C4B74B44A098160068C009BA588B /* Pods-web3swiftExample-dummy.m */; }; + 60F020078907CC571799F8EEE8657FD0 /* SipHash-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B06F415D20475CC8FC28FFC552A47C0 /* SipHash-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 62885B0BEA692447B5566DB9778C06A1 /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = F09D086B85A197C3C12AF8FC32888844 /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 629A716F64B182EEED14780B579DB7D1 /* EthereumAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EF9F4D741B2D1D2C8FCD47B3152DA9A /* EthereumAddress.swift */; }; + 6451556051C597D0608E90DD9768DF00 /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = C26DBBDC4361A9A3D875862D9CDCC222 /* HKDF.swift */; }; + 6526A7EF53A724E17E970F4FECE9F999 /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = A03CE4B278E0C83715E59182E1F70067 /* field_5x52.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 65BCDF3B209C440F8CBD5648EABD5FA5 /* Result-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FA4BD088591072E3F8E937FC348CF9C /* Result-dummy.m */; }; + 65CC5B6F6034B05B71E19DDD56BEC50B /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = C88308E23ACC16B283556A5CA6AC322F /* scalar_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 65CD80DDC802FC77BDD68D3E2AA32F8F /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A6FF6A14EF4D6724CFBFB93A4F4F681 /* Rabbit.swift */; }; + 6653B8B318CB15A8781326AC664196E3 /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FDA4F7EC9B81938EE471ECE2284AECA /* Resolver.swift */; }; + 66F9A521D75B9EABAE1CAD8FDB2FD28C /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FD8645A2496918B9B87011F0B77E14E /* ResultProtocol.swift */; }; + 679171569947CA69B28369CBB64062BE /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F599A827CAE59ECD5DA613ADD1801A7 /* Blowfish.swift */; }; + 681D98F4D692FA39C87A2949DFE51F16 /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4770FB1CC45B404A730863A5BBDE8C9F /* Digest.swift */; }; + 6827F78241E84E17AA16A7D10C477746 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 064D539BBAF5825903014E2E42F019F4 /* HMAC.swift */; }; + 6890BC23C948237266F16D15073C5B26 /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7216ACED116DF927E827ACB9E2DF163 /* SHA1.swift */; }; + 68D37923D30539349D08F686E2060117 /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57C115113180DDD97A209C450A323C0E /* SecureBytes.swift */; }; + 693A77DE44042BA013938A432B8AA9B6 /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 6158BF72A61B2B3CE2240025C34B8A23 /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 69E6BE13070187CED87503CD613CAEE1 /* Integer Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35741AB0833B23E77A7CB168A157FD90 /* Integer Conversion.swift */; }; + 6A18E0B8ED23E948F38FA672542C0134 /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FFFCB7AB750F1408E71BE53B3D9C85E /* afterlife.swift */; }; + 6A2336254B24BF2B93D7D8E39BE294B7 /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DBB8EB538986AEF569A595AD56B2CB9 /* CustomStringConvertible.swift */; }; + 6ABBCE9B9ED70A2117B857ADFB9159E4 /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 2377E7F5F6E1B9EAA04A11FB9329ECF5 /* ecmult_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 6B2C7A66EAF074A78FFA2FD769C56F65 /* EIP681.swift in Sources */ = {isa = PBXBuildFile; fileRef = 986FB1624E314E5F2E9F13EF4B8175CB /* EIP681.swift */; }; + 6B306FD8E0F52DD895310B95070F9C30 /* UIViewPropertyAnimator+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F3B8889D0D18DEF2CF5F05EFCE9F568 /* UIViewPropertyAnimator+Promise.swift */; }; + 6B5CE1AEB9E558B70C951801D35FD55E /* TransactionSigner.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9C94A81A904A9492C86F03251F3F9A6 /* TransactionSigner.swift */; }; + 6B861CBC3B90D10C8CDBAC5D0E01743D /* Web3+Eth+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = E149422ED5FBFBBFDF869F5267A3CFED /* Web3+Eth+ObjC.swift */; }; + 6C46373BE1A126517B4FF02B59D985A7 /* race.swift in Sources */ = {isa = PBXBuildFile; fileRef = 891EED47DC73A8B323F748EA2676F146 /* race.swift */; }; + 6E89D365ABD5F55D075E857D261BFF33 /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = E1B553971FDAECBA58CE3B063C9A66F5 /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 6FBCAC4C87884CCA78E3B169814DC7AC /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = 7857CCE04CD7E06C41D8CFAD0FF6486A /* field_10x26.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 6FCD25230BA4E0B39D3CDD9D8AE1299F /* UIView+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDC8C3143E181D6248738187393BEA40 /* UIView+Promise.swift */; }; + 70EA0CC4200BB02F9F60433D20AD6325 /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EB4026359CE620C0114B424CBA5D40D /* basic-config.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 71B9B8543875E4E32E42B4A9A1312C01 /* BigInt-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 91FF287A2D6F4A4F78AB5F96F8D6B6C3 /* BigInt-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 722867F90BF998E4275E58E1458CF818 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 319DEB9643FEFA6C0B1D8706C28879A3 /* scratch.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 72DEE3AC5B9A27020EFE91619AFBAF82 /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0304AE8FA05319628AC1812E3E507A21 /* Cryptor.swift */; }; + 7338C3A1BBB90C58A2F63AD01A2FB4B6 /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84D207BADF2861BAEE09DB0F0100D9C8 /* Thenable.swift */; }; + 7519F2538E19EC85619495B9581EC002 /* ABIv2ParameterTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28FFFC9BD859F58312467FAB0ADBE711 /* ABIv2ParameterTypes.swift */; }; + 76A07471B25153C90BBE8C37CC9250B4 /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F689778FFDCF60FE0330895D2FF579D3 /* ChaCha20+Foundation.swift */; }; + 77B87967C1955033F9B350520B6CEEA4 /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = B2087493B84529EC925CD96B6E28CEDD /* util.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 77E8B7DDA613FB5C879784E0772FC013 /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E4678722B01715F2B3716BD3AF97D05 /* BlockCipher.swift */; }; + 78B2A1FCF0C8FA91993663201251B82E /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FFDE44AE604DA940226CE09D970A58A /* when.swift */; }; + 78F2BC147CC813133D6356C9BE1ADCE1 /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C6D5088382FE71F237781CCAA15029E /* AEAD.swift */; }; + 795DED671E284726E82F7B29C8D84E1C /* Promise+Web3+Eth+GetGasPrice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47F253E5C15DCAA5F32728BF380B7FD3 /* Promise+Web3+Eth+GetGasPrice.swift */; }; + 7A6C963EFD84D52F5A5350A9612B3B0E /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = A57379017DA3A7363C4A126E85922A3E /* Result.swift */; }; + 7B940F6ECB4BB48F56D21A23DB6BC81C /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 196B6B93D2F28684E654A49D144415FF /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7EC2EF142B1C606B1D8F2DE063CF9A8C /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = B8FD1CF670C9D76982E36D9C7194D970 /* NSTask+AnyPromise.m */; }; + 7F5E2B72A48329F95982D38A450CC919 /* ABIv2TypeParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4ABD85E6008589BB486729FDD20F2263 /* ABIv2TypeParser.swift */; }; + 80B0B462C09D541D9E850D874D656673 /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1446285C476D91623FFA25FFE16B2493 /* CFB.swift */; }; + 81C1FB472DAAF55ED66443EE6FF59E1C /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 192204EBF8C806D42C01EE7BBCC7FAF5 /* Updatable.swift */; }; + 828C7ABD4A0AE0960760866B17AD94B1 /* Promise+Web3+Contract+GetIndexedEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = A964E878B714B85BFFB78FE9A1D48601 /* Promise+Web3+Contract+GetIndexedEvents.swift */; }; + 8293BCC7B22412260873FB9EFD99FB53 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 716FEE6D4ADC494CA5E7323805A351DC /* PBKDF1.swift */; }; + 82BBC18E36946D4421D1775F3CE9E101 /* ABIv2Decoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2A78FCC4EF319B19E3793B5E9793FB6 /* ABIv2Decoding.swift */; }; + 8454391CB46652B78B6AFC504F09067F /* secp256k1_ios.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 81DE6AEFFC0C4855DC44FB339A0BDE6C /* secp256k1_ios.framework */; }; + 847A155084AF3DCB445E53A1A33F2354 /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 707432298CD4D86FB4904B22A030DBAD /* RandomBytesSequence.swift */; }; + 8956888E1CC6894013EBC449101A3EBB /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BBD7DF502B00E6CFC56DFE2C20E0D0D /* UInt128.swift */; }; + 8A4FB72AE3DADD0BB406C21178861D3C /* Web3+HttpProvider+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23101CE8BFD9EF3690B3991301140D48 /* Web3+HttpProvider+ObjC.swift */; }; + 8AAF2AFC9D027B407358379401879A0E /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = F1EE218B7D030099B8EF4244294877BA /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 8AD769BC9791E6C53FF3CD35554AA1D5 /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 36445A6F290DA01FBC4F26C0A5D31D70 /* PKCS7.swift */; }; + 8B3B9583B57FF22C41C8F767508487FF /* CryptoExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BD2E83F8EC164E54CDED400AD9CFFE0 /* CryptoExtensions.swift */; }; + 8CBD2840D5CF4328E1F16FABAE55137F /* RIPEMD160+StackOveflow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81DA673B05C77642F07D69EA4532425B /* RIPEMD160+StackOveflow.swift */; }; + 8D0CDEB79686FA00795F3E1D08C1192A /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 12ADBF373A266E4D41DC6FC96C0A5C25 /* scalar_4x64.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 8DCCC8BA282404D40D84A0F4C94A3A6C /* scrypt.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDE87D210458FFB601CC2F569131ACDE /* scrypt.framework */; }; + 8EB396C5D26910F7F72E37EA06924F7C /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D0280A8B81447E72F8900FAC8DC255B5 /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 8F7E30C827079FA8A0EFEA91D62DF299 /* ContractABIv2.swift in Sources */ = {isa = PBXBuildFile; fileRef = B879FC9FF02959F80112A1028330B1C4 /* ContractABIv2.swift */; }; + 8FC26FC4527AC222B1C2F40D4E1F3D81 /* Primitive Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7AE5E3A63DD4DE3E3574F245EBBFC95 /* Primitive Types.swift */; }; + 9097A0E21774CCF76D8251680DD36E55 /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = C9E535CC3B56DF96BD33013093E21D6B /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 910DECB543C55FB96E09E4E2557A6755 /* Exponentiation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4B6AC99AF9BB0962269E5759E81E320 /* Exponentiation.swift */; }; + 91344AA71C9263849385562A815572E1 /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = FC53C9C956E2390F9B8020E114BAEF38 /* field_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 917F4351B168C4F3759ACFA72A29562A /* ContractProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 343BA041D669379F08B4BA7E48C7BF65 /* ContractProtocol.swift */; }; + 91F2CBDDB29F4BB4CDA58D4F5B628A8F /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D58637E65FA215EA3F838A635924646 /* Catchable.swift */; }; + 929BF135E5D71303BA026FD0C5CBACAA /* EthereumKeystoreV3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0555E01E3A109C44BDC8D3F72BC8BDBD /* EthereumKeystoreV3.swift */; }; + 938409FB279CFA0089A3CEF866CFA6A0 /* EthereumFilterEncodingExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62C2D8DAB77DC8A25C4E449BC300AFDA /* EthereumFilterEncodingExtensions.swift */; }; + 94C78D2A4E635D01A9CD9986AC8CDD37 /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40B4DEF14A7DE548CFEF7B62B06AF62D /* UInt64+Extension.swift */; }; + 955F82AA3E016CE78E286ACC8559F35A /* ABIv2.swift in Sources */ = {isa = PBXBuildFile; fileRef = A997EBF435A0C1763556BA8793373E65 /* ABIv2.swift */; }; + 95B4BAB0877245FBC1BDFF31D269B3D9 /* UIViewController+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = A518522A431DA29C6EAB22C89220F3D3 /* UIViewController+AnyPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 97CC2191FF1F5BF6E007E1F0452D3835 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45F2F797BEAEC4E38CE2D033EE44613C /* Operators.swift */; }; + 980449BCD84EFBE6174DB967E62EE02C /* Promise+Web3+Eth+Call.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB88C6871FFA8E2AEC4C11D2134C8505 /* Promise+Web3+Eth+Call.swift */; }; + 982543B875153D03B93FF50497D24361 /* BIP39.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1470FE533DA2633F1A66FDDDB7B7E280 /* BIP39.swift */; }; + 98C459EAEF81D101622627E37AAD0946 /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59DEE9838482282D026880491D6A09B8 /* AES+Foundation.swift */; }; + 9A683FAB2843A7181358FFC2F9AA7FAA /* BigInt-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7319C8DEF058868FAB938FAD22813553 /* BigInt-dummy.m */; }; + 9A76F4002962256CFD034CC3C39BFC60 /* Promise+Web3+Eth+GetTransactionReceipt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51901516BECC0FFD77E736D256965599 /* Promise+Web3+Eth+GetTransactionReceipt.swift */; }; + 9AE3952131E530F55D34A350ECC9B909 /* Multiplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45A7CC7C99E72DAA6B9C339B4B45B6F0 /* Multiplication.swift */; }; + 9BE26641F305F1572E557F19C6ACFC84 /* PromiseKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 15FA67C83BE43CF3EF9C1E6D2E3989D0 /* PromiseKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9DA1244904AD9E535DFE95EC136A5799 /* Floating Point Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B31B02CBA5CE3418CD0D8EF2390E656 /* Floating Point Conversion.swift */; }; + 9E017EE35E02E183B048B58B739A72DA /* Web3+Wallet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A6CCBF638311206CEFF4108D56E0D6C /* Web3+Wallet.swift */; }; + 9F809ECDE716A3FBDCA8A1940D7C2785 /* BlockExplorer+GetTransactionHistory.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB45C8770EE42F74BECA341A582A9813 /* BlockExplorer+GetTransactionHistory.swift */; }; + A181B697DCE8BCE8DC2028CDFC0DF44A /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 9062B9AD79A1FFCD8E4C3D3BBAD22417 /* AnyPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A1CFFFAE4F7C907C9B0DA0FFF1D94FC8 /* BloomFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDF08EF7DB1DC3328291CCE00283F043 /* BloomFilter.swift */; }; + A2D8786DEE0BE917D2ED663FBC245FBA /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D99B05CD6515234D9A52524E78779C4 /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + A35C39D02474ECA3DCFBA3774BC0ED7C /* BigInt.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 092FDF7F6A0B07EA5F43A3E8652A2A11 /* BigInt.framework */; }; + A425AB2AFD2A6AC8C9AD47D474E8F964 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AD2681608D7996F0B97567E76E38B0E /* CompactMap.swift */; }; + A46E62AFBC76EAFED17097838AFC58E1 /* RLP.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB97BCB1F8ADDFB1DA7B46904EFEB297 /* RLP.swift */; }; + A6149451448E82A46450F264A0C0148B /* PromiseKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A702E196081639CA2834C8EFC66EB60 /* PromiseKit.framework */; }; + A6774EE973107CFC27CFEC8F9DB19B67 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9BC92AB3E8B43B6FEFE7AB4748793AE7 /* Foundation.framework */; }; + A6B9BF2F0D5DEA52AC43A9863779A093 /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 162213C6C0819E2BC89868BBC891FCD5 /* Codable.swift */; }; + A765945680ABE1A73AAEF33A2D0ADC76 /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = A147CC10074D694F4FEDAD5C37A4345E /* BlockModeOptions.swift */; }; + A835BB4E4C19FF94F08394E2CF87FBF1 /* CoreImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FAB3F8944868A08EDAFE81B3CE257C46 /* CoreImage.framework */; }; + A83B2E3460B4EE8E9FEF5F63ECC58B87 /* web3swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 43E25994494B329B440C18037489E9DF /* web3swift-dummy.m */; }; + A8DD8450B62755340F32E75385672F49 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63ECDB3BEF180F5E5465DF3D9196A913 /* Int+Extension.swift */; }; + A9663F91BCC4D24B5094B425280FA3B1 /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 6153FF45F92075AB612127F5BACFD9A6 /* eckey_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + AA191D63396A0B50692FE300FEEEE606 /* NSObject+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF4B94ADE36B859A985CE20D9C9B4C1B /* NSObject+Promise.swift */; }; + AA7EAF7137C27D6E369D3F2E66ABCA18 /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A4893E75518CE78AD46F09C2B0BCB86 /* Bit.swift */; }; + AC15ABA398755E9185F250429C92E4B7 /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 68CF1A1605BD327E75915D5F85D673FD /* NSNotificationCenter+AnyPromise.m */; }; + AC43CF18DC2953592E51096D0230931B /* KeystoreManager+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14D6ECE7EE1EC56E855EB8089B581FE7 /* KeystoreManager+ObjC.swift */; }; + AC498DEA150B4854494EE3B499B1E74B /* Web3+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10F89C677C577204A26019CC289B1E94 /* Web3+Utils.swift */; }; + AC5459A014B6BDB91F647D9506396B4D /* Cimpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 27194B847928F8AF60CE9A6A913D8EAB /* Cimpl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + ACD3873A8729ACBD9A6D48054239B646 /* Base58.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82DA4B0181B2D7385FE66132570022B0 /* Base58.swift */; }; + AEDBFB777755AD9680EBA32ADC5FE57F /* secp256k1_ios-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2CA9201F6EFC3831E810979D81E598C6 /* secp256k1_ios-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AF7191EC445198351E2396EED989010A /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F14BD8371C5BD953ACEA2EC348DF108F /* Collection+Extension.swift */; }; + AFF9D51A5BEEE7B2E486C5B012BCE382 /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B2D0E063799E56A90B8804B84308E65 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + B0D1A5B91FD8B2603B6456DD06E531C4 /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = B549029F7C08F93F71DBE300BDBEB3A5 /* PMKFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B172A8072454AB83995AF52101B03839 /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CDD0D9B03D820E5086D9498D2D9DD67 /* Padding.swift */; }; + B252621428A77550F451918D3F97E6A9 /* Web3+ERC20.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBEB3C1E2A88B6371BC0922D8F50C3B8 /* Web3+ERC20.swift */; }; + B288CCBB9F4B15DBF6A61AEDB921328C /* Web3+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 793565E05F87C940B4D333C65EBEDE8B /* Web3+ObjC.swift */; }; + B3682A183AE01299B9F5D573C85ADF7D /* LibSecp256k1Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00F18ED0F07AAD5FD3142707A5EEB7E4 /* LibSecp256k1Extension.swift */; }; + B514B4E9DB02B1EC4321D62DFA0524A1 /* Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFF38E25FE5AA4DFD2E84286D4EE29E3 /* Hashable.swift */; }; + B58EED51FE023F7BFBA4F002A398A71F /* BIP32HDNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A8E66DCCDCF6FE84240BC74547E057 /* BIP32HDNode.swift */; }; + B5F5721D6331C7D47FB48C673155A8EA /* Promise+Web3+Eth+SendTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 998D75A403FDA6A5E849C8AD8F7837D3 /* Promise+Web3+Eth+SendTransaction.swift */; }; + B695CE625BBFAB10171B18CFE6CE271E /* Promise+Web3+Intermediate+Send.swift in Sources */ = {isa = PBXBuildFile; fileRef = 099411A4987328A3637E16D55446C7C0 /* Promise+Web3+Intermediate+Send.swift */; }; + B6CCB228AB6B127FE1F963FDF204B2F3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9BC92AB3E8B43B6FEFE7AB4748793AE7 /* Foundation.framework */; }; + B7F3D476C87C0EC57139955A579FA3DC /* Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F42BF4C6F2E4A124889A4EF8AF5CEB7D /* Comparable.swift */; }; + B80E8DC58BACAE173A61AB492B89E97C /* Web3+Infura.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC7F30FF1F8C2624985ED76AFEF7343F /* Web3+Infura.swift */; }; + B91A2B90FAC29C5CFE6C9D7083D302B2 /* PMKUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB55717467B6E1C5DC461B186D34505 /* PMKUIKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B9C26ECB4C06E7F7FE1318AC27983A29 /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BA56A6B6D3AA5CCAABD3A9421FF1FC9E /* hash_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + BA7CF16E10824FD60A7B3706DAF36443 /* Promise+HttpProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0D132AD733102F963CAD5D649C4788F /* Promise+HttpProvider.swift */; }; + BCA8203FBB463DF9AD3618518BBD5D7D /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FC0F0D599A825FC0C5FE165BCB8EB0A /* String+Extension.swift */; }; + BDEC4E13E67AB342D0FA893AC46B51FF /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = E99567F75AA85FF9096F7D24934C554A /* Utils.swift */; }; + BEBA6B8DBBE92B3FABF2089C111896DF /* Salsa.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB21E2AB71A28225AD43E56B69612A2E /* Salsa.swift */; }; + BFCC5A2946BC13B6443A9FE73500D6E6 /* Promise+Web3+Eth+SendRawTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = C78A90EF1AC64CE7665CF433AE31CB4F /* Promise+Web3+Eth+SendRawTransaction.swift */; }; + C14B28E1B085DB351DDFC83187893EAD /* SipHash.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F73C2F6E4737EA189FC60DD089E7FF2F /* SipHash.framework */; }; + C1E6617F404FF73114711159F727E280 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E642878C5D7B7E8AAF50ACE887F81C9 /* Array+Extension.swift */; }; + C28EEF13C3B8ADE2E1AC2FAE81CE3BAF /* hang.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C0B26A0F1EDE1CDC241622A88F22672 /* hang.swift */; }; + C39334762D97FFDF0ECF60FE78FEE593 /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52989BD6A3046CDEC153D8C28451A374 /* HMAC+Foundation.swift */; }; + C3DC6482055977725FEB1E35661DC0F5 /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = A0B29A79F216917DB7C1E8D51E2B29AA /* NSURLSession+AnyPromise.m */; }; + C3EC0248F1264283CA50426408BA59BB /* AnyError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B0281225D044E95B9D81942D287340B /* AnyError.swift */; }; + C4330EC9FFE7F619BBE73C58778AD54D /* EIP67Code.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03C1C7040F24F41655E6559346C1E313 /* EIP67Code.swift */; }; + C4A159272AB81264556274A5548B1779 /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = 231D7535BE0908B8FA752378F694AB44 /* after.m */; }; + C4C959076952E3A0AA8004F2C9114CFD /* BIP32KeystoreJSONStructure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14DEE56FE9FEE65882DAFFD2A00048C6 /* BIP32KeystoreJSONStructure.swift */; }; + C5B77FE50F765FE37316981B380DB67A /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 78D5360A2EE87EB571652044CCFFCDDC /* num_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + C7C180C5260E9EC8F7D23F25FF8AA775 /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 7EE987122C612CB4F255D6C9980D5D36 /* PromiseKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C835056C3477C1D835D811DD61817967 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9BC92AB3E8B43B6FEFE7AB4748793AE7 /* Foundation.framework */; }; + C91C671AF2954E63C3FE6ED9D8DFBB8A /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = E991F14402D14DBCE758C2C453DA2F7D /* Error.swift */; }; + C9A75595DF17AECC63A535838EC2C283 /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB8B88BBCDA33902573936676AF560B3 /* NSNotificationCenter+Promise.swift */; }; + CA9CCA3289EE3DE74461144D856EEF8C /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = DFEE82FC5B9EEB2D9735B3D3FFF8E2C7 /* eckey.h */; settings = {ATTRIBUTES = (Private, ); }; }; + CAA2C6EC03DB5574AA1B639894CB338F /* Web3+Instance+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44D07ED0C754D51CF6C2BC1702DD564E /* Web3+Instance+ObjC.swift */; }; + CAE711EB66D527E3FB43776CF276843B /* Promise+Web3+Eth+GetBlockByNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5A23401BDDA896B8128FE62F073EB4C /* Promise+Web3+Eth+GetBlockByNumber.swift */; }; + CAF579CC2CED09FBDCE2864827B8A085 /* BigUInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C73D7AA3EDD90DB64FE84C36BD6CF7B /* BigUInt.swift */; }; + CC4F237FABAA1A3C56E12FDEA0EB705E /* scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = EF7EB2244879158182404A5CE01A6DA3 /* scrypt.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CD13C27BEF9D398C0055D537003F0206 /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3404310B6A67105860E0486EF8879528 /* Cipher.swift */; }; + CFA040A4AE2F53BF295CF6C7B6266C11 /* web3swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F5893B28387D9A3B3938E5EED54AD58 /* web3swift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D04490D6A1E9627156186C5EF0025EDD /* Web3+Instance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17623569C850BA2E2564795979DFDB57 /* Web3+Instance.swift */; }; + D1442524EC7DCB17F235E12B81114603 /* CryptoSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FB2C4AB5AF97836C7414A2306478544 /* CryptoSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D1A3BE9AD8F7459267BF22524FB4E5E0 /* BlockExplorer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98D040F49C5324D284DD9F2514B31740 /* BlockExplorer.swift */; }; + D21515D19013C30F9AD7BFE1982CB967 /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = DBC471D81098384ACA05477FCAF96F28 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Private, ); }; }; + D2891D4FDCB1E6909DDE3C6681C6412D /* secp256k1_ios-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 014042438B2D19CCAC6C5F00B1146C99 /* secp256k1_ios-dummy.m */; }; + D465365F819D9514B406031A0C845BAA /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1A1E5950E2319371590A7F1B55689D0 /* CipherModeWorker.swift */; }; + D67F25162A93B2ECBB8B8709ECA66879 /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = 3952E3A45B4964ABA58E30423D7DA553 /* when.m */; }; + D805859BE5C06581BC912A50A95864D5 /* Promise+Web3+Eth+GetBlockByHash.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD29F1C88C4C182E528EFD16775B5E6B /* Promise+Web3+Eth+GetBlockByHash.swift */; }; + D8294366574ADF1B044C1F45C6B917AB /* web3swift.h in Headers */ = {isa = PBXBuildFile; fileRef = 8ABD49EF51122D8FA6197117E9244422 /* web3swift.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D953DA4479CC018FA143BF59E7A5B10A /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6781601E4B221AF8A6CB8901008CD34 /* ZeroPadding.swift */; }; + D98C6A2BF232502AB16A453DAC83E49F /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AB84887CB548044F04C66D21491F30C /* num_gmp.h */; settings = {ATTRIBUTES = (Private, ); }; }; + DB3AA3B2747DE3DA344F88727E0792D7 /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCE7FE3A8096914EF9B8E43AE1000416 /* PKCS5.swift */; }; + DBD5D46970B589C74A1FEAAFFBC1744B /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8270CDEF1F71C3CBE99FC3628AC3EBA7 /* StreamEncryptor.swift */; }; + DC5FDEAAF77A7BB4CB1E87E269C37A3B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9BC92AB3E8B43B6FEFE7AB4748793AE7 /* Foundation.framework */; }; + DD1B78ADC6B14B7065DF312FFE9789B3 /* Pods-web3swiftExample-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CB41387E485225E0BC8B079979EEF3D /* Pods-web3swiftExample-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DDB1F3EE512CBBBDB4E5558A671BEADE /* UIView+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = D0A9DDA2F0156D188BEFF81EBEE38903 /* UIView+AnyPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DE1D91B2EBCECAEAC4D480323BEC3039 /* NoError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33D1449C4E8D84E0AC0DA60599B0DA23 /* NoError.swift */; }; + DF98911B0F87E37CA61A850651CE7EFE /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = F87BEFD39CCEE24503E65946D2C28F34 /* GCM.swift */; }; + E2D009FA4672CF59190FF304D3BE9DD3 /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = 47EE1AE862AC1E08A3510AE8A3ACC49E /* hang.m */; }; + E2EC13D1D28147E49A3BDAFE275449A6 /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = 926206F9931948DD8CBFD7D9EABD033C /* secp256k1.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E2F49DCF776B189057E13990400C3EA8 /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A25076F49F8EC969977B47A3D270973 /* NoPadding.swift */; }; + E4DF114E5136E741076C207866A9C4FB /* PromiseKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D4795A3312AFD3CF4610B857D57F0DE7 /* PromiseKit-dummy.m */; }; + E59381DB612E6B78B65F96AE31017C45 /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FBF4238285101EB5008F25E7C17DB9A /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E5FB91E5633F83EE8FB95C47EDC318C5 /* EthereumTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5628BB0370E6607CB7726B6ED62CA7E7 /* EthereumTransaction.swift */; }; + E82F15CE10FE5291F3346A78F11EAB71 /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 273095CE17C51A9F55E72F26385B33D1 /* BlockDecryptor.swift */; }; + E8658C4D90A1C534C6B834800E5F0CBC /* Web3+Protocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = FCC2FE29E9996BD207285015889B3279 /* Web3+Protocols.swift */; }; + E8CA9824DFEFDBE5FC430276A237F97B /* Data Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = F97510E9053BA812A0D125583C319128 /* Data Conversion.swift */; }; + E9A859662335ED59C23A2FE20A4DCC17 /* Guarantee.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0673406163739833CEECFC5634FED4CF /* Guarantee.swift */; }; + EA13ACA8F3D959E99B0316C7DCE512A6 /* Web3+BrowserFunctions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A48691ED7AB66A35E08ABFE8367B7EC /* Web3+BrowserFunctions.swift */; }; + EAFF20B5047C8A8ED96B861E71AD86D2 /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = DF874BF9CCC77EB83F09D12A4308C68B /* scalar.h */; settings = {ATTRIBUTES = (Private, ); }; }; + EBDB217F6C107E06FC5E19EFE340F40F /* Web3+TransactionIntermediate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D88868F549DDDA1E4CA1095EF79FAC5 /* Web3+TransactionIntermediate.swift */; }; + EC76C253793BBAB13A244EFE1A98619F /* Web3+Methods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5114E6B22DBDF708ECE7C3019E5D6106 /* Web3+Methods.swift */; }; + EE851A358B5CFC5DB55B649D4E0F6817 /* String Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC3E819145FD9E56DA10F219A9155D0B /* String Conversion.swift */; }; + F024A5E674F3608FC07B7002FE0FB19B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9BC92AB3E8B43B6FEFE7AB4748793AE7 /* Foundation.framework */; }; + F09F00F07E2F895F0040C7708F92DC3E /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 017C3C0F878AD51DED5CBADD10EF9AA8 /* UIKit.framework */; }; + F0AC9F138AA0272B3B7812346EDAC741 /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB5830DCF5BE1BC265D8673C39D6ACFF /* PKCS7Padding.swift */; }; + F0AD6AA66BE6563C90F264D8FD5CCA6C /* Result-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = ED2C60159DC5CDC64E9C76793B692956 /* Result-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F0B763BBACB1D83893F9AC263E2E94D5 /* Web3+Structures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E5FFF2ADF7334E4256CFC9542594671 /* Web3+Structures.swift */; }; + F1631F5F7CD77D9527E4FE5EEFBCEB3D /* BigInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86C1E8D67E7B36A868205B54D0DB924D /* BigInt.swift */; }; + F233ADB45879BE0E7D45D336AC885F0B /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 93F85B21BC57EE24795630B658B179F0 /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + F2C1FF8D84B769BBAA2774FC9089B6F9 /* ABIv2Elements.swift in Sources */ = {isa = PBXBuildFile; fileRef = 783C789DDF22F7B1CD81D5223F61B0AD /* ABIv2Elements.swift */; }; + F346DB25333CE75BFB18C6593C562037 /* PlainKeystore+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41455399C8B4A289650ADB5856F86D5E /* PlainKeystore+ObjC.swift */; }; + F3A20CBEDEBAAD24FF1C6EF6A14CE368 /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = 7AE9359608C045D06EB2204BF13F3E78 /* lax_der_privatekey_parsing.c */; }; + F41DE1A38B6ECF011127CC2F18B8F1E5 /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 880358145E7B982F9FCB5D316EB4DAB4 /* Array+Foundation.swift */; }; + F62CB020347D65CE57D6CF01B00D84AA /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EAC8681CD7621782E51E812332E796A /* UInt16+Extension.swift */; }; + F79164F06C90C81A48EB83EE0AB5F761 /* SipHasher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98A2FBCCE443F266993B3935B6D04F58 /* SipHasher.swift */; }; + F82E45B3F844F330BE4BCD8AA537A44A /* IBAN.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C1AB9A135AD942B8A7A7B281141EB93 /* IBAN.swift */; }; + F8995F2D7FCB6539E22F9945ED840B36 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B27AAE202915C26D30FF0AB6D511C2A5 /* Array+Extension.swift */; }; + F91993F3FEEF2D1D11275BDC4C02F88A /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 569540840E89CA743338311B4EAAC218 /* main_impl.h */; settings = {ATTRIBUTES = (Private, ); }; }; + FAF78D494C90276099BA6AA47428EE5C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9BC92AB3E8B43B6FEFE7AB4748793AE7 /* Foundation.framework */; }; + FCC4CAEEB081254048F9F8EAD95E0B08 /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E13296A1B1E4B39699423E4D419FD51 /* Generics.swift */; }; + FD62D2BEE5596C80F812988613AE3192 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F5CFD5714E4C2267C41E1D20D96A6432 /* Result.framework */; }; + FF4D62310B934389B147868EA7D5E720 /* Web3+Options.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A402FB6C488D91DF67F023381022997 /* Web3+Options.swift */; }; + FF8D6F9246B91602A6510889F5AC7A37 /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 206FB0DA1ED8B1EC1C34CCC55E7D0E38 /* CTR.swift */; }; + FFBA8696A49B49BA33D1499546FCEC58 /* Shifts.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF4AB01A6E765207693D4AE0D5902553 /* Shifts.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 0E01B73CC8F027E3BB675B850520B20E /* PBXContainerItemProxy */ = { + 0D1A9F72CCDCF579C12409E9B6CF29A1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C36167279A3ACEC5E09E05AC17E973AB; + remoteGlobalIDString = 2571F2C79C3D43B0220DF7B9302CB451; remoteInfo = PromiseKit; }; - 111385C619C9ADC78F47666FAA2A22A7 /* PBXContainerItemProxy */ = { + 3AA144C5877BE9850125175A628B8694 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D93CC8797FA6642C382C93BBA9AE8B0D; - remoteInfo = web3swift; + remoteGlobalIDString = E73E959E8118EB238220F62E6A1C4FF3; + remoteInfo = scrypt; }; - 1D7E7E679A2F944C7B68599B9949B3D9 /* PBXContainerItemProxy */ = { + 3BF361F176FF58861488CD8AC9683C23 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 60BF36463B9896F856D87DA4DE89FBB9; - remoteInfo = secp256k1_ios; + remoteGlobalIDString = F58417C26FE443298C1E00C34A50FD6B; + remoteInfo = web3swift; }; - 36A8B274F50442AE2C466F7B8C8A2E09 /* PBXContainerItemProxy */ = { + 3E577688509A0DE9BF822DC3EE993820 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = EA114BE2D9D1BCDA6E1013C3301492A8; - remoteInfo = SipHash; + remoteGlobalIDString = 4DACDE493E99BF92E5758A59F946A750; + remoteInfo = CryptoSwift; }; - 51F19D8B3983CC6266B592A32F736A15 /* PBXContainerItemProxy */ = { + 54CE60A631318530EC3EC73D61B6BF60 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 60BF36463B9896F856D87DA4DE89FBB9; - remoteInfo = secp256k1_ios; + remoteGlobalIDString = 137411A4D3CCDCAE6EE1A79271E0889C; + remoteInfo = BigInt; }; - 6BF9B000996DF9D64D4FE4DEECF00413 /* PBXContainerItemProxy */ = { + 6B03F3FEA8D4D028959A9B2C1B9E100B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 23A9C77578E46AEB069BEF36B9B5ADA6; + remoteGlobalIDString = 137411A4D3CCDCAE6EE1A79271E0889C; remoteInfo = BigInt; }; - 6EA95E18AF08E391FC2DD079C00AC604 /* PBXContainerItemProxy */ = { + 72E44D1D38734BDAA138696814FAE290 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C36167279A3ACEC5E09E05AC17E973AB; - remoteInfo = PromiseKit; + remoteGlobalIDString = F62AF0F0F2678A4120DFF3D5D1A1F6D5; + remoteInfo = Result; }; - 76DB86015CEE178C79D4F291C64586B2 /* PBXContainerItemProxy */ = { + 9769A826E3FD68B3650DDA4A69C7DEF8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 23A9C77578E46AEB069BEF36B9B5ADA6; - remoteInfo = BigInt; + remoteGlobalIDString = 9E6F6DA258BB741707AF260991406A45; + remoteInfo = secp256k1_ios; }; - 7BD0D139C37C19537A6DF939C1048252 /* PBXContainerItemProxy */ = { + 98EB692C3E543D16FF724F2E782AB9AA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 0E877A906EE881D9A703E2CEB69B27B0; + remoteGlobalIDString = E73E959E8118EB238220F62E6A1C4FF3; remoteInfo = scrypt; }; - ABA2DC1B51EB47A1C58FD8EB202B5FAE /* PBXContainerItemProxy */ = { + A473519B9A29CED72398F6B36808B50E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 0E877A906EE881D9A703E2CEB69B27B0; - remoteInfo = scrypt; + remoteGlobalIDString = 7FF8752D2607B0617A8EA59CB6F52DA7; + remoteInfo = SipHash; }; - AC93B93DEA6B153F441ACDD47711CB50 /* PBXContainerItemProxy */ = { + C0A75387703F1A2B591F0E2B62AA17C2 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D2CEBF8355BADD8508F8266F0D4AE1DD; - remoteInfo = CryptoSwift; + remoteGlobalIDString = F62AF0F0F2678A4120DFF3D5D1A1F6D5; + remoteInfo = Result; }; - B2520BE59D3D835F91798AA0CB79DEE8 /* PBXContainerItemProxy */ = { + C6C17D0086F8D9E70B8AF619657FF2BC /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D2CEBF8355BADD8508F8266F0D4AE1DD; - remoteInfo = CryptoSwift; + remoteGlobalIDString = 7FF8752D2607B0617A8EA59CB6F52DA7; + remoteInfo = SipHash; }; - BE88B88019CC73C5F4692FCFFE00A16E /* PBXContainerItemProxy */ = { + D73B772BC92CA079BB4AC214110DC008 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = EA114BE2D9D1BCDA6E1013C3301492A8; - remoteInfo = SipHash; + remoteGlobalIDString = 2571F2C79C3D43B0220DF7B9302CB451; + remoteInfo = PromiseKit; }; - D6AE6C9B739C8079861FA4830DE57BFF /* PBXContainerItemProxy */ = { + E8DB60D3DA241987C7C44C6EC105D49F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D2CEBF8355BADD8508F8266F0D4AE1DD; - remoteInfo = CryptoSwift; + remoteGlobalIDString = 9E6F6DA258BB741707AF260991406A45; + remoteInfo = secp256k1_ios; }; - DAAF4FFB27B380502C83474E2C10B2C0 /* PBXContainerItemProxy */ = { + F53010F9D724BDAFA36A318B5FF7C562 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C7F768100F7D32B078FA6D19893B5741; - remoteInfo = Result; + remoteGlobalIDString = 4DACDE493E99BF92E5758A59F946A750; + remoteInfo = CryptoSwift; }; - FD3871FA93CC618634A2D7AB7E6A288C /* PBXContainerItemProxy */ = { + FF6286D7A04DD3602D614132F8461043 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C7F768100F7D32B078FA6D19893B5741; - remoteInfo = Result; + remoteGlobalIDString = 4DACDE493E99BF92E5758A59F946A750; + remoteInfo = CryptoSwift; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 01B9F8302C27EEB6B1B175888E08664C /* Prime Test.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Prime Test.swift"; path = "sources/Prime Test.swift"; sourceTree = ""; }; - 02DC13AF775E722F06F597A8A14B0AE6 /* secp256k1_ios.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ios.h; path = secp256k1_ios/secp256k1_ios.h; sourceTree = ""; }; - 03180B6A770752FE7AF4453AE81CA412 /* Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptors.swift; path = Sources/CryptoSwift/Cryptors.swift; sourceTree = ""; }; - 033BA231ACC2136A6CB8BFB0112A0FC5 /* web3swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = web3swift.modulemap; sourceTree = ""; }; - 03427BFCE54F27CE4E2B39BF4A10CC94 /* PromiseKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PromiseKit-dummy.m"; sourceTree = ""; }; - 046EE18AB153A100831CC08374F28865 /* Cipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cipher.swift; path = Sources/CryptoSwift/Cipher.swift; sourceTree = ""; }; - 0582381AC2421163F7FC6854DF81F48D /* BlockCipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockCipher.swift; path = Sources/CryptoSwift/BlockCipher.swift; sourceTree = ""; }; - 078AF53D6A07F762432A2424B5D58161 /* StreamEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StreamEncryptor.swift; path = Sources/CryptoSwift/StreamEncryptor.swift; sourceTree = ""; }; - 094419FE4BE23498B11CBA6A878600DF /* ComparisonExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ComparisonExtensions.swift; path = web3swift/Contract/Classes/ComparisonExtensions.swift; sourceTree = ""; }; - 0A6D448881C8648C29B2822564286304 /* NSURLSession+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSURLSession+Promise.swift"; path = "Extensions/Foundation/Sources/NSURLSession+Promise.swift"; sourceTree = ""; }; - 0D0BFE961FEE019F0474CC71591FBA21 /* CryptoSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-umbrella.h"; sourceTree = ""; }; - 0D8E5BAB976E1215ADA818D366891226 /* KeystoreManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeystoreManager.swift; path = web3swift/KeystoreManager/Classes/KeystoreManager.swift; sourceTree = ""; }; - 0E2E24E6150E5C09FCC81471D9E99B90 /* secp256k1_ios.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = secp256k1_ios.xcconfig; sourceTree = ""; }; - 0EDABCC9E8C9DBD6F0354ADD3FC0D47B /* EthereumFilterEncodingExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumFilterEncodingExtensions.swift; path = web3swift/Contract/Classes/EthereumFilterEncodingExtensions.swift; sourceTree = ""; }; - 0FDC70BC746BDB97351736B2E75A507F /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/CryptoSwift/AES.swift; sourceTree = ""; }; - 0FE8C570A67B72F1871BDC1419D7B753 /* ecdsa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa.h; path = secp256k1_ios/src/ecdsa.h; sourceTree = ""; }; - 100B115D06674BEC5FE6A0B8CEFE2F84 /* Promise+Web3+Eth+GetTransactionCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionCount.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionCount.swift"; sourceTree = ""; }; - 1065518E9270D7BB4FC633894765466D /* Promise+Web3+Eth+Call.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+Call.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+Call.swift"; sourceTree = ""; }; - 1121829B65569768952C19E25B1AAE69 /* PromiseKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = PromiseKit.modulemap; sourceTree = ""; }; - 11C3B3B474849C50B68C60D72D2A7ED4 /* libBigInt.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libBigInt.a; path = libBigInt.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 123FCC5CF86530D3AA0B411043CCF3FC /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "web3swift/Convenience/Classes/String+Extension.swift"; sourceTree = ""; }; - 132EEA6FACDEAEC8CD7FD1339E7D9008 /* scrypt-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "scrypt-dummy.m"; sourceTree = ""; }; - 135C2258FEDDC235C7E7781BD638E0D0 /* KeystoreV3JSONStructure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeystoreV3JSONStructure.swift; path = web3swift/KeystoreManager/Classes/KeystoreV3JSONStructure.swift; sourceTree = ""; }; - 13AF7186ED58867EA6E22302C659426E /* BigInt-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-prefix.pch"; sourceTree = ""; }; - 1416B00744E099B449B5484EB4FE66B9 /* ChaCha20+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ChaCha20+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift"; sourceTree = ""; }; - 14EB90988A4AD64E02B4BC0D410025D1 /* Utils+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Utils+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Utils+Foundation.swift"; sourceTree = ""; }; - 14F7AD83E425807B028866A517E0155F /* UIView+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.h"; sourceTree = ""; }; - 17030AF3741AF00A5A580D4345C62671 /* BIP32KeystoreJSONStructure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32KeystoreJSONStructure.swift; path = web3swift/KeystoreManager/Classes/BIP32KeystoreJSONStructure.swift; sourceTree = ""; }; - 1726EC7BDEA2D89FB4D2AD0CE0562EB0 /* hash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash.h; path = secp256k1_ios/src/hash.h; sourceTree = ""; }; - 1783AE3ABADA5096BE70D5939EE58E22 /* Pods-web3swiftExample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swiftExample-acknowledgements.plist"; sourceTree = ""; }; - 17B0A033B10B035FFCCA80D2BE4C4839 /* libPods-web3swiftExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swiftExample.a"; path = "libPods-web3swiftExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 1827336AF5F51D580426EC596EF7357E /* libCryptoSwift.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libCryptoSwift.a; path = libCryptoSwift.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 19B4E01A253286950C09A5669EF5781F /* CryptoSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = CryptoSwift.modulemap; sourceTree = ""; }; - 19D96B7EB5F4FBCB0D6CD0C3E49624FB /* web3swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "web3swift-dummy.m"; sourceTree = ""; }; - 1ADF7BA967B554C691C423EEA65EEFDA /* secp256k1_ios-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-umbrella.h"; sourceTree = ""; }; - 1B102B3CA88EB8D8489C8BD4E882B887 /* BIP39+WordLists.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BIP39+WordLists.swift"; path = "web3swift/KeystoreManager/Classes/BIP39+WordLists.swift"; sourceTree = ""; }; - 1C56A8FF9537CCF10D87B749E9F62732 /* AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AnyPromise.m; path = Sources/AnyPromise.m; sourceTree = ""; }; - 1CFC32E2261053E3091FD1DCC05DF4D5 /* UInt64+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt64+Extension.swift"; path = "Sources/CryptoSwift/UInt64+Extension.swift"; sourceTree = ""; }; - 1D1A082C236FA698192257797E4895EC /* Web3+HttpProvider+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+HttpProvider+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+HttpProvider+ObjC.swift"; sourceTree = ""; }; - 1D34472BFED7C973DE16C67C43B8DD51 /* PromiseKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-prefix.pch"; sourceTree = ""; }; - 1DF8BA790BE9738632EE52265150D03A /* hang.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = hang.swift; path = Sources/hang.swift; sourceTree = ""; }; - 1E2D99198D5B7D091C057148F3CDC4DC /* Cryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptor.swift; path = Sources/CryptoSwift/Cryptor.swift; sourceTree = ""; }; - 1E5AE0371FA8682D8CCBB47D262545A4 /* field_5x52_int128_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_int128_impl.h; path = secp256k1_ios/src/field_5x52_int128_impl.h; sourceTree = ""; }; - 1F01FE95147DDFFD02325C07A8F6783D /* Division.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Division.swift; path = sources/Division.swift; sourceTree = ""; }; - 1F4A3C614502E99D77C9651CF09BD01B /* firstly.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = firstly.swift; path = Sources/firstly.swift; sourceTree = ""; }; - 1FD0BFFC7C6E627BB86EE5C540F71341 /* BlockDecryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockDecryptor.swift; path = Sources/CryptoSwift/BlockDecryptor.swift; sourceTree = ""; }; - 20B0DF172F7BCE780CE4325B9FA737E8 /* Web3+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Utils.swift"; path = "web3swift/Web3/Classes/Web3+Utils.swift"; sourceTree = ""; }; - 20CB207C8B0FDA2529F2F5D253C4A534 /* fwd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fwd.h; path = Sources/fwd.h; sourceTree = ""; }; - 20CDC39702A75FA362AF09280907A20B /* scrypt-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-prefix.pch"; sourceTree = ""; }; - 212B93EFB576141803D3468A4F741935 /* Promise+Web3+Eth+GetBlockNumber.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockNumber.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockNumber.swift"; sourceTree = ""; }; - 21563C94F3C303F058BA156A1F488535 /* ENS.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ENS.swift; path = web3swift/Utils/Classes/ENS.swift; sourceTree = ""; }; - 241A56E773F086ECBC740412E6904C70 /* SipHash-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-umbrella.h"; sourceTree = ""; }; - 2535CD8F39B0A548B8948A1D4DFCDA4C /* PKCS5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS5.swift; path = Sources/CryptoSwift/PKCS/PKCS5.swift; sourceTree = ""; }; - 25919B578B7379AB255855AA74003212 /* Result-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Result-dummy.m"; sourceTree = ""; }; - 25A7B1871BF03428A855BE688D20521E /* libweb3swift.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libweb3swift.a; path = libweb3swift.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 264884CE631173016E083169227D349F /* Salsa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Salsa.swift; path = scrypt/scrypt/Salsa.swift; sourceTree = ""; }; - 2691542C5286F07821B7CD3CF161270A /* Data Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data Conversion.swift"; path = "sources/Data Conversion.swift"; sourceTree = ""; }; - 27CFA7ED30A911A75D056CBDD52EF777 /* Web3+Eth+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Eth+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+Eth+ObjC.swift"; sourceTree = ""; }; - 290AA67F142E07CC2C3BE60373077AAF /* after.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = after.m; path = Sources/after.m; sourceTree = ""; }; - 292938D4E2E614F82D7E4A4A53919089 /* Web3+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+ObjC.swift"; sourceTree = ""; }; - 2967DC4D563FB31C61E228B5CBB7F6E2 /* Promise+Batching.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Batching.swift"; path = "web3swift/Promises/Classes/Promise+Batching.swift"; sourceTree = ""; }; - 29C001CC84817EC570F42EB843806088 /* ChaCha20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChaCha20.swift; path = Sources/CryptoSwift/ChaCha20.swift; sourceTree = ""; }; - 2A3B82C924810D565EACB8DD0250AF2F /* Pods-web3swiftExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swiftExample.debug.xcconfig"; sourceTree = ""; }; - 2B33E9D7080834138F6B05D08954A9AA /* ecmult_gen_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen_impl.h; path = secp256k1_ios/src/ecmult_gen_impl.h; sourceTree = ""; }; - 2B8E411298FF1752518A56381CD096CD /* NativeTypesEncoding+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NativeTypesEncoding+Extensions.swift"; path = "web3swift/Convenience/Classes/NativeTypesEncoding+Extensions.swift"; sourceTree = ""; }; - 2CCD691C76047A933F592EC30383C674 /* EIP681.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EIP681.swift; path = web3swift/Utils/Classes/EIP681.swift; sourceTree = ""; }; - 2D7BB0E009A62667D94F3144CF4F0FA0 /* scratch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch.h; path = secp256k1_ios/src/scratch.h; sourceTree = ""; }; - 2E25A4BC37421B57AB6AFC5F6B21A519 /* scrypt.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = scrypt.xcconfig; sourceTree = ""; }; - 2E651A4C1D8411BB17C4D0A883ECCE95 /* Square Root.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Square Root.swift"; path = "sources/Square Root.swift"; sourceTree = ""; }; - 2F6CCA99139E9FA673025D313067429D /* NSObject+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Promise.swift"; path = "Extensions/Foundation/Sources/NSObject+Promise.swift"; sourceTree = ""; }; - 2F7C2F3619BC1AC64F8ABA62C7169C22 /* Multiplication.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multiplication.swift; path = sources/Multiplication.swift; sourceTree = ""; }; - 316084C209096DC615680F3C10C4C605 /* BlockExplorer+GetTransactionHistory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BlockExplorer+GetTransactionHistory.swift"; path = "web3swift/BlockExplorer/Classes/BlockExplorer+GetTransactionHistory.swift"; sourceTree = ""; }; - 32117111790566596776609D1005CEF8 /* Generics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generics.swift; path = Sources/CryptoSwift/Generics.swift; sourceTree = ""; }; - 329C9AA169E8289B92C3FEFDA41B215E /* AnyPromise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyPromise.swift; path = Sources/AnyPromise.swift; sourceTree = ""; }; - 32B853AE4883AC6BC8B6D6F0876142F8 /* Promise+Web3+Personal+UnlockAccount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Personal+UnlockAccount.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Personal+UnlockAccount.swift"; sourceTree = ""; }; - 33DC10E06571EAC477A1E0EA68D6DDCC /* SHA3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA3.swift; path = Sources/CryptoSwift/SHA3.swift; sourceTree = ""; }; - 347D7C773BE16C921C11062107552892 /* Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Codable.swift; path = sources/Codable.swift; sourceTree = ""; }; - 353D2E93E15B57FEC4A9C0B5CC561DCB /* lax_der_privatekey_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_privatekey_parsing.c; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.c; sourceTree = ""; }; - 373E0AFCEE02274BAE66A586B88A17D4 /* Promise+Web3+Eth+GetBalance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBalance.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBalance.swift"; sourceTree = ""; }; - 376411273811B98AA866A25753F7A66E /* Promise+Web3+Eth+GetTransactionReceipt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionReceipt.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionReceipt.swift"; sourceTree = ""; }; - 3923B0035F9528F642633EABD2E39E97 /* CryptoSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CryptoSwift.xcconfig; sourceTree = ""; }; - 394D7CE2F861BEF42B052C1127E8BE02 /* UIView+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.m"; sourceTree = ""; }; - 39676721FFFBFCD3ACA7964DBA994E81 /* Web3+Protocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Protocols.swift"; path = "web3swift/Web3/Classes/Web3+Protocols.swift"; sourceTree = ""; }; - 39746AC697FEEA2BEB3737B0A0ADB594 /* SecureBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SecureBytes.swift; path = Sources/CryptoSwift/SecureBytes.swift; sourceTree = ""; }; - 39E4ECDC1C840F2E1D4F0634927F7BB7 /* BloomFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BloomFilter.swift; path = web3swift/Transaction/Classes/BloomFilter.swift; sourceTree = ""; }; - 3B6D04221009B07824A6130FC77D31C9 /* lax_der_privatekey_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_privatekey_parsing.h; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.h; sourceTree = ""; }; - 3BB13364DA7A1C04B41722DD1B785D8E /* Dictionary+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Dictionary+Extension.swift"; path = "web3swift/Convenience/Classes/Dictionary+Extension.swift"; sourceTree = ""; }; - 3DAD5F524037255589944BAAAF9B3EDC /* Web3+ERC20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+ERC20.swift"; path = "web3swift/PrecompiledContracts/ERC20/Web3+ERC20.swift"; sourceTree = ""; }; - 3F07C5E878C387F3ABE98CE9E9CC042B /* ABIv2Decoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Decoding.swift; path = web3swift/ABIv2/Classes/ABIv2Decoding.swift; sourceTree = ""; }; - 3FC0C757DEC5E742B77C173A8B9FA6B7 /* RLP.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RLP.swift; path = web3swift/ABI/Classes/RLP.swift; sourceTree = ""; }; - 4079EF5F5CB33767D580095FD9CE038E /* CFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CFB.swift; path = Sources/CryptoSwift/BlockMode/CFB.swift; sourceTree = ""; }; - 40E213322D7482A63CDC0B2220AE92F8 /* scalar_4x64_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64_impl.h; path = secp256k1_ios/src/scalar_4x64_impl.h; sourceTree = ""; }; - 4147FE7BEB4CBD63C000B5CDFE1CE694 /* UInt32+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt32+Extension.swift"; path = "Sources/CryptoSwift/UInt32+Extension.swift"; sourceTree = ""; }; - 414BCF28F898344A3ACB4CFA9EAC0C6A /* ResultProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResultProtocol.swift; path = Result/ResultProtocol.swift; sourceTree = ""; }; - 41C6D67293FF379F07747E16571D4A7B /* Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Padding.swift; path = Sources/CryptoSwift/Padding.swift; sourceTree = ""; }; - 421B749E58F87E0C839D613211A2D0D6 /* Pods-web3swiftExample-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swiftExample-umbrella.h"; sourceTree = ""; }; - 45785764A72ADF6B322ADB75DF6AC70B /* SipHash-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SipHash-dummy.m"; sourceTree = ""; }; - 458014C6622264651F6A80E772E8ED42 /* ecmult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult.h; path = secp256k1_ios/src/ecmult.h; sourceTree = ""; }; - 45F782717284628C9976CC3513689E42 /* race.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = race.swift; path = Sources/race.swift; sourceTree = ""; }; - 4656C6F079843C6375DBFB8F3F149CD5 /* PCBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PCBC.swift; path = Sources/CryptoSwift/BlockMode/PCBC.swift; sourceTree = ""; }; - 474585527D4B8900A32D2242E978847F /* NSNotificationCenter+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.m"; sourceTree = ""; }; - 47C25EDDC521B2D33E3E14E53A09B8CB /* Promise+Web3+Contract+GetIndexedEvents.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Contract+GetIndexedEvents.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Contract+GetIndexedEvents.swift"; sourceTree = ""; }; - 4A0AAEC1A587F9F34485AC86C4D355AE /* NSURLSession+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLSession+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.h"; sourceTree = ""; }; - 4A355B05B0BED16919207A4BD94258BA /* PKCS7Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7Padding.swift; path = Sources/CryptoSwift/PKCS/PKCS7Padding.swift; sourceTree = ""; }; - 4A6B1B16288DE16421DD874A78466051 /* Result.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Result.xcconfig; sourceTree = ""; }; - 4A898FF424BAA4A4E440EB964B7BB831 /* BlockMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockMode.swift; path = Sources/CryptoSwift/BlockMode/BlockMode.swift; sourceTree = ""; }; - 4B07F39C278099EF682E0CE68BCD5498 /* Web3+Infura.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Infura.swift"; path = "web3swift/Web3/Classes/Web3+Infura.swift"; sourceTree = ""; }; - 4BB92D928E7F0A70EED5685C3FCC2629 /* web3swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "web3swift-umbrella.h"; sourceTree = ""; }; - 4C5AB9A84E399C3C8F2ED978C0B4DD46 /* libResult.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libResult.a; path = libResult.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 4CAF79CEAC3F53315AED830078D52BA7 /* MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MD5.swift; path = Sources/CryptoSwift/MD5.swift; sourceTree = ""; }; - 4D8007518DBD2C969B8AF1A986FF45C9 /* ContractProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContractProtocol.swift; path = web3swift/Contract/Classes/ContractProtocol.swift; sourceTree = ""; }; - 4E7E12DF7A156B87C52342DADEF5F3D9 /* CTR.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CTR.swift; path = Sources/CryptoSwift/BlockMode/CTR.swift; sourceTree = ""; }; - 4F3913F7F2CBD112E100212D4E6CD280 /* eckey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey.h; path = secp256k1_ios/src/eckey.h; sourceTree = ""; }; - 50A505618B7794960687DBA4DE9404FD /* Rabbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rabbit.swift; path = Sources/CryptoSwift/Rabbit.swift; sourceTree = ""; }; - 51291E05C571952BED7774C956E85673 /* Web3+Structures.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Structures.swift"; path = "web3swift/Web3/Classes/Web3+Structures.swift"; sourceTree = ""; }; - 5278987D2532144A7BD28E9111659639 /* secp256k1.c */ = {isa = PBXFileReference; includeInIndex = 1; name = secp256k1.c; path = secp256k1_ios/src/secp256k1.c; sourceTree = ""; }; - 53053374B0830B4CF86F4E46A7232798 /* dispatch_promise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = dispatch_promise.m; path = Sources/dispatch_promise.m; sourceTree = ""; }; - 534FF25435EEA486F21EC56EBCAB291A /* Promise+Web3+Eth+EstimateGas.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+EstimateGas.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+EstimateGas.swift"; sourceTree = ""; }; - 5419632D59B4453866138B147398B786 /* UIViewController+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.h"; sourceTree = ""; }; - 54A9032553D1C61F8E0154E2C0D53FD2 /* libsecp256k1_ios.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libsecp256k1_ios.a; path = libsecp256k1_ios.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 550AC365129396E2F60D5C364FA8B799 /* Hashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Hashable.swift; path = sources/Hashable.swift; sourceTree = ""; }; - 56AD7AD28B0B51693A9D7B079E162D05 /* NSNotificationCenter+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSNotificationCenter+Promise.swift"; path = "Extensions/Foundation/Sources/NSNotificationCenter+Promise.swift"; sourceTree = ""; }; - 573C281E9AC6356B325AD8D6510F60B7 /* BIP32Keystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32Keystore.swift; path = web3swift/KeystoreManager/Classes/BIP32Keystore.swift; sourceTree = ""; }; - 5838F39185E3EAE8E18B70420E9A65E9 /* CMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CMAC.swift; path = Sources/CryptoSwift/CMAC.swift; sourceTree = ""; }; - 598C899118EB120568F6595B3CA4CF62 /* NoError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoError.swift; path = Result/NoError.swift; sourceTree = ""; }; - 5BA64E966CB81F4DBF7A2DE773DF868A /* field_10x26_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26_impl.h; path = secp256k1_ios/src/field_10x26_impl.h; sourceTree = ""; }; - 5BC6637281B8A68F6FC9D03AD4BE8663 /* ZeroPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZeroPadding.swift; path = Sources/CryptoSwift/ZeroPadding.swift; sourceTree = ""; }; - 5D57382F3D45CBD48EC909FE9F31DD25 /* ABIv2ParameterTypes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2ParameterTypes.swift; path = web3swift/ABIv2/Classes/ABIv2ParameterTypes.swift; sourceTree = ""; }; - 5F227060DB927464FC9041C45A8FFB80 /* CryptoExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CryptoExtensions.swift; path = web3swift/Convenience/Classes/CryptoExtensions.swift; sourceTree = ""; }; - 5F61FB300C8C0447EB3B39E0D27DCC86 /* Digest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Digest.swift; path = Sources/CryptoSwift/Digest.swift; sourceTree = ""; }; - 60BC0AB6A6A28CC649B0FF506918AB6F /* Words and Bits.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Words and Bits.swift"; path = "sources/Words and Bits.swift"; sourceTree = ""; }; - 60D6A69168B4A121E9E39646B6E40E1A /* secp256k1_ecdh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ecdh.h; path = secp256k1_ios/include/secp256k1_ecdh.h; sourceTree = ""; }; - 619A8D3D3D97DA2E15C31D9AEFCDABF8 /* UIViewController+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.m"; sourceTree = ""; }; - 61C7FDF5E2DDE25A864126B5CDE2560A /* field.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field.h; path = secp256k1_ios/src/field.h; sourceTree = ""; }; - 6295CFD25EA738F9FEF1FD0EE5FE0B06 /* Base58.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Base58.swift; path = web3swift/Convenience/Classes/Base58.swift; sourceTree = ""; }; - 631CEB8A33B0BABC23841BB536628BFA /* BlockExplorer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockExplorer.swift; path = web3swift/BlockExplorer/Classes/BlockExplorer.swift; sourceTree = ""; }; - 63210423770306A042AA9FF3B458E4E7 /* Updatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Updatable.swift; path = Sources/CryptoSwift/Updatable.swift; sourceTree = ""; }; - 63CAA63FD9DC75F798C3FEB9BDC9E1C3 /* Result-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-umbrella.h"; sourceTree = ""; }; - 66175BB0554541A3D3816C0B65138569 /* LibSecp256k1Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LibSecp256k1Extension.swift; path = web3swift/Convenience/Classes/LibSecp256k1Extension.swift; sourceTree = ""; }; - 66A0A452A31539038312A19BDEC81AE1 /* scrypt-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-umbrella.h"; sourceTree = ""; }; - 6799868DDDED4341574C8A8D6027075A /* secp256k1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1.h; path = secp256k1_ios/include/secp256k1.h; sourceTree = ""; }; - 6850F16CFC2F18D10E4E30E73F0552A8 /* AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AnyPromise.h; path = Sources/AnyPromise.h; sourceTree = ""; }; - 68BB7A2BC3583AD28EAD25EA7ED9D5FD /* Promise+Web3+Eth+SendRawTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+SendRawTransaction.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+SendRawTransaction.swift"; sourceTree = ""; }; - 693EA8BE7F3922FAB6C8D9FB9B29DD52 /* Shifts.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Shifts.swift; path = sources/Shifts.swift; sourceTree = ""; }; - 6987CE8539E8316A528A63024B5DC52C /* CryptoSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CryptoSwift-dummy.m"; sourceTree = ""; }; - 69CA1E92AD82C49EF237136039463B58 /* PromiseKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PromiseKit.h; path = Sources/PromiseKit.h; sourceTree = ""; }; - 69DD73C0AA680B56241490A79FDB334B /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Result/Result.swift; sourceTree = ""; }; - 6A270F07FA0270BCC20180DB9DCC1B67 /* Promise+Web3+Personal+Sign.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Personal+Sign.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Personal+Sign.swift"; sourceTree = ""; }; - 6B2A909107AF59DD8B8759CFE5DC93C3 /* Integer Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Integer Conversion.swift"; path = "sources/Integer Conversion.swift"; sourceTree = ""; }; - 6CAC92B61D9654425EE1338FD274CDAD /* when.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = when.swift; path = Sources/when.swift; sourceTree = ""; }; - 6E54F021F03B8254D3E0139DB1197C21 /* PBKDF1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF1.swift; path = Sources/CryptoSwift/PKCS/PBKDF1.swift; sourceTree = ""; }; - 6F4ED35987097AEB911D8C66F9DBBFB9 /* String+FoundationExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+FoundationExtension.swift"; path = "Sources/CryptoSwift/Foundation/String+FoundationExtension.swift"; sourceTree = ""; }; - 6F4F320F47509747094BF6BAE12A4D24 /* secp256k1_recovery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_recovery.h; path = secp256k1_ios/include/secp256k1_recovery.h; sourceTree = ""; }; - 6FA106D7CC1651054D660C68F23DE86E /* Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Promise.swift; path = Sources/Promise.swift; sourceTree = ""; }; - 701F9C15E529443E9FB73C6B379161AB /* web3swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "web3swift-prefix.pch"; sourceTree = ""; }; - 709E41B5FAC1DD8F9B55AF533813EFBB /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "Sources/CryptoSwift/Foundation/Data+Extension.swift"; sourceTree = ""; }; - 70E0EEB2A88058CB61B7C02075E3FBC7 /* Web3+JSONRPC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+JSONRPC.swift"; path = "web3swift/Web3/Classes/Web3+JSONRPC.swift"; sourceTree = ""; }; - 7215A5A55F2FAB77E52827BDC972EEFC /* BigInt-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-umbrella.h"; sourceTree = ""; }; - 729AEEED6FDD90CEDBADA5C6755B9536 /* SHA2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA2.swift; path = Sources/CryptoSwift/SHA2.swift; sourceTree = ""; }; - 735E74D1B58493E7131A357B28151246 /* AEAD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEAD.swift; path = Sources/CryptoSwift/AEAD/AEAD.swift; sourceTree = ""; }; - 7535931BF67E66F8AAE328BEE0EC6A24 /* EventFiltering.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EventFiltering.swift; path = web3swift/Contract/Classes/EventFiltering.swift; sourceTree = ""; }; - 753FBDA47B0F3ABF841BFB35EE89BF17 /* NSTask+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSTask+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.h"; sourceTree = ""; }; - 75B53B7D429106EC393E04CCE7E0FCF7 /* GCD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCD.swift; path = sources/GCD.swift; sourceTree = ""; }; - 75BBEA9589DE194D6D03679EDBDB8F36 /* Collection+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Collection+Extension.swift"; path = "Sources/CryptoSwift/Collection+Extension.swift"; sourceTree = ""; }; - 75D06CDEDBF36C342B7FFE38F8F51A90 /* field_5x52.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52.h; path = secp256k1_ios/src/field_5x52.h; sourceTree = ""; }; - 766D24708AC3AAE11C1368CEAEB4EA5C /* Pods-web3swiftExample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swiftExample-acknowledgements.markdown"; sourceTree = ""; }; - 76C5EBB02B365D308E28575CC36D5CA0 /* Strideable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Strideable.swift; path = sources/Strideable.swift; sourceTree = ""; }; - 77BA68E17B6BB6941FB1F5C040C24663 /* Promise+Web3+Eth+GetBlockByHash.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockByHash.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByHash.swift"; sourceTree = ""; }; - 7824C3291189F43DB7D1217F4967A4F2 /* Random.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Random.swift; path = sources/Random.swift; sourceTree = ""; }; - 785088A8C7337172C11F39BC9A4A9321 /* PlainKeystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PlainKeystore.swift; path = web3swift/KeystoreManager/Classes/PlainKeystore.swift; sourceTree = ""; }; - 788557B540DA06D0AF67BA99AF689F4C /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Configuration.swift; sourceTree = ""; }; - 78B7D9D842F7D0AA20338FB007081B95 /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "web3swift/Convenience/Classes/Array+Extension.swift"; sourceTree = ""; }; - 78EB2D7AF07B5FB60C2DE1449E308285 /* AES.Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.Cryptors.swift; path = Sources/CryptoSwift/AES.Cryptors.swift; sourceTree = ""; }; - 7C339595D926BED9A5D0167C24CDC4B8 /* Resolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Resolver.swift; path = Sources/Resolver.swift; sourceTree = ""; }; - 7CB230DD879156CD4033668CEE509774 /* EthereumAddress.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumAddress.swift; path = web3swift/KeystoreManager/Classes/EthereumAddress.swift; sourceTree = ""; }; - 7D734165233A268ADD9C2C4EC0FBCB2D /* libPromiseKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libPromiseKit.a; path = libPromiseKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 7FAFAE9D7630D61F389768DE544675E3 /* num_gmp_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp_impl.h; path = secp256k1_ios/src/num_gmp_impl.h; sourceTree = ""; }; - 7FF21379AF18F46F4F0D6D75E0FF54F4 /* scalar_8x32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32.h; path = secp256k1_ios/src/scalar_8x32.h; sourceTree = ""; }; - 819DF3E764AD03A99AE1276773AA60D9 /* PKCS7.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7.swift; path = Sources/CryptoSwift/PKCS/PKCS7.swift; sourceTree = ""; }; - 829D5DC3C89D61D074F050F2057A4DD0 /* BigInt.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = BigInt.modulemap; sourceTree = ""; }; - 83028A48F74FCB58CD998F99671B2730 /* String Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String Conversion.swift"; path = "sources/String Conversion.swift"; sourceTree = ""; }; - 83D65244334349A7D66163DFEE37F1FA /* Process+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Process+Promise.swift"; path = "Extensions/Foundation/Sources/Process+Promise.swift"; sourceTree = ""; }; - 845B2F9B3F1C9FB2895E49DB515D07CA /* Web3+BrowserFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+BrowserFunctions.swift"; path = "web3swift/HookedFunctions/Classes/Web3+BrowserFunctions.swift"; sourceTree = ""; }; - 84AB4B26E85BB1F6973CFA28CD3096B5 /* RIPEMD160+StackOveflow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RIPEMD160+StackOveflow.swift"; path = "web3swift/Convenience/Classes/RIPEMD160+StackOveflow.swift"; sourceTree = ""; }; - 850721D7FB7DE9412EBAADE3BE6A6532 /* Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Poly1305.swift; path = Sources/CryptoSwift/Poly1305.swift; sourceTree = ""; }; - 87A57BF304C2840A5AFBC40A55F95F7A /* Web3+Personal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Personal.swift"; path = "web3swift/Web3/Classes/Web3+Personal.swift"; sourceTree = ""; }; - 891D55C717F344B9C14142E735B75843 /* Promise+Web3+Eth+GetBlockByNumber.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockByNumber.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByNumber.swift"; sourceTree = ""; }; - 8991CD2A50906AF10EB4BDB7E932FAEF /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "Sources/CryptoSwift/Array+Extension.swift"; sourceTree = ""; }; - 8A81B88260492B4477381A6A631B8D02 /* GCM.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCM.swift; path = Sources/CryptoSwift/BlockMode/GCM.swift; sourceTree = ""; }; - 8AB539FAAC4756E9D732FC45FA73B7D3 /* Blowfish.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blowfish.swift; path = Sources/CryptoSwift/Blowfish.swift; sourceTree = ""; }; - 8C8FC8BC9825E5A78B2CDACAB1C7EAE7 /* OFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OFB.swift; path = Sources/CryptoSwift/BlockMode/OFB.swift; sourceTree = ""; }; - 8D699FB2D6E241D8DD3F2A527E0F732E /* RandomBytesSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomBytesSequence.swift; path = Sources/CryptoSwift/RandomBytesSequence.swift; sourceTree = ""; }; - 8D9827104D7B5DA3C16491C9811CC664 /* UIView+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Promise.swift"; path = "Extensions/UIKit/Sources/UIView+Promise.swift"; sourceTree = ""; }; - 8EC0E04C3669680657625472D862D24A /* afterlife.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = afterlife.swift; path = Extensions/Foundation/Sources/afterlife.swift; sourceTree = ""; }; - 8FBB098F98DE89D1DE9C0EDB16C22E15 /* libSipHash.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libSipHash.a; path = libSipHash.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 8FDA429500C1942B661A657EA51E45DD /* BigInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigInt.swift; path = sources/BigInt.swift; sourceTree = ""; }; - 9008A60A0D23BDC48F41DFAA7F9FBA08 /* Comparable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Comparable.swift; path = sources/Comparable.swift; sourceTree = ""; }; - 90FB08FA3883CDF506EFD3894126E276 /* group_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group_impl.h; path = secp256k1_ios/src/group_impl.h; sourceTree = ""; }; - 912B8C0B1FBC7A948BA82A00E7045D27 /* Deprecations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecations.swift; path = Sources/Deprecations.swift; sourceTree = ""; }; - 913CF4153E753730DC216ECBA138739A /* BlockEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockEncryptor.swift; path = Sources/CryptoSwift/BlockEncryptor.swift; sourceTree = ""; }; - 91DC39A093E0AC3021796C0C881D7423 /* AbstractKeystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AbstractKeystore.swift; path = web3swift/KeystoreManager/Classes/AbstractKeystore.swift; sourceTree = ""; }; - 92BA0A05E447FDB20B427DC9BA3F17BA /* NSTask+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSTask+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.m"; sourceTree = ""; }; - 93527029429AD83050A8FED1326A171C /* UIViewPropertyAnimator+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewPropertyAnimator+Promise.swift"; path = "Extensions/UIKit/Sources/UIViewPropertyAnimator+Promise.swift"; sourceTree = ""; }; + 00F18ED0F07AAD5FD3142707A5EEB7E4 /* LibSecp256k1Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LibSecp256k1Extension.swift; path = web3swift/Convenience/Classes/LibSecp256k1Extension.swift; sourceTree = ""; }; + 014042438B2D19CCAC6C5F00B1146C99 /* secp256k1_ios-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "secp256k1_ios-dummy.m"; sourceTree = ""; }; + 01542E21EB2EEDA093596518918486A4 /* hash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash.h; path = secp256k1_ios/src/hash.h; sourceTree = ""; }; + 017C3C0F878AD51DED5CBADD10EF9AA8 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; + 0195F4E88F3790D0C0BED248E5EB6ACC /* Result-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Result-Info.plist"; sourceTree = ""; }; + 0304AE8FA05319628AC1812E3E507A21 /* Cryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptor.swift; path = Sources/CryptoSwift/Cryptor.swift; sourceTree = ""; }; + 0353245090FFB16BCAFE272E9F48A277 /* Bitwise Ops.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bitwise Ops.swift"; path = "sources/Bitwise Ops.swift"; sourceTree = ""; }; + 03C1C7040F24F41655E6559346C1E313 /* EIP67Code.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EIP67Code.swift; path = web3swift/Utils/Classes/EIP67Code.swift; sourceTree = ""; }; + 0555E01E3A109C44BDC8D3F72BC8BDBD /* EthereumKeystoreV3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumKeystoreV3.swift; path = web3swift/KeystoreManager/Classes/EthereumKeystoreV3.swift; sourceTree = ""; }; + 064D539BBAF5825903014E2E42F019F4 /* HMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HMAC.swift; path = Sources/CryptoSwift/HMAC.swift; sourceTree = ""; }; + 0673406163739833CEECFC5634FED4CF /* Guarantee.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Guarantee.swift; path = Sources/Guarantee.swift; sourceTree = ""; }; + 07B36EAF62DEBCA4E85EC353970A217E /* AbstractKeystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AbstractKeystore.swift; path = web3swift/KeystoreManager/Classes/AbstractKeystore.swift; sourceTree = ""; }; + 07E9A7E7D3A951963E13646AC6CE8391 /* SipHash-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-prefix.pch"; sourceTree = ""; }; + 092FDF7F6A0B07EA5F43A3E8652A2A11 /* BigInt.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = BigInt.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 099411A4987328A3637E16D55446C7C0 /* Promise+Web3+Intermediate+Send.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Intermediate+Send.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Intermediate+Send.swift"; sourceTree = ""; }; + 0AED2A5ABC55B2E2852BAB3E48BE6124 /* KeystoreManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeystoreManager.swift; path = web3swift/KeystoreManager/Classes/KeystoreManager.swift; sourceTree = ""; }; + 0AFDC4CB49065D6F6886804C0A0D945D /* Result.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Result.xcconfig; sourceTree = ""; }; + 0B06F415D20475CC8FC28FFC552A47C0 /* SipHash-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-umbrella.h"; sourceTree = ""; }; + 0C6D5088382FE71F237781CCAA15029E /* AEAD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEAD.swift; path = Sources/CryptoSwift/AEAD/AEAD.swift; sourceTree = ""; }; + 0D0B55151A9D3FF6DF524D9E72CBFCB2 /* AnyPromise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyPromise.swift; path = Sources/AnyPromise.swift; sourceTree = ""; }; + 0D68B54C72B7D5CE7C1E985C3B853442 /* Pods-web3swiftExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swiftExample.debug.xcconfig"; sourceTree = ""; }; + 0D99B05CD6515234D9A52524E78779C4 /* ecdsa_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa_impl.h; path = secp256k1_ios/src/ecdsa_impl.h; sourceTree = ""; }; + 0E23DA5CE9BE03D67FA010C086FD8443 /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/CryptoSwift/AES.swift; sourceTree = ""; }; + 0E5FFF2ADF7334E4256CFC9542594671 /* Web3+Structures.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Structures.swift"; path = "web3swift/Web3/Classes/Web3+Structures.swift"; sourceTree = ""; }; + 0EF1C662C9485A5A72B33C4CD4E0CAD9 /* scrypt-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-umbrella.h"; sourceTree = ""; }; + 0FD8645A2496918B9B87011F0B77E14E /* ResultProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResultProtocol.swift; path = Result/ResultProtocol.swift; sourceTree = ""; }; + 0FFFCB7AB750F1408E71BE53B3D9C85E /* afterlife.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = afterlife.swift; path = Extensions/Foundation/Sources/afterlife.swift; sourceTree = ""; }; + 10E6CC65707B2EBCD6BD73088BB3B221 /* num_gmp_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp_impl.h; path = secp256k1_ios/src/num_gmp_impl.h; sourceTree = ""; }; + 10F89C677C577204A26019CC289B1E94 /* Web3+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Utils.swift"; path = "web3swift/Web3/Classes/Web3+Utils.swift"; sourceTree = ""; }; + 11D360750D0388F4DDEA48C9C2C4CBA8 /* SHA2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA2.swift; path = Sources/CryptoSwift/SHA2.swift; sourceTree = ""; }; + 12ADBF373A266E4D41DC6FC96C0A5C25 /* scalar_4x64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64.h; path = secp256k1_ios/src/scalar_4x64.h; sourceTree = ""; }; + 1446285C476D91623FFA25FFE16B2493 /* CFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CFB.swift; path = Sources/CryptoSwift/BlockMode/CFB.swift; sourceTree = ""; }; + 1470FE533DA2633F1A66FDDDB7B7E280 /* BIP39.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP39.swift; path = web3swift/KeystoreManager/Classes/BIP39.swift; sourceTree = ""; }; + 14D6ECE7EE1EC56E855EB8089B581FE7 /* KeystoreManager+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KeystoreManager+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/KeystoreManager+ObjC.swift"; sourceTree = ""; }; + 14DEE56FE9FEE65882DAFFD2A00048C6 /* BIP32KeystoreJSONStructure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32KeystoreJSONStructure.swift; path = web3swift/KeystoreManager/Classes/BIP32KeystoreJSONStructure.swift; sourceTree = ""; }; + 15FA67C83BE43CF3EF9C1E6D2E3989D0 /* PromiseKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-umbrella.h"; sourceTree = ""; }; + 162213C6C0819E2BC89868BBC891FCD5 /* Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Codable.swift; path = sources/Codable.swift; sourceTree = ""; }; + 1651C3EB5087C3CF5294DBDA737440F2 /* Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptors.swift; path = Sources/CryptoSwift/Cryptors.swift; sourceTree = ""; }; + 17623569C850BA2E2564795979DFDB57 /* Web3+Instance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Instance.swift"; path = "web3swift/Web3/Classes/Web3+Instance.swift"; sourceTree = ""; }; + 177C91EDD167FD64C32183AC2992D4A3 /* firstly.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = firstly.swift; path = Sources/firstly.swift; sourceTree = ""; }; + 17FF07C284C525895497483DCD35E62F /* PlainKeystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PlainKeystore.swift; path = web3swift/KeystoreManager/Classes/PlainKeystore.swift; sourceTree = ""; }; + 192204EBF8C806D42C01EE7BBCC7FAF5 /* Updatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Updatable.swift; path = Sources/CryptoSwift/Updatable.swift; sourceTree = ""; }; + 192224DB4709FB6A4273807EFBCDCBD4 /* EthereumAddress+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EthereumAddress+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/EthereumAddress+ObjC.swift"; sourceTree = ""; }; + 196B6B93D2F28684E654A49D144415FF /* NSNotificationCenter+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.h"; sourceTree = ""; }; + 1A48691ED7AB66A35E08ABFE8367B7EC /* Web3+BrowserFunctions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+BrowserFunctions.swift"; path = "web3swift/HookedFunctions/Classes/Web3+BrowserFunctions.swift"; sourceTree = ""; }; + 1A702E196081639CA2834C8EFC66EB60 /* PromiseKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PromiseKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1BC6B91E0252F62A5E5F43F9AA236607 /* num.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num.h; path = secp256k1_ios/src/num.h; sourceTree = ""; }; + 1C8276A453626F75A60C791772246C3D /* CryptoSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = CryptoSwift.framework; path = CryptoSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1D88868F549DDDA1E4CA1095EF79FAC5 /* Web3+TransactionIntermediate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+TransactionIntermediate.swift"; path = "web3swift/Web3/Classes/Web3+TransactionIntermediate.swift"; sourceTree = ""; }; + 1DB40030A8982CFEEB33A6F735ECF86B /* MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MD5.swift; path = Sources/CryptoSwift/MD5.swift; sourceTree = ""; }; + 1DD7A05DBF85857EC1A624A0C5549591 /* BigInt.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = BigInt.modulemap; sourceTree = ""; }; + 1DE42A2863AE2DBF2428DD725882E73F /* Promise+Batching.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Batching.swift"; path = "web3swift/Promises/Classes/Promise+Batching.swift"; sourceTree = ""; }; + 206FB0DA1ED8B1EC1C34CCC55E7D0E38 /* CTR.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CTR.swift; path = Sources/CryptoSwift/BlockMode/CTR.swift; sourceTree = ""; }; + 212605BDAABCB644B1BE530E4FB54E28 /* Pods-web3swiftExample.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swiftExample.modulemap"; sourceTree = ""; }; + 2296888E4B0AF0932F150F5D557DD816 /* secp256k1.c */ = {isa = PBXFileReference; includeInIndex = 1; name = secp256k1.c; path = secp256k1_ios/src/secp256k1.c; sourceTree = ""; }; + 229A34F67F1DD0EA4F4DCB16AB734B28 /* Box.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Box.swift; path = Sources/Box.swift; sourceTree = ""; }; + 23101CE8BFD9EF3690B3991301140D48 /* Web3+HttpProvider+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+HttpProvider+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+HttpProvider+ObjC.swift"; sourceTree = ""; }; + 231C2D02CFF005D80CAD0308D882A69A /* NSURLSession+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSURLSession+Promise.swift"; path = "Extensions/Foundation/Sources/NSURLSession+Promise.swift"; sourceTree = ""; }; + 231D7535BE0908B8FA752378F694AB44 /* after.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = after.m; path = Sources/after.m; sourceTree = ""; }; + 2377E7F5F6E1B9EAA04A11FB9329ECF5 /* ecmult_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_impl.h; path = secp256k1_ios/src/ecmult_impl.h; sourceTree = ""; }; + 27194B847928F8AF60CE9A6A913D8EAB /* Cimpl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Cimpl.h; path = scrypt/Cimpl.h; sourceTree = ""; }; + 273095CE17C51A9F55E72F26385B33D1 /* BlockDecryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockDecryptor.swift; path = Sources/CryptoSwift/BlockDecryptor.swift; sourceTree = ""; }; + 28D14AA0CBC0F7D8CB4FE9994C3B4B48 /* DigestType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DigestType.swift; path = Sources/CryptoSwift/DigestType.swift; sourceTree = ""; }; + 28FFFC9BD859F58312467FAB0ADBE711 /* ABIv2ParameterTypes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2ParameterTypes.swift; path = web3swift/ABIv2/Classes/ABIv2ParameterTypes.swift; sourceTree = ""; }; + 2A6FF6A14EF4D6724CFBFB93A4F4F681 /* Rabbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rabbit.swift; path = Sources/CryptoSwift/Rabbit.swift; sourceTree = ""; }; + 2BAB8972F826F08F2AF2878A15874107 /* ABIv2Encoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Encoding.swift; path = web3swift/ABIv2/Classes/ABIv2Encoding.swift; sourceTree = ""; }; + 2BBD7DF502B00E6CFC56DFE2C20E0D0D /* UInt128.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UInt128.swift; path = Sources/CryptoSwift/UInt128.swift; sourceTree = ""; }; + 2C0B26A0F1EDE1CDC241622A88F22672 /* hang.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = hang.swift; path = Sources/hang.swift; sourceTree = ""; }; + 2C73D7AA3EDD90DB64FE84C36BD6CF7B /* BigUInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigUInt.swift; path = sources/BigUInt.swift; sourceTree = ""; }; + 2CA9201F6EFC3831E810979D81E598C6 /* secp256k1_ios-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-umbrella.h"; sourceTree = ""; }; + 2D50717C9986E80EF5499F2AA6C75531 /* BigInt.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = BigInt.framework; path = BigInt.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 2DDFDF55E7005DEBC91225828C76BDB4 /* ecmult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult.h; path = secp256k1_ios/src/ecmult.h; sourceTree = ""; }; + 2E9C3E6A47F759D446C9633237D3587A /* Deprecations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecations.swift; path = Sources/Deprecations.swift; sourceTree = ""; }; + 2EAC8681CD7621782E51E812332E796A /* UInt16+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt16+Extension.swift"; path = "Sources/CryptoSwift/UInt16+Extension.swift"; sourceTree = ""; }; + 2F3B8889D0D18DEF2CF5F05EFCE9F568 /* UIViewPropertyAnimator+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewPropertyAnimator+Promise.swift"; path = "Extensions/UIKit/Sources/UIViewPropertyAnimator+Promise.swift"; sourceTree = ""; }; + 30B04630329D72AB07A6571B0E35368B /* field.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field.h; path = secp256k1_ios/src/field.h; sourceTree = ""; }; + 30D3D5E52087AC748C8081879D9C93E0 /* ChaCha20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChaCha20.swift; path = Sources/CryptoSwift/ChaCha20.swift; sourceTree = ""; }; + 319DEB9643FEFA6C0B1D8706C28879A3 /* scratch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch.h; path = secp256k1_ios/src/scratch.h; sourceTree = ""; }; + 3300B7C7FE5D1D9B98E0EB72BAAEC209 /* Cimpl.c */ = {isa = PBXFileReference; includeInIndex = 1; name = Cimpl.c; path = scrypt/Cimpl.c; sourceTree = ""; }; + 337C4D4BFF2B5999D19FC37E638F4708 /* web3swift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "web3swift-Info.plist"; sourceTree = ""; }; + 33C9F06AC6D082FC66126F531BBC3E3F /* UIView+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.m"; sourceTree = ""; }; + 33D1449C4E8D84E0AC0DA60599B0DA23 /* NoError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoError.swift; path = Result/NoError.swift; sourceTree = ""; }; + 3404310B6A67105860E0486EF8879528 /* Cipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cipher.swift; path = Sources/CryptoSwift/Cipher.swift; sourceTree = ""; }; + 3404AAEF07BB50E914AAA75416AF8556 /* ecmult_gen.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen.h; path = secp256k1_ios/src/ecmult_gen.h; sourceTree = ""; }; + 343BA041D669379F08B4BA7E48C7BF65 /* ContractProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContractProtocol.swift; path = web3swift/Contract/Classes/ContractProtocol.swift; sourceTree = ""; }; + 35741AB0833B23E77A7CB168A157FD90 /* Integer Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Integer Conversion.swift"; path = "sources/Integer Conversion.swift"; sourceTree = ""; }; + 358784469FD4600E5EB02F75BAF4163A /* CryptoSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-prefix.pch"; sourceTree = ""; }; + 35D65B1B12252C4CDBEF210FE2DA6E52 /* ECB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ECB.swift; path = Sources/CryptoSwift/BlockMode/ECB.swift; sourceTree = ""; }; + 36445A6F290DA01FBC4F26C0A5D31D70 /* PKCS7.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7.swift; path = Sources/CryptoSwift/PKCS/PKCS7.swift; sourceTree = ""; }; + 3842DFFAA24909073D4F960DC6AAF02B /* SipHash.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SipHash.xcconfig; sourceTree = ""; }; + 3952E3A45B4964ABA58E30423D7DA553 /* when.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = when.m; path = Sources/when.m; sourceTree = ""; }; + 39BB408B8F667DD11D993D29E0F0E69F /* PromiseKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "PromiseKit-Info.plist"; sourceTree = ""; }; + 3A402FB6C488D91DF67F023381022997 /* Web3+Options.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Options.swift"; path = "web3swift/Web3/Classes/Web3+Options.swift"; sourceTree = ""; }; + 3AB84887CB548044F04C66D21491F30C /* num_gmp.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp.h; path = secp256k1_ios/src/num_gmp.h; sourceTree = ""; }; + 3BB6725C03A0E4193BC3CE2081AED530 /* ComparisonExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ComparisonExtensions.swift; path = web3swift/Contract/Classes/ComparisonExtensions.swift; sourceTree = ""; }; + 3CD6B2B92DB312F13E1B847E31A1B602 /* String+FoundationExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+FoundationExtension.swift"; path = "Sources/CryptoSwift/Foundation/String+FoundationExtension.swift"; sourceTree = ""; }; + 3CD73B7D3181B0D94CE212502F3D74EE /* Promise+Web3+Personal+UnlockAccount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Personal+UnlockAccount.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Personal+UnlockAccount.swift"; sourceTree = ""; }; + 3F60C33EFDC8C38C9856833234D8A26E /* Pods-web3swiftExample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swiftExample-acknowledgements.markdown"; sourceTree = ""; }; + 40B4DEF14A7DE548CFEF7B62B06AF62D /* UInt64+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt64+Extension.swift"; path = "Sources/CryptoSwift/UInt64+Extension.swift"; sourceTree = ""; }; + 41455399C8B4A289650ADB5856F86D5E /* PlainKeystore+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PlainKeystore+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/PlainKeystore+ObjC.swift"; sourceTree = ""; }; + 421EFAA21C55AAB5DBB49F3C8F2D1551 /* RandomUInt64.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomUInt64.swift; path = SipHash/RandomUInt64.swift; sourceTree = ""; }; + 43E25994494B329B440C18037489E9DF /* web3swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "web3swift-dummy.m"; sourceTree = ""; }; + 44563320842BB46660FEE233AA4A38BD /* UInt32+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt32+Extension.swift"; path = "Sources/CryptoSwift/UInt32+Extension.swift"; sourceTree = ""; }; + 44D07ED0C754D51CF6C2BC1702DD564E /* Web3+Instance+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Instance+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+Instance+ObjC.swift"; sourceTree = ""; }; + 45A7CC7C99E72DAA6B9C339B4B45B6F0 /* Multiplication.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multiplication.swift; path = sources/Multiplication.swift; sourceTree = ""; }; + 45F2F797BEAEC4E38CE2D033EE44613C /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/CryptoSwift/Operators.swift; sourceTree = ""; }; + 4770FB1CC45B404A730863A5BBDE8C9F /* Digest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Digest.swift; path = Sources/CryptoSwift/Digest.swift; sourceTree = ""; }; + 47E492FFFE405B5C351862A29154F2D4 /* Result.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Result.modulemap; sourceTree = ""; }; + 47EE1AE862AC1E08A3510AE8A3ACC49E /* hang.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = hang.m; path = Sources/hang.m; sourceTree = ""; }; + 47F253E5C15DCAA5F32728BF380B7FD3 /* Promise+Web3+Eth+GetGasPrice.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetGasPrice.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetGasPrice.swift"; sourceTree = ""; }; + 48196F281BA919DA7663337369FF2F2E /* CryptoSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = CryptoSwift.modulemap; sourceTree = ""; }; + 48EB818C63ADD7AC3471D41B7FEFBEDE /* ecmult_const.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const.h; path = secp256k1_ios/src/ecmult_const.h; sourceTree = ""; }; + 4ABD85E6008589BB486729FDD20F2263 /* ABIv2TypeParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2TypeParser.swift; path = web3swift/ABIv2/Classes/ABIv2TypeParser.swift; sourceTree = ""; }; + 4AD2681608D7996F0B97567E76E38B0E /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = Sources/CryptoSwift/CompactMap.swift; sourceTree = ""; }; + 4B4A8E6D5817207A8BAFC2040BACBDF0 /* Strideable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Strideable.swift; path = sources/Strideable.swift; sourceTree = ""; }; + 4B857314AF2E96C8DA7CAAEFAEF1F7A8 /* Promise+Web3+Eth+GetTransactionCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionCount.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionCount.swift"; sourceTree = ""; }; + 4BE0A0A33E52AD56332877241A1F5465 /* Process+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Process+Promise.swift"; path = "Extensions/Foundation/Sources/Process+Promise.swift"; sourceTree = ""; }; + 4C5FE3E2EF6CCCB0A8CA29C7C6F63DEE /* SHA3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA3.swift; path = Sources/CryptoSwift/SHA3.swift; sourceTree = ""; }; + 4D8953CE81298B6C1067F23B6A71EEBD /* web3swift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = web3swift.framework; path = web3swift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4E59725DE3DCFD49F652BE2F16C05B26 /* PCBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PCBC.swift; path = Sources/CryptoSwift/BlockMode/PCBC.swift; sourceTree = ""; }; + 4E642878C5D7B7E8AAF50ACE887F81C9 /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "Sources/CryptoSwift/Array+Extension.swift"; sourceTree = ""; }; + 4F92E92F01ED8E6C9F66CB063E0B54DD /* web3swift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = web3swift.xcconfig; sourceTree = ""; }; + 4FB2C4AB5AF97836C7414A2306478544 /* CryptoSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-umbrella.h"; sourceTree = ""; }; + 502FB30F03AEBAD4F849FA1E03E60319 /* SipHash.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SipHash.modulemap; sourceTree = ""; }; + 50ABF7F2053D09965350B67F7E0E76E2 /* Pods-web3swiftExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swiftExample.release.xcconfig"; sourceTree = ""; }; + 5114E6B22DBDF708ECE7C3019E5D6106 /* Web3+Methods.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Methods.swift"; path = "web3swift/Web3/Classes/Web3+Methods.swift"; sourceTree = ""; }; + 51901516BECC0FFD77E736D256965599 /* Promise+Web3+Eth+GetTransactionReceipt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionReceipt.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionReceipt.swift"; sourceTree = ""; }; + 524B42290B9A4F88D091689A5D402C4E /* scrypt-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "scrypt-Info.plist"; sourceTree = ""; }; + 52989BD6A3046CDEC153D8C28451A374 /* HMAC+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "HMAC+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/HMAC+Foundation.swift"; sourceTree = ""; }; + 5628BB0370E6607CB7726B6ED62CA7E7 /* EthereumTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumTransaction.swift; path = web3swift/Transaction/Classes/EthereumTransaction.swift; sourceTree = ""; }; + 569540840E89CA743338311B4EAAC218 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/recovery/main_impl.h; sourceTree = ""; }; + 57C115113180DDD97A209C450A323C0E /* SecureBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SecureBytes.swift; path = Sources/CryptoSwift/SecureBytes.swift; sourceTree = ""; }; + 5880EBFDE3CDA613E195C8DB98E11E33 /* CryptoSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "CryptoSwift-Info.plist"; sourceTree = ""; }; + 59DEE9838482282D026880491D6A09B8 /* AES+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AES+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/AES+Foundation.swift"; sourceTree = ""; }; + 5B31B02CBA5CE3418CD0D8EF2390E656 /* Floating Point Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Floating Point Conversion.swift"; path = "sources/Floating Point Conversion.swift"; sourceTree = ""; }; + 5CB41387E485225E0BC8B079979EEF3D /* Pods-web3swiftExample-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swiftExample-umbrella.h"; sourceTree = ""; }; + 5E4678722B01715F2B3716BD3AF97D05 /* BlockCipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockCipher.swift; path = Sources/CryptoSwift/BlockCipher.swift; sourceTree = ""; }; + 5E6BCC699F0A197E17875C4F23F79E33 /* Web3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Web3.swift; path = web3swift/Web3/Classes/Web3.swift; sourceTree = ""; }; + 5F5893B28387D9A3B3938E5EED54AD58 /* web3swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "web3swift-umbrella.h"; sourceTree = ""; }; + 5FFDE44AE604DA940226CE09D970A58A /* when.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = when.swift; path = Sources/when.swift; sourceTree = ""; }; + 603D0BBCC0547440419CBD2E29526BBC /* secp256k1_ios.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = secp256k1_ios.framework; path = secp256k1_ios.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 6153FF45F92075AB612127F5BACFD9A6 /* eckey_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey_impl.h; path = secp256k1_ios/src/eckey_impl.h; sourceTree = ""; }; + 6158BF72A61B2B3CE2240025C34B8A23 /* scalar_low_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low_impl.h; path = secp256k1_ios/src/scalar_low_impl.h; sourceTree = ""; }; + 61B2EEC1A0CED11A8CD095B884755F14 /* AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AnyPromise.m; path = Sources/AnyPromise.m; sourceTree = ""; }; + 62C2D8DAB77DC8A25C4E449BC300AFDA /* EthereumFilterEncodingExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumFilterEncodingExtensions.swift; path = web3swift/Contract/Classes/EthereumFilterEncodingExtensions.swift; sourceTree = ""; }; + 63389BFC9E764A984175469F04E6C321 /* SipHash-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SipHash-Info.plist"; sourceTree = ""; }; + 63ECDB3BEF180F5E5465DF3D9196A913 /* Int+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Int+Extension.swift"; path = "Sources/CryptoSwift/Int+Extension.swift"; sourceTree = ""; }; + 67560E83D58D59D4B717878DC0D71057 /* UInt8+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt8+Extension.swift"; path = "Sources/CryptoSwift/UInt8+Extension.swift"; sourceTree = ""; }; + 67DB53803B8AFF12F28E47500E5FA4D5 /* NativeTypesEncoding+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NativeTypesEncoding+Extensions.swift"; path = "web3swift/Convenience/Classes/NativeTypesEncoding+Extensions.swift"; sourceTree = ""; }; + 6851DCEA08736B9FD49677B930D804B9 /* Promise+Web3+Eth+EstimateGas.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+EstimateGas.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+EstimateGas.swift"; sourceTree = ""; }; + 68CF1A1605BD327E75915D5F85D673FD /* NSNotificationCenter+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.m"; sourceTree = ""; }; + 6A0D7C8248B11637C656458A2F76AA99 /* AES.Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.Cryptors.swift; path = Sources/CryptoSwift/AES.Cryptors.swift; sourceTree = ""; }; + 6B0281225D044E95B9D81942D287340B /* AnyError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyError.swift; path = Result/AnyError.swift; sourceTree = ""; }; + 6B2D0E063799E56A90B8804B84308E65 /* ecmult_const_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const_impl.h; path = secp256k1_ios/src/ecmult_const_impl.h; sourceTree = ""; }; + 6C15C5D29D981FFD7DB03B256FD134EE /* fwd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fwd.h; path = Sources/fwd.h; sourceTree = ""; }; + 6C21482587A67BA39CA7974A927325E6 /* web3swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "web3swift-prefix.pch"; sourceTree = ""; }; + 6CC48F7531359D8D25C876099C73CD53 /* BigUInt+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BigUInt+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/BigUInt+ObjC.swift"; sourceTree = ""; }; + 6CDD0D9B03D820E5086D9498D2D9DD67 /* Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Padding.swift; path = Sources/CryptoSwift/Padding.swift; sourceTree = ""; }; + 6DECD15F168F64C6F6C8A1C193D7C1AC /* scrypt-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-prefix.pch"; sourceTree = ""; }; + 6E13296A1B1E4B39699423E4D419FD51 /* Generics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generics.swift; path = Sources/CryptoSwift/Generics.swift; sourceTree = ""; }; + 6EB4026359CE620C0114B424CBA5D40D /* basic-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "basic-config.h"; path = "secp256k1_ios/src/basic-config.h"; sourceTree = ""; }; + 6FDA4F7EC9B81938EE471ECE2284AECA /* Resolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Resolver.swift; path = Sources/Resolver.swift; sourceTree = ""; }; + 703E60310515C9DAE5C5B44D4ADEF09D /* Promise+Web3+Eth+GetAccounts.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetAccounts.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetAccounts.swift"; sourceTree = ""; }; + 707432298CD4D86FB4904B22A030DBAD /* RandomBytesSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomBytesSequence.swift; path = Sources/CryptoSwift/RandomBytesSequence.swift; sourceTree = ""; }; + 716FEE6D4ADC494CA5E7323805A351DC /* PBKDF1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF1.swift; path = Sources/CryptoSwift/PKCS/PBKDF1.swift; sourceTree = ""; }; + 72070A5E4D81C0DC66FD2630AB64FC35 /* scalar_8x32_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32_impl.h; path = secp256k1_ios/src/scalar_8x32_impl.h; sourceTree = ""; }; + 728F62119180B063304005EF9E109C72 /* scrypt-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "scrypt-dummy.m"; sourceTree = ""; }; + 7319C8DEF058868FAB938FAD22813553 /* BigInt-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BigInt-dummy.m"; sourceTree = ""; }; + 73385F119353E84309DFB29961588151 /* BatchedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BatchedCollection.swift; path = Sources/CryptoSwift/BatchedCollection.swift; sourceTree = ""; }; + 75B3B434BA45820CF5E1DB7A0EF864BB /* BigInt-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "BigInt-Info.plist"; sourceTree = ""; }; + 760BFA726AD56024C4B56015DD4F59D0 /* PromiseKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = PromiseKit.modulemap; sourceTree = ""; }; + 77A70D9FDCE012F5EE544AB6DF184E74 /* PromiseKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromiseKit.xcconfig; sourceTree = ""; }; + 783C789DDF22F7B1CD81D5223F61B0AD /* ABIv2Elements.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Elements.swift; path = web3swift/ABIv2/Classes/ABIv2Elements.swift; sourceTree = ""; }; + 7857CCE04CD7E06C41D8CFAD0FF6486A /* field_10x26.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26.h; path = secp256k1_ios/src/field_10x26.h; sourceTree = ""; }; + 78D5360A2EE87EB571652044CCFFCDDC /* num_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_impl.h; path = secp256k1_ios/src/num_impl.h; sourceTree = ""; }; + 792AC5301BC3E29E4EF8E519E96F1ECC /* Web3+Eth.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Eth.swift"; path = "web3swift/Web3/Classes/Web3+Eth.swift"; sourceTree = ""; }; + 793565E05F87C940B4D333C65EBEDE8B /* Web3+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+ObjC.swift"; sourceTree = ""; }; + 7953FD02CB8930FFAF01F2D9C9032454 /* CryptoSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CryptoSwift.xcconfig; sourceTree = ""; }; + 7A09EE23C660A1403809F462D2A1C0B7 /* field_5x52_int128_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_int128_impl.h; path = secp256k1_ios/src/field_5x52_int128_impl.h; sourceTree = ""; }; + 7A25076F49F8EC969977B47A3D270973 /* NoPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoPadding.swift; path = Sources/CryptoSwift/NoPadding.swift; sourceTree = ""; }; + 7AE9359608C045D06EB2204BF13F3E78 /* lax_der_privatekey_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_privatekey_parsing.c; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.c; sourceTree = ""; }; + 7D58637E65FA215EA3F838A635924646 /* Catchable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catchable.swift; path = Sources/Catchable.swift; sourceTree = ""; }; + 7D83A97A877542A2EC6DCA88DD2028EB /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "Sources/CryptoSwift/String+Extension.swift"; sourceTree = ""; }; + 7E849077E96B6057FFFCBFE60E29E639 /* scratch_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch_impl.h; path = secp256k1_ios/src/scratch_impl.h; sourceTree = ""; }; + 7EE987122C612CB4F255D6C9980D5D36 /* PromiseKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PromiseKit.h; path = Sources/PromiseKit.h; sourceTree = ""; }; + 7EF9F4D741B2D1D2C8FCD47B3152DA9A /* EthereumAddress.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumAddress.swift; path = web3swift/KeystoreManager/Classes/EthereumAddress.swift; sourceTree = ""; }; + 7F20F56831A09E0B4A45D3E47576CF42 /* lax_der_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_parsing.h; path = secp256k1_ios/contrib/lax_der_parsing.h; sourceTree = ""; }; + 80252C1601887FBAA6A92A7774A1AFE9 /* EventFiltering.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EventFiltering.swift; path = web3swift/Contract/Classes/EventFiltering.swift; sourceTree = ""; }; + 81DA673B05C77642F07D69EA4532425B /* RIPEMD160+StackOveflow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "RIPEMD160+StackOveflow.swift"; path = "web3swift/Convenience/Classes/RIPEMD160+StackOveflow.swift"; sourceTree = ""; }; + 81DE6AEFFC0C4855DC44FB339A0BDE6C /* secp256k1_ios.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = secp256k1_ios.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8226327992DEFCB5999614EAE8BBD2BA /* secp256k1_ios-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "secp256k1_ios-Info.plist"; sourceTree = ""; }; + 8270CDEF1F71C3CBE99FC3628AC3EBA7 /* StreamEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StreamEncryptor.swift; path = Sources/CryptoSwift/StreamEncryptor.swift; sourceTree = ""; }; + 82DA4B0181B2D7385FE66132570022B0 /* Base58.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Base58.swift; path = web3swift/Convenience/Classes/Base58.swift; sourceTree = ""; }; + 836DA51652F74890CF6989C60C0E8ADC /* scrypt.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = scrypt.framework; path = scrypt.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 84D207BADF2861BAEE09DB0F0100D9C8 /* Thenable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Thenable.swift; path = Sources/Thenable.swift; sourceTree = ""; }; + 85D15B3C77562CE1D76E17840810174E /* Random.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Random.swift; path = sources/Random.swift; sourceTree = ""; }; + 86C1E8D67E7B36A868205B54D0DB924D /* BigInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigInt.swift; path = sources/BigInt.swift; sourceTree = ""; }; + 880358145E7B982F9FCB5D316EB4DAB4 /* Array+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Array+Foundation.swift"; sourceTree = ""; }; + 884AD9080264D98178A80967D3D5D937 /* PromiseKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = PromiseKit.framework; path = PromiseKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 891EED47DC73A8B323F748EA2676F146 /* race.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = race.swift; path = Sources/race.swift; sourceTree = ""; }; + 8A4893E75518CE78AD46F09C2B0BCB86 /* Bit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bit.swift; path = Sources/CryptoSwift/Bit.swift; sourceTree = ""; }; + 8A95DBF14B5B5C4080A5984C12B11FB1 /* scalar_low.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low.h; path = secp256k1_ios/src/scalar_low.h; sourceTree = ""; }; + 8ABD49EF51122D8FA6197117E9244422 /* web3swift.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = web3swift.h; path = web3swift/web3swift.h; sourceTree = ""; }; + 8BD2E83F8EC164E54CDED400AD9CFFE0 /* CryptoExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CryptoExtensions.swift; path = web3swift/Convenience/Classes/CryptoExtensions.swift; sourceTree = ""; }; + 8C1AB9A135AD942B8A7A7B281141EB93 /* IBAN.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IBAN.swift; path = web3swift/KeystoreManager/Classes/IBAN.swift; sourceTree = ""; }; + 8C327B5F182BF8DF005B76982E2419A2 /* Utils+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Utils+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Utils+Foundation.swift"; sourceTree = ""; }; + 8DBB8EB538986AEF569A595AD56B2CB9 /* CustomStringConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomStringConvertible.swift; path = Sources/CustomStringConvertible.swift; sourceTree = ""; }; + 8F599A827CAE59ECD5DA613ADD1801A7 /* Blowfish.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blowfish.swift; path = Sources/CryptoSwift/Blowfish.swift; sourceTree = ""; }; + 8F8C6DCFB940EB1AE8254FC269A0EBE9 /* Promise+Web3+Eth+GetBlockNumber.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockNumber.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockNumber.swift"; sourceTree = ""; }; + 8FA4BD088591072E3F8E937FC348CF9C /* Result-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Result-dummy.m"; sourceTree = ""; }; + 8FC0F0D599A825FC0C5FE165BCB8EB0A /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "web3swift/Convenience/Classes/String+Extension.swift"; sourceTree = ""; }; + 8FC82B238B016E51FBE7F8F1C2462A73 /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "Sources/CryptoSwift/Foundation/Data+Extension.swift"; sourceTree = ""; }; + 9062B9AD79A1FFCD8E4C3D3BBAD22417 /* AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AnyPromise.h; path = Sources/AnyPromise.h; sourceTree = ""; }; + 91FF287A2D6F4A4F78AB5F96F8D6B6C3 /* BigInt-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-umbrella.h"; sourceTree = ""; }; + 926206F9931948DD8CBFD7D9EABD033C /* secp256k1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1.h; path = secp256k1_ios/include/secp256k1.h; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 952E5E5A20415427CA78C75911C62ABD /* Promise+Web3+Intermediate+Send.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Intermediate+Send.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Intermediate+Send.swift"; sourceTree = ""; }; - 958751D0D47E3CCFFC945333CEB4F72E /* Promise+Web3+Eth+GetAccounts.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetAccounts.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetAccounts.swift"; sourceTree = ""; }; - 95F9DAFFDEA63060E250D163213F0C61 /* race.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = race.m; path = Sources/race.m; sourceTree = ""; }; - 96F86314D21C56C76D90CA969B03162F /* Web3+Instance+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Instance+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+Instance+ObjC.swift"; sourceTree = ""; }; - 973DD5BB41EA9F79AF3EC787D0C36229 /* scalar_4x64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64.h; path = secp256k1_ios/src/scalar_4x64.h; sourceTree = ""; }; - 976F6985F84517A349137181F3CBB38C /* UInt16+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt16+Extension.swift"; path = "Sources/CryptoSwift/UInt16+Extension.swift"; sourceTree = ""; }; - 9778E61DBD908F7C81939F9640787434 /* Web3+Methods.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Methods.swift"; path = "web3swift/Web3/Classes/Web3+Methods.swift"; sourceTree = ""; }; - 99C57625E52E17DB4D8B152FC7D1772F /* scalar_low_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low_impl.h; path = secp256k1_ios/src/scalar_low_impl.h; sourceTree = ""; }; - 99FD9803A2BF705DFA95E8CFE488F5D5 /* Pods-web3swiftExample.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swiftExample.modulemap"; sourceTree = ""; }; - 9BD8F7B538E9955AD6B31C5548E85E3A /* scalar_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_impl.h; path = secp256k1_ios/src/scalar_impl.h; sourceTree = ""; }; - 9C1BF0239536A2BCDF991B0D37C862CC /* secp256k1_ios.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = secp256k1_ios.modulemap; sourceTree = ""; }; - 9C8EDCC12EBCA64B4D3B9C433300DD15 /* after.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = after.swift; path = Sources/after.swift; sourceTree = ""; }; - 9D81EA660BB41A6042EB12554C011FF5 /* Web3+Options.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Options.swift"; path = "web3swift/Web3/Classes/Web3+Options.swift"; sourceTree = ""; }; - 9E396C482D49D085DD8E5C6F1538A1B3 /* DigestType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DigestType.swift; path = Sources/CryptoSwift/DigestType.swift; sourceTree = ""; }; - 9E4C0E96E391A3A6478442E71331B4C8 /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = Sources/CryptoSwift/Utils.swift; sourceTree = ""; }; - 9EE64A9528FF128B9020101AA65FE4AB /* Pods-web3swiftExample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swiftExample-dummy.m"; sourceTree = ""; }; - A1EBCC0F3780CD1BF5924A52550B2326 /* lax_der_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_parsing.c; path = secp256k1_ios/contrib/lax_der_parsing.c; sourceTree = ""; }; - A1F0E78B73C5750335C94D48A43488F1 /* libsecp256k1-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "libsecp256k1-config.h"; path = "secp256k1_ios/libsecp256k1-config.h"; sourceTree = ""; }; - A37C37229B14679020F711CCFB377624 /* secp256k1_ios-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-prefix.pch"; sourceTree = ""; }; - A4AD0B0CDC89E37F1F3D10E361AB2BD7 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/recovery/main_impl.h; sourceTree = ""; }; - A4DBB0B96A0D97186D0D275913EFB6F4 /* ABIv2TypeParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2TypeParser.swift; path = web3swift/ABIv2/Classes/ABIv2TypeParser.swift; sourceTree = ""; }; - A66255E5AEA5BC28BB87C3D0EFD8D2AA /* web3swift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = web3swift.xcconfig; sourceTree = ""; }; - A740ACE88D9C0FCCAA9BF577B356D151 /* EthereumKeystoreV3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumKeystoreV3.swift; path = web3swift/KeystoreManager/Classes/EthereumKeystoreV3.swift; sourceTree = ""; }; - A740FA5D5A7CC8E07FC8BA48D71D4558 /* Box.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Box.swift; path = Sources/Box.swift; sourceTree = ""; }; - A7653D4CA3F95CD7C0BD5C5634BC8726 /* Authenticator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Authenticator.swift; path = Sources/CryptoSwift/Authenticator.swift; sourceTree = ""; }; - A96630CA550118EAC05864B2C651DF35 /* SipHashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHashable.swift; path = SipHash/SipHashable.swift; sourceTree = ""; }; - A96F34D195736EFBEE26EAF01CFB8519 /* field_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_impl.h; path = secp256k1_ios/src/field_impl.h; sourceTree = ""; }; - A9B7FC1C4BA7B43D989DB2B556486352 /* BigUInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigUInt.swift; path = sources/BigUInt.swift; sourceTree = ""; }; - A9D56D5E5F9EF5E2211C743FEDCBAADD /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "Sources/CryptoSwift/String+Extension.swift"; sourceTree = ""; }; - AAE18F0D9A22AE97A40D945DCE17B624 /* SipHash.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SipHash.modulemap; sourceTree = ""; }; - AB5B6ACFABC7EC18ACEAA8633842A947 /* Bitwise Ops.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bitwise Ops.swift"; path = "sources/Bitwise Ops.swift"; sourceTree = ""; }; - AE50FC315B634183486EDEF0DBB59268 /* ABIv2Parsing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Parsing.swift; path = web3swift/ABIv2/Classes/ABIv2Parsing.swift; sourceTree = ""; }; - AF39ECE02AE8493AAF47EDD68429E007 /* CipherModeWorker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CipherModeWorker.swift; path = Sources/CryptoSwift/BlockMode/CipherModeWorker.swift; sourceTree = ""; }; - B1080142E5C98D83C6423ACA6241A5A6 /* AES+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AES+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/AES+Foundation.swift"; sourceTree = ""; }; - B1AF162652CC96EC4E7AA8713BEEF5B7 /* num_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_impl.h; path = secp256k1_ios/src/num_impl.h; sourceTree = ""; }; - B225A007A4268038A9E454D13111A89D /* ecmult_gen.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen.h; path = secp256k1_ios/src/ecmult_gen.h; sourceTree = ""; }; - B230E8C1B6762E788B76F2AA859FF02E /* BIP39.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP39.swift; path = web3swift/KeystoreManager/Classes/BIP39.swift; sourceTree = ""; }; - B271D2C6AB2B214DB0BBE7869FA70164 /* NameHash.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NameHash.swift; path = web3swift/Utils/Classes/NameHash.swift; sourceTree = ""; }; - B2742EF48D7A9BADD15DFA2028CDB4AD /* Subtraction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Subtraction.swift; path = sources/Subtraction.swift; sourceTree = ""; }; - B2BB223B0460060F3F08F67C605E6971 /* Bit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bit.swift; path = Sources/CryptoSwift/Bit.swift; sourceTree = ""; }; - B3AE1B016C720A6861CFEEED6B0B1E5D /* NSNotificationCenter+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.h"; sourceTree = ""; }; - B461C953E96246972B9FD88D07AD66E5 /* PlainKeystore+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PlainKeystore+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/PlainKeystore+ObjC.swift"; sourceTree = ""; }; - B4CD7FD8C56DD910536ADB36E1277B34 /* Floating Point Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Floating Point Conversion.swift"; path = "sources/Floating Point Conversion.swift"; sourceTree = ""; }; - B4D0235918D0C322E2E83A50D0A2CD24 /* BigUInt+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BigUInt+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/BigUInt+ObjC.swift"; sourceTree = ""; }; - B5B0E053F4769044408474F4EDD0450B /* eckey_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey_impl.h; path = secp256k1_ios/src/eckey_impl.h; sourceTree = ""; }; - B71A2239207EC9A9FD4F65D23E822396 /* RandomUInt64.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomUInt64.swift; path = SipHash/RandomUInt64.swift; sourceTree = ""; }; - B76269C67E36441FAD8FF805B6A60FF1 /* ecmult_const_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const_impl.h; path = secp256k1_ios/src/ecmult_const_impl.h; sourceTree = ""; }; - B78D71D7365AE4B58112354EDD377D4D /* Web3+Contract.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Contract.swift"; path = "web3swift/Web3/Classes/Web3+Contract.swift"; sourceTree = ""; }; - B7BE49D1EB253D7DE7539B872CDAD284 /* Scrypt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scrypt.swift; path = scrypt/scrypt/Scrypt.swift; sourceTree = ""; }; - B806FEEE8A1AD5FF1AB49E5928BBC3A3 /* EthereumTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EthereumTransaction.swift; path = web3swift/Transaction/Classes/EthereumTransaction.swift; sourceTree = ""; }; - B81556F0FE01DF09B1A857C01311DF62 /* PromiseKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromiseKit.xcconfig; sourceTree = ""; }; - B8CBA501A152AA198F4C80D0E17BAFED /* basic-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "basic-config.h"; path = "secp256k1_ios/src/basic-config.h"; sourceTree = ""; }; - B9579DEB6145661F6E7A13CFED754827 /* Result.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Result.modulemap; sourceTree = ""; }; - B9CAE13A8BC055260DED74FDBDE2A710 /* AEADChaCha20Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEADChaCha20Poly1305.swift; path = Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift; sourceTree = ""; }; - BA06B61BC294257DACC3E1D0FD32DA53 /* lax_der_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_parsing.h; path = secp256k1_ios/contrib/lax_der_parsing.h; sourceTree = ""; }; - BAD8E2243595210891E90A221AD22915 /* BigInt.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BigInt.xcconfig; sourceTree = ""; }; - BB1C6578AA63B23B241C85DCD3EF3D21 /* group.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group.h; path = secp256k1_ios/src/group.h; sourceTree = ""; }; - BC0FD9DB2AEDA0136A6B828690C3BE23 /* UInt8+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt8+Extension.swift"; path = "Sources/CryptoSwift/UInt8+Extension.swift"; sourceTree = ""; }; - BF9CD7996E9539414390F255AAE03851 /* secp256k1_ios-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "secp256k1_ios-dummy.m"; sourceTree = ""; }; - BFE4248F45D9EE5AAA7A83114F6B2BF6 /* Web3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Web3.swift; path = web3swift/Web3/Classes/Web3.swift; sourceTree = ""; }; - C0330E643D2770F7C6D422B4085388DA /* scalar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar.h; path = secp256k1_ios/src/scalar.h; sourceTree = ""; }; - C13316F7E9A1CE6B07783B3F5F10CF3B /* Result-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-prefix.pch"; sourceTree = ""; }; - C191C1B178EC68CC1E14B9012A443F62 /* EIP67Code.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EIP67Code.swift; path = web3swift/Utils/Classes/EIP67Code.swift; sourceTree = ""; }; - C52F5EDD1118D33A3B10C6452A089E8F /* PMKFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKFoundation.h; path = Extensions/Foundation/Sources/PMKFoundation.h; sourceTree = ""; }; - C613C1A4193B296D8171C94206D33C31 /* Web3+Eth.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Eth.swift"; path = "web3swift/Web3/Classes/Web3+Eth.swift"; sourceTree = ""; }; - C79C70AB4E5DF69385497C717CEBFB75 /* ABIv2Encoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Encoding.swift; path = web3swift/ABIv2/Classes/ABIv2Encoding.swift; sourceTree = ""; }; - C7BFE272DA00B10F8102625518DEADB8 /* join.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = join.m; path = Sources/join.m; sourceTree = ""; }; - C9025BAAEE8CC693DC8E66CE52E77768 /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "web3swift/Convenience/Classes/Data+Extension.swift"; sourceTree = ""; }; - C91E162C53A209FDFA94395F091AF0EE /* SipHash.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SipHash.xcconfig; sourceTree = ""; }; - C93101B181E8AABEB131C0915B6F3015 /* Promise+HttpProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+HttpProvider.swift"; path = "web3swift/Promises/Classes/Promise+HttpProvider.swift"; sourceTree = ""; }; - CAABB0F89CF876EA103285C487CD9403 /* Web3+HttpProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+HttpProvider.swift"; path = "web3swift/Web3/Classes/Web3+HttpProvider.swift"; sourceTree = ""; }; - CAB3B3DB7F29D6CDD16814E658597C38 /* ContractABIv2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContractABIv2.swift; path = web3swift/Contract/Classes/ContractABIv2.swift; sourceTree = ""; }; - CB23B0951CD5D604D24EA76B4B41466F /* ecmult_const.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const.h; path = secp256k1_ios/src/ecmult_const.h; sourceTree = ""; }; - CBCCA9834BAC9372CB234B4219882001 /* PromiseKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-umbrella.h"; sourceTree = ""; }; - CC203122F4CADEB96AD6DC31C9B89CD7 /* UInt128.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UInt128.swift; path = Sources/CryptoSwift/UInt128.swift; sourceTree = ""; }; - CC7703D2D8872FC0ABD92EE3F90EBDCB /* field_5x52_asm_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_asm_impl.h; path = secp256k1_ios/src/field_5x52_asm_impl.h; sourceTree = ""; }; - CC990486D4C0CEEBBB80C141DC8AAF7C /* CustomStringConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomStringConvertible.swift; path = Sources/CustomStringConvertible.swift; sourceTree = ""; }; - CCD3FB4606DD884C6F35F97D863A296F /* AnyError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyError.swift; path = Result/AnyError.swift; sourceTree = ""; }; - CD0F82A7D2464AEF836A81F2E23371DD /* NoPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoPadding.swift; path = Sources/CryptoSwift/NoPadding.swift; sourceTree = ""; }; - CD6A176D312F0AE31DF835BCA4A0F342 /* field_5x52_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_impl.h; path = secp256k1_ios/src/field_5x52_impl.h; sourceTree = ""; }; - CED83459CAB009994922F31BDEFD623E /* web3swift-Bridging-Header.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "web3swift-Bridging-Header.h"; path = "web3swift/web3swift-Bridging-Header.h"; sourceTree = ""; }; - CFB2C7C3A237D8835945428FD197C62E /* Array+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Array+Foundation.swift"; sourceTree = ""; }; - CFBD00269481FF629C0D75143D8ED5CB /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/CryptoSwift/Operators.swift; sourceTree = ""; }; - CFC18FE05DFD6D953716F8225BEC16A8 /* Checksum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Checksum.swift; path = Sources/CryptoSwift/Checksum.swift; sourceTree = ""; }; - D0C5DCCE452FBA3A37BE4A3C6ECB9C33 /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = Sources/CryptoSwift/CompactMap.swift; sourceTree = ""; }; - D22A1274D72F8069BBEBF15A847277B5 /* BIP32HDNode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32HDNode.swift; path = web3swift/KeystoreManager/Classes/BIP32HDNode.swift; sourceTree = ""; }; - D3D75A6D93D9A7DF105F25DC93688461 /* util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = util.h; path = secp256k1_ios/src/util.h; sourceTree = ""; }; - D48E4039D8A05D930087548282B6EDFB /* Web3+Wallet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Wallet.swift"; path = "web3swift/HookedFunctions/Classes/Web3+Wallet.swift"; sourceTree = ""; }; - D6030A6AE80EF19BF46A279BA9B759C1 /* ECB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ECB.swift; path = Sources/CryptoSwift/BlockMode/ECB.swift; sourceTree = ""; }; - D646DCC70198FD61095957E5652DEF33 /* HKDF.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HKDF.swift; path = Sources/CryptoSwift/HKDF.swift; sourceTree = ""; }; - D7048890B198E005491CCFCEB097B6C6 /* scratch_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch_impl.h; path = secp256k1_ios/src/scratch_impl.h; sourceTree = ""; }; - D780067516C26611C3598987A7B875A8 /* BlockModeOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockModeOptions.swift; path = Sources/CryptoSwift/BlockMode/BlockModeOptions.swift; sourceTree = ""; }; - D8287DF2117A869C0B6C9BC2CAAC80DD /* Rabbit+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Rabbit+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift"; sourceTree = ""; }; - D88F2B395E5E3F2C3E61220B75F9EFE4 /* scalar_8x32_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32_impl.h; path = secp256k1_ios/src/scalar_8x32_impl.h; sourceTree = ""; }; - D91E3092AC45FADA1BD6F43737530A9C /* CryptoSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-prefix.pch"; sourceTree = ""; }; - D9D0562D53ACD302EE60EE8967515E45 /* Web3+TransactionIntermediate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+TransactionIntermediate.swift"; path = "web3swift/Web3/Classes/Web3+TransactionIntermediate.swift"; sourceTree = ""; }; - DA17BEB9A7129021CB18F6B91D12748C /* Promise+Web3+Eth+SendTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+SendTransaction.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+SendTransaction.swift"; sourceTree = ""; }; - DA571FCCE0EC4EA1D6F0234A756DE463 /* HMAC+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "HMAC+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/HMAC+Foundation.swift"; sourceTree = ""; }; - DAB94D7201EC9D4222C28065007D51EB /* Web3+Instance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Instance.swift"; path = "web3swift/Web3/Classes/Web3+Instance.swift"; sourceTree = ""; }; - DAFF5311E9BA57C195A3AF3540BB75A1 /* SHA1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA1.swift; path = Sources/CryptoSwift/SHA1.swift; sourceTree = ""; }; - DB6386E81F459ED74E6BB3E8FA4FF3CE /* CBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBC.swift; path = Sources/CryptoSwift/BlockMode/CBC.swift; sourceTree = ""; }; - DB6B3F25A51F2AB28AC33743DAB74418 /* num.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num.h; path = secp256k1_ios/src/num.h; sourceTree = ""; }; - DD0A982799C4459FD2E3166540B9A18D /* Exponentiation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Exponentiation.swift; path = sources/Exponentiation.swift; sourceTree = ""; }; - E035FE22D8FD996F3D0563F19CB710CE /* Addition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Addition.swift; path = sources/Addition.swift; sourceTree = ""; }; - E0EAE40505327D2CB02940BDEB3B21DC /* HMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HMAC.swift; path = Sources/CryptoSwift/HMAC.swift; sourceTree = ""; }; - E0ED08C56E8F5A2573652D57C0E00AB1 /* when.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = when.m; path = Sources/when.m; sourceTree = ""; }; - E1E9E05C913C27A3BCDC1B5C783DE9B9 /* TransactionSigner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransactionSigner.swift; path = web3swift/Transaction/Classes/TransactionSigner.swift; sourceTree = ""; }; - E22171F0C69D8C40BCDB2F57BE46B364 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/ecdh/main_impl.h; sourceTree = ""; }; - E27EAF74BA22155644BF26D238704159 /* Primitive Types.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Primitive Types.swift"; path = "SipHash/Primitive Types.swift"; sourceTree = ""; }; - E2B568367A9864B63A35097D9E4AB93A /* Promise+Web3+Eth+GetGasPrice.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetGasPrice.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetGasPrice.swift"; sourceTree = ""; }; - E2F40252FE652D0C4730C00077BADDAA /* Web3+EventParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+EventParser.swift"; path = "web3swift/Web3/Classes/Web3+EventParser.swift"; sourceTree = ""; }; - E32EAD6B9FA7E7949B7E044DF88FAE25 /* ABIv2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2.swift; path = web3swift/ABIv2/Classes/ABIv2.swift; sourceTree = ""; }; - E33486FBAA345E14AD805DEC0E47A803 /* ABIv2Elements.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Elements.swift; path = web3swift/ABIv2/Classes/ABIv2Elements.swift; sourceTree = ""; }; - E3724656679C0E551B0D424B10D8BDE0 /* IBAN.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IBAN.swift; path = web3swift/KeystoreManager/Classes/IBAN.swift; sourceTree = ""; }; - E3FCFAFE5E2F92BF925E516BA5C6D586 /* ecmult_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_impl.h; path = secp256k1_ios/src/ecmult_impl.h; sourceTree = ""; }; - E639196F504CE0F26B4C3BE988D0753E /* BigInt-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BigInt-dummy.m"; sourceTree = ""; }; - E77AC5D58E1FF6C75FCC6752505572A9 /* scalar_low.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low.h; path = secp256k1_ios/src/scalar_low.h; sourceTree = ""; }; - E876079E09845BBA655ED734665C8A43 /* EthereumAddress+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "EthereumAddress+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/EthereumAddress+ObjC.swift"; sourceTree = ""; }; - E9124AFC41B95D43CF8CC563C862991C /* hash_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash_impl.h; path = secp256k1_ios/src/hash_impl.h; sourceTree = ""; }; - E91345FF5BDDF745793EEDF104FCDCB0 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = Sources/Error.swift; sourceTree = ""; }; - EADAE9DDDE266D2FA434262C25991F22 /* PBKDF2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF2.swift; path = Sources/CryptoSwift/PKCS/PBKDF2.swift; sourceTree = ""; }; - EAE853F3B901CD0EFBB3049D7288A635 /* web3swift.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = web3swift.h; path = web3swift/web3swift.h; sourceTree = ""; }; - EAF95D7A08AE9E5B89144BED0AE0C4C0 /* SipHash-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-prefix.pch"; sourceTree = ""; }; - EB2F2E4377859F7D681FE473B587053B /* BatchedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BatchedCollection.swift; path = Sources/CryptoSwift/BatchedCollection.swift; sourceTree = ""; }; - EB90911DBCE2B6C999C122F3EC56E386 /* scrypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scrypt.h; path = scrypt/scrypt.h; sourceTree = ""; }; - EC27CE020482173FFDCE321039C1E1B7 /* NSURLSession+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURLSession+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.m"; sourceTree = ""; }; - EC96BFAF2B1203FC9CA3C40F8C68BE0A /* BufferStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BufferStorage.swift; path = scrypt/scrypt/BufferStorage.swift; sourceTree = ""; }; - ED32FA320D4B20F774457FA9C15F4DD2 /* Int+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Int+Extension.swift"; path = "Sources/CryptoSwift/Int+Extension.swift"; sourceTree = ""; }; - EDDE6BE27FBDE2D0053FF4448C47148D /* SipHasher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHasher.swift; path = SipHash/SipHasher.swift; sourceTree = ""; }; - EE6713D6A2C799F18F66DEAF4B9DA002 /* PMKUIKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKUIKit.h; path = Extensions/UIKit/Sources/PMKUIKit.h; sourceTree = ""; }; - F2B5D7FCD090BEF9FFFB3C684DCB1B18 /* Catchable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catchable.swift; path = Sources/Catchable.swift; sourceTree = ""; }; - F3DB5983D5328F395EC023B6F7BA9412 /* Pods-web3swiftExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swiftExample.release.xcconfig"; sourceTree = ""; }; - F403D2ACFA1FBE4817C4DD35F625E829 /* NSRegularExpressionExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSRegularExpressionExtension.swift; path = web3swift/Convenience/Classes/NSRegularExpressionExtension.swift; sourceTree = ""; }; - F46ACB0433C87E504F733209EBE2BF33 /* Guarantee.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Guarantee.swift; path = Sources/Guarantee.swift; sourceTree = ""; }; - F4CE7F01DBF56348E5D752C5E4A2573C /* hang.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = hang.m; path = Sources/hang.m; sourceTree = ""; }; - F4FEF4545266F6206AEB6A317C63BDC2 /* Thenable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Thenable.swift; path = Sources/Thenable.swift; sourceTree = ""; }; - F568297D4D43D340BC0B85931EF3ECEB /* Blowfish+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Blowfish+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift"; sourceTree = ""; }; - F69249253939D72D4870706405B1DD0C /* ecdsa_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa_impl.h; path = secp256k1_ios/src/ecdsa_impl.h; sourceTree = ""; }; - F7F281434684B8C111CACBAE1BCD1B8A /* KeystoreManager+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "KeystoreManager+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/KeystoreManager+ObjC.swift"; sourceTree = ""; }; - FB9227AD4EC63BDE92E26BD15585FCA5 /* field_10x26.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26.h; path = secp256k1_ios/src/field_10x26.h; sourceTree = ""; }; - FC2F9C9C1C2C85E089F281E24A59A511 /* scrypt.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = scrypt.modulemap; sourceTree = ""; }; - FDA88052388E64B0D79D3B4902DD4F7A /* libscrypt.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libscrypt.a; path = libscrypt.a; sourceTree = BUILT_PRODUCTS_DIR; }; - FE2E92733967F592C99E77387B2DD8FD /* Promise+Web3+Eth+GetTransactionDetails.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionDetails.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionDetails.swift"; sourceTree = ""; }; - FFB342B57716D3C137EA03417F2362B3 /* num_gmp.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp.h; path = secp256k1_ios/src/num_gmp.h; sourceTree = ""; }; + 93F85B21BC57EE24795630B658B179F0 /* ecmult_gen_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen_impl.h; path = secp256k1_ios/src/ecmult_gen_impl.h; sourceTree = ""; }; + 9554A1412BDC823D749F20DEFFDCE38E /* AEADChaCha20Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEADChaCha20Poly1305.swift; path = Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift; sourceTree = ""; }; + 9777D406113094F2B17BC4424F7329BB /* BigInt.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = BigInt.xcconfig; sourceTree = ""; }; + 97BDBF4C5CA18216A7B59BE4733E8907 /* CryptoSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CryptoSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 986FB1624E314E5F2E9F13EF4B8175CB /* EIP681.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EIP681.swift; path = web3swift/Utils/Classes/EIP681.swift; sourceTree = ""; }; + 98A2FBCCE443F266993B3935B6D04F58 /* SipHasher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHasher.swift; path = SipHash/SipHasher.swift; sourceTree = ""; }; + 98D040F49C5324D284DD9F2514B31740 /* BlockExplorer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockExplorer.swift; path = web3swift/BlockExplorer/Classes/BlockExplorer.swift; sourceTree = ""; }; + 98F7CA5B3DED455C4A7996A4D4163AA0 /* secp256k1_recovery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_recovery.h; path = secp256k1_ios/include/secp256k1_recovery.h; sourceTree = ""; }; + 998D75A403FDA6A5E849C8AD8F7837D3 /* Promise+Web3+Eth+SendTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+SendTransaction.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+SendTransaction.swift"; sourceTree = ""; }; + 99D3AA13FF0CF2C33FD2CB7EF9FE4214 /* Promise+Web3+Personal+Sign.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Personal+Sign.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Personal+Sign.swift"; sourceTree = ""; }; + 99F4C0E8C3EE8B472BEEC0F2E1795295 /* Division.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Division.swift; path = sources/Division.swift; sourceTree = ""; }; + 9A40978EBB425827600AB1B975DAFEE5 /* Rabbit+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Rabbit+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift"; sourceTree = ""; }; + 9A6CCBF638311206CEFF4108D56E0D6C /* Web3+Wallet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Wallet.swift"; path = "web3swift/HookedFunctions/Classes/Web3+Wallet.swift"; sourceTree = ""; }; + 9A79309B24D8A8530113424A9369C8B6 /* scrypt.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = scrypt.modulemap; sourceTree = ""; }; + 9BC92AB3E8B43B6FEFE7AB4748793AE7 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 9FBF4238285101EB5008F25E7C17DB9A /* NSURLSession+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLSession+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.h"; sourceTree = ""; }; + A03CE4B278E0C83715E59182E1F70067 /* field_5x52.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52.h; path = secp256k1_ios/src/field_5x52.h; sourceTree = ""; }; + A04EB2E762C3C146021C34F31E991075 /* BlockMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockMode.swift; path = Sources/CryptoSwift/BlockMode/BlockMode.swift; sourceTree = ""; }; + A0B29A79F216917DB7C1E8D51E2B29AA /* NSURLSession+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURLSession+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.m"; sourceTree = ""; }; + A0B4DEDF5D53AB822C732F43AFB83EA6 /* Web3+JSONRPC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+JSONRPC.swift"; path = "web3swift/Web3/Classes/Web3+JSONRPC.swift"; sourceTree = ""; }; + A0C7EF8D801C5AF4AB0F1802971A0768 /* Dictionary+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Dictionary+Extension.swift"; path = "web3swift/Convenience/Classes/Dictionary+Extension.swift"; sourceTree = ""; }; + A147CC10074D694F4FEDAD5C37A4345E /* BlockModeOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockModeOptions.swift; path = Sources/CryptoSwift/BlockMode/BlockModeOptions.swift; sourceTree = ""; }; + A18BCBAF1463ABC38E43C310C8A5DC49 /* Subtraction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Subtraction.swift; path = sources/Subtraction.swift; sourceTree = ""; }; + A1A1E5950E2319371590A7F1B55689D0 /* CipherModeWorker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CipherModeWorker.swift; path = Sources/CryptoSwift/BlockMode/CipherModeWorker.swift; sourceTree = ""; }; + A222803A5470C0EA36B7E5CB379AA730 /* Pods-web3swiftExample-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swiftExample-Info.plist"; sourceTree = ""; }; + A518522A431DA29C6EAB22C89220F3D3 /* UIViewController+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.h"; sourceTree = ""; }; + A57379017DA3A7363C4A126E85922A3E /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Result/Result.swift; sourceTree = ""; }; + A5950DAB6A6AF16598B547C61614F67F /* Web3+EventParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+EventParser.swift"; path = "web3swift/Web3/Classes/Web3+EventParser.swift"; sourceTree = ""; }; + A688435DEDA890F22D74DEA0B4E38218 /* web3swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = web3swift.modulemap; sourceTree = ""; }; + A6B836C566DD50CDDC91622F1017A907 /* Words and Bits.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Words and Bits.swift"; path = "sources/Words and Bits.swift"; sourceTree = ""; }; + A7B345CA772E8DBD55A2E927CBA8604A /* scalar_8x32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32.h; path = secp256k1_ios/src/scalar_8x32.h; sourceTree = ""; }; + A7D5037585515D7D31ABCC390E523DCE /* KeystoreV3JSONStructure.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeystoreV3JSONStructure.swift; path = web3swift/KeystoreManager/Classes/KeystoreV3JSONStructure.swift; sourceTree = ""; }; + A964E878B714B85BFFB78FE9A1D48601 /* Promise+Web3+Contract+GetIndexedEvents.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Contract+GetIndexedEvents.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Contract+GetIndexedEvents.swift"; sourceTree = ""; }; + A997EBF435A0C1763556BA8793373E65 /* ABIv2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2.swift; path = web3swift/ABIv2/Classes/ABIv2.swift; sourceTree = ""; }; + A9C94A81A904A9492C86F03251F3F9A6 /* TransactionSigner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransactionSigner.swift; path = web3swift/Transaction/Classes/TransactionSigner.swift; sourceTree = ""; }; + AAB55717467B6E1C5DC461B186D34505 /* PMKUIKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKUIKit.h; path = Extensions/UIKit/Sources/PMKUIKit.h; sourceTree = ""; }; + AAFAD63081AB296364EBEE0550B55C75 /* after.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = after.swift; path = Sources/after.swift; sourceTree = ""; }; + AB21E2AB71A28225AD43E56B69612A2E /* Salsa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Salsa.swift; path = scrypt/scrypt/Salsa.swift; sourceTree = ""; }; + AB45C8770EE42F74BECA341A582A9813 /* BlockExplorer+GetTransactionHistory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BlockExplorer+GetTransactionHistory.swift"; path = "web3swift/BlockExplorer/Classes/BlockExplorer+GetTransactionHistory.swift"; sourceTree = ""; }; + AC0A8F0EF2B67D8E377186D1D70E8F97 /* secp256k1_ios.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = secp256k1_ios.xcconfig; sourceTree = ""; }; + AE5EE930804B944DB46E6C6221E7B4C4 /* ecdsa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa.h; path = secp256k1_ios/src/ecdsa.h; sourceTree = ""; }; + AEE2227E4C836011E279D5A187A8C1EA /* Authenticator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Authenticator.swift; path = Sources/CryptoSwift/Authenticator.swift; sourceTree = ""; }; + AFBE806845DD167DC414CA9715309051 /* secp256k1_ios.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = secp256k1_ios.modulemap; sourceTree = ""; }; + B0C8BA06101F357C799BC88E5081257A /* UIViewController+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.m"; sourceTree = ""; }; + B0DF79B993E5E4E742F07F91E5247FD4 /* NSTask+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSTask+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.h"; sourceTree = ""; }; + B2087493B84529EC925CD96B6E28CEDD /* util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = util.h; path = secp256k1_ios/src/util.h; sourceTree = ""; }; + B27AAE202915C26D30FF0AB6D511C2A5 /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "web3swift/Convenience/Classes/Array+Extension.swift"; sourceTree = ""; }; + B29D120DA2065F9B7F8010B82F877724 /* secp256k1_ios-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-prefix.pch"; sourceTree = ""; }; + B2EBC8972ED05B8027B86BA6C334EC53 /* CryptoSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CryptoSwift-dummy.m"; sourceTree = ""; }; + B3ADFA503DA3512C3D7462CEBC3461E1 /* Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Poly1305.swift; path = Sources/CryptoSwift/Poly1305.swift; sourceTree = ""; }; + B4E57C780B6DC73DDE512C89289D7C6D /* BIP39+WordLists.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "BIP39+WordLists.swift"; path = "web3swift/KeystoreManager/Classes/BIP39+WordLists.swift"; sourceTree = ""; }; + B549029F7C08F93F71DBE300BDBEB3A5 /* PMKFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKFoundation.h; path = Extensions/Foundation/Sources/PMKFoundation.h; sourceTree = ""; }; + B5AE0CE423C25CAF8DDEF32FE109DD36 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/ecdh/main_impl.h; sourceTree = ""; }; + B611AE2C6BEF0A2E26865F99A0DFC1D2 /* SipHash-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SipHash-dummy.m"; sourceTree = ""; }; + B64A66E3159EDD6E2476105656E5B809 /* PBKDF2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF2.swift; path = Sources/CryptoSwift/PKCS/PBKDF2.swift; sourceTree = ""; }; + B72E91CA236B363CA685F62C6A793DD7 /* Pods_web3swiftExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_web3swiftExample.framework; path = "Pods-web3swiftExample.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + B879FC9FF02959F80112A1028330B1C4 /* ContractABIv2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ContractABIv2.swift; path = web3swift/Contract/Classes/ContractABIv2.swift; sourceTree = ""; }; + B8B307D4E26840540E204782630D463C /* BufferStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BufferStorage.swift; path = scrypt/scrypt/BufferStorage.swift; sourceTree = ""; }; + B8FD1CF670C9D76982E36D9C7194D970 /* NSTask+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSTask+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.m"; sourceTree = ""; }; + BA0B3AE7019BDA95536AE5163FFCE31F /* Promise+Web3+Eth+GetTransactionDetails.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetTransactionDetails.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetTransactionDetails.swift"; sourceTree = ""; }; + BA56A6B6D3AA5CCAABD3A9421FF1FC9E /* hash_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash_impl.h; path = secp256k1_ios/src/hash_impl.h; sourceTree = ""; }; + BBEB3C1E2A88B6371BC0922D8F50C3B8 /* Web3+ERC20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+ERC20.swift"; path = "web3swift/PrecompiledContracts/ERC20/Web3+ERC20.swift"; sourceTree = ""; }; + BEA6C296294AF579C5E26DE62FC71CBC /* dispatch_promise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = dispatch_promise.m; path = Sources/dispatch_promise.m; sourceTree = ""; }; + C0675963B7F5BBBCE7B3FEACD46F1059 /* ABIv2Parsing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Parsing.swift; path = web3swift/ABIv2/Classes/ABIv2Parsing.swift; sourceTree = ""; }; + C26DBBDC4361A9A3D875862D9CDCC222 /* HKDF.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HKDF.swift; path = Sources/CryptoSwift/HKDF.swift; sourceTree = ""; }; + C3B25C1F01EFB3AC5FA924DB59808989 /* Result.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Result.framework; path = Result.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C78A90EF1AC64CE7665CF433AE31CB4F /* Promise+Web3+Eth+SendRawTransaction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+SendRawTransaction.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+SendRawTransaction.swift"; sourceTree = ""; }; + C88308E23ACC16B283556A5CA6AC322F /* scalar_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_impl.h; path = secp256k1_ios/src/scalar_impl.h; sourceTree = ""; }; + C8CDF9DE89CE405CCA08750BE0B93C09 /* NSRegularExpressionExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSRegularExpressionExtension.swift; path = web3swift/Convenience/Classes/NSRegularExpressionExtension.swift; sourceTree = ""; }; + C9E535CC3B56DF96BD33013093E21D6B /* field_5x52_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_impl.h; path = secp256k1_ios/src/field_5x52_impl.h; sourceTree = ""; }; + CA588EB41DFF39681CD5E2D44DE4B9D5 /* Result-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-prefix.pch"; sourceTree = ""; }; + CAE688D25B118D52526713B918BF4412 /* BigInt-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-prefix.pch"; sourceTree = ""; }; + CB5830DCF5BE1BC265D8673C39D6ACFF /* PKCS7Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7Padding.swift; path = Sources/CryptoSwift/PKCS/PKCS7Padding.swift; sourceTree = ""; }; + CB88C6871FFA8E2AEC4C11D2134C8505 /* Promise+Web3+Eth+Call.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+Call.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+Call.swift"; sourceTree = ""; }; + CC7F30FF1F8C2624985ED76AFEF7343F /* Web3+Infura.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Infura.swift"; path = "web3swift/Web3/Classes/Web3+Infura.swift"; sourceTree = ""; }; + CD3A802B0EBBDBABC284E77D0173F524 /* NameHash.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NameHash.swift; path = web3swift/Utils/Classes/NameHash.swift; sourceTree = ""; }; + CD695AA8D5B0A6A6C74E09E40FD3F4CF /* PromiseKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-prefix.pch"; sourceTree = ""; }; + CDE87D210458FFB601CC2F569131ACDE /* scrypt.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = scrypt.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + CF4B94ADE36B859A985CE20D9C9B4C1B /* NSObject+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Promise.swift"; path = "Extensions/Foundation/Sources/NSObject+Promise.swift"; sourceTree = ""; }; + D0280A8B81447E72F8900FAC8DC255B5 /* scalar_4x64_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64_impl.h; path = secp256k1_ios/src/scalar_4x64_impl.h; sourceTree = ""; }; + D0A9DDA2F0156D188BEFF81EBEE38903 /* UIView+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.h"; sourceTree = ""; }; + D2CFB442CB244B69C89D6C0651E21E9D /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "web3swift/Convenience/Classes/Data+Extension.swift"; sourceTree = ""; }; + D460F9A266BE2FC2769DCC397350234B /* group.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group.h; path = secp256k1_ios/src/group.h; sourceTree = ""; }; + D4795A3312AFD3CF4610B857D57F0DE7 /* PromiseKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PromiseKit-dummy.m"; sourceTree = ""; }; + D4B6AC99AF9BB0962269E5759E81E320 /* Exponentiation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Exponentiation.swift; path = sources/Exponentiation.swift; sourceTree = ""; }; + D4C991E8454B8E94B54C310E76276DDD /* ENS.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ENS.swift; path = web3swift/Utils/Classes/ENS.swift; sourceTree = ""; }; + D5A8E66DCCDCF6FE84240BC74547E057 /* BIP32HDNode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32HDNode.swift; path = web3swift/KeystoreManager/Classes/BIP32HDNode.swift; sourceTree = ""; }; + D5C02D3C50FB98C143D745510D16219A /* Promise+Web3+Eth+GetBalance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBalance.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBalance.swift"; sourceTree = ""; }; + D606FC0EE4EE3BC0BB4A1413AD91A5E2 /* group_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group_impl.h; path = secp256k1_ios/src/group_impl.h; sourceTree = ""; }; + D6781601E4B221AF8A6CB8901008CD34 /* ZeroPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZeroPadding.swift; path = Sources/CryptoSwift/ZeroPadding.swift; sourceTree = ""; }; + D7DB5E41B41743430F0D989437AD4091 /* OFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OFB.swift; path = Sources/CryptoSwift/BlockMode/OFB.swift; sourceTree = ""; }; + D881EFCF8C8321AF82D7B1E16080EED1 /* BIP32Keystore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BIP32Keystore.swift; path = web3swift/KeystoreManager/Classes/BIP32Keystore.swift; sourceTree = ""; }; + DA68C188563902BBADBF5288A07FA056 /* Pods-web3swiftExample-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-web3swiftExample-frameworks.sh"; sourceTree = ""; }; + DB25E5C7BD25CD7E53D639B210A1B4AC /* Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Promise.swift; path = Sources/Promise.swift; sourceTree = ""; }; + DBC471D81098384ACA05477FCAF96F28 /* secp256k1_ios.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ios.h; path = secp256k1_ios/secp256k1_ios.h; sourceTree = ""; }; + DC27BAB5F87E71098FCC3B49E257E226 /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Configuration.swift; sourceTree = ""; }; + DC66B1C4A5263CB1B1CA7B87AA49418F /* web3swift-Bridging-Header.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "web3swift-Bridging-Header.h"; path = "web3swift/web3swift-Bridging-Header.h"; sourceTree = ""; }; + DE534FDA36211FEA618C63A4A7779CF5 /* Web3+Personal.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Personal.swift"; path = "web3swift/Web3/Classes/Web3+Personal.swift"; sourceTree = ""; }; + DF11D2FEEDD0F5C59F1823F81B0D54DA /* SipHashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHashable.swift; path = SipHash/SipHashable.swift; sourceTree = ""; }; + DF874BF9CCC77EB83F09D12A4308C68B /* scalar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar.h; path = secp256k1_ios/src/scalar.h; sourceTree = ""; }; + DFEE82FC5B9EEB2D9735B3D3FFF8E2C7 /* eckey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey.h; path = secp256k1_ios/src/eckey.h; sourceTree = ""; }; + E0D132AD733102F963CAD5D649C4788F /* Promise+HttpProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+HttpProvider.swift"; path = "web3swift/Promises/Classes/Promise+HttpProvider.swift"; sourceTree = ""; }; + E149422ED5FBFBBFDF869F5267A3CFED /* Web3+Eth+ObjC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Eth+ObjC.swift"; path = "web3swift/ObjectiveCbridge/Classes/Web3+Eth+ObjC.swift"; sourceTree = ""; }; + E1B553971FDAECBA58CE3B063C9A66F5 /* field_10x26_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26_impl.h; path = secp256k1_ios/src/field_10x26_impl.h; sourceTree = ""; }; + E440C4B74B44A098160068C009BA588B /* Pods-web3swiftExample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swiftExample-dummy.m"; sourceTree = ""; }; + E57F88566F2750F3697639B5C501F8F3 /* join.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = join.m; path = Sources/join.m; sourceTree = ""; }; + E69B0EEC45372ADC020F4E2957A210D2 /* field_5x52_asm_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_asm_impl.h; path = secp256k1_ios/src/field_5x52_asm_impl.h; sourceTree = ""; }; + E7216ACED116DF927E827ACB9E2DF163 /* SHA1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA1.swift; path = Sources/CryptoSwift/SHA1.swift; sourceTree = ""; }; + E7AE5E3A63DD4DE3E3574F245EBBFC95 /* Primitive Types.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Primitive Types.swift"; path = "SipHash/Primitive Types.swift"; sourceTree = ""; }; + E87FE10BF7C41955C696DDC801AD6226 /* Pods-web3swiftExample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swiftExample-acknowledgements.plist"; sourceTree = ""; }; + E98004D90CCD1AE45753F3C16B45091F /* scrypt.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = scrypt.xcconfig; sourceTree = ""; }; + E991F14402D14DBCE758C2C453DA2F7D /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = Sources/Error.swift; sourceTree = ""; }; + E99567F75AA85FF9096F7D24934C554A /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = Sources/CryptoSwift/Utils.swift; sourceTree = ""; }; + EA92C153CAE76CB71780322E95F9393B /* Blowfish+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Blowfish+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift"; sourceTree = ""; }; + EADF759D706E073C79D0A75908F5DB72 /* race.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = race.m; path = Sources/race.m; sourceTree = ""; }; + EB19FD3AC66BF80876825B3A4F1F66B3 /* SipHash.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SipHash.framework; path = SipHash.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EB97BCB1F8ADDFB1DA7B46904EFEB297 /* RLP.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RLP.swift; path = web3swift/Utils/Classes/RLP.swift; sourceTree = ""; }; + EC3E819145FD9E56DA10F219A9155D0B /* String Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String Conversion.swift"; path = "sources/String Conversion.swift"; sourceTree = ""; }; + EC8B5678B1206B79D7DFCE48E8DC433D /* Addition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Addition.swift; path = sources/Addition.swift; sourceTree = ""; }; + ED2C60159DC5CDC64E9C76793B692956 /* Result-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-umbrella.h"; sourceTree = ""; }; + EF0A571C3D738760D77BE44DC3DBF459 /* BlockEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockEncryptor.swift; path = Sources/CryptoSwift/BlockEncryptor.swift; sourceTree = ""; }; + EF7EB2244879158182404A5CE01A6DA3 /* scrypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scrypt.h; path = scrypt/scrypt.h; sourceTree = ""; }; + EFDEB675E0A92FD109E8578E45A910EB /* Square Root.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Square Root.swift"; path = "sources/Square Root.swift"; sourceTree = ""; }; + EFF38E25FE5AA4DFD2E84286D4EE29E3 /* Hashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Hashable.swift; path = sources/Hashable.swift; sourceTree = ""; }; + F0504F5A28A5B671EFD041FFF39ECCD1 /* secp256k1_ecdh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ecdh.h; path = secp256k1_ios/include/secp256k1_ecdh.h; sourceTree = ""; }; + F09D086B85A197C3C12AF8FC32888844 /* lax_der_privatekey_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_privatekey_parsing.h; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.h; sourceTree = ""; }; + F14BD8371C5BD953ACEA2EC348DF108F /* Collection+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Collection+Extension.swift"; path = "Sources/CryptoSwift/Collection+Extension.swift"; sourceTree = ""; }; + F1EE218B7D030099B8EF4244294877BA /* libsecp256k1-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "libsecp256k1-config.h"; path = "secp256k1_ios/libsecp256k1-config.h"; sourceTree = ""; }; + F26C7D8E758DAAE0AE9602235489A452 /* GCD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCD.swift; path = sources/GCD.swift; sourceTree = ""; }; + F2A78FCC4EF319B19E3793B5E9793FB6 /* ABIv2Decoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ABIv2Decoding.swift; path = web3swift/ABIv2/Classes/ABIv2Decoding.swift; sourceTree = ""; }; + F368BDEF8D570DA31892DE78BFAFEC69 /* Web3+HttpProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+HttpProvider.swift"; path = "web3swift/Web3/Classes/Web3+HttpProvider.swift"; sourceTree = ""; }; + F42BF4C6F2E4A124889A4EF8AF5CEB7D /* Comparable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Comparable.swift; path = sources/Comparable.swift; sourceTree = ""; }; + F5A23401BDDA896B8128FE62F073EB4C /* Promise+Web3+Eth+GetBlockByNumber.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockByNumber.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByNumber.swift"; sourceTree = ""; }; + F5CFD5714E4C2267C41E1D20D96A6432 /* Result.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Result.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F689778FFDCF60FE0330895D2FF579D3 /* ChaCha20+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ChaCha20+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift"; sourceTree = ""; }; + F73C2F6E4737EA189FC60DD089E7FF2F /* SipHash.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SipHash.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F78DD3E0F25108732A8209B2470BB51A /* Checksum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Checksum.swift; path = Sources/CryptoSwift/Checksum.swift; sourceTree = ""; }; + F87BEFD39CCEE24503E65946D2C28F34 /* GCM.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCM.swift; path = Sources/CryptoSwift/BlockMode/GCM.swift; sourceTree = ""; }; + F8C22382C482B8DB731B8A6B3B5618A5 /* lax_der_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_parsing.c; path = secp256k1_ios/contrib/lax_der_parsing.c; sourceTree = ""; }; + F97510E9053BA812A0D125583C319128 /* Data Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data Conversion.swift"; path = "sources/Data Conversion.swift"; sourceTree = ""; }; + FA42AFA594E6D56EC46F6E754CBDA708 /* Scrypt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scrypt.swift; path = scrypt/scrypt/Scrypt.swift; sourceTree = ""; }; + FA6B0C20639EFF1F778E27935D0273C4 /* CBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBC.swift; path = Sources/CryptoSwift/BlockMode/CBC.swift; sourceTree = ""; }; + FAB3F8944868A08EDAFE81B3CE257C46 /* CoreImage.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreImage.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/CoreImage.framework; sourceTree = DEVELOPER_DIR; }; + FB8B88BBCDA33902573936676AF560B3 /* NSNotificationCenter+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSNotificationCenter+Promise.swift"; path = "Extensions/Foundation/Sources/NSNotificationCenter+Promise.swift"; sourceTree = ""; }; + FC53C9C956E2390F9B8020E114BAEF38 /* field_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_impl.h; path = secp256k1_ios/src/field_impl.h; sourceTree = ""; }; + FCC2FE29E9996BD207285015889B3279 /* Web3+Protocols.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Protocols.swift"; path = "web3swift/Web3/Classes/Web3+Protocols.swift"; sourceTree = ""; }; + FCE7FE3A8096914EF9B8E43AE1000416 /* PKCS5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS5.swift; path = Sources/CryptoSwift/PKCS/PKCS5.swift; sourceTree = ""; }; + FD20AF7008A9F71D298E2252FDF9EB7B /* CMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CMAC.swift; path = Sources/CryptoSwift/CMAC.swift; sourceTree = ""; }; + FD29F1C88C4C182E528EFD16775B5E6B /* Promise+Web3+Eth+GetBlockByHash.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Promise+Web3+Eth+GetBlockByHash.swift"; path = "web3swift/Promises/Classes/Promise+Web3+Eth+GetBlockByHash.swift"; sourceTree = ""; }; + FDC8C3143E181D6248738187393BEA40 /* UIView+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Promise.swift"; path = "Extensions/UIKit/Sources/UIView+Promise.swift"; sourceTree = ""; }; + FDF08EF7DB1DC3328291CCE00283F043 /* BloomFilter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BloomFilter.swift; path = web3swift/Transaction/Classes/BloomFilter.swift; sourceTree = ""; }; + FE41274C9D04818CA1D824916BD156D5 /* Web3+Contract.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Web3+Contract.swift"; path = "web3swift/Web3/Classes/Web3+Contract.swift"; sourceTree = ""; }; + FF4AB01A6E765207693D4AE0D5902553 /* Shifts.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Shifts.swift; path = sources/Shifts.swift; sourceTree = ""; }; + FF7884454DEDC6025D2DF234BCEE6953 /* Prime Test.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Prime Test.swift"; path = "sources/Prime Test.swift"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 0537F34931CD1EAF1B45F6B72325E869 /* Frameworks */ = { + 043A44B6F07B17B9FDB237C80C547215 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + FAF78D494C90276099BA6AA47428EE5C /* Foundation.framework in Frameworks */, + C14B28E1B085DB351DDFC83187893EAD /* SipHash.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 074822914DA50BC43B6AB0802CD935A2 /* Frameworks */ = { + 6DE49A014A16E0AFD0494C806BA96F84 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 34053DDDE72FFDD5416B487A059EA9AC /* Foundation.framework in Frameworks */, + F09F00F07E2F895F0040C7708F92DC3E /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 18C5ABD1C406C832B0DD15AA82CC41C4 /* Frameworks */ = { + 6FC7B3E7CF91B31F891E43A08C404AF9 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 2256B334FEE938FC8542089190F86ABF /* CryptoSwift.framework in Frameworks */, + DC5FDEAAF77A7BB4CB1E87E269C37A3B /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 21FA9C90304F8596C9EE0647F7C9E1EE /* Frameworks */ = { + 78115CACE66B77DE366E00E2252C43A0 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + A6774EE973107CFC27CFEC8F9DB19B67 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 325A85FC0CD5BCF38ADE42EE7531C2A2 /* Frameworks */ = { + 8271C77EA6CE678CDE80B46374424116 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + A35C39D02474ECA3DCFBA3774BC0ED7C /* BigInt.framework in Frameworks */, + A835BB4E4C19FF94F08394E2CF87FBF1 /* CoreImage.framework in Frameworks */, + 6096AEBF1D98A5660AD58DB451ACBFB3 /* CryptoSwift.framework in Frameworks */, + C835056C3477C1D835D811DD61817967 /* Foundation.framework in Frameworks */, + A6149451448E82A46450F264A0C0148B /* PromiseKit.framework in Frameworks */, + FD62D2BEE5596C80F812988613AE3192 /* Result.framework in Frameworks */, + 8DCCC8BA282404D40D84A0F4C94A3A6C /* scrypt.framework in Frameworks */, + 8454391CB46652B78B6AFC504F09067F /* secp256k1_ios.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 76402B5CC42ABD207A9C81A6A4712B42 /* Frameworks */ = { + C813DA1EDF2A4C65DFBAF18A02E0019B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 0DA073582D93FDE5AD558D56BE5F3743 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 841B7B892F8C57CBEF5FB03AC753C3AB /* Frameworks */ = { + CA9DF7FB0BA9F12FA7DB48B07D7EDDAC /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 2E830391D5F11F6AB9F33366A403C0F3 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 90440DC7AC48BE32148838250163B5C1 /* Frameworks */ = { + D1D2E3112C8952F649A1AA6C2A244398 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + B6CCB228AB6B127FE1F963FDF204B2F3 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - A7F757D73E3A0EC9C2E23F63AE6289BE /* Frameworks */ = { + E1DF5266F8CECC485159ADD3E8DDAD61 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + F024A5E674F3608FC07B7002FE0FB19B /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0F8D2E47FE03D3B91B51069F7C273AF4 /* Frameworks */ = { + 107E07CD6026F30E1767695C2FE214AA /* scrypt */ = { isa = PBXGroup; children = ( + B8B307D4E26840540E204782630D463C /* BufferStorage.swift */, + 3300B7C7FE5D1D9B98E0EB72BAAEC209 /* Cimpl.c */, + 27194B847928F8AF60CE9A6A913D8EAB /* Cimpl.h */, + AB21E2AB71A28225AD43E56B69612A2E /* Salsa.swift */, + EF7EB2244879158182404A5CE01A6DA3 /* scrypt.h */, + FA42AFA594E6D56EC46F6E754CBDA708 /* Scrypt.swift */, + 6DD677FEC0164B14D5B9C8626429493A /* Support Files */, ); - name = Frameworks; + name = scrypt; + path = scrypt; sourceTree = ""; }; - 13D5D7E73E0B240AA6FDA2C2D714D909 /* PromiseKit */ = { + 14EB0EFF1C1B886F9D37301476AB8061 /* iOS */ = { isa = PBXGroup; children = ( - 5E39DB4468217B8D450F69FACC4551D0 /* CorePromise */, - CA3D3C1EBFFC7D898A27E843C5439CE0 /* Foundation */, - F0821097ACC5C2B11943D823DDAB40BF /* Support Files */, - FFF8EAFC7FE4BFDD7276AFA7EF2810BE /* UIKit */, + FAB3F8944868A08EDAFE81B3CE257C46 /* CoreImage.framework */, + 9BC92AB3E8B43B6FEFE7AB4748793AE7 /* Foundation.framework */, + 017C3C0F878AD51DED5CBADD10EF9AA8 /* UIKit.framework */, ); - name = PromiseKit; - path = PromiseKit; + name = iOS; sourceTree = ""; }; - 17DCDE0D99696B7889B5B8C2A38BEEDE /* Result */ = { + 14F4CA37F0D910DFAAF7E02FD2E7CF98 /* UIKit */ = { isa = PBXGroup; children = ( - CCD3FB4606DD884C6F35F97D863A296F /* AnyError.swift */, - 598C899118EB120568F6595B3CA4CF62 /* NoError.swift */, - 69DD73C0AA680B56241490A79FDB334B /* Result.swift */, - 414BCF28F898344A3ACB4CFA9EAC0C6A /* ResultProtocol.swift */, - FF10E37F76B00A6FA631924E5B1455B8 /* Support Files */, + AAB55717467B6E1C5DC461B186D34505 /* PMKUIKit.h */, + D0A9DDA2F0156D188BEFF81EBEE38903 /* UIView+AnyPromise.h */, + 33C9F06AC6D082FC66126F531BBC3E3F /* UIView+AnyPromise.m */, + FDC8C3143E181D6248738187393BEA40 /* UIView+Promise.swift */, + A518522A431DA29C6EAB22C89220F3D3 /* UIViewController+AnyPromise.h */, + B0C8BA06101F357C799BC88E5081257A /* UIViewController+AnyPromise.m */, + 2F3B8889D0D18DEF2CF5F05EFCE9F568 /* UIViewPropertyAnimator+Promise.swift */, ); - name = Result; - path = Result; + name = UIKit; sourceTree = ""; }; - 24756851651A12FD68D67F6ED528DB92 /* Support Files */ = { + 1A9EFC5B1063CE4DE1F57CC719825B71 /* secp256k1_ios */ = { isa = PBXGroup; children = ( - FC2F9C9C1C2C85E089F281E24A59A511 /* scrypt.modulemap */, - 2E25A4BC37421B57AB6AFC5F6B21A519 /* scrypt.xcconfig */, - 132EEA6FACDEAEC8CD7FD1339E7D9008 /* scrypt-dummy.m */, - 20CDC39702A75FA362AF09280907A20B /* scrypt-prefix.pch */, - 66A0A452A31539038312A19BDEC81AE1 /* scrypt-umbrella.h */, + 6EB4026359CE620C0114B424CBA5D40D /* basic-config.h */, + AE5EE930804B944DB46E6C6221E7B4C4 /* ecdsa.h */, + 0D99B05CD6515234D9A52524E78779C4 /* ecdsa_impl.h */, + DFEE82FC5B9EEB2D9735B3D3FFF8E2C7 /* eckey.h */, + 6153FF45F92075AB612127F5BACFD9A6 /* eckey_impl.h */, + 2DDFDF55E7005DEBC91225828C76BDB4 /* ecmult.h */, + 48EB818C63ADD7AC3471D41B7FEFBEDE /* ecmult_const.h */, + 6B2D0E063799E56A90B8804B84308E65 /* ecmult_const_impl.h */, + 3404AAEF07BB50E914AAA75416AF8556 /* ecmult_gen.h */, + 93F85B21BC57EE24795630B658B179F0 /* ecmult_gen_impl.h */, + 2377E7F5F6E1B9EAA04A11FB9329ECF5 /* ecmult_impl.h */, + 30B04630329D72AB07A6571B0E35368B /* field.h */, + 7857CCE04CD7E06C41D8CFAD0FF6486A /* field_10x26.h */, + E1B553971FDAECBA58CE3B063C9A66F5 /* field_10x26_impl.h */, + A03CE4B278E0C83715E59182E1F70067 /* field_5x52.h */, + E69B0EEC45372ADC020F4E2957A210D2 /* field_5x52_asm_impl.h */, + C9E535CC3B56DF96BD33013093E21D6B /* field_5x52_impl.h */, + 7A09EE23C660A1403809F462D2A1C0B7 /* field_5x52_int128_impl.h */, + FC53C9C956E2390F9B8020E114BAEF38 /* field_impl.h */, + D460F9A266BE2FC2769DCC397350234B /* group.h */, + D606FC0EE4EE3BC0BB4A1413AD91A5E2 /* group_impl.h */, + 01542E21EB2EEDA093596518918486A4 /* hash.h */, + BA56A6B6D3AA5CCAABD3A9421FF1FC9E /* hash_impl.h */, + F8C22382C482B8DB731B8A6B3B5618A5 /* lax_der_parsing.c */, + 7F20F56831A09E0B4A45D3E47576CF42 /* lax_der_parsing.h */, + 7AE9359608C045D06EB2204BF13F3E78 /* lax_der_privatekey_parsing.c */, + F09D086B85A197C3C12AF8FC32888844 /* lax_der_privatekey_parsing.h */, + F1EE218B7D030099B8EF4244294877BA /* libsecp256k1-config.h */, + B5AE0CE423C25CAF8DDEF32FE109DD36 /* main_impl.h */, + 569540840E89CA743338311B4EAAC218 /* main_impl.h */, + 1BC6B91E0252F62A5E5F43F9AA236607 /* num.h */, + 3AB84887CB548044F04C66D21491F30C /* num_gmp.h */, + 10E6CC65707B2EBCD6BD73088BB3B221 /* num_gmp_impl.h */, + 78D5360A2EE87EB571652044CCFFCDDC /* num_impl.h */, + DF874BF9CCC77EB83F09D12A4308C68B /* scalar.h */, + 12ADBF373A266E4D41DC6FC96C0A5C25 /* scalar_4x64.h */, + D0280A8B81447E72F8900FAC8DC255B5 /* scalar_4x64_impl.h */, + A7B345CA772E8DBD55A2E927CBA8604A /* scalar_8x32.h */, + 72070A5E4D81C0DC66FD2630AB64FC35 /* scalar_8x32_impl.h */, + C88308E23ACC16B283556A5CA6AC322F /* scalar_impl.h */, + 8A95DBF14B5B5C4080A5984C12B11FB1 /* scalar_low.h */, + 6158BF72A61B2B3CE2240025C34B8A23 /* scalar_low_impl.h */, + 319DEB9643FEFA6C0B1D8706C28879A3 /* scratch.h */, + 7E849077E96B6057FFFCBFE60E29E639 /* scratch_impl.h */, + 2296888E4B0AF0932F150F5D557DD816 /* secp256k1.c */, + 926206F9931948DD8CBFD7D9EABD033C /* secp256k1.h */, + F0504F5A28A5B671EFD041FFF39ECCD1 /* secp256k1_ecdh.h */, + DBC471D81098384ACA05477FCAF96F28 /* secp256k1_ios.h */, + 98F7CA5B3DED455C4A7996A4D4163AA0 /* secp256k1_recovery.h */, + B2087493B84529EC925CD96B6E28CEDD /* util.h */, + 8C073E76EFC212F9A8B6C02E168D5CA4 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/scrypt"; + name = secp256k1_ios; + path = secp256k1_ios; sourceTree = ""; }; - 33548EC949E8B683284D35310869DD50 /* Pods-web3swiftExample */ = { + 1D5A330E329F910A6C6B734E96990F3F /* web3swift */ = { isa = PBXGroup; children = ( - 99FD9803A2BF705DFA95E8CFE488F5D5 /* Pods-web3swiftExample.modulemap */, - 766D24708AC3AAE11C1368CEAEB4EA5C /* Pods-web3swiftExample-acknowledgements.markdown */, - 1783AE3ABADA5096BE70D5939EE58E22 /* Pods-web3swiftExample-acknowledgements.plist */, - 9EE64A9528FF128B9020101AA65FE4AB /* Pods-web3swiftExample-dummy.m */, - 421B749E58F87E0C839D613211A2D0D6 /* Pods-web3swiftExample-umbrella.h */, - 2A3B82C924810D565EACB8DD0250AF2F /* Pods-web3swiftExample.debug.xcconfig */, - F3DB5983D5328F395EC023B6F7BA9412 /* Pods-web3swiftExample.release.xcconfig */, + A997EBF435A0C1763556BA8793373E65 /* ABIv2.swift */, + F2A78FCC4EF319B19E3793B5E9793FB6 /* ABIv2Decoding.swift */, + 783C789DDF22F7B1CD81D5223F61B0AD /* ABIv2Elements.swift */, + 2BAB8972F826F08F2AF2878A15874107 /* ABIv2Encoding.swift */, + 28FFFC9BD859F58312467FAB0ADBE711 /* ABIv2ParameterTypes.swift */, + C0675963B7F5BBBCE7B3FEACD46F1059 /* ABIv2Parsing.swift */, + 4ABD85E6008589BB486729FDD20F2263 /* ABIv2TypeParser.swift */, + 07B36EAF62DEBCA4E85EC353970A217E /* AbstractKeystore.swift */, + B27AAE202915C26D30FF0AB6D511C2A5 /* Array+Extension.swift */, + 82DA4B0181B2D7385FE66132570022B0 /* Base58.swift */, + 6CC48F7531359D8D25C876099C73CD53 /* BigUInt+ObjC.swift */, + D5A8E66DCCDCF6FE84240BC74547E057 /* BIP32HDNode.swift */, + D881EFCF8C8321AF82D7B1E16080EED1 /* BIP32Keystore.swift */, + 14DEE56FE9FEE65882DAFFD2A00048C6 /* BIP32KeystoreJSONStructure.swift */, + 1470FE533DA2633F1A66FDDDB7B7E280 /* BIP39.swift */, + B4E57C780B6DC73DDE512C89289D7C6D /* BIP39+WordLists.swift */, + 98D040F49C5324D284DD9F2514B31740 /* BlockExplorer.swift */, + AB45C8770EE42F74BECA341A582A9813 /* BlockExplorer+GetTransactionHistory.swift */, + FDF08EF7DB1DC3328291CCE00283F043 /* BloomFilter.swift */, + 3BB6725C03A0E4193BC3CE2081AED530 /* ComparisonExtensions.swift */, + B879FC9FF02959F80112A1028330B1C4 /* ContractABIv2.swift */, + 343BA041D669379F08B4BA7E48C7BF65 /* ContractProtocol.swift */, + 8BD2E83F8EC164E54CDED400AD9CFFE0 /* CryptoExtensions.swift */, + D2CFB442CB244B69C89D6C0651E21E9D /* Data+Extension.swift */, + A0C7EF8D801C5AF4AB0F1802971A0768 /* Dictionary+Extension.swift */, + 03C1C7040F24F41655E6559346C1E313 /* EIP67Code.swift */, + 986FB1624E314E5F2E9F13EF4B8175CB /* EIP681.swift */, + D4C991E8454B8E94B54C310E76276DDD /* ENS.swift */, + 7EF9F4D741B2D1D2C8FCD47B3152DA9A /* EthereumAddress.swift */, + 192224DB4709FB6A4273807EFBCDCBD4 /* EthereumAddress+ObjC.swift */, + 62C2D8DAB77DC8A25C4E449BC300AFDA /* EthereumFilterEncodingExtensions.swift */, + 0555E01E3A109C44BDC8D3F72BC8BDBD /* EthereumKeystoreV3.swift */, + 5628BB0370E6607CB7726B6ED62CA7E7 /* EthereumTransaction.swift */, + 80252C1601887FBAA6A92A7774A1AFE9 /* EventFiltering.swift */, + 8C1AB9A135AD942B8A7A7B281141EB93 /* IBAN.swift */, + 0AED2A5ABC55B2E2852BAB3E48BE6124 /* KeystoreManager.swift */, + 14D6ECE7EE1EC56E855EB8089B581FE7 /* KeystoreManager+ObjC.swift */, + A7D5037585515D7D31ABCC390E523DCE /* KeystoreV3JSONStructure.swift */, + 00F18ED0F07AAD5FD3142707A5EEB7E4 /* LibSecp256k1Extension.swift */, + CD3A802B0EBBDBABC284E77D0173F524 /* NameHash.swift */, + 67DB53803B8AFF12F28E47500E5FA4D5 /* NativeTypesEncoding+Extensions.swift */, + C8CDF9DE89CE405CCA08750BE0B93C09 /* NSRegularExpressionExtension.swift */, + 17FF07C284C525895497483DCD35E62F /* PlainKeystore.swift */, + 41455399C8B4A289650ADB5856F86D5E /* PlainKeystore+ObjC.swift */, + 1DE42A2863AE2DBF2428DD725882E73F /* Promise+Batching.swift */, + E0D132AD733102F963CAD5D649C4788F /* Promise+HttpProvider.swift */, + A964E878B714B85BFFB78FE9A1D48601 /* Promise+Web3+Contract+GetIndexedEvents.swift */, + CB88C6871FFA8E2AEC4C11D2134C8505 /* Promise+Web3+Eth+Call.swift */, + 6851DCEA08736B9FD49677B930D804B9 /* Promise+Web3+Eth+EstimateGas.swift */, + 703E60310515C9DAE5C5B44D4ADEF09D /* Promise+Web3+Eth+GetAccounts.swift */, + D5C02D3C50FB98C143D745510D16219A /* Promise+Web3+Eth+GetBalance.swift */, + FD29F1C88C4C182E528EFD16775B5E6B /* Promise+Web3+Eth+GetBlockByHash.swift */, + F5A23401BDDA896B8128FE62F073EB4C /* Promise+Web3+Eth+GetBlockByNumber.swift */, + 8F8C6DCFB940EB1AE8254FC269A0EBE9 /* Promise+Web3+Eth+GetBlockNumber.swift */, + 47F253E5C15DCAA5F32728BF380B7FD3 /* Promise+Web3+Eth+GetGasPrice.swift */, + 4B857314AF2E96C8DA7CAAEFAEF1F7A8 /* Promise+Web3+Eth+GetTransactionCount.swift */, + BA0B3AE7019BDA95536AE5163FFCE31F /* Promise+Web3+Eth+GetTransactionDetails.swift */, + 51901516BECC0FFD77E736D256965599 /* Promise+Web3+Eth+GetTransactionReceipt.swift */, + C78A90EF1AC64CE7665CF433AE31CB4F /* Promise+Web3+Eth+SendRawTransaction.swift */, + 998D75A403FDA6A5E849C8AD8F7837D3 /* Promise+Web3+Eth+SendTransaction.swift */, + 099411A4987328A3637E16D55446C7C0 /* Promise+Web3+Intermediate+Send.swift */, + 99D3AA13FF0CF2C33FD2CB7EF9FE4214 /* Promise+Web3+Personal+Sign.swift */, + 3CD73B7D3181B0D94CE212502F3D74EE /* Promise+Web3+Personal+UnlockAccount.swift */, + 81DA673B05C77642F07D69EA4532425B /* RIPEMD160+StackOveflow.swift */, + EB97BCB1F8ADDFB1DA7B46904EFEB297 /* RLP.swift */, + 8FC0F0D599A825FC0C5FE165BCB8EB0A /* String+Extension.swift */, + A9C94A81A904A9492C86F03251F3F9A6 /* TransactionSigner.swift */, + 5E6BCC699F0A197E17875C4F23F79E33 /* Web3.swift */, + 1A48691ED7AB66A35E08ABFE8367B7EC /* Web3+BrowserFunctions.swift */, + FE41274C9D04818CA1D824916BD156D5 /* Web3+Contract.swift */, + BBEB3C1E2A88B6371BC0922D8F50C3B8 /* Web3+ERC20.swift */, + 792AC5301BC3E29E4EF8E519E96F1ECC /* Web3+Eth.swift */, + E149422ED5FBFBBFDF869F5267A3CFED /* Web3+Eth+ObjC.swift */, + A5950DAB6A6AF16598B547C61614F67F /* Web3+EventParser.swift */, + F368BDEF8D570DA31892DE78BFAFEC69 /* Web3+HttpProvider.swift */, + 23101CE8BFD9EF3690B3991301140D48 /* Web3+HttpProvider+ObjC.swift */, + CC7F30FF1F8C2624985ED76AFEF7343F /* Web3+Infura.swift */, + 17623569C850BA2E2564795979DFDB57 /* Web3+Instance.swift */, + 44D07ED0C754D51CF6C2BC1702DD564E /* Web3+Instance+ObjC.swift */, + A0B4DEDF5D53AB822C732F43AFB83EA6 /* Web3+JSONRPC.swift */, + 5114E6B22DBDF708ECE7C3019E5D6106 /* Web3+Methods.swift */, + 793565E05F87C940B4D333C65EBEDE8B /* Web3+ObjC.swift */, + 3A402FB6C488D91DF67F023381022997 /* Web3+Options.swift */, + DE534FDA36211FEA618C63A4A7779CF5 /* Web3+Personal.swift */, + FCC2FE29E9996BD207285015889B3279 /* Web3+Protocols.swift */, + 0E5FFF2ADF7334E4256CFC9542594671 /* Web3+Structures.swift */, + 1D88868F549DDDA1E4CA1095EF79FAC5 /* Web3+TransactionIntermediate.swift */, + 10F89C677C577204A26019CC289B1E94 /* Web3+Utils.swift */, + 9A6CCBF638311206CEFF4108D56E0D6C /* Web3+Wallet.swift */, + 8ABD49EF51122D8FA6197117E9244422 /* web3swift.h */, + DC66B1C4A5263CB1B1CA7B87AA49418F /* web3swift-Bridging-Header.h */, + 6F2C6A60A26A66D8239F6B553FAAF74E /* Support Files */, ); - name = "Pods-web3swiftExample"; - path = "Target Support Files/Pods-web3swiftExample"; + name = web3swift; + path = web3swift; sourceTree = ""; }; - 34102ACBD9DC50BE768CCB1D30FAF725 /* Pods */ = { + 2733804763CE59AA43D291B9FE779E33 /* SipHash */ = { isa = PBXGroup; children = ( - 8C4F6A68B928286669ED354765AADBC4 /* BigInt */, - 782D405DD9684C4993D80097C661CF74 /* CryptoSwift */, - 13D5D7E73E0B240AA6FDA2C2D714D909 /* PromiseKit */, - 17DCDE0D99696B7889B5B8C2A38BEEDE /* Result */, - 91BB93276B3795A29DB4FA077042A369 /* scrypt */, - CA45BC40F829FDA2D73BA9681C3F94C8 /* secp256k1_ios */, - 55BFDEAA1CAE3CA920202AFFAAF2F058 /* SipHash */, - AB4CFD4D1BF889729C2D139EDC2212A7 /* web3swift */, + E7AE5E3A63DD4DE3E3574F245EBBFC95 /* Primitive Types.swift */, + 421EFAA21C55AAB5DBB49F3C8F2D1551 /* RandomUInt64.swift */, + DF11D2FEEDD0F5C59F1823F81B0D54DA /* SipHashable.swift */, + 98A2FBCCE443F266993B3935B6D04F58 /* SipHasher.swift */, + E748F76B23029F246A1B28D2C982B4F1 /* Support Files */, ); - name = Pods; + name = SipHash; + path = SipHash; sourceTree = ""; }; - 370542143BCDBB42A24BF4297594D4EE /* Support Files */ = { + 41AF95D80606C73980DD4A82DFB28369 /* Frameworks */ = { isa = PBXGroup; children = ( - 9C1BF0239536A2BCDF991B0D37C862CC /* secp256k1_ios.modulemap */, - 0E2E24E6150E5C09FCC81471D9E99B90 /* secp256k1_ios.xcconfig */, - BF9CD7996E9539414390F255AAE03851 /* secp256k1_ios-dummy.m */, - A37C37229B14679020F711CCFB377624 /* secp256k1_ios-prefix.pch */, - 1ADF7BA967B554C691C423EEA65EEFDA /* secp256k1_ios-umbrella.h */, + 092FDF7F6A0B07EA5F43A3E8652A2A11 /* BigInt.framework */, + 97BDBF4C5CA18216A7B59BE4733E8907 /* CryptoSwift.framework */, + 1A702E196081639CA2834C8EFC66EB60 /* PromiseKit.framework */, + F5CFD5714E4C2267C41E1D20D96A6432 /* Result.framework */, + CDE87D210458FFB601CC2F569131ACDE /* scrypt.framework */, + 81DE6AEFFC0C4855DC44FB339A0BDE6C /* secp256k1_ios.framework */, + F73C2F6E4737EA189FC60DD089E7FF2F /* SipHash.framework */, + 14EB0EFF1C1B886F9D37301476AB8061 /* iOS */, ); - name = "Support Files"; - path = "../Target Support Files/secp256k1_ios"; + name = Frameworks; sourceTree = ""; }; - 3E35F52F2F42C41ECF56153EED258566 /* Support Files */ = { + 48F295883AE990614A7DE9217550905F /* CryptoSwift */ = { isa = PBXGroup; children = ( - 829D5DC3C89D61D074F050F2057A4DD0 /* BigInt.modulemap */, - BAD8E2243595210891E90A221AD22915 /* BigInt.xcconfig */, - E639196F504CE0F26B4C3BE988D0753E /* BigInt-dummy.m */, - 13AF7186ED58867EA6E22302C659426E /* BigInt-prefix.pch */, - 7215A5A55F2FAB77E52827BDC972EEFC /* BigInt-umbrella.h */, + 0C6D5088382FE71F237781CCAA15029E /* AEAD.swift */, + 9554A1412BDC823D749F20DEFFDCE38E /* AEADChaCha20Poly1305.swift */, + 0E23DA5CE9BE03D67FA010C086FD8443 /* AES.swift */, + 59DEE9838482282D026880491D6A09B8 /* AES+Foundation.swift */, + 6A0D7C8248B11637C656458A2F76AA99 /* AES.Cryptors.swift */, + 4E642878C5D7B7E8AAF50ACE887F81C9 /* Array+Extension.swift */, + 880358145E7B982F9FCB5D316EB4DAB4 /* Array+Foundation.swift */, + AEE2227E4C836011E279D5A187A8C1EA /* Authenticator.swift */, + 73385F119353E84309DFB29961588151 /* BatchedCollection.swift */, + 8A4893E75518CE78AD46F09C2B0BCB86 /* Bit.swift */, + 5E4678722B01715F2B3716BD3AF97D05 /* BlockCipher.swift */, + 273095CE17C51A9F55E72F26385B33D1 /* BlockDecryptor.swift */, + EF0A571C3D738760D77BE44DC3DBF459 /* BlockEncryptor.swift */, + A04EB2E762C3C146021C34F31E991075 /* BlockMode.swift */, + A147CC10074D694F4FEDAD5C37A4345E /* BlockModeOptions.swift */, + 8F599A827CAE59ECD5DA613ADD1801A7 /* Blowfish.swift */, + EA92C153CAE76CB71780322E95F9393B /* Blowfish+Foundation.swift */, + FA6B0C20639EFF1F778E27935D0273C4 /* CBC.swift */, + 1446285C476D91623FFA25FFE16B2493 /* CFB.swift */, + 30D3D5E52087AC748C8081879D9C93E0 /* ChaCha20.swift */, + F689778FFDCF60FE0330895D2FF579D3 /* ChaCha20+Foundation.swift */, + F78DD3E0F25108732A8209B2470BB51A /* Checksum.swift */, + 3404310B6A67105860E0486EF8879528 /* Cipher.swift */, + A1A1E5950E2319371590A7F1B55689D0 /* CipherModeWorker.swift */, + FD20AF7008A9F71D298E2252FDF9EB7B /* CMAC.swift */, + F14BD8371C5BD953ACEA2EC348DF108F /* Collection+Extension.swift */, + 4AD2681608D7996F0B97567E76E38B0E /* CompactMap.swift */, + 0304AE8FA05319628AC1812E3E507A21 /* Cryptor.swift */, + 1651C3EB5087C3CF5294DBDA737440F2 /* Cryptors.swift */, + 206FB0DA1ED8B1EC1C34CCC55E7D0E38 /* CTR.swift */, + 8FC82B238B016E51FBE7F8F1C2462A73 /* Data+Extension.swift */, + 4770FB1CC45B404A730863A5BBDE8C9F /* Digest.swift */, + 28D14AA0CBC0F7D8CB4FE9994C3B4B48 /* DigestType.swift */, + 35D65B1B12252C4CDBEF210FE2DA6E52 /* ECB.swift */, + F87BEFD39CCEE24503E65946D2C28F34 /* GCM.swift */, + 6E13296A1B1E4B39699423E4D419FD51 /* Generics.swift */, + C26DBBDC4361A9A3D875862D9CDCC222 /* HKDF.swift */, + 064D539BBAF5825903014E2E42F019F4 /* HMAC.swift */, + 52989BD6A3046CDEC153D8C28451A374 /* HMAC+Foundation.swift */, + 63ECDB3BEF180F5E5465DF3D9196A913 /* Int+Extension.swift */, + 1DB40030A8982CFEEB33A6F735ECF86B /* MD5.swift */, + 7A25076F49F8EC969977B47A3D270973 /* NoPadding.swift */, + D7DB5E41B41743430F0D989437AD4091 /* OFB.swift */, + 45F2F797BEAEC4E38CE2D033EE44613C /* Operators.swift */, + 6CDD0D9B03D820E5086D9498D2D9DD67 /* Padding.swift */, + 716FEE6D4ADC494CA5E7323805A351DC /* PBKDF1.swift */, + B64A66E3159EDD6E2476105656E5B809 /* PBKDF2.swift */, + 4E59725DE3DCFD49F652BE2F16C05B26 /* PCBC.swift */, + FCE7FE3A8096914EF9B8E43AE1000416 /* PKCS5.swift */, + 36445A6F290DA01FBC4F26C0A5D31D70 /* PKCS7.swift */, + CB5830DCF5BE1BC265D8673C39D6ACFF /* PKCS7Padding.swift */, + B3ADFA503DA3512C3D7462CEBC3461E1 /* Poly1305.swift */, + 2A6FF6A14EF4D6724CFBFB93A4F4F681 /* Rabbit.swift */, + 9A40978EBB425827600AB1B975DAFEE5 /* Rabbit+Foundation.swift */, + 707432298CD4D86FB4904B22A030DBAD /* RandomBytesSequence.swift */, + 57C115113180DDD97A209C450A323C0E /* SecureBytes.swift */, + E7216ACED116DF927E827ACB9E2DF163 /* SHA1.swift */, + 11D360750D0388F4DDEA48C9C2C4CBA8 /* SHA2.swift */, + 4C5FE3E2EF6CCCB0A8CA29C7C6F63DEE /* SHA3.swift */, + 8270CDEF1F71C3CBE99FC3628AC3EBA7 /* StreamEncryptor.swift */, + 7D83A97A877542A2EC6DCA88DD2028EB /* String+Extension.swift */, + 3CD6B2B92DB312F13E1B847E31A1B602 /* String+FoundationExtension.swift */, + 2BBD7DF502B00E6CFC56DFE2C20E0D0D /* UInt128.swift */, + 2EAC8681CD7621782E51E812332E796A /* UInt16+Extension.swift */, + 44563320842BB46660FEE233AA4A38BD /* UInt32+Extension.swift */, + 40B4DEF14A7DE548CFEF7B62B06AF62D /* UInt64+Extension.swift */, + 67560E83D58D59D4B717878DC0D71057 /* UInt8+Extension.swift */, + 192204EBF8C806D42C01EE7BBCC7FAF5 /* Updatable.swift */, + E99567F75AA85FF9096F7D24934C554A /* Utils.swift */, + 8C327B5F182BF8DF005B76982E2419A2 /* Utils+Foundation.swift */, + D6781601E4B221AF8A6CB8901008CD34 /* ZeroPadding.swift */, + 51A69831EB6AE6FF0ABEC50EF3FA6B7B /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/BigInt"; + name = CryptoSwift; + path = CryptoSwift; sourceTree = ""; }; - 55BFDEAA1CAE3CA920202AFFAAF2F058 /* SipHash */ = { + 4FEAC0968FE5E1415CC44D443CCF7490 /* Foundation */ = { isa = PBXGroup; children = ( - E27EAF74BA22155644BF26D238704159 /* Primitive Types.swift */, - B71A2239207EC9A9FD4F65D23E822396 /* RandomUInt64.swift */, - A96630CA550118EAC05864B2C651DF35 /* SipHashable.swift */, - EDDE6BE27FBDE2D0053FF4448C47148D /* SipHasher.swift */, - DBB9FDC9200083588F83405D2F5E7525 /* Support Files */, + 0FFFCB7AB750F1408E71BE53B3D9C85E /* afterlife.swift */, + 196B6B93D2F28684E654A49D144415FF /* NSNotificationCenter+AnyPromise.h */, + 68CF1A1605BD327E75915D5F85D673FD /* NSNotificationCenter+AnyPromise.m */, + FB8B88BBCDA33902573936676AF560B3 /* NSNotificationCenter+Promise.swift */, + CF4B94ADE36B859A985CE20D9C9B4C1B /* NSObject+Promise.swift */, + B0DF79B993E5E4E742F07F91E5247FD4 /* NSTask+AnyPromise.h */, + B8FD1CF670C9D76982E36D9C7194D970 /* NSTask+AnyPromise.m */, + 9FBF4238285101EB5008F25E7C17DB9A /* NSURLSession+AnyPromise.h */, + A0B29A79F216917DB7C1E8D51E2B29AA /* NSURLSession+AnyPromise.m */, + 231C2D02CFF005D80CAD0308D882A69A /* NSURLSession+Promise.swift */, + B549029F7C08F93F71DBE300BDBEB3A5 /* PMKFoundation.h */, + 4BE0A0A33E52AD56332877241A1F5465 /* Process+Promise.swift */, ); - name = SipHash; - path = SipHash; + name = Foundation; sourceTree = ""; }; - 5E39DB4468217B8D450F69FACC4551D0 /* CorePromise */ = { + 51A69831EB6AE6FF0ABEC50EF3FA6B7B /* Support Files */ = { isa = PBXGroup; children = ( - 290AA67F142E07CC2C3BE60373077AAF /* after.m */, - 9C8EDCC12EBCA64B4D3B9C433300DD15 /* after.swift */, - 6850F16CFC2F18D10E4E30E73F0552A8 /* AnyPromise.h */, - 1C56A8FF9537CCF10D87B749E9F62732 /* AnyPromise.m */, - 329C9AA169E8289B92C3FEFDA41B215E /* AnyPromise.swift */, - A740FA5D5A7CC8E07FC8BA48D71D4558 /* Box.swift */, - F2B5D7FCD090BEF9FFFB3C684DCB1B18 /* Catchable.swift */, - 788557B540DA06D0AF67BA99AF689F4C /* Configuration.swift */, - CC990486D4C0CEEBBB80C141DC8AAF7C /* CustomStringConvertible.swift */, - 912B8C0B1FBC7A948BA82A00E7045D27 /* Deprecations.swift */, - 53053374B0830B4CF86F4E46A7232798 /* dispatch_promise.m */, - E91345FF5BDDF745793EEDF104FCDCB0 /* Error.swift */, - 1F4A3C614502E99D77C9651CF09BD01B /* firstly.swift */, - 20CB207C8B0FDA2529F2F5D253C4A534 /* fwd.h */, - F46ACB0433C87E504F733209EBE2BF33 /* Guarantee.swift */, - F4CE7F01DBF56348E5D752C5E4A2573C /* hang.m */, - 1DF8BA790BE9738632EE52265150D03A /* hang.swift */, - C7BFE272DA00B10F8102625518DEADB8 /* join.m */, - 6FA106D7CC1651054D660C68F23DE86E /* Promise.swift */, - 69CA1E92AD82C49EF237136039463B58 /* PromiseKit.h */, - 95F9DAFFDEA63060E250D163213F0C61 /* race.m */, - 45F782717284628C9976CC3513689E42 /* race.swift */, - 7C339595D926BED9A5D0167C24CDC4B8 /* Resolver.swift */, - F4FEF4545266F6206AEB6A317C63BDC2 /* Thenable.swift */, - E0ED08C56E8F5A2573652D57C0E00AB1 /* when.m */, - 6CAC92B61D9654425EE1338FD274CDAD /* when.swift */, + 48196F281BA919DA7663337369FF2F2E /* CryptoSwift.modulemap */, + 7953FD02CB8930FFAF01F2D9C9032454 /* CryptoSwift.xcconfig */, + B2EBC8972ED05B8027B86BA6C334EC53 /* CryptoSwift-dummy.m */, + 5880EBFDE3CDA613E195C8DB98E11E33 /* CryptoSwift-Info.plist */, + 358784469FD4600E5EB02F75BAF4163A /* CryptoSwift-prefix.pch */, + 4FB2C4AB5AF97836C7414A2306478544 /* CryptoSwift-umbrella.h */, ); - name = CorePromise; + name = "Support Files"; + path = "../Target Support Files/CryptoSwift"; sourceTree = ""; }; - 6165385505DECC06DFE831E3EAF3672E /* Support Files */ = { + 5DC23A0315A9ADEA0F73E88558E5D95E /* Support Files */ = { isa = PBXGroup; children = ( - 19B4E01A253286950C09A5669EF5781F /* CryptoSwift.modulemap */, - 3923B0035F9528F642633EABD2E39E97 /* CryptoSwift.xcconfig */, - 6987CE8539E8316A528A63024B5DC52C /* CryptoSwift-dummy.m */, - D91E3092AC45FADA1BD6F43737530A9C /* CryptoSwift-prefix.pch */, - 0D0BFE961FEE019F0474CC71591FBA21 /* CryptoSwift-umbrella.h */, + 760BFA726AD56024C4B56015DD4F59D0 /* PromiseKit.modulemap */, + 77A70D9FDCE012F5EE544AB6DF184E74 /* PromiseKit.xcconfig */, + D4795A3312AFD3CF4610B857D57F0DE7 /* PromiseKit-dummy.m */, + 39BB408B8F667DD11D993D29E0F0E69F /* PromiseKit-Info.plist */, + CD695AA8D5B0A6A6C74E09E40FD3F4CF /* PromiseKit-prefix.pch */, + 15FA67C83BE43CF3EF9C1E6D2E3989D0 /* PromiseKit-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/CryptoSwift"; + path = "../Target Support Files/PromiseKit"; sourceTree = ""; }; - 782D405DD9684C4993D80097C661CF74 /* CryptoSwift */ = { + 6DD677FEC0164B14D5B9C8626429493A /* Support Files */ = { isa = PBXGroup; children = ( - 735E74D1B58493E7131A357B28151246 /* AEAD.swift */, - B9CAE13A8BC055260DED74FDBDE2A710 /* AEADChaCha20Poly1305.swift */, - 0FDC70BC746BDB97351736B2E75A507F /* AES.swift */, - B1080142E5C98D83C6423ACA6241A5A6 /* AES+Foundation.swift */, - 78EB2D7AF07B5FB60C2DE1449E308285 /* AES.Cryptors.swift */, - 8991CD2A50906AF10EB4BDB7E932FAEF /* Array+Extension.swift */, - CFB2C7C3A237D8835945428FD197C62E /* Array+Foundation.swift */, - A7653D4CA3F95CD7C0BD5C5634BC8726 /* Authenticator.swift */, - EB2F2E4377859F7D681FE473B587053B /* BatchedCollection.swift */, - B2BB223B0460060F3F08F67C605E6971 /* Bit.swift */, - 0582381AC2421163F7FC6854DF81F48D /* BlockCipher.swift */, - 1FD0BFFC7C6E627BB86EE5C540F71341 /* BlockDecryptor.swift */, - 913CF4153E753730DC216ECBA138739A /* BlockEncryptor.swift */, - 4A898FF424BAA4A4E440EB964B7BB831 /* BlockMode.swift */, - D780067516C26611C3598987A7B875A8 /* BlockModeOptions.swift */, - 8AB539FAAC4756E9D732FC45FA73B7D3 /* Blowfish.swift */, - F568297D4D43D340BC0B85931EF3ECEB /* Blowfish+Foundation.swift */, - DB6386E81F459ED74E6BB3E8FA4FF3CE /* CBC.swift */, - 4079EF5F5CB33767D580095FD9CE038E /* CFB.swift */, - 29C001CC84817EC570F42EB843806088 /* ChaCha20.swift */, - 1416B00744E099B449B5484EB4FE66B9 /* ChaCha20+Foundation.swift */, - CFC18FE05DFD6D953716F8225BEC16A8 /* Checksum.swift */, - 046EE18AB153A100831CC08374F28865 /* Cipher.swift */, - AF39ECE02AE8493AAF47EDD68429E007 /* CipherModeWorker.swift */, - 5838F39185E3EAE8E18B70420E9A65E9 /* CMAC.swift */, - 75BBEA9589DE194D6D03679EDBDB8F36 /* Collection+Extension.swift */, - D0C5DCCE452FBA3A37BE4A3C6ECB9C33 /* CompactMap.swift */, - 1E2D99198D5B7D091C057148F3CDC4DC /* Cryptor.swift */, - 03180B6A770752FE7AF4453AE81CA412 /* Cryptors.swift */, - 4E7E12DF7A156B87C52342DADEF5F3D9 /* CTR.swift */, - 709E41B5FAC1DD8F9B55AF533813EFBB /* Data+Extension.swift */, - 5F61FB300C8C0447EB3B39E0D27DCC86 /* Digest.swift */, - 9E396C482D49D085DD8E5C6F1538A1B3 /* DigestType.swift */, - D6030A6AE80EF19BF46A279BA9B759C1 /* ECB.swift */, - 8A81B88260492B4477381A6A631B8D02 /* GCM.swift */, - 32117111790566596776609D1005CEF8 /* Generics.swift */, - D646DCC70198FD61095957E5652DEF33 /* HKDF.swift */, - E0EAE40505327D2CB02940BDEB3B21DC /* HMAC.swift */, - DA571FCCE0EC4EA1D6F0234A756DE463 /* HMAC+Foundation.swift */, - ED32FA320D4B20F774457FA9C15F4DD2 /* Int+Extension.swift */, - 4CAF79CEAC3F53315AED830078D52BA7 /* MD5.swift */, - CD0F82A7D2464AEF836A81F2E23371DD /* NoPadding.swift */, - 8C8FC8BC9825E5A78B2CDACAB1C7EAE7 /* OFB.swift */, - CFBD00269481FF629C0D75143D8ED5CB /* Operators.swift */, - 41C6D67293FF379F07747E16571D4A7B /* Padding.swift */, - 6E54F021F03B8254D3E0139DB1197C21 /* PBKDF1.swift */, - EADAE9DDDE266D2FA434262C25991F22 /* PBKDF2.swift */, - 4656C6F079843C6375DBFB8F3F149CD5 /* PCBC.swift */, - 2535CD8F39B0A548B8948A1D4DFCDA4C /* PKCS5.swift */, - 819DF3E764AD03A99AE1276773AA60D9 /* PKCS7.swift */, - 4A355B05B0BED16919207A4BD94258BA /* PKCS7Padding.swift */, - 850721D7FB7DE9412EBAADE3BE6A6532 /* Poly1305.swift */, - 50A505618B7794960687DBA4DE9404FD /* Rabbit.swift */, - D8287DF2117A869C0B6C9BC2CAAC80DD /* Rabbit+Foundation.swift */, - 8D699FB2D6E241D8DD3F2A527E0F732E /* RandomBytesSequence.swift */, - 39746AC697FEEA2BEB3737B0A0ADB594 /* SecureBytes.swift */, - DAFF5311E9BA57C195A3AF3540BB75A1 /* SHA1.swift */, - 729AEEED6FDD90CEDBADA5C6755B9536 /* SHA2.swift */, - 33DC10E06571EAC477A1E0EA68D6DDCC /* SHA3.swift */, - 078AF53D6A07F762432A2424B5D58161 /* StreamEncryptor.swift */, - A9D56D5E5F9EF5E2211C743FEDCBAADD /* String+Extension.swift */, - 6F4ED35987097AEB911D8C66F9DBBFB9 /* String+FoundationExtension.swift */, - CC203122F4CADEB96AD6DC31C9B89CD7 /* UInt128.swift */, - 976F6985F84517A349137181F3CBB38C /* UInt16+Extension.swift */, - 4147FE7BEB4CBD63C000B5CDFE1CE694 /* UInt32+Extension.swift */, - 1CFC32E2261053E3091FD1DCC05DF4D5 /* UInt64+Extension.swift */, - BC0FD9DB2AEDA0136A6B828690C3BE23 /* UInt8+Extension.swift */, - 63210423770306A042AA9FF3B458E4E7 /* Updatable.swift */, - 9E4C0E96E391A3A6478442E71331B4C8 /* Utils.swift */, - 14EB90988A4AD64E02B4BC0D410025D1 /* Utils+Foundation.swift */, - 5BC6637281B8A68F6FC9D03AD4BE8663 /* ZeroPadding.swift */, - 6165385505DECC06DFE831E3EAF3672E /* Support Files */, + 9A79309B24D8A8530113424A9369C8B6 /* scrypt.modulemap */, + E98004D90CCD1AE45753F3C16B45091F /* scrypt.xcconfig */, + 728F62119180B063304005EF9E109C72 /* scrypt-dummy.m */, + 524B42290B9A4F88D091689A5D402C4E /* scrypt-Info.plist */, + 6DECD15F168F64C6F6C8A1C193D7C1AC /* scrypt-prefix.pch */, + 0EF1C662C9485A5A72B33C4CD4E0CAD9 /* scrypt-umbrella.h */, ); - name = CryptoSwift; - path = CryptoSwift; + name = "Support Files"; + path = "../Target Support Files/scrypt"; sourceTree = ""; }; - 7DB346D0F39D3F0E887471402A8071AB = { + 6F2C6A60A26A66D8239F6B553FAAF74E /* Support Files */ = { isa = PBXGroup; children = ( - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - 0F8D2E47FE03D3B91B51069F7C273AF4 /* Frameworks */, - 34102ACBD9DC50BE768CCB1D30FAF725 /* Pods */, - 9D4E26DF6080ADCB389AB90D4A3DE678 /* Products */, - F5D91304DDB412ABC767B52A512077BF /* Targets Support Files */, + A688435DEDA890F22D74DEA0B4E38218 /* web3swift.modulemap */, + 4F92E92F01ED8E6C9F66CB063E0B54DD /* web3swift.xcconfig */, + 43E25994494B329B440C18037489E9DF /* web3swift-dummy.m */, + 337C4D4BFF2B5999D19FC37E638F4708 /* web3swift-Info.plist */, + 6C21482587A67BA39CA7974A927325E6 /* web3swift-prefix.pch */, + 5F5893B28387D9A3B3938E5EED54AD58 /* web3swift-umbrella.h */, ); + name = "Support Files"; + path = "../Target Support Files/web3swift"; sourceTree = ""; }; - 8C4F6A68B928286669ED354765AADBC4 /* BigInt */ = { + 7876869AA79AFDD4D8ED5A3466B54853 /* Targets Support Files */ = { isa = PBXGroup; children = ( - E035FE22D8FD996F3D0563F19CB710CE /* Addition.swift */, - 8FDA429500C1942B661A657EA51E45DD /* BigInt.swift */, - A9B7FC1C4BA7B43D989DB2B556486352 /* BigUInt.swift */, - AB5B6ACFABC7EC18ACEAA8633842A947 /* Bitwise Ops.swift */, - 347D7C773BE16C921C11062107552892 /* Codable.swift */, - 9008A60A0D23BDC48F41DFAA7F9FBA08 /* Comparable.swift */, - 2691542C5286F07821B7CD3CF161270A /* Data Conversion.swift */, - 1F01FE95147DDFFD02325C07A8F6783D /* Division.swift */, - DD0A982799C4459FD2E3166540B9A18D /* Exponentiation.swift */, - B4CD7FD8C56DD910536ADB36E1277B34 /* Floating Point Conversion.swift */, - 75B53B7D429106EC393E04CCE7E0FCF7 /* GCD.swift */, - 550AC365129396E2F60D5C364FA8B799 /* Hashable.swift */, - 6B2A909107AF59DD8B8759CFE5DC93C3 /* Integer Conversion.swift */, - 2F7C2F3619BC1AC64F8ABA62C7169C22 /* Multiplication.swift */, - 01B9F8302C27EEB6B1B175888E08664C /* Prime Test.swift */, - 7824C3291189F43DB7D1217F4967A4F2 /* Random.swift */, - 693EA8BE7F3922FAB6C8D9FB9B29DD52 /* Shifts.swift */, - 2E651A4C1D8411BB17C4D0A883ECCE95 /* Square Root.swift */, - 76C5EBB02B365D308E28575CC36D5CA0 /* Strideable.swift */, - 83028A48F74FCB58CD998F99671B2730 /* String Conversion.swift */, - B2742EF48D7A9BADD15DFA2028CDB4AD /* Subtraction.swift */, - 60BC0AB6A6A28CC649B0FF506918AB6F /* Words and Bits.swift */, - 3E35F52F2F42C41ECF56153EED258566 /* Support Files */, + 92FD85D74F4A9F4F7BE14DAB1B15C925 /* Pods-web3swiftExample */, ); - name = BigInt; - path = BigInt; + name = "Targets Support Files"; sourceTree = ""; }; - 91BB93276B3795A29DB4FA077042A369 /* scrypt */ = { + 7DB346D0F39D3F0E887471402A8071AB = { isa = PBXGroup; children = ( - EC96BFAF2B1203FC9CA3C40F8C68BE0A /* BufferStorage.swift */, - 264884CE631173016E083169227D349F /* Salsa.swift */, - EB90911DBCE2B6C999C122F3EC56E386 /* scrypt.h */, - B7BE49D1EB253D7DE7539B872CDAD284 /* Scrypt.swift */, - 24756851651A12FD68D67F6ED528DB92 /* Support Files */, + 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, + 41AF95D80606C73980DD4A82DFB28369 /* Frameworks */, + EC60F452D909C0B678417A1D26249E86 /* Pods */, + C2E5FB831D3D66B1ECB265D613AE4623 /* Products */, + 7876869AA79AFDD4D8ED5A3466B54853 /* Targets Support Files */, ); - name = scrypt; - path = scrypt; sourceTree = ""; }; - 9D4E26DF6080ADCB389AB90D4A3DE678 /* Products */ = { + 8C073E76EFC212F9A8B6C02E168D5CA4 /* Support Files */ = { isa = PBXGroup; children = ( - 11C3B3B474849C50B68C60D72D2A7ED4 /* libBigInt.a */, - 1827336AF5F51D580426EC596EF7357E /* libCryptoSwift.a */, - 17B0A033B10B035FFCCA80D2BE4C4839 /* libPods-web3swiftExample.a */, - 7D734165233A268ADD9C2C4EC0FBCB2D /* libPromiseKit.a */, - 4C5AB9A84E399C3C8F2ED978C0B4DD46 /* libResult.a */, - FDA88052388E64B0D79D3B4902DD4F7A /* libscrypt.a */, - 54A9032553D1C61F8E0154E2C0D53FD2 /* libsecp256k1_ios.a */, - 8FBB098F98DE89D1DE9C0EDB16C22E15 /* libSipHash.a */, - 25A7B1871BF03428A855BE688D20521E /* libweb3swift.a */, + AFBE806845DD167DC414CA9715309051 /* secp256k1_ios.modulemap */, + AC0A8F0EF2B67D8E377186D1D70E8F97 /* secp256k1_ios.xcconfig */, + 014042438B2D19CCAC6C5F00B1146C99 /* secp256k1_ios-dummy.m */, + 8226327992DEFCB5999614EAE8BBD2BA /* secp256k1_ios-Info.plist */, + B29D120DA2065F9B7F8010B82F877724 /* secp256k1_ios-prefix.pch */, + 2CA9201F6EFC3831E810979D81E598C6 /* secp256k1_ios-umbrella.h */, ); - name = Products; + name = "Support Files"; + path = "../Target Support Files/secp256k1_ios"; sourceTree = ""; }; - AB4CFD4D1BF889729C2D139EDC2212A7 /* web3swift */ = { + 92FD85D74F4A9F4F7BE14DAB1B15C925 /* Pods-web3swiftExample */ = { isa = PBXGroup; children = ( - E32EAD6B9FA7E7949B7E044DF88FAE25 /* ABIv2.swift */, - 3F07C5E878C387F3ABE98CE9E9CC042B /* ABIv2Decoding.swift */, - E33486FBAA345E14AD805DEC0E47A803 /* ABIv2Elements.swift */, - C79C70AB4E5DF69385497C717CEBFB75 /* ABIv2Encoding.swift */, - 5D57382F3D45CBD48EC909FE9F31DD25 /* ABIv2ParameterTypes.swift */, - AE50FC315B634183486EDEF0DBB59268 /* ABIv2Parsing.swift */, - A4DBB0B96A0D97186D0D275913EFB6F4 /* ABIv2TypeParser.swift */, - 91DC39A093E0AC3021796C0C881D7423 /* AbstractKeystore.swift */, - 78B7D9D842F7D0AA20338FB007081B95 /* Array+Extension.swift */, - 6295CFD25EA738F9FEF1FD0EE5FE0B06 /* Base58.swift */, - B4D0235918D0C322E2E83A50D0A2CD24 /* BigUInt+ObjC.swift */, - D22A1274D72F8069BBEBF15A847277B5 /* BIP32HDNode.swift */, - 573C281E9AC6356B325AD8D6510F60B7 /* BIP32Keystore.swift */, - 17030AF3741AF00A5A580D4345C62671 /* BIP32KeystoreJSONStructure.swift */, - B230E8C1B6762E788B76F2AA859FF02E /* BIP39.swift */, - 1B102B3CA88EB8D8489C8BD4E882B887 /* BIP39+WordLists.swift */, - 631CEB8A33B0BABC23841BB536628BFA /* BlockExplorer.swift */, - 316084C209096DC615680F3C10C4C605 /* BlockExplorer+GetTransactionHistory.swift */, - 39E4ECDC1C840F2E1D4F0634927F7BB7 /* BloomFilter.swift */, - 094419FE4BE23498B11CBA6A878600DF /* ComparisonExtensions.swift */, - CAB3B3DB7F29D6CDD16814E658597C38 /* ContractABIv2.swift */, - 4D8007518DBD2C969B8AF1A986FF45C9 /* ContractProtocol.swift */, - 5F227060DB927464FC9041C45A8FFB80 /* CryptoExtensions.swift */, - C9025BAAEE8CC693DC8E66CE52E77768 /* Data+Extension.swift */, - 3BB13364DA7A1C04B41722DD1B785D8E /* Dictionary+Extension.swift */, - C191C1B178EC68CC1E14B9012A443F62 /* EIP67Code.swift */, - 2CCD691C76047A933F592EC30383C674 /* EIP681.swift */, - 21563C94F3C303F058BA156A1F488535 /* ENS.swift */, - 7CB230DD879156CD4033668CEE509774 /* EthereumAddress.swift */, - E876079E09845BBA655ED734665C8A43 /* EthereumAddress+ObjC.swift */, - 0EDABCC9E8C9DBD6F0354ADD3FC0D47B /* EthereumFilterEncodingExtensions.swift */, - A740ACE88D9C0FCCAA9BF577B356D151 /* EthereumKeystoreV3.swift */, - B806FEEE8A1AD5FF1AB49E5928BBC3A3 /* EthereumTransaction.swift */, - 7535931BF67E66F8AAE328BEE0EC6A24 /* EventFiltering.swift */, - E3724656679C0E551B0D424B10D8BDE0 /* IBAN.swift */, - 0D8E5BAB976E1215ADA818D366891226 /* KeystoreManager.swift */, - F7F281434684B8C111CACBAE1BCD1B8A /* KeystoreManager+ObjC.swift */, - 135C2258FEDDC235C7E7781BD638E0D0 /* KeystoreV3JSONStructure.swift */, - 66175BB0554541A3D3816C0B65138569 /* LibSecp256k1Extension.swift */, - B271D2C6AB2B214DB0BBE7869FA70164 /* NameHash.swift */, - 2B8E411298FF1752518A56381CD096CD /* NativeTypesEncoding+Extensions.swift */, - F403D2ACFA1FBE4817C4DD35F625E829 /* NSRegularExpressionExtension.swift */, - 785088A8C7337172C11F39BC9A4A9321 /* PlainKeystore.swift */, - B461C953E96246972B9FD88D07AD66E5 /* PlainKeystore+ObjC.swift */, - 2967DC4D563FB31C61E228B5CBB7F6E2 /* Promise+Batching.swift */, - C93101B181E8AABEB131C0915B6F3015 /* Promise+HttpProvider.swift */, - 47C25EDDC521B2D33E3E14E53A09B8CB /* Promise+Web3+Contract+GetIndexedEvents.swift */, - 1065518E9270D7BB4FC633894765466D /* Promise+Web3+Eth+Call.swift */, - 534FF25435EEA486F21EC56EBCAB291A /* Promise+Web3+Eth+EstimateGas.swift */, - 958751D0D47E3CCFFC945333CEB4F72E /* Promise+Web3+Eth+GetAccounts.swift */, - 373E0AFCEE02274BAE66A586B88A17D4 /* Promise+Web3+Eth+GetBalance.swift */, - 77BA68E17B6BB6941FB1F5C040C24663 /* Promise+Web3+Eth+GetBlockByHash.swift */, - 891D55C717F344B9C14142E735B75843 /* Promise+Web3+Eth+GetBlockByNumber.swift */, - 212B93EFB576141803D3468A4F741935 /* Promise+Web3+Eth+GetBlockNumber.swift */, - E2B568367A9864B63A35097D9E4AB93A /* Promise+Web3+Eth+GetGasPrice.swift */, - 100B115D06674BEC5FE6A0B8CEFE2F84 /* Promise+Web3+Eth+GetTransactionCount.swift */, - FE2E92733967F592C99E77387B2DD8FD /* Promise+Web3+Eth+GetTransactionDetails.swift */, - 376411273811B98AA866A25753F7A66E /* Promise+Web3+Eth+GetTransactionReceipt.swift */, - 68BB7A2BC3583AD28EAD25EA7ED9D5FD /* Promise+Web3+Eth+SendRawTransaction.swift */, - DA17BEB9A7129021CB18F6B91D12748C /* Promise+Web3+Eth+SendTransaction.swift */, - 952E5E5A20415427CA78C75911C62ABD /* Promise+Web3+Intermediate+Send.swift */, - 6A270F07FA0270BCC20180DB9DCC1B67 /* Promise+Web3+Personal+Sign.swift */, - 32B853AE4883AC6BC8B6D6F0876142F8 /* Promise+Web3+Personal+UnlockAccount.swift */, - 84AB4B26E85BB1F6973CFA28CD3096B5 /* RIPEMD160+StackOveflow.swift */, - 3FC0C757DEC5E742B77C173A8B9FA6B7 /* RLP.swift */, - 123FCC5CF86530D3AA0B411043CCF3FC /* String+Extension.swift */, - E1E9E05C913C27A3BCDC1B5C783DE9B9 /* TransactionSigner.swift */, - BFE4248F45D9EE5AAA7A83114F6B2BF6 /* Web3.swift */, - 845B2F9B3F1C9FB2895E49DB515D07CA /* Web3+BrowserFunctions.swift */, - B78D71D7365AE4B58112354EDD377D4D /* Web3+Contract.swift */, - 3DAD5F524037255589944BAAAF9B3EDC /* Web3+ERC20.swift */, - C613C1A4193B296D8171C94206D33C31 /* Web3+Eth.swift */, - 27CFA7ED30A911A75D056CBDD52EF777 /* Web3+Eth+ObjC.swift */, - E2F40252FE652D0C4730C00077BADDAA /* Web3+EventParser.swift */, - CAABB0F89CF876EA103285C487CD9403 /* Web3+HttpProvider.swift */, - 1D1A082C236FA698192257797E4895EC /* Web3+HttpProvider+ObjC.swift */, - 4B07F39C278099EF682E0CE68BCD5498 /* Web3+Infura.swift */, - DAB94D7201EC9D4222C28065007D51EB /* Web3+Instance.swift */, - 96F86314D21C56C76D90CA969B03162F /* Web3+Instance+ObjC.swift */, - 70E0EEB2A88058CB61B7C02075E3FBC7 /* Web3+JSONRPC.swift */, - 9778E61DBD908F7C81939F9640787434 /* Web3+Methods.swift */, - 292938D4E2E614F82D7E4A4A53919089 /* Web3+ObjC.swift */, - 9D81EA660BB41A6042EB12554C011FF5 /* Web3+Options.swift */, - 87A57BF304C2840A5AFBC40A55F95F7A /* Web3+Personal.swift */, - 39676721FFFBFCD3ACA7964DBA994E81 /* Web3+Protocols.swift */, - 51291E05C571952BED7774C956E85673 /* Web3+Structures.swift */, - D9D0562D53ACD302EE60EE8967515E45 /* Web3+TransactionIntermediate.swift */, - 20B0DF172F7BCE780CE4325B9FA737E8 /* Web3+Utils.swift */, - D48E4039D8A05D930087548282B6EDFB /* Web3+Wallet.swift */, - EAE853F3B901CD0EFBB3049D7288A635 /* web3swift.h */, - CED83459CAB009994922F31BDEFD623E /* web3swift-Bridging-Header.h */, - F7F97F66661BB1AEF5E211A71304AF1A /* Support Files */, + 212605BDAABCB644B1BE530E4FB54E28 /* Pods-web3swiftExample.modulemap */, + 3F60C33EFDC8C38C9856833234D8A26E /* Pods-web3swiftExample-acknowledgements.markdown */, + E87FE10BF7C41955C696DDC801AD6226 /* Pods-web3swiftExample-acknowledgements.plist */, + E440C4B74B44A098160068C009BA588B /* Pods-web3swiftExample-dummy.m */, + DA68C188563902BBADBF5288A07FA056 /* Pods-web3swiftExample-frameworks.sh */, + A222803A5470C0EA36B7E5CB379AA730 /* Pods-web3swiftExample-Info.plist */, + 5CB41387E485225E0BC8B079979EEF3D /* Pods-web3swiftExample-umbrella.h */, + 0D68B54C72B7D5CE7C1E985C3B853442 /* Pods-web3swiftExample.debug.xcconfig */, + 50ABF7F2053D09965350B67F7E0E76E2 /* Pods-web3swiftExample.release.xcconfig */, ); - name = web3swift; - path = web3swift; + name = "Pods-web3swiftExample"; + path = "Target Support Files/Pods-web3swiftExample"; sourceTree = ""; }; - CA3D3C1EBFFC7D898A27E843C5439CE0 /* Foundation */ = { + B64FABA7BA8D8F389AF5E13456C8EC9A /* PromiseKit */ = { isa = PBXGroup; children = ( - 8EC0E04C3669680657625472D862D24A /* afterlife.swift */, - B3AE1B016C720A6861CFEEED6B0B1E5D /* NSNotificationCenter+AnyPromise.h */, - 474585527D4B8900A32D2242E978847F /* NSNotificationCenter+AnyPromise.m */, - 56AD7AD28B0B51693A9D7B079E162D05 /* NSNotificationCenter+Promise.swift */, - 2F6CCA99139E9FA673025D313067429D /* NSObject+Promise.swift */, - 753FBDA47B0F3ABF841BFB35EE89BF17 /* NSTask+AnyPromise.h */, - 92BA0A05E447FDB20B427DC9BA3F17BA /* NSTask+AnyPromise.m */, - 4A0AAEC1A587F9F34485AC86C4D355AE /* NSURLSession+AnyPromise.h */, - EC27CE020482173FFDCE321039C1E1B7 /* NSURLSession+AnyPromise.m */, - 0A6D448881C8648C29B2822564286304 /* NSURLSession+Promise.swift */, - C52F5EDD1118D33A3B10C6452A089E8F /* PMKFoundation.h */, - 83D65244334349A7D66163DFEE37F1FA /* Process+Promise.swift */, + F93A932EC91B135390081917485A3F02 /* CorePromise */, + 4FEAC0968FE5E1415CC44D443CCF7490 /* Foundation */, + 5DC23A0315A9ADEA0F73E88558E5D95E /* Support Files */, + 14F4CA37F0D910DFAAF7E02FD2E7CF98 /* UIKit */, ); - name = Foundation; + name = PromiseKit; + path = PromiseKit; sourceTree = ""; }; - CA45BC40F829FDA2D73BA9681C3F94C8 /* secp256k1_ios */ = { + C2E5FB831D3D66B1ECB265D613AE4623 /* Products */ = { isa = PBXGroup; children = ( - B8CBA501A152AA198F4C80D0E17BAFED /* basic-config.h */, - 0FE8C570A67B72F1871BDC1419D7B753 /* ecdsa.h */, - F69249253939D72D4870706405B1DD0C /* ecdsa_impl.h */, - 4F3913F7F2CBD112E100212D4E6CD280 /* eckey.h */, - B5B0E053F4769044408474F4EDD0450B /* eckey_impl.h */, - 458014C6622264651F6A80E772E8ED42 /* ecmult.h */, - CB23B0951CD5D604D24EA76B4B41466F /* ecmult_const.h */, - B76269C67E36441FAD8FF805B6A60FF1 /* ecmult_const_impl.h */, - B225A007A4268038A9E454D13111A89D /* ecmult_gen.h */, - 2B33E9D7080834138F6B05D08954A9AA /* ecmult_gen_impl.h */, - E3FCFAFE5E2F92BF925E516BA5C6D586 /* ecmult_impl.h */, - 61C7FDF5E2DDE25A864126B5CDE2560A /* field.h */, - FB9227AD4EC63BDE92E26BD15585FCA5 /* field_10x26.h */, - 5BA64E966CB81F4DBF7A2DE773DF868A /* field_10x26_impl.h */, - 75D06CDEDBF36C342B7FFE38F8F51A90 /* field_5x52.h */, - CC7703D2D8872FC0ABD92EE3F90EBDCB /* field_5x52_asm_impl.h */, - CD6A176D312F0AE31DF835BCA4A0F342 /* field_5x52_impl.h */, - 1E5AE0371FA8682D8CCBB47D262545A4 /* field_5x52_int128_impl.h */, - A96F34D195736EFBEE26EAF01CFB8519 /* field_impl.h */, - BB1C6578AA63B23B241C85DCD3EF3D21 /* group.h */, - 90FB08FA3883CDF506EFD3894126E276 /* group_impl.h */, - 1726EC7BDEA2D89FB4D2AD0CE0562EB0 /* hash.h */, - E9124AFC41B95D43CF8CC563C862991C /* hash_impl.h */, - A1EBCC0F3780CD1BF5924A52550B2326 /* lax_der_parsing.c */, - BA06B61BC294257DACC3E1D0FD32DA53 /* lax_der_parsing.h */, - 353D2E93E15B57FEC4A9C0B5CC561DCB /* lax_der_privatekey_parsing.c */, - 3B6D04221009B07824A6130FC77D31C9 /* lax_der_privatekey_parsing.h */, - A1F0E78B73C5750335C94D48A43488F1 /* libsecp256k1-config.h */, - E22171F0C69D8C40BCDB2F57BE46B364 /* main_impl.h */, - A4AD0B0CDC89E37F1F3D10E361AB2BD7 /* main_impl.h */, - DB6B3F25A51F2AB28AC33743DAB74418 /* num.h */, - FFB342B57716D3C137EA03417F2362B3 /* num_gmp.h */, - 7FAFAE9D7630D61F389768DE544675E3 /* num_gmp_impl.h */, - B1AF162652CC96EC4E7AA8713BEEF5B7 /* num_impl.h */, - C0330E643D2770F7C6D422B4085388DA /* scalar.h */, - 973DD5BB41EA9F79AF3EC787D0C36229 /* scalar_4x64.h */, - 40E213322D7482A63CDC0B2220AE92F8 /* scalar_4x64_impl.h */, - 7FF21379AF18F46F4F0D6D75E0FF54F4 /* scalar_8x32.h */, - D88F2B395E5E3F2C3E61220B75F9EFE4 /* scalar_8x32_impl.h */, - 9BD8F7B538E9955AD6B31C5548E85E3A /* scalar_impl.h */, - E77AC5D58E1FF6C75FCC6752505572A9 /* scalar_low.h */, - 99C57625E52E17DB4D8B152FC7D1772F /* scalar_low_impl.h */, - 2D7BB0E009A62667D94F3144CF4F0FA0 /* scratch.h */, - D7048890B198E005491CCFCEB097B6C6 /* scratch_impl.h */, - 5278987D2532144A7BD28E9111659639 /* secp256k1.c */, - 6799868DDDED4341574C8A8D6027075A /* secp256k1.h */, - 60D6A69168B4A121E9E39646B6E40E1A /* secp256k1_ecdh.h */, - 02DC13AF775E722F06F597A8A14B0AE6 /* secp256k1_ios.h */, - 6F4F320F47509747094BF6BAE12A4D24 /* secp256k1_recovery.h */, - D3D75A6D93D9A7DF105F25DC93688461 /* util.h */, - 370542143BCDBB42A24BF4297594D4EE /* Support Files */, + 2D50717C9986E80EF5499F2AA6C75531 /* BigInt.framework */, + 1C8276A453626F75A60C791772246C3D /* CryptoSwift.framework */, + B72E91CA236B363CA685F62C6A793DD7 /* Pods_web3swiftExample.framework */, + 884AD9080264D98178A80967D3D5D937 /* PromiseKit.framework */, + C3B25C1F01EFB3AC5FA924DB59808989 /* Result.framework */, + 836DA51652F74890CF6989C60C0E8ADC /* scrypt.framework */, + 603D0BBCC0547440419CBD2E29526BBC /* secp256k1_ios.framework */, + EB19FD3AC66BF80876825B3A4F1F66B3 /* SipHash.framework */, + 4D8953CE81298B6C1067F23B6A71EEBD /* web3swift.framework */, ); - name = secp256k1_ios; - path = secp256k1_ios; + name = Products; sourceTree = ""; }; - DBB9FDC9200083588F83405D2F5E7525 /* Support Files */ = { + C821FAD8AD7536E17303267AAC0426F6 /* BigInt */ = { isa = PBXGroup; children = ( - AAE18F0D9A22AE97A40D945DCE17B624 /* SipHash.modulemap */, - C91E162C53A209FDFA94395F091AF0EE /* SipHash.xcconfig */, - 45785764A72ADF6B322ADB75DF6AC70B /* SipHash-dummy.m */, - EAF95D7A08AE9E5B89144BED0AE0C4C0 /* SipHash-prefix.pch */, - 241A56E773F086ECBC740412E6904C70 /* SipHash-umbrella.h */, + EC8B5678B1206B79D7DFCE48E8DC433D /* Addition.swift */, + 86C1E8D67E7B36A868205B54D0DB924D /* BigInt.swift */, + 2C73D7AA3EDD90DB64FE84C36BD6CF7B /* BigUInt.swift */, + 0353245090FFB16BCAFE272E9F48A277 /* Bitwise Ops.swift */, + 162213C6C0819E2BC89868BBC891FCD5 /* Codable.swift */, + F42BF4C6F2E4A124889A4EF8AF5CEB7D /* Comparable.swift */, + F97510E9053BA812A0D125583C319128 /* Data Conversion.swift */, + 99F4C0E8C3EE8B472BEEC0F2E1795295 /* Division.swift */, + D4B6AC99AF9BB0962269E5759E81E320 /* Exponentiation.swift */, + 5B31B02CBA5CE3418CD0D8EF2390E656 /* Floating Point Conversion.swift */, + F26C7D8E758DAAE0AE9602235489A452 /* GCD.swift */, + EFF38E25FE5AA4DFD2E84286D4EE29E3 /* Hashable.swift */, + 35741AB0833B23E77A7CB168A157FD90 /* Integer Conversion.swift */, + 45A7CC7C99E72DAA6B9C339B4B45B6F0 /* Multiplication.swift */, + FF7884454DEDC6025D2DF234BCEE6953 /* Prime Test.swift */, + 85D15B3C77562CE1D76E17840810174E /* Random.swift */, + FF4AB01A6E765207693D4AE0D5902553 /* Shifts.swift */, + EFDEB675E0A92FD109E8578E45A910EB /* Square Root.swift */, + 4B4A8E6D5817207A8BAFC2040BACBDF0 /* Strideable.swift */, + EC3E819145FD9E56DA10F219A9155D0B /* String Conversion.swift */, + A18BCBAF1463ABC38E43C310C8A5DC49 /* Subtraction.swift */, + A6B836C566DD50CDDC91622F1017A907 /* Words and Bits.swift */, + F02DCBE346E4AFA18B1A3F2B5FB7EA45 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/SipHash"; + name = BigInt; + path = BigInt; + sourceTree = ""; + }; + CB12664C35B894DE88C366101B70E80C /* Result */ = { + isa = PBXGroup; + children = ( + 6B0281225D044E95B9D81942D287340B /* AnyError.swift */, + 33D1449C4E8D84E0AC0DA60599B0DA23 /* NoError.swift */, + A57379017DA3A7363C4A126E85922A3E /* Result.swift */, + 0FD8645A2496918B9B87011F0B77E14E /* ResultProtocol.swift */, + FAC9AB1EFD1CC1D56BCCB49A5786093E /* Support Files */, + ); + name = Result; + path = Result; sourceTree = ""; }; - F0821097ACC5C2B11943D823DDAB40BF /* Support Files */ = { + E748F76B23029F246A1B28D2C982B4F1 /* Support Files */ = { isa = PBXGroup; children = ( - 1121829B65569768952C19E25B1AAE69 /* PromiseKit.modulemap */, - B81556F0FE01DF09B1A857C01311DF62 /* PromiseKit.xcconfig */, - 03427BFCE54F27CE4E2B39BF4A10CC94 /* PromiseKit-dummy.m */, - 1D34472BFED7C973DE16C67C43B8DD51 /* PromiseKit-prefix.pch */, - CBCCA9834BAC9372CB234B4219882001 /* PromiseKit-umbrella.h */, + 502FB30F03AEBAD4F849FA1E03E60319 /* SipHash.modulemap */, + 3842DFFAA24909073D4F960DC6AAF02B /* SipHash.xcconfig */, + B611AE2C6BEF0A2E26865F99A0DFC1D2 /* SipHash-dummy.m */, + 63389BFC9E764A984175469F04E6C321 /* SipHash-Info.plist */, + 07E9A7E7D3A951963E13646AC6CE8391 /* SipHash-prefix.pch */, + 0B06F415D20475CC8FC28FFC552A47C0 /* SipHash-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/PromiseKit"; + path = "../Target Support Files/SipHash"; sourceTree = ""; }; - F5D91304DDB412ABC767B52A512077BF /* Targets Support Files */ = { + EC60F452D909C0B678417A1D26249E86 /* Pods */ = { isa = PBXGroup; children = ( - 33548EC949E8B683284D35310869DD50 /* Pods-web3swiftExample */, + C821FAD8AD7536E17303267AAC0426F6 /* BigInt */, + 48F295883AE990614A7DE9217550905F /* CryptoSwift */, + B64FABA7BA8D8F389AF5E13456C8EC9A /* PromiseKit */, + CB12664C35B894DE88C366101B70E80C /* Result */, + 107E07CD6026F30E1767695C2FE214AA /* scrypt */, + 1A9EFC5B1063CE4DE1F57CC719825B71 /* secp256k1_ios */, + 2733804763CE59AA43D291B9FE779E33 /* SipHash */, + 1D5A330E329F910A6C6B734E96990F3F /* web3swift */, ); - name = "Targets Support Files"; + name = Pods; sourceTree = ""; }; - F7F97F66661BB1AEF5E211A71304AF1A /* Support Files */ = { + F02DCBE346E4AFA18B1A3F2B5FB7EA45 /* Support Files */ = { isa = PBXGroup; children = ( - 033BA231ACC2136A6CB8BFB0112A0FC5 /* web3swift.modulemap */, - A66255E5AEA5BC28BB87C3D0EFD8D2AA /* web3swift.xcconfig */, - 19D96B7EB5F4FBCB0D6CD0C3E49624FB /* web3swift-dummy.m */, - 701F9C15E529443E9FB73C6B379161AB /* web3swift-prefix.pch */, - 4BB92D928E7F0A70EED5685C3FCC2629 /* web3swift-umbrella.h */, + 1DD7A05DBF85857EC1A624A0C5549591 /* BigInt.modulemap */, + 9777D406113094F2B17BC4424F7329BB /* BigInt.xcconfig */, + 7319C8DEF058868FAB938FAD22813553 /* BigInt-dummy.m */, + 75B3B434BA45820CF5E1DB7A0EF864BB /* BigInt-Info.plist */, + CAE688D25B118D52526713B918BF4412 /* BigInt-prefix.pch */, + 91FF287A2D6F4A4F78AB5F96F8D6B6C3 /* BigInt-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/web3swift"; + path = "../Target Support Files/BigInt"; sourceTree = ""; }; - FF10E37F76B00A6FA631924E5B1455B8 /* Support Files */ = { + F93A932EC91B135390081917485A3F02 /* CorePromise */ = { isa = PBXGroup; children = ( - B9579DEB6145661F6E7A13CFED754827 /* Result.modulemap */, - 4A6B1B16288DE16421DD874A78466051 /* Result.xcconfig */, - 25919B578B7379AB255855AA74003212 /* Result-dummy.m */, - C13316F7E9A1CE6B07783B3F5F10CF3B /* Result-prefix.pch */, - 63CAA63FD9DC75F798C3FEB9BDC9E1C3 /* Result-umbrella.h */, + 231D7535BE0908B8FA752378F694AB44 /* after.m */, + AAFAD63081AB296364EBEE0550B55C75 /* after.swift */, + 9062B9AD79A1FFCD8E4C3D3BBAD22417 /* AnyPromise.h */, + 61B2EEC1A0CED11A8CD095B884755F14 /* AnyPromise.m */, + 0D0B55151A9D3FF6DF524D9E72CBFCB2 /* AnyPromise.swift */, + 229A34F67F1DD0EA4F4DCB16AB734B28 /* Box.swift */, + 7D58637E65FA215EA3F838A635924646 /* Catchable.swift */, + DC27BAB5F87E71098FCC3B49E257E226 /* Configuration.swift */, + 8DBB8EB538986AEF569A595AD56B2CB9 /* CustomStringConvertible.swift */, + 2E9C3E6A47F759D446C9633237D3587A /* Deprecations.swift */, + BEA6C296294AF579C5E26DE62FC71CBC /* dispatch_promise.m */, + E991F14402D14DBCE758C2C453DA2F7D /* Error.swift */, + 177C91EDD167FD64C32183AC2992D4A3 /* firstly.swift */, + 6C15C5D29D981FFD7DB03B256FD134EE /* fwd.h */, + 0673406163739833CEECFC5634FED4CF /* Guarantee.swift */, + 47EE1AE862AC1E08A3510AE8A3ACC49E /* hang.m */, + 2C0B26A0F1EDE1CDC241622A88F22672 /* hang.swift */, + E57F88566F2750F3697639B5C501F8F3 /* join.m */, + DB25E5C7BD25CD7E53D639B210A1B4AC /* Promise.swift */, + 7EE987122C612CB4F255D6C9980D5D36 /* PromiseKit.h */, + EADF759D706E073C79D0A75908F5DB72 /* race.m */, + 891EED47DC73A8B323F748EA2676F146 /* race.swift */, + 6FDA4F7EC9B81938EE471ECE2284AECA /* Resolver.swift */, + 84D207BADF2861BAEE09DB0F0100D9C8 /* Thenable.swift */, + 3952E3A45B4964ABA58E30423D7DA553 /* when.m */, + 5FFDE44AE604DA940226CE09D970A58A /* when.swift */, ); - name = "Support Files"; - path = "../Target Support Files/Result"; + name = CorePromise; sourceTree = ""; }; - FFF8EAFC7FE4BFDD7276AFA7EF2810BE /* UIKit */ = { + FAC9AB1EFD1CC1D56BCCB49A5786093E /* Support Files */ = { isa = PBXGroup; children = ( - EE6713D6A2C799F18F66DEAF4B9DA002 /* PMKUIKit.h */, - 14F7AD83E425807B028866A517E0155F /* UIView+AnyPromise.h */, - 394D7CE2F861BEF42B052C1127E8BE02 /* UIView+AnyPromise.m */, - 8D9827104D7B5DA3C16491C9811CC664 /* UIView+Promise.swift */, - 5419632D59B4453866138B147398B786 /* UIViewController+AnyPromise.h */, - 619A8D3D3D97DA2E15C31D9AEFCDABF8 /* UIViewController+AnyPromise.m */, - 93527029429AD83050A8FED1326A171C /* UIViewPropertyAnimator+Promise.swift */, + 47E492FFFE405B5C351862A29154F2D4 /* Result.modulemap */, + 0AFDC4CB49065D6F6886804C0A0D945D /* Result.xcconfig */, + 8FA4BD088591072E3F8E937FC348CF9C /* Result-dummy.m */, + 0195F4E88F3790D0C0BED248E5EB6ACC /* Result-Info.plist */, + CA588EB41DFF39681CD5E2D44DE4B9D5 /* Result-prefix.pch */, + ED2C60159DC5CDC64E9C76793B692956 /* Result-umbrella.h */, ); - name = UIKit; + name = "Support Files"; + path = "../Target Support Files/Result"; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 4950E5373AD51C9D8BC9C6D99E3169ED /* Headers */ = { + 09EADEA037FE0B8626C8AEE86F19B108 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - EB01BFB4856AE2B0729EEF5BB2E4F4BB /* Pods-web3swiftExample-umbrella.h in Headers */, + 60F020078907CC571799F8EEE8657FD0 /* SipHash-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 52C34075DAB19ED44ACB50B0711DE98E /* Headers */ = { + 1D2E2951F6649C5063226E2D27D46394 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 1827A2E7503354E5079D35079745DE19 /* CryptoSwift-umbrella.h in Headers */, + D1442524EC7DCB17F235E12B81114603 /* CryptoSwift-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6F71C6D55A9BEC0CE7216BC963319251 /* Headers */ = { + 215B2F3DDF01366E8169D7F8FB7F98CB /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - A92458877FCA59086F67BB51DDC41CAB /* AnyPromise.h in Headers */, - 22DCAC3A73E88CA5628BC1FEB5DBA99F /* fwd.h in Headers */, - 35923DB1A6781812B8913ECD0416D749 /* NSNotificationCenter+AnyPromise.h in Headers */, - 0F122728D41D7ACC67337E2E602B04A9 /* NSTask+AnyPromise.h in Headers */, - 847F825E0F00B1476A42EC1A2914DA3B /* NSURLSession+AnyPromise.h in Headers */, - A30DC6AF6EF10EB0690299A4867C9B84 /* PMKFoundation.h in Headers */, - 56FEEE8BC37939684F8887F96C6EFE1E /* PMKUIKit.h in Headers */, - ED87753A5604561B7D2436DE33925A7C /* PromiseKit-umbrella.h in Headers */, - 9C41B74A57AA5CFF765F024109AC0578 /* PromiseKit.h in Headers */, - B8A496A3D5363FF8EF9121E53AD89050 /* UIView+AnyPromise.h in Headers */, - DDB1738B9B50E6F1120181DE827F7A91 /* UIViewController+AnyPromise.h in Headers */, + AC5459A014B6BDB91F647D9506396B4D /* Cimpl.h in Headers */, + 32C2736797D270604AFB65A54134B17F /* scrypt-umbrella.h in Headers */, + CC4F237FABAA1A3C56E12FDEA0EB705E /* scrypt.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - D97844B1DEDE16B186EE602B8171F0CD /* Headers */ = { + 3343827B7D7EA6C0D2A50D1045B0F5C9 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 9FD060EF8DF515DA0B961EEFA266D545 /* BigInt-umbrella.h in Headers */, + A181B697DCE8BCE8DC2028CDFC0DF44A /* AnyPromise.h in Headers */, + 2D81F68C100B42A128F026D10711E0C6 /* fwd.h in Headers */, + 7B940F6ECB4BB48F56D21A23DB6BC81C /* NSNotificationCenter+AnyPromise.h in Headers */, + 2F42CF7089E970088164D26EC8BDD3C7 /* NSTask+AnyPromise.h in Headers */, + E59381DB612E6B78B65F96AE31017C45 /* NSURLSession+AnyPromise.h in Headers */, + B0D1A5B91FD8B2603B6456DD06E531C4 /* PMKFoundation.h in Headers */, + B91A2B90FAC29C5CFE6C9D7083D302B2 /* PMKUIKit.h in Headers */, + 9BE26641F305F1572E557F19C6ACFC84 /* PromiseKit-umbrella.h in Headers */, + C7C180C5260E9EC8F7D23F25FF8AA775 /* PromiseKit.h in Headers */, + DDB1F3EE512CBBBDB4E5558A671BEADE /* UIView+AnyPromise.h in Headers */, + 95B4BAB0877245FBC1BDFF31D269B3D9 /* UIViewController+AnyPromise.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - DB07A1DD46275B0EBDC17F26454350D7 /* Headers */ = { + 5012D1FCC085993E461589E57FD9E2D4 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - DE36A3AB6FC0CB1BB0454F548068AF89 /* scrypt-umbrella.h in Headers */, - 8573AF1939D602ADE9AC58E01AD361EE /* scrypt.h in Headers */, + 2C0A3059883F6316F8686B6832E042FB /* web3swift-Bridging-Header.h in Headers */, + CFA040A4AE2F53BF295CF6C7B6266C11 /* web3swift-umbrella.h in Headers */, + D8294366574ADF1B044C1F45C6B917AB /* web3swift.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - E48F92574331C298E9A411300A4C8866 /* Headers */ = { + 61424491A90FA1CEFD4127641BC72054 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 3401E200180CF3B6563B96FEAF55CA94 /* Result-umbrella.h in Headers */, + 70EA0CC4200BB02F9F60433D20AD6325 /* basic-config.h in Headers */, + 10A76A764D28EA81D00DCAE3BDBD54AD /* ecdsa.h in Headers */, + A2D8786DEE0BE917D2ED663FBC245FBA /* ecdsa_impl.h in Headers */, + CA9CCA3289EE3DE74461144D856EEF8C /* eckey.h in Headers */, + A9663F91BCC4D24B5094B425280FA3B1 /* eckey_impl.h in Headers */, + 443E64134A2D26C41DB7302B8D788A27 /* ecmult.h in Headers */, + 1AB7933C12CD4D54C044E42F565C943E /* ecmult_const.h in Headers */, + AFF9D51A5BEEE7B2E486C5B012BCE382 /* ecmult_const_impl.h in Headers */, + 253A03485DB4317EB134F56B2E502053 /* ecmult_gen.h in Headers */, + F233ADB45879BE0E7D45D336AC885F0B /* ecmult_gen_impl.h in Headers */, + 6ABBCE9B9ED70A2117B857ADFB9159E4 /* ecmult_impl.h in Headers */, + 3D792AED79EC2D01C8DCCDE3840FA64D /* field.h in Headers */, + 6FBCAC4C87884CCA78E3B169814DC7AC /* field_10x26.h in Headers */, + 6E89D365ABD5F55D075E857D261BFF33 /* field_10x26_impl.h in Headers */, + 6526A7EF53A724E17E970F4FECE9F999 /* field_5x52.h in Headers */, + 21347ECAADC4E528464E9B3170877703 /* field_5x52_asm_impl.h in Headers */, + 9097A0E21774CCF76D8251680DD36E55 /* field_5x52_impl.h in Headers */, + 18443ED1EE9C0FFCE14462F5AE1EFF57 /* field_5x52_int128_impl.h in Headers */, + 91344AA71C9263849385562A815572E1 /* field_impl.h in Headers */, + 09F1D2094D102A74B519B96AE8B0A2C4 /* group.h in Headers */, + 42CE685372C5AB0C197D4CBAB3230AB1 /* group_impl.h in Headers */, + 2ED5E810B3C7F74ACD88963DD096A8CE /* hash.h in Headers */, + B9C26ECB4C06E7F7FE1318AC27983A29 /* hash_impl.h in Headers */, + 5078EB44DBFBFF5E4D0572BD45439BCE /* lax_der_parsing.h in Headers */, + 62885B0BEA692447B5566DB9778C06A1 /* lax_der_privatekey_parsing.h in Headers */, + 8AAF2AFC9D027B407358379401879A0E /* libsecp256k1-config.h in Headers */, + 19E2CEC0228F9E84247450A041E97E2C /* main_impl.h in Headers */, + F91993F3FEEF2D1D11275BDC4C02F88A /* main_impl.h in Headers */, + 3E18435DD83EFD78B0C55534DE9F0578 /* num.h in Headers */, + D98C6A2BF232502AB16A453DAC83E49F /* num_gmp.h in Headers */, + 0E37D3A9552CB1712CC4D9034079B1B0 /* num_gmp_impl.h in Headers */, + C5B77FE50F765FE37316981B380DB67A /* num_impl.h in Headers */, + EAFF20B5047C8A8ED96B861E71AD86D2 /* scalar.h in Headers */, + 8D0CDEB79686FA00795F3E1D08C1192A /* scalar_4x64.h in Headers */, + 8EB396C5D26910F7F72E37EA06924F7C /* scalar_4x64_impl.h in Headers */, + 5F76BDF4F74809A4CE24FCE8EF0CA536 /* scalar_8x32.h in Headers */, + 5749E971A5E9F57DD3CE90D4BEC95455 /* scalar_8x32_impl.h in Headers */, + 65CC5B6F6034B05B71E19DDD56BEC50B /* scalar_impl.h in Headers */, + 4598AD50EA5239AEEAD9FEE55165D42D /* scalar_low.h in Headers */, + 693A77DE44042BA013938A432B8AA9B6 /* scalar_low_impl.h in Headers */, + 722867F90BF998E4275E58E1458CF818 /* scratch.h in Headers */, + 35F55E0683F0C5A6EC4872A090D8ACE8 /* scratch_impl.h in Headers */, + E2EC13D1D28147E49A3BDAFE275449A6 /* secp256k1.h in Headers */, + 37E2B7216A4D87B38008F2FECE4CC335 /* secp256k1_ecdh.h in Headers */, + AEDBFB777755AD9680EBA32ADC5FE57F /* secp256k1_ios-umbrella.h in Headers */, + D21515D19013C30F9AD7BFE1982CB967 /* secp256k1_ios.h in Headers */, + 08FF36052B67EAF44898509B87954A4B /* secp256k1_recovery.h in Headers */, + 77B87967C1955033F9B350520B6CEEA4 /* util.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - EB79ED98B75A5B0283699BCF857B3EEC /* Headers */ = { + 774228ED792886C81715D8A22C69639B /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - A5CE80C2CF454667ADBEFFF8D35EC95B /* SipHash-umbrella.h in Headers */, + 71B9B8543875E4E32E42B4A9A1312C01 /* BigInt-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - FBA602E8EEE4C842340E51E8C5014BAC /* Headers */ = { + DBADEE36F5137C8104A1BC6AD5D5B645 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E0A8CB42FD278D108E4A708AC52D84C3 /* web3swift-Bridging-Header.h in Headers */, - 2FDA0E6E5364186683841D4CB7F2AA96 /* web3swift-umbrella.h in Headers */, - 83DE107ED68E9FFA4B62A5A12B99223B /* web3swift.h in Headers */, + F0AD6AA66BE6563C90F264D8FD5CCA6C /* Result-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - FE3CD8B6EFC826ACACF93012F3F3DB7F /* Headers */ = { + E062E56B1A153CA7AFA882E877161EDD /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 6D8404384D6E70502A028E0A183163BB /* basic-config.h in Headers */, - 0E4E5A6466DC27E019E10B79F0AB77EA /* ecdsa.h in Headers */, - FC1F07D24FAAD244DFC4B45090EE5950 /* ecdsa_impl.h in Headers */, - 7206709B12948E39A73C1443F4476FE4 /* eckey.h in Headers */, - 2DD6BC67B196FDEB6520629498A29D83 /* eckey_impl.h in Headers */, - BD25CB4CFA3B80A28358767263C8EC4F /* ecmult.h in Headers */, - 40FCE77060A9F031CFDE7A39DB8BE346 /* ecmult_const.h in Headers */, - 875C13093A167B1933DD251F3F1A84D1 /* ecmult_const_impl.h in Headers */, - 193BCB45EB2F96FFD27337F8D2D9603F /* ecmult_gen.h in Headers */, - CED84B344142DF490AF0D18D8E9479DF /* ecmult_gen_impl.h in Headers */, - 1876693CC43D85F269BADE3E768EDA7D /* ecmult_impl.h in Headers */, - C688F5C8C2D7B7BEAE10B658160B336D /* field.h in Headers */, - 6AF78554F313E5317E4F904D7B8D56A2 /* field_10x26.h in Headers */, - BBA227B2DA3FCD94E3C3869334FDDE64 /* field_10x26_impl.h in Headers */, - 13BB14D730491354406F32259BFA9257 /* field_5x52.h in Headers */, - 7E85ACD04ADFC992156F52FBE1BFE20A /* field_5x52_asm_impl.h in Headers */, - 185B22077187E274AD1554F64AEDCD02 /* field_5x52_impl.h in Headers */, - A5DAA10D56BDF5F37BF37565DECAA21B /* field_5x52_int128_impl.h in Headers */, - 4BEC002E24F5AD2E72EE77A41D06AA1D /* field_impl.h in Headers */, - 7FEA191A8B72A225854E8C1E418CF7B1 /* group.h in Headers */, - 6367286AA49B412B8FA5D9E60AC57942 /* group_impl.h in Headers */, - 175846F537D8B12473C9BD1BC7664B16 /* hash.h in Headers */, - 8FB3313F35F24D37534650188E353A5A /* hash_impl.h in Headers */, - 0C3AE310B1F97E722879135D91FC439B /* lax_der_parsing.h in Headers */, - D65BBA0A22D0D76A1CD79598C618D55E /* lax_der_privatekey_parsing.h in Headers */, - FD0D4090ED18D30D6B23CFD9926574F8 /* libsecp256k1-config.h in Headers */, - 4A5593F6C0B13BB81EAD2D062E38E21A /* main_impl.h in Headers */, - E00C3E6F15B657031D180E254291281E /* main_impl.h in Headers */, - 924E737605ABB2921B3F48BFD380944B /* num.h in Headers */, - ADDCFDBB0901A879A2803A20BDFF5CF3 /* num_gmp.h in Headers */, - FED52EE758698BB66DDCCC50D40D2E97 /* num_gmp_impl.h in Headers */, - 3E3087E0AF2608D58EFD71B57D6FF5D5 /* num_impl.h in Headers */, - 2C9C89045C33D64985BF4225219BD28A /* scalar.h in Headers */, - 7FADDF54E465F347CF0C611B940B56E2 /* scalar_4x64.h in Headers */, - 68FCBCF149554A07A481E77E101529A0 /* scalar_4x64_impl.h in Headers */, - 5111E29F246083C72BED5DCB4AB23339 /* scalar_8x32.h in Headers */, - 85973E99277A40CB09CD12CDB7F66743 /* scalar_8x32_impl.h in Headers */, - 0342898ED680F5682ED857AD2025247D /* scalar_impl.h in Headers */, - 849B9967D22A26A74AD8C73FB1648F23 /* scalar_low.h in Headers */, - 4713F0A481C5F6ACE1E7F285B4FA5FEE /* scalar_low_impl.h in Headers */, - 2A1C4A8A8BA9576AE5DF448DB426C023 /* scratch.h in Headers */, - 80FFFE82E8A8DE6ED294DECE0DDE1908 /* scratch_impl.h in Headers */, - C9BA69738F1D82501188F3E78B25FDE2 /* secp256k1.h in Headers */, - 779F797D02BC03B4AC8C9BA2F32EDD86 /* secp256k1_ecdh.h in Headers */, - 84A96034B669A157EFCB701B8F7F635F /* secp256k1_ios-umbrella.h in Headers */, - 661C802B489BBD3DFD82BFD64B22436D /* secp256k1_ios.h in Headers */, - DA60C0DBB660F185C28AB5427B4EFA7D /* secp256k1_recovery.h in Headers */, - 2EB9A7BDFE7194105B1D955541456E8E /* util.h in Headers */, + DD1B78ADC6B14B7065DF312FFE9789B3 /* Pods-web3swiftExample-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 0E877A906EE881D9A703E2CEB69B27B0 /* scrypt */ = { + 137411A4D3CCDCAE6EE1A79271E0889C /* BigInt */ = { isa = PBXNativeTarget; - buildConfigurationList = 4E0232B8BAE447830A17E134BCD5FC4E /* Build configuration list for PBXNativeTarget "scrypt" */; + buildConfigurationList = 64983011E689E8B1A79C910DC9586585 /* Build configuration list for PBXNativeTarget "BigInt" */; buildPhases = ( - DB07A1DD46275B0EBDC17F26454350D7 /* Headers */, - 33E275AFBDBDA0AAFDF1F42911F4E4A5 /* Sources */, - 074822914DA50BC43B6AB0802CD935A2 /* Frameworks */, - EBF754F6CDE2179EC6ACADCF7648ACA7 /* Copy generated compatibility header */, + 774228ED792886C81715D8A22C69639B /* Headers */, + 876CA817B2DD9F8DD2A4932BACF03F12 /* Sources */, + 043A44B6F07B17B9FDB237C80C547215 /* Frameworks */, + 1AF3324DAB2C8E0DD11A0DEC66CD5799 /* Resources */, ); buildRules = ( ); dependencies = ( - 4BC8665C320BCB284F1AB9E0F52EEF22 /* PBXTargetDependency */, + 61069262FD5BCD41F1C291E25CAF599B /* PBXTargetDependency */, ); - name = scrypt; - productName = scrypt; - productReference = FDA88052388E64B0D79D3B4902DD4F7A /* libscrypt.a */; - productType = "com.apple.product-type.library.static"; + name = BigInt; + productName = BigInt; + productReference = 2D50717C9986E80EF5499F2AA6C75531 /* BigInt.framework */; + productType = "com.apple.product-type.framework"; }; - 23A9C77578E46AEB069BEF36B9B5ADA6 /* BigInt */ = { + 2571F2C79C3D43B0220DF7B9302CB451 /* PromiseKit */ = { isa = PBXNativeTarget; - buildConfigurationList = C2F0F5224D2CB877BA3BE60F8BC9AF96 /* Build configuration list for PBXNativeTarget "BigInt" */; + buildConfigurationList = D73236CD3ACDF90803371F7E6C65A9DA /* Build configuration list for PBXNativeTarget "PromiseKit" */; buildPhases = ( - D97844B1DEDE16B186EE602B8171F0CD /* Headers */, - E2D6BCD5E5A99E5CAB3F3FBB1D6EC36E /* Sources */, - 21FA9C90304F8596C9EE0647F7C9E1EE /* Frameworks */, - A3482DBFA9CE4039AA1605DA46D15EAB /* Copy generated compatibility header */, + 3343827B7D7EA6C0D2A50D1045B0F5C9 /* Headers */, + 546DA02918E00087C8868D2428514721 /* Sources */, + 6DE49A014A16E0AFD0494C806BA96F84 /* Frameworks */, + FD8B0ACCF4E0307C943432C30484C693 /* Resources */, ); buildRules = ( ); dependencies = ( - 2602660D03EAE2BE41324DCD70D6B7C9 /* PBXTargetDependency */, ); - name = BigInt; - productName = BigInt; - productReference = 11C3B3B474849C50B68C60D72D2A7ED4 /* libBigInt.a */; - productType = "com.apple.product-type.library.static"; + name = PromiseKit; + productName = PromiseKit; + productReference = 884AD9080264D98178A80967D3D5D937 /* PromiseKit.framework */; + productType = "com.apple.product-type.framework"; }; - 60BF36463B9896F856D87DA4DE89FBB9 /* secp256k1_ios */ = { + 4DACDE493E99BF92E5758A59F946A750 /* CryptoSwift */ = { isa = PBXNativeTarget; - buildConfigurationList = F03D2FCD8A4F5A2AA17A4CE1442CBB2E /* Build configuration list for PBXNativeTarget "secp256k1_ios" */; + buildConfigurationList = 522F15B552D0CFCBB8487B55119183C6 /* Build configuration list for PBXNativeTarget "CryptoSwift" */; buildPhases = ( - FE3CD8B6EFC826ACACF93012F3F3DB7F /* Headers */, - D0AC93315DC7E224CAFDF4FDBCD3DB40 /* Sources */, - 0537F34931CD1EAF1B45F6B72325E869 /* Frameworks */, + 1D2E2951F6649C5063226E2D27D46394 /* Headers */, + 2BD29726F4F37EEF096F8ED056E45044 /* Sources */, + 78115CACE66B77DE366E00E2252C43A0 /* Frameworks */, + 5D149CE8823228F4B10FB96A3177322E /* Resources */, ); buildRules = ( ); dependencies = ( ); - name = secp256k1_ios; - productName = secp256k1_ios; - productReference = 54A9032553D1C61F8E0154E2C0D53FD2 /* libsecp256k1_ios.a */; - productType = "com.apple.product-type.library.static"; + name = CryptoSwift; + productName = CryptoSwift; + productReference = 1C8276A453626F75A60C791772246C3D /* CryptoSwift.framework */; + productType = "com.apple.product-type.framework"; }; - 9BA501B73C50D92DA96F15F9A57236B4 /* Pods-web3swiftExample */ = { + 7FF8752D2607B0617A8EA59CB6F52DA7 /* SipHash */ = { isa = PBXNativeTarget; - buildConfigurationList = 4E4F824E27325209F56A4EC7858E6091 /* Build configuration list for PBXNativeTarget "Pods-web3swiftExample" */; + buildConfigurationList = 18A84A1682CD37CFA0F42453F6BF95C9 /* Build configuration list for PBXNativeTarget "SipHash" */; buildPhases = ( - 4950E5373AD51C9D8BC9C6D99E3169ED /* Headers */, - 1BF933BE2E3DCACA2BC8EF8D8D3B9A58 /* Sources */, - 90440DC7AC48BE32148838250163B5C1 /* Frameworks */, + 09EADEA037FE0B8626C8AEE86F19B108 /* Headers */, + 92881122437CB3C21DE6947CADDF0A60 /* Sources */, + D1D2E3112C8952F649A1AA6C2A244398 /* Frameworks */, + E2C10720FE37B7B597C0A2FD39826949 /* Resources */, ); buildRules = ( ); dependencies = ( - 0A8C82D239CBDF1B011E11B329EA616A /* PBXTargetDependency */, - 9235C791AF1571AD8742EA4B298E89C5 /* PBXTargetDependency */, - 64DA449404BAFB38711865F0C1D0C3ED /* PBXTargetDependency */, - 4A7B421C839A9B98B687CAA8B6917FF0 /* PBXTargetDependency */, - 8FD5D15A53AB1364D3C37E633E297FD9 /* PBXTargetDependency */, - A3C90A98231D5DDB2A79AFA9C07695B8 /* PBXTargetDependency */, - 4F4E9B99540CA6BFAFEF683BB7AFA0D3 /* PBXTargetDependency */, - D5D89B0A0375005F9DC439BA79768218 /* PBXTargetDependency */, ); - name = "Pods-web3swiftExample"; - productName = "Pods-web3swiftExample"; - productReference = 17B0A033B10B035FFCCA80D2BE4C4839 /* libPods-web3swiftExample.a */; - productType = "com.apple.product-type.library.static"; + name = SipHash; + productName = SipHash; + productReference = EB19FD3AC66BF80876825B3A4F1F66B3 /* SipHash.framework */; + productType = "com.apple.product-type.framework"; }; - C36167279A3ACEC5E09E05AC17E973AB /* PromiseKit */ = { + 9E6F6DA258BB741707AF260991406A45 /* secp256k1_ios */ = { isa = PBXNativeTarget; - buildConfigurationList = 57A8C2137268F228E4AE6A14F1B64A8F /* Build configuration list for PBXNativeTarget "PromiseKit" */; + buildConfigurationList = 5DD4B9BDB2D8AEE1E1AEF935797DDFC4 /* Build configuration list for PBXNativeTarget "secp256k1_ios" */; buildPhases = ( - 6F71C6D55A9BEC0CE7216BC963319251 /* Headers */, - 552DE267AA2D2460F5728C085566B604 /* Sources */, - 18C5ABD1C406C832B0DD15AA82CC41C4 /* Frameworks */, - 29D34ADAF501515AA186182B5263DF54 /* Copy generated compatibility header */, + 61424491A90FA1CEFD4127641BC72054 /* Headers */, + 6E0F950F1064712885A5DD5D77ACA06D /* Sources */, + C813DA1EDF2A4C65DFBAF18A02E0019B /* Frameworks */, + A3F793D19799B8B448A27F468014FD2F /* Resources */, ); buildRules = ( ); dependencies = ( ); - name = PromiseKit; - productName = PromiseKit; - productReference = 7D734165233A268ADD9C2C4EC0FBCB2D /* libPromiseKit.a */; - productType = "com.apple.product-type.library.static"; + name = secp256k1_ios; + productName = secp256k1_ios; + productReference = 603D0BBCC0547440419CBD2E29526BBC /* secp256k1_ios.framework */; + productType = "com.apple.product-type.framework"; }; - C7F768100F7D32B078FA6D19893B5741 /* Result */ = { + 9FAF3F7C2AF7DDE71D9A97A691734EB3 /* Pods-web3swiftExample */ = { isa = PBXNativeTarget; - buildConfigurationList = DF9E202F8E4A79152D39EF70F774415F /* Build configuration list for PBXNativeTarget "Result" */; + buildConfigurationList = C5C5AC318E00D7989B0E7723942D7F8D /* Build configuration list for PBXNativeTarget "Pods-web3swiftExample" */; buildPhases = ( - E48F92574331C298E9A411300A4C8866 /* Headers */, - 09037262A0E37EFB8B826CDC57F5B914 /* Sources */, - A7F757D73E3A0EC9C2E23F63AE6289BE /* Frameworks */, - 65B08350FB8CB8E67708C48B13D9D59B /* Copy generated compatibility header */, + E062E56B1A153CA7AFA882E877161EDD /* Headers */, + 009E1517FD1F576E6F0E64DC038A0735 /* Sources */, + CA9DF7FB0BA9F12FA7DB48B07D7EDDAC /* Frameworks */, + 2514E224EE34D18A9473356B8FFD2F92 /* Resources */, ); buildRules = ( ); dependencies = ( + C026F72CB82C71353BE419590756240B /* PBXTargetDependency */, + D13DF1F08437330EF8FD792AAE2BB899 /* PBXTargetDependency */, + 55A842667E3A7EE1434E605AA61B6475 /* PBXTargetDependency */, + 101675B216693CA112E7BF6A4916EDCE /* PBXTargetDependency */, + 94400ED4462B55D92AB3F3434EA7D441 /* PBXTargetDependency */, + 558007D1C33C8F94485716042C8AE681 /* PBXTargetDependency */, + DA628256DCE97DA23F30B6AFBAD16D9A /* PBXTargetDependency */, + 85E12AE1342F6CE11A6D0A51BF19A624 /* PBXTargetDependency */, ); - name = Result; - productName = Result; - productReference = 4C5AB9A84E399C3C8F2ED978C0B4DD46 /* libResult.a */; - productType = "com.apple.product-type.library.static"; + name = "Pods-web3swiftExample"; + productName = "Pods-web3swiftExample"; + productReference = B72E91CA236B363CA685F62C6A793DD7 /* Pods_web3swiftExample.framework */; + productType = "com.apple.product-type.framework"; }; - D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */ = { + E73E959E8118EB238220F62E6A1C4FF3 /* scrypt */ = { isa = PBXNativeTarget; - buildConfigurationList = 8FBF93FB50500F9A39127B851D0248BE /* Build configuration list for PBXNativeTarget "CryptoSwift" */; + buildConfigurationList = CF44C399FCFA5E9B656CA1C56407BE66 /* Build configuration list for PBXNativeTarget "scrypt" */; buildPhases = ( - 52C34075DAB19ED44ACB50B0711DE98E /* Headers */, - 7845B68B8E520FB143745DE94DEF574C /* Sources */, - 841B7B892F8C57CBEF5FB03AC753C3AB /* Frameworks */, - A71224FCAB2F1A69BDDB38161270471D /* Copy generated compatibility header */, + 215B2F3DDF01366E8169D7F8FB7F98CB /* Headers */, + 64E1BF62E9582C789401F5E8C00B99DA /* Sources */, + 6FC7B3E7CF91B31F891E43A08C404AF9 /* Frameworks */, + B2B5457EE94ECE1EA6B833489D8AB645 /* Resources */, ); buildRules = ( ); dependencies = ( + 21FC2C46A48807D118373974DA8B3D2B /* PBXTargetDependency */, ); - name = CryptoSwift; - productName = CryptoSwift; - productReference = 1827336AF5F51D580426EC596EF7357E /* libCryptoSwift.a */; - productType = "com.apple.product-type.library.static"; + name = scrypt; + productName = scrypt; + productReference = 836DA51652F74890CF6989C60C0E8ADC /* scrypt.framework */; + productType = "com.apple.product-type.framework"; }; - D93CC8797FA6642C382C93BBA9AE8B0D /* web3swift */ = { + F58417C26FE443298C1E00C34A50FD6B /* web3swift */ = { isa = PBXNativeTarget; - buildConfigurationList = 5479530AA132063FEE7E1514B16AF961 /* Build configuration list for PBXNativeTarget "web3swift" */; + buildConfigurationList = F433FF5D09BB9F7450B0FEEBCDA6FA68 /* Build configuration list for PBXNativeTarget "web3swift" */; buildPhases = ( - FBA602E8EEE4C842340E51E8C5014BAC /* Headers */, - 75CF15D54090EDCFDF8B670A39424F28 /* Sources */, - 76402B5CC42ABD207A9C81A6A4712B42 /* Frameworks */, - 21CB88C1803158D8E98C78F99A3D1CD5 /* Copy generated compatibility header */, + 5012D1FCC085993E461589E57FD9E2D4 /* Headers */, + 3BC71CACB10B623449101F053D5212E0 /* Sources */, + 8271C77EA6CE678CDE80B46374424116 /* Frameworks */, + 10FBA403DF79EEE2B5426D7722593E57 /* Resources */, ); buildRules = ( ); dependencies = ( - E92C0852F7CA81FC3C083C6A05797271 /* PBXTargetDependency */, - 469BA73D7FD92EEC96D218C7F3F3196F /* PBXTargetDependency */, - 3F569904A0954E065753A145676105A7 /* PBXTargetDependency */, - 0B6AA6919B8A7CB6BC051AF90DF91D0D /* PBXTargetDependency */, - D0835B4CA84CEE3755B21228D6CA6FFC /* PBXTargetDependency */, - BC80BF207538A95305A7D118B9B7C215 /* PBXTargetDependency */, + B32AA7F0867CD31D1B04E18741BEDE96 /* PBXTargetDependency */, + 41EDE4ED56DB3F623BD4559C442A50E9 /* PBXTargetDependency */, + 86B1F393CB9ED43D8A25011223DE74D5 /* PBXTargetDependency */, + 8702A31DAF7187F4D6BB1D2BAD874782 /* PBXTargetDependency */, + C527D0F9FEA1E852F1597014B62CE77D /* PBXTargetDependency */, + 527C093D030BE594366CB32AA85675E1 /* PBXTargetDependency */, ); name = web3swift; productName = web3swift; - productReference = 25A7B1871BF03428A855BE688D20521E /* libweb3swift.a */; - productType = "com.apple.product-type.library.static"; + productReference = 4D8953CE81298B6C1067F23B6A71EEBD /* web3swift.framework */; + productType = "com.apple.product-type.framework"; }; - EA114BE2D9D1BCDA6E1013C3301492A8 /* SipHash */ = { + F62AF0F0F2678A4120DFF3D5D1A1F6D5 /* Result */ = { isa = PBXNativeTarget; - buildConfigurationList = F3F633396C389256F8850D996A26B1BB /* Build configuration list for PBXNativeTarget "SipHash" */; + buildConfigurationList = 106FD454C475C642689D0E228E11702F /* Build configuration list for PBXNativeTarget "Result" */; buildPhases = ( - EB79ED98B75A5B0283699BCF857B3EEC /* Headers */, - 11E5015995179759F0C316DF1D3E75E0 /* Sources */, - 325A85FC0CD5BCF38ADE42EE7531C2A2 /* Frameworks */, - AC3A522E24D3A9502F059B0483E9FDB6 /* Copy generated compatibility header */, + DBADEE36F5137C8104A1BC6AD5D5B645 /* Headers */, + 1A6ECFA1D5E1321FE32355EE625759ED /* Sources */, + E1DF5266F8CECC485159ADD3E8DDAD61 /* Frameworks */, + 855676B9D78668B93F36A8DEED7BAA60 /* Resources */, ); buildRules = ( ); dependencies = ( ); - name = SipHash; - productName = SipHash; - productReference = 8FBB098F98DE89D1DE9C0EDB16C22E15 /* libSipHash.a */; - productType = "com.apple.product-type.library.static"; + name = Result; + productName = Result; + productReference = C3B25C1F01EFB3AC5FA924DB59808989 /* Result.framework */; + productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ @@ -1745,793 +1840,683 @@ en, ); mainGroup = 7DB346D0F39D3F0E887471402A8071AB; - productRefGroup = 9D4E26DF6080ADCB389AB90D4A3DE678 /* Products */; + productRefGroup = C2E5FB831D3D66B1ECB265D613AE4623 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 23A9C77578E46AEB069BEF36B9B5ADA6 /* BigInt */, - D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */, - 9BA501B73C50D92DA96F15F9A57236B4 /* Pods-web3swiftExample */, - C36167279A3ACEC5E09E05AC17E973AB /* PromiseKit */, - C7F768100F7D32B078FA6D19893B5741 /* Result */, - 0E877A906EE881D9A703E2CEB69B27B0 /* scrypt */, - 60BF36463B9896F856D87DA4DE89FBB9 /* secp256k1_ios */, - EA114BE2D9D1BCDA6E1013C3301492A8 /* SipHash */, - D93CC8797FA6642C382C93BBA9AE8B0D /* web3swift */, + 137411A4D3CCDCAE6EE1A79271E0889C /* BigInt */, + 4DACDE493E99BF92E5758A59F946A750 /* CryptoSwift */, + 9FAF3F7C2AF7DDE71D9A97A691734EB3 /* Pods-web3swiftExample */, + 2571F2C79C3D43B0220DF7B9302CB451 /* PromiseKit */, + F62AF0F0F2678A4120DFF3D5D1A1F6D5 /* Result */, + E73E959E8118EB238220F62E6A1C4FF3 /* scrypt */, + 9E6F6DA258BB741707AF260991406A45 /* secp256k1_ios */, + 7FF8752D2607B0617A8EA59CB6F52DA7 /* SipHash */, + F58417C26FE443298C1E00C34A50FD6B /* web3swift */, ); }; /* End PBXProject section */ -/* Begin PBXShellScriptBuildPhase section */ - 21CB88C1803158D8E98C78F99A3D1CD5 /* Copy generated compatibility header */ = { - isa = PBXShellScriptBuildPhase; +/* Begin PBXResourcesBuildPhase section */ + 10FBA403DF79EEE2B5426D7722593E57 /* Resources */ = { + isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); - inputPaths = ( - "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/web3swift/web3swift.modulemap", - "${PODS_ROOT}/Headers/Public/web3swift/web3swift-umbrella.h", - ); - name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); - outputPaths = ( - "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/web3swift-umbrella.h", - "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", - ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/web3swift/web3swift.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/web3swift/web3swift-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; - showEnvVarsInLog = 1; }; - 29D34ADAF501515AA186182B5263DF54 /* Copy generated compatibility header */ = { - isa = PBXShellScriptBuildPhase; + 1AF3324DAB2C8E0DD11A0DEC66CD5799 /* Resources */ = { + isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); - inputPaths = ( - "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.modulemap", - "${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit-umbrella.h", - ); - name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); - outputPaths = ( - "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/PromiseKit-umbrella.h", - "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", - ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; - showEnvVarsInLog = 1; }; - 65B08350FB8CB8E67708C48B13D9D59B /* Copy generated compatibility header */ = { - isa = PBXShellScriptBuildPhase; + 2514E224EE34D18A9473356B8FFD2F92 /* Resources */ = { + isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); - inputPaths = ( - "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/Result/Result.modulemap", - "${PODS_ROOT}/Headers/Public/Result/Result-umbrella.h", - ); - name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); - outputPaths = ( - "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/Result-umbrella.h", - "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", - ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; - showEnvVarsInLog = 1; }; - A3482DBFA9CE4039AA1605DA46D15EAB /* Copy generated compatibility header */ = { - isa = PBXShellScriptBuildPhase; + 5D149CE8823228F4B10FB96A3177322E /* Resources */ = { + isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); - inputPaths = ( - "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/BigInt/BigInt.modulemap", - "${PODS_ROOT}/Headers/Public/BigInt/BigInt-umbrella.h", - ); - name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); - outputPaths = ( - "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/BigInt-umbrella.h", - "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", - ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; - showEnvVarsInLog = 1; }; - A71224FCAB2F1A69BDDB38161270471D /* Copy generated compatibility header */ = { - isa = PBXShellScriptBuildPhase; + 855676B9D78668B93F36A8DEED7BAA60 /* Resources */ = { + isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); - inputPaths = ( - "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift.modulemap", - "${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h", - ); - name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); - outputPaths = ( - "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/CryptoSwift-umbrella.h", - "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", - ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; - showEnvVarsInLog = 1; }; - AC3A522E24D3A9502F059B0483E9FDB6 /* Copy generated compatibility header */ = { - isa = PBXShellScriptBuildPhase; + A3F793D19799B8B448A27F468014FD2F /* Resources */ = { + isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); - inputPaths = ( - "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/SipHash/SipHash.modulemap", - "${PODS_ROOT}/Headers/Public/SipHash/SipHash-umbrella.h", - ); - name = "Copy generated compatibility header"; - outputFileListPaths = ( - ); - outputPaths = ( - "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/SipHash-umbrella.h", - "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", - ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SipHash/SipHash.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SipHash/SipHash-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; - showEnvVarsInLog = 1; }; - EBF754F6CDE2179EC6ACADCF7648ACA7 /* Copy generated compatibility header */ = { - isa = PBXShellScriptBuildPhase; + B2B5457EE94ECE1EA6B833489D8AB645 /* Resources */ = { + isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); - inputPaths = ( - "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/scrypt/scrypt.modulemap", - "${PODS_ROOT}/Headers/Public/scrypt/scrypt-umbrella.h", - ); - name = "Copy generated compatibility header"; - outputFileListPaths = ( + runOnlyForDeploymentPostprocessing = 0; + }; + E2C10720FE37B7B597C0A2FD39826949 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( ); - outputPaths = ( - "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/scrypt-umbrella.h", - "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", + runOnlyForDeploymentPostprocessing = 0; + }; + FD8B0ACCF4E0307C943432C30484C693 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; - showEnvVarsInLog = 1; }; -/* End PBXShellScriptBuildPhase section */ +/* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 09037262A0E37EFB8B826CDC57F5B914 /* Sources */ = { + 009E1517FD1F576E6F0E64DC038A0735 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 03C3AFC1A73CC721DFC025DA0492B8F7 /* AnyError.swift in Sources */, - 328764F572D114FE4FD89859EA7D0C82 /* NoError.swift in Sources */, - 5E249F6FB23CCC4985EFB3FDCADE487B /* Result-dummy.m in Sources */, - C8B2BE26A0484B6A1523D9E2B3818EDC /* Result.swift in Sources */, - 06346EDCC1E2F52FE78341A96C1C2E80 /* ResultProtocol.swift in Sources */, + 60E624888EDC3FAA5DD873759CA6A5F0 /* Pods-web3swiftExample-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 11E5015995179759F0C316DF1D3E75E0 /* Sources */ = { + 1A6ECFA1D5E1321FE32355EE625759ED /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 4F6ED8ADD7B24315D4F8D18C227D3ACD /* Primitive Types.swift in Sources */, - 04BAB9000ECA1DF9525E0A15D715B307 /* RandomUInt64.swift in Sources */, - AA30153EC052C2F6DC67B9E50E451A6C /* SipHash-dummy.m in Sources */, - 9985C1DF20C3A844133CC24F260232A6 /* SipHashable.swift in Sources */, - DCD11459A6DD0C7757AD81AB42D7ADAC /* SipHasher.swift in Sources */, + C3EC0248F1264283CA50426408BA59BB /* AnyError.swift in Sources */, + DE1D91B2EBCECAEAC4D480323BEC3039 /* NoError.swift in Sources */, + 65BCDF3B209C440F8CBD5648EABD5FA5 /* Result-dummy.m in Sources */, + 7A6C963EFD84D52F5A5350A9612B3B0E /* Result.swift in Sources */, + 66F9A521D75B9EABAE1CAD8FDB2FD28C /* ResultProtocol.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 1BF933BE2E3DCACA2BC8EF8D8D3B9A58 /* Sources */ = { + 2BD29726F4F37EEF096F8ED056E45044 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - ADB06AA1B5A4414AD55E5A2D2653DDA6 /* Pods-web3swiftExample-dummy.m in Sources */, + 78F2BC147CC813133D6356C9BE1ADCE1 /* AEAD.swift in Sources */, + 2F3B479B4A026F3280BF4FA333726A86 /* AEADChaCha20Poly1305.swift in Sources */, + 98C459EAEF81D101622627E37AAD0946 /* AES+Foundation.swift in Sources */, + 58C54CE909D3981244E323D3DB2EADFD /* AES.Cryptors.swift in Sources */, + 101CEC15F6F283289721E6DA1640B5DB /* AES.swift in Sources */, + C1E6617F404FF73114711159F727E280 /* Array+Extension.swift in Sources */, + F41DE1A38B6ECF011127CC2F18B8F1E5 /* Array+Foundation.swift in Sources */, + 063172677A7320FA0176B8142D11805E /* Authenticator.swift in Sources */, + 2058A726DD078C04D63E243565CD07E1 /* BatchedCollection.swift in Sources */, + AA7EAF7137C27D6E369D3F2E66ABCA18 /* Bit.swift in Sources */, + 77E8B7DDA613FB5C879784E0772FC013 /* BlockCipher.swift in Sources */, + E82F15CE10FE5291F3346A78F11EAB71 /* BlockDecryptor.swift in Sources */, + 469AAF3F2BCF89EB1AE5208BDDCD8524 /* BlockEncryptor.swift in Sources */, + 1F522B047157244684FC7A469A5654D5 /* BlockMode.swift in Sources */, + A765945680ABE1A73AAEF33A2D0ADC76 /* BlockModeOptions.swift in Sources */, + 32466A7539462463993E957EE2462F58 /* Blowfish+Foundation.swift in Sources */, + 679171569947CA69B28369CBB64062BE /* Blowfish.swift in Sources */, + 09648EACD312EC7080BB4E2CD9B0943F /* CBC.swift in Sources */, + 80B0B462C09D541D9E850D874D656673 /* CFB.swift in Sources */, + 76A07471B25153C90BBE8C37CC9250B4 /* ChaCha20+Foundation.swift in Sources */, + 1F4BDDA00F127CA95F0BFC9F034BD28D /* ChaCha20.swift in Sources */, + 23E69E19A1E45A210A051F28FBDF4279 /* Checksum.swift in Sources */, + CD13C27BEF9D398C0055D537003F0206 /* Cipher.swift in Sources */, + D465365F819D9514B406031A0C845BAA /* CipherModeWorker.swift in Sources */, + 5356F05030669B23BAE51298F9EE5403 /* CMAC.swift in Sources */, + AF7191EC445198351E2396EED989010A /* Collection+Extension.swift in Sources */, + A425AB2AFD2A6AC8C9AD47D474E8F964 /* CompactMap.swift in Sources */, + 72DEE3AC5B9A27020EFE91619AFBAF82 /* Cryptor.swift in Sources */, + 4F3F51153F6029695BE6BE54FFBDC616 /* Cryptors.swift in Sources */, + 5B9C17D9478EB66CF57A57017A230058 /* CryptoSwift-dummy.m in Sources */, + FF8D6F9246B91602A6510889F5AC7A37 /* CTR.swift in Sources */, + 0FA7E1ED09D6CB457D8B1F5880A97CEB /* Data+Extension.swift in Sources */, + 681D98F4D692FA39C87A2949DFE51F16 /* Digest.swift in Sources */, + 02E8046C2A767EA8848448EAB9E07A65 /* DigestType.swift in Sources */, + 07A516E5DC61219A239FE2E3E902E691 /* ECB.swift in Sources */, + DF98911B0F87E37CA61A850651CE7EFE /* GCM.swift in Sources */, + FCC4CAEEB081254048F9F8EAD95E0B08 /* Generics.swift in Sources */, + 6451556051C597D0608E90DD9768DF00 /* HKDF.swift in Sources */, + C39334762D97FFDF0ECF60FE78FEE593 /* HMAC+Foundation.swift in Sources */, + 6827F78241E84E17AA16A7D10C477746 /* HMAC.swift in Sources */, + A8DD8450B62755340F32E75385672F49 /* Int+Extension.swift in Sources */, + 4261BDB05BD2252A1D37EF501EE7AE26 /* MD5.swift in Sources */, + E2F49DCF776B189057E13990400C3EA8 /* NoPadding.swift in Sources */, + 48D8B679DA0511AB8EAC728612007462 /* OFB.swift in Sources */, + 97CC2191FF1F5BF6E007E1F0452D3835 /* Operators.swift in Sources */, + B172A8072454AB83995AF52101B03839 /* Padding.swift in Sources */, + 8293BCC7B22412260873FB9EFD99FB53 /* PBKDF1.swift in Sources */, + 3EDCE35B5BD08FB4348435D94A458376 /* PBKDF2.swift in Sources */, + 5D8B08FF6F53F23FF23A5F2C4D5249A8 /* PCBC.swift in Sources */, + DB3AA3B2747DE3DA344F88727E0792D7 /* PKCS5.swift in Sources */, + 8AD769BC9791E6C53FF3CD35554AA1D5 /* PKCS7.swift in Sources */, + F0AC9F138AA0272B3B7812346EDAC741 /* PKCS7Padding.swift in Sources */, + 582127B8950A73384E0D7C919A6B9D76 /* Poly1305.swift in Sources */, + 535A046EF29014CED01BF31BBCC547AA /* Rabbit+Foundation.swift in Sources */, + 65CD80DDC802FC77BDD68D3E2AA32F8F /* Rabbit.swift in Sources */, + 847A155084AF3DCB445E53A1A33F2354 /* RandomBytesSequence.swift in Sources */, + 68D37923D30539349D08F686E2060117 /* SecureBytes.swift in Sources */, + 6890BC23C948237266F16D15073C5B26 /* SHA1.swift in Sources */, + 0732B277DE0821A2E9F30FD82A2D505C /* SHA2.swift in Sources */, + 0717ACAE7ECC2E7D2E33FEEB38A76E2F /* SHA3.swift in Sources */, + DBD5D46970B589C74A1FEAAFFBC1744B /* StreamEncryptor.swift in Sources */, + 4868FC86913C7BEEF591B59A65E1C654 /* String+Extension.swift in Sources */, + 2C50168E22ACB7A7D9E7ED2A643A1681 /* String+FoundationExtension.swift in Sources */, + 8956888E1CC6894013EBC449101A3EBB /* UInt128.swift in Sources */, + F62CB020347D65CE57D6CF01B00D84AA /* UInt16+Extension.swift in Sources */, + 2BCA931010327B7616D84860C4E8DE2A /* UInt32+Extension.swift in Sources */, + 94C78D2A4E635D01A9CD9986AC8CDD37 /* UInt64+Extension.swift in Sources */, + 3C14A6EDB43BEE051ED4B406A33DC65F /* UInt8+Extension.swift in Sources */, + 81C1FB472DAAF55ED66443EE6FF59E1C /* Updatable.swift in Sources */, + 3E3188EE35DEDBA8EAF6854B9224011E /* Utils+Foundation.swift in Sources */, + BDEC4E13E67AB342D0FA893AC46B51FF /* Utils.swift in Sources */, + D953DA4479CC018FA143BF59E7A5B10A /* ZeroPadding.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 33E275AFBDBDA0AAFDF1F42911F4E4A5 /* Sources */ = { + 3BC71CACB10B623449101F053D5212E0 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 92AF3433DD838ABA99BEBEFDAF5182B8 /* BufferStorage.swift in Sources */, - A9DAD6C60EFAA6AD3077726E8C56ED31 /* Salsa.swift in Sources */, - 390BD2F5D6EE5DC4869B75A58E5A45D9 /* scrypt-dummy.m in Sources */, - D4470C40B8D7625549DDBC8F4D111CD9 /* Scrypt.swift in Sources */, + 955F82AA3E016CE78E286ACC8559F35A /* ABIv2.swift in Sources */, + 82BBC18E36946D4421D1775F3CE9E101 /* ABIv2Decoding.swift in Sources */, + F2C1FF8D84B769BBAA2774FC9089B6F9 /* ABIv2Elements.swift in Sources */, + 28D7A203B25D26891BE2E0EC01BBA797 /* ABIv2Encoding.swift in Sources */, + 7519F2538E19EC85619495B9581EC002 /* ABIv2ParameterTypes.swift in Sources */, + 25ADFF1D037F9E8F54618307F1ED2DAF /* ABIv2Parsing.swift in Sources */, + 7F5E2B72A48329F95982D38A450CC919 /* ABIv2TypeParser.swift in Sources */, + 29FC0322575E983B2A4C695AB7E8AED0 /* AbstractKeystore.swift in Sources */, + F8995F2D7FCB6539E22F9945ED840B36 /* Array+Extension.swift in Sources */, + ACD3873A8729ACBD9A6D48054239B646 /* Base58.swift in Sources */, + 0512B738C8204A95E8407E6893281245 /* BigUInt+ObjC.swift in Sources */, + B58EED51FE023F7BFBA4F002A398A71F /* BIP32HDNode.swift in Sources */, + 2E2F39DE14D971C18F8B7AE2CF084C4E /* BIP32Keystore.swift in Sources */, + C4C959076952E3A0AA8004F2C9114CFD /* BIP32KeystoreJSONStructure.swift in Sources */, + 2EBB7ADAEB63AA3974D8DB8047EAB538 /* BIP39+WordLists.swift in Sources */, + 982543B875153D03B93FF50497D24361 /* BIP39.swift in Sources */, + 9F809ECDE716A3FBDCA8A1940D7C2785 /* BlockExplorer+GetTransactionHistory.swift in Sources */, + D1A3BE9AD8F7459267BF22524FB4E5E0 /* BlockExplorer.swift in Sources */, + A1CFFFAE4F7C907C9B0DA0FFF1D94FC8 /* BloomFilter.swift in Sources */, + 1F4BD2A1E2D9E7C4534DA604B402FA3F /* ComparisonExtensions.swift in Sources */, + 8F7E30C827079FA8A0EFEA91D62DF299 /* ContractABIv2.swift in Sources */, + 917F4351B168C4F3759ACFA72A29562A /* ContractProtocol.swift in Sources */, + 8B3B9583B57FF22C41C8F767508487FF /* CryptoExtensions.swift in Sources */, + 5177D0C2101B7DA5EE08F6111C768FCE /* Data+Extension.swift in Sources */, + 54F1A3C5DE33561080A750257B22C23B /* Dictionary+Extension.swift in Sources */, + C4330EC9FFE7F619BBE73C58778AD54D /* EIP67Code.swift in Sources */, + 6B2C7A66EAF074A78FFA2FD769C56F65 /* EIP681.swift in Sources */, + 2A7A6CFC865030C10D3DE94D65B5502A /* ENS.swift in Sources */, + 3E094A20F931453D1CB10651D5C83651 /* EthereumAddress+ObjC.swift in Sources */, + 629A716F64B182EEED14780B579DB7D1 /* EthereumAddress.swift in Sources */, + 938409FB279CFA0089A3CEF866CFA6A0 /* EthereumFilterEncodingExtensions.swift in Sources */, + 929BF135E5D71303BA026FD0C5CBACAA /* EthereumKeystoreV3.swift in Sources */, + E5FB91E5633F83EE8FB95C47EDC318C5 /* EthereumTransaction.swift in Sources */, + 1B4526E37C8A077336405AABCB0D7A76 /* EventFiltering.swift in Sources */, + F82E45B3F844F330BE4BCD8AA537A44A /* IBAN.swift in Sources */, + AC43CF18DC2953592E51096D0230931B /* KeystoreManager+ObjC.swift in Sources */, + 34F013BF451F97489364B45D6CE486A6 /* KeystoreManager.swift in Sources */, + 362EF07E94A6E51B4E80FAF53CCE6367 /* KeystoreV3JSONStructure.swift in Sources */, + B3682A183AE01299B9F5D573C85ADF7D /* LibSecp256k1Extension.swift in Sources */, + 27C2946E57A2DADA5C8D171A7DC2A2BD /* NameHash.swift in Sources */, + 5009487EA1550B855E0A8D0F5218E755 /* NativeTypesEncoding+Extensions.swift in Sources */, + 436E0D3E98FDA90F084FD4C3EB5D10D8 /* NSRegularExpressionExtension.swift in Sources */, + F346DB25333CE75BFB18C6593C562037 /* PlainKeystore+ObjC.swift in Sources */, + 051AD4160E32E958586C7F2F62C23172 /* PlainKeystore.swift in Sources */, + 5C55F3DE15A87BC02CF66FE4EC78B387 /* Promise+Batching.swift in Sources */, + BA7CF16E10824FD60A7B3706DAF36443 /* Promise+HttpProvider.swift in Sources */, + 828C7ABD4A0AE0960760866B17AD94B1 /* Promise+Web3+Contract+GetIndexedEvents.swift in Sources */, + 980449BCD84EFBE6174DB967E62EE02C /* Promise+Web3+Eth+Call.swift in Sources */, + 0059405B888945E190437148D57D390D /* Promise+Web3+Eth+EstimateGas.swift in Sources */, + 5424161BE3E074F4E7FEB20105CF2DEF /* Promise+Web3+Eth+GetAccounts.swift in Sources */, + 5CBEF893697D411E6DAFF8283DBF5C1B /* Promise+Web3+Eth+GetBalance.swift in Sources */, + D805859BE5C06581BC912A50A95864D5 /* Promise+Web3+Eth+GetBlockByHash.swift in Sources */, + CAE711EB66D527E3FB43776CF276843B /* Promise+Web3+Eth+GetBlockByNumber.swift in Sources */, + 074311E7BC28C29F29C28D05D1496B54 /* Promise+Web3+Eth+GetBlockNumber.swift in Sources */, + 795DED671E284726E82F7B29C8D84E1C /* Promise+Web3+Eth+GetGasPrice.swift in Sources */, + 5B2CC610F0124B9A9C82A288860CDC34 /* Promise+Web3+Eth+GetTransactionCount.swift in Sources */, + 1728A542D46BD6132968D04D711A9588 /* Promise+Web3+Eth+GetTransactionDetails.swift in Sources */, + 9A76F4002962256CFD034CC3C39BFC60 /* Promise+Web3+Eth+GetTransactionReceipt.swift in Sources */, + BFCC5A2946BC13B6443A9FE73500D6E6 /* Promise+Web3+Eth+SendRawTransaction.swift in Sources */, + B5F5721D6331C7D47FB48C673155A8EA /* Promise+Web3+Eth+SendTransaction.swift in Sources */, + B695CE625BBFAB10171B18CFE6CE271E /* Promise+Web3+Intermediate+Send.swift in Sources */, + 5884800813971F246B42526DC8FC3B85 /* Promise+Web3+Personal+Sign.swift in Sources */, + 4CC6D90B4992919977240F7380448848 /* Promise+Web3+Personal+UnlockAccount.swift in Sources */, + 8CBD2840D5CF4328E1F16FABAE55137F /* RIPEMD160+StackOveflow.swift in Sources */, + A46E62AFBC76EAFED17097838AFC58E1 /* RLP.swift in Sources */, + BCA8203FBB463DF9AD3618518BBD5D7D /* String+Extension.swift in Sources */, + 6B5CE1AEB9E558B70C951801D35FD55E /* TransactionSigner.swift in Sources */, + EA13ACA8F3D959E99B0316C7DCE512A6 /* Web3+BrowserFunctions.swift in Sources */, + 324B8D907DD24DC359F04AA6C542B087 /* Web3+Contract.swift in Sources */, + B252621428A77550F451918D3F97E6A9 /* Web3+ERC20.swift in Sources */, + 6B861CBC3B90D10C8CDBAC5D0E01743D /* Web3+Eth+ObjC.swift in Sources */, + 09F823407F1CF54E8E612A6A5B95D275 /* Web3+Eth.swift in Sources */, + 311DD072B99C375FA72BED3BEF6FAF02 /* Web3+EventParser.swift in Sources */, + 8A4FB72AE3DADD0BB406C21178861D3C /* Web3+HttpProvider+ObjC.swift in Sources */, + 44FDB7930C97998341299AC19CD52336 /* Web3+HttpProvider.swift in Sources */, + B80E8DC58BACAE173A61AB492B89E97C /* Web3+Infura.swift in Sources */, + CAA2C6EC03DB5574AA1B639894CB338F /* Web3+Instance+ObjC.swift in Sources */, + D04490D6A1E9627156186C5EF0025EDD /* Web3+Instance.swift in Sources */, + 464FF1817C50D833815517539FE13BAD /* Web3+JSONRPC.swift in Sources */, + EC76C253793BBAB13A244EFE1A98619F /* Web3+Methods.swift in Sources */, + B288CCBB9F4B15DBF6A61AEDB921328C /* Web3+ObjC.swift in Sources */, + FF4D62310B934389B147868EA7D5E720 /* Web3+Options.swift in Sources */, + 0C841B2C6A190FB7458744E4D635B9ED /* Web3+Personal.swift in Sources */, + E8658C4D90A1C534C6B834800E5F0CBC /* Web3+Protocols.swift in Sources */, + F0B763BBACB1D83893F9AC263E2E94D5 /* Web3+Structures.swift in Sources */, + EBDB217F6C107E06FC5E19EFE340F40F /* Web3+TransactionIntermediate.swift in Sources */, + AC498DEA150B4854494EE3B499B1E74B /* Web3+Utils.swift in Sources */, + 9E017EE35E02E183B048B58B739A72DA /* Web3+Wallet.swift in Sources */, + 6031615CB271AAFFE43DAB124BE8A6BC /* Web3.swift in Sources */, + A83B2E3460B4EE8E9FEF5F63ECC58B87 /* web3swift-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 552DE267AA2D2460F5728C085566B604 /* Sources */ = { + 546DA02918E00087C8868D2428514721 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B248D148FE951A0655197593FABD5BF7 /* after.m in Sources */, - 061CD8DF38E45A06BCA57538669821F8 /* after.swift in Sources */, - 48455593A60C3CA87A214694EF5D1873 /* afterlife.swift in Sources */, - 1B3A7F77E5D5CE5F8E299A6B6FC3239D /* AnyPromise.m in Sources */, - E414C892B9DD5C86CF589F3C119330C3 /* AnyPromise.swift in Sources */, - 58560D5361D4C0DA182EDE13BD4BF20A /* Box.swift in Sources */, - 4D3407C41F4EEB3975ACE1EED0B49A16 /* Catchable.swift in Sources */, - 9C99049FC31F95572D2E8F8D8A159681 /* Configuration.swift in Sources */, - 4C3CAE4E66950002C334290828030002 /* CustomStringConvertible.swift in Sources */, - 3CB94F4227FD789E4DF19BE266778FA8 /* Deprecations.swift in Sources */, - 337A8793B004627DE63C9C9F3718957B /* dispatch_promise.m in Sources */, - 49DD2B0B8B0B0E37B1823A8AA30CD26D /* Error.swift in Sources */, - CF2D9BDBC33A9414DDEBF3BA43546D67 /* firstly.swift in Sources */, - 403488C6FD6D81EC1837EB3785B143A7 /* Guarantee.swift in Sources */, - F655EFB3487D02AF6B56FD352C326EF5 /* hang.m in Sources */, - A8FFEB53432DC4F2885A8CD8E1E9870E /* hang.swift in Sources */, - 4144EBF3173A41E918C16A79249458E3 /* join.m in Sources */, - 3B670C333D1FA4301955FC92E0ADE64A /* NSNotificationCenter+AnyPromise.m in Sources */, - 916D4FB604792532AFA1C162DECB998D /* NSNotificationCenter+Promise.swift in Sources */, - 1802CDD64DFC896D6C4107DE83FB1BF2 /* NSObject+Promise.swift in Sources */, - 68C3B925415233905445BBC632E33D98 /* NSTask+AnyPromise.m in Sources */, - F6BDDA6489801D31B93897C692036EED /* NSURLSession+AnyPromise.m in Sources */, - 836C8A3CCAD5C5FE68F01D5B3AB57174 /* NSURLSession+Promise.swift in Sources */, - D5E62815F43DB6C9CBF0DEA75BC88E8D /* Process+Promise.swift in Sources */, - FAD004A3C7DC1D0D87FFF0C642A98A86 /* Promise.swift in Sources */, - 21BEF33F6A2B374B486F089628B99B25 /* PromiseKit-dummy.m in Sources */, - 1AA2BEDB70F75FB46C0DDEAF37624686 /* race.m in Sources */, - 6F853D5E1F77B742C8BC832153D2CFB7 /* race.swift in Sources */, - A80D6A613610153FFF343C7385871FE8 /* Resolver.swift in Sources */, - 0F0DCA8CBC42D5EBFAE1401F86393B1A /* Thenable.swift in Sources */, - 7EC88E86E051E823EE620293A70225BB /* UIView+AnyPromise.m in Sources */, - 1A4B5F4283534B7876F0797D79743E7C /* UIView+Promise.swift in Sources */, - EFB65DCDDA87312B24CDDC1F7132FA4B /* UIViewController+AnyPromise.m in Sources */, - FF8CB400714408878D8321DC83943490 /* UIViewPropertyAnimator+Promise.swift in Sources */, - F478A3B08D8979D2B11FC7EC2576FA53 /* when.m in Sources */, - DF0D4847B87A1A34C252A22B47A68A8D /* when.swift in Sources */, + C4A159272AB81264556274A5548B1779 /* after.m in Sources */, + 3DBD2C1D797EFC53BB001EB1D6C96BE7 /* after.swift in Sources */, + 6A18E0B8ED23E948F38FA672542C0134 /* afterlife.swift in Sources */, + 16A37275A64EDC8D057D8793601091C1 /* AnyPromise.m in Sources */, + 605E9831CB62A4E917E6296572119554 /* AnyPromise.swift in Sources */, + 22D70E35B0800D871B84700928E26266 /* Box.swift in Sources */, + 91F2CBDDB29F4BB4CDA58D4F5B628A8F /* Catchable.swift in Sources */, + 405BD7964F4B4EEF44FF3054C2F6C3F6 /* Configuration.swift in Sources */, + 6A2336254B24BF2B93D7D8E39BE294B7 /* CustomStringConvertible.swift in Sources */, + 09321ED82C7D46C3A861780082FE2BBE /* Deprecations.swift in Sources */, + 4BF84961F4CACCF4703A5AD0E128033E /* dispatch_promise.m in Sources */, + C91C671AF2954E63C3FE6ED9D8DFBB8A /* Error.swift in Sources */, + 3F7875216E3000A0AD8DD9566A69D50E /* firstly.swift in Sources */, + E9A859662335ED59C23A2FE20A4DCC17 /* Guarantee.swift in Sources */, + E2D009FA4672CF59190FF304D3BE9DD3 /* hang.m in Sources */, + C28EEF13C3B8ADE2E1AC2FAE81CE3BAF /* hang.swift in Sources */, + 359DF64332B137A22F623BDBFE283662 /* join.m in Sources */, + AC15ABA398755E9185F250429C92E4B7 /* NSNotificationCenter+AnyPromise.m in Sources */, + C9A75595DF17AECC63A535838EC2C283 /* NSNotificationCenter+Promise.swift in Sources */, + AA191D63396A0B50692FE300FEEEE606 /* NSObject+Promise.swift in Sources */, + 7EC2EF142B1C606B1D8F2DE063CF9A8C /* NSTask+AnyPromise.m in Sources */, + C3DC6482055977725FEB1E35661DC0F5 /* NSURLSession+AnyPromise.m in Sources */, + 4F303678FF7DDA68695B989311DD33B4 /* NSURLSession+Promise.swift in Sources */, + 3F0FAD3B01F01B0C450A7ED622344733 /* Process+Promise.swift in Sources */, + 5B7CABA7F60DDB6278C59F7107742033 /* Promise.swift in Sources */, + E4DF114E5136E741076C207866A9C4FB /* PromiseKit-dummy.m in Sources */, + 10CB8C1B8BD3488CF50B902BB86709F3 /* race.m in Sources */, + 6C46373BE1A126517B4FF02B59D985A7 /* race.swift in Sources */, + 6653B8B318CB15A8781326AC664196E3 /* Resolver.swift in Sources */, + 7338C3A1BBB90C58A2F63AD01A2FB4B6 /* Thenable.swift in Sources */, + 056D9F9029F5538C0D5AC9FFF9575693 /* UIView+AnyPromise.m in Sources */, + 6FCD25230BA4E0B39D3CDD9D8AE1299F /* UIView+Promise.swift in Sources */, + 5D50C194C45265600EF508EBAA45E587 /* UIViewController+AnyPromise.m in Sources */, + 6B306FD8E0F52DD895310B95070F9C30 /* UIViewPropertyAnimator+Promise.swift in Sources */, + D67F25162A93B2ECBB8B8709ECA66879 /* when.m in Sources */, + 78B2A1FCF0C8FA91993663201251B82E /* when.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 75CF15D54090EDCFDF8B670A39424F28 /* Sources */ = { + 64E1BF62E9582C789401F5E8C00B99DA /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A60E9D71694BFC11E2A9A86B8C1B0095 /* ABIv2.swift in Sources */, - C976B78DB3A9AE8CA86A6C9634D9B476 /* ABIv2Decoding.swift in Sources */, - C00477878E267142569D0C12C78018BC /* ABIv2Elements.swift in Sources */, - 1C161B8EA65B5BDAE68E60F1554853DD /* ABIv2Encoding.swift in Sources */, - 873DE3CC5FB993DC11904D529384C888 /* ABIv2ParameterTypes.swift in Sources */, - F392AA2B2B63A326860A273536FD150D /* ABIv2Parsing.swift in Sources */, - 05DCD2FC5F3843251C1B431881F46A15 /* ABIv2TypeParser.swift in Sources */, - 4E3FDA58133BED7E50509490CD6FD4F4 /* AbstractKeystore.swift in Sources */, - 8517DDE6E73644C042195E2C78A312E6 /* Array+Extension.swift in Sources */, - 8E67099B57DC9596F3EA8ECD4E33CBE4 /* Base58.swift in Sources */, - 52FB513158120D5E9A5D0F389C8B4705 /* BigUInt+ObjC.swift in Sources */, - 00A7C1597DE9265F746EA649878A668C /* BIP32HDNode.swift in Sources */, - 68967D93A7040322F28E032A686ADDB8 /* BIP32Keystore.swift in Sources */, - 37F32E3E1902C1C57EEC4067E506189D /* BIP32KeystoreJSONStructure.swift in Sources */, - 543D935BDB2B65030F4F1CC620E38CC2 /* BIP39+WordLists.swift in Sources */, - 02B1E2D6F7BBED451D46B09035722FA0 /* BIP39.swift in Sources */, - EFE805A3CA08B8838793F8E245B5ECE3 /* BlockExplorer+GetTransactionHistory.swift in Sources */, - 975D0B554704CA112AE1A7071249F89F /* BlockExplorer.swift in Sources */, - 45EE1E43188FD2E7FC8B2D5030BFC973 /* BloomFilter.swift in Sources */, - 4739C9EEFC54F5C097D8D9D86CECEC2D /* ComparisonExtensions.swift in Sources */, - BDB8D41248A445BAFA1149FB0649B411 /* ContractABIv2.swift in Sources */, - 2498514CC27CCDFE8E81FAE89A1A286B /* ContractProtocol.swift in Sources */, - 726BB598C1055EDC9C6423E70C91C90A /* CryptoExtensions.swift in Sources */, - 890D1216015AC23C813DD998F3D0BD6A /* Data+Extension.swift in Sources */, - 37457234666FBA7DF56C16652038067A /* Dictionary+Extension.swift in Sources */, - 9D526303604B00B72758C41A697E5995 /* EIP67Code.swift in Sources */, - 0BC51526B2D3116FE16EBE44DA507D3C /* EIP681.swift in Sources */, - ED758B1BD45542378CBF6391BB8C5488 /* ENS.swift in Sources */, - 58ACD248746150D1523327FBE5B37A1C /* EthereumAddress+ObjC.swift in Sources */, - 970434B3CDFCB829040B04EB0280678E /* EthereumAddress.swift in Sources */, - 30E55EC1173BE1FB08D744675769DBD2 /* EthereumFilterEncodingExtensions.swift in Sources */, - 7D67866AC6C3A9D16FE90065AADC0149 /* EthereumKeystoreV3.swift in Sources */, - 5C54B9B9E5E0B285872796330B999044 /* EthereumTransaction.swift in Sources */, - AD7D2F8C362981D42EA5497CC71F7737 /* EventFiltering.swift in Sources */, - 86F8EB37DA0D0B1894675C2A41A949CE /* IBAN.swift in Sources */, - 045FA7F5C4FA073D115933C8046C954D /* KeystoreManager+ObjC.swift in Sources */, - B6626A2B587568E2256A791C094CDF0E /* KeystoreManager.swift in Sources */, - 5DB7A571F556449AD9706B01CB07EA6A /* KeystoreV3JSONStructure.swift in Sources */, - 8B28B522A60F6F1A0BEC7E64514B0976 /* LibSecp256k1Extension.swift in Sources */, - 5A62E1514221B943B7A3D3946E7C33F7 /* NameHash.swift in Sources */, - 68C039D30A4BD8D39DF56B559B4ADB68 /* NativeTypesEncoding+Extensions.swift in Sources */, - E37A842880FB67BC31021D43DF112704 /* NSRegularExpressionExtension.swift in Sources */, - 9E61496223A21B14280586F3E47065BC /* PlainKeystore+ObjC.swift in Sources */, - 0075468647D0FFC3AAED89F1F23D66CF /* PlainKeystore.swift in Sources */, - 64B367DFA40AC646E11DAB819B0E292E /* Promise+Batching.swift in Sources */, - 31BE361F12FECC822B92E13681857FD0 /* Promise+HttpProvider.swift in Sources */, - 331CE8D8224F71C9D3D70DC1801A1715 /* Promise+Web3+Contract+GetIndexedEvents.swift in Sources */, - 22FD54B4C827131C4D684D2EAA053145 /* Promise+Web3+Eth+Call.swift in Sources */, - DF7F955F953C523ECE12E71C4990F56A /* Promise+Web3+Eth+EstimateGas.swift in Sources */, - BE321B31D7AFC12E0BF53438F00832FB /* Promise+Web3+Eth+GetAccounts.swift in Sources */, - E17468799BD83B1D0859237015708D37 /* Promise+Web3+Eth+GetBalance.swift in Sources */, - 0C76323B6074D43A33E958630E2FA2B8 /* Promise+Web3+Eth+GetBlockByHash.swift in Sources */, - 3B85CE7D9D64282311FA54DBC8286756 /* Promise+Web3+Eth+GetBlockByNumber.swift in Sources */, - AE94E5909CD8A6A29021E7DB20613096 /* Promise+Web3+Eth+GetBlockNumber.swift in Sources */, - 859729A76D2AFAB1080AB8E850982E4B /* Promise+Web3+Eth+GetGasPrice.swift in Sources */, - 56ACBF1330E1BDB853FC94E16E41A0C7 /* Promise+Web3+Eth+GetTransactionCount.swift in Sources */, - 7E314E370D8E63F9D28EB4D83FF125C5 /* Promise+Web3+Eth+GetTransactionDetails.swift in Sources */, - 21C57C5726D2EB337172882289EBA3B6 /* Promise+Web3+Eth+GetTransactionReceipt.swift in Sources */, - 4AACA123F47301AFCECF75FE8D86BBBD /* Promise+Web3+Eth+SendRawTransaction.swift in Sources */, - BEDBDFC232562E554358904415EE39B1 /* Promise+Web3+Eth+SendTransaction.swift in Sources */, - C970C24BFEAF379BB919A0CD4B1FE320 /* Promise+Web3+Intermediate+Send.swift in Sources */, - AF86C21D7723F3C8030AF9530676083E /* Promise+Web3+Personal+Sign.swift in Sources */, - B3FEBCC1E6F68131A464D2D28417BA24 /* Promise+Web3+Personal+UnlockAccount.swift in Sources */, - 91C565DE7355FB1961E40D10EE14CDBE /* RIPEMD160+StackOveflow.swift in Sources */, - 7DB611371F67DF74D20797AD0B4B3032 /* RLP.swift in Sources */, - 6795E9608781C7A1914DBFC1D1B3BBD0 /* String+Extension.swift in Sources */, - 3F1665AFCA874E77038222C32CA21CF4 /* TransactionSigner.swift in Sources */, - 4AB8899CD9B274899C569E8E4F6B8163 /* Web3+BrowserFunctions.swift in Sources */, - 8C4634FA8F9D714321F3973BAC3756CD /* Web3+Contract.swift in Sources */, - A10552DA49C1B421E22D5BBD00043EB5 /* Web3+ERC20.swift in Sources */, - CB2D6447D8F5DE72BEF8DC58E09758C8 /* Web3+Eth+ObjC.swift in Sources */, - 948850F4D9DCBDA7885F96517F7C93B2 /* Web3+Eth.swift in Sources */, - 838FC79B49A0DD9506EDFF36DC730262 /* Web3+EventParser.swift in Sources */, - 08126F596F171C58B2CDD7314A1129D6 /* Web3+HttpProvider+ObjC.swift in Sources */, - 655563EF592B664426E4F924AD94A1EE /* Web3+HttpProvider.swift in Sources */, - 36306880A632F6028A29C9EF3AF21D76 /* Web3+Infura.swift in Sources */, - F3B5788DE236BC5FDC36A19160E3A121 /* Web3+Instance+ObjC.swift in Sources */, - BBC3534E14BA11CE9BCF8FA0848D76D4 /* Web3+Instance.swift in Sources */, - 465596376950D8BA52A52DF91185308A /* Web3+JSONRPC.swift in Sources */, - 202EDC7A61D90D385D5A163E66665BF7 /* Web3+Methods.swift in Sources */, - 1774B3B2CE80448F302A78251D87401A /* Web3+ObjC.swift in Sources */, - 45216D6980BC449A1E84C0C6CC1AA6F9 /* Web3+Options.swift in Sources */, - 78FD627F252ED1A0015EE533DD68C2FF /* Web3+Personal.swift in Sources */, - AEDEB90675798B030C87A90F64EBE68A /* Web3+Protocols.swift in Sources */, - 6B5044E9BC84F66C42F5923359015BF8 /* Web3+Structures.swift in Sources */, - 99F02A84D0D5E2765EE4F4C4AA684A63 /* Web3+TransactionIntermediate.swift in Sources */, - 27FE3E93F1532DBADEF4E265BECD3B77 /* Web3+Utils.swift in Sources */, - 7528DA81FC748DE3FC4BBCD0A2E1400C /* Web3+Wallet.swift in Sources */, - E2262EC80364EF8400960EDAF09318D9 /* Web3.swift in Sources */, - 77178248CD6460B5432AC6DFC3579E23 /* web3swift-dummy.m in Sources */, + 5C1069C6EC60175E44BCEBDC0E34805A /* BufferStorage.swift in Sources */, + 2453DCCE0591C08C9EB5DBAF48DCE56E /* Cimpl.c in Sources */, + BEBA6B8DBBE92B3FABF2089C111896DF /* Salsa.swift in Sources */, + 3D6DEB06562C0F35F36447D324F7B881 /* scrypt-dummy.m in Sources */, + 3D5D0963234AB64C9D426B8758656C47 /* Scrypt.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7845B68B8E520FB143745DE94DEF574C /* Sources */ = { + 6E0F950F1064712885A5DD5D77ACA06D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3CB14077F8EC08C91CC67F7A527B417E /* AEAD.swift in Sources */, - 48388B84776F7C1407A1E118B089CBEA /* AEADChaCha20Poly1305.swift in Sources */, - 595B8A2A0CCEBF78C630FF9978F29AB7 /* AES+Foundation.swift in Sources */, - 13DFC709B5090CE924800551AE5D9808 /* AES.Cryptors.swift in Sources */, - 1AEA4CC9FAFDF49652633E9DBE16D80E /* AES.swift in Sources */, - 778848906301AB76386C72A37543BE52 /* Array+Extension.swift in Sources */, - EEBA55F15AFE35277B68E8ECF0006359 /* Array+Foundation.swift in Sources */, - 36CD9E2F0BD86A31E701E02DAB5AE6F2 /* Authenticator.swift in Sources */, - 46D913BB12854D13B0F897B37C0645A4 /* BatchedCollection.swift in Sources */, - 78589BD06CD8A1E65939A186F9EF2AB5 /* Bit.swift in Sources */, - C0CB7BA8B8378B845E1231E46A00302F /* BlockCipher.swift in Sources */, - 49FEEA70ABC39AF55CD97D81857EF07E /* BlockDecryptor.swift in Sources */, - AB9668A6835AEC7962A3C7768ADAAA56 /* BlockEncryptor.swift in Sources */, - CFA93FAF0D4ECF135C0F0E190C6C170E /* BlockMode.swift in Sources */, - E5E3667FFF55ADA12DD9114649E29031 /* BlockModeOptions.swift in Sources */, - 5A6C4BA33ADE33CC6B382B120B679237 /* Blowfish+Foundation.swift in Sources */, - 3C3E2109D1CACB25EAFAF06D4238567E /* Blowfish.swift in Sources */, - 43FD8DB1CCB725A4FE8894835801F3EB /* CBC.swift in Sources */, - 88ED6F7E091B1D56573DCEFA4F60B010 /* CFB.swift in Sources */, - 9D39EF4996CB92E27C1BAF0651E2C242 /* ChaCha20+Foundation.swift in Sources */, - AB905E3B9A9CB2C8F126AB2F7A985B63 /* ChaCha20.swift in Sources */, - 68AC0F69139647F7B018BBF14976F577 /* Checksum.swift in Sources */, - A2800740B805FE08662A48D9C0CFF49E /* Cipher.swift in Sources */, - 0E285E910A32BEC3C90AE7FCD361AD63 /* CipherModeWorker.swift in Sources */, - C8FD04BAEFFFEF92BF2303ACA42207F6 /* CMAC.swift in Sources */, - 19127EBDCFDCA18FB791457D9636554A /* Collection+Extension.swift in Sources */, - E738C32AC026327A0C48144C7979EC30 /* CompactMap.swift in Sources */, - BAB523E44314747F529F07E9D858D0A9 /* Cryptor.swift in Sources */, - 8008DD7D87F87B9E3D5ECEA3467E1A9C /* Cryptors.swift in Sources */, - 681FBF1DE7F5E28A656C33C24795C69D /* CryptoSwift-dummy.m in Sources */, - 16BD01485AEA764E1D7AE403EDAA7CAC /* CTR.swift in Sources */, - E6B051B4B35607992353F833DE6578C1 /* Data+Extension.swift in Sources */, - 69B43E85EA9FD569A466BE6BA94A5F86 /* Digest.swift in Sources */, - FBF77F35D1FB8C0B49461F323CC64EF7 /* DigestType.swift in Sources */, - 809461B522DAD1CC4DA7B304793057A5 /* ECB.swift in Sources */, - 168BDC656BAAED4F5FC8CF368D073EF2 /* GCM.swift in Sources */, - B6DFE0242C66C8E98A2F6825401A50B1 /* Generics.swift in Sources */, - 8E5BF109ABE01A8C75C78AEB7B902FC3 /* HKDF.swift in Sources */, - 104041B63A33F6C978EBE1042E7F36C6 /* HMAC+Foundation.swift in Sources */, - 4DEA27C788BF3119B52411CCB2922FB2 /* HMAC.swift in Sources */, - 0069D192EEB5FD6E4FE6CE081766BF84 /* Int+Extension.swift in Sources */, - 84BCF4CADBC4D7DDA795387EC0AC07E7 /* MD5.swift in Sources */, - 7CF47931D812B23E671EC0DEA0706DFA /* NoPadding.swift in Sources */, - DE5662D83AD07D877CB46011E963932B /* OFB.swift in Sources */, - 7F77F6FF53784ED6A5A93AC3D548F02A /* Operators.swift in Sources */, - 76470FC323983D6226BCF68B1164E3F5 /* Padding.swift in Sources */, - F29E02078681BBB088849F8B66655247 /* PBKDF1.swift in Sources */, - DCEFC750784BC92CC015B9B973982194 /* PBKDF2.swift in Sources */, - 6951FF81102CC5BFF9688FD32F93DB93 /* PCBC.swift in Sources */, - 872CC7E11DB7B5D9E47440A739E574AB /* PKCS5.swift in Sources */, - DD69B45CCE6E9919A0D08FE9498D2B2E /* PKCS7.swift in Sources */, - 011C7540AA287C97361474C15BEC543C /* PKCS7Padding.swift in Sources */, - F95D72C282B42FFE8FE2F10C0AB327F2 /* Poly1305.swift in Sources */, - 76B563B51D27673895764F16C48D5E24 /* Rabbit+Foundation.swift in Sources */, - FB20391449E34100261FC37107DC6078 /* Rabbit.swift in Sources */, - 1F775B3A5B3F7AD66C937140F5D64981 /* RandomBytesSequence.swift in Sources */, - 090FC12C45ED8F6A69B4E632DFE94915 /* SecureBytes.swift in Sources */, - 57EE2999B5A42AB125DE111FD58382E8 /* SHA1.swift in Sources */, - EC5E4784D34A1D2A17EEDD85A46D465A /* SHA2.swift in Sources */, - D1F5CB987F614989A6C17C93F2DD5EE8 /* SHA3.swift in Sources */, - 36A0040F0878B1983F1EA1303DEA3A8A /* StreamEncryptor.swift in Sources */, - 3A0B9F7D652FAD6B6F41E8ECBC672B2E /* String+Extension.swift in Sources */, - 1819715D4AE9B9E34CC6884404B925A7 /* String+FoundationExtension.swift in Sources */, - 9032FD5A6851FA0796FE178236BE9949 /* UInt128.swift in Sources */, - 4E6B32A3483F0BFABBD797909A9DEF6E /* UInt16+Extension.swift in Sources */, - 5BDE74041F9724B7C2A40FD1FCFA45F0 /* UInt32+Extension.swift in Sources */, - 63DE145E1764A86D1ABB97F789625268 /* UInt64+Extension.swift in Sources */, - 17A85E0EC18A32952F779A75E09AB131 /* UInt8+Extension.swift in Sources */, - 7EFCEF370D1273ECA03178E054495922 /* Updatable.swift in Sources */, - 72C25CF4053DCD62E5447817C0B9221E /* Utils+Foundation.swift in Sources */, - 822D2EB3DC201386CF9DF682794D91F7 /* Utils.swift in Sources */, - 7879C44114E0F4F770B0E68610F5ACFB /* ZeroPadding.swift in Sources */, + 5403E57738826E187DE7C32E729B3B91 /* lax_der_parsing.c in Sources */, + F3A20CBEDEBAAD24FF1C6EF6A14CE368 /* lax_der_privatekey_parsing.c in Sources */, + 3697589947BBEDE71944356FE6CE4362 /* secp256k1.c in Sources */, + D2891D4FDCB1E6909DDE3C6681C6412D /* secp256k1_ios-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - D0AC93315DC7E224CAFDF4FDBCD3DB40 /* Sources */ = { + 876CA817B2DD9F8DD2A4932BACF03F12 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - C8218EC292D51987B5ABF02470D28BF8 /* lax_der_parsing.c in Sources */, - B1E21083CCF70CA10BCFB0D6BDF4DC7B /* lax_der_privatekey_parsing.c in Sources */, - F41F4AAC34AB627DE3BEE8826AA9D736 /* secp256k1.c in Sources */, - 97E9D2C351BA784EAB933580AD206C13 /* secp256k1_ios-dummy.m in Sources */, + 1C6305612C71BA4A41EA3EE86EF9DE98 /* Addition.swift in Sources */, + 9A683FAB2843A7181358FFC2F9AA7FAA /* BigInt-dummy.m in Sources */, + F1631F5F7CD77D9527E4FE5EEFBCEB3D /* BigInt.swift in Sources */, + CAF579CC2CED09FBDCE2864827B8A085 /* BigUInt.swift in Sources */, + 22FE67B665841A937E8D95D9DBCC7EB7 /* Bitwise Ops.swift in Sources */, + A6B9BF2F0D5DEA52AC43A9863779A093 /* Codable.swift in Sources */, + B7F3D476C87C0EC57139955A579FA3DC /* Comparable.swift in Sources */, + E8CA9824DFEFDBE5FC430276A237F97B /* Data Conversion.swift in Sources */, + 34B17DF22062E35B740FA4AA29300ED0 /* Division.swift in Sources */, + 910DECB543C55FB96E09E4E2557A6755 /* Exponentiation.swift in Sources */, + 9DA1244904AD9E535DFE95EC136A5799 /* Floating Point Conversion.swift in Sources */, + 11155D066240AA9BCB5FB19A8915C253 /* GCD.swift in Sources */, + B514B4E9DB02B1EC4321D62DFA0524A1 /* Hashable.swift in Sources */, + 69E6BE13070187CED87503CD613CAEE1 /* Integer Conversion.swift in Sources */, + 9AE3952131E530F55D34A350ECC9B909 /* Multiplication.swift in Sources */, + 288250141FA353726E30472933B3E9DC /* Prime Test.swift in Sources */, + 43A213F845B41C54A0C6E74E216D28E5 /* Random.swift in Sources */, + FFBA8696A49B49BA33D1499546FCEC58 /* Shifts.swift in Sources */, + 60D03407C65DD41B77633BEBA45350BD /* Square Root.swift in Sources */, + 088387733523D1CAFA7D4DC267EA4433 /* Strideable.swift in Sources */, + EE851A358B5CFC5DB55B649D4E0F6817 /* String Conversion.swift in Sources */, + 541EE41CC83131708FC4873E24EB6813 /* Subtraction.swift in Sources */, + 5ED753E367A75BE0055D8AADD86B71CB /* Words and Bits.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E2D6BCD5E5A99E5CAB3F3FBB1D6EC36E /* Sources */ = { + 92881122437CB3C21DE6947CADDF0A60 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A3990AC532A16D984A30B92171E19633 /* Addition.swift in Sources */, - CFCEF00E9F843C0E9885D25D3FE776AD /* BigInt-dummy.m in Sources */, - 1393314FA30ED036A4876EED12EF15DF /* BigInt.swift in Sources */, - B9D179880E2C5A583513BF6086375292 /* BigUInt.swift in Sources */, - E98669BD82B8EF36AA49932E9A1C5559 /* Bitwise Ops.swift in Sources */, - 70C753C56B4C246E2B038E4F94BF0BBF /* Codable.swift in Sources */, - 37741FB620689069751B06889B7C7143 /* Comparable.swift in Sources */, - CAF7F95BAAA850711BA9ABB88C4DBE58 /* Data Conversion.swift in Sources */, - 8606AA654F3D24B407E7274A9BB3995F /* Division.swift in Sources */, - 2A8F6944A9B01C4D77F755677E3B50CD /* Exponentiation.swift in Sources */, - D42866E9D1CC9FAA8B4D290D9021ADED /* Floating Point Conversion.swift in Sources */, - 6EBEEEDAACA227734E95EA5211665100 /* GCD.swift in Sources */, - 718236F77969D41EA45AE28A7EF14E52 /* Hashable.swift in Sources */, - 42911B8E04109940D27D03B76FDB71DA /* Integer Conversion.swift in Sources */, - CF3EE764A7A7F7F57EB8610C7E684B04 /* Multiplication.swift in Sources */, - F78C1DE8D506C812DCD441568DD25248 /* Prime Test.swift in Sources */, - A2282701DE9BC91494A2065F23824272 /* Random.swift in Sources */, - 39CDE4B10C60D85F37F77C939C51E074 /* Shifts.swift in Sources */, - 1EE14F44BE6D7C6D015982EBCB62366B /* Square Root.swift in Sources */, - 2B4AEEF5291AF4C54375103E51B33EED /* Strideable.swift in Sources */, - 1418FE8C38CFB0A63618CB505778FF1A /* String Conversion.swift in Sources */, - 4CFF75EF09263579007C95CD2C296463 /* Subtraction.swift in Sources */, - 0E595594925920B81CBDC1EF1F737727 /* Words and Bits.swift in Sources */, + 8FC26FC4527AC222B1C2F40D4E1F3D81 /* Primitive Types.swift in Sources */, + 1C53AF4113DA6608A4B207AFF139039A /* RandomUInt64.swift in Sources */, + 373BCBD3BAFD4EEF405BA6A4B1DD206B /* SipHash-dummy.m in Sources */, + 03FA8EDEAAF28C2F20B6134374C42DAB /* SipHashable.swift in Sources */, + F79164F06C90C81A48EB83EE0AB5F761 /* SipHasher.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 0A8C82D239CBDF1B011E11B329EA616A /* PBXTargetDependency */ = { + 101675B216693CA112E7BF6A4916EDCE /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = BigInt; - target = 23A9C77578E46AEB069BEF36B9B5ADA6 /* BigInt */; - targetProxy = 6BF9B000996DF9D64D4FE4DEECF00413 /* PBXContainerItemProxy */; + name = Result; + target = F62AF0F0F2678A4120DFF3D5D1A1F6D5 /* Result */; + targetProxy = C0A75387703F1A2B591F0E2B62AA17C2 /* PBXContainerItemProxy */; }; - 0B6AA6919B8A7CB6BC051AF90DF91D0D /* PBXTargetDependency */ = { + 21FC2C46A48807D118373974DA8B3D2B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Result; - target = C7F768100F7D32B078FA6D19893B5741 /* Result */; - targetProxy = FD3871FA93CC618634A2D7AB7E6A288C /* PBXContainerItemProxy */; + name = CryptoSwift; + target = 4DACDE493E99BF92E5758A59F946A750 /* CryptoSwift */; + targetProxy = FF6286D7A04DD3602D614132F8461043 /* PBXContainerItemProxy */; }; - 2602660D03EAE2BE41324DCD70D6B7C9 /* PBXTargetDependency */ = { + 41EDE4ED56DB3F623BD4559C442A50E9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SipHash; - target = EA114BE2D9D1BCDA6E1013C3301492A8 /* SipHash */; - targetProxy = 36A8B274F50442AE2C466F7B8C8A2E09 /* PBXContainerItemProxy */; + name = CryptoSwift; + target = 4DACDE493E99BF92E5758A59F946A750 /* CryptoSwift */; + targetProxy = F53010F9D724BDAFA36A318B5FF7C562 /* PBXContainerItemProxy */; }; - 3F569904A0954E065753A145676105A7 /* PBXTargetDependency */ = { + 527C093D030BE594366CB32AA85675E1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = PromiseKit; - target = C36167279A3ACEC5E09E05AC17E973AB /* PromiseKit */; - targetProxy = 0E01B73CC8F027E3BB675B850520B20E /* PBXContainerItemProxy */; + name = secp256k1_ios; + target = 9E6F6DA258BB741707AF260991406A45 /* secp256k1_ios */; + targetProxy = E8DB60D3DA241987C7C44C6EC105D49F /* PBXContainerItemProxy */; }; - 469BA73D7FD92EEC96D218C7F3F3196F /* PBXTargetDependency */ = { + 558007D1C33C8F94485716042C8AE681 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CryptoSwift; - target = D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */; - targetProxy = B2520BE59D3D835F91798AA0CB79DEE8 /* PBXContainerItemProxy */; + name = scrypt; + target = E73E959E8118EB238220F62E6A1C4FF3 /* scrypt */; + targetProxy = 3AA144C5877BE9850125175A628B8694 /* PBXContainerItemProxy */; }; - 4A7B421C839A9B98B687CAA8B6917FF0 /* PBXTargetDependency */ = { + 55A842667E3A7EE1434E605AA61B6475 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Result; - target = C7F768100F7D32B078FA6D19893B5741 /* Result */; - targetProxy = DAAF4FFB27B380502C83474E2C10B2C0 /* PBXContainerItemProxy */; + name = PromiseKit; + target = 2571F2C79C3D43B0220DF7B9302CB451 /* PromiseKit */; + targetProxy = 0D1A9F72CCDCF579C12409E9B6CF29A1 /* PBXContainerItemProxy */; }; - 4BC8665C320BCB284F1AB9E0F52EEF22 /* PBXTargetDependency */ = { + 61069262FD5BCD41F1C291E25CAF599B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CryptoSwift; - target = D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */; - targetProxy = AC93B93DEA6B153F441ACDD47711CB50 /* PBXContainerItemProxy */; + name = SipHash; + target = 7FF8752D2607B0617A8EA59CB6F52DA7 /* SipHash */; + targetProxy = C6C17D0086F8D9E70B8AF619657FF2BC /* PBXContainerItemProxy */; }; - 4F4E9B99540CA6BFAFEF683BB7AFA0D3 /* PBXTargetDependency */ = { + 85E12AE1342F6CE11A6D0A51BF19A624 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = secp256k1_ios; - target = 60BF36463B9896F856D87DA4DE89FBB9 /* secp256k1_ios */; - targetProxy = 1D7E7E679A2F944C7B68599B9949B3D9 /* PBXContainerItemProxy */; + name = web3swift; + target = F58417C26FE443298C1E00C34A50FD6B /* web3swift */; + targetProxy = 3BF361F176FF58861488CD8AC9683C23 /* PBXContainerItemProxy */; }; - 64DA449404BAFB38711865F0C1D0C3ED /* PBXTargetDependency */ = { + 86B1F393CB9ED43D8A25011223DE74D5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = PromiseKit; - target = C36167279A3ACEC5E09E05AC17E973AB /* PromiseKit */; - targetProxy = 6EA95E18AF08E391FC2DD079C00AC604 /* PBXContainerItemProxy */; + target = 2571F2C79C3D43B0220DF7B9302CB451 /* PromiseKit */; + targetProxy = D73B772BC92CA079BB4AC214110DC008 /* PBXContainerItemProxy */; }; - 8FD5D15A53AB1364D3C37E633E297FD9 /* PBXTargetDependency */ = { + 8702A31DAF7187F4D6BB1D2BAD874782 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SipHash; - target = EA114BE2D9D1BCDA6E1013C3301492A8 /* SipHash */; - targetProxy = BE88B88019CC73C5F4692FCFFE00A16E /* PBXContainerItemProxy */; + name = Result; + target = F62AF0F0F2678A4120DFF3D5D1A1F6D5 /* Result */; + targetProxy = 72E44D1D38734BDAA138696814FAE290 /* PBXContainerItemProxy */; }; - 9235C791AF1571AD8742EA4B298E89C5 /* PBXTargetDependency */ = { + 94400ED4462B55D92AB3F3434EA7D441 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CryptoSwift; - target = D2CEBF8355BADD8508F8266F0D4AE1DD /* CryptoSwift */; - targetProxy = D6AE6C9B739C8079861FA4830DE57BFF /* PBXContainerItemProxy */; + name = SipHash; + target = 7FF8752D2607B0617A8EA59CB6F52DA7 /* SipHash */; + targetProxy = A473519B9A29CED72398F6B36808B50E /* PBXContainerItemProxy */; }; - A3C90A98231D5DDB2A79AFA9C07695B8 /* PBXTargetDependency */ = { + B32AA7F0867CD31D1B04E18741BEDE96 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = scrypt; - target = 0E877A906EE881D9A703E2CEB69B27B0 /* scrypt */; - targetProxy = 7BD0D139C37C19537A6DF939C1048252 /* PBXContainerItemProxy */; + name = BigInt; + target = 137411A4D3CCDCAE6EE1A79271E0889C /* BigInt */; + targetProxy = 6B03F3FEA8D4D028959A9B2C1B9E100B /* PBXContainerItemProxy */; }; - BC80BF207538A95305A7D118B9B7C215 /* PBXTargetDependency */ = { + C026F72CB82C71353BE419590756240B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = secp256k1_ios; - target = 60BF36463B9896F856D87DA4DE89FBB9 /* secp256k1_ios */; - targetProxy = 51F19D8B3983CC6266B592A32F736A15 /* PBXContainerItemProxy */; + name = BigInt; + target = 137411A4D3CCDCAE6EE1A79271E0889C /* BigInt */; + targetProxy = 54CE60A631318530EC3EC73D61B6BF60 /* PBXContainerItemProxy */; }; - D0835B4CA84CEE3755B21228D6CA6FFC /* PBXTargetDependency */ = { + C527D0F9FEA1E852F1597014B62CE77D /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = scrypt; - target = 0E877A906EE881D9A703E2CEB69B27B0 /* scrypt */; - targetProxy = ABA2DC1B51EB47A1C58FD8EB202B5FAE /* PBXContainerItemProxy */; + target = E73E959E8118EB238220F62E6A1C4FF3 /* scrypt */; + targetProxy = 98EB692C3E543D16FF724F2E782AB9AA /* PBXContainerItemProxy */; }; - D5D89B0A0375005F9DC439BA79768218 /* PBXTargetDependency */ = { + D13DF1F08437330EF8FD792AAE2BB899 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = web3swift; - target = D93CC8797FA6642C382C93BBA9AE8B0D /* web3swift */; - targetProxy = 111385C619C9ADC78F47666FAA2A22A7 /* PBXContainerItemProxy */; + name = CryptoSwift; + target = 4DACDE493E99BF92E5758A59F946A750 /* CryptoSwift */; + targetProxy = 3E577688509A0DE9BF822DC3EE993820 /* PBXContainerItemProxy */; }; - E92C0852F7CA81FC3C083C6A05797271 /* PBXTargetDependency */ = { + DA628256DCE97DA23F30B6AFBAD16D9A /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = BigInt; - target = 23A9C77578E46AEB069BEF36B9B5ADA6 /* BigInt */; - targetProxy = 76DB86015CEE178C79D4F291C64586B2 /* PBXContainerItemProxy */; + name = secp256k1_ios; + target = 9E6F6DA258BB741707AF260991406A45 /* secp256k1_ios */; + targetProxy = 9769A826E3FD68B3650DDA4A69C7DEF8 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 08325AB7BA3DEA33A660C8DA62E9D84C /* Release */ = { + 22BFD353FD2E75D1195D2CE8BA4C60C0 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B81556F0FE01DF09B1A857C01311DF62 /* PromiseKit.xcconfig */; + baseConfigurationReference = 7953FD02CB8930FFAF01F2D9C9032454 /* CryptoSwift.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CryptoSwift/CryptoSwift-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/PromiseKit/PromiseKit.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = PromiseKit; - PRODUCT_NAME = PromiseKit; - PUBLIC_HEADERS_FOLDER_PATH = ""; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/CryptoSwift/CryptoSwift.modulemap"; + PRODUCT_MODULE_NAME = CryptoSwift; + PRODUCT_NAME = CryptoSwift; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.0; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.2; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 0F2AD7A3E58FD789DAFDAD2D62E8EAE8 /* Debug */ = { + 346E702BF8BE9A6F8A72F3AF3D31FCAA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B81556F0FE01DF09B1A857C01311DF62 /* PromiseKit.xcconfig */; + baseConfigurationReference = E98004D90CCD1AE45753F3C16B45091F /* scrypt.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/PromiseKit/PromiseKit.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = PromiseKit; - PRODUCT_NAME = PromiseKit; - PUBLIC_HEADERS_FOLDER_PATH = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/scrypt/scrypt-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/scrypt/scrypt-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/scrypt/scrypt.modulemap"; + PRODUCT_MODULE_NAME = scrypt; + PRODUCT_NAME = scrypt; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 4.1; TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 129C407B7AA2AA4EFFB5A2F12C7C5C9F /* Debug */ = { + 4ED436FE91391203C89FAA8D01404101 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3923B0035F9528F642633EABD2E39E97 /* CryptoSwift.xcconfig */; + baseConfigurationReference = 50ABF7F2053D09965350B67F7E0E76E2 /* Pods-web3swiftExample.release.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "iPhone Developer"; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/CryptoSwift/CryptoSwift.modulemap; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = CryptoSwift; - PRODUCT_NAME = CryptoSwift; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 1F61E648B46E8059A6BA7643BB43C497 /* Release */ = { + 562A447947920D74133BA290E544F380 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2E25A4BC37421B57AB6AFC5F6B21A519 /* scrypt.xcconfig */; + baseConfigurationReference = AC0A8F0EF2B67D8E377186D1D70E8F97 /* secp256k1_ios.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/scrypt/scrypt-prefix.pch"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios/secp256k1_ios-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/secp256k1_ios/secp256k1_ios-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/scrypt/scrypt.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = scrypt; - PRODUCT_NAME = scrypt; - PUBLIC_HEADERS_FOLDER_PATH = ""; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/secp256k1_ios/secp256k1_ios.modulemap"; + PRODUCT_MODULE_NAME = secp256k1_ios; + PRODUCT_NAME = secp256k1_ios; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.1; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Release; }; - 1F6504C4E48E957D125D98953B6D92A4 /* Debug */ = { + 5D79E193E09CFB30A0B55169310F7DB3 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4A6B1B16288DE16421DD874A78466051 /* Result.xcconfig */; + baseConfigurationReference = 4F92E92F01ED8E6C9F66CB063E0B54DD /* web3swift.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/Result/Result.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Result; - PRODUCT_NAME = Result; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 293DDB39182F265B42217C016494DB99 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = BAD8E2243595210891E90A221AD22915 /* BigInt.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/BigInt/BigInt-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/BigInt/BigInt.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = BigInt; - PRODUCT_NAME = BigInt; - PUBLIC_HEADERS_FOLDER_PATH = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/web3swift/web3swift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/web3swift/web3swift-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/web3swift/web3swift.modulemap"; + PRODUCT_MODULE_NAME = web3swift; + PRODUCT_NAME = web3swift; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 4.1; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Release; }; - 29FB8CEE5D10AEC3F56ABDDA0E163E03 /* Release */ = { + 5DAA8CBD345EE6BEE88C778C5CF7FA29 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C91E162C53A209FDFA94395F091AF0EE /* SipHash.xcconfig */; + baseConfigurationReference = 77A70D9FDCE012F5EE544AB6DF184E74 /* PromiseKit.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/SipHash/SipHash-prefix.pch"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/PromiseKit/PromiseKit-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/SipHash/SipHash.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = SipHash; - PRODUCT_NAME = SipHash; - PUBLIC_HEADERS_FOLDER_PATH = ""; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/PromiseKit/PromiseKit.modulemap"; + PRODUCT_MODULE_NAME = PromiseKit; + PRODUCT_NAME = PromiseKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -2540,144 +2525,206 @@ SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Release; }; - 50ED217796E02020588E19C68D54E32B /* Debug */ = { + 60DAF49CA7A9F362148D49C3C3123B2A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2A3B82C924810D565EACB8DD0250AF2F /* Pods-web3swiftExample.debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_ALLOWED = NO; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = "1,2"; + SYMROOT = "${SRCROOT}/../build"; }; name = Debug; }; - 513C2D1D1841AE354CC0CB3E061004D2 /* Release */ = { + 6FB81CF2DD2330D2DE32686A87AB4265 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0E2E24E6150E5C09FCC81471D9E99B90 /* secp256k1_ios.xcconfig */; + baseConfigurationReference = AC0A8F0EF2B67D8E377186D1D70E8F97 /* secp256k1_ios.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios/secp256k1_ios-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/secp256k1_ios/secp256k1_ios-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/secp256k1_ios/secp256k1_ios.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/secp256k1_ios/secp256k1_ios.modulemap"; PRODUCT_MODULE_NAME = secp256k1_ios; PRODUCT_NAME = secp256k1_ios; - PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 6108586F8F8F0257AB3167314622B299 /* Debug */ = { + 72104AC0EEC91461B4E91615AC45F74D /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A66255E5AEA5BC28BB87C3D0EFD8D2AA /* web3swift.xcconfig */; + baseConfigurationReference = 0D68B54C72B7D5CE7C1E985C3B853442 /* Pods-web3swiftExample.debug.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "iPhone Developer"; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/web3swift/web3swift-prefix.pch"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/web3swift/web3swift.modulemap; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = web3swift; - PRODUCT_NAME = web3swift; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.1; TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 6D2EF2542636FDEBC0F444BEFF0D8586 /* Debug */ = { + B2A143E70C84D9EF7E583D4309271D6E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BAD8E2243595210891E90A221AD22915 /* BigInt.xcconfig */; + baseConfigurationReference = 4F92E92F01ED8E6C9F66CB063E0B54DD /* web3swift.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/BigInt/BigInt-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/BigInt/BigInt.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = BigInt; - PRODUCT_NAME = BigInt; - PUBLIC_HEADERS_FOLDER_PATH = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/web3swift/web3swift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/web3swift/web3swift-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/web3swift/web3swift.modulemap"; + PRODUCT_MODULE_NAME = web3swift; + PRODUCT_NAME = web3swift; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 4.1; TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 70B146F75766AA3CF946169E1A7ADF8F /* Debug */ = { + BF71DBEE44C46591CDADBD2FA5066747 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C91E162C53A209FDFA94395F091AF0EE /* SipHash.xcconfig */; + baseConfigurationReference = 0AFDC4CB49065D6F6886804C0A0D945D /* Result.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/SipHash/SipHash-prefix.pch"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Result/Result-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/SipHash/SipHash.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = SipHash; - PRODUCT_NAME = SipHash; - PUBLIC_HEADERS_FOLDER_PATH = ""; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Result/Result.modulemap"; + PRODUCT_MODULE_NAME = Result; + PRODUCT_NAME = Result; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 7FC7B8135FDED1560A80CA98EC6F7207 /* Release */ = { + C4EAA84F44D044E108500A81C635F21E /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -2727,7 +2774,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -2736,168 +2783,193 @@ }; name = Release; }; - 993F1D7FAF8EFEFEB26D36763ADF08C8 /* Debug */ = { + C6DEF0B21460D49D96BE1AF8E63761E3 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2E25A4BC37421B57AB6AFC5F6B21A519 /* scrypt.xcconfig */; + baseConfigurationReference = 0AFDC4CB49065D6F6886804C0A0D945D /* Result.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/scrypt/scrypt-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/scrypt/scrypt.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = scrypt; - PRODUCT_NAME = scrypt; - PUBLIC_HEADERS_FOLDER_PATH = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Result/Result-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Result/Result.modulemap"; + PRODUCT_MODULE_NAME = Result; + PRODUCT_NAME = Result; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + D31B85A8B6B04586722894DEA839BC4C /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3842DFFAA24909073D4F960DC6AAF02B /* SipHash.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/SipHash/SipHash-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SipHash/SipHash-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/SipHash/SipHash.modulemap"; + PRODUCT_MODULE_NAME = SipHash; + PRODUCT_NAME = SipHash; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.1; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 9E9436ED9C6418E12F7A3F93C5DAB441 /* Debug */ = { + DE18D48AABF15E4D829A595909585E47 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0E2E24E6150E5C09FCC81471D9E99B90 /* secp256k1_ios.xcconfig */; + baseConfigurationReference = 77A70D9FDCE012F5EE544AB6DF184E74 /* PromiseKit.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios/secp256k1_ios-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/secp256k1_ios/secp256k1_ios.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = secp256k1_ios; - PRODUCT_NAME = secp256k1_ios; - PUBLIC_HEADERS_FOLDER_PATH = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/PromiseKit/PromiseKit-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/PromiseKit/PromiseKit.modulemap"; + PRODUCT_MODULE_NAME = PromiseKit; + PRODUCT_NAME = PromiseKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Debug; }; - B26A8C903BC8D3AE3522950A7BD2263B /* Release */ = { + DE2ECB16DFC700CDD5707D573C1D6146 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F3DB5983D5328F395EC023B6F7BA9412 /* Pods-web3swiftExample.release.xcconfig */; + baseConfigurationReference = 3842DFFAA24909073D4F960DC6AAF02B /* SipHash.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/SipHash/SipHash-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SipHash/SipHash-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/SipHash/SipHash.modulemap"; + PRODUCT_MODULE_NAME = SipHash; + PRODUCT_NAME = SipHash; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Release; }; - B4A339C5C9837FC180FD2D276CBB365A /* Debug */ = { + E1AD579831BD3594CA169600FC965C29 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 9777D406113094F2B17BC4424F7329BB /* BigInt.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_ALLOWED = NO; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.2; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SYMROOT = "${SRCROOT}/../build"; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/BigInt/BigInt-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/BigInt/BigInt-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/BigInt/BigInt.modulemap"; + PRODUCT_MODULE_NAME = BigInt; + PRODUCT_NAME = BigInt; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - B9ED7A6486BCF4D742F2D1B1CFF5570F /* Release */ = { + E5F0347BC0E158FE2D8732C36A1ABD94 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A66255E5AEA5BC28BB87C3D0EFD8D2AA /* web3swift.xcconfig */; + baseConfigurationReference = E98004D90CCD1AE45753F3C16B45091F /* scrypt.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/web3swift/web3swift-prefix.pch"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/scrypt/scrypt-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/scrypt/scrypt-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = Headers/Public/web3swift/web3swift.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = web3swift; - PRODUCT_NAME = web3swift; - PUBLIC_HEADERS_FOLDER_PATH = ""; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/scrypt/scrypt.modulemap"; + PRODUCT_MODULE_NAME = scrypt; + PRODUCT_NAME = scrypt; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -2906,156 +2978,166 @@ SWIFT_VERSION = 4.1; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Release; }; - C820CCD265BB93D16107A121C2E5EB96 /* Release */ = { + F3C67B847ABB560AB5A652532B057429 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3923B0035F9528F642633EABD2E39E97 /* CryptoSwift.xcconfig */; + baseConfigurationReference = 9777D406113094F2B17BC4424F7329BB /* BigInt.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/BigInt/BigInt-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/BigInt/BigInt-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/CryptoSwift/CryptoSwift.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = CryptoSwift; - PRODUCT_NAME = CryptoSwift; - PUBLIC_HEADERS_FOLDER_PATH = ""; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/BigInt/BigInt.modulemap"; + PRODUCT_MODULE_NAME = BigInt; + PRODUCT_NAME = BigInt; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.2; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - F6A647E0F39295E03ECEE064527336CF /* Release */ = { + FDA8F32BB0286929FAFB34336D462173 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4A6B1B16288DE16421DD874A78466051 /* Result.xcconfig */; + baseConfigurationReference = 7953FD02CB8930FFAF01F2D9C9032454 /* CryptoSwift.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Result/Result-prefix.pch"; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CryptoSwift/CryptoSwift-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/Result/Result.modulemap; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Result; - PRODUCT_NAME = Result; - PUBLIC_HEADERS_FOLDER_PATH = ""; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/CryptoSwift/CryptoSwift.modulemap"; + PRODUCT_MODULE_NAME = CryptoSwift; + PRODUCT_NAME = CryptoSwift; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 4.2; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { + 106FD454C475C642689D0E228E11702F /* Build configuration list for PBXNativeTarget "Result" */ = { isa = XCConfigurationList; buildConfigurations = ( - B4A339C5C9837FC180FD2D276CBB365A /* Debug */, - 7FC7B8135FDED1560A80CA98EC6F7207 /* Release */, + BF71DBEE44C46591CDADBD2FA5066747 /* Debug */, + C6DEF0B21460D49D96BE1AF8E63761E3 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4E0232B8BAE447830A17E134BCD5FC4E /* Build configuration list for PBXNativeTarget "scrypt" */ = { + 18A84A1682CD37CFA0F42453F6BF95C9 /* Build configuration list for PBXNativeTarget "SipHash" */ = { isa = XCConfigurationList; buildConfigurations = ( - 993F1D7FAF8EFEFEB26D36763ADF08C8 /* Debug */, - 1F61E648B46E8059A6BA7643BB43C497 /* Release */, + D31B85A8B6B04586722894DEA839BC4C /* Debug */, + DE2ECB16DFC700CDD5707D573C1D6146 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4E4F824E27325209F56A4EC7858E6091 /* Build configuration list for PBXNativeTarget "Pods-web3swiftExample" */ = { + 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 50ED217796E02020588E19C68D54E32B /* Debug */, - B26A8C903BC8D3AE3522950A7BD2263B /* Release */, + 60DAF49CA7A9F362148D49C3C3123B2A /* Debug */, + C4EAA84F44D044E108500A81C635F21E /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 5479530AA132063FEE7E1514B16AF961 /* Build configuration list for PBXNativeTarget "web3swift" */ = { + 522F15B552D0CFCBB8487B55119183C6 /* Build configuration list for PBXNativeTarget "CryptoSwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - 6108586F8F8F0257AB3167314622B299 /* Debug */, - B9ED7A6486BCF4D742F2D1B1CFF5570F /* Release */, + 22BFD353FD2E75D1195D2CE8BA4C60C0 /* Debug */, + FDA8F32BB0286929FAFB34336D462173 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 57A8C2137268F228E4AE6A14F1B64A8F /* Build configuration list for PBXNativeTarget "PromiseKit" */ = { + 5DD4B9BDB2D8AEE1E1AEF935797DDFC4 /* Build configuration list for PBXNativeTarget "secp256k1_ios" */ = { isa = XCConfigurationList; buildConfigurations = ( - 0F2AD7A3E58FD789DAFDAD2D62E8EAE8 /* Debug */, - 08325AB7BA3DEA33A660C8DA62E9D84C /* Release */, + 6FB81CF2DD2330D2DE32686A87AB4265 /* Debug */, + 562A447947920D74133BA290E544F380 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 8FBF93FB50500F9A39127B851D0248BE /* Build configuration list for PBXNativeTarget "CryptoSwift" */ = { + 64983011E689E8B1A79C910DC9586585 /* Build configuration list for PBXNativeTarget "BigInt" */ = { isa = XCConfigurationList; buildConfigurations = ( - 129C407B7AA2AA4EFFB5A2F12C7C5C9F /* Debug */, - C820CCD265BB93D16107A121C2E5EB96 /* Release */, + F3C67B847ABB560AB5A652532B057429 /* Debug */, + E1AD579831BD3594CA169600FC965C29 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - C2F0F5224D2CB877BA3BE60F8BC9AF96 /* Build configuration list for PBXNativeTarget "BigInt" */ = { + C5C5AC318E00D7989B0E7723942D7F8D /* Build configuration list for PBXNativeTarget "Pods-web3swiftExample" */ = { isa = XCConfigurationList; buildConfigurations = ( - 6D2EF2542636FDEBC0F444BEFF0D8586 /* Debug */, - 293DDB39182F265B42217C016494DB99 /* Release */, + 72104AC0EEC91461B4E91615AC45F74D /* Debug */, + 4ED436FE91391203C89FAA8D01404101 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - DF9E202F8E4A79152D39EF70F774415F /* Build configuration list for PBXNativeTarget "Result" */ = { + CF44C399FCFA5E9B656CA1C56407BE66 /* Build configuration list for PBXNativeTarget "scrypt" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1F6504C4E48E957D125D98953B6D92A4 /* Debug */, - F6A647E0F39295E03ECEE064527336CF /* Release */, + 346E702BF8BE9A6F8A72F3AF3D31FCAA /* Debug */, + E5F0347BC0E158FE2D8732C36A1ABD94 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F03D2FCD8A4F5A2AA17A4CE1442CBB2E /* Build configuration list for PBXNativeTarget "secp256k1_ios" */ = { + D73236CD3ACDF90803371F7E6C65A9DA /* Build configuration list for PBXNativeTarget "PromiseKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - 9E9436ED9C6418E12F7A3F93C5DAB441 /* Debug */, - 513C2D1D1841AE354CC0CB3E061004D2 /* Release */, + DE18D48AABF15E4D829A595909585E47 /* Debug */, + 5DAA8CBD345EE6BEE88C778C5CF7FA29 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F3F633396C389256F8850D996A26B1BB /* Build configuration list for PBXNativeTarget "SipHash" */ = { + F433FF5D09BB9F7450B0FEEBCDA6FA68 /* Build configuration list for PBXNativeTarget "web3swift" */ = { isa = XCConfigurationList; buildConfigurations = ( - 70B146F75766AA3CF946169E1A7ADF8F /* Debug */, - 29FB8CEE5D10AEC3F56ABDDA0E163E03 /* Release */, + B2A143E70C84D9EF7E583D4309271D6E /* Debug */, + 5D79E193E09CFB30A0B55169310F7DB3 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/web3swiftExample/Pods/SipHash/LICENSE.md b/Example/web3swiftExample/Pods/SipHash/LICENSE.md old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/SipHash/README.md b/Example/web3swiftExample/Pods/SipHash/README.md old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/SipHash/SipHash/Primitive Types.swift b/Example/web3swiftExample/Pods/SipHash/SipHash/Primitive Types.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/SipHash/SipHash/RandomUInt64.swift b/Example/web3swiftExample/Pods/SipHash/SipHash/RandomUInt64.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/SipHash/SipHash/SipHashable.swift b/Example/web3swiftExample/Pods/SipHash/SipHash/SipHashable.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/SipHash/SipHash/SipHasher.swift b/Example/web3swiftExample/Pods/SipHash/SipHash/SipHasher.swift old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/Result/Info.plist b/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt-Info.plist old mode 100755 new mode 100644 similarity index 96% rename from Example/web3swiftExample/Pods/Target Support Files/Result/Info.plist rename to Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt-Info.plist index 452267571..90db36aa4 --- a/Example/web3swiftExample/Pods/Target Support Files/Result/Info.plist +++ b/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 3.0.0 + 3.1.0 CFBundleSignature ???? CFBundleVersion diff --git a/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt-dummy.m b/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt-dummy.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt-prefix.pch b/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt-prefix.pch old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt-umbrella.h b/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt-umbrella.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.modulemap b/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.modulemap old mode 100755 new mode 100644 index 63586a3d5..48a38d1cb --- a/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.modulemap +++ b/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.modulemap @@ -1,4 +1,4 @@ -module BigInt { +framework module BigInt { umbrella header "BigInt-umbrella.h" export * diff --git a/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.xcconfig index aab87fccd..1e6120d78 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/BigInt/BigInt.xcconfig @@ -1,11 +1,11 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/BigInt +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_LDFLAGS = $(inherited) -framework "SipHash" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/BigInt PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" diff --git a/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift-Info.plist b/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift-Info.plist new file mode 100644 index 000000000..db2049463 --- /dev/null +++ b/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 0.12.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift-dummy.m b/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift-dummy.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift-prefix.pch b/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift-prefix.pch old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift-umbrella.h b/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift-umbrella.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.modulemap b/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.modulemap old mode 100755 new mode 100644 index 7ada19a07..f090f6a33 --- a/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.modulemap +++ b/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.modulemap @@ -1,4 +1,4 @@ -module CryptoSwift { +framework module CryptoSwift { umbrella header "CryptoSwift-umbrella.h" export * diff --git a/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.xcconfig index cca9425b6..ef79591e4 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/CryptoSwift.xcconfig @@ -1,7 +1,7 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_UNROLL_LOOPS = YES -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Info.plist b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-Info.plist old mode 100755 new mode 100644 similarity index 100% rename from Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Info.plist rename to Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-Info.plist diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.markdown b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.markdown old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.plist b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.plist index 7c82be473..469011cd7 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.plist +++ b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-acknowledgements.plist @@ -1,5 +1,433 @@ - + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + +Copyright (c) 2016-2017 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + BigInt + Type + PSGroupSpecifier + + + FooterText + Copyright (C) 2014-2017 Marcin Krzyżanowski <marcin.krzyzanowski@gmail.com> +This software is provided 'as-is', without any express or implied warranty. + +In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + +- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. +- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +- This notice may not be removed or altered from any source or binary distribution. +- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' + License + Attribution + Title + CryptoSwift + Type + PSGroupSpecifier + + + FooterText + Copyright 2016-present, Max Howell; mxcl@me.com + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + License + MIT + Title + PromiseKit + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2014 Rob Rix + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + License + MIT + Title + Result + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2016 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + SipHash + Type + PSGroupSpecifier + + + FooterText + Copyright 2018 Alex Vlasov <alex.m.vlasov@gmail.com> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + License + Apache License 2.0 + Title + scrypt + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2017 shamatar <alex.m.vlasov@gmail.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + License + MIT + Title + secp256k1_ios + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2018 Aleksandr Vlasov, Stichting Bankex Foundation <av@bankexfoundation.org> + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018 Stichting Bankex Foundation + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + License + Apache License 2.0 + Title + web3swift + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-dummy.m b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-dummy.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-frameworks.sh b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-frameworks.sh index 08e3eaaca..1441ac6f1 100755 --- a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-frameworks.sh +++ b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-frameworks.sh @@ -47,8 +47,13 @@ install_framework() local basename basename="$(basename -s .framework "$1")" binary="${destination}/${basename}.framework/${basename}" + if ! [ -r "$binary" ]; then binary="${destination}/${basename}" + elif [ -L "${binary}" ]; then + echo "Destination binary is symlinked..." + dirname="$(dirname "${binary}")" + binary="${dirname}/$(readlink "${binary}")" fi # Strip invalid architectures so "fat" simulator / device frameworks work on device @@ -101,8 +106,8 @@ install_dsym() { # Signs a framework with the provided identity code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identitiy + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identity echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" @@ -141,6 +146,27 @@ strip_invalid_archs() { STRIP_BINARY_RETVAL=1 } + +if [[ "$CONFIGURATION" == "Debug" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/BigInt/BigInt.framework" + install_framework "${BUILT_PRODUCTS_DIR}/CryptoSwift/CryptoSwift.framework" + install_framework "${BUILT_PRODUCTS_DIR}/PromiseKit/PromiseKit.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Result/Result.framework" + install_framework "${BUILT_PRODUCTS_DIR}/SipHash/SipHash.framework" + install_framework "${BUILT_PRODUCTS_DIR}/scrypt/scrypt.framework" + install_framework "${BUILT_PRODUCTS_DIR}/secp256k1_ios/secp256k1_ios.framework" + install_framework "${BUILT_PRODUCTS_DIR}/web3swift/web3swift.framework" +fi +if [[ "$CONFIGURATION" == "Release" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/BigInt/BigInt.framework" + install_framework "${BUILT_PRODUCTS_DIR}/CryptoSwift/CryptoSwift.framework" + install_framework "${BUILT_PRODUCTS_DIR}/PromiseKit/PromiseKit.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Result/Result.framework" + install_framework "${BUILT_PRODUCTS_DIR}/SipHash/SipHash.framework" + install_framework "${BUILT_PRODUCTS_DIR}/scrypt/scrypt.framework" + install_framework "${BUILT_PRODUCTS_DIR}/secp256k1_ios/secp256k1_ios.framework" + install_framework "${BUILT_PRODUCTS_DIR}/web3swift/web3swift.framework" +fi if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then wait fi diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-resources.sh b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-resources.sh deleted file mode 100755 index 345301f2c..000000000 --- a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-resources.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then - # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy - # resources to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES=() - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -case "${TARGETED_DEVICE_FAMILY:-}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - 3) - TARGET_DEVICE_ARGS="--target-device tv" - ;; - 4) - TARGET_DEVICE_ARGS="--target-device watch" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; -esac - -install_resource() -{ - if [[ "$1" = /* ]] ; then - RESOURCE_PATH="$1" - else - RESOURCE_PATH="${PODS_ROOT}/$1" - fi - if [[ ! -e "$RESOURCE_PATH" ]] ; then - cat << EOM -error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. -EOM - exit 1 - fi - case $RESOURCE_PATH in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true - xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" - ;; - *.xcassets) - ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" - XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") - ;; - *) - echo "$RESOURCE_PATH" || true - echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" - ;; - esac -} - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then - mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] -then - # Find all other xcassets (this unfortunately includes those of path pods and other targets). - OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) - while read line; do - if [[ $line != "${PODS_ROOT}*" ]]; then - XCASSET_FILES+=("$line") - fi - done <<<"$OTHER_XCASSETS" - - if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - else - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" - fi -fi diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-umbrella.h b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-umbrella.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.debug.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.debug.xcconfig index f06457be5..05a78990d 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.debug.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.debug.xcconfig @@ -1,12 +1,12 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" "${PODS_ROOT}/Headers/Public/web3swift" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" -isystem "${PODS_ROOT}/Headers/Public/web3swift" -OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt" -l"CryptoSwift" -l"PromiseKit" -l"Result" -l"SipHash" -l"scrypt" -l"secp256k1_ios" -l"web3swift" -framework "CoreImage" -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios/secp256k1_ios.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "BigInt" -framework "CoreImage" -framework "CryptoSwift" -framework "Foundation" -framework "PromiseKit" -framework "Result" -framework "SipHash" -framework "UIKit" -framework "scrypt" -framework "secp256k1_ios" -framework "web3swift" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" $(PODS_TARGET_SRCROOT)/scrypt +SWIFT_INCLUDE_PATHS = $(PODS_TARGET_SRCROOT)/scrypt diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap old mode 100755 new mode 100644 index 9b1a99826..5d9306d19 --- a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap +++ b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.modulemap @@ -1,4 +1,4 @@ -module Pods_web3swiftExample { +framework module Pods_web3swiftExample { umbrella header "Pods-web3swiftExample-umbrella.h" export * diff --git a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.release.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.release.xcconfig index f06457be5..05a78990d 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.release.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.release.xcconfig @@ -1,12 +1,12 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" "${PODS_ROOT}/Headers/Public/web3swift" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" -isystem "${PODS_ROOT}/Headers/Public/web3swift" -OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt" -l"CryptoSwift" -l"PromiseKit" -l"Result" -l"SipHash" -l"scrypt" -l"secp256k1_ios" -l"web3swift" -framework "CoreImage" -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios/secp256k1_ios.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/web3swift/web3swift.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "BigInt" -framework "CoreImage" -framework "CryptoSwift" -framework "Foundation" -framework "PromiseKit" -framework "Result" -framework "SipHash" -framework "UIKit" -framework "scrypt" -framework "secp256k1_ios" -framework "web3swift" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/web3swift" $(PODS_TARGET_SRCROOT)/scrypt +SWIFT_INCLUDE_PATHS = $(PODS_TARGET_SRCROOT)/scrypt diff --git a/Example/web3swiftExample/Pods/Target Support Files/BigInt/Info.plist b/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit-Info.plist old mode 100755 new mode 100644 similarity index 96% rename from Example/web3swiftExample/Pods/Target Support Files/BigInt/Info.plist rename to Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit-Info.plist index b0b461e32..b51e629fb --- a/Example/web3swiftExample/Pods/Target Support Files/BigInt/Info.plist +++ b/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 3.0.1 + 6.4.1 CFBundleSignature ???? CFBundleVersion diff --git a/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit-dummy.m b/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit-dummy.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit-prefix.pch b/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit-prefix.pch old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.modulemap b/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.modulemap index 9ecd09e3d..2b26033e4 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.modulemap +++ b/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.modulemap @@ -1,4 +1,4 @@ -module PromiseKit { +framework module PromiseKit { umbrella header "PromiseKit-umbrella.h" export * diff --git a/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig index a385c9355..1e507541f 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/PromiseKit/PromiseKit.xcconfig @@ -1,7 +1,7 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/PromiseKit" "${PODS_ROOT}/Headers/Public" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" -DPMKCocoaPods +OTHER_LDFLAGS = $(inherited) -framework "Foundation" -framework "UIKit" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -DPMKCocoaPods PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/Info.plist b/Example/web3swiftExample/Pods/Target Support Files/Result/Result-Info.plist old mode 100755 new mode 100644 similarity index 96% rename from Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/Info.plist rename to Example/web3swiftExample/Pods/Target Support Files/Result/Result-Info.plist index b07fa9b41..3424ca661 --- a/Example/web3swiftExample/Pods/Target Support Files/CryptoSwift/Info.plist +++ b/Example/web3swiftExample/Pods/Target Support Files/Result/Result-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 0.9.0 + 4.0.0 CFBundleSignature ???? CFBundleVersion diff --git a/Example/web3swiftExample/Pods/Target Support Files/Result/Result-dummy.m b/Example/web3swiftExample/Pods/Target Support Files/Result/Result-dummy.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/Result/Result-prefix.pch b/Example/web3swiftExample/Pods/Target Support Files/Result/Result-prefix.pch old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/Result/Result-umbrella.h b/Example/web3swiftExample/Pods/Target Support Files/Result/Result-umbrella.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/Result/Result.modulemap b/Example/web3swiftExample/Pods/Target Support Files/Result/Result.modulemap old mode 100755 new mode 100644 index b61c747fd..c5e6a4a29 --- a/Example/web3swiftExample/Pods/Target Support Files/Result/Result.modulemap +++ b/Example/web3swiftExample/Pods/Target Support Files/Result/Result.modulemap @@ -1,4 +1,4 @@ -module Result { +framework module Result { umbrella header "Result-umbrella.h" export * diff --git a/Example/web3swiftExample/Pods/Target Support Files/Result/Result.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/Result/Result.xcconfig index df4fd1f5f..4ca6b3d95 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/Result/Result.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/Result/Result.xcconfig @@ -1,6 +1,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Result GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/SipHash/Info.plist b/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash-Info.plist old mode 100755 new mode 100644 similarity index 96% rename from Example/web3swiftExample/Pods/Target Support Files/SipHash/Info.plist rename to Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash-Info.plist index 2a9158a0b..e433362ea --- a/Example/web3swiftExample/Pods/Target Support Files/SipHash/Info.plist +++ b/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.2.0 + 1.2.2 CFBundleSignature ???? CFBundleVersion diff --git a/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash-dummy.m b/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash-dummy.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash-prefix.pch b/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash-prefix.pch old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash-umbrella.h b/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash-umbrella.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.modulemap b/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.modulemap old mode 100755 new mode 100644 index 6a46dd267..067ad6b25 --- a/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.modulemap +++ b/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.modulemap @@ -1,4 +1,4 @@ -module SipHash { +framework module SipHash { umbrella header "SipHash-umbrella.h" export * diff --git a/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.xcconfig index ff192e403..0707a3680 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/SipHash/SipHash.xcconfig @@ -1,6 +1,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SipHash GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} diff --git a/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt-Info.plist b/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt-Info.plist new file mode 100644 index 000000000..0a12077e3 --- /dev/null +++ b/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 2.0.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.modulemap b/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.modulemap index eaa26fa34..57d509dab 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.modulemap +++ b/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.modulemap @@ -1,4 +1,4 @@ -module scrypt { +framework module scrypt { umbrella header "scrypt-umbrella.h" export * diff --git a/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.xcconfig index 46b0d7da4..4e2add7a4 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/scrypt/scrypt.xcconfig @@ -1,10 +1,10 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/scrypt DEFINES_MODULE = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 GCC_UNROLL_LOOPS = YES -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/scrypt" "${PODS_ROOT}/Headers/Public" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_LDFLAGS = $(inherited) -framework "CryptoSwift" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} @@ -14,6 +14,6 @@ SKIP_INSTALL = YES SWIFT_COMPILATION_MODE = wholemodule SWIFT_DISABLE_SAFETY_CHECKS = YES SWIFT_ENFORCE_EXCLUSIVE_ACCESS = compile-time -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" $(PODS_TARGET_SRCROOT)/scrypt +SWIFT_INCLUDE_PATHS = $(PODS_TARGET_SRCROOT)/scrypt SWIFT_OPTIMIZATION_LEVEL = -O SWIFT_WHOLE_MODULE_OPTIMIZATION = YES diff --git a/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/Info.plist b/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios-Info.plist old mode 100755 new mode 100644 similarity index 100% rename from Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/Info.plist rename to Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios-Info.plist diff --git a/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios-dummy.m b/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios-dummy.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios-prefix.pch b/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios-prefix.pch old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios-umbrella.h b/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios-umbrella.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.modulemap b/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.modulemap old mode 100755 new mode 100644 index 606bdc2da..3e155fb99 --- a/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.modulemap +++ b/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.modulemap @@ -1,4 +1,4 @@ -module secp256k1_ios { +framework module secp256k1_ios { umbrella header "secp256k1_ios-umbrella.h" export * diff --git a/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.xcconfig index 2594d1954..de0e1ece3 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/secp256k1_ios/secp256k1_ios.xcconfig @@ -1,6 +1,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/secp256k1_ios" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/secp256k1_ios/secp256k1_ios" +HEADER_SEARCH_PATHS = "${PODS_ROOT}/secp256k1_ios/secp256k1_ios" OTHER_CFLAGS = -DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3 PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Example/web3swiftExample/Pods/Target Support Files/web3swift/Info.plist b/Example/web3swiftExample/Pods/Target Support Files/web3swift/Info.plist deleted file mode 100755 index 75ba4d079..000000000 --- a/Example/web3swiftExample/Pods/Target Support Files/web3swift/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 0.7.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift-Info.plist b/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift-Info.plist new file mode 100644 index 000000000..05bf6cb44 --- /dev/null +++ b/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.1.9 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift-dummy.m b/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift-dummy.m old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift-prefix.pch b/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift-prefix.pch old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift-umbrella.h b/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift-umbrella.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.modulemap b/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.modulemap old mode 100755 new mode 100644 index 9e944ea5b..241e217a4 --- a/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.modulemap +++ b/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.modulemap @@ -1,4 +1,4 @@ -module web3swift { +framework module web3swift { umbrella header "web3swift-umbrella.h" export * diff --git a/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.xcconfig b/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.xcconfig index 241c0cd2b..827460702 100644 --- a/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.xcconfig +++ b/Example/web3swiftExample/Pods/Target Support Files/web3swift/web3swift.xcconfig @@ -1,13 +1,12 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/web3swift DEFINES_MODULE = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/web3swift" "${PODS_ROOT}/Headers/Public" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +OTHER_LDFLAGS = $(inherited) -framework "BigInt" -framework "CoreImage" -framework "CryptoSwift" -framework "Foundation" -framework "PromiseKit" -framework "Result" -framework "SipHash" -framework "UIKit" -framework "scrypt" -framework "secp256k1_ios" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/web3swift PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt" diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c b/Example/web3swiftExample/Pods/scrypt/scrypt/Cimpl.c old mode 100755 new mode 100644 similarity index 78% rename from Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c rename to Example/web3swiftExample/Pods/scrypt/scrypt/Cimpl.c index bdb41b6e0..fa2981d22 --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/nosse/pwhash_scryptsalsa208sha256_nosse.c +++ b/Example/web3swiftExample/Pods/scrypt/scrypt/Cimpl.c @@ -1,3 +1,5 @@ +// Original work recognition + /*- * Copyright 2009 Colin Percival * Copyright 2013 Alexander Peslyak @@ -28,21 +30,69 @@ * online backup system. */ -#include +// Cleanup and putting it all together + +// +// Cimpl.c +// scrypt +// +// Created by Alex Vlasov on 04.09.2018. +// Copyright © 2018 Alexander Vlasov. All rights reserved. +// + +#include #include #include #include #include -#include "../crypto_scrypt.h" -#include "../pbkdf2-sha256.h" -#include "private/common.h" +#if SIZE_MAX > 0xffffffffULL +#define ARCH_BITS 64 +#else +#define ARCH_BITS 32 +#endif + +#define LOAD32_LE(SRC) load32_le(SRC) +static inline uint32_t +load32_le(const uint8_t src[4]) +{ +#ifdef NATIVE_LITTLE_ENDIAN + uint32_t w; + memcpy(&w, src, sizeof w); + return w; +#else + uint32_t w = (uint32_t) src[0]; + w |= (uint32_t) src[1] << 8; + w |= (uint32_t) src[2] << 16; + w |= (uint32_t) src[3] << 24; + return w; +#endif +} + +#define STORE32_LE(DST, W) store32_le((DST), (W)) +static inline void +store32_le(uint8_t dst[4], uint32_t w) +{ +#ifdef NATIVE_LITTLE_ENDIAN + memcpy(dst, &w, sizeof w); +#else + dst[0] = (uint8_t) w; w >>= 8; + dst[1] = (uint8_t) w; w >>= 8; + dst[2] = (uint8_t) w; w >>= 8; + dst[3] = (uint8_t) w; +#endif +} + +typedef union { + uint64_t d[8]; + uint32_t w[16]; +} escrypt_block_t; static inline void blkcpy_64(escrypt_block_t *dest, const escrypt_block_t *src) { int i; - + #if (ARCH_BITS == 32) for (i = 0; i < 16; ++i) { dest->w[i] = src->w[i]; @@ -58,7 +108,7 @@ static inline void blkxor_64(escrypt_block_t *dest, const escrypt_block_t *src) { int i; - + #if (ARCH_BITS == 32) for (i = 0; i < 16; ++i) { dest->w[i] ^= src->w[i]; @@ -74,7 +124,7 @@ static inline void blkcpy(escrypt_block_t *dest, const escrypt_block_t *src, size_t len) { size_t i, L; - + #if (ARCH_BITS == 32) L = (len >> 2); for (i = 0; i < L; ++i) { @@ -92,7 +142,7 @@ static inline void blkxor(escrypt_block_t *dest, const escrypt_block_t *src, size_t len) { size_t i, L; - + #if (ARCH_BITS == 32) L = (len >> 2); for (i = 0; i < L; ++i) { @@ -113,10 +163,10 @@ blkxor(escrypt_block_t *dest, const escrypt_block_t *src, size_t len) static void salsa20_8(uint32_t B[16]) { - escrypt_block_t X; - uint32_t * x = X.w; - size_t i; - + escrypt_block_t X; + uint32_t *x = X.w; + size_t i; + blkcpy_64(&X, (escrypt_block_t *) B); for (i = 0; i < 8; i += 2) { #define R(a, b) (((a) << (b)) | ((a) >> (32 - (b)))) @@ -125,46 +175,47 @@ salsa20_8(uint32_t B[16]) x[8] ^= R(x[4] + x[0], 9); x[12] ^= R(x[8] + x[4], 13); x[0] ^= R(x[12] + x[8], 18); - + x[9] ^= R(x[5] + x[1], 7); x[13] ^= R(x[9] + x[5], 9); x[1] ^= R(x[13] + x[9], 13); x[5] ^= R(x[1] + x[13], 18); - + x[14] ^= R(x[10] + x[6], 7); x[2] ^= R(x[14] + x[10], 9); x[6] ^= R(x[2] + x[14], 13); x[10] ^= R(x[6] + x[2], 18); - + x[3] ^= R(x[15] + x[11], 7); x[7] ^= R(x[3] + x[15], 9); x[11] ^= R(x[7] + x[3], 13); x[15] ^= R(x[11] + x[7], 18); - + /* Operate on rows. */ x[1] ^= R(x[0] + x[3], 7); x[2] ^= R(x[1] + x[0], 9); x[3] ^= R(x[2] + x[1], 13); x[0] ^= R(x[3] + x[2], 18); - + x[6] ^= R(x[5] + x[4], 7); x[7] ^= R(x[6] + x[5], 9); x[4] ^= R(x[7] + x[6], 13); x[5] ^= R(x[4] + x[7], 18); - + x[11] ^= R(x[10] + x[9], 7); x[8] ^= R(x[11] + x[10], 9); x[9] ^= R(x[8] + x[11], 13); x[10] ^= R(x[9] + x[8], 18); - + x[12] ^= R(x[15] + x[14], 7); x[13] ^= R(x[12] + x[15], 9); x[14] ^= R(x[13] + x[12], 13); x[15] ^= R(x[14] + x[13], 18); #undef R } - for (i = 0; i < 16; i++) + for (i = 0; i < 16; i++) { B[i] += x[i]; + } } /** @@ -177,25 +228,25 @@ static void blockmix_salsa8(const uint32_t *Bin, uint32_t *Bout, uint32_t *X, size_t r) { size_t i; - + /* 1: X <-- B_{2r - 1} */ blkcpy_64((escrypt_block_t *) X, (escrypt_block_t *) &Bin[(2 * r - 1) * 16]); - + /* 2: for i = 0 to 2r - 1 do */ for (i = 0; i < 2 * r; i += 2) { /* 3: X <-- H(X \xor B_i) */ blkxor_64((escrypt_block_t *) X, (escrypt_block_t *) &Bin[i * 16]); salsa20_8(X); - + /* 4: Y_i <-- X */ /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ blkcpy_64((escrypt_block_t *) &Bout[i * 8], (escrypt_block_t *) X); - + /* 3: X <-- H(X \xor B_i) */ blkxor_64((escrypt_block_t *) X, (escrypt_block_t *) &Bin[i * 16 + 16]); salsa20_8(X); - + /* 4: Y_i <-- X */ /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ blkcpy_64((escrypt_block_t *) &Bout[i * 8 + r * 16], @@ -211,7 +262,7 @@ static inline uint64_t integerify(const void *B, size_t r) { const uint32_t *X = (const uint32_t *) ((uintptr_t)(B) + (2 * r - 1) * 64); - + return (((uint64_t)(X[1]) << 32) + X[0]); } @@ -232,7 +283,7 @@ smix(uint8_t *B, size_t r, uint64_t N, uint32_t *V, uint32_t *XY) uint64_t i; uint64_t j; size_t k; - + /* 1: X <-- B */ for (k = 0; k < 32 * r; k++) { X[k] = LOAD32_LE(&B[4 * k]); @@ -242,31 +293,31 @@ smix(uint8_t *B, size_t r, uint64_t N, uint32_t *V, uint32_t *XY) /* 3: V_i <-- X */ blkcpy((escrypt_block_t *) &V[i * (32 * r)], (escrypt_block_t *) X, 128 * r); - + /* 4: X <-- H(X) */ blockmix_salsa8(X, Y, Z, r); - + /* 3: V_i <-- X */ blkcpy((escrypt_block_t *) &V[(i + 1) * (32 * r)], (escrypt_block_t *) Y, 128 * r); - + /* 4: X <-- H(X) */ blockmix_salsa8(Y, X, Z, r); } - + /* 6: for i = 0 to N - 1 do */ for (i = 0; i < N; i += 2) { /* 7: j <-- Integerify(X) mod N */ j = integerify(X, r) & (N - 1); - + /* 8: X <-- H(X \xor V_j) */ blkxor((escrypt_block_t *) X, (escrypt_block_t *) &V[j * (32 * r)], 128 * r); blockmix_salsa8(X, Y, Z, r); - + /* 7: j <-- Integerify(X) mod N */ j = integerify(Y, r) & (N - 1); - + /* 8: X <-- H(X \xor V_j) */ blkxor((escrypt_block_t *) Y, (escrypt_block_t *) &V[j * (32 * r)], 128 * r); @@ -278,98 +329,40 @@ smix(uint8_t *B, size_t r, uint64_t N, uint32_t *V, uint32_t *XY) } } -/** - * escrypt_kdf(local, passwd, passwdlen, salt, saltlen, - * N, r, p, buf, buflen): - * Compute scrypt(passwd[0 .. passwdlen - 1], salt[0 .. saltlen - 1], N, r, - * p, buflen) and write the result into buf. The parameters r, p, and buflen - * must satisfy r * p < 2^30 and buflen <= (2^32 - 1) * 32. The parameter N - * must be a power of 2 greater than 1. - * - * Return 0 on success; or -1 on error. - */ int -escrypt_kdf_nosse(escrypt_local_t *local, const uint8_t *passwd, - size_t passwdlen, const uint8_t *salt, size_t saltlen, - uint64_t N, uint32_t _r, uint32_t _p, uint8_t *buf, - size_t buflen) +partial_Scrypt(uint64_t N, uint32_t _r, uint32_t _p, uint8_t *B, size_t B_size, + uint8_t *memory, size_t memory_size) { - size_t B_size, V_size, XY_size, need; - uint8_t * B; + size_t V_size, XY_size, need; uint32_t *V, *XY; size_t r = _r, p = _p; uint32_t i; - -/* Sanity-check parameters. */ -#if SIZE_MAX > UINT32_MAX - if (buflen > (((uint64_t)(1) << 32) - 1) * 32) { - errno = EFBIG; - return -1; - } -#endif - if ((uint64_t)(r) * (uint64_t)(p) >= ((uint64_t) 1 << 30)) { - errno = EFBIG; - return -1; - } - if (N > UINT32_MAX) { - errno = EFBIG; - return -1; - } - if (((N & (N - 1)) != 0) || (N < 2)) { - errno = EINVAL; - return -1; - } - if (r == 0 || p == 0) { - errno = EINVAL; - return -1; - } - if ((r > SIZE_MAX / 128 / p) || -#if SIZE_MAX / 256 <= UINT32_MAX - (r > SIZE_MAX / 256) || -#endif - (N > SIZE_MAX / 128 / r)) { - errno = ENOMEM; - return -1; - } - + /* Allocate memory. */ - B_size = (size_t) 128 * r * p; - V_size = (size_t) 128 * r * N; - need = B_size + V_size; + V_size = (size_t) 128 * r * (size_t) N; + need = V_size; if (need < V_size) { - errno = ENOMEM; return -1; } XY_size = (size_t) 256 * r + 64; need += XY_size; if (need < XY_size) { - errno = ENOMEM; return -1; } - if (local->size < need) { - if (free_region(local)) { - return -1; - } - if (!alloc_region(local, need)) { - return -1; - } + + if (memory_size < need) { + return -1; } - B = (uint8_t *) local->aligned; - V = (uint32_t *) ((uint8_t *) B + B_size); + + V = (uint32_t *) ((uint8_t *) memory); XY = (uint32_t *) ((uint8_t *) V + V_size); - - /* 1: (B_0 ... B_{p-1}) <-- PBKDF2(P, S, 1, p * MFLen) */ - PBKDF2_SHA256(passwd, passwdlen, salt, saltlen, 1, B, B_size); - + /* 2: for i = 0 to p - 1 do */ for (i = 0; i < p; i++) { /* 3: B_i <-- MF(B_i, N) */ smix(&B[(size_t) 128 * i * r], r, N, V, XY); } - - /* 5: DK <-- PBKDF2(P, B, 1, dkLen) */ - PBKDF2_SHA256(passwd, passwdlen, B, B_size, 1, buf, buflen); - + /* Success! */ return 0; } diff --git a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h b/Example/web3swiftExample/Pods/scrypt/scrypt/Cimpl.h old mode 100755 new mode 100644 similarity index 68% rename from Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h rename to Example/web3swiftExample/Pods/scrypt/scrypt/Cimpl.h index f9598c87a..423fc7b4c --- a/Example/web3swiftExample/Pods/libsodium/src/libsodium/crypto_pwhash/scryptsalsa208sha256/pbkdf2-sha256.h +++ b/Example/web3swiftExample/Pods/scrypt/scrypt/Cimpl.h @@ -1,5 +1,8 @@ +// Original work recognition + /*- - * Copyright 2005,2007,2009 Colin Percival + * Copyright 2009 Colin Percival + * Copyright 2013 Alexander Peslyak * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,23 +26,26 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * + * This file was originally written by Colin Percival as part of the Tarsnap + * online backup system. */ -#ifndef pbkdf2_sha256_H -#define pbkdf2_sha256_H - -#include +// Cleanup and putting it all together -#include +// +// Cimpl.h +// scrypt +// +// Created by Alex Vlasov on 04.09.2018. +// Copyright © 2018 Alexander Vlasov. All rights reserved. +// -#include "crypto_auth_hmacsha256.h" +#ifndef SalsaCimpl_h +#define SalsaCimpl_h +#include -/** - * PBKDF2_SHA256(passwd, passwdlen, salt, saltlen, c, buf, dkLen): - * Compute PBKDF2(passwd, salt, c, dkLen) using HMAC-SHA256 as the PRF, and - * write the output to buf. The value dkLen must be at most 32 * (2^32 - 1). - */ -void PBKDF2_SHA256(const uint8_t *, size_t, const uint8_t *, size_t, uint64_t, - uint8_t *, size_t); +int +partial_Scrypt(uint64_t N, uint32_t _r, uint32_t _p, uint8_t *B, size_t B_size, + uint8_t *memory, size_t memory_size); -#endif /* !_SHA256_H_ */ +#endif /* SalsaCimpl_h */ diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/LICENSE b/Example/web3swiftExample/Pods/secp256k1_ios/LICENSE old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/README.md b/Example/web3swiftExample/Pods/secp256k1_ios/README.md old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_parsing.c b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_parsing.c old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_parsing.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_parsing.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_privatekey_parsing.c b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_privatekey_parsing.c old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_privatekey_parsing.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_privatekey_parsing.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/include/secp256k1.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/include/secp256k1.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/include/secp256k1_ecdh.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/include/secp256k1_ecdh.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/include/secp256k1_recovery.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/include/secp256k1_recovery.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/libsecp256k1-config.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/libsecp256k1-config.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/secp256k1_ios.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/secp256k1_ios.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/basic-config.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/basic-config.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecdsa.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecdsa.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecdsa_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecdsa_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/eckey.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/eckey.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/eckey_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/eckey_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecmult.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecmult.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_const.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_const.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_const_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_const_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_gen.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_gen.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_gen_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_gen_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_10x26.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_10x26.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_10x26_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_10x26_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_asm_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_asm_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_int128_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_int128_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/field_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/group.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/group.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/group_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/group_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/hash.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/hash.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/hash_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/hash_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/modules/ecdh/main_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/modules/ecdh/main_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/num.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/num.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/num_gmp.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/num_gmp.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/num_gmp_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/num_gmp_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/num_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/num_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_4x64.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_4x64.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_4x64_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_4x64_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_8x32.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_8x32.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_8x32_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_8x32_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_low.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_low.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_low_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scalar_low_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scratch.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scratch.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scratch_impl.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/scratch_impl.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/secp256k1.c b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/secp256k1.c old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/util.h b/Example/web3swiftExample/Pods/secp256k1_ios/secp256k1_ios/src/util.h old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/RLP.swift b/Example/web3swiftExample/Pods/web3swift/web3swift/Utils/Classes/RLP.swift similarity index 96% rename from Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/RLP.swift rename to Example/web3swiftExample/Pods/web3swift/web3swift/Utils/Classes/RLP.swift index 4e5c3d831..c9eb8323f 100755 --- a/Example/web3swiftExample/Pods/web3swift/web3swift/ABI/Classes/RLP.swift +++ b/Example/web3swiftExample/Pods/web3swift/web3swift/Utils/Classes/RLP.swift @@ -120,11 +120,16 @@ struct RLP { return encoded.bytes[0] } - static func encode(_ elements: Array) -> Data? { + public static func encode(_ elements: Array) -> Data? { var encodedData = Data() for e in elements { - guard let encoded = encode(e) else {return nil} - encodedData.append(encoded) + if let encoded = encode(e) { + encodedData.append(encoded) + } else { + guard let asArray = e as? Array else {return nil} + guard let encoded = encode(asArray) else {return nil} + encodedData.append(encoded) + } } guard var encodedLength = encodeLength(encodedData.count, offset: UInt8(0xc0)) else {return nil} if (encodedLength != Data()) { diff --git a/Example/web3swiftExample/web3swiftExample.xcodeproj/project.pbxproj b/Example/web3swiftExample/web3swiftExample.xcodeproj/project.pbxproj old mode 100755 new mode 100644 index fbf2cc41a..79381f6b6 --- a/Example/web3swiftExample/web3swiftExample.xcodeproj/project.pbxproj +++ b/Example/web3swiftExample/web3swiftExample.xcodeproj/project.pbxproj @@ -12,12 +12,11 @@ 8161009F1FEC716200DE842E /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8161009D1FEC716200DE842E /* Main.storyboard */; }; 816100A11FEC716200DE842E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 816100A01FEC716200DE842E /* Assets.xcassets */; }; 816100A41FEC716200DE842E /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 816100A21FEC716200DE842E /* LaunchScreen.storyboard */; }; - 8483B5F220C74D898CD6616F /* libPods-web3swiftExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 74406FC622DDA876095EA67A /* libPods-web3swiftExample.a */; }; + 8CB49C7AD0EBC306C61CC9B8 /* Pods_web3swiftExample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B053187B965D9441D3E02D10 /* Pods_web3swiftExample.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ 4CFE41AE4F9BF0444FC1B745 /* Pods-web3swiftExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-web3swiftExample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.debug.xcconfig"; sourceTree = ""; }; - 74406FC622DDA876095EA67A /* libPods-web3swiftExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-web3swiftExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 816100961FEC716200DE842E /* web3swiftExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = web3swiftExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; 816100991FEC716200DE842E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 8161009B1FEC716200DE842E /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; @@ -25,6 +24,7 @@ 816100A01FEC716200DE842E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 816100A31FEC716200DE842E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 816100A51FEC716200DE842E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + B053187B965D9441D3E02D10 /* Pods_web3swiftExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_web3swiftExample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C0EB3BE374711CB51E18CB79 /* Pods-web3swiftExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-web3swiftExample.release.xcconfig"; path = "Pods/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -33,7 +33,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8483B5F220C74D898CD6616F /* libPods-web3swiftExample.a in Frameworks */, + 8CB49C7AD0EBC306C61CC9B8 /* Pods_web3swiftExample.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -52,7 +52,7 @@ 4F93E318F4D80C753C8F7B7D /* Frameworks */ = { isa = PBXGroup; children = ( - 74406FC622DDA876095EA67A /* libPods-web3swiftExample.a */, + B053187B965D9441D3E02D10 /* Pods_web3swiftExample.framework */, ); name = Frameworks; sourceTree = ""; @@ -99,6 +99,7 @@ 816100921FEC716200DE842E /* Sources */, 816100931FEC716200DE842E /* Frameworks */, 816100941FEC716200DE842E /* Resources */, + BAF3286D39301B6E0F0D664E /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -175,6 +176,42 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; + BAF3286D39301B6E0F0D664E /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/BigInt/BigInt.framework", + "${BUILT_PRODUCTS_DIR}/CryptoSwift/CryptoSwift.framework", + "${BUILT_PRODUCTS_DIR}/PromiseKit/PromiseKit.framework", + "${BUILT_PRODUCTS_DIR}/Result/Result.framework", + "${BUILT_PRODUCTS_DIR}/SipHash/SipHash.framework", + "${BUILT_PRODUCTS_DIR}/scrypt/scrypt.framework", + "${BUILT_PRODUCTS_DIR}/secp256k1_ios/secp256k1_ios.framework", + "${BUILT_PRODUCTS_DIR}/web3swift/web3swift.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + ); + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/BigInt.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CryptoSwift.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PromiseKit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Result.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SipHash.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/scrypt.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/secp256k1_ios.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/web3swift.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-web3swiftExample/Pods-web3swiftExample-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ diff --git a/Example/web3swiftExample/web3swiftExample.xcworkspace/contents.xcworkspacedata b/Example/web3swiftExample/web3swiftExample.xcworkspace/contents.xcworkspacedata old mode 100755 new mode 100644 diff --git a/Example/web3swiftExample/web3swiftExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/web3swiftExample/web3swiftExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100755 index 18d981003..000000000 --- a/Example/web3swiftExample/web3swiftExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Example/web3swiftExample/web3swiftExample/Assets.xcassets/AppIcon.appiconset/Contents.json b/Example/web3swiftExample/web3swiftExample/Assets.xcassets/AppIcon.appiconset/Contents.json index 1d060ed28..d8db8d65f 100755 --- a/Example/web3swiftExample/web3swiftExample/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/Example/web3swiftExample/web3swiftExample/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -84,6 +84,11 @@ "idiom" : "ipad", "size" : "83.5x83.5", "scale" : "2x" + }, + { + "idiom" : "ios-marketing", + "size" : "1024x1024", + "scale" : "1x" } ], "info" : { From 0321329d29ccbe89fd4af324f12aabb5591e1465 Mon Sep 17 00:00:00 2001 From: Georgii Fesenko Date: Tue, 2 Oct 2018 13:40:01 +0300 Subject: [PATCH 56/66] pods updated --- Podfile.lock | 16 +- .../Public/BigInt/BigInt-iOS-umbrella.h | 2 +- .../Public/BigInt/BigInt-iOS.modulemap | 2 +- .../Public/BigInt/BigInt-macOS-umbrella.h | 2 +- .../Public/BigInt/BigInt-macOS.modulemap | 2 +- .../CryptoSwift/CryptoSwift-iOS-umbrella.h | 2 +- .../CryptoSwift/CryptoSwift-iOS.modulemap | 2 +- .../CryptoSwift/CryptoSwift-macOS-umbrella.h | 2 +- .../CryptoSwift/CryptoSwift-macOS.modulemap | 2 +- .../Public/PromiseKit/PromiseKit-umbrella.h | 2 +- .../Public/PromiseKit/PromiseKit.modulemap | 2 +- ...Kit.root-CorePromise-Foundation-umbrella.h | 2 +- ...eKit.root-CorePromise-Foundation.modulemap | 2 +- .../Public/Result/Result-iOS-umbrella.h | 2 +- .../Public/Result/Result-iOS.modulemap | 2 +- .../Public/Result/Result-macOS-umbrella.h | 2 +- .../Public/Result/Result-macOS.modulemap | 2 +- .../Public/SipHash/SipHash-iOS-umbrella.h | 2 +- .../Public/SipHash/SipHash-iOS.modulemap | 2 +- .../Public/SipHash/SipHash-macOS-umbrella.h | 2 +- .../Public/SipHash/SipHash-macOS.modulemap | 2 +- .../Public/scrypt/scrypt-iOS-umbrella.h | 2 +- .../Public/scrypt/scrypt-iOS.modulemap | 2 +- .../Public/scrypt/scrypt-macOS-umbrella.h | 2 +- .../Public/scrypt/scrypt-macOS.modulemap | 2 +- .../secp256k1_ios-iOS-umbrella.h | 2 +- .../secp256k1_ios/secp256k1_ios-iOS.modulemap | 2 +- .../secp256k1_ios-macOS-umbrella.h | 2 +- .../secp256k1_ios-macOS.modulemap | 2 +- Pods/Manifest.lock | 16 +- Pods/Pods.xcodeproj/project.pbxproj | 496 +++++++++--------- 31 files changed, 292 insertions(+), 292 deletions(-) diff --git a/Podfile.lock b/Podfile.lock index 2e97bce91..03b2add5c 100755 --- a/Podfile.lock +++ b/Podfile.lock @@ -2,14 +2,14 @@ PODS: - BigInt (3.1.0): - SipHash (~> 1.2) - CryptoSwift (0.12.0) - - PromiseKit (6.4.0): - - PromiseKit/CorePromise (= 6.4.0) - - PromiseKit/Foundation (= 6.4.0) - - PromiseKit/UIKit (= 6.4.0) - - PromiseKit/CorePromise (6.4.0) - - PromiseKit/Foundation (6.4.0): + - PromiseKit (6.4.1): + - PromiseKit/CorePromise (= 6.4.1) + - PromiseKit/Foundation (= 6.4.1) + - PromiseKit/UIKit (= 6.4.1) + - PromiseKit/CorePromise (6.4.1) + - PromiseKit/Foundation (6.4.1): - PromiseKit/CorePromise - - PromiseKit/UIKit (6.4.0): + - PromiseKit/UIKit (6.4.1): - PromiseKit/CorePromise - Result (4.0.0) - scrypt (2.0): @@ -46,7 +46,7 @@ CHECKOUT OPTIONS: SPEC CHECKSUMS: BigInt: 76b5dfdfa3e2e478d4ffdf161aeede5502e2742f CryptoSwift: 1c07ca50843dd48bc54e6ea53d7a4dba3b645716 - PromiseKit: ae3616f45d7bb9bf4ff1e91abc9b7a8c48a340e0 + PromiseKit: 4c76a6506638034e3d7bede97b2ff7743f7bd2dc Result: 7645bb3f50c2ce726dd0ff2fa7b6f42bbe6c3713 scrypt: 3fe5b1a3b0976f97cd87488673a8f7c65708cc84 secp256k1_ios: ac9ef04e761f43c58012b28548afa91493761f17 diff --git a/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h b/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h index dd1f12542..2e9cf884f 120000 --- a/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h +++ b/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/BigInt-iOS/BigInt-iOS-umbrella.h \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/BigInt-iOS/BigInt-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap b/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap index abcf19c7b..026aad89c 120000 --- a/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap +++ b/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/BigInt-iOS/BigInt-iOS.modulemap \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/BigInt-iOS/BigInt-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h b/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h index 2246911b1..1f361b1da 120000 --- a/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h +++ b/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/BigInt-macOS/BigInt-macOS-umbrella.h \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/BigInt-macOS/BigInt-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap b/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap index a4d2cd92b..b1ba72f34 120000 --- a/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap +++ b/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/BigInt-macOS/BigInt-macOS.modulemap \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/BigInt-macOS/BigInt-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h index cb95b8968..5f9cdac68 120000 --- a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h +++ b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-umbrella.h \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap index 3c1670110..6c9d0b718 120000 --- a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap +++ b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS.modulemap \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h index 08f1541b4..7f673612f 120000 --- a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h +++ b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-umbrella.h \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap index 86f3a5198..9055efe6c 120000 --- a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap +++ b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS.modulemap \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h b/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h index 5258e5c49..6e3e2f065 120000 --- a/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h +++ b/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/PromiseKit/PromiseKit-umbrella.h \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/PromiseKit/PromiseKit-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap b/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap index 2d5f2dfac..1694ecd43 120000 --- a/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap +++ b/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/PromiseKit/PromiseKit.modulemap \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/PromiseKit/PromiseKit.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h index 18ba493ec..9dfaba34c 120000 --- a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h +++ b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-umbrella.h \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap index 3a73c5bb3..dc31d8b47 120000 --- a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap +++ b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.modulemap \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/Result/Result-iOS-umbrella.h b/Pods/Headers/Public/Result/Result-iOS-umbrella.h index 5b20fced0..f58bd0b7d 120000 --- a/Pods/Headers/Public/Result/Result-iOS-umbrella.h +++ b/Pods/Headers/Public/Result/Result-iOS-umbrella.h @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/Result-iOS/Result-iOS-umbrella.h \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/Result-iOS/Result-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/Result/Result-iOS.modulemap b/Pods/Headers/Public/Result/Result-iOS.modulemap index ef4d31a54..6571ce263 120000 --- a/Pods/Headers/Public/Result/Result-iOS.modulemap +++ b/Pods/Headers/Public/Result/Result-iOS.modulemap @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/Result-iOS/Result-iOS.modulemap \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/Result-iOS/Result-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/Result/Result-macOS-umbrella.h b/Pods/Headers/Public/Result/Result-macOS-umbrella.h index c9f53564e..f3ceebb1b 120000 --- a/Pods/Headers/Public/Result/Result-macOS-umbrella.h +++ b/Pods/Headers/Public/Result/Result-macOS-umbrella.h @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/Result-macOS/Result-macOS-umbrella.h \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/Result-macOS/Result-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/Result/Result-macOS.modulemap b/Pods/Headers/Public/Result/Result-macOS.modulemap index edb016a7e..486a5361b 120000 --- a/Pods/Headers/Public/Result/Result-macOS.modulemap +++ b/Pods/Headers/Public/Result/Result-macOS.modulemap @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/Result-macOS/Result-macOS.modulemap \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/Result-macOS/Result-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h b/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h index 28bbbc9db..81bdc6ae4 120000 --- a/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h +++ b/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/SipHash-iOS/SipHash-iOS-umbrella.h \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/SipHash-iOS/SipHash-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap b/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap index 2018d12ed..e4c37b27d 120000 --- a/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap +++ b/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/SipHash-iOS/SipHash-iOS.modulemap \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/SipHash-iOS/SipHash-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h b/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h index 1dca57bf8..18b800a7b 120000 --- a/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h +++ b/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/SipHash-macOS/SipHash-macOS-umbrella.h \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/SipHash-macOS/SipHash-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap b/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap index 0c53eb8e7..14d5c695d 120000 --- a/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap +++ b/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/SipHash-macOS/SipHash-macOS.modulemap \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/SipHash-macOS/SipHash-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h b/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h index 718db0006..4ccdb93c9 120000 --- a/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h +++ b/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/scrypt-iOS/scrypt-iOS-umbrella.h \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/scrypt-iOS/scrypt-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap b/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap index 635ae6cbe..43d879ce5 120000 --- a/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap +++ b/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/scrypt-iOS/scrypt-iOS.modulemap \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/scrypt-iOS/scrypt-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h b/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h index 6ae5f4dbb..fa3a49b97 120000 --- a/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h +++ b/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/scrypt-macOS/scrypt-macOS-umbrella.h \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/scrypt-macOS/scrypt-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap b/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap index 83720f251..6dfdf06ee 120000 --- a/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap +++ b/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/scrypt-macOS/scrypt-macOS.modulemap \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/scrypt-macOS/scrypt-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h index e72e50f89..61ae063a4 120000 --- a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h +++ b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-umbrella.h \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap index 7a8adf28f..ded74282c 120000 --- a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap +++ b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.modulemap \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h index aeaad2a72..d9ae5241f 120000 --- a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h +++ b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-umbrella.h \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap index 91dfab2a6..9f6ea1f71 120000 --- a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap +++ b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap @@ -1 +1 @@ -/Users/petrkorolev/repo/web3swift/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.modulemap \ No newline at end of file +/Users/newuser/Developer/web3swift/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.modulemap \ No newline at end of file diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock index 2e97bce91..03b2add5c 100755 --- a/Pods/Manifest.lock +++ b/Pods/Manifest.lock @@ -2,14 +2,14 @@ PODS: - BigInt (3.1.0): - SipHash (~> 1.2) - CryptoSwift (0.12.0) - - PromiseKit (6.4.0): - - PromiseKit/CorePromise (= 6.4.0) - - PromiseKit/Foundation (= 6.4.0) - - PromiseKit/UIKit (= 6.4.0) - - PromiseKit/CorePromise (6.4.0) - - PromiseKit/Foundation (6.4.0): + - PromiseKit (6.4.1): + - PromiseKit/CorePromise (= 6.4.1) + - PromiseKit/Foundation (= 6.4.1) + - PromiseKit/UIKit (= 6.4.1) + - PromiseKit/CorePromise (6.4.1) + - PromiseKit/Foundation (6.4.1): - PromiseKit/CorePromise - - PromiseKit/UIKit (6.4.0): + - PromiseKit/UIKit (6.4.1): - PromiseKit/CorePromise - Result (4.0.0) - scrypt (2.0): @@ -46,7 +46,7 @@ CHECKOUT OPTIONS: SPEC CHECKSUMS: BigInt: 76b5dfdfa3e2e478d4ffdf161aeede5502e2742f CryptoSwift: 1c07ca50843dd48bc54e6ea53d7a4dba3b645716 - PromiseKit: ae3616f45d7bb9bf4ff1e91abc9b7a8c48a340e0 + PromiseKit: 4c76a6506638034e3d7bede97b2ff7743f7bd2dc Result: 7645bb3f50c2ce726dd0ff2fa7b6f42bbe6c3713 scrypt: 3fe5b1a3b0976f97cd87488673a8f7c65708cc84 secp256k1_ios: ac9ef04e761f43c58012b28548afa91493761f17 diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj index eee8dd974..dfbc30fca 100644 --- a/Pods/Pods.xcodeproj/project.pbxproj +++ b/Pods/Pods.xcodeproj/project.pbxproj @@ -8,54 +8,54 @@ /* Begin PBXBuildFile section */ 01E683D1A55DCC27F48AC9CF8CDCBF03 /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF467792E24FCB49390F293678C2E231 /* ZeroPadding.swift */; }; - 020D14793215AFE896BE555B9C76CBDF /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F94C022B4C730984FCEE4E1D731C291 /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 020D14793215AFE896BE555B9C76CBDF /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FDB2A79B118B2F003B3E6F5A708B701 /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; 039A85C483D812BBB34BCD2AB2A5790B /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC8CE2AC7222CA948CFA3E9FEF002800 /* Error.swift */; }; - 03DFE13C6697848C21F4EB647BC55AA5 /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = 113FB888146C1156101BB0FCC2303331 /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 044355BCF9A51F03F92DA9A4955EDDF8 /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E34789287378DAC690BDC96A61B534D /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 03DFE13C6697848C21F4EB647BC55AA5 /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = 86010FFDC0CB0732CC170A6EB5EC36A5 /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 044355BCF9A51F03F92DA9A4955EDDF8 /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = F68419F17E2CC2073DDAC992BC39EF47 /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; 051E39EF701E24AC7E524C9D82A28215 /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = C9D0105E6F7855534D035E089FAACA84 /* NSURLSession+AnyPromise.m */; }; 0545829A927B4BB00A483BBE6244387D /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A6199EF8A43EB0E1F3C0EB7228F575C /* HKDF.swift */; }; - 07DF5F806B224E861175A2B54A157F4E /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7ABA1AA6809B8D6649D072F0CA90E7EE /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 080ADA20C98E5C462DA5BC8AB3858320 /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EE71EAB28439C6C06ACAAA031A9AE66 /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 07DF5F806B224E861175A2B54A157F4E /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E865E2465317D7395EFFC3E15BE3B82 /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 080ADA20C98E5C462DA5BC8AB3858320 /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 32804240A56A511992C9AA367655CDBA /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 08D84886240259762D5D2E88FE06BAB2 /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AF444B003D1A7B9026D1AF8B3B5B699 /* HMAC+Foundation.swift */; }; 08EE8946F9CB7AA37352C46DA4BD75EE /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = D24853136C9E866538093205C6E4A90A /* when.m */; }; 092FA91C224FA67526944D6026C42719 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F407B4684E6934554D8F4910242620 /* Int+Extension.swift */; }; 0AD8E3063BA9777F2313604C49FB35DC /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B864BCFD33F0A7ABED7DBA75C963A51A /* BlockCipher.swift */; }; - 0AE93856CF7FADFFADBE88A5A2D92A2A /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 83629B6E064C93119C08CF5B1695D990 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0AE93856CF7FADFFADBE88A5A2D92A2A /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D93F53AAD0FD5DB616A5E1C69164F0D7 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 0B9A91423AFC0ACA837C4E56A1AA588A /* Result-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = DCE95DEFE59A8D4B1CC921351954D118 /* Result-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 0BBCC69CD1D17E80AE051FB477BDD3D5 /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321B194E1B8A3A3929C651A01648EF4A /* Array+Foundation.swift */; }; 0CE27E8F6A719CE5E0889EB78FF28719 /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894312908815C8518B59156B045BB049 /* Thenable.swift */; }; 0D581B37DEE69673B5F6AF763BEAF9F0 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BC5492B1E1506F3725992C713A907DF /* SHA3.swift */; }; - 0E84110CE577CEBD75E277EA01003F9B /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F7B1F5E8885A02A41E2BC53975DF4F2 /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0EC23A496E7520709A8EF71182D4A977 /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 18CECE2AAA777C20C231B09167732087 /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0F027DD3DCF059DCB9E33D0B562B5A39 /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AE1F2C76AEC2899BB377C5F716B96A9 /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0E84110CE577CEBD75E277EA01003F9B /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = 778AAAE605119A0341DA4378ED873181 /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0EC23A496E7520709A8EF71182D4A977 /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DDEB5B32B77FC78B04321FABF19FAF64 /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0F027DD3DCF059DCB9E33D0B562B5A39 /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 57BE35B8EF2F430EE1A093A4E43F8243 /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 0FB79BA6789A195C987F2180A58B6AFC /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2290B9153347A3369FAF03E04A19326E /* CBC.swift */; }; 10650E08C4710FC9327EA77E080EAFBD /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8EAA4A69D5AC1E3D89D6D25C9496C75 /* Cryptors.swift */; }; 11C9F315CE87BFD09E465ADE9C355473 /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5946E85C35328004F1FD0D65ABF93B4 /* Process+Promise.swift */; }; - 1222711B1AB711D6206EED1F2580A623 /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D70BDEFFA46F9A5EE71DB70AE67B5652 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1241921863951D082F323302080CBDFF /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = 2525FC26081FA847B7D6E8209E7A7CC3 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1222711B1AB711D6206EED1F2580A623 /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A137B5E1D739B2D491F2842EFFBD559 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1241921863951D082F323302080CBDFF /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = 4965C40E8438A02BE82C485420845345 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; 124C34B2652696617A011E8FECFE0C3B /* Result-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B75257897ACBD9567F00827C544D722 /* Result-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 133747794F37E3A739F51CB04EAEC784 /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8602F37D59CD9AD65EEF65DF7AA62A3 /* UInt16+Extension.swift */; }; - 1530076E5FEDDBAB798D9AD56B228181 /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AD354FFD7D90184AD046B8CB46B47C0 /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1530076E5FEDDBAB798D9AD56B228181 /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D8A60B0639785EE266ACA62D536DD199 /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 158F6BC9635AF0C4F8FCAD1FB913BB45 /* Division.swift in Sources */ = {isa = PBXBuildFile; fileRef = 054B52AFE6F7A33802393B6F7E8B9807 /* Division.swift */; }; - 1666B20DE9E0ABBBCF96F4DDD5B281F8 /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = D288250D5D03FFA450A24F233388BA7A /* secp256k1.c */; }; + 1666B20DE9E0ABBBCF96F4DDD5B281F8 /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = D37DEA7A8B3EBEC27D9109471669A4BF /* secp256k1.c */; }; 172F8A31708E2C427BF616D9B2E5A52F /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = 110AED7E75239B43DC836BF06AF22BCE /* afterlife.swift */; }; 187B191D2E4399E1567DB24BD93F0486 /* SipHash-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B0423C9D9E49080ACEF73C985FBB221F /* SipHash-macOS-dummy.m */; }; 1904E18F6CE01618BBBC1B31E43B64EA /* BigUInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14B10E35F3FEA07B3ED6132C871686B9 /* BigUInt.swift */; }; 192BA88956DA574C01410D937DFF5098 /* UIView+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 45FFA251444F7DBCE99E0099A3F19A6D /* UIView+AnyPromise.m */; }; 193CE1B123F216F0140298A506854F9D /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65E54F31ACC1397C1485DF5C7B5FA928 /* Random.swift */; }; - 19E005C60300BACBE467130A64746A0F /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = B7C11E88CA44E3C6CD4C1DA0CE8CDF1C /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1A931FA6D7623661E6793527D71A4967 /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = B14E2DB314C3B43D35EF8DAECF6AC3DA /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 19E005C60300BACBE467130A64746A0F /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = F1F1BD0CE2445F35A20783082C9D4775 /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1A931FA6D7623661E6793527D71A4967 /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 07F62FD29EAB7298762C10A21294A6B1 /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 1AAC341916DC64CD28D08BDFED57AC9C /* Shifts.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1166BCE9995875A190DA0C329DD6F3E /* Shifts.swift */; }; 1AF1B798714A34D38B61CF7C7B5C185F /* scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DC2E6214BB1EB95403BF7608DAF872D /* scrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1B532920CD5ACB6A6E9B44AD7759774F /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 65FAD979B70CA8CC84821A24AF02DCF2 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1B532920CD5ACB6A6E9B44AD7759774F /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 370C998F97BBB1397D09CD78C43A9919 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; 1CC09F75AC87A194EBB50A8750BAAE94 /* CryptoSwift-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = AB4A0ADEE88B224FCFB999E14A3FC3BA /* CryptoSwift-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1D96448F1FFF0E5449F67332C543EE32 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B172A41C2D2CEDCBDCF390512DD02F4 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1D96448F1FFF0E5449F67332C543EE32 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 2385B17AD9190A207792185ECE5CD9C7 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; 1DD88ADB2458E38D5106042F0B958DFA /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A4A461EE06699EE78B2DCA6B7B73F16 /* NSTask+AnyPromise.m */; }; 1E11D4AB7D83F30DC55ED31131C62967 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9111A66A9DB609E927159CEFB76D4E76 /* String+Extension.swift */; }; 1E5F1CD6111EA4A4CFC001236E4F2447 /* Pods-web3swift-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E91F337EA3979DB5DD84C325A340270 /* Pods-web3swift-macOS-dummy.m */; }; 1FC51E63E62DD14E4E0F7422FE40E716 /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = FBEFBB38BBB87913FDCF892141C0AC8D /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 210E681DBFA8097A999F196A7BF59A6E /* secp256k1_ios-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CF4AD4A5FE03F1CD453371F1649C480 /* secp256k1_ios-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2161948858307EC6EEFCED5554369172 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = A7B38174B0902D2DCD57CAFF23561C82 /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 210E681DBFA8097A999F196A7BF59A6E /* secp256k1_ios-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D4E771C1368EA72DE7D24C281E6D674 /* secp256k1_ios-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2161948858307EC6EEFCED5554369172 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = 15C56E2FA28A6BC277C2F1DF71DE010C /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; 216986247596660CFCD4D997C374D548 /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B32F8420CC3DEDA3DC7BB0407B26FDF /* Collection+Extension.swift */; }; 216E8A7C42E0512734DBAA38BD573262 /* dispatch_promise.m in Sources */ = {isa = PBXBuildFile; fileRef = 01E16ADA85843E6D30083930685D07D1 /* dispatch_promise.m */; }; 22D8DF4F46BDC2292C1AE9B4AC3717DC /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = C9D0105E6F7855534D035E089FAACA84 /* NSURLSession+AnyPromise.m */; }; @@ -64,13 +64,13 @@ 238EF427CBC24F658E1C1FA4E53099CF /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8866E3418AA74CD02353B3E373ACEFA9 /* PMKFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; 239D8E853FDFD3C09B0B3A5E85FB64E8 /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11B33EE72A6FBE59A2A5064DAF6FFC4F /* AES.swift */; }; 244E287BB7934E5AB37BB61D5C587814 /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07692AF4D5F0A8907862595FBCB74ECB /* firstly.swift */; }; - 26A36281153F7D8DF3A79BDBA897DF26 /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F7B1F5E8885A02A41E2BC53975DF4F2 /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 26A36281153F7D8DF3A79BDBA897DF26 /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = 778AAAE605119A0341DA4378ED873181 /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; 2704B064A229223D40B136571F157C09 /* PromiseKit.root-CorePromise-Foundation-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E14AE09BC14CD1D5C3AD72803E39C00F /* PromiseKit.root-CorePromise-Foundation-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 28C3E22A6B7DDE77EFF9E56199884D40 /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 73E79D0886091383BE392E49B7A4EBC0 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 28C3E22A6B7DDE77EFF9E56199884D40 /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EF2B2E6A827BEB4095C69760A095228 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; 290854FFD3516C0BA20E66AD41986C4C /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AF444B003D1A7B9026D1AF8B3B5B699 /* HMAC+Foundation.swift */; }; 29A615F1F902BA0EEE2F11FCE2784435 /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CDBE2B78BCAA950F79B74C3FB2E228C /* when.swift */; }; 2BA16B5D2DD651E485E5496216F6996F /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93880388A03A6AEAEBFC90F7F533AAD /* StreamEncryptor.swift */; }; - 2C4AEC06516A5EFE1E600BB0A30CF6D0 /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 3217AEE906468DE068B9F1656B698E05 /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2C4AEC06516A5EFE1E600BB0A30CF6D0 /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 5ADFA6DD652FDF2433DB8FB46C2B02CA /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; 2C9D9A8F2D6CC312D0001D0BB11DEC71 /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B7931AA08AA6E50FAE2325FDFEC9669 /* ResultProtocol.swift */; }; 2CD358B6D6909178593465B26D6A6E53 /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEEB8AE79B5DA3255A444BD9E125CC15 /* Utils+Foundation.swift */; }; 2DD480A5DBA913244A3AF776CECCDCF7 /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FF537F705CA3D41D9798A4511A8F24D /* Authenticator.swift */; }; @@ -90,48 +90,48 @@ 34D61980DF37C53741DC15DEEDCFAC25 /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCDA16C2155C3C3AC4C4D3C23A57EC12 /* UInt8+Extension.swift */; }; 354D68B8C8B6D4C003BDB91E8A1D680A /* String Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7DFFB650AB055EA65177877A4837E93 /* String Conversion.swift */; }; 359269757B7FED4424DD9489F42BBB49 /* SipHashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2C42F3DFC4E6CC75140A86DF8616CC3 /* SipHashable.swift */; }; - 35DAD73CA3D181C3820B7A48AAF6B788 /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EE71EAB28439C6C06ACAAA031A9AE66 /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 35DAD73CA3D181C3820B7A48AAF6B788 /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 32804240A56A511992C9AA367655CDBA /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 36DB5AEC759BAA7C4222B36C8790FA8A /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = A414F7D6F59CB6D7C5696F98992E80A2 /* BatchedCollection.swift */; }; 370C7FFEAB64F443F216B37A2B33F106 /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = E88F02B72D0ADCFDAA37C5D63ABB3679 /* NoPadding.swift */; }; 3755C12BE9E88D2D7E5765B3CDC80DD9 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1961CDC6282709B9B35B8F757754E1A /* CompactMap.swift */; }; 377C6046F93E7409F3996D06ADAD4CC7 /* SipHashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2C42F3DFC4E6CC75140A86DF8616CC3 /* SipHashable.swift */; }; - 38B6E072F812605CF0B4FA03B3528A82 /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7ABA1AA6809B8D6649D072F0CA90E7EE /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 38B6E072F812605CF0B4FA03B3528A82 /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E865E2465317D7395EFFC3E15BE3B82 /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 38D8B82703E87B790A4D8C9B749644DF /* Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D159242CC5E8F83FDBE6973BE570CA54 /* Comparable.swift */; }; 391B4F1D6A8EBFD3317BD7B4637E0B42 /* PromiseKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A75A46146F4FF1C0CB840CA36D75492 /* PromiseKit-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3A0BDEA886E92E674AB63F02A38A9044 /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 670BCF92469F3BB35E8F617E2F61E479 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3A0BDEA886E92E674AB63F02A38A9044 /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 97CA37D99BC06AE9B4704C72A22686E5 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3A611A77C4E834E1E7F375E6362DB0D7 /* Pods-web3swift-iOS_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B56F6A20A0CF698ECA0EDF6CF4CDD74 /* Pods-web3swift-iOS_Tests-dummy.m */; }; 3A7D4D17062363D0D7DE5405827EB6D1 /* Guarantee.swift in Sources */ = {isa = PBXBuildFile; fileRef = 991C827F3BBAAEE28EE416BE38F76DD0 /* Guarantee.swift */; }; 3AC07C0FB85EDC81532D78FAB99C85B1 /* BigUInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14B10E35F3FEA07B3ED6132C871686B9 /* BigUInt.swift */; }; 3AC689CBB3DC3931542904E58800704C /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEF9AB34E06A2A4078A0C87B37B1CD0F /* RandomBytesSequence.swift */; }; 3AEDA0F0A0D1B6B201C42C72941FCE3F /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0E096DA6BBC65953BD97D1BD9FDC13A /* Blowfish+Foundation.swift */; }; - 3B3C7BC5E53C195B74B659C5D3445385 /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = B14E2DB314C3B43D35EF8DAECF6AC3DA /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3B41981C0A080D47C5C9EC0F3FFB7611 /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 11D2E84F01BCA808E576508AFC2BECBA /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3BD9A23A6A10CF688F51418A5C0A926C /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = AADCF3484DBEE7528E66E04707BBA998 /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3B3C7BC5E53C195B74B659C5D3445385 /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 07F62FD29EAB7298762C10A21294A6B1 /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3B41981C0A080D47C5C9EC0F3FFB7611 /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C0825E5C07CD2AD15EADE1A4F132C24 /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3BD9A23A6A10CF688F51418A5C0A926C /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 30F699976B957E8821EB632AF092C14C /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3E08A96B92AD3C76A8C13B5444DDB23B /* NoError.swift in Sources */ = {isa = PBXBuildFile; fileRef = C57F8890E519BE45C84FBCD5E06453AF /* NoError.swift */; }; 3E20F5E2C7DA6C8B4AF7D05CA526183F /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EE7CBB8299AB71F5275827AA34C853A /* Cryptor.swift */; }; 3E5D7D6D073F33181BEE8BBAA47E427E /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 3736F60D986568A8151FD480D9648F38 /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3EFA188E4DB94F776E9769B16C85FDD7 /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 83629B6E064C93119C08CF5B1695D990 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3EFA188E4DB94F776E9769B16C85FDD7 /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D93F53AAD0FD5DB616A5E1C69164F0D7 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 3F474D94A325AFDB74206B0CD0790920 /* SipHasher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 602BCDD7A6B60ADA7204658627037B22 /* SipHasher.swift */; }; - 3F78D2AC31E0DF3F1BF6300484D449AB /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = D288250D5D03FFA450A24F233388BA7A /* secp256k1.c */; }; - 4012B628413F1BB0A86D23CEF67DDB93 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 04D613988B2E91F7B5A7327303576BAB /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 40EFCF53AC23E42E8CE500F73237112F /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 337F14F3FE32B1AA45844B7F9E94C8CB /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3F78D2AC31E0DF3F1BF6300484D449AB /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = D37DEA7A8B3EBEC27D9109471669A4BF /* secp256k1.c */; }; + 4012B628413F1BB0A86D23CEF67DDB93 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8575ADFAFEFEFEDACDC32D01960AE2AB /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 40EFCF53AC23E42E8CE500F73237112F /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 42EA8B8CA97A07CABD4DBAC9F8610993 /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4262E028B1F9886FD1163C16D5E39C88 /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = FAA8118238A7270948998466F81E6253 /* after.m */; }; 42C6DB05A3663AC4AB08317F9287797A /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 231D53FA7D46749E94693152ECA561B4 /* AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; 42FF2C1D3648C354550AC88EE5E64B80 /* Data Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C8A77BEACE815406E69A6AC5A86CAD0 /* Data Conversion.swift */; }; - 431B4A873377BAA0B7101CA62F243F69 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B172A41C2D2CEDCBDCF390512DD02F4 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 43211F1E91C824A5FC64E00B62E5AB95 /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = 56B4887D50F2EB64112AE8382F814BE6 /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 431B4A873377BAA0B7101CA62F243F69 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 2385B17AD9190A207792185ECE5CD9C7 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 43211F1E91C824A5FC64E00B62E5AB95 /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = BAD09E8EE27EB4BA87F1F0237E0D7537 /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4394019D91B5D15A9BB24CE7CA201410 /* NSObject+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15059FCA7454E93E51AFB7275C28A335 /* NSObject+Promise.swift */; }; 4407ACFACA948CBA51F56B96A99EE4CE /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38CE3ACA4B29354641417DECF1CDC5CF /* PKCS7Padding.swift */; }; 44DF067E138C7E2662D76052B1D15932 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9612CFC925C44DA818604C666EB454C /* Operators.swift */; }; 45482DED636330B9BCE4493225B66813 /* Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D159242CC5E8F83FDBE6973BE570CA54 /* Comparable.swift */; }; 4562B917950C9F7E1CE07191DFDA096D /* race.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9C90F0F0F9A0115AC326304EB131CA4 /* race.swift */; }; 49BABAEF57C8A617DA34C25DB757180B /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D7C8185E119AF505859D0B27973E57E /* AES.Cryptors.swift */; }; - 4A5F92735335EE5F55A619EDD9382812 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E727EFDF1D9F0E72FF769FA527EB01D /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4A5F92735335EE5F55A619EDD9382812 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C9596E2D0164256EFB0F1673E724BB1 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4ABE0DFEC60E5ADE9205151D88B2F08B /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 309EDA4AEC3E9553B1C5228CB1CB760F /* Result.swift */; }; 4BA76EF32D81038B1AD2E8C555A3C985 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9612CFC925C44DA818604C666EB454C /* Operators.swift */; }; 4D424F348E7A03D67FCBFD968F07E772 /* hang.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAB3BF2C1D04839054658D7999609AFA /* hang.swift */; }; 4D7DEDC820A1EF913455BC0FBE72FBD6 /* BigInt-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 10236EF8647E9F61C53670449679E133 /* BigInt-iOS-dummy.m */; }; - 4E4F07B24DAB1E29AC81AD866A43C376 /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = 1D7CEF9F4C98A2CE1B98AD20F3608F16 /* lax_der_privatekey_parsing.c */; }; + 4E4F07B24DAB1E29AC81AD866A43C376 /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = EC2691B355719F37BCE2B9EB79640902 /* lax_der_privatekey_parsing.c */; }; 4E8C968B4D8B860668C9C36CA819BF70 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1961CDC6282709B9B35B8F757754E1A /* CompactMap.swift */; }; 4FCF1CB933BEBAC5D0892C543D68E658 /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7FE282781FCA8360DCC5EEC2DFC9045 /* BlockDecryptor.swift */; }; 5063FE3FE1C30A73A073F3533C508D64 /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BC87D5802ED83EA9011FD6A3EB7B4D3 /* AES+Foundation.swift */; }; @@ -140,17 +140,17 @@ 51CAAE01BFF59F085BC9B34842E3C7C2 /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07692AF4D5F0A8907862595FBCB74ECB /* firstly.swift */; }; 51DADAE211CE77CDDD762DF1F5FAA236 /* Exponentiation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 129F0BDD5D5540B28243DA06090AEC11 /* Exponentiation.swift */; }; 52FB4B4296FA803827D3F78B1EA7FF8C /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = 110AED7E75239B43DC836BF06AF22BCE /* afterlife.swift */; }; - 5378A6D7FB3F30FD0F2D5EBF728C481F /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 337F14F3FE32B1AA45844B7F9E94C8CB /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5378A6D7FB3F30FD0F2D5EBF728C481F /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 42EA8B8CA97A07CABD4DBAC9F8610993 /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 53FBBFD161D6A1C13A33616571645C5E /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 520379C6715340D2674500ACBD1C4502 /* Catchable.swift */; }; 5518BD53D7F73216E2695680ACBAC221 /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = FAA8118238A7270948998466F81E6253 /* after.m */; }; 557E070EDC1D983960128B12A77AA293 /* GCD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17049D2192C6CCC8A8BE362B66ED01E6 /* GCD.swift */; }; - 57A82484117095DCA73446B1E6ECFC32 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 3784FB8ABDFC677C070E5808E273F420 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5A5911FA8E88B73CCAFBFFA88D5B9E35 /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = 7953AAFAFDD8639ABC0F6CFA2A5E6436 /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 57A82484117095DCA73446B1E6ECFC32 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 894C3E3F18C4D842D9E35A6A69851AF0 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5A5911FA8E88B73CCAFBFFA88D5B9E35 /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = 030837B4EF44BB6736CDF5FBF205E93E /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; 5A8B48EB086264AB7340C7FBF07D7383 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F213EA122AE5157AD579B519B42CAA5 /* Utils.swift */; }; 5B58F3471510812FD864BF21791F7497 /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6AD63B104B462BD7A0812CF8D8089 /* Resolver.swift */; }; 5BF15FCDA2CA5E504F774B93C1EAA123 /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2FA1DA6CAEC899929310534A250E53B /* OFB.swift */; }; 5C173DF75AE4F4E54EB9DD7D68D44568 /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3C749DBE031D5CD32F6F718288C1AC0 /* Promise.swift */; }; - 5CA03C34BCCCA0FC29653E6A50C0277C /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = AADCF3484DBEE7528E66E04707BBA998 /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5CA03C34BCCCA0FC29653E6A50C0277C /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 30F699976B957E8821EB632AF092C14C /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 5CA9E73F8349BAC9F5EBD1F0589C91AD /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CB44D970BC24207B7D4CA4DD2644E2B /* ChaCha20+Foundation.swift */; }; 5D44B3C73A389261EB15DCD7849BE6DF /* PMKUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = D175F930B0613AAEB35FE3D02276CA4D /* PMKUIKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; 5E0F76D46A3F14CC3903F4D072D6652C /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C74C1E23D6AF919642E4F6E55FD308 /* BlockModeOptions.swift */; }; @@ -159,7 +159,7 @@ 619A7209AF68E44B937A8C030287B0CA /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = D6FBFF07C73E9B536C49D3D32A989327 /* join.m */; }; 61C9BCD007508C2CB8959FA50BF0F53F /* Addition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F24C4B729147ABA4455041FEDE41FE00 /* Addition.swift */; }; 61D043FD677FACF7F382F67A430A7F62 /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 400C4535441BC4EF157E1C50C654B28E /* SHA2.swift */; }; - 63FFA36A34A36A797BEA3D7EDF4CC3C8 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = AFCE6E7D1FF14C1DB7CAA83B0D516538 /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 63FFA36A34A36A797BEA3D7EDF4CC3C8 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 33EBDEB3CCBA0EA3C7F7CB093743643E /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 6483A6AC993D8C5F8983064789F220B8 /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2290B9153347A3369FAF03E04A19326E /* CBC.swift */; }; 67722A22A203CDADAD4B402AED93007B /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6AD63B104B462BD7A0812CF8D8089 /* Resolver.swift */; }; 6817327279945D8425268EF14CDDAC21 /* Primitive Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = F685B50C77BC588736193EFC93B3FAFA /* Primitive Types.swift */; }; @@ -169,7 +169,7 @@ 6B050CF87A4AF6792BB270FFBD764A76 /* race.m in Sources */ = {isa = PBXBuildFile; fileRef = B592EEFCCF7F964D0B60F749B17B7658 /* race.m */; }; 6CE3E12734602C2051BDEA332E5F55CD /* AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 6565B9A6640E27ECBBF27A2AB8E07117 /* AnyPromise.m */; }; 6D44B36B12347BA0E2838B68148C4BB4 /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = F618CC73DE8826F0386137F6584B6A57 /* GCM.swift */; }; - 6D55E98E3CA63D1202BE0641D7399EE8 /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = 113FB888146C1156101BB0FCC2303331 /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6D55E98E3CA63D1202BE0641D7399EE8 /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = 86010FFDC0CB0732CC170A6EB5EC36A5 /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; 6D5CD948E7245E25D3815643B2B4C89D /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321B194E1B8A3A3929C651A01648EF4A /* Array+Foundation.swift */; }; 6D92208E7FD3D5F577A4CE8CB9408544 /* Cimpl.h in Headers */ = {isa = PBXBuildFile; fileRef = CC773B77A5A65E3C63F4C5305CAD01D1 /* Cimpl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 6DBF333CC01A4E9765AFF12263B05CF3 /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3C749DBE031D5CD32F6F718288C1AC0 /* Promise.swift */; }; @@ -177,36 +177,36 @@ 6EFDB00864D7D2230D576768C0C445F3 /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = 96BC14C5CF69F4D24A02B045A7A1BB7E /* fwd.h */; settings = {ATTRIBUTES = (Project, ); }; }; 6F5B521B508C0230EF8488842DE2C905 /* SipHasher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 602BCDD7A6B60ADA7204658627037B22 /* SipHasher.swift */; }; 6FD417369E56DA302F107E9478D4A735 /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 9419704F82CEC9143EC36DDD7E0B5565 /* NSNotificationCenter+AnyPromise.m */; }; - 70DA4C91DB3C9D2179662801D68386A0 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 3784FB8ABDFC677C070E5808E273F420 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 70DA4C91DB3C9D2179662801D68386A0 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 894C3E3F18C4D842D9E35A6A69851AF0 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 717B05FECD48B3ED8481296EF0CCF350 /* RandomUInt64.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5571DA87BD8084546DB65E212E690849 /* RandomUInt64.swift */; }; 7193D179572C3FAD861BD281EBBE0794 /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2FA1DA6CAEC899929310534A250E53B /* OFB.swift */; }; - 7239F0AB8B86ECA736377C06ADA831F9 /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 670BCF92469F3BB35E8F617E2F61E479 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7239F0AB8B86ECA736377C06ADA831F9 /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 97CA37D99BC06AE9B4704C72A22686E5 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7314A1C475E3E135C16C733C84508F1D /* NSObject+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15059FCA7454E93E51AFB7275C28A335 /* NSObject+Promise.swift */; }; 733ACA74E73BC9EA955F347A731DBB5F /* Guarantee.swift in Sources */ = {isa = PBXBuildFile; fileRef = 991C827F3BBAAEE28EE416BE38F76DD0 /* Guarantee.swift */; }; 736BB84780916C964F46C4B77671A1AF /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29DC94582C8F4626E7BBD65A075FDBD5 /* NSURLSession+Promise.swift */; }; 74602FF913EBE7791DE8B091DBFC2D6E /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3BEE25ACB7B1714E52C057B725B022B /* ChaCha20.swift */; }; 7478C4AB680096975DA0F3885DE5128C /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E8B805F5680EBA0F99C37AB55DF371A /* Blowfish.swift */; }; 75383208B98A4BFB61B7418E8B546CCC /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2D922779E502A6EFC12530D47844477 /* AEAD.swift */; }; - 753EBD02641E8F6F23CAC9B8BE1AB870 /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F7A4EBB203B3B080F8B5BF693B1D73E /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 753EBD02641E8F6F23CAC9B8BE1AB870 /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 7399560A570538454DCA6FC42E879809 /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; 75603E077E70073F479AE5B3F89CDC8B /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D22F70DCC90E8FE0E9EC24A5DBABE79C /* Rabbit+Foundation.swift */; }; - 75DFBA4078AA16B9762F25A2068F8266 /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = EB741666A46691B0F36213814C9E064B /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 768B8E3C8A41ACDBF1607EAD1013301D /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A780AF8B00436C92795015A4BB4871E /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 75DFBA4078AA16B9762F25A2068F8266 /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BD07DFA1EC0FD8CF78E837D5A0051A6D /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 768B8E3C8A41ACDBF1607EAD1013301D /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1143B8F0055C240BA0D05D50FC1CC020 /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 76C870EB2A458DD871074597EBF85551 /* Salsa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45C2BE6D1118A5C0F2E549CE3527D602 /* Salsa.swift */; }; 76F56049518D4E3F2868ECB003F2990A /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5E5C5193E731A76273A1ADACD50AB81 /* PCBC.swift */; }; 7727C417D26C1F6EBC5668D0FF7E24BF /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 480A526DDBB009A3C8A843239CA3D080 /* PromiseKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; 773013B84E21E3867773BCAB6E171CBC /* Shifts.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1166BCE9995875A190DA0C329DD6F3E /* Shifts.swift */; }; 77EBF711C1B88D92CFC3AFCE6293E015 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 092C4E684DC275279EC695C30F05982A /* Array+Extension.swift */; }; 789A3DD0AA3D7580E0FCF6389C037D56 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BC5492B1E1506F3725992C713A907DF /* SHA3.swift */; }; - 78A661EDD584574FE574F9F5442C1D19 /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 9873C60F241233030F26574B565116B5 /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 78A661EDD584574FE574F9F5442C1D19 /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 506C81F04F45BF82E339BD28FB9A6252 /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 78BB8536FFE3547FBB5E621141E01F84 /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 480A526DDBB009A3C8A843239CA3D080 /* PromiseKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; 78CF0243E783BB84E94C69AEE8CB1E8F /* AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 6565B9A6640E27ECBBF27A2AB8E07117 /* AnyPromise.m */; }; - 78DB68659C3EA82DD2DAF980F8E703BB /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E10436F61B2E20A7AC6B9FA2B43475B /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 78DB68659C3EA82DD2DAF980F8E703BB /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = 16B7C824120675B47E14A2A872A6DFDC /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; 79CA11C1BDDC386FF2A4ADBB513892CF /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8866E3418AA74CD02353B3E373ACEFA9 /* PMKFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; 79FA79BA765DEEF172BC0384B7E5CE84 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = D89263E801FAC6A34F7C9D4E3A3066A9 /* UInt128.swift */; }; 7A0702EE936C773C38F5E4B7F21AB26C /* Multiplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14A3B9C8EDE35875C552679A990B05FA /* Multiplication.swift */; }; - 7A95B0BC386E8AF888E81C3A766D509F /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 11D2E84F01BCA808E576508AFC2BECBA /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7A95B0BC386E8AF888E81C3A766D509F /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C0825E5C07CD2AD15EADE1A4F132C24 /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7AC2E47719C68FABBDF2DF9E567086AF /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CE50C1C3EED312C9E2B7129A77B305B /* SHA1.swift */; }; - 7BA326DD0CB90C3E9B6459E45258514A /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 154960BA397A967916A61F0CA3ACDA98 /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7BA326DD0CB90C3E9B6459E45258514A /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B7D33AF1AE938A46700885645D7B0C6 /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7C414865BEC16506132F9910DBD62F3B /* Division.swift in Sources */ = {isa = PBXBuildFile; fileRef = 054B52AFE6F7A33802393B6F7E8B9807 /* Division.swift */; }; 7C84CA8569B6C593005324DE5F49621E /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D956E4D797535DA55BFACC56BAE7232E /* BlockMode.swift */; }; 7CEBCAAE658C0E0716B41E40BEF8FB3D /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD4D44D1A4A0B550CAB6D8C2AED04AD3 /* CMAC.swift */; }; @@ -214,7 +214,7 @@ 7DB10EF26A0A2F6768F695BE03C0AB86 /* Multiplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14A3B9C8EDE35875C552679A990B05FA /* Multiplication.swift */; }; 7ED61B6F717591CD9AEE78153233E125 /* CryptoSwift-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 95FA6138713C5F6E2FBBB866D8A4C6E0 /* CryptoSwift-macOS-dummy.m */; }; 7F20A41D40643A5EE1FB3E64F1BB44BB /* Cimpl.h in Headers */ = {isa = PBXBuildFile; fileRef = CC773B77A5A65E3C63F4C5305CAD01D1 /* Cimpl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7F46D5244B59340D5B0A7E454860D689 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = AFCE6E7D1FF14C1DB7CAA83B0D516538 /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7F46D5244B59340D5B0A7E454860D689 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 33EBDEB3CCBA0EA3C7F7CB093743643E /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7F754A09D7EA3165D9758A80F307227E /* Floating Point Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FAB45044F3A646E2488529698B14387 /* Floating Point Conversion.swift */; }; 7F8D8FBC1A9C67B326A7F5A04BC3658B /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91836319B3FCCB5A2B1BCE6EF7415F68 /* CFB.swift */; }; 7FE0C78E1D6CF35FD66403216909410B /* BigInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0955D39FEEF45C034D6A32CD819DA77A /* BigInt.swift */; }; @@ -222,14 +222,14 @@ 80D2DC67C9BF404DB886FB1B282408D3 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2806EF87AE8A9188FC203D40F55755F3 /* HMAC.swift */; }; 8384A7D8940BDD9B50ABF44358E12847 /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3BEE25ACB7B1714E52C057B725B022B /* ChaCha20.swift */; }; 848EFB4F6CDA94AAAD25CCB2283E9EAA /* Integer Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD4C6A3CDC6FA3F322EA1C393C5CC89E /* Integer Conversion.swift */; }; - 84CCEF3B86065A6C299BE772199B73C1 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F94C022B4C730984FCEE4E1D731C291 /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 85BE6E38DF5EF78306F1A4AA5D9BDFFA /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 154960BA397A967916A61F0CA3ACDA98 /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 84CCEF3B86065A6C299BE772199B73C1 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FDB2A79B118B2F003B3E6F5A708B701 /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 85BE6E38DF5EF78306F1A4AA5D9BDFFA /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B7D33AF1AE938A46700885645D7B0C6 /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; 8601AFFE38D08BA40B4AED33D04654E4 /* Strideable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00E44D081910E0A312C3A2879F658B01 /* Strideable.swift */; }; 874698320130745EC1465E308033D024 /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B32F8420CC3DEDA3DC7BB0407B26FDF /* Collection+Extension.swift */; }; - 8838B2C8BD6B40891B3DCF118A17026D /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AD354FFD7D90184AD046B8CB46B47C0 /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 88BF6E9DAD1C8B0508E8CFFEDE03C163 /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 9873C60F241233030F26574B565116B5 /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8838B2C8BD6B40891B3DCF118A17026D /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D8A60B0639785EE266ACA62D536DD199 /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 88BF6E9DAD1C8B0508E8CFFEDE03C163 /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 506C81F04F45BF82E339BD28FB9A6252 /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 89AD1BFCA3B307CD78AFB34118AC031D /* Addition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F24C4B729147ABA4455041FEDE41FE00 /* Addition.swift */; }; - 8A5E008391D8321CFFAF8C16780EFA36 /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D3B85A32FDF4C95F0BAA5B3BB12FE9C /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8A5E008391D8321CFFAF8C16780EFA36 /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = FD3FC379B5028687E388AD09CFE88832 /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 8ABEC41E232F354C6DF2DB60B4AEDF49 /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5E831984223821B4643964E0D16375 /* AEADChaCha20Poly1305.swift */; }; 8BB491EE5C33542F02AAC503E876F8D9 /* UIView+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 560B0B96D98FDEEAA1623C02B9F6ACC6 /* UIView+Promise.swift */; }; 8CA95863A4A71897EE45477A562A16B3 /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEEB8AE79B5DA3255A444BD9E125CC15 /* Utils+Foundation.swift */; }; @@ -237,13 +237,13 @@ 8E189B54FFC987969C2A26D21DB0FB42 /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74C8E7BC7B9A663969DC6A1FAE5AD6C6 /* Bit.swift */; }; 8EF9B8FF607B9FD70D85D95EA60C804D /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E75AE5FFEFA361D707CC354FF1EB3D52 /* Updatable.swift */; }; 8F6828B66EC68D2878CEACC7D234DCED /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29DC94582C8F4626E7BBD65A075FDBD5 /* NSURLSession+Promise.swift */; }; - 908767B8A8D3AB83A352870C44DBF7FF /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 128F0A3649763AA74BB1F997980E9878 /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 908767B8A8D3AB83A352870C44DBF7FF /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DC80BC8175DF95AF5AC0777B4379466F /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; 90B8891EA1CDC0E2CB923E349FC54D85 /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 3736F60D986568A8151FD480D9648F38 /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; 934311E0A7ED33AF227CA6236BE194FA /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9111A66A9DB609E927159CEFB76D4E76 /* String+Extension.swift */; }; 9346676038E479F7475D304CD3939A0F /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91836319B3FCCB5A2B1BCE6EF7415F68 /* CFB.swift */; }; - 93A04B36AE3206350B85D19862F5F62A /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = CC5C878E59F3ED2C5956640525A3B54F /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 93A04B36AE3206350B85D19862F5F62A /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = 0297F48C8677A1EAF05256ECF6AE81D5 /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; 93AD3CA5F13CFF076A06516E303A61C9 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F87371895A84370E0ECB153DA5CFF62 /* PBKDF1.swift */; }; - 95532035A7D2C05E9D78194EF284D038 /* secp256k1_ios-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 26C87BA1E1CD3DA69658381DC862662E /* secp256k1_ios-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 95532035A7D2C05E9D78194EF284D038 /* secp256k1_ios-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E769D47A96005469A7B39F23E9281D6D /* secp256k1_ios-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; 969BD4FC9172F82D66E704BF544A30AC /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = F618CC73DE8826F0386137F6584B6A57 /* GCM.swift */; }; 96C6125FB939C1C06CE63AD1E59F88B7 /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E45449F26960667F9B102A7F62C60D31 /* Digest.swift */; }; 9712E5BC7B1EEE1A02EEA6DC76325BEA /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AB377C96E323960FB5F59BE70C7DDFA /* Poly1305.swift */; }; @@ -265,16 +265,16 @@ A01F875E651CCF1697C02EA9BF034852 /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5E5C5193E731A76273A1ADACD50AB81 /* PCBC.swift */; }; A065300D974D4C50642BF3687E0E6C37 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = EECA7B8CA13556F051DCBF44B5E5092B /* ECB.swift */; }; A19A5C73B405B96CE009AA14C54C9455 /* Cimpl.c in Sources */ = {isa = PBXBuildFile; fileRef = A0BB9A3E4E29EBA29F99C94BBEEEC1F2 /* Cimpl.c */; }; - A2B27FA4D25CFCC93C70B9BB5A5963C6 /* secp256k1_ios-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E54564B11B6584454FF1C61A27575535 /* secp256k1_ios-iOS-dummy.m */; }; + A2B27FA4D25CFCC93C70B9BB5A5963C6 /* secp256k1_ios-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C85BA37239973340D1056F3EBC7F4F8 /* secp256k1_ios-iOS-dummy.m */; }; A301F522108F0A22EFA241EBCC8F5AA6 /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D028C35CBC913E3AF71B22E4A3C7D14 /* CTR.swift */; }; - A39E98BB6ACEECBAF672A52457035B06 /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = DEC9C3E8E55E46B29FD5E5EF68F87F17 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A40822AC61959F70D2834E5F4A9A331C /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E34789287378DAC690BDC96A61B534D /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A39E98BB6ACEECBAF672A52457035B06 /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = 21DDCB6C56CEF1430122DCD6370180B8 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A40822AC61959F70D2834E5F4A9A331C /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = F68419F17E2CC2073DDAC992BC39EF47 /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; A48902823DC75349716A4753B1E660DA /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DDF10E5AA3EE0D0028933F977F5BF96 /* Generics.swift */; }; A4A59B0BA1E4153A6BF2917EB2C1AF06 /* CryptoSwift-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C86011CD926858E717E5D92380F2838 /* CryptoSwift-iOS-dummy.m */; }; A4F8D815D07249B30E393C63694BF3D7 /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CC26F0B1E75C50586670C90CB45F824 /* Codable.swift */; }; - A5FF9C090C00EE25B1035F603F1C3558 /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 65FAD979B70CA8CC84821A24AF02DCF2 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A5FF9C090C00EE25B1035F603F1C3558 /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 370C998F97BBB1397D09CD78C43A9919 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; A6ACACF0C2E9DF22C5477F6FE45DA8FD /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CE3EEB40B82A07623C8EC58D511BDA8 /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A851E4E866251283BE250466CCA8F05D /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D70BDEFFA46F9A5EE71DB70AE67B5652 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A851E4E866251283BE250466CCA8F05D /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A137B5E1D739B2D491F2842EFFBD559 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; A8995C0B368AF79026265F486D640985 /* Primitive Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = F685B50C77BC588736193EFC93B3FAFA /* Primitive Types.swift */; }; A8FB03192116C7259BDC47B4ED7A1770 /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7FE282781FCA8360DCC5EEC2DFC9045 /* BlockDecryptor.swift */; }; A93F309C7285ACB8ECAA14903BC85237 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3AE421756716EB8DAA945495A2EC5DD /* Rabbit.swift */; }; @@ -286,15 +286,15 @@ AB02DBB24DBB4F98005C0C14C342F8FF /* Prime Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C91FB228B4F0EFFE0BB1C457B26A6E3 /* Prime Test.swift */; }; AB34427D03874A67ED273F44E27CAFEB /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CDBE2B78BCAA950F79B74C3FB2E228C /* when.swift */; }; ABA18C643B7B9DAE45127BAB6763ED84 /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = 96BC14C5CF69F4D24A02B045A7A1BB7E /* fwd.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AC19417412E8F69BD232DB6370BE9AC3 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BC5E345E21A1E0448686159C97199BF /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AC19417412E8F69BD232DB6370BE9AC3 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 185ADAFCE5AF39098787D861673779B8 /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; AC6D836A8BEBC67FAD48B43B80382794 /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B10016CC925878BCF8C1423A7EAD6A6 /* Padding.swift */; }; - AC7E09D1F43A94AEC729A8D8486B85CE /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = E700B3E020C13F1EF3046DA2572EB770 /* lax_der_parsing.c */; }; - AEDB6F7FF6DB897F36B275F65C330C41 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BC5E345E21A1E0448686159C97199BF /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AC7E09D1F43A94AEC729A8D8486B85CE /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = B9BCFC62DFEA1FC233306B897C15DE84 /* lax_der_parsing.c */; }; + AEDB6F7FF6DB897F36B275F65C330C41 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 185ADAFCE5AF39098787D861673779B8 /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; AFDA9E12CC7195153491C8CD1C0AAD8B /* Integer Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD4C6A3CDC6FA3F322EA1C393C5CC89E /* Integer Conversion.swift */; }; B15B604450291A246C8420194AFF4B2C /* Result-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 58D38A9B84FEE36DA02159AEC6611C17 /* Result-macOS-dummy.m */; }; B264AC2DFBBC420DEE1695859273E0E6 /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39CF9703323096F120BB7C18AC3CDD7E /* CipherModeWorker.swift */; }; B27AC8F7FCD59B1C8879D64E939D9737 /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0E096DA6BBC65953BD97D1BD9FDC13A /* Blowfish+Foundation.swift */; }; - B375AE4058EC8E7A69B2D448B7F36019 /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = 77B6F7DB489A42B9DFF2C75C6090890A /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B375AE4058EC8E7A69B2D448B7F36019 /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = 51FFE70E98E00B14A7CEDBC9878713E7 /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; B43A930051FDC74CE6667856407BD5CF /* Exponentiation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 129F0BDD5D5540B28243DA06090AEC11 /* Exponentiation.swift */; }; B47081880A03F74BE985722C4EB78E20 /* scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DC2E6214BB1EB95403BF7608DAF872D /* scrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; B48C458D1CB67A6B566AEFBADAE6DE8A /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B10016CC925878BCF8C1423A7EAD6A6 /* Padding.swift */; }; @@ -304,26 +304,26 @@ B6047589B7129612A0BD9070C008FF3E /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F3C6D22D31BFCC4FBF02C3E813AE0EC /* hang.m */; }; B640565E1593B250390597C2651078A4 /* BigInt-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C4FBD9EED7C8E73E16CA9B5DC621F56 /* BigInt-macOS-dummy.m */; }; B6699C206D4772B76BEAF1722CB04572 /* Pods-web3swift-macOS_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 522015696E45158812DD4C5CF37CD544 /* Pods-web3swift-macOS_Tests-dummy.m */; }; - B70EF82165930092663A4177C5F1FE4F /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 4207171AF4AC30056EE3D86BA2E572A2 /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B71596F2C722143ACE243217699C8B26 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = A7B38174B0902D2DCD57CAFF23561C82 /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B70EF82165930092663A4177C5F1FE4F /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 2468F7B4A6695BB009B5A2AE35A167C8 /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B71596F2C722143ACE243217699C8B26 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = 15C56E2FA28A6BC277C2F1DF71DE010C /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; B7D7CA91C141C38015B1148059914F81 /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = D24853136C9E866538093205C6E4A90A /* when.m */; }; - B85578BD6CA740FA275B7FCB49ABCE30 /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = 77B6F7DB489A42B9DFF2C75C6090890A /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B85578BD6CA740FA275B7FCB49ABCE30 /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = 51FFE70E98E00B14A7CEDBC9878713E7 /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; BA33E96D5FF50CFFA5727208AC91DF2B /* SipHash-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F59529DA4EC37C03768A930A570FC20 /* SipHash-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BB91D03B628F9A7BAEE9330E7FEE58DB /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E727EFDF1D9F0E72FF769FA527EB01D /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BCDE72CE8069BF09131F983ACA411B8B /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = 1D7CEF9F4C98A2CE1B98AD20F3608F16 /* lax_der_privatekey_parsing.c */; }; - BE17E68524E049C26BFA30707DFF6E9E /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = B7C11E88CA44E3C6CD4C1DA0CE8CDF1C /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BB91D03B628F9A7BAEE9330E7FEE58DB /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C9596E2D0164256EFB0F1673E724BB1 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BCDE72CE8069BF09131F983ACA411B8B /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = EC2691B355719F37BCE2B9EB79640902 /* lax_der_privatekey_parsing.c */; }; + BE17E68524E049C26BFA30707DFF6E9E /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = F1F1BD0CE2445F35A20783082C9D4775 /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; BF6A2DC96F54CE8B73454C8C2C00381B /* BufferStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75108DB9FE7BABCC05526BD92059DC5A /* BufferStorage.swift */; }; BF9C1C12AD3560167B0800059B4A6D6E /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AB377C96E323960FB5F59BE70C7DDFA /* Poly1305.swift */; }; C0101FD19738FB97383D1C0CF5EEBF77 /* String Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7DFFB650AB055EA65177877A4837E93 /* String Conversion.swift */; }; C0E38CC3E9A47DD76092CA50CEEEAE12 /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFA9EC9779A914A67653CFFF9142318C /* Deprecations.swift */; }; C0F8B164DDA6157937A300C207D56E4E /* Subtraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6942B9400A6731CB14455C8AE7F0C6A7 /* Subtraction.swift */; }; - C15CF4CD764C303BB61C1908A5088EB9 /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E10436F61B2E20A7AC6B9FA2B43475B /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C15CF4CD764C303BB61C1908A5088EB9 /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = 16B7C824120675B47E14A2A872A6DFDC /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; C1693DEA3241820346B6392F419BE86A /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DDA4FB25A4C58942E352156AFA0F29E /* PKCS7.swift */; }; - C223A7A68CC3C3E35C5BAF673FC6422C /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 2102C5F2845659DC22D1C75C5DEE8785 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C223A7A68CC3C3E35C5BAF673FC6422C /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AF087435CFE453BE94CFAE116CC7661 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; C420F74F411178FB20F79B022567A36F /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = 184318AC3420D7DB5A094F601C869C72 /* Checksum.swift */; }; C45AB3CBDC8E80549A5258F1EF33B5E4 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = D89263E801FAC6A34F7C9D4E3A3066A9 /* UInt128.swift */; }; C4A91D774EFB424EF2F25970BBE498E2 /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A4A461EE06699EE78B2DCA6B7B73F16 /* NSTask+AnyPromise.m */; }; - C4D045EA36FC3020F0D120D61248034A /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = 02D1233B4775FD4486FC833AD2928302 /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C4D045EA36FC3020F0D120D61248034A /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CCD88E197198C9C888139A0E2A2CD50 /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; C4D7369A6EE4185C3499B0C7F6D4AF54 /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FA266C4746C1D8469AC609FF653BED1 /* Cipher.swift */; }; C52AB1611C5012541EB9B2D6F3E7113C /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8EAA4A69D5AC1E3D89D6D25C9496C75 /* Cryptors.swift */; }; C55D7F3112EA0AE1C16D64D5D93FB8E2 /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59EE5FF05C3E791A7F8398D6FCF80055 /* BlockEncryptor.swift */; }; @@ -331,8 +331,8 @@ C7546B1AF7022FE1D1D4E974A890D03F /* UIViewPropertyAnimator+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF8763C25A8C471712C07FDF71929703 /* UIViewPropertyAnimator+Promise.swift */; }; C76A85C8526F33C17488B1ED3E96E2B8 /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = FBEFBB38BBB87913FDCF892141C0AC8D /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; C81D77ED3B884C5F8FF333D7E73D2760 /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 520379C6715340D2674500ACBD1C4502 /* Catchable.swift */; }; - C8727CBC2DF558D6A8432C374FC6C20D /* secp256k1_ios-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A7C177A4D014F2C568B84F7BED9628F3 /* secp256k1_ios-macOS-dummy.m */; }; - CA0A3399A3F3DE0313571B05CCACB00B /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 2102C5F2845659DC22D1C75C5DEE8785 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C8727CBC2DF558D6A8432C374FC6C20D /* secp256k1_ios-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8574390012E8F0C54B5B8C7A68D484 /* secp256k1_ios-macOS-dummy.m */; }; + CA0A3399A3F3DE0313571B05CCACB00B /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AF087435CFE453BE94CFAE116CC7661 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; CA4AF1EA89A313035FBCF8BAF73AE5E3 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58ED9DC4116D9A46B7047B9F3EE44E18 /* Configuration.swift */; }; CA5BBB4A81D6C18A87B54AD3E3CB1DDD /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EE7CBB8299AB71F5275827AA34C853A /* Cryptor.swift */; }; CB23D304433CF4415E534890D75DD1F3 /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD4D44D1A4A0B550CAB6D8C2AED04AD3 /* CMAC.swift */; }; @@ -340,7 +340,7 @@ CBAB02308405D4C1CB4271EC4AB971F6 /* Words and Bits.swift in Sources */ = {isa = PBXBuildFile; fileRef = 268F48810699A9A9AD79047FD000B499 /* Words and Bits.swift */; }; CC53CC49FDD4748924F21B50E485DBBD /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7540EADD3520F1ECD4BAD23FF29400F /* String+FoundationExtension.swift */; }; CE2BCA099CEA37688059295108D416AD /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65E54F31ACC1397C1485DF5C7B5FA928 /* Random.swift */; }; - CF2EC01022EDE78D4A2A1EE28519BB24 /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = 56B4887D50F2EB64112AE8382F814BE6 /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CF2EC01022EDE78D4A2A1EE28519BB24 /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = BAD09E8EE27EB4BA87F1F0237E0D7537 /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; D01DA48DF6AD0E0C496D261444C43E30 /* after.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302BA93FAE34FC2BAD89C5501C21611C /* after.swift */; }; D03604350C4AD6E462633ACEF03DE182 /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D956E4D797535DA55BFACC56BAE7232E /* BlockMode.swift */; }; D0B384B3B9706105721D5A04485597A9 /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = C996378C4E5A24B09E9399A757B8257E /* PKCS5.swift */; }; @@ -351,31 +351,31 @@ D32712369A0978E2F272F6ED44E13D09 /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DDA4FB25A4C58942E352156AFA0F29E /* PKCS7.swift */; }; D4FBEF46E2616F942B65FF779B374513 /* BigInt-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 60EE65019B7B0977FF9331F020D957CD /* BigInt-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; D51658C88F64814325AFD7E26FF01C58 /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81D592C69182CE946419FE4D30C2690E /* PBKDF2.swift */; }; - D629596D140514F80B7E96FC37625CAB /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = EB741666A46691B0F36213814C9E064B /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D629596D140514F80B7E96FC37625CAB /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BD07DFA1EC0FD8CF78E837D5A0051A6D /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; D69EB24A00A90DE5EB08D773551E36A6 /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = D6FBFF07C73E9B536C49D3D32A989327 /* join.m */; }; D6BDAA0C8CA8843CE436AA3573C378F9 /* Square Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D44A825E8CB9200059521A9C941F712 /* Square Root.swift */; }; D77D59D158D2FBA4B6AA53805363DB1E /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF5CF52D91122CF7B77E75FAF93251C3 /* UInt64+Extension.swift */; }; D81D753CE65D4B1E0F26F57606BD0F6C /* Bitwise Ops.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55188AE8B0452B68B54A84FABFBA1BBF /* Bitwise Ops.swift */; }; D91F249AD8EFADBBF3CA1C4F3F1EC689 /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5946E85C35328004F1FD0D65ABF93B4 /* Process+Promise.swift */; }; D9B3D20980002DAFC3783F7A6B1C91BA /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = E88F02B72D0ADCFDAA37C5D63ABB3679 /* NoPadding.swift */; }; - DB4121B9C2C88108CFD4BF622DD22793 /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AE1F2C76AEC2899BB377C5F716B96A9 /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DB4121B9C2C88108CFD4BF622DD22793 /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 57BE35B8EF2F430EE1A093A4E43F8243 /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; DB5D77CB1116685129F0E9DFC9AC9779 /* NoError.swift in Sources */ = {isa = PBXBuildFile; fileRef = C57F8890E519BE45C84FBCD5E06453AF /* NoError.swift */; }; DBCADB8931FC3A1305E622FCD41DBB71 /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07EBEF7A80D308EEE9B00C81E7BA82EE /* CustomStringConvertible.swift */; }; - DC07B1317F80D339C68CCBF3D31566D9 /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 3217AEE906468DE068B9F1656B698E05 /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DC07B1317F80D339C68CCBF3D31566D9 /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 5ADFA6DD652FDF2433DB8FB46C2B02CA /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; DC21D5B2B6EB7B15B0BBCEB3836868C4 /* PromiseKit.root-CorePromise-Foundation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F38735F968F3506E4EACD22DC1175F06 /* PromiseKit.root-CorePromise-Foundation-dummy.m */; }; DD419D08F1AEE92AC819A14720ECD62C /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DDF10E5AA3EE0D0028933F977F5BF96 /* Generics.swift */; }; - DDA12AF713A1310BDC4A90183CBB1594 /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 41EDD0261BF89D565B8ABBA503384512 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DDA12AF713A1310BDC4A90183CBB1594 /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 394A497CBDC2A602E9E5A0A0E4A7C231 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; DDF54071C21579D559BDEE8D08189CF1 /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CE3EEB40B82A07623C8EC58D511BDA8 /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; DF3C881F6AA58663EA27A37DDC93CBD1 /* SipHash-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 06A021254E60B0C7F3ADB156F97D8EF1 /* SipHash-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DF927452C685F72071057C8843C01706 /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = CC5C878E59F3ED2C5956640525A3B54F /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DF927452C685F72071057C8843C01706 /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = 0297F48C8677A1EAF05256ECF6AE81D5 /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; DFD70F894CFF9B61FF717C1443E95601 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC1129F2E85B44E362DF4E5C827C8DD7 /* Box.swift */; }; - DFF0B3B6C8696B29A8B79E1C76E9D76F /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D3B85A32FDF4C95F0BAA5B3BB12FE9C /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DFF0B3B6C8696B29A8B79E1C76E9D76F /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = FD3FC379B5028687E388AD09CFE88832 /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; E007271BF4C4F9B9D464193F85793C50 /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11B33EE72A6FBE59A2A5064DAF6FFC4F /* AES.swift */; }; E04BBE8E404D1CC27E4D74B8894479BD /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4942974D6603D53C4E7A5A1EE454090A /* NSNotificationCenter+Promise.swift */; }; E1BD1671D6E0A0FDAC9298373486DA9F /* Square Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D44A825E8CB9200059521A9C941F712 /* Square Root.swift */; }; E24619AC5BEB6C6F40A086FBC713953F /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2806EF87AE8A9188FC203D40F55755F3 /* HMAC.swift */; }; E254A91C69969B33ED1BF9BDE5B19AED /* Data Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C8A77BEACE815406E69A6AC5A86CAD0 /* Data Conversion.swift */; }; - E330D6002B747B8DFE92C9EF6A252AB1 /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F7A4EBB203B3B080F8B5BF693B1D73E /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E330D6002B747B8DFE92C9EF6A252AB1 /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 7399560A570538454DCA6FC42E879809 /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; E4693B68EB480BAA15C7AEFEF584ABEC /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894312908815C8518B59156B045BB049 /* Thenable.swift */; }; E48FE65994D2FDB3496020B0AED10062 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1BEA6E913A811987196FC02097A1F5C /* Data+Extension.swift */; }; E496E4A9940D9E53F87FC94F6FBA613F /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1BEA6E913A811987196FC02097A1F5C /* Data+Extension.swift */; }; @@ -383,21 +383,21 @@ E54F41039B5C497AEE8D9A2305063624 /* Cimpl.c in Sources */ = {isa = PBXBuildFile; fileRef = A0BB9A3E4E29EBA29F99C94BBEEEC1F2 /* Cimpl.c */; }; E5F6F258065CC6C97832138F09AAE49B /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 309EDA4AEC3E9553B1C5228CB1CB760F /* Result.swift */; }; E620808A6B6483DD90D1DF1DD9F399ED /* Pods-web3swift-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E8C19543EF3AA4D9801DBE55E22E211 /* Pods-web3swift-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E6A3822607D69367B5FC864FB7A3BD73 /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 18CECE2AAA777C20C231B09167732087 /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E6A3822607D69367B5FC864FB7A3BD73 /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DDEB5B32B77FC78B04321FABF19FAF64 /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; E7CD62024C5874B3F67B266815D7CAC4 /* race.m in Sources */ = {isa = PBXBuildFile; fileRef = B592EEFCCF7F964D0B60F749B17B7658 /* race.m */; }; E8A145AFD00468A4C9549E156F7A4327 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3AE421756716EB8DAA945495A2EC5DD /* Rabbit.swift */; }; - E900FB2DA6B0F0F63CE82466566FCD68 /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = 02D1233B4775FD4486FC833AD2928302 /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E900FB2DA6B0F0F63CE82466566FCD68 /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CCD88E197198C9C888139A0E2A2CD50 /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; E9E664FD3415EAFF7CDFFD33254902E3 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = EECA7B8CA13556F051DCBF44B5E5092B /* ECB.swift */; }; EA1A3BB85FC5453DEA5AE302324D4DAA /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FF537F705CA3D41D9798A4511A8F24D /* Authenticator.swift */; }; EA3B78E39182A056E17833E10C5DE2E6 /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CB44D970BC24207B7D4CA4DD2644E2B /* ChaCha20+Foundation.swift */; }; - EA7EC84C113B5F75F5D77F792DE3B6ED /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = DEC9C3E8E55E46B29FD5E5EF68F87F17 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EA7EC84C113B5F75F5D77F792DE3B6ED /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = 21DDCB6C56CEF1430122DCD6370180B8 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; EB5C9979901C255CD26AAD9C2908FC4D /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEF9AB34E06A2A4078A0C87B37B1CD0F /* RandomBytesSequence.swift */; }; EBC1181767AADF30189982641F9B9648 /* Prime Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C91FB228B4F0EFFE0BB1C457B26A6E3 /* Prime Test.swift */; }; - EC17D63723242B036D6B342AB1853468 /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 41EDD0261BF89D565B8ABBA503384512 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EC17D63723242B036D6B342AB1853468 /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 394A497CBDC2A602E9E5A0A0E4A7C231 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; EC308ACB0BA1C145CC005AA4186B9EB0 /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5E831984223821B4643964E0D16375 /* AEADChaCha20Poly1305.swift */; }; - EC8CEEA1FF4CC7455796055B38C806B8 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 04D613988B2E91F7B5A7327303576BAB /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EC8CEEA1FF4CC7455796055B38C806B8 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8575ADFAFEFEFEDACDC32D01960AE2AB /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; ECDEF2626BC123966104C5F0B4830936 /* CryptoSwift-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B02B055F45990BB015AB494AE625A793 /* CryptoSwift-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ECF5A5E67884B9F6B19675CC43188C04 /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = 2525FC26081FA847B7D6E8209E7A7CC3 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ECF5A5E67884B9F6B19675CC43188C04 /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = 4965C40E8438A02BE82C485420845345 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; ECFCD95180C3DD7095902786BB56299A /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F3C6D22D31BFCC4FBF02C3E813AE0EC /* hang.m */; }; EE0C5BE970F77B1A1478E64F164DDB99 /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D22F70DCC90E8FE0E9EC24A5DBABE79C /* Rabbit+Foundation.swift */; }; EE83304C33E8D28C3321FCF4F3E952AC /* scrypt-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = DF437C6BA87CD115FFAF9F58E13F530F /* scrypt-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; @@ -405,21 +405,21 @@ EFDC04F64EB4766D33AC8058E12B4561 /* GCD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17049D2192C6CCC8A8BE362B66ED01E6 /* GCD.swift */; }; F0072E292EA165864D21EA126253FD4D /* BufferStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75108DB9FE7BABCC05526BD92059DC5A /* BufferStorage.swift */; }; F1713A581AF450456EAEC87DE47CDA88 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 092C4E684DC275279EC695C30F05982A /* Array+Extension.swift */; }; - F1A07A920329A779F5DE4422E744651B /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 128F0A3649763AA74BB1F997980E9878 /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F1A07A920329A779F5DE4422E744651B /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DC80BC8175DF95AF5AC0777B4379466F /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; F1B591E730508664D1D744A9B5356027 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC1129F2E85B44E362DF4E5C827C8DD7 /* Box.swift */; }; F238EF032BC5A70219603EA97FF3FED8 /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D028C35CBC913E3AF71B22E4A3C7D14 /* CTR.swift */; }; F2CEA0F86BECA15D8730D3D53D9EAF69 /* SipHash-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 22BBC9E03E0BAFD51E78A932B584D135 /* SipHash-iOS-dummy.m */; }; F40D5648952C6403898BBA6EBDA00BE3 /* Result-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FE9A22DCC269160D36ABB6B7AF260C2A /* Result-iOS-dummy.m */; }; F420C3B6A5179B3A3AE6CA1661AC1D09 /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60F78E26D6ABB8534A27E28D45FBFF71 /* Scrypt.swift */; }; - F4D09855E68D1FD71D77BC55A727D4A3 /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 73E79D0886091383BE392E49B7A4EBC0 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F4D1F737295AE1152488E8C62B8B07CC /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 962B94FFF364D97FCB13480B186176CC /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F56FE8F3E8E168BE03C4966EEAA91C1B /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 962B94FFF364D97FCB13480B186176CC /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F4D09855E68D1FD71D77BC55A727D4A3 /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EF2B2E6A827BEB4095C69760A095228 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F4D1F737295AE1152488E8C62B8B07CC /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 413EEACF83712E321F24944C021FEB53 /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F56FE8F3E8E168BE03C4966EEAA91C1B /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 413EEACF83712E321F24944C021FEB53 /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; F5AB8AD08E9E0AD8237FC486B02D3AE9 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F407B4684E6934554D8F4910242620 /* Int+Extension.swift */; }; F66269854D86921BE970C5FF6C20CC51 /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFA9EC9779A914A67653CFFF9142318C /* Deprecations.swift */; }; F6ABB13AD16C583ED44B0635C22C5B1D /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07EBEF7A80D308EEE9B00C81E7BA82EE /* CustomStringConvertible.swift */; }; F6C04F880164DA1647FDF6654CD65CBE /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CC26F0B1E75C50586670C90CB45F824 /* Codable.swift */; }; F6EEBE907D9BF3B0332ED86D67236441 /* BigInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0955D39FEEF45C034D6A32CD819DA77A /* BigInt.swift */; }; - F753E13D3D4A29BF27E48A2303E55253 /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = 7953AAFAFDD8639ABC0F6CFA2A5E6436 /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F753E13D3D4A29BF27E48A2303E55253 /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = 030837B4EF44BB6736CDF5FBF205E93E /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; F7637401A66A3768E3AFB4725B5A68CE /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = C996378C4E5A24B09E9399A757B8257E /* PKCS5.swift */; }; F76CD6A74599B946F2BEB2CFD466DCF8 /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93880388A03A6AEAEBFC90F7F533AAD /* StreamEncryptor.swift */; }; F7FEDCC800360A1311C42EFE80CD207D /* Pods-web3swift-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D8F688145BCFE1FB8B76299CC261A05E /* Pods-web3swift-iOS-dummy.m */; }; @@ -427,16 +427,16 @@ F8C762D809370D0B01A8BDE46AE1E336 /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 231D53FA7D46749E94693152ECA561B4 /* AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; F9A83224C63AF5F18AED311461D71668 /* BigInt-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = BECB9224CBFC1D8A1E8486BB06BBC621 /* BigInt-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; FA13F504AF0E2A1B5540B69241BDA525 /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4942974D6603D53C4E7A5A1EE454090A /* NSNotificationCenter+Promise.swift */; }; - FA750855C8E963C8BDF3CB98B66F2223 /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 46AF7B9300956886A337785AFCCA65E9 /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FA750855C8E963C8BDF3CB98B66F2223 /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 744D68A2C1A6A6136663892BD5967CEF /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; FA9AEF2C8D8495DFBB7D202A04CD4C7B /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59EE5FF05C3E791A7F8398D6FCF80055 /* BlockEncryptor.swift */; }; FB15EFD9B279E96538754752538F6F2D /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E8B805F5680EBA0F99C37AB55DF371A /* Blowfish.swift */; }; FBB8E2DFA421E54A1F954651D46E3E87 /* UIViewController+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 690E91794401ED87EB104B7BE8059DD2 /* UIViewController+AnyPromise.m */; }; - FBCF699856A16E347AFE56DF1E4B798F /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 46AF7B9300956886A337785AFCCA65E9 /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FBFE167922921EA3CB8BBE48F6FA3B54 /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = E700B3E020C13F1EF3046DA2572EB770 /* lax_der_parsing.c */; }; - FCCB2E2C0281EDCAD1C5E13070298711 /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 4207171AF4AC30056EE3D86BA2E572A2 /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FBCF699856A16E347AFE56DF1E4B798F /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 744D68A2C1A6A6136663892BD5967CEF /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FBFE167922921EA3CB8BBE48F6FA3B54 /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = B9BCFC62DFEA1FC233306B897C15DE84 /* lax_der_parsing.c */; }; + FCCB2E2C0281EDCAD1C5E13070298711 /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 2468F7B4A6695BB009B5A2AE35A167C8 /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; FCCEC31B1FC9971E3DA967E44E81A0D2 /* Pods-web3swift-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 25F72E78DF48560F5D210E57844ACDED /* Pods-web3swift-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; FDB43EA5FEFA9BC5B4ED67591C4D6958 /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 9419704F82CEC9143EC36DDD7E0B5565 /* NSNotificationCenter+AnyPromise.m */; }; - FE5B85739B771377AF32128CC981B882 /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A780AF8B00436C92795015A4BB4871E /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FE5B85739B771377AF32128CC981B882 /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1143B8F0055C240BA0D05D50FC1CC020 /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; FFE4A177B13CFEBE37F77661D03FDE45 /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BBCEC526DF7F5F6A046CBAA7F93B530 /* SecureBytes.swift */; }; /* End PBXBuildFile section */ @@ -587,64 +587,66 @@ 00E44D081910E0A312C3A2879F658B01 /* Strideable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Strideable.swift; path = sources/Strideable.swift; sourceTree = ""; }; 011F6C47C6E88AE3E66264D1FEB85A87 /* PromiseKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PromiseKit-dummy.m"; sourceTree = ""; }; 01E16ADA85843E6D30083930685D07D1 /* dispatch_promise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = dispatch_promise.m; path = Sources/dispatch_promise.m; sourceTree = ""; }; - 02D1233B4775FD4486FC833AD2928302 /* ecmult_const.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const.h; path = secp256k1_ios/src/ecmult_const.h; sourceTree = ""; }; + 0297F48C8677A1EAF05256ECF6AE81D5 /* util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = util.h; path = secp256k1_ios/src/util.h; sourceTree = ""; }; + 030837B4EF44BB6736CDF5FBF205E93E /* ecmult_gen.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen.h; path = secp256k1_ios/src/ecmult_gen.h; sourceTree = ""; }; 042CC2D185140E7D725D22562A3E307F /* Pods-web3swift-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS.debug.xcconfig"; sourceTree = ""; }; - 04D613988B2E91F7B5A7327303576BAB /* scratch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch.h; path = secp256k1_ios/src/scratch.h; sourceTree = ""; }; 054B52AFE6F7A33802393B6F7E8B9807 /* Division.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Division.swift; path = sources/Division.swift; sourceTree = ""; }; 06A021254E60B0C7F3ADB156F97D8EF1 /* SipHash-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-iOS-umbrella.h"; sourceTree = ""; }; 07692AF4D5F0A8907862595FBCB74ECB /* firstly.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = firstly.swift; path = Sources/firstly.swift; sourceTree = ""; }; 07EBEF7A80D308EEE9B00C81E7BA82EE /* CustomStringConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomStringConvertible.swift; path = Sources/CustomStringConvertible.swift; sourceTree = ""; }; + 07F62FD29EAB7298762C10A21294A6B1 /* field_5x52_asm_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_asm_impl.h; path = secp256k1_ios/src/field_5x52_asm_impl.h; sourceTree = ""; }; 092C4E684DC275279EC695C30F05982A /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "Sources/CryptoSwift/Array+Extension.swift"; sourceTree = ""; }; 0955D39FEEF45C034D6A32CD819DA77A /* BigInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigInt.swift; path = sources/BigInt.swift; sourceTree = ""; }; - 0AE1F2C76AEC2899BB377C5F716B96A9 /* eckey_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey_impl.h; path = secp256k1_ios/src/eckey_impl.h; sourceTree = ""; }; 0BC5492B1E1506F3725992C713A907DF /* SHA3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA3.swift; path = Sources/CryptoSwift/SHA3.swift; sourceTree = ""; }; 0BC87D5802ED83EA9011FD6A3EB7B4D3 /* AES+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AES+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/AES+Foundation.swift"; sourceTree = ""; }; + 0CCD88E197198C9C888139A0E2A2CD50 /* ecmult_const.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const.h; path = secp256k1_ios/src/ecmult_const.h; sourceTree = ""; }; 0CDBE2B78BCAA950F79B74C3FB2E228C /* when.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = when.swift; path = Sources/when.swift; sourceTree = ""; }; 0CE3EEB40B82A07623C8EC58D511BDA8 /* NSURLSession+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLSession+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.h"; sourceTree = ""; }; 0D88C9D56C3885598E20D9718F3B8F16 /* Pods-web3swift-macOS_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS_Tests.release.xcconfig"; sourceTree = ""; }; - 0E10436F61B2E20A7AC6B9FA2B43475B /* field_10x26.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26.h; path = secp256k1_ios/src/field_10x26.h; sourceTree = ""; }; 0E53DB967EB67E52296B83C1BB91E1A4 /* scrypt-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "scrypt-macOS.modulemap"; path = "../scrypt-macOS/scrypt-macOS.modulemap"; sourceTree = ""; }; + 0ED7F0C1978F3EEA00F7A4AF09FEC2E8 /* secp256k1_ios-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "secp256k1_ios-iOS.modulemap"; sourceTree = ""; }; 0F59529DA4EC37C03768A930A570FC20 /* SipHash-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SipHash-macOS-umbrella.h"; path = "../SipHash-macOS/SipHash-macOS-umbrella.h"; sourceTree = ""; }; 10236EF8647E9F61C53670449679E133 /* BigInt-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BigInt-iOS-dummy.m"; sourceTree = ""; }; + 10261D7140AF8D6F9E6545BC5D894761 /* secp256k1_ios-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "secp256k1_ios-macOS.xcconfig"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig"; sourceTree = ""; }; 110589BD0B75B2C4166DE94487100A49 /* SipHash-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-iOS-prefix.pch"; sourceTree = ""; }; 110AED7E75239B43DC836BF06AF22BCE /* afterlife.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = afterlife.swift; path = Extensions/Foundation/Sources/afterlife.swift; sourceTree = ""; }; - 113FB888146C1156101BB0FCC2303331 /* field.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field.h; path = secp256k1_ios/src/field.h; sourceTree = ""; }; + 1143B8F0055C240BA0D05D50FC1CC020 /* scalar_8x32_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32_impl.h; path = secp256k1_ios/src/scalar_8x32_impl.h; sourceTree = ""; }; 11B33EE72A6FBE59A2A5064DAF6FFC4F /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/CryptoSwift/AES.swift; sourceTree = ""; }; - 11D2E84F01BCA808E576508AFC2BECBA /* field_5x52_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_impl.h; path = secp256k1_ios/src/field_5x52_impl.h; sourceTree = ""; }; - 128F0A3649763AA74BB1F997980E9878 /* scalar_4x64_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64_impl.h; path = secp256k1_ios/src/scalar_4x64_impl.h; sourceTree = ""; }; + 125189558361630DF92C53413530E3E9 /* secp256k1_ios-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "secp256k1_ios-iOS.xcconfig"; sourceTree = ""; }; 129F0BDD5D5540B28243DA06090AEC11 /* Exponentiation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Exponentiation.swift; path = sources/Exponentiation.swift; sourceTree = ""; }; 14A3B9C8EDE35875C552679A990B05FA /* Multiplication.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multiplication.swift; path = sources/Multiplication.swift; sourceTree = ""; }; 14B10E35F3FEA07B3ED6132C871686B9 /* BigUInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigUInt.swift; path = sources/BigUInt.swift; sourceTree = ""; }; 15059FCA7454E93E51AFB7275C28A335 /* NSObject+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Promise.swift"; path = "Extensions/Foundation/Sources/NSObject+Promise.swift"; sourceTree = ""; }; - 154960BA397A967916A61F0CA3ACDA98 /* secp256k1_recovery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_recovery.h; path = secp256k1_ios/include/secp256k1_recovery.h; sourceTree = ""; }; + 15C56E2FA28A6BC277C2F1DF71DE010C /* group.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group.h; path = secp256k1_ios/src/group.h; sourceTree = ""; }; + 16B7C824120675B47E14A2A872A6DFDC /* field_10x26.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26.h; path = secp256k1_ios/src/field_10x26.h; sourceTree = ""; }; 17049D2192C6CCC8A8BE362B66ED01E6 /* GCD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCD.swift; path = sources/GCD.swift; sourceTree = ""; }; + 176078626D7316260BA02A61B91E5EF2 /* secp256k1_ios-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_ios-macOS-prefix.pch"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch"; sourceTree = ""; }; 184318AC3420D7DB5A094F601C869C72 /* Checksum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Checksum.swift; path = Sources/CryptoSwift/Checksum.swift; sourceTree = ""; }; + 185ADAFCE5AF39098787D861673779B8 /* scalar_4x64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64.h; path = secp256k1_ios/src/scalar_4x64.h; sourceTree = ""; }; 18B70619E5AAE8D1782A060F2B6362F5 /* Result-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Result-macOS-prefix.pch"; path = "../Result-macOS/Result-macOS-prefix.pch"; sourceTree = ""; }; - 18CAB3E754AA5CC3978FFD653BC874A3 /* secp256k1_ios-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "secp256k1_ios-iOS.xcconfig"; sourceTree = ""; }; - 18CECE2AAA777C20C231B09167732087 /* ecdsa_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa_impl.h; path = secp256k1_ios/src/ecdsa_impl.h; sourceTree = ""; }; + 1A9A53F547A648B113145FD483E1572D /* secp256k1_ios-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-iOS-prefix.pch"; sourceTree = ""; }; 1C8A77BEACE815406E69A6AC5A86CAD0 /* Data Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data Conversion.swift"; path = "sources/Data Conversion.swift"; sourceTree = ""; }; 1C8F00AC871FE0EC2FBD9A40F62753CD /* Pods-web3swift-macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS.debug.xcconfig"; sourceTree = ""; }; 1CB44D970BC24207B7D4CA4DD2644E2B /* ChaCha20+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ChaCha20+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift"; sourceTree = ""; }; 1CE50C1C3EED312C9E2B7129A77B305B /* SHA1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA1.swift; path = Sources/CryptoSwift/SHA1.swift; sourceTree = ""; }; 1D028C35CBC913E3AF71B22E4A3C7D14 /* CTR.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CTR.swift; path = Sources/CryptoSwift/BlockMode/CTR.swift; sourceTree = ""; }; - 1D7CEF9F4C98A2CE1B98AD20F3608F16 /* lax_der_privatekey_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_privatekey_parsing.c; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.c; sourceTree = ""; }; - 1E727EFDF1D9F0E72FF769FA527EB01D /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/recovery/main_impl.h; sourceTree = ""; }; 1EE7CBB8299AB71F5275827AA34C853A /* Cryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptor.swift; path = Sources/CryptoSwift/Cryptor.swift; sourceTree = ""; }; 1F213EA122AE5157AD579B519B42CAA5 /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = Sources/CryptoSwift/Utils.swift; sourceTree = ""; }; - 2102C5F2845659DC22D1C75C5DEE8785 /* field_5x52.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52.h; path = secp256k1_ios/src/field_5x52.h; sourceTree = ""; }; + 21DDCB6C56CEF1430122DCD6370180B8 /* scalar_low.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low.h; path = secp256k1_ios/src/scalar_low.h; sourceTree = ""; }; 224FBA77C2D18846EE62FD6A22E3B120 /* PromiseKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-prefix.pch"; sourceTree = ""; }; 2290B9153347A3369FAF03E04A19326E /* CBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBC.swift; path = Sources/CryptoSwift/BlockMode/CBC.swift; sourceTree = ""; }; 22BBC9E03E0BAFD51E78A932B584D135 /* SipHash-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SipHash-iOS-dummy.m"; sourceTree = ""; }; 231D53FA7D46749E94693152ECA561B4 /* AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AnyPromise.h; path = Sources/AnyPromise.h; sourceTree = ""; }; + 2385B17AD9190A207792185ECE5CD9C7 /* libsecp256k1-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "libsecp256k1-config.h"; path = "secp256k1_ios/libsecp256k1-config.h"; sourceTree = ""; }; 2452C598AA33B18F81F1D5FE847DF8C7 /* Result-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Result-macOS.xcconfig"; path = "../Result-macOS/Result-macOS.xcconfig"; sourceTree = ""; }; + 2468F7B4A6695BB009B5A2AE35A167C8 /* basic-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "basic-config.h"; path = "secp256k1_ios/src/basic-config.h"; sourceTree = ""; }; 24B5C2F89100EAE084E4AF83DDE6303D /* Pods-web3swift-iOS_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS_Tests.debug.xcconfig"; sourceTree = ""; }; - 2525FC26081FA847B7D6E8209E7A7CC3 /* scalar_8x32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32.h; path = secp256k1_ios/src/scalar_8x32.h; sourceTree = ""; }; 25F72E78DF48560F5D210E57844ACDED /* Pods-web3swift-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swift-macOS-umbrella.h"; sourceTree = ""; }; 268F48810699A9A9AD79047FD000B499 /* Words and Bits.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Words and Bits.swift"; path = "sources/Words and Bits.swift"; sourceTree = ""; }; 26A07B357C5F42ABC4E5A41480B9B5E0 /* AnyError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyError.swift; path = Result/AnyError.swift; sourceTree = ""; }; - 26C87BA1E1CD3DA69658381DC862662E /* secp256k1_ios-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-iOS-umbrella.h"; sourceTree = ""; }; 2806EF87AE8A9188FC203D40F55755F3 /* HMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HMAC.swift; path = Sources/CryptoSwift/HMAC.swift; sourceTree = ""; }; 29DC94582C8F4626E7BBD65A075FDBD5 /* NSURLSession+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSURLSession+Promise.swift"; path = "Extensions/Foundation/Sources/NSURLSession+Promise.swift"; sourceTree = ""; }; + 2A137B5E1D739B2D491F2842EFFBD559 /* ecmult_const_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const_impl.h; path = secp256k1_ios/src/ecmult_const_impl.h; sourceTree = ""; }; 2A4A461EE06699EE78B2DCA6B7B73F16 /* NSTask+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSTask+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.m"; sourceTree = ""; }; 2A75A46146F4FF1C0CB840CA36D75492 /* PromiseKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-umbrella.h"; sourceTree = ""; }; 2B28A30F352D7AD1E7E83DFB9BAB49C0 /* scrypt-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "scrypt-macOS-dummy.m"; path = "../scrypt-macOS/scrypt-macOS-dummy.m"; sourceTree = ""; }; @@ -652,21 +654,21 @@ 2CC26F0B1E75C50586670C90CB45F824 /* Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Codable.swift; path = sources/Codable.swift; sourceTree = ""; }; 2DC2E6214BB1EB95403BF7608DAF872D /* scrypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scrypt.h; path = scrypt/scrypt.h; sourceTree = ""; }; 2DDA4FB25A4C58942E352156AFA0F29E /* PKCS7.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7.swift; path = Sources/CryptoSwift/PKCS/PKCS7.swift; sourceTree = ""; }; - 2F7A4EBB203B3B080F8B5BF693B1D73E /* num_gmp.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp.h; path = secp256k1_ios/src/num_gmp.h; sourceTree = ""; }; - 2F7B1F5E8885A02A41E2BC53975DF4F2 /* scalar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar.h; path = secp256k1_ios/src/scalar.h; sourceTree = ""; }; 2FEF470F51471EBE421469A16A76F35A /* BigInt-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-iOS-prefix.pch"; sourceTree = ""; }; 302BA93FAE34FC2BAD89C5501C21611C /* after.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = after.swift; path = Sources/after.swift; sourceTree = ""; }; 309EDA4AEC3E9553B1C5228CB1CB760F /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Result/Result.swift; sourceTree = ""; }; + 30F699976B957E8821EB632AF092C14C /* scalar_low_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low_impl.h; path = secp256k1_ios/src/scalar_low_impl.h; sourceTree = ""; }; 30FDF56132F92204ACAD922366ABC434 /* scrypt-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "scrypt-macOS.xcconfig"; path = "../scrypt-macOS/scrypt-macOS.xcconfig"; sourceTree = ""; }; 31E6AD63B104B462BD7A0812CF8D8089 /* Resolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Resolver.swift; path = Sources/Resolver.swift; sourceTree = ""; }; - 3217AEE906468DE068B9F1656B698E05 /* ecmult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult.h; path = secp256k1_ios/src/ecmult.h; sourceTree = ""; }; 321B194E1B8A3A3929C651A01648EF4A /* Array+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Array+Foundation.swift"; sourceTree = ""; }; - 337F14F3FE32B1AA45844B7F9E94C8CB /* num_gmp_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp_impl.h; path = secp256k1_ios/src/num_gmp_impl.h; sourceTree = ""; }; + 32804240A56A511992C9AA367655CDBA /* scalar_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_impl.h; path = secp256k1_ios/src/scalar_impl.h; sourceTree = ""; }; + 33EBDEB3CCBA0EA3C7F7CB093743643E /* scratch_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch_impl.h; path = secp256k1_ios/src/scratch_impl.h; sourceTree = ""; }; 342482D0962E817B844EE7E6446AF932 /* PromiseKit.root-CorePromise-Foundation.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "PromiseKit.root-CorePromise-Foundation.xcconfig"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.xcconfig"; sourceTree = ""; }; + 370C998F97BBB1397D09CD78C43A9919 /* secp256k1_ios.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ios.h; path = secp256k1_ios/secp256k1_ios.h; sourceTree = ""; }; 3736F60D986568A8151FD480D9648F38 /* NSNotificationCenter+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.h"; sourceTree = ""; }; - 3784FB8ABDFC677C070E5808E273F420 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/ecdh/main_impl.h; sourceTree = ""; }; 37F407B4684E6934554D8F4910242620 /* Int+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Int+Extension.swift"; path = "Sources/CryptoSwift/Int+Extension.swift"; sourceTree = ""; }; 38CE3ACA4B29354641417DECF1CDC5CF /* PKCS7Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7Padding.swift; path = Sources/CryptoSwift/PKCS/PKCS7Padding.swift; sourceTree = ""; }; + 394A497CBDC2A602E9E5A0A0E4A7C231 /* field_5x52_int128_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_int128_impl.h; path = secp256k1_ios/src/field_5x52_int128_impl.h; sourceTree = ""; }; 399DA5BA0438EA58494518BA41744529 /* libCryptoSwift-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libCryptoSwift-macOS.a"; path = "libCryptoSwift-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 39CF9703323096F120BB7C18AC3CDD7E /* CipherModeWorker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CipherModeWorker.swift; path = Sources/CryptoSwift/BlockMode/CipherModeWorker.swift; sourceTree = ""; }; 3DE45F74327BBE43455BF3A326A48B73 /* libPods-web3swift-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-macOS.a"; path = "libPods-web3swift-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -675,24 +677,26 @@ 3FA266C4746C1D8469AC609FF653BED1 /* Cipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cipher.swift; path = Sources/CryptoSwift/Cipher.swift; sourceTree = ""; }; 400C4535441BC4EF157E1C50C654B28E /* SHA2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA2.swift; path = Sources/CryptoSwift/SHA2.swift; sourceTree = ""; }; 40D27BDFCD317E69149F3DFAFB7543A9 /* libSipHash-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libSipHash-iOS.a"; path = "libSipHash-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 41EDD0261BF89D565B8ABBA503384512 /* field_5x52_int128_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_int128_impl.h; path = secp256k1_ios/src/field_5x52_int128_impl.h; sourceTree = ""; }; - 4207171AF4AC30056EE3D86BA2E572A2 /* basic-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "basic-config.h"; path = "secp256k1_ios/src/basic-config.h"; sourceTree = ""; }; + 413EEACF83712E321F24944C021FEB53 /* ecmult_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_impl.h; path = secp256k1_ios/src/ecmult_impl.h; sourceTree = ""; }; + 42EA8B8CA97A07CABD4DBAC9F8610993 /* num_gmp_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp_impl.h; path = secp256k1_ios/src/num_gmp_impl.h; sourceTree = ""; }; 4530120DD6B0DBFF5F660844F8E1C873 /* libPods-web3swift-macOS_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-macOS_Tests.a"; path = "libPods-web3swift-macOS_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 45C2BE6D1118A5C0F2E549CE3527D602 /* Salsa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Salsa.swift; path = scrypt/scrypt/Salsa.swift; sourceTree = ""; }; 45FFA251444F7DBCE99E0099A3F19A6D /* UIView+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.m"; sourceTree = ""; }; 4646CC97CDC73D8A7E940BD068873A84 /* CryptoSwift-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-iOS-prefix.pch"; sourceTree = ""; }; - 46AF7B9300956886A337785AFCCA65E9 /* lax_der_privatekey_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_privatekey_parsing.h; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.h; sourceTree = ""; }; 480A526DDBB009A3C8A843239CA3D080 /* PromiseKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PromiseKit.h; path = Sources/PromiseKit.h; sourceTree = ""; }; 4942974D6603D53C4E7A5A1EE454090A /* NSNotificationCenter+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSNotificationCenter+Promise.swift"; path = "Extensions/Foundation/Sources/NSNotificationCenter+Promise.swift"; sourceTree = ""; }; 494D5312F7C1D194997E562BD1B13904 /* SipHash-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SipHash-macOS-prefix.pch"; path = "../SipHash-macOS/SipHash-macOS-prefix.pch"; sourceTree = ""; }; + 4965C40E8438A02BE82C485420845345 /* scalar_8x32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32.h; path = secp256k1_ios/src/scalar_8x32.h; sourceTree = ""; }; 4A2E0AD738D348DDA03396C623D814CD /* Pods-web3swift-macOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-macOS-acknowledgements.plist"; sourceTree = ""; }; - 4A780AF8B00436C92795015A4BB4871E /* scalar_8x32_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32_impl.h; path = secp256k1_ios/src/scalar_8x32_impl.h; sourceTree = ""; }; 4B32F8420CC3DEDA3DC7BB0407B26FDF /* Collection+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Collection+Extension.swift"; path = "Sources/CryptoSwift/Collection+Extension.swift"; sourceTree = ""; }; 4B75257897ACBD9567F00827C544D722 /* Result-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Result-macOS-umbrella.h"; path = "../Result-macOS/Result-macOS-umbrella.h"; sourceTree = ""; }; 4BBCEC526DF7F5F6A046CBAA7F93B530 /* SecureBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SecureBytes.swift; path = Sources/CryptoSwift/SecureBytes.swift; sourceTree = ""; }; 4D7C8185E119AF505859D0B27973E57E /* AES.Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.Cryptors.swift; path = Sources/CryptoSwift/AES.Cryptors.swift; sourceTree = ""; }; 4DFFEB20DCD9CFCA06DAE16B4367F1B9 /* UIViewController+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.h"; sourceTree = ""; }; + 4EF2B2E6A827BEB4095C69760A095228 /* ecdsa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa.h; path = secp256k1_ios/src/ecdsa.h; sourceTree = ""; }; + 506C81F04F45BF82E339BD28FB9A6252 /* ecmult_gen_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen_impl.h; path = secp256k1_ios/src/ecmult_gen_impl.h; sourceTree = ""; }; 51008209B67B821AFF37051156E8A7FD /* Hashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Hashable.swift; path = sources/Hashable.swift; sourceTree = ""; }; + 51FFE70E98E00B14A7CEDBC9878713E7 /* num.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num.h; path = secp256k1_ios/src/num.h; sourceTree = ""; }; 520379C6715340D2674500ACBD1C4502 /* Catchable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catchable.swift; path = Sources/Catchable.swift; sourceTree = ""; }; 522015696E45158812DD4C5CF37CD544 /* Pods-web3swift-macOS_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-macOS_Tests-dummy.m"; sourceTree = ""; }; 52755885B4D2951532D257A2FEF6BCCF /* libsecp256k1_ios-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libsecp256k1_ios-macOS.a"; path = "libsecp256k1_ios-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -702,21 +706,19 @@ 55188AE8B0452B68B54A84FABFBA1BBF /* Bitwise Ops.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bitwise Ops.swift"; path = "sources/Bitwise Ops.swift"; sourceTree = ""; }; 5571DA87BD8084546DB65E212E690849 /* RandomUInt64.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomUInt64.swift; path = SipHash/RandomUInt64.swift; sourceTree = ""; }; 560B0B96D98FDEEAA1623C02B9F6ACC6 /* UIView+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Promise.swift"; path = "Extensions/UIKit/Sources/UIView+Promise.swift"; sourceTree = ""; }; - 56B4887D50F2EB64112AE8382F814BE6 /* secp256k1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1.h; path = secp256k1_ios/include/secp256k1.h; sourceTree = ""; }; + 57BE35B8EF2F430EE1A093A4E43F8243 /* eckey_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey_impl.h; path = secp256k1_ios/src/eckey_impl.h; sourceTree = ""; }; 5875BBBED3A4765B1D355C2AD095978A /* SipHash-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "SipHash-macOS.modulemap"; path = "../SipHash-macOS/SipHash-macOS.modulemap"; sourceTree = ""; }; 58D38A9B84FEE36DA02159AEC6611C17 /* Result-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "Result-macOS-dummy.m"; path = "../Result-macOS/Result-macOS-dummy.m"; sourceTree = ""; }; 58ED9DC4116D9A46B7047B9F3EE44E18 /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Configuration.swift; sourceTree = ""; }; 59C74C1E23D6AF919642E4F6E55FD308 /* BlockModeOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockModeOptions.swift; path = Sources/CryptoSwift/BlockMode/BlockModeOptions.swift; sourceTree = ""; }; 59EE5FF05C3E791A7F8398D6FCF80055 /* BlockEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockEncryptor.swift; path = Sources/CryptoSwift/BlockEncryptor.swift; sourceTree = ""; }; 5AB377C96E323960FB5F59BE70C7DDFA /* Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Poly1305.swift; path = Sources/CryptoSwift/Poly1305.swift; sourceTree = ""; }; - 5BC5E345E21A1E0448686159C97199BF /* scalar_4x64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64.h; path = secp256k1_ios/src/scalar_4x64.h; sourceTree = ""; }; + 5ADFA6DD652FDF2433DB8FB46C2B02CA /* ecmult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult.h; path = secp256k1_ios/src/ecmult.h; sourceTree = ""; }; + 5C0825E5C07CD2AD15EADE1A4F132C24 /* field_5x52_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_impl.h; path = secp256k1_ios/src/field_5x52_impl.h; sourceTree = ""; }; 5C4FBD9EED7C8E73E16CA9B5DC621F56 /* 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 = ""; }; 5C91FB228B4F0EFFE0BB1C457B26A6E3 /* Prime Test.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Prime Test.swift"; path = "sources/Prime Test.swift"; sourceTree = ""; }; - 5D3B85A32FDF4C95F0BAA5B3BB12FE9C /* field_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_impl.h; path = secp256k1_ios/src/field_impl.h; sourceTree = ""; }; 5D3D189B9D399D3E4E4DA52E21D02925 /* BigInt-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "BigInt-macOS-prefix.pch"; path = "../BigInt-macOS/BigInt-macOS-prefix.pch"; sourceTree = ""; }; - 5E34789287378DAC690BDC96A61B534D /* eckey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey.h; path = secp256k1_ios/src/eckey.h; sourceTree = ""; }; 5F5E831984223821B4643964E0D16375 /* AEADChaCha20Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEADChaCha20Poly1305.swift; path = Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift; sourceTree = ""; }; - 5F94C022B4C730984FCEE4E1D731C291 /* hash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash.h; path = secp256k1_ios/src/hash.h; sourceTree = ""; }; 5F98A4FCB73949EC4A239F93A6380393 /* libscrypt-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libscrypt-macOS.a"; path = "libscrypt-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 602BCDD7A6B60ADA7204658627037B22 /* SipHasher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHasher.swift; path = SipHash/SipHasher.swift; sourceTree = ""; }; 60EE65019B7B0977FF9331F020D957CD /* BigInt-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "BigInt-macOS-umbrella.h"; path = "../BigInt-macOS/BigInt-macOS-umbrella.h"; sourceTree = ""; }; @@ -724,42 +726,45 @@ 64389E571A401AFB1A430A11C7053757 /* SipHash-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "SipHash-macOS.xcconfig"; path = "../SipHash-macOS/SipHash-macOS.xcconfig"; sourceTree = ""; }; 6565B9A6640E27ECBBF27A2AB8E07117 /* AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AnyPromise.m; path = Sources/AnyPromise.m; sourceTree = ""; }; 65E54F31ACC1397C1485DF5C7B5FA928 /* Random.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Random.swift; path = sources/Random.swift; sourceTree = ""; }; - 65FAD979B70CA8CC84821A24AF02DCF2 /* secp256k1_ios.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ios.h; path = secp256k1_ios/secp256k1_ios.h; sourceTree = ""; }; - 670BCF92469F3BB35E8F617E2F61E479 /* lax_der_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_parsing.h; path = secp256k1_ios/contrib/lax_der_parsing.h; sourceTree = ""; }; 673FFC4D2B959AB8AEC35D646A85CDCD /* Pods-web3swift-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS.release.xcconfig"; sourceTree = ""; }; 690E91794401ED87EB104B7BE8059DD2 /* UIViewController+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.m"; sourceTree = ""; }; 6942B9400A6731CB14455C8AE7F0C6A7 /* Subtraction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Subtraction.swift; path = sources/Subtraction.swift; sourceTree = ""; }; + 6B7D33AF1AE938A46700885645D7B0C6 /* secp256k1_recovery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_recovery.h; path = secp256k1_ios/include/secp256k1_recovery.h; sourceTree = ""; }; + 6C85BA37239973340D1056F3EBC7F4F8 /* secp256k1_ios-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "secp256k1_ios-iOS-dummy.m"; sourceTree = ""; }; 6C86011CD926858E717E5D92380F2838 /* CryptoSwift-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CryptoSwift-iOS-dummy.m"; sourceTree = ""; }; 6D4A716592C208D7429CE19B82094FA8 /* Pods-web3swift-iOS_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-iOS_Tests-acknowledgements.plist"; sourceTree = ""; }; 6DDF10E5AA3EE0D0028933F977F5BF96 /* Generics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generics.swift; path = Sources/CryptoSwift/Generics.swift; sourceTree = ""; }; - 6E89BE9CD29A9579279F97511C455B1A /* secp256k1_ios-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "secp256k1_ios-iOS.modulemap"; sourceTree = ""; }; - 73E79D0886091383BE392E49B7A4EBC0 /* ecdsa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa.h; path = secp256k1_ios/src/ecdsa.h; sourceTree = ""; }; + 7399560A570538454DCA6FC42E879809 /* num_gmp.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp.h; path = secp256k1_ios/src/num_gmp.h; sourceTree = ""; }; + 744D68A2C1A6A6136663892BD5967CEF /* lax_der_privatekey_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_privatekey_parsing.h; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.h; sourceTree = ""; }; 74C8E7BC7B9A663969DC6A1FAE5AD6C6 /* Bit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bit.swift; path = Sources/CryptoSwift/Bit.swift; sourceTree = ""; }; 75108DB9FE7BABCC05526BD92059DC5A /* BufferStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BufferStorage.swift; path = scrypt/scrypt/BufferStorage.swift; sourceTree = ""; }; 753E3CD3CF2AA32CDB11305D429F3C96 /* Pods-web3swift-iOS_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-iOS_Tests-acknowledgements.markdown"; sourceTree = ""; }; - 77B6F7DB489A42B9DFF2C75C6090890A /* num.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num.h; path = secp256k1_ios/src/num.h; sourceTree = ""; }; - 7953AAFAFDD8639ABC0F6CFA2A5E6436 /* ecmult_gen.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen.h; path = secp256k1_ios/src/ecmult_gen.h; sourceTree = ""; }; + 778AAAE605119A0341DA4378ED873181 /* scalar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar.h; path = secp256k1_ios/src/scalar.h; sourceTree = ""; }; 79E925BEAA0533C58B6D9871B886DD8A /* Pods-web3swift-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swift-iOS.modulemap"; sourceTree = ""; }; - 7ABA1AA6809B8D6649D072F0CA90E7EE /* field_10x26_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26_impl.h; path = secp256k1_ios/src/field_10x26_impl.h; sourceTree = ""; }; - 7AD354FFD7D90184AD046B8CB46B47C0 /* hash_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash_impl.h; path = secp256k1_ios/src/hash_impl.h; sourceTree = ""; }; + 7AF087435CFE453BE94CFAE116CC7661 /* field_5x52.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52.h; path = secp256k1_ios/src/field_5x52.h; sourceTree = ""; }; 7AF444B003D1A7B9026D1AF8B3B5B699 /* HMAC+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "HMAC+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/HMAC+Foundation.swift"; sourceTree = ""; }; 7B10016CC925878BCF8C1423A7EAD6A6 /* Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Padding.swift; path = Sources/CryptoSwift/Padding.swift; sourceTree = ""; }; 7B7931AA08AA6E50FAE2325FDFEC9669 /* ResultProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResultProtocol.swift; path = Result/ResultProtocol.swift; sourceTree = ""; }; + 7C9596E2D0164256EFB0F1673E724BB1 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/recovery/main_impl.h; sourceTree = ""; }; + 7D4E771C1368EA72DE7D24C281E6D674 /* secp256k1_ios-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_ios-macOS-umbrella.h"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS-umbrella.h"; sourceTree = ""; }; 7E8C19543EF3AA4D9801DBE55E22E211 /* Pods-web3swift-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swift-iOS-umbrella.h"; sourceTree = ""; }; 7F3C6D22D31BFCC4FBF02C3E813AE0EC /* hang.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = hang.m; path = Sources/hang.m; sourceTree = ""; }; + 7FDB2A79B118B2F003B3E6F5A708B701 /* hash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash.h; path = secp256k1_ios/src/hash.h; sourceTree = ""; }; 81D592C69182CE946419FE4D30C2690E /* PBKDF2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF2.swift; path = Sources/CryptoSwift/PKCS/PBKDF2.swift; sourceTree = ""; }; 822F20C56BDAEAB1D9B8A0CE5D552188 /* BigInt-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "BigInt-iOS.modulemap"; sourceTree = ""; }; - 83629B6E064C93119C08CF5B1695D990 /* group_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group_impl.h; path = secp256k1_ios/src/group_impl.h; sourceTree = ""; }; + 8575ADFAFEFEFEDACDC32D01960AE2AB /* scratch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch.h; path = secp256k1_ios/src/scratch.h; sourceTree = ""; }; 85ACA7DBB43194398C4BBE72803AB0A9 /* Result-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Result-iOS.modulemap"; sourceTree = ""; }; + 86010FFDC0CB0732CC170A6EB5EC36A5 /* field.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field.h; path = secp256k1_ios/src/field.h; sourceTree = ""; }; 878207B522C3B5C4C78ECAC3AA87663A /* libBigInt-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libBigInt-iOS.a"; path = "libBigInt-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 8866E3418AA74CD02353B3E373ACEFA9 /* PMKFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKFoundation.h; path = Extensions/Foundation/Sources/PMKFoundation.h; sourceTree = ""; }; 894312908815C8518B59156B045BB049 /* Thenable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Thenable.swift; path = Sources/Thenable.swift; sourceTree = ""; }; + 894C3E3F18C4D842D9E35A6A69851AF0 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/ecdh/main_impl.h; sourceTree = ""; }; 897A68EA53AA050AFE4583C364D6C1CF /* PromiseKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = PromiseKit.modulemap; sourceTree = ""; }; 8A6199EF8A43EB0E1F3C0EB7228F575C /* HKDF.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HKDF.swift; path = Sources/CryptoSwift/HKDF.swift; sourceTree = ""; }; - 8B172A41C2D2CEDCBDCF390512DD02F4 /* libsecp256k1-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "libsecp256k1-config.h"; path = "secp256k1_ios/libsecp256k1-config.h"; sourceTree = ""; }; 8B56F6A20A0CF698ECA0EDF6CF4CDD74 /* Pods-web3swift-iOS_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-iOS_Tests-dummy.m"; sourceTree = ""; }; 8C537644BF5D1735EC0FF5E1EAD5A94F /* AnyPromise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyPromise.swift; path = Sources/AnyPromise.swift; sourceTree = ""; }; 8E629DABC6293E872B2A48DE12DC3D99 /* PromiseKit.root-CorePromise-Foundation.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "PromiseKit.root-CorePromise-Foundation.modulemap"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.modulemap"; sourceTree = ""; }; + 8E865E2465317D7395EFFC3E15BE3B82 /* field_10x26_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26_impl.h; path = secp256k1_ios/src/field_10x26_impl.h; sourceTree = ""; }; 8F87371895A84370E0ECB153DA5CFF62 /* PBKDF1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF1.swift; path = Sources/CryptoSwift/PKCS/PBKDF1.swift; sourceTree = ""; }; 90B410829D6E70A45A22CC62F187A11B /* Pods-web3swift-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swift-macOS.modulemap"; sourceTree = ""; }; 90CF4F3CD46BB810B73F6BAF362CB47A /* libPromiseKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libPromiseKit.a; path = libPromiseKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -770,48 +775,42 @@ 95C397E16B314F921F7784F00C8F183B /* Pods-web3swift-iOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-iOS-acknowledgements.plist"; sourceTree = ""; }; 95E6916802B9A0D029D336A91E220830 /* Result-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Result-iOS.xcconfig"; sourceTree = ""; }; 95FA6138713C5F6E2FBBB866D8A4C6E0 /* 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 = ""; }; - 962B94FFF364D97FCB13480B186176CC /* ecmult_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_impl.h; path = secp256k1_ios/src/ecmult_impl.h; sourceTree = ""; }; 96BC14C5CF69F4D24A02B045A7A1BB7E /* fwd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fwd.h; path = Sources/fwd.h; sourceTree = ""; }; 9705AB5431247715C48FE5E652D005AE /* CryptoSwift-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "CryptoSwift-iOS.modulemap"; sourceTree = ""; }; - 9873C60F241233030F26574B565116B5 /* ecmult_gen_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen_impl.h; path = secp256k1_ios/src/ecmult_gen_impl.h; sourceTree = ""; }; + 97CA37D99BC06AE9B4704C72A22686E5 /* lax_der_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_parsing.h; path = secp256k1_ios/contrib/lax_der_parsing.h; sourceTree = ""; }; 991C827F3BBAAEE28EE416BE38F76DD0 /* Guarantee.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Guarantee.swift; path = Sources/Guarantee.swift; sourceTree = ""; }; 9B4E57AA7FB0E002998D6424CB608E32 /* PromiseKit.root-CorePromise-Foundation-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PromiseKit.root-CorePromise-Foundation-prefix.pch"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch"; sourceTree = ""; }; - 9CF4AD4A5FE03F1CD453371F1649C480 /* secp256k1_ios-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_ios-macOS-umbrella.h"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS-umbrella.h"; sourceTree = ""; }; 9D44A825E8CB9200059521A9C941F712 /* Square Root.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Square Root.swift"; path = "sources/Square Root.swift"; sourceTree = ""; }; - 9EE71EAB28439C6C06ACAAA031A9AE66 /* scalar_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_impl.h; path = secp256k1_ios/src/scalar_impl.h; sourceTree = ""; }; 9FAB45044F3A646E2488529698B14387 /* Floating Point Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Floating Point Conversion.swift"; path = "sources/Floating Point Conversion.swift"; sourceTree = ""; }; 9FF537F705CA3D41D9798A4511A8F24D /* Authenticator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Authenticator.swift; path = Sources/CryptoSwift/Authenticator.swift; sourceTree = ""; }; A0BB9A3E4E29EBA29F99C94BBEEEC1F2 /* Cimpl.c */ = {isa = PBXFileReference; includeInIndex = 1; name = Cimpl.c; path = scrypt/Cimpl.c; sourceTree = ""; }; A414F7D6F59CB6D7C5696F98992E80A2 /* BatchedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BatchedCollection.swift; path = Sources/CryptoSwift/BatchedCollection.swift; sourceTree = ""; }; - A45553E1351B43FC7391481CD4FF199E /* secp256k1_ios-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "secp256k1_ios-macOS.modulemap"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS.modulemap"; sourceTree = ""; }; A5946E85C35328004F1FD0D65ABF93B4 /* Process+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Process+Promise.swift"; path = "Extensions/Foundation/Sources/Process+Promise.swift"; sourceTree = ""; }; A5D9B32B104EA0A137D78B89D4D19D40 /* Pods-web3swift-macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS.release.xcconfig"; sourceTree = ""; }; A699FEC4F0274F833ECDEB986CAABBD2 /* UInt32+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt32+Extension.swift"; path = "Sources/CryptoSwift/UInt32+Extension.swift"; sourceTree = ""; }; - A7B38174B0902D2DCD57CAFF23561C82 /* group.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group.h; path = secp256k1_ios/src/group.h; sourceTree = ""; }; - A7C177A4D014F2C568B84F7BED9628F3 /* secp256k1_ios-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "secp256k1_ios-macOS-dummy.m"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS-dummy.m"; sourceTree = ""; }; A93880388A03A6AEAEBFC90F7F533AAD /* StreamEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StreamEncryptor.swift; path = Sources/CryptoSwift/StreamEncryptor.swift; sourceTree = ""; }; A9C90F0F0F9A0115AC326304EB131CA4 /* race.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = race.swift; path = Sources/race.swift; sourceTree = ""; }; - AADCF3484DBEE7528E66E04707BBA998 /* scalar_low_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low_impl.h; path = secp256k1_ios/src/scalar_low_impl.h; sourceTree = ""; }; AAF423028DF35854B3087F873B6965E4 /* libPods-web3swift-iOS_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-iOS_Tests.a"; path = "libPods-web3swift-iOS_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; AB4A0ADEE88B224FCFB999E14A3FC3BA /* CryptoSwift-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CryptoSwift-macOS-umbrella.h"; path = "../CryptoSwift-macOS/CryptoSwift-macOS-umbrella.h"; sourceTree = ""; }; AD4D44D1A4A0B550CAB6D8C2AED04AD3 /* CMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CMAC.swift; path = Sources/CryptoSwift/CMAC.swift; sourceTree = ""; }; AE26C9121A9F08A8934B37AD374D39F4 /* scrypt-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "scrypt-macOS-prefix.pch"; path = "../scrypt-macOS/scrypt-macOS-prefix.pch"; sourceTree = ""; }; AEF9AB34E06A2A4078A0C87B37B1CD0F /* RandomBytesSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomBytesSequence.swift; path = Sources/CryptoSwift/RandomBytesSequence.swift; sourceTree = ""; }; AF807959CD9376AAE20892C1143FF9E6 /* libResult-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libResult-macOS.a"; path = "libResult-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - AFCE6E7D1FF14C1DB7CAA83B0D516538 /* scratch_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch_impl.h; path = secp256k1_ios/src/scratch_impl.h; sourceTree = ""; }; B02B055F45990BB015AB494AE625A793 /* CryptoSwift-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-iOS-umbrella.h"; sourceTree = ""; }; B0423C9D9E49080ACEF73C985FBB221F /* SipHash-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SipHash-macOS-dummy.m"; path = "../SipHash-macOS/SipHash-macOS-dummy.m"; sourceTree = ""; }; - B14E2DB314C3B43D35EF8DAECF6AC3DA /* field_5x52_asm_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_asm_impl.h; path = secp256k1_ios/src/field_5x52_asm_impl.h; sourceTree = ""; }; B3BEE25ACB7B1714E52C057B725B022B /* ChaCha20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChaCha20.swift; path = Sources/CryptoSwift/ChaCha20.swift; sourceTree = ""; }; B3C749DBE031D5CD32F6F718288C1AC0 /* Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Promise.swift; path = Sources/Promise.swift; sourceTree = ""; }; B592EEFCCF7F964D0B60F749B17B7658 /* race.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = race.m; path = Sources/race.m; sourceTree = ""; }; B7540EADD3520F1ECD4BAD23FF29400F /* String+FoundationExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+FoundationExtension.swift"; path = "Sources/CryptoSwift/Foundation/String+FoundationExtension.swift"; sourceTree = ""; }; B7762E4245191B27674EB7EB82DCFFF1 /* Pods-web3swift-macOS_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS_Tests.debug.xcconfig"; sourceTree = ""; }; - B7C11E88CA44E3C6CD4C1DA0CE8CDF1C /* secp256k1_ecdh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ecdh.h; path = secp256k1_ios/include/secp256k1_ecdh.h; sourceTree = ""; }; B7DFFB650AB055EA65177877A4837E93 /* String Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String Conversion.swift"; path = "sources/String Conversion.swift"; sourceTree = ""; }; B864BCFD33F0A7ABED7DBA75C963A51A /* BlockCipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockCipher.swift; path = Sources/CryptoSwift/BlockCipher.swift; sourceTree = ""; }; + B9BCFC62DFEA1FC233306B897C15DE84 /* lax_der_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_parsing.c; path = secp256k1_ios/contrib/lax_der_parsing.c; sourceTree = ""; }; BAC15C8E1DC42A3C6D2AF7A4BACD9D9A /* scrypt-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "scrypt-iOS.modulemap"; sourceTree = ""; }; + BAD09E8EE27EB4BA87F1F0237E0D7537 /* secp256k1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1.h; path = secp256k1_ios/include/secp256k1.h; sourceTree = ""; }; + BB8574390012E8F0C54B5B8C7A68D484 /* secp256k1_ios-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "secp256k1_ios-macOS-dummy.m"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS-dummy.m"; sourceTree = ""; }; BC8CE2AC7222CA948CFA3E9FEF002800 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = Sources/Error.swift; sourceTree = ""; }; + BD07DFA1EC0FD8CF78E837D5A0051A6D /* num_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_impl.h; path = secp256k1_ios/src/num_impl.h; sourceTree = ""; }; BD4C6A3CDC6FA3F322EA1C393C5CC89E /* Integer Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Integer Conversion.swift"; path = "sources/Integer Conversion.swift"; sourceTree = ""; }; BECB9224CBFC1D8A1E8486BB06BBC621 /* BigInt-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-iOS-umbrella.h"; sourceTree = ""; }; BF467792E24FCB49390F293678C2E231 /* ZeroPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZeroPadding.swift; path = Sources/CryptoSwift/ZeroPadding.swift; sourceTree = ""; }; @@ -829,33 +828,34 @@ C9D0105E6F7855534D035E089FAACA84 /* NSURLSession+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURLSession+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.m"; sourceTree = ""; }; CAB3BF2C1D04839054658D7999609AFA /* hang.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = hang.swift; path = Sources/hang.swift; sourceTree = ""; }; CB6A81C2298843C461F65B8D11106F72 /* libPods-web3swift-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-iOS.a"; path = "libPods-web3swift-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - CC5C878E59F3ED2C5956640525A3B54F /* util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = util.h; path = secp256k1_ios/src/util.h; sourceTree = ""; }; + CBD30E41FF94A920A122386C08637B7A /* secp256k1_ios-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "secp256k1_ios-macOS.modulemap"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS.modulemap"; sourceTree = ""; }; CC773B77A5A65E3C63F4C5305CAD01D1 /* Cimpl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Cimpl.h; path = scrypt/Cimpl.h; sourceTree = ""; }; CCDA16C2155C3C3AC4C4D3C23A57EC12 /* UInt8+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt8+Extension.swift"; path = "Sources/CryptoSwift/UInt8+Extension.swift"; sourceTree = ""; }; CF5CF52D91122CF7B77E75FAF93251C3 /* UInt64+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt64+Extension.swift"; path = "Sources/CryptoSwift/UInt64+Extension.swift"; sourceTree = ""; }; - CF710065BE127B2E19409D9FAB5AEF43 /* secp256k1_ios-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-iOS-prefix.pch"; sourceTree = ""; }; CFA9EC9779A914A67653CFFF9142318C /* Deprecations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecations.swift; path = Sources/Deprecations.swift; sourceTree = ""; }; D159242CC5E8F83FDBE6973BE570CA54 /* Comparable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Comparable.swift; path = sources/Comparable.swift; sourceTree = ""; }; D175F930B0613AAEB35FE3D02276CA4D /* PMKUIKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKUIKit.h; path = Extensions/UIKit/Sources/PMKUIKit.h; sourceTree = ""; }; D1BEA6E913A811987196FC02097A1F5C /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "Sources/CryptoSwift/Foundation/Data+Extension.swift"; sourceTree = ""; }; D22F70DCC90E8FE0E9EC24A5DBABE79C /* Rabbit+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Rabbit+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift"; sourceTree = ""; }; D24853136C9E866538093205C6E4A90A /* when.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = when.m; path = Sources/when.m; sourceTree = ""; }; - D288250D5D03FFA450A24F233388BA7A /* secp256k1.c */ = {isa = PBXFileReference; includeInIndex = 1; name = secp256k1.c; path = secp256k1_ios/src/secp256k1.c; sourceTree = ""; }; D2FA1DA6CAEC899929310534A250E53B /* OFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OFB.swift; path = Sources/CryptoSwift/BlockMode/OFB.swift; sourceTree = ""; }; + D37DEA7A8B3EBEC27D9109471669A4BF /* secp256k1.c */ = {isa = PBXFileReference; includeInIndex = 1; name = secp256k1.c; path = secp256k1_ios/src/secp256k1.c; sourceTree = ""; }; D6FBFF07C73E9B536C49D3D32A989327 /* join.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = join.m; path = Sources/join.m; sourceTree = ""; }; - D70BDEFFA46F9A5EE71DB70AE67B5652 /* ecmult_const_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const_impl.h; path = secp256k1_ios/src/ecmult_const_impl.h; sourceTree = ""; }; D8602F37D59CD9AD65EEF65DF7AA62A3 /* UInt16+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt16+Extension.swift"; path = "Sources/CryptoSwift/UInt16+Extension.swift"; sourceTree = ""; }; D89263E801FAC6A34F7C9D4E3A3066A9 /* UInt128.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UInt128.swift; path = Sources/CryptoSwift/UInt128.swift; sourceTree = ""; }; + D8A60B0639785EE266ACA62D536DD199 /* hash_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash_impl.h; path = secp256k1_ios/src/hash_impl.h; sourceTree = ""; }; D8EAA4A69D5AC1E3D89D6D25C9496C75 /* Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptors.swift; path = Sources/CryptoSwift/Cryptors.swift; sourceTree = ""; }; D8F688145BCFE1FB8B76299CC261A05E /* Pods-web3swift-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-iOS-dummy.m"; sourceTree = ""; }; + D93F53AAD0FD5DB616A5E1C69164F0D7 /* group_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group_impl.h; path = secp256k1_ios/src/group_impl.h; sourceTree = ""; }; D956E4D797535DA55BFACC56BAE7232E /* BlockMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockMode.swift; path = Sources/CryptoSwift/BlockMode/BlockMode.swift; sourceTree = ""; }; DA900039B5D199745C785144030E7BF9 /* Pods-web3swift-macOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-macOS-acknowledgements.markdown"; sourceTree = ""; }; DB87E523FFE6DE6B135FDDCF9D25E434 /* libBigInt-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libBigInt-macOS.a"; path = "libBigInt-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; DC1129F2E85B44E362DF4E5C827C8DD7 /* Box.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Box.swift; path = Sources/Box.swift; sourceTree = ""; }; + DC80BC8175DF95AF5AC0777B4379466F /* scalar_4x64_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64_impl.h; path = secp256k1_ios/src/scalar_4x64_impl.h; sourceTree = ""; }; DCCD9B75F811575B41254E2EACE6F115 /* Pods-web3swift-macOS_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-macOS_Tests-acknowledgements.plist"; sourceTree = ""; }; DCE95DEFE59A8D4B1CC921351954D118 /* Result-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-iOS-umbrella.h"; sourceTree = ""; }; + DDEB5B32B77FC78B04321FABF19FAF64 /* ecdsa_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa_impl.h; path = secp256k1_ios/src/ecdsa_impl.h; sourceTree = ""; }; DE552F4DC19246DE02459BBEAECE3070 /* PromiseKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromiseKit.xcconfig; sourceTree = ""; }; - DEC9C3E8E55E46B29FD5E5EF68F87F17 /* scalar_low.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low.h; path = secp256k1_ios/src/scalar_low.h; sourceTree = ""; }; DF437C6BA87CD115FFAF9F58E13F530F /* scrypt-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "scrypt-macOS-umbrella.h"; path = "../scrypt-macOS/scrypt-macOS-umbrella.h"; sourceTree = ""; }; DF8763C25A8C471712C07FDF71929703 /* UIViewPropertyAnimator+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewPropertyAnimator+Promise.swift"; path = "Extensions/UIKit/Sources/UIViewPropertyAnimator+Promise.swift"; sourceTree = ""; }; E0002BF7495DF77615C17C435108BAC4 /* scrypt-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "scrypt-iOS.xcconfig"; sourceTree = ""; }; @@ -865,31 +865,30 @@ E2C42F3DFC4E6CC75140A86DF8616CC3 /* SipHashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHashable.swift; path = SipHash/SipHashable.swift; sourceTree = ""; }; E3ADB0156604A4FD7CD47B25248088C2 /* Pods-web3swift-iOS_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS_Tests.release.xcconfig"; sourceTree = ""; }; E45449F26960667F9B102A7F62C60D31 /* Digest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Digest.swift; path = Sources/CryptoSwift/Digest.swift; sourceTree = ""; }; - E54564B11B6584454FF1C61A27575535 /* secp256k1_ios-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "secp256k1_ios-iOS-dummy.m"; sourceTree = ""; }; - E700B3E020C13F1EF3046DA2572EB770 /* lax_der_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_parsing.c; path = secp256k1_ios/contrib/lax_der_parsing.c; sourceTree = ""; }; E75AE5FFEFA361D707CC354FF1EB3D52 /* Updatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Updatable.swift; path = Sources/CryptoSwift/Updatable.swift; sourceTree = ""; }; + E769D47A96005469A7B39F23E9281D6D /* secp256k1_ios-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-iOS-umbrella.h"; sourceTree = ""; }; E7CC622C1D24D718342B05051554A93A /* UIView+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.h"; sourceTree = ""; }; E7FE282781FCA8360DCC5EEC2DFC9045 /* BlockDecryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockDecryptor.swift; path = Sources/CryptoSwift/BlockDecryptor.swift; sourceTree = ""; }; E82A76E0CD40E20D9FEC34DAF7889ECB /* MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MD5.swift; path = Sources/CryptoSwift/MD5.swift; sourceTree = ""; }; E82F9A99E44E0AB55B16F720C69B947B /* libSipHash-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libSipHash-macOS.a"; path = "libSipHash-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; E88F02B72D0ADCFDAA37C5D63ABB3679 /* NoPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoPadding.swift; path = Sources/CryptoSwift/NoPadding.swift; sourceTree = ""; }; EAC47FA975BD89D9C68F3C958A58964C /* BigInt-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "BigInt-iOS.xcconfig"; sourceTree = ""; }; - EB741666A46691B0F36213814C9E064B /* num_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_impl.h; path = secp256k1_ios/src/num_impl.h; sourceTree = ""; }; + EC2691B355719F37BCE2B9EB79640902 /* lax_der_privatekey_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_privatekey_parsing.c; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.c; sourceTree = ""; }; EC305FA12BE030117A6E97568345036C /* libPromiseKit.root-CorePromise-Foundation.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPromiseKit.root-CorePromise-Foundation.a"; path = "libPromiseKit.root-CorePromise-Foundation.a"; sourceTree = BUILT_PRODUCTS_DIR; }; EECA7B8CA13556F051DCBF44B5E5092B /* ECB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ECB.swift; path = Sources/CryptoSwift/BlockMode/ECB.swift; sourceTree = ""; }; EEEB8AE79B5DA3255A444BD9E125CC15 /* Utils+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Utils+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Utils+Foundation.swift"; sourceTree = ""; }; - F07F6D1FC3410558AAA3A2CDB25D4DB8 /* secp256k1_ios-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_ios-macOS-prefix.pch"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch"; sourceTree = ""; }; F1961CDC6282709B9B35B8F757754E1A /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = Sources/CryptoSwift/CompactMap.swift; sourceTree = ""; }; F1EA13DCEFA32B29351F75416999B53B /* DigestType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DigestType.swift; path = Sources/CryptoSwift/DigestType.swift; sourceTree = ""; }; + F1F1BD0CE2445F35A20783082C9D4775 /* secp256k1_ecdh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ecdh.h; path = secp256k1_ios/include/secp256k1_ecdh.h; sourceTree = ""; }; F24C4B729147ABA4455041FEDE41FE00 /* Addition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Addition.swift; path = sources/Addition.swift; sourceTree = ""; }; F28F3031AD42194EEF81032553A11D97 /* scrypt-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-iOS-prefix.pch"; sourceTree = ""; }; F38735F968F3506E4EACD22DC1175F06 /* PromiseKit.root-CorePromise-Foundation-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "PromiseKit.root-CorePromise-Foundation-dummy.m"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-dummy.m"; sourceTree = ""; }; F3AE421756716EB8DAA945495A2EC5DD /* Rabbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rabbit.swift; path = Sources/CryptoSwift/Rabbit.swift; sourceTree = ""; }; F45D1FF9B0F3BEACB34D069C6F3561F8 /* Pods-web3swift-iOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-iOS-acknowledgements.markdown"; sourceTree = ""; }; F537843D9119912314B3F5275A629E06 /* Result-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-iOS-prefix.pch"; sourceTree = ""; }; - F5928C098D1CFB5B0E1932A24EDA49AF /* secp256k1_ios-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "secp256k1_ios-macOS.xcconfig"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig"; sourceTree = ""; }; F5E5C5193E731A76273A1ADACD50AB81 /* PCBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PCBC.swift; path = Sources/CryptoSwift/BlockMode/PCBC.swift; sourceTree = ""; }; F618CC73DE8826F0386137F6584B6A57 /* GCM.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCM.swift; path = Sources/CryptoSwift/BlockMode/GCM.swift; sourceTree = ""; }; + F68419F17E2CC2073DDAC992BC39EF47 /* eckey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey.h; path = secp256k1_ios/src/eckey.h; sourceTree = ""; }; F685B50C77BC588736193EFC93B3FAFA /* Primitive Types.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Primitive Types.swift"; path = "SipHash/Primitive Types.swift"; sourceTree = ""; }; F76DF7D8AADE94E0258CC9A76C4A2C8F /* scrypt-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-iOS-umbrella.h"; sourceTree = ""; }; F7709F12D0210A64607C215D35A245CF /* libResult-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libResult-iOS.a"; path = "libResult-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -898,6 +897,7 @@ FAE5BF28C394D398788317F877E314ED /* SipHash-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "SipHash-iOS.xcconfig"; sourceTree = ""; }; FBEFBB38BBB87913FDCF892141C0AC8D /* NSTask+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSTask+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.h"; sourceTree = ""; }; FC6002A6D434E59E6D00025F21BA36FF /* libCryptoSwift-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libCryptoSwift-iOS.a"; path = "libCryptoSwift-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + FD3FC379B5028687E388AD09CFE88832 /* field_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_impl.h; path = secp256k1_ios/src/field_impl.h; sourceTree = ""; }; FE9A22DCC269160D36ABB6B7AF260C2A /* Result-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Result-iOS-dummy.m"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -1167,24 +1167,6 @@ name = Products; sourceTree = ""; }; - 3B0C994F7A384092209B7384F99465A6 /* Support Files */ = { - isa = PBXGroup; - children = ( - 6E89BE9CD29A9579279F97511C455B1A /* secp256k1_ios-iOS.modulemap */, - 18CAB3E754AA5CC3978FFD653BC874A3 /* secp256k1_ios-iOS.xcconfig */, - E54564B11B6584454FF1C61A27575535 /* secp256k1_ios-iOS-dummy.m */, - CF710065BE127B2E19409D9FAB5AEF43 /* secp256k1_ios-iOS-prefix.pch */, - 26C87BA1E1CD3DA69658381DC862662E /* secp256k1_ios-iOS-umbrella.h */, - A45553E1351B43FC7391481CD4FF199E /* secp256k1_ios-macOS.modulemap */, - F5928C098D1CFB5B0E1932A24EDA49AF /* secp256k1_ios-macOS.xcconfig */, - A7C177A4D014F2C568B84F7BED9628F3 /* secp256k1_ios-macOS-dummy.m */, - F07F6D1FC3410558AAA3A2CDB25D4DB8 /* secp256k1_ios-macOS-prefix.pch */, - 9CF4AD4A5FE03F1CD453371F1649C480 /* secp256k1_ios-macOS-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/secp256k1_ios-iOS"; - sourceTree = ""; - }; 40BAD90543DC6CCDCC23E38123EED033 /* Support Files */ = { isa = PBXGroup; children = ( @@ -1203,65 +1185,6 @@ path = "../Target Support Files/BigInt-iOS"; sourceTree = ""; }; - 482FBE6CAF76DDD9FFD08485047346A2 /* secp256k1_ios */ = { - isa = PBXGroup; - children = ( - 4207171AF4AC30056EE3D86BA2E572A2 /* basic-config.h */, - 73E79D0886091383BE392E49B7A4EBC0 /* ecdsa.h */, - 18CECE2AAA777C20C231B09167732087 /* ecdsa_impl.h */, - 5E34789287378DAC690BDC96A61B534D /* eckey.h */, - 0AE1F2C76AEC2899BB377C5F716B96A9 /* eckey_impl.h */, - 3217AEE906468DE068B9F1656B698E05 /* ecmult.h */, - 02D1233B4775FD4486FC833AD2928302 /* ecmult_const.h */, - D70BDEFFA46F9A5EE71DB70AE67B5652 /* ecmult_const_impl.h */, - 7953AAFAFDD8639ABC0F6CFA2A5E6436 /* ecmult_gen.h */, - 9873C60F241233030F26574B565116B5 /* ecmult_gen_impl.h */, - 962B94FFF364D97FCB13480B186176CC /* ecmult_impl.h */, - 113FB888146C1156101BB0FCC2303331 /* field.h */, - 0E10436F61B2E20A7AC6B9FA2B43475B /* field_10x26.h */, - 7ABA1AA6809B8D6649D072F0CA90E7EE /* field_10x26_impl.h */, - 2102C5F2845659DC22D1C75C5DEE8785 /* field_5x52.h */, - B14E2DB314C3B43D35EF8DAECF6AC3DA /* field_5x52_asm_impl.h */, - 11D2E84F01BCA808E576508AFC2BECBA /* field_5x52_impl.h */, - 41EDD0261BF89D565B8ABBA503384512 /* field_5x52_int128_impl.h */, - 5D3B85A32FDF4C95F0BAA5B3BB12FE9C /* field_impl.h */, - A7B38174B0902D2DCD57CAFF23561C82 /* group.h */, - 83629B6E064C93119C08CF5B1695D990 /* group_impl.h */, - 5F94C022B4C730984FCEE4E1D731C291 /* hash.h */, - 7AD354FFD7D90184AD046B8CB46B47C0 /* hash_impl.h */, - E700B3E020C13F1EF3046DA2572EB770 /* lax_der_parsing.c */, - 670BCF92469F3BB35E8F617E2F61E479 /* lax_der_parsing.h */, - 1D7CEF9F4C98A2CE1B98AD20F3608F16 /* lax_der_privatekey_parsing.c */, - 46AF7B9300956886A337785AFCCA65E9 /* lax_der_privatekey_parsing.h */, - 8B172A41C2D2CEDCBDCF390512DD02F4 /* libsecp256k1-config.h */, - 3784FB8ABDFC677C070E5808E273F420 /* main_impl.h */, - 1E727EFDF1D9F0E72FF769FA527EB01D /* main_impl.h */, - 77B6F7DB489A42B9DFF2C75C6090890A /* num.h */, - 2F7A4EBB203B3B080F8B5BF693B1D73E /* num_gmp.h */, - 337F14F3FE32B1AA45844B7F9E94C8CB /* num_gmp_impl.h */, - EB741666A46691B0F36213814C9E064B /* num_impl.h */, - 2F7B1F5E8885A02A41E2BC53975DF4F2 /* scalar.h */, - 5BC5E345E21A1E0448686159C97199BF /* scalar_4x64.h */, - 128F0A3649763AA74BB1F997980E9878 /* scalar_4x64_impl.h */, - 2525FC26081FA847B7D6E8209E7A7CC3 /* scalar_8x32.h */, - 4A780AF8B00436C92795015A4BB4871E /* scalar_8x32_impl.h */, - 9EE71EAB28439C6C06ACAAA031A9AE66 /* scalar_impl.h */, - DEC9C3E8E55E46B29FD5E5EF68F87F17 /* scalar_low.h */, - AADCF3484DBEE7528E66E04707BBA998 /* scalar_low_impl.h */, - 04D613988B2E91F7B5A7327303576BAB /* scratch.h */, - AFCE6E7D1FF14C1DB7CAA83B0D516538 /* scratch_impl.h */, - D288250D5D03FFA450A24F233388BA7A /* secp256k1.c */, - 56B4887D50F2EB64112AE8382F814BE6 /* secp256k1.h */, - B7C11E88CA44E3C6CD4C1DA0CE8CDF1C /* secp256k1_ecdh.h */, - 65FAD979B70CA8CC84821A24AF02DCF2 /* secp256k1_ios.h */, - 154960BA397A967916A61F0CA3ACDA98 /* secp256k1_recovery.h */, - CC5C878E59F3ED2C5956640525A3B54F /* util.h */, - 3B0C994F7A384092209B7384F99465A6 /* Support Files */, - ); - name = secp256k1_ios; - path = secp256k1_ios; - sourceTree = ""; - }; 4DEBE1393AE00ECAAF9F6945E53E40D5 /* CryptoSwift */ = { isa = PBXGroup; children = ( @@ -1522,7 +1445,7 @@ F0707F8777DDFD81A8215F12EF6547F2 /* PromiseKit */, 804E9F18A201CF035B07D2CDE435B7DC /* Result */, C451CAEA2200E64AF129DB404228CFA3 /* scrypt */, - 482FBE6CAF76DDD9FFD08485047346A2 /* secp256k1_ios */, + EE1D6B59A34A257EF3135B8B9F42BF8E /* secp256k1_ios */, 8D0440A372DE5585456AC37270B59B51 /* SipHash */, ); name = Pods; @@ -1558,6 +1481,83 @@ path = scrypt; sourceTree = ""; }; + D793EBB3DAA962286977E5BD97EAAB37 /* Support Files */ = { + isa = PBXGroup; + children = ( + 0ED7F0C1978F3EEA00F7A4AF09FEC2E8 /* secp256k1_ios-iOS.modulemap */, + 125189558361630DF92C53413530E3E9 /* secp256k1_ios-iOS.xcconfig */, + 6C85BA37239973340D1056F3EBC7F4F8 /* secp256k1_ios-iOS-dummy.m */, + 1A9A53F547A648B113145FD483E1572D /* secp256k1_ios-iOS-prefix.pch */, + E769D47A96005469A7B39F23E9281D6D /* secp256k1_ios-iOS-umbrella.h */, + CBD30E41FF94A920A122386C08637B7A /* secp256k1_ios-macOS.modulemap */, + 10261D7140AF8D6F9E6545BC5D894761 /* secp256k1_ios-macOS.xcconfig */, + BB8574390012E8F0C54B5B8C7A68D484 /* secp256k1_ios-macOS-dummy.m */, + 176078626D7316260BA02A61B91E5EF2 /* secp256k1_ios-macOS-prefix.pch */, + 7D4E771C1368EA72DE7D24C281E6D674 /* secp256k1_ios-macOS-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/secp256k1_ios-iOS"; + sourceTree = ""; + }; + EE1D6B59A34A257EF3135B8B9F42BF8E /* secp256k1_ios */ = { + isa = PBXGroup; + children = ( + 2468F7B4A6695BB009B5A2AE35A167C8 /* basic-config.h */, + 4EF2B2E6A827BEB4095C69760A095228 /* ecdsa.h */, + DDEB5B32B77FC78B04321FABF19FAF64 /* ecdsa_impl.h */, + F68419F17E2CC2073DDAC992BC39EF47 /* eckey.h */, + 57BE35B8EF2F430EE1A093A4E43F8243 /* eckey_impl.h */, + 5ADFA6DD652FDF2433DB8FB46C2B02CA /* ecmult.h */, + 0CCD88E197198C9C888139A0E2A2CD50 /* ecmult_const.h */, + 2A137B5E1D739B2D491F2842EFFBD559 /* ecmult_const_impl.h */, + 030837B4EF44BB6736CDF5FBF205E93E /* ecmult_gen.h */, + 506C81F04F45BF82E339BD28FB9A6252 /* ecmult_gen_impl.h */, + 413EEACF83712E321F24944C021FEB53 /* ecmult_impl.h */, + 86010FFDC0CB0732CC170A6EB5EC36A5 /* field.h */, + 16B7C824120675B47E14A2A872A6DFDC /* field_10x26.h */, + 8E865E2465317D7395EFFC3E15BE3B82 /* field_10x26_impl.h */, + 7AF087435CFE453BE94CFAE116CC7661 /* field_5x52.h */, + 07F62FD29EAB7298762C10A21294A6B1 /* field_5x52_asm_impl.h */, + 5C0825E5C07CD2AD15EADE1A4F132C24 /* field_5x52_impl.h */, + 394A497CBDC2A602E9E5A0A0E4A7C231 /* field_5x52_int128_impl.h */, + FD3FC379B5028687E388AD09CFE88832 /* field_impl.h */, + 15C56E2FA28A6BC277C2F1DF71DE010C /* group.h */, + D93F53AAD0FD5DB616A5E1C69164F0D7 /* group_impl.h */, + 7FDB2A79B118B2F003B3E6F5A708B701 /* hash.h */, + D8A60B0639785EE266ACA62D536DD199 /* hash_impl.h */, + B9BCFC62DFEA1FC233306B897C15DE84 /* lax_der_parsing.c */, + 97CA37D99BC06AE9B4704C72A22686E5 /* lax_der_parsing.h */, + EC2691B355719F37BCE2B9EB79640902 /* lax_der_privatekey_parsing.c */, + 744D68A2C1A6A6136663892BD5967CEF /* lax_der_privatekey_parsing.h */, + 2385B17AD9190A207792185ECE5CD9C7 /* libsecp256k1-config.h */, + 7C9596E2D0164256EFB0F1673E724BB1 /* main_impl.h */, + 894C3E3F18C4D842D9E35A6A69851AF0 /* main_impl.h */, + 51FFE70E98E00B14A7CEDBC9878713E7 /* num.h */, + 7399560A570538454DCA6FC42E879809 /* num_gmp.h */, + 42EA8B8CA97A07CABD4DBAC9F8610993 /* num_gmp_impl.h */, + BD07DFA1EC0FD8CF78E837D5A0051A6D /* num_impl.h */, + 778AAAE605119A0341DA4378ED873181 /* scalar.h */, + 185ADAFCE5AF39098787D861673779B8 /* scalar_4x64.h */, + DC80BC8175DF95AF5AC0777B4379466F /* scalar_4x64_impl.h */, + 4965C40E8438A02BE82C485420845345 /* scalar_8x32.h */, + 1143B8F0055C240BA0D05D50FC1CC020 /* scalar_8x32_impl.h */, + 32804240A56A511992C9AA367655CDBA /* scalar_impl.h */, + 21DDCB6C56CEF1430122DCD6370180B8 /* scalar_low.h */, + 30F699976B957E8821EB632AF092C14C /* scalar_low_impl.h */, + 8575ADFAFEFEFEDACDC32D01960AE2AB /* scratch.h */, + 33EBDEB3CCBA0EA3C7F7CB093743643E /* scratch_impl.h */, + D37DEA7A8B3EBEC27D9109471669A4BF /* secp256k1.c */, + BAD09E8EE27EB4BA87F1F0237E0D7537 /* secp256k1.h */, + F1F1BD0CE2445F35A20783082C9D4775 /* secp256k1_ecdh.h */, + 370C998F97BBB1397D09CD78C43A9919 /* secp256k1_ios.h */, + 6B7D33AF1AE938A46700885645D7B0C6 /* secp256k1_recovery.h */, + 0297F48C8677A1EAF05256ECF6AE81D5 /* util.h */, + D793EBB3DAA962286977E5BD97EAAB37 /* Support Files */, + ); + name = secp256k1_ios; + path = secp256k1_ios; + sourceTree = ""; + }; F0707F8777DDFD81A8215F12EF6547F2 /* PromiseKit */ = { isa = PBXGroup; children = ( @@ -1620,8 +1620,8 @@ 7239F0AB8B86ECA736377C06ADA831F9 /* lax_der_parsing.h in Headers */, FBCF699856A16E347AFE56DF1E4B798F /* lax_der_privatekey_parsing.h in Headers */, 1D96448F1FFF0E5449F67332C543EE32 /* libsecp256k1-config.h in Headers */, - 57A82484117095DCA73446B1E6ECFC32 /* main_impl.h in Headers */, BB91D03B628F9A7BAEE9330E7FEE58DB /* main_impl.h in Headers */, + 57A82484117095DCA73446B1E6ECFC32 /* main_impl.h in Headers */, B375AE4058EC8E7A69B2D448B7F36019 /* num.h in Headers */, E330D6002B747B8DFE92C9EF6A252AB1 /* num_gmp.h in Headers */, 40EFCF53AC23E42E8CE500F73237112F /* num_gmp_impl.h in Headers */, @@ -1717,8 +1717,8 @@ 3A0BDEA886E92E674AB63F02A38A9044 /* lax_der_parsing.h in Headers */, FA750855C8E963C8BDF3CB98B66F2223 /* lax_der_privatekey_parsing.h in Headers */, 431B4A873377BAA0B7101CA62F243F69 /* libsecp256k1-config.h in Headers */, - 70DA4C91DB3C9D2179662801D68386A0 /* main_impl.h in Headers */, 4A5F92735335EE5F55A619EDD9382812 /* main_impl.h in Headers */, + 70DA4C91DB3C9D2179662801D68386A0 /* main_impl.h in Headers */, B85578BD6CA740FA275B7FCB49ABCE30 /* num.h in Headers */, 753EBD02641E8F6F23CAC9B8BE1AB870 /* num_gmp.h in Headers */, 5378A6D7FB3F30FD0F2D5EBF728C481F /* num_gmp_impl.h in Headers */, @@ -3072,7 +3072,7 @@ /* Begin XCBuildConfiguration section */ 10094E4712902F615969B9C3AD86AA9A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 18CAB3E754AA5CC3978FFD653BC874A3 /* secp256k1_ios-iOS.xcconfig */; + baseConfigurationReference = 125189558361630DF92C53413530E3E9 /* secp256k1_ios-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3180,7 +3180,7 @@ }; 29F4C48EAEC88A7864CDB6C4FE628440 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 18CAB3E754AA5CC3978FFD653BC874A3 /* secp256k1_ios-iOS.xcconfig */; + baseConfigurationReference = 125189558361630DF92C53413530E3E9 /* secp256k1_ios-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3360,7 +3360,7 @@ }; 560816912205F95947EE5A51E4D1D47B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F5928C098D1CFB5B0E1932A24EDA49AF /* secp256k1_ios-macOS.xcconfig */; + baseConfigurationReference = 10261D7140AF8D6F9E6545BC5D894761 /* secp256k1_ios-macOS.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -3506,7 +3506,7 @@ }; 6B796AE0DE8CD6CD142647A2318DE8AF /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F5928C098D1CFB5B0E1932A24EDA49AF /* secp256k1_ios-macOS.xcconfig */; + baseConfigurationReference = 10261D7140AF8D6F9E6545BC5D894761 /* secp256k1_ios-macOS.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; From 033944b40b4b249e580d0437cb21529b0a3df808 Mon Sep 17 00:00:00 2001 From: Georgii Fesenko Date: Tue, 2 Oct 2018 13:52:53 +0300 Subject: [PATCH 57/66] one more update --- Podfile | 2 +- Podfile.lock | 4 ++-- Pods/Manifest.lock | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Podfile b/Podfile index 4d712d3eb..19b575ab6 100755 --- a/Podfile +++ b/Podfile @@ -1,6 +1,6 @@ def import_pods pod 'scrypt', '~> 2.0' - pod "PromiseKit", "~> 6.3" + pod "PromiseKit", "~> 6.4.1" pod 'BigInt', '~> 3.1' pod 'CryptoSwift', '~> 0.11' pod 'Result', '~> 4.0' diff --git a/Podfile.lock b/Podfile.lock index 03b2add5c..7c8992e0d 100755 --- a/Podfile.lock +++ b/Podfile.lock @@ -20,7 +20,7 @@ PODS: DEPENDENCIES: - BigInt (~> 3.1) - CryptoSwift (~> 0.11) - - PromiseKit (~> 6.3) + - PromiseKit (~> 6.4.1) - Result (~> 4.0) - scrypt (~> 2.0) - secp256k1_ios (from `https://github.com/shamatar/secp256k1_ios.git`) @@ -52,6 +52,6 @@ SPEC CHECKSUMS: secp256k1_ios: ac9ef04e761f43c58012b28548afa91493761f17 SipHash: fad90a4683e420c52ef28063063dbbce248ea6d4 -PODFILE CHECKSUM: f6c71566157938ba8afa59f1e6a3ffc11d709d7b +PODFILE CHECKSUM: 809fc36118e9c566db575d7ab123e35b5acc3df5 COCOAPODS: 1.6.0.beta.1 diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock index 03b2add5c..7c8992e0d 100755 --- a/Pods/Manifest.lock +++ b/Pods/Manifest.lock @@ -20,7 +20,7 @@ PODS: DEPENDENCIES: - BigInt (~> 3.1) - CryptoSwift (~> 0.11) - - PromiseKit (~> 6.3) + - PromiseKit (~> 6.4.1) - Result (~> 4.0) - scrypt (~> 2.0) - secp256k1_ios (from `https://github.com/shamatar/secp256k1_ios.git`) @@ -52,6 +52,6 @@ SPEC CHECKSUMS: secp256k1_ios: ac9ef04e761f43c58012b28548afa91493761f17 SipHash: fad90a4683e420c52ef28063063dbbce248ea6d4 -PODFILE CHECKSUM: f6c71566157938ba8afa59f1e6a3ffc11d709d7b +PODFILE CHECKSUM: 809fc36118e9c566db575d7ab123e35b5acc3df5 COCOAPODS: 1.6.0.beta.1 From f7e69dbeff35cc0a883c7e7661971b5b9c0648c6 Mon Sep 17 00:00:00 2001 From: Georgii Fesenko Date: Tue, 2 Oct 2018 13:57:43 +0300 Subject: [PATCH 58/66] pods reinstalled --- Podfile.lock | 0 Pods/BigInt/LICENSE.md | 0 Pods/BigInt/README.md | 0 Pods/BigInt/sources/Addition.swift | 0 Pods/BigInt/sources/BigInt.swift | 0 Pods/BigInt/sources/BigUInt.swift | 0 Pods/BigInt/sources/Bitwise Ops.swift | 0 Pods/BigInt/sources/Codable.swift | 0 Pods/BigInt/sources/Comparable.swift | 0 Pods/BigInt/sources/Data Conversion.swift | 0 Pods/BigInt/sources/Division.swift | 0 Pods/BigInt/sources/Exponentiation.swift | 0 .../sources/Floating Point Conversion.swift | 0 Pods/BigInt/sources/GCD.swift | 0 Pods/BigInt/sources/Hashable.swift | 0 Pods/BigInt/sources/Integer Conversion.swift | 0 Pods/BigInt/sources/Multiplication.swift | 0 Pods/BigInt/sources/Prime Test.swift | 0 Pods/BigInt/sources/Random.swift | 0 Pods/BigInt/sources/Shifts.swift | 0 Pods/BigInt/sources/Square Root.swift | 0 Pods/BigInt/sources/Strideable.swift | 0 Pods/BigInt/sources/String Conversion.swift | 0 Pods/BigInt/sources/Subtraction.swift | 0 Pods/BigInt/sources/Words and Bits.swift | 0 .../Local Podspecs/secp256k1_ios.podspec.json | 0 Pods/Manifest.lock | 0 Pods/SipHash/LICENSE.md | 0 Pods/SipHash/README.md | 0 Pods/SipHash/SipHash/Primitive Types.swift | 0 Pods/SipHash/SipHash/RandomUInt64.swift | 0 Pods/SipHash/SipHash/SipHashable.swift | 0 Pods/SipHash/SipHash/SipHasher.swift | 0 .../BigInt-iOS/BigInt-iOS-dummy.m | 0 .../BigInt-iOS/BigInt-iOS-prefix.pch | 0 .../BigInt-macOS/BigInt-macOS-dummy.m | 0 .../BigInt-macOS/BigInt-macOS-prefix.pch | 0 .../CryptoSwift-iOS/CryptoSwift-iOS-dummy.m | 0 .../CryptoSwift-iOS-prefix.pch | 0 .../CryptoSwift-macOS-dummy.m | 0 .../CryptoSwift-macOS-prefix.pch | 0 .../Pods-web3swift-iOS/Info.plist | 26 --- ...ds-web3swift-iOS-acknowledgements.markdown | 0 .../Pods-web3swift-iOS-acknowledgements.plist | 218 +++++++++++++++++- .../Pods-web3swift-iOS-dummy.m | 0 .../Pods-web3swift-iOS-resources.sh | 118 ---------- .../Pods-web3swift-iOS-umbrella.h | 0 .../Pods-web3swift-iOS.modulemap | 0 .../Pods-web3swift-iOS_Tests/Info.plist | 26 --- ...web3swift-iOS_Tests-acknowledgements.plist | 26 ++- .../Pods-web3swift-iOS_Tests-dummy.m | 0 .../Pods-web3swift-iOS_Tests-frameworks.sh | 146 ------------ .../Pods-web3swift-iOS_Tests-resources.sh | 118 ---------- .../Pods-web3swift-iOS_Tests-umbrella.h | 16 -- .../Pods-web3swift-iOS_Tests.modulemap | 6 - .../Pods-web3swift-macOS/Info.plist | 26 --- ...-web3swift-macOS-acknowledgements.markdown | 0 ...ods-web3swift-macOS-acknowledgements.plist | 218 +++++++++++++++++- .../Pods-web3swift-macOS-dummy.m | 0 .../Pods-web3swift-macOS-resources.sh | 118 ---------- .../Pods-web3swift-macOS-umbrella.h | 0 .../Pods-web3swift-macOS.modulemap | 0 .../Pods-web3swift-macOS_Tests/Info.plist | 26 --- ...b3swift-macOS_Tests-acknowledgements.plist | 26 ++- .../Pods-web3swift-macOS_Tests-dummy.m | 0 .../Pods-web3swift-macOS_Tests-frameworks.sh | 146 ------------ .../Pods-web3swift-macOS_Tests-resources.sh | 118 ---------- .../Pods-web3swift-macOS_Tests-umbrella.h | 16 -- .../Pods-web3swift-macOS_Tests.modulemap | 6 - ...iseKit.root-CorePromise-Foundation-dummy.m | 0 ...Kit.root-CorePromise-Foundation-prefix.pch | 0 .../PromiseKit/Info.plist | 26 --- .../PromiseKit/PromiseKit-dummy.m | 0 .../PromiseKit/PromiseKit-prefix.pch | 0 .../PromiseKit/PromiseKit-umbrella.h | 0 .../PromiseKit/PromiseKit.modulemap | 0 .../Result-iOS/Result-iOS-dummy.m | 0 .../Result-iOS/Result-iOS-prefix.pch | 0 .../Result-macOS/Result-macOS-dummy.m | 0 .../Result-macOS/Result-macOS-prefix.pch | 0 .../SipHash-iOS/SipHash-iOS-dummy.m | 0 .../SipHash-iOS/SipHash-iOS-prefix.pch | 0 .../SipHash-macOS/SipHash-macOS-dummy.m | 0 .../SipHash-macOS/SipHash-macOS-prefix.pch | 0 .../scrypt-iOS/scrypt-iOS-dummy.m | 0 .../scrypt-iOS/scrypt-iOS-prefix.pch | 0 .../scrypt-macOS/scrypt-macOS-dummy.m | 0 .../scrypt-macOS/scrypt-macOS-prefix.pch | 0 .../secp256k1_ios-iOS-dummy.m | 0 .../secp256k1_ios-iOS-prefix.pch | 0 .../secp256k1_ios-macOS-dummy.m | 0 .../secp256k1_ios-macOS-prefix.pch | 0 92 files changed, 484 insertions(+), 942 deletions(-) mode change 100755 => 100644 Podfile.lock mode change 100755 => 100644 Pods/BigInt/LICENSE.md mode change 100755 => 100644 Pods/BigInt/README.md mode change 100755 => 100644 Pods/BigInt/sources/Addition.swift mode change 100755 => 100644 Pods/BigInt/sources/BigInt.swift mode change 100755 => 100644 Pods/BigInt/sources/BigUInt.swift mode change 100755 => 100644 Pods/BigInt/sources/Bitwise Ops.swift mode change 100755 => 100644 Pods/BigInt/sources/Codable.swift mode change 100755 => 100644 Pods/BigInt/sources/Comparable.swift mode change 100755 => 100644 Pods/BigInt/sources/Data Conversion.swift mode change 100755 => 100644 Pods/BigInt/sources/Division.swift mode change 100755 => 100644 Pods/BigInt/sources/Exponentiation.swift mode change 100755 => 100644 Pods/BigInt/sources/Floating Point Conversion.swift mode change 100755 => 100644 Pods/BigInt/sources/GCD.swift mode change 100755 => 100644 Pods/BigInt/sources/Hashable.swift mode change 100755 => 100644 Pods/BigInt/sources/Integer Conversion.swift mode change 100755 => 100644 Pods/BigInt/sources/Multiplication.swift mode change 100755 => 100644 Pods/BigInt/sources/Prime Test.swift mode change 100755 => 100644 Pods/BigInt/sources/Random.swift mode change 100755 => 100644 Pods/BigInt/sources/Shifts.swift mode change 100755 => 100644 Pods/BigInt/sources/Square Root.swift mode change 100755 => 100644 Pods/BigInt/sources/Strideable.swift mode change 100755 => 100644 Pods/BigInt/sources/String Conversion.swift mode change 100755 => 100644 Pods/BigInt/sources/Subtraction.swift mode change 100755 => 100644 Pods/BigInt/sources/Words and Bits.swift mode change 100755 => 100644 Pods/Local Podspecs/secp256k1_ios.podspec.json mode change 100755 => 100644 Pods/Manifest.lock mode change 100755 => 100644 Pods/SipHash/LICENSE.md mode change 100755 => 100644 Pods/SipHash/README.md mode change 100755 => 100644 Pods/SipHash/SipHash/Primitive Types.swift mode change 100755 => 100644 Pods/SipHash/SipHash/RandomUInt64.swift mode change 100755 => 100644 Pods/SipHash/SipHash/SipHashable.swift mode change 100755 => 100644 Pods/SipHash/SipHash/SipHasher.swift mode change 100755 => 100644 Pods/Target Support Files/BigInt-iOS/BigInt-iOS-dummy.m mode change 100755 => 100644 Pods/Target Support Files/BigInt-iOS/BigInt-iOS-prefix.pch mode change 100755 => 100644 Pods/Target Support Files/BigInt-macOS/BigInt-macOS-dummy.m mode change 100755 => 100644 Pods/Target Support Files/BigInt-macOS/BigInt-macOS-prefix.pch mode change 100755 => 100644 Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-dummy.m mode change 100755 => 100644 Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-prefix.pch mode change 100755 => 100644 Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-dummy.m mode change 100755 => 100644 Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-prefix.pch delete mode 100755 Pods/Target Support Files/Pods-web3swift-iOS/Info.plist mode change 100755 => 100644 Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.markdown mode change 100755 => 100644 Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-dummy.m delete mode 100755 Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-resources.sh mode change 100755 => 100644 Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-umbrella.h mode change 100755 => 100644 Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.modulemap delete mode 100755 Pods/Target Support Files/Pods-web3swift-iOS_Tests/Info.plist mode change 100755 => 100644 Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-dummy.m delete mode 100755 Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-frameworks.sh delete mode 100755 Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-resources.sh delete mode 100755 Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-umbrella.h delete mode 100755 Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.modulemap delete mode 100755 Pods/Target Support Files/Pods-web3swift-macOS/Info.plist mode change 100755 => 100644 Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.markdown mode change 100755 => 100644 Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-dummy.m delete mode 100755 Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-resources.sh mode change 100755 => 100644 Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-umbrella.h mode change 100755 => 100644 Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.modulemap delete mode 100755 Pods/Target Support Files/Pods-web3swift-macOS_Tests/Info.plist mode change 100755 => 100644 Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-dummy.m delete mode 100755 Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-frameworks.sh delete mode 100755 Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-resources.sh delete mode 100755 Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-umbrella.h delete mode 100755 Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.modulemap mode change 100755 => 100644 Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-dummy.m mode change 100755 => 100644 Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch delete mode 100755 Pods/Target Support Files/PromiseKit/Info.plist mode change 100755 => 100644 Pods/Target Support Files/PromiseKit/PromiseKit-dummy.m mode change 100755 => 100644 Pods/Target Support Files/PromiseKit/PromiseKit-prefix.pch mode change 100755 => 100644 Pods/Target Support Files/PromiseKit/PromiseKit-umbrella.h mode change 100755 => 100644 Pods/Target Support Files/PromiseKit/PromiseKit.modulemap mode change 100755 => 100644 Pods/Target Support Files/Result-iOS/Result-iOS-dummy.m mode change 100755 => 100644 Pods/Target Support Files/Result-iOS/Result-iOS-prefix.pch mode change 100755 => 100644 Pods/Target Support Files/Result-macOS/Result-macOS-dummy.m mode change 100755 => 100644 Pods/Target Support Files/Result-macOS/Result-macOS-prefix.pch mode change 100755 => 100644 Pods/Target Support Files/SipHash-iOS/SipHash-iOS-dummy.m mode change 100755 => 100644 Pods/Target Support Files/SipHash-iOS/SipHash-iOS-prefix.pch mode change 100755 => 100644 Pods/Target Support Files/SipHash-macOS/SipHash-macOS-dummy.m mode change 100755 => 100644 Pods/Target Support Files/SipHash-macOS/SipHash-macOS-prefix.pch mode change 100755 => 100644 Pods/Target Support Files/scrypt-iOS/scrypt-iOS-dummy.m mode change 100755 => 100644 Pods/Target Support Files/scrypt-iOS/scrypt-iOS-prefix.pch mode change 100755 => 100644 Pods/Target Support Files/scrypt-macOS/scrypt-macOS-dummy.m mode change 100755 => 100644 Pods/Target Support Files/scrypt-macOS/scrypt-macOS-prefix.pch mode change 100755 => 100644 Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-dummy.m mode change 100755 => 100644 Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-prefix.pch mode change 100755 => 100644 Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-dummy.m mode change 100755 => 100644 Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch diff --git a/Podfile.lock b/Podfile.lock old mode 100755 new mode 100644 diff --git a/Pods/BigInt/LICENSE.md b/Pods/BigInt/LICENSE.md old mode 100755 new mode 100644 diff --git a/Pods/BigInt/README.md b/Pods/BigInt/README.md old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/Addition.swift b/Pods/BigInt/sources/Addition.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/BigInt.swift b/Pods/BigInt/sources/BigInt.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/BigUInt.swift b/Pods/BigInt/sources/BigUInt.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/Bitwise Ops.swift b/Pods/BigInt/sources/Bitwise Ops.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/Codable.swift b/Pods/BigInt/sources/Codable.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/Comparable.swift b/Pods/BigInt/sources/Comparable.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/Data Conversion.swift b/Pods/BigInt/sources/Data Conversion.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/Division.swift b/Pods/BigInt/sources/Division.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/Exponentiation.swift b/Pods/BigInt/sources/Exponentiation.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/Floating Point Conversion.swift b/Pods/BigInt/sources/Floating Point Conversion.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/GCD.swift b/Pods/BigInt/sources/GCD.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/Hashable.swift b/Pods/BigInt/sources/Hashable.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/Integer Conversion.swift b/Pods/BigInt/sources/Integer Conversion.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/Multiplication.swift b/Pods/BigInt/sources/Multiplication.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/Prime Test.swift b/Pods/BigInt/sources/Prime Test.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/Random.swift b/Pods/BigInt/sources/Random.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/Shifts.swift b/Pods/BigInt/sources/Shifts.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/Square Root.swift b/Pods/BigInt/sources/Square Root.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/Strideable.swift b/Pods/BigInt/sources/Strideable.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/String Conversion.swift b/Pods/BigInt/sources/String Conversion.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/Subtraction.swift b/Pods/BigInt/sources/Subtraction.swift old mode 100755 new mode 100644 diff --git a/Pods/BigInt/sources/Words and Bits.swift b/Pods/BigInt/sources/Words and Bits.swift old mode 100755 new mode 100644 diff --git a/Pods/Local Podspecs/secp256k1_ios.podspec.json b/Pods/Local Podspecs/secp256k1_ios.podspec.json old mode 100755 new mode 100644 diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock old mode 100755 new mode 100644 diff --git a/Pods/SipHash/LICENSE.md b/Pods/SipHash/LICENSE.md old mode 100755 new mode 100644 diff --git a/Pods/SipHash/README.md b/Pods/SipHash/README.md old mode 100755 new mode 100644 diff --git a/Pods/SipHash/SipHash/Primitive Types.swift b/Pods/SipHash/SipHash/Primitive Types.swift old mode 100755 new mode 100644 diff --git a/Pods/SipHash/SipHash/RandomUInt64.swift b/Pods/SipHash/SipHash/RandomUInt64.swift old mode 100755 new mode 100644 diff --git a/Pods/SipHash/SipHash/SipHashable.swift b/Pods/SipHash/SipHash/SipHashable.swift old mode 100755 new mode 100644 diff --git a/Pods/SipHash/SipHash/SipHasher.swift b/Pods/SipHash/SipHash/SipHasher.swift old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/BigInt-iOS/BigInt-iOS-dummy.m b/Pods/Target Support Files/BigInt-iOS/BigInt-iOS-dummy.m old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/BigInt-iOS/BigInt-iOS-prefix.pch b/Pods/Target Support Files/BigInt-iOS/BigInt-iOS-prefix.pch old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/BigInt-macOS/BigInt-macOS-dummy.m b/Pods/Target Support Files/BigInt-macOS/BigInt-macOS-dummy.m old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/BigInt-macOS/BigInt-macOS-prefix.pch b/Pods/Target Support Files/BigInt-macOS/BigInt-macOS-prefix.pch old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-dummy.m b/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-dummy.m old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-prefix.pch b/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-prefix.pch old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-dummy.m b/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-dummy.m old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-prefix.pch b/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-prefix.pch old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/Pods-web3swift-iOS/Info.plist b/Pods/Target Support Files/Pods-web3swift-iOS/Info.plist deleted file mode 100755 index 2243fe6e2..000000000 --- a/Pods/Target Support Files/Pods-web3swift-iOS/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.markdown b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.markdown old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.plist b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.plist index 7c82be473..10045e5ae 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.plist @@ -1,5 +1,221 @@ - + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + +Copyright (c) 2016-2017 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + BigInt + Type + PSGroupSpecifier + + + FooterText + Copyright (C) 2014-2017 Marcin Krzyżanowski <marcin.krzyzanowski@gmail.com> +This software is provided 'as-is', without any express or implied warranty. + +In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + +- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. +- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +- This notice may not be removed or altered from any source or binary distribution. +- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' + License + Attribution + Title + CryptoSwift + Type + PSGroupSpecifier + + + FooterText + Copyright 2016-present, Max Howell; mxcl@me.com + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + License + MIT + Title + PromiseKit + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2014 Rob Rix + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + License + MIT + Title + Result + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2016 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + SipHash + Type + PSGroupSpecifier + + + FooterText + Copyright 2018 Alex Vlasov <alex.m.vlasov@gmail.com> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + License + Apache License 2.0 + Title + scrypt + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2017 shamatar <alex.m.vlasov@gmail.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + License + MIT + Title + secp256k1_ios + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + diff --git a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-dummy.m b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-dummy.m old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-resources.sh b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-resources.sh deleted file mode 100755 index 345301f2c..000000000 --- a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-resources.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then - # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy - # resources to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES=() - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -case "${TARGETED_DEVICE_FAMILY:-}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - 3) - TARGET_DEVICE_ARGS="--target-device tv" - ;; - 4) - TARGET_DEVICE_ARGS="--target-device watch" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; -esac - -install_resource() -{ - if [[ "$1" = /* ]] ; then - RESOURCE_PATH="$1" - else - RESOURCE_PATH="${PODS_ROOT}/$1" - fi - if [[ ! -e "$RESOURCE_PATH" ]] ; then - cat << EOM -error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. -EOM - exit 1 - fi - case $RESOURCE_PATH in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true - xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" - ;; - *.xcassets) - ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" - XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") - ;; - *) - echo "$RESOURCE_PATH" || true - echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" - ;; - esac -} - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then - mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] -then - # Find all other xcassets (this unfortunately includes those of path pods and other targets). - OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) - while read line; do - if [[ $line != "${PODS_ROOT}*" ]]; then - XCASSET_FILES+=("$line") - fi - done <<<"$OTHER_XCASSETS" - - if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - else - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" - fi -fi diff --git a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-umbrella.h b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-umbrella.h old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.modulemap b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.modulemap old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Info.plist b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Info.plist deleted file mode 100755 index 2243fe6e2..000000000 --- a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.plist b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.plist index 7c82be473..7acbad1ea 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.plist @@ -1,5 +1,29 @@ - + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + diff --git a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-dummy.m b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-dummy.m old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-frameworks.sh b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-frameworks.sh deleted file mode 100755 index 08e3eaaca..000000000 --- a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-frameworks.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then - # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy - # frameworks to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" -mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - -COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" -SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" - -# Used as a return value for each invocation of `strip_invalid_archs` function. -STRIP_BINARY_RETVAL=0 - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -# Copies and strips a vendored framework -install_framework() -{ - if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then - local source="${BUILT_PRODUCTS_DIR}/$1" - elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then - local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" - elif [ -r "$1" ]; then - local source="$1" - fi - - local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - - if [ -L "${source}" ]; then - echo "Symlinked..." - source="$(readlink "${source}")" - fi - - # Use filter instead of exclude so missing patterns don't throw errors. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" - - local basename - basename="$(basename -s .framework "$1")" - binary="${destination}/${basename}.framework/${basename}" - if ! [ -r "$binary" ]; then - binary="${destination}/${basename}" - fi - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then - strip_invalid_archs "$binary" - fi - - # Resign the code if required by the build settings to avoid unstable apps - code_sign_if_enabled "${destination}/$(basename "$1")" - - # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. - if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then - local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) - for lib in $swift_runtime_libs; do - echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" - rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - code_sign_if_enabled "${destination}/${lib}" - done - fi -} - -# Copies and strips a vendored dSYM -install_dsym() { - local source="$1" - if [ -r "$source" ]; then - # Copy the dSYM into a the targets temp dir. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" - - local basename - basename="$(basename -s .framework.dSYM "$source")" - binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then - strip_invalid_archs "$binary" - fi - - if [[ $STRIP_BINARY_RETVAL == 1 ]]; then - # Move the stripped file into its final destination. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" - else - # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. - touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" - fi - fi -} - -# Signs a framework with the provided identity -code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" - - if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - code_sign_cmd="$code_sign_cmd &" - fi - echo "$code_sign_cmd" - eval "$code_sign_cmd" - fi -} - -# Strip invalid architectures -strip_invalid_archs() { - binary="$1" - # Get architectures for current target binary - binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" - # Intersect them with the architectures we are building for - intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" - # If there are no archs supported by this binary then warn the user - if [[ -z "$intersected_archs" ]]; then - echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." - STRIP_BINARY_RETVAL=0 - return - fi - stripped="" - for arch in $binary_archs; do - if ! [[ "${ARCHS}" == *"$arch"* ]]; then - # Strip non-valid architectures in-place - lipo -remove "$arch" -output "$binary" "$binary" || exit 1 - stripped="$stripped $arch" - fi - done - if [[ "$stripped" ]]; then - echo "Stripped $binary of architectures:$stripped" - fi - STRIP_BINARY_RETVAL=1 -} - -if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - wait -fi diff --git a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-resources.sh b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-resources.sh deleted file mode 100755 index 345301f2c..000000000 --- a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-resources.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then - # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy - # resources to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES=() - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -case "${TARGETED_DEVICE_FAMILY:-}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - 3) - TARGET_DEVICE_ARGS="--target-device tv" - ;; - 4) - TARGET_DEVICE_ARGS="--target-device watch" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; -esac - -install_resource() -{ - if [[ "$1" = /* ]] ; then - RESOURCE_PATH="$1" - else - RESOURCE_PATH="${PODS_ROOT}/$1" - fi - if [[ ! -e "$RESOURCE_PATH" ]] ; then - cat << EOM -error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. -EOM - exit 1 - fi - case $RESOURCE_PATH in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true - xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" - ;; - *.xcassets) - ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" - XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") - ;; - *) - echo "$RESOURCE_PATH" || true - echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" - ;; - esac -} - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then - mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] -then - # Find all other xcassets (this unfortunately includes those of path pods and other targets). - OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) - while read line; do - if [[ $line != "${PODS_ROOT}*" ]]; then - XCASSET_FILES+=("$line") - fi - done <<<"$OTHER_XCASSETS" - - if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - else - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" - fi -fi diff --git a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-umbrella.h b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-umbrella.h deleted file mode 100755 index cd2e38b39..000000000 --- a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double Pods_web3swift_iOS_TestsVersionNumber; -FOUNDATION_EXPORT const unsigned char Pods_web3swift_iOS_TestsVersionString[]; - diff --git a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.modulemap b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.modulemap deleted file mode 100755 index ec263e9a3..000000000 --- a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -module Pods_web3swift_iOS_Tests { - umbrella header "Pods-web3swift-iOS_Tests-umbrella.h" - - export * - module * { export * } -} diff --git a/Pods/Target Support Files/Pods-web3swift-macOS/Info.plist b/Pods/Target Support Files/Pods-web3swift-macOS/Info.plist deleted file mode 100755 index 2243fe6e2..000000000 --- a/Pods/Target Support Files/Pods-web3swift-macOS/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.markdown b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.markdown old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.plist b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.plist index 7c82be473..10045e5ae 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.plist @@ -1,5 +1,221 @@ - + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + +Copyright (c) 2016-2017 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + BigInt + Type + PSGroupSpecifier + + + FooterText + Copyright (C) 2014-2017 Marcin Krzyżanowski <marcin.krzyzanowski@gmail.com> +This software is provided 'as-is', without any express or implied warranty. + +In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + +- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. +- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +- This notice may not be removed or altered from any source or binary distribution. +- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' + License + Attribution + Title + CryptoSwift + Type + PSGroupSpecifier + + + FooterText + Copyright 2016-present, Max Howell; mxcl@me.com + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + License + MIT + Title + PromiseKit + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2014 Rob Rix + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + License + MIT + Title + Result + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2016 Károly Lőrentey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + SipHash + Type + PSGroupSpecifier + + + FooterText + Copyright 2018 Alex Vlasov <alex.m.vlasov@gmail.com> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + License + Apache License 2.0 + Title + scrypt + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2017 shamatar <alex.m.vlasov@gmail.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + License + MIT + Title + secp256k1_ios + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + diff --git a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-dummy.m b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-dummy.m old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-resources.sh b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-resources.sh deleted file mode 100755 index 345301f2c..000000000 --- a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-resources.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then - # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy - # resources to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES=() - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -case "${TARGETED_DEVICE_FAMILY:-}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - 3) - TARGET_DEVICE_ARGS="--target-device tv" - ;; - 4) - TARGET_DEVICE_ARGS="--target-device watch" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; -esac - -install_resource() -{ - if [[ "$1" = /* ]] ; then - RESOURCE_PATH="$1" - else - RESOURCE_PATH="${PODS_ROOT}/$1" - fi - if [[ ! -e "$RESOURCE_PATH" ]] ; then - cat << EOM -error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. -EOM - exit 1 - fi - case $RESOURCE_PATH in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true - xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" - ;; - *.xcassets) - ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" - XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") - ;; - *) - echo "$RESOURCE_PATH" || true - echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" - ;; - esac -} - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then - mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] -then - # Find all other xcassets (this unfortunately includes those of path pods and other targets). - OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) - while read line; do - if [[ $line != "${PODS_ROOT}*" ]]; then - XCASSET_FILES+=("$line") - fi - done <<<"$OTHER_XCASSETS" - - if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - else - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" - fi -fi diff --git a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-umbrella.h b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-umbrella.h old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.modulemap b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.modulemap old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Info.plist b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Info.plist deleted file mode 100755 index 2243fe6e2..000000000 --- a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.plist b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.plist index 7c82be473..7acbad1ea 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.plist @@ -1,5 +1,29 @@ - + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + diff --git a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-dummy.m b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-dummy.m old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-frameworks.sh b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-frameworks.sh deleted file mode 100755 index 08e3eaaca..000000000 --- a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-frameworks.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then - # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy - # frameworks to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" -mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - -COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" -SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" - -# Used as a return value for each invocation of `strip_invalid_archs` function. -STRIP_BINARY_RETVAL=0 - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -# Copies and strips a vendored framework -install_framework() -{ - if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then - local source="${BUILT_PRODUCTS_DIR}/$1" - elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then - local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" - elif [ -r "$1" ]; then - local source="$1" - fi - - local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - - if [ -L "${source}" ]; then - echo "Symlinked..." - source="$(readlink "${source}")" - fi - - # Use filter instead of exclude so missing patterns don't throw errors. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" - - local basename - basename="$(basename -s .framework "$1")" - binary="${destination}/${basename}.framework/${basename}" - if ! [ -r "$binary" ]; then - binary="${destination}/${basename}" - fi - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then - strip_invalid_archs "$binary" - fi - - # Resign the code if required by the build settings to avoid unstable apps - code_sign_if_enabled "${destination}/$(basename "$1")" - - # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. - if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then - local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) - for lib in $swift_runtime_libs; do - echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" - rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - code_sign_if_enabled "${destination}/${lib}" - done - fi -} - -# Copies and strips a vendored dSYM -install_dsym() { - local source="$1" - if [ -r "$source" ]; then - # Copy the dSYM into a the targets temp dir. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" - - local basename - basename="$(basename -s .framework.dSYM "$source")" - binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then - strip_invalid_archs "$binary" - fi - - if [[ $STRIP_BINARY_RETVAL == 1 ]]; then - # Move the stripped file into its final destination. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" - else - # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. - touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" - fi - fi -} - -# Signs a framework with the provided identity -code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" - - if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - code_sign_cmd="$code_sign_cmd &" - fi - echo "$code_sign_cmd" - eval "$code_sign_cmd" - fi -} - -# Strip invalid architectures -strip_invalid_archs() { - binary="$1" - # Get architectures for current target binary - binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" - # Intersect them with the architectures we are building for - intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" - # If there are no archs supported by this binary then warn the user - if [[ -z "$intersected_archs" ]]; then - echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." - STRIP_BINARY_RETVAL=0 - return - fi - stripped="" - for arch in $binary_archs; do - if ! [[ "${ARCHS}" == *"$arch"* ]]; then - # Strip non-valid architectures in-place - lipo -remove "$arch" -output "$binary" "$binary" || exit 1 - stripped="$stripped $arch" - fi - done - if [[ "$stripped" ]]; then - echo "Stripped $binary of architectures:$stripped" - fi - STRIP_BINARY_RETVAL=1 -} - -if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - wait -fi diff --git a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-resources.sh b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-resources.sh deleted file mode 100755 index 345301f2c..000000000 --- a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-resources.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then - # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy - # resources to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES=() - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -case "${TARGETED_DEVICE_FAMILY:-}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - 3) - TARGET_DEVICE_ARGS="--target-device tv" - ;; - 4) - TARGET_DEVICE_ARGS="--target-device watch" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; -esac - -install_resource() -{ - if [[ "$1" = /* ]] ; then - RESOURCE_PATH="$1" - else - RESOURCE_PATH="${PODS_ROOT}/$1" - fi - if [[ ! -e "$RESOURCE_PATH" ]] ; then - cat << EOM -error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. -EOM - exit 1 - fi - case $RESOURCE_PATH in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true - xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" - ;; - *.xcassets) - ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" - XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") - ;; - *) - echo "$RESOURCE_PATH" || true - echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" - ;; - esac -} - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then - mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] -then - # Find all other xcassets (this unfortunately includes those of path pods and other targets). - OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) - while read line; do - if [[ $line != "${PODS_ROOT}*" ]]; then - XCASSET_FILES+=("$line") - fi - done <<<"$OTHER_XCASSETS" - - if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - else - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" - fi -fi diff --git a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-umbrella.h b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-umbrella.h deleted file mode 100755 index 4d1321871..000000000 --- a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double Pods_web3swift_macOS_TestsVersionNumber; -FOUNDATION_EXPORT const unsigned char Pods_web3swift_macOS_TestsVersionString[]; - diff --git a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.modulemap b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.modulemap deleted file mode 100755 index 650cf4caf..000000000 --- a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -module Pods_web3swift_macOS_Tests { - umbrella header "Pods-web3swift-macOS_Tests-umbrella.h" - - export * - module * { export * } -} diff --git a/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-dummy.m b/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-dummy.m old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch b/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/PromiseKit/Info.plist b/Pods/Target Support Files/PromiseKit/Info.plist deleted file mode 100755 index 640615065..000000000 --- a/Pods/Target Support Files/PromiseKit/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 6.3.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Pods/Target Support Files/PromiseKit/PromiseKit-dummy.m b/Pods/Target Support Files/PromiseKit/PromiseKit-dummy.m old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/PromiseKit/PromiseKit-prefix.pch b/Pods/Target Support Files/PromiseKit/PromiseKit-prefix.pch old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/PromiseKit/PromiseKit-umbrella.h b/Pods/Target Support Files/PromiseKit/PromiseKit-umbrella.h old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/PromiseKit/PromiseKit.modulemap b/Pods/Target Support Files/PromiseKit/PromiseKit.modulemap old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/Result-iOS/Result-iOS-dummy.m b/Pods/Target Support Files/Result-iOS/Result-iOS-dummy.m old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/Result-iOS/Result-iOS-prefix.pch b/Pods/Target Support Files/Result-iOS/Result-iOS-prefix.pch old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/Result-macOS/Result-macOS-dummy.m b/Pods/Target Support Files/Result-macOS/Result-macOS-dummy.m old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/Result-macOS/Result-macOS-prefix.pch b/Pods/Target Support Files/Result-macOS/Result-macOS-prefix.pch old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/SipHash-iOS/SipHash-iOS-dummy.m b/Pods/Target Support Files/SipHash-iOS/SipHash-iOS-dummy.m old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/SipHash-iOS/SipHash-iOS-prefix.pch b/Pods/Target Support Files/SipHash-iOS/SipHash-iOS-prefix.pch old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/SipHash-macOS/SipHash-macOS-dummy.m b/Pods/Target Support Files/SipHash-macOS/SipHash-macOS-dummy.m old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/SipHash-macOS/SipHash-macOS-prefix.pch b/Pods/Target Support Files/SipHash-macOS/SipHash-macOS-prefix.pch old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/scrypt-iOS/scrypt-iOS-dummy.m b/Pods/Target Support Files/scrypt-iOS/scrypt-iOS-dummy.m old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/scrypt-iOS/scrypt-iOS-prefix.pch b/Pods/Target Support Files/scrypt-iOS/scrypt-iOS-prefix.pch old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/scrypt-macOS/scrypt-macOS-dummy.m b/Pods/Target Support Files/scrypt-macOS/scrypt-macOS-dummy.m old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/scrypt-macOS/scrypt-macOS-prefix.pch b/Pods/Target Support Files/scrypt-macOS/scrypt-macOS-prefix.pch old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-dummy.m b/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-dummy.m old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-prefix.pch b/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-prefix.pch old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-dummy.m b/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-dummy.m old mode 100755 new mode 100644 diff --git a/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch b/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch old mode 100755 new mode 100644 From 69cd72aca6889632a8935f398590ca4e49030f17 Mon Sep 17 00:00:00 2001 From: Georgii Fesenko Date: Tue, 2 Oct 2018 14:02:55 +0300 Subject: [PATCH 59/66] trying to fix Travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 9cdc3967e..d0940bea2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ xcode_scheme: web3swift-iOS xcode_destination: platform=iOS Simulator, OS=12.0, name=iPhone X before_install: - gem install cocoapods --pre --no-rdoc --no-ri --no-document --quiet - - pod install + - pod install --repo-update script: - xcodebuild -scheme web3swift-iOS -workspace web3swift.xcworkspace -sdk iphonesimulator build test after_success: From ddaa43eb77d025b4c5d32fc3517b15317f3fe7bd Mon Sep 17 00:00:00 2001 From: Alex Vlasov Date: Thu, 4 Oct 2018 16:22:26 +0300 Subject: [PATCH 60/66] Start splitting to modules that can be reused by other libraries --- .gitignore | 2 +- Podfile | 5 +- Podfile.lock | 25 +- Pods/Headers/Private/SwiftRLP/SwiftRLP.h | 1 + .../Private/secp256k1_ios/basic-config.h | 1 - Pods/Headers/Private/secp256k1_ios/ecdsa.h | 1 - .../Private/secp256k1_ios/ecdsa_impl.h | 1 - Pods/Headers/Private/secp256k1_ios/eckey.h | 1 - .../Private/secp256k1_ios/eckey_impl.h | 1 - Pods/Headers/Private/secp256k1_ios/ecmult.h | 1 - .../Private/secp256k1_ios/ecmult_const.h | 1 - .../Private/secp256k1_ios/ecmult_const_impl.h | 1 - .../Private/secp256k1_ios/ecmult_gen.h | 1 - .../Private/secp256k1_ios/ecmult_gen_impl.h | 1 - .../Private/secp256k1_ios/ecmult_impl.h | 1 - Pods/Headers/Private/secp256k1_ios/field.h | 1 - .../Private/secp256k1_ios/field_10x26.h | 1 - .../Private/secp256k1_ios/field_10x26_impl.h | 1 - .../Private/secp256k1_ios/field_5x52.h | 1 - .../secp256k1_ios/field_5x52_asm_impl.h | 1 - .../Private/secp256k1_ios/field_5x52_impl.h | 1 - .../secp256k1_ios/field_5x52_int128_impl.h | 1 - .../Private/secp256k1_ios/field_impl.h | 1 - Pods/Headers/Private/secp256k1_ios/group.h | 1 - .../Private/secp256k1_ios/group_impl.h | 1 - Pods/Headers/Private/secp256k1_ios/hash.h | 1 - .../Headers/Private/secp256k1_ios/hash_impl.h | 1 - .../Private/secp256k1_ios/lax_der_parsing.h | 1 - .../lax_der_privatekey_parsing.h | 1 - .../secp256k1_ios/libsecp256k1-config.h | 1 - .../Headers/Private/secp256k1_ios/main_impl.h | 1 - Pods/Headers/Private/secp256k1_ios/num.h | 1 - Pods/Headers/Private/secp256k1_ios/num_gmp.h | 1 - .../Private/secp256k1_ios/num_gmp_impl.h | 1 - Pods/Headers/Private/secp256k1_ios/num_impl.h | 1 - Pods/Headers/Private/secp256k1_ios/scalar.h | 1 - .../Private/secp256k1_ios/scalar_4x64.h | 1 - .../Private/secp256k1_ios/scalar_4x64_impl.h | 1 - .../Private/secp256k1_ios/scalar_8x32.h | 1 - .../Private/secp256k1_ios/scalar_8x32_impl.h | 1 - .../Private/secp256k1_ios/scalar_impl.h | 1 - .../Private/secp256k1_ios/scalar_low.h | 1 - .../Private/secp256k1_ios/scalar_low_impl.h | 1 - Pods/Headers/Private/secp256k1_ios/scratch.h | 1 - .../Private/secp256k1_ios/scratch_impl.h | 1 - .../Headers/Private/secp256k1_ios/secp256k1.h | 1 - .../Private/secp256k1_ios/secp256k1_ecdh.h | 1 - .../Private/secp256k1_ios/secp256k1_ios.h | 1 - .../secp256k1_ios/secp256k1_recovery.h | 1 - Pods/Headers/Private/secp256k1_ios/util.h | 1 - .../Private/secp256k1_swift/basic-config.h | 1 + Pods/Headers/Private/secp256k1_swift/ecdsa.h | 1 + .../Private/secp256k1_swift/ecdsa_impl.h | 1 + Pods/Headers/Private/secp256k1_swift/eckey.h | 1 + .../Private/secp256k1_swift/eckey_impl.h | 1 + Pods/Headers/Private/secp256k1_swift/ecmult.h | 1 + .../Private/secp256k1_swift/ecmult_const.h | 1 + .../secp256k1_swift/ecmult_const_impl.h | 1 + .../Private/secp256k1_swift/ecmult_gen.h | 1 + .../Private/secp256k1_swift/ecmult_gen_impl.h | 1 + .../Private/secp256k1_swift/ecmult_impl.h | 1 + Pods/Headers/Private/secp256k1_swift/field.h | 1 + .../Private/secp256k1_swift/field_10x26.h | 1 + .../secp256k1_swift/field_10x26_impl.h | 1 + .../Private/secp256k1_swift/field_5x52.h | 1 + .../secp256k1_swift/field_5x52_asm_impl.h | 1 + .../Private/secp256k1_swift/field_5x52_impl.h | 1 + .../secp256k1_swift/field_5x52_int128_impl.h | 1 + .../Private/secp256k1_swift/field_impl.h | 1 + Pods/Headers/Private/secp256k1_swift/group.h | 1 + .../Private/secp256k1_swift/group_impl.h | 1 + Pods/Headers/Private/secp256k1_swift/hash.h | 1 + .../Private/secp256k1_swift/hash_impl.h | 1 + .../Private/secp256k1_swift/lax_der_parsing.h | 1 + .../lax_der_privatekey_parsing.h | 1 + .../secp256k1_swift/libsecp256k1-config.h | 1 + .../Private/secp256k1_swift/main_impl.h | 1 + Pods/Headers/Private/secp256k1_swift/num.h | 1 + .../Headers/Private/secp256k1_swift/num_gmp.h | 1 + .../Private/secp256k1_swift/num_gmp_impl.h | 1 + .../Private/secp256k1_swift/num_impl.h | 1 + Pods/Headers/Private/secp256k1_swift/scalar.h | 1 + .../Private/secp256k1_swift/scalar_4x64.h | 1 + .../secp256k1_swift/scalar_4x64_impl.h | 1 + .../Private/secp256k1_swift/scalar_8x32.h | 1 + .../secp256k1_swift/scalar_8x32_impl.h | 1 + .../Private/secp256k1_swift/scalar_impl.h | 1 + .../Private/secp256k1_swift/scalar_low.h | 1 + .../Private/secp256k1_swift/scalar_low_impl.h | 1 + .../Headers/Private/secp256k1_swift/scratch.h | 1 + .../Private/secp256k1_swift/scratch_impl.h | 1 + .../Private/secp256k1_swift/secp256k1.h | 1 + .../Private/secp256k1_swift/secp256k1_ecdh.h | 1 + .../secp256k1_swift/secp256k1_recovery.h | 1 + Pods/Headers/Private/secp256k1_swift/util.h | 1 + .../Public/BigInt/BigInt-iOS-umbrella.h | 2 +- .../Public/BigInt/BigInt-iOS.modulemap | 2 +- .../Public/BigInt/BigInt-macOS-umbrella.h | 2 +- .../Public/BigInt/BigInt-macOS.modulemap | 2 +- .../CryptoSwift/CryptoSwift-iOS-umbrella.h | 2 +- .../CryptoSwift/CryptoSwift-iOS.modulemap | 2 +- .../CryptoSwift/CryptoSwift-macOS-umbrella.h | 2 +- .../CryptoSwift/CryptoSwift-macOS.modulemap | 2 +- .../Public/PromiseKit/PromiseKit-umbrella.h | 2 +- .../Public/PromiseKit/PromiseKit.modulemap | 2 +- ...Kit.root-CorePromise-Foundation-umbrella.h | 2 +- ...eKit.root-CorePromise-Foundation.modulemap | 2 +- .../Public/Result/Result-iOS-umbrella.h | 2 +- .../Public/Result/Result-iOS.modulemap | 2 +- .../Public/Result/Result-macOS-umbrella.h | 2 +- .../Public/Result/Result-macOS.modulemap | 2 +- .../Public/SipHash/SipHash-iOS-umbrella.h | 2 +- .../Public/SipHash/SipHash-iOS.modulemap | 2 +- .../Public/SipHash/SipHash-macOS-umbrella.h | 2 +- .../Public/SipHash/SipHash-macOS.modulemap | 2 +- .../Public/SwiftRLP/SwiftRLP-iOS-umbrella.h | 1 + .../Public/SwiftRLP/SwiftRLP-iOS.modulemap | 1 + .../Public/SwiftRLP/SwiftRLP-macOS-umbrella.h | 1 + .../Public/SwiftRLP/SwiftRLP-macOS.modulemap | 1 + Pods/Headers/Public/SwiftRLP/SwiftRLP.h | 1 + .../Public/scrypt/scrypt-iOS-umbrella.h | 2 +- .../Public/scrypt/scrypt-iOS.modulemap | 2 +- .../Public/scrypt/scrypt-macOS-umbrella.h | 2 +- .../Public/scrypt/scrypt-macOS.modulemap | 2 +- Pods/Headers/Public/secp256k1_ios/secp256k1.h | 1 - .../Public/secp256k1_ios/secp256k1_ecdh.h | 1 - .../secp256k1_ios-iOS-umbrella.h | 1 - .../secp256k1_ios/secp256k1_ios-iOS.modulemap | 1 - .../secp256k1_ios-macOS-umbrella.h | 1 - .../secp256k1_ios-macOS.modulemap | 1 - .../Public/secp256k1_ios/secp256k1_recovery.h | 1 - .../Public/secp256k1_swift/secp256k1.h | 1 + .../Public/secp256k1_swift/secp256k1_ecdh.h | 1 + .../secp256k1_swift/secp256k1_recovery.h | 1 + .../secp256k1_swift-iOS-umbrella.h | 1 + .../secp256k1_swift-iOS.modulemap | 1 + .../secp256k1_swift-macOS-umbrella.h | 1 + .../secp256k1_swift-macOS.modulemap | 1 + .../Local Podspecs/secp256k1_ios.podspec.json | 46 - Pods/Manifest.lock | 25 +- Pods/Pods.xcodeproj/project.pbxproj | 4409 +++++++++-------- Pods/SwiftRLP/Classes/RLP.swift | 384 ++ Pods/SwiftRLP/LICENSE | 13 + Pods/SwiftRLP/SwiftRLP/SwiftRLP.h | 21 + ...ds-web3swift-iOS-acknowledgements.markdown | 46 +- .../Pods-web3swift-iOS-acknowledgements.plist | 218 +- .../Pods-web3swift-iOS.debug.xcconfig | 12 +- .../Pods-web3swift-iOS.release.xcconfig | 12 +- ...web3swift-iOS_Tests-acknowledgements.plist | 26 +- .../Pods-web3swift-iOS_Tests.debug.xcconfig | 8 +- .../Pods-web3swift-iOS_Tests.release.xcconfig | 8 +- ...-web3swift-macOS-acknowledgements.markdown | 46 +- ...ods-web3swift-macOS-acknowledgements.plist | 218 +- .../Pods-web3swift-macOS.debug.xcconfig | 12 +- .../Pods-web3swift-macOS.release.xcconfig | 12 +- ...b3swift-macOS_Tests-acknowledgements.plist | 26 +- .../Pods-web3swift-macOS_Tests.debug.xcconfig | 8 +- ...ods-web3swift-macOS_Tests.release.xcconfig | 8 +- .../SwiftRLP-iOS/SwiftRLP-iOS-dummy.m | 5 + .../SwiftRLP-iOS/SwiftRLP-iOS-umbrella.h | 17 + .../SwiftRLP-iOS/SwiftRLP-iOS.modulemap | 7 + .../SwiftRLP-iOS/SwiftRLP-iOS.xcconfig | 13 + .../SwiftRLP-macOS/SwiftRLP-macOS-dummy.m | 5 + .../SwiftRLP-macOS/SwiftRLP-macOS-umbrella.h | 17 + .../SwiftRLP-macOS/SwiftRLP-macOS.modulemap | 7 + .../SwiftRLP-macOS/SwiftRLP-macOS.xcconfig | 13 + .../secp256k1_ios-iOS-dummy.m | 5 - .../secp256k1_ios-iOS.modulemap | 7 - .../secp256k1_ios-macOS-dummy.m | 5 - .../secp256k1_ios-macOS.modulemap | 7 - .../secp256k1_swift-iOS-dummy.m | 5 + .../secp256k1_swift-iOS-prefix.pch | 12 + .../secp256k1_swift-iOS.modulemap | 7 + .../secp256k1_swift-macOS-dummy.m | 5 + .../secp256k1_swift-macOS-prefix.pch | 12 + .../secp256k1_swift-macOS.modulemap | 7 + Pods/secp256k1_ios/LICENSE | 19 - Pods/secp256k1_ios/README.md | 32 - .../secp256k1_ios/secp256k1_ios.h | 17 - Pods/secp256k1_swift/LICENSE | 13 + Pods/secp256k1_swift/README.md | 8 + web3swift.podspec | 5 +- web3swift.xcodeproj/project.pbxproj | 12 - .../Classes/CryptoExtensions.swift | 28 - .../Classes/Web3+BrowserFunctions.swift | 1 + .../KeystoreManager/Classes/BIP32HDNode.swift | 1 + .../Classes/EthereumKeystoreV3.swift | 1 + .../Classes/PlainKeystore.swift | 1 + .../JSONRPCrequestDispatcher+ObjC.swift | 2 +- .../Classes/EthereumTransaction.swift | 2 + .../Classes/TransactionSigner.swift | 1 + web3swift/Web3/Classes/Web3+Utils.swift | 10 +- web3swiftTests/web3swift_RLP_Tests.swift | 132 - 193 files changed, 3220 insertions(+), 2970 deletions(-) create mode 120000 Pods/Headers/Private/SwiftRLP/SwiftRLP.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/basic-config.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/ecdsa.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/ecdsa_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/eckey.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/eckey_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/ecmult.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/ecmult_const.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/ecmult_const_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/ecmult_gen.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/ecmult_gen_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/ecmult_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/field.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/field_10x26.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/field_10x26_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/field_5x52.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/field_5x52_asm_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/field_5x52_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/field_5x52_int128_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/field_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/group.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/group_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/hash.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/hash_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/lax_der_parsing.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/lax_der_privatekey_parsing.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/libsecp256k1-config.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/main_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/num.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/num_gmp.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/num_gmp_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/num_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/scalar.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/scalar_4x64.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/scalar_4x64_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/scalar_8x32.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/scalar_8x32_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/scalar_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/scalar_low.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/scalar_low_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/scratch.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/scratch_impl.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/secp256k1.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/secp256k1_ecdh.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/secp256k1_ios.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/secp256k1_recovery.h delete mode 120000 Pods/Headers/Private/secp256k1_ios/util.h create mode 120000 Pods/Headers/Private/secp256k1_swift/basic-config.h create mode 120000 Pods/Headers/Private/secp256k1_swift/ecdsa.h create mode 120000 Pods/Headers/Private/secp256k1_swift/ecdsa_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/eckey.h create mode 120000 Pods/Headers/Private/secp256k1_swift/eckey_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/ecmult.h create mode 120000 Pods/Headers/Private/secp256k1_swift/ecmult_const.h create mode 120000 Pods/Headers/Private/secp256k1_swift/ecmult_const_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/ecmult_gen.h create mode 120000 Pods/Headers/Private/secp256k1_swift/ecmult_gen_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/ecmult_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/field.h create mode 120000 Pods/Headers/Private/secp256k1_swift/field_10x26.h create mode 120000 Pods/Headers/Private/secp256k1_swift/field_10x26_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/field_5x52.h create mode 120000 Pods/Headers/Private/secp256k1_swift/field_5x52_asm_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/field_5x52_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/field_5x52_int128_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/field_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/group.h create mode 120000 Pods/Headers/Private/secp256k1_swift/group_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/hash.h create mode 120000 Pods/Headers/Private/secp256k1_swift/hash_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/lax_der_parsing.h create mode 120000 Pods/Headers/Private/secp256k1_swift/lax_der_privatekey_parsing.h create mode 120000 Pods/Headers/Private/secp256k1_swift/libsecp256k1-config.h create mode 120000 Pods/Headers/Private/secp256k1_swift/main_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/num.h create mode 120000 Pods/Headers/Private/secp256k1_swift/num_gmp.h create mode 120000 Pods/Headers/Private/secp256k1_swift/num_gmp_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/num_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/scalar.h create mode 120000 Pods/Headers/Private/secp256k1_swift/scalar_4x64.h create mode 120000 Pods/Headers/Private/secp256k1_swift/scalar_4x64_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/scalar_8x32.h create mode 120000 Pods/Headers/Private/secp256k1_swift/scalar_8x32_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/scalar_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/scalar_low.h create mode 120000 Pods/Headers/Private/secp256k1_swift/scalar_low_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/scratch.h create mode 120000 Pods/Headers/Private/secp256k1_swift/scratch_impl.h create mode 120000 Pods/Headers/Private/secp256k1_swift/secp256k1.h create mode 120000 Pods/Headers/Private/secp256k1_swift/secp256k1_ecdh.h create mode 120000 Pods/Headers/Private/secp256k1_swift/secp256k1_recovery.h create mode 120000 Pods/Headers/Private/secp256k1_swift/util.h create mode 120000 Pods/Headers/Public/SwiftRLP/SwiftRLP-iOS-umbrella.h create mode 120000 Pods/Headers/Public/SwiftRLP/SwiftRLP-iOS.modulemap create mode 120000 Pods/Headers/Public/SwiftRLP/SwiftRLP-macOS-umbrella.h create mode 120000 Pods/Headers/Public/SwiftRLP/SwiftRLP-macOS.modulemap create mode 120000 Pods/Headers/Public/SwiftRLP/SwiftRLP.h delete mode 120000 Pods/Headers/Public/secp256k1_ios/secp256k1.h delete mode 120000 Pods/Headers/Public/secp256k1_ios/secp256k1_ecdh.h delete mode 120000 Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h delete mode 120000 Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap delete mode 120000 Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h delete mode 120000 Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap delete mode 120000 Pods/Headers/Public/secp256k1_ios/secp256k1_recovery.h create mode 120000 Pods/Headers/Public/secp256k1_swift/secp256k1.h create mode 120000 Pods/Headers/Public/secp256k1_swift/secp256k1_ecdh.h create mode 120000 Pods/Headers/Public/secp256k1_swift/secp256k1_recovery.h create mode 120000 Pods/Headers/Public/secp256k1_swift/secp256k1_swift-iOS-umbrella.h create mode 120000 Pods/Headers/Public/secp256k1_swift/secp256k1_swift-iOS.modulemap create mode 120000 Pods/Headers/Public/secp256k1_swift/secp256k1_swift-macOS-umbrella.h create mode 120000 Pods/Headers/Public/secp256k1_swift/secp256k1_swift-macOS.modulemap delete mode 100644 Pods/Local Podspecs/secp256k1_ios.podspec.json create mode 100644 Pods/SwiftRLP/Classes/RLP.swift create mode 100644 Pods/SwiftRLP/LICENSE create mode 100644 Pods/SwiftRLP/SwiftRLP/SwiftRLP.h create mode 100644 Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS-dummy.m create mode 100644 Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS-umbrella.h create mode 100644 Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS.modulemap create mode 100644 Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS.xcconfig create mode 100644 Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS-dummy.m create mode 100644 Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS-umbrella.h create mode 100644 Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS.modulemap create mode 100644 Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS.xcconfig delete mode 100644 Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-dummy.m delete mode 100644 Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.modulemap delete mode 100644 Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-dummy.m delete mode 100644 Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.modulemap create mode 100644 Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS-dummy.m create mode 100644 Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS-prefix.pch create mode 100644 Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS.modulemap create mode 100644 Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS-dummy.m create mode 100644 Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS-prefix.pch create mode 100644 Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS.modulemap delete mode 100644 Pods/secp256k1_ios/LICENSE delete mode 100644 Pods/secp256k1_ios/README.md delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/secp256k1_ios.h create mode 100755 Pods/secp256k1_swift/LICENSE create mode 100755 Pods/secp256k1_swift/README.md diff --git a/.gitignore b/.gitignore index 814b5f7dd..268135e69 100755 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,7 @@ ## Build generated build/ DerivedData/ - +.build ## Various settings *.pbxuser !default.pbxuser diff --git a/Podfile b/Podfile index 19b575ab6..97391059e 100755 --- a/Podfile +++ b/Podfile @@ -2,9 +2,10 @@ def import_pods pod 'scrypt', '~> 2.0' pod "PromiseKit", "~> 6.4.1" pod 'BigInt', '~> 3.1' - pod 'CryptoSwift', '~> 0.11' + pod 'CryptoSwift', '~> 0.12' pod 'Result', '~> 4.0' - pod 'secp256k1_ios', :git => 'https://github.com/shamatar/secp256k1_ios.git', :modular_headers => true + pod 'secp256k1_swift', '~> 1.0.2', :modular_headers => true + pod 'SwiftRLP', '~> 1.0.1' end target 'web3swift-macOS' do diff --git a/Podfile.lock b/Podfile.lock index 7c8992e0d..6fb4da11f 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -14,16 +14,19 @@ PODS: - Result (4.0.0) - scrypt (2.0): - CryptoSwift (~> 0.11) - - secp256k1_ios (0.1.3) + - secp256k1_swift (1.0.2) - SipHash (1.2.2) + - SwiftRLP (1.0.1): + - BigInt (~> 3.1) DEPENDENCIES: - BigInt (~> 3.1) - - CryptoSwift (~> 0.11) + - CryptoSwift (~> 0.12) - PromiseKit (~> 6.4.1) - Result (~> 4.0) - scrypt (~> 2.0) - - secp256k1_ios (from `https://github.com/shamatar/secp256k1_ios.git`) + - secp256k1_swift (~> 1.0.2) + - SwiftRLP (~> 1.0.1) SPEC REPOS: https://github.com/cocoapods/specs.git: @@ -32,16 +35,9 @@ SPEC REPOS: - PromiseKit - Result - scrypt + - secp256k1_swift - SipHash - -EXTERNAL SOURCES: - secp256k1_ios: - :git: https://github.com/shamatar/secp256k1_ios.git - -CHECKOUT OPTIONS: - secp256k1_ios: - :commit: e3ab3e26fafc3688436528f2ca24cc679c7d746e - :git: https://github.com/shamatar/secp256k1_ios.git + - SwiftRLP SPEC CHECKSUMS: BigInt: 76b5dfdfa3e2e478d4ffdf161aeede5502e2742f @@ -49,9 +45,10 @@ SPEC CHECKSUMS: PromiseKit: 4c76a6506638034e3d7bede97b2ff7743f7bd2dc Result: 7645bb3f50c2ce726dd0ff2fa7b6f42bbe6c3713 scrypt: 3fe5b1a3b0976f97cd87488673a8f7c65708cc84 - secp256k1_ios: ac9ef04e761f43c58012b28548afa91493761f17 + secp256k1_swift: 1e6ac4ee77fbef7f97f87e096a918a1248b8c4f6 SipHash: fad90a4683e420c52ef28063063dbbce248ea6d4 + SwiftRLP: 9de2c9512a9a6bf0909cd84cc143a7ff1aff7820 -PODFILE CHECKSUM: 809fc36118e9c566db575d7ab123e35b5acc3df5 +PODFILE CHECKSUM: bce98dcdfceae57faa2cd3bcb3d595f16beaad0b COCOAPODS: 1.6.0.beta.1 diff --git a/Pods/Headers/Private/SwiftRLP/SwiftRLP.h b/Pods/Headers/Private/SwiftRLP/SwiftRLP.h new file mode 120000 index 000000000..a403a2602 --- /dev/null +++ b/Pods/Headers/Private/SwiftRLP/SwiftRLP.h @@ -0,0 +1 @@ +../../../SwiftRLP/SwiftRLP/SwiftRLP.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/basic-config.h b/Pods/Headers/Private/secp256k1_ios/basic-config.h deleted file mode 120000 index 350c92ddf..000000000 --- a/Pods/Headers/Private/secp256k1_ios/basic-config.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/basic-config.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/ecdsa.h b/Pods/Headers/Private/secp256k1_ios/ecdsa.h deleted file mode 120000 index f4aabdb43..000000000 --- a/Pods/Headers/Private/secp256k1_ios/ecdsa.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/ecdsa.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/ecdsa_impl.h b/Pods/Headers/Private/secp256k1_ios/ecdsa_impl.h deleted file mode 120000 index 508ab9d16..000000000 --- a/Pods/Headers/Private/secp256k1_ios/ecdsa_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/ecdsa_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/eckey.h b/Pods/Headers/Private/secp256k1_ios/eckey.h deleted file mode 120000 index b1913cf0b..000000000 --- a/Pods/Headers/Private/secp256k1_ios/eckey.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/eckey.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/eckey_impl.h b/Pods/Headers/Private/secp256k1_ios/eckey_impl.h deleted file mode 120000 index c9f278cdf..000000000 --- a/Pods/Headers/Private/secp256k1_ios/eckey_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/eckey_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/ecmult.h b/Pods/Headers/Private/secp256k1_ios/ecmult.h deleted file mode 120000 index 910b0a948..000000000 --- a/Pods/Headers/Private/secp256k1_ios/ecmult.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/ecmult.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/ecmult_const.h b/Pods/Headers/Private/secp256k1_ios/ecmult_const.h deleted file mode 120000 index b2e85ca32..000000000 --- a/Pods/Headers/Private/secp256k1_ios/ecmult_const.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/ecmult_const.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/ecmult_const_impl.h b/Pods/Headers/Private/secp256k1_ios/ecmult_const_impl.h deleted file mode 120000 index 64501fdef..000000000 --- a/Pods/Headers/Private/secp256k1_ios/ecmult_const_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/ecmult_const_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/ecmult_gen.h b/Pods/Headers/Private/secp256k1_ios/ecmult_gen.h deleted file mode 120000 index fbc644656..000000000 --- a/Pods/Headers/Private/secp256k1_ios/ecmult_gen.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/ecmult_gen.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/ecmult_gen_impl.h b/Pods/Headers/Private/secp256k1_ios/ecmult_gen_impl.h deleted file mode 120000 index 0242d9a1c..000000000 --- a/Pods/Headers/Private/secp256k1_ios/ecmult_gen_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/ecmult_gen_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/ecmult_impl.h b/Pods/Headers/Private/secp256k1_ios/ecmult_impl.h deleted file mode 120000 index 69bc0ede2..000000000 --- a/Pods/Headers/Private/secp256k1_ios/ecmult_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/ecmult_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/field.h b/Pods/Headers/Private/secp256k1_ios/field.h deleted file mode 120000 index 2afcf136d..000000000 --- a/Pods/Headers/Private/secp256k1_ios/field.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/field.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/field_10x26.h b/Pods/Headers/Private/secp256k1_ios/field_10x26.h deleted file mode 120000 index e92322792..000000000 --- a/Pods/Headers/Private/secp256k1_ios/field_10x26.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/field_10x26.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/field_10x26_impl.h b/Pods/Headers/Private/secp256k1_ios/field_10x26_impl.h deleted file mode 120000 index d311eed8e..000000000 --- a/Pods/Headers/Private/secp256k1_ios/field_10x26_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/field_10x26_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/field_5x52.h b/Pods/Headers/Private/secp256k1_ios/field_5x52.h deleted file mode 120000 index ea2c4d1de..000000000 --- a/Pods/Headers/Private/secp256k1_ios/field_5x52.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/field_5x52.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/field_5x52_asm_impl.h b/Pods/Headers/Private/secp256k1_ios/field_5x52_asm_impl.h deleted file mode 120000 index c15b90e1f..000000000 --- a/Pods/Headers/Private/secp256k1_ios/field_5x52_asm_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/field_5x52_asm_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/field_5x52_impl.h b/Pods/Headers/Private/secp256k1_ios/field_5x52_impl.h deleted file mode 120000 index 98d693822..000000000 --- a/Pods/Headers/Private/secp256k1_ios/field_5x52_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/field_5x52_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/field_5x52_int128_impl.h b/Pods/Headers/Private/secp256k1_ios/field_5x52_int128_impl.h deleted file mode 120000 index e097fe97d..000000000 --- a/Pods/Headers/Private/secp256k1_ios/field_5x52_int128_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/field_5x52_int128_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/field_impl.h b/Pods/Headers/Private/secp256k1_ios/field_impl.h deleted file mode 120000 index 8b3a252dd..000000000 --- a/Pods/Headers/Private/secp256k1_ios/field_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/field_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/group.h b/Pods/Headers/Private/secp256k1_ios/group.h deleted file mode 120000 index a1886a1c9..000000000 --- a/Pods/Headers/Private/secp256k1_ios/group.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/group.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/group_impl.h b/Pods/Headers/Private/secp256k1_ios/group_impl.h deleted file mode 120000 index 6c1051595..000000000 --- a/Pods/Headers/Private/secp256k1_ios/group_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/group_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/hash.h b/Pods/Headers/Private/secp256k1_ios/hash.h deleted file mode 120000 index f0cf00769..000000000 --- a/Pods/Headers/Private/secp256k1_ios/hash.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/hash.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/hash_impl.h b/Pods/Headers/Private/secp256k1_ios/hash_impl.h deleted file mode 120000 index a9f8c4a65..000000000 --- a/Pods/Headers/Private/secp256k1_ios/hash_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/hash_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/lax_der_parsing.h b/Pods/Headers/Private/secp256k1_ios/lax_der_parsing.h deleted file mode 120000 index d194cbfdb..000000000 --- a/Pods/Headers/Private/secp256k1_ios/lax_der_parsing.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/contrib/lax_der_parsing.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/lax_der_privatekey_parsing.h b/Pods/Headers/Private/secp256k1_ios/lax_der_privatekey_parsing.h deleted file mode 120000 index 1a50697b7..000000000 --- a/Pods/Headers/Private/secp256k1_ios/lax_der_privatekey_parsing.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/contrib/lax_der_privatekey_parsing.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/libsecp256k1-config.h b/Pods/Headers/Private/secp256k1_ios/libsecp256k1-config.h deleted file mode 120000 index d74badff1..000000000 --- a/Pods/Headers/Private/secp256k1_ios/libsecp256k1-config.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/libsecp256k1-config.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/main_impl.h b/Pods/Headers/Private/secp256k1_ios/main_impl.h deleted file mode 120000 index 0ee7989b6..000000000 --- a/Pods/Headers/Private/secp256k1_ios/main_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/modules/recovery/main_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/num.h b/Pods/Headers/Private/secp256k1_ios/num.h deleted file mode 120000 index cdd98f099..000000000 --- a/Pods/Headers/Private/secp256k1_ios/num.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/num.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/num_gmp.h b/Pods/Headers/Private/secp256k1_ios/num_gmp.h deleted file mode 120000 index bc8ba689a..000000000 --- a/Pods/Headers/Private/secp256k1_ios/num_gmp.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/num_gmp.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/num_gmp_impl.h b/Pods/Headers/Private/secp256k1_ios/num_gmp_impl.h deleted file mode 120000 index cc7e9e2f4..000000000 --- a/Pods/Headers/Private/secp256k1_ios/num_gmp_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/num_gmp_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/num_impl.h b/Pods/Headers/Private/secp256k1_ios/num_impl.h deleted file mode 120000 index 0f0021b3c..000000000 --- a/Pods/Headers/Private/secp256k1_ios/num_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/num_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/scalar.h b/Pods/Headers/Private/secp256k1_ios/scalar.h deleted file mode 120000 index d25c7e4a3..000000000 --- a/Pods/Headers/Private/secp256k1_ios/scalar.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scalar.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/scalar_4x64.h b/Pods/Headers/Private/secp256k1_ios/scalar_4x64.h deleted file mode 120000 index 3a5248a63..000000000 --- a/Pods/Headers/Private/secp256k1_ios/scalar_4x64.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scalar_4x64.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/scalar_4x64_impl.h b/Pods/Headers/Private/secp256k1_ios/scalar_4x64_impl.h deleted file mode 120000 index a1988e476..000000000 --- a/Pods/Headers/Private/secp256k1_ios/scalar_4x64_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scalar_4x64_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/scalar_8x32.h b/Pods/Headers/Private/secp256k1_ios/scalar_8x32.h deleted file mode 120000 index a5d150d90..000000000 --- a/Pods/Headers/Private/secp256k1_ios/scalar_8x32.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scalar_8x32.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/scalar_8x32_impl.h b/Pods/Headers/Private/secp256k1_ios/scalar_8x32_impl.h deleted file mode 120000 index e7fa5da33..000000000 --- a/Pods/Headers/Private/secp256k1_ios/scalar_8x32_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scalar_8x32_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/scalar_impl.h b/Pods/Headers/Private/secp256k1_ios/scalar_impl.h deleted file mode 120000 index 9471fc517..000000000 --- a/Pods/Headers/Private/secp256k1_ios/scalar_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scalar_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/scalar_low.h b/Pods/Headers/Private/secp256k1_ios/scalar_low.h deleted file mode 120000 index 3cb8233b5..000000000 --- a/Pods/Headers/Private/secp256k1_ios/scalar_low.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scalar_low.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/scalar_low_impl.h b/Pods/Headers/Private/secp256k1_ios/scalar_low_impl.h deleted file mode 120000 index d46f42834..000000000 --- a/Pods/Headers/Private/secp256k1_ios/scalar_low_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scalar_low_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/scratch.h b/Pods/Headers/Private/secp256k1_ios/scratch.h deleted file mode 120000 index 7022d0a7e..000000000 --- a/Pods/Headers/Private/secp256k1_ios/scratch.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scratch.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/scratch_impl.h b/Pods/Headers/Private/secp256k1_ios/scratch_impl.h deleted file mode 120000 index ea4833ed7..000000000 --- a/Pods/Headers/Private/secp256k1_ios/scratch_impl.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/scratch_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/secp256k1.h b/Pods/Headers/Private/secp256k1_ios/secp256k1.h deleted file mode 120000 index 3ebcafc20..000000000 --- a/Pods/Headers/Private/secp256k1_ios/secp256k1.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/include/secp256k1.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/secp256k1_ecdh.h b/Pods/Headers/Private/secp256k1_ios/secp256k1_ecdh.h deleted file mode 120000 index be8a22f32..000000000 --- a/Pods/Headers/Private/secp256k1_ios/secp256k1_ecdh.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/include/secp256k1_ecdh.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/secp256k1_ios.h b/Pods/Headers/Private/secp256k1_ios/secp256k1_ios.h deleted file mode 120000 index 9bea4f4ca..000000000 --- a/Pods/Headers/Private/secp256k1_ios/secp256k1_ios.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/secp256k1_ios.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/secp256k1_recovery.h b/Pods/Headers/Private/secp256k1_ios/secp256k1_recovery.h deleted file mode 120000 index 81614ea81..000000000 --- a/Pods/Headers/Private/secp256k1_ios/secp256k1_recovery.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/include/secp256k1_recovery.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_ios/util.h b/Pods/Headers/Private/secp256k1_ios/util.h deleted file mode 120000 index 5a36f8a11..000000000 --- a/Pods/Headers/Private/secp256k1_ios/util.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/src/util.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/basic-config.h b/Pods/Headers/Private/secp256k1_swift/basic-config.h new file mode 120000 index 000000000..647e6d553 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/basic-config.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/basic-config.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/ecdsa.h b/Pods/Headers/Private/secp256k1_swift/ecdsa.h new file mode 120000 index 000000000..706321c8a --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/ecdsa.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/ecdsa.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/ecdsa_impl.h b/Pods/Headers/Private/secp256k1_swift/ecdsa_impl.h new file mode 120000 index 000000000..b368830d6 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/ecdsa_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/ecdsa_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/eckey.h b/Pods/Headers/Private/secp256k1_swift/eckey.h new file mode 120000 index 000000000..5e89a6b56 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/eckey.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/eckey.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/eckey_impl.h b/Pods/Headers/Private/secp256k1_swift/eckey_impl.h new file mode 120000 index 000000000..7f3b6a228 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/eckey_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/eckey_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/ecmult.h b/Pods/Headers/Private/secp256k1_swift/ecmult.h new file mode 120000 index 000000000..dfb6b175d --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/ecmult.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/ecmult.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/ecmult_const.h b/Pods/Headers/Private/secp256k1_swift/ecmult_const.h new file mode 120000 index 000000000..622783f77 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/ecmult_const.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/ecmult_const.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/ecmult_const_impl.h b/Pods/Headers/Private/secp256k1_swift/ecmult_const_impl.h new file mode 120000 index 000000000..9b570de2e --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/ecmult_const_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/ecmult_const_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/ecmult_gen.h b/Pods/Headers/Private/secp256k1_swift/ecmult_gen.h new file mode 120000 index 000000000..cf880fa1d --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/ecmult_gen.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/ecmult_gen.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/ecmult_gen_impl.h b/Pods/Headers/Private/secp256k1_swift/ecmult_gen_impl.h new file mode 120000 index 000000000..5b806daa4 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/ecmult_gen_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/ecmult_gen_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/ecmult_impl.h b/Pods/Headers/Private/secp256k1_swift/ecmult_impl.h new file mode 120000 index 000000000..6530fb5ef --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/ecmult_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/ecmult_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/field.h b/Pods/Headers/Private/secp256k1_swift/field.h new file mode 120000 index 000000000..2b0fd0d00 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/field.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/field.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/field_10x26.h b/Pods/Headers/Private/secp256k1_swift/field_10x26.h new file mode 120000 index 000000000..50bafd8bf --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/field_10x26.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/field_10x26.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/field_10x26_impl.h b/Pods/Headers/Private/secp256k1_swift/field_10x26_impl.h new file mode 120000 index 000000000..513607047 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/field_10x26_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/field_10x26_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/field_5x52.h b/Pods/Headers/Private/secp256k1_swift/field_5x52.h new file mode 120000 index 000000000..1bc4c8c96 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/field_5x52.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/field_5x52.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/field_5x52_asm_impl.h b/Pods/Headers/Private/secp256k1_swift/field_5x52_asm_impl.h new file mode 120000 index 000000000..c047cb652 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/field_5x52_asm_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/field_5x52_asm_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/field_5x52_impl.h b/Pods/Headers/Private/secp256k1_swift/field_5x52_impl.h new file mode 120000 index 000000000..c6dfdbea3 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/field_5x52_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/field_5x52_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/field_5x52_int128_impl.h b/Pods/Headers/Private/secp256k1_swift/field_5x52_int128_impl.h new file mode 120000 index 000000000..23a124cfc --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/field_5x52_int128_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/field_5x52_int128_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/field_impl.h b/Pods/Headers/Private/secp256k1_swift/field_impl.h new file mode 120000 index 000000000..6d660598a --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/field_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/field_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/group.h b/Pods/Headers/Private/secp256k1_swift/group.h new file mode 120000 index 000000000..93b5052cd --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/group.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/group.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/group_impl.h b/Pods/Headers/Private/secp256k1_swift/group_impl.h new file mode 120000 index 000000000..19a7afe7a --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/group_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/group_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/hash.h b/Pods/Headers/Private/secp256k1_swift/hash.h new file mode 120000 index 000000000..ac0bf8bcb --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/hash.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/hash.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/hash_impl.h b/Pods/Headers/Private/secp256k1_swift/hash_impl.h new file mode 120000 index 000000000..32bfc4753 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/hash_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/hash_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/lax_der_parsing.h b/Pods/Headers/Private/secp256k1_swift/lax_der_parsing.h new file mode 120000 index 000000000..4ff55a757 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/lax_der_parsing.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/contrib/lax_der_parsing.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/lax_der_privatekey_parsing.h b/Pods/Headers/Private/secp256k1_swift/lax_der_privatekey_parsing.h new file mode 120000 index 000000000..19bce53c1 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/lax_der_privatekey_parsing.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/contrib/lax_der_privatekey_parsing.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/libsecp256k1-config.h b/Pods/Headers/Private/secp256k1_swift/libsecp256k1-config.h new file mode 120000 index 000000000..237372a46 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/libsecp256k1-config.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/libsecp256k1-config.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/main_impl.h b/Pods/Headers/Private/secp256k1_swift/main_impl.h new file mode 120000 index 000000000..13421976a --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/main_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/modules/recovery/main_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/num.h b/Pods/Headers/Private/secp256k1_swift/num.h new file mode 120000 index 000000000..3512e9334 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/num.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/num.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/num_gmp.h b/Pods/Headers/Private/secp256k1_swift/num_gmp.h new file mode 120000 index 000000000..c93caf265 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/num_gmp.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/num_gmp.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/num_gmp_impl.h b/Pods/Headers/Private/secp256k1_swift/num_gmp_impl.h new file mode 120000 index 000000000..158d9f266 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/num_gmp_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/num_gmp_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/num_impl.h b/Pods/Headers/Private/secp256k1_swift/num_impl.h new file mode 120000 index 000000000..4ed28a28f --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/num_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/num_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/scalar.h b/Pods/Headers/Private/secp256k1_swift/scalar.h new file mode 120000 index 000000000..930be5280 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/scalar.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/scalar.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/scalar_4x64.h b/Pods/Headers/Private/secp256k1_swift/scalar_4x64.h new file mode 120000 index 000000000..f2a7bd773 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/scalar_4x64.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/scalar_4x64.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/scalar_4x64_impl.h b/Pods/Headers/Private/secp256k1_swift/scalar_4x64_impl.h new file mode 120000 index 000000000..51581d90e --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/scalar_4x64_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/scalar_4x64_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/scalar_8x32.h b/Pods/Headers/Private/secp256k1_swift/scalar_8x32.h new file mode 120000 index 000000000..d473601df --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/scalar_8x32.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/scalar_8x32.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/scalar_8x32_impl.h b/Pods/Headers/Private/secp256k1_swift/scalar_8x32_impl.h new file mode 120000 index 000000000..7cc805f5d --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/scalar_8x32_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/scalar_8x32_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/scalar_impl.h b/Pods/Headers/Private/secp256k1_swift/scalar_impl.h new file mode 120000 index 000000000..f4c7d10b1 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/scalar_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/scalar_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/scalar_low.h b/Pods/Headers/Private/secp256k1_swift/scalar_low.h new file mode 120000 index 000000000..efdbb9f5b --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/scalar_low.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/scalar_low.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/scalar_low_impl.h b/Pods/Headers/Private/secp256k1_swift/scalar_low_impl.h new file mode 120000 index 000000000..2f99a41c5 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/scalar_low_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/scalar_low_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/scratch.h b/Pods/Headers/Private/secp256k1_swift/scratch.h new file mode 120000 index 000000000..9114f199e --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/scratch.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/scratch.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/scratch_impl.h b/Pods/Headers/Private/secp256k1_swift/scratch_impl.h new file mode 120000 index 000000000..e9a481549 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/scratch_impl.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/scratch_impl.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/secp256k1.h b/Pods/Headers/Private/secp256k1_swift/secp256k1.h new file mode 120000 index 000000000..e1766e5ba --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/secp256k1.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/include/secp256k1.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/secp256k1_ecdh.h b/Pods/Headers/Private/secp256k1_swift/secp256k1_ecdh.h new file mode 120000 index 000000000..755f38703 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/secp256k1_ecdh.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/include/secp256k1_ecdh.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/secp256k1_recovery.h b/Pods/Headers/Private/secp256k1_swift/secp256k1_recovery.h new file mode 120000 index 000000000..302c2b96e --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/secp256k1_recovery.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/include/secp256k1_recovery.h \ No newline at end of file diff --git a/Pods/Headers/Private/secp256k1_swift/util.h b/Pods/Headers/Private/secp256k1_swift/util.h new file mode 120000 index 000000000..89b99cdd3 --- /dev/null +++ b/Pods/Headers/Private/secp256k1_swift/util.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/src/util.h \ No newline at end of file diff --git a/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h b/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h index 2e9cf884f..d04d0f479 120000 --- a/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h +++ b/Pods/Headers/Public/BigInt/BigInt-iOS-umbrella.h @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/BigInt-iOS/BigInt-iOS-umbrella.h \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/BigInt-iOS/BigInt-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap b/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap index 026aad89c..5e3ba93be 120000 --- a/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap +++ b/Pods/Headers/Public/BigInt/BigInt-iOS.modulemap @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/BigInt-iOS/BigInt-iOS.modulemap \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/BigInt-iOS/BigInt-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h b/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h index 1f361b1da..7c100fb6e 120000 --- a/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h +++ b/Pods/Headers/Public/BigInt/BigInt-macOS-umbrella.h @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/BigInt-macOS/BigInt-macOS-umbrella.h \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/BigInt-macOS/BigInt-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap b/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap index b1ba72f34..309999e26 120000 --- a/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap +++ b/Pods/Headers/Public/BigInt/BigInt-macOS.modulemap @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/BigInt-macOS/BigInt-macOS.modulemap \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/BigInt-macOS/BigInt-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h index 5f9cdac68..53d6c211e 120000 --- a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h +++ b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-umbrella.h \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap index 6c9d0b718..c3e3c3a34 120000 --- a/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap +++ b/Pods/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS.modulemap \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/CryptoSwift-iOS/CryptoSwift-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h index 7f673612f..1bf7d4d73 120000 --- a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h +++ b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-umbrella.h \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap index 9055efe6c..19cb03653 120000 --- a/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap +++ b/Pods/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS.modulemap \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h b/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h index 6e3e2f065..54a39550a 120000 --- a/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h +++ b/Pods/Headers/Public/PromiseKit/PromiseKit-umbrella.h @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/PromiseKit/PromiseKit-umbrella.h \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/PromiseKit/PromiseKit-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap b/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap index 1694ecd43..03e17826b 120000 --- a/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap +++ b/Pods/Headers/Public/PromiseKit/PromiseKit.modulemap @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/PromiseKit/PromiseKit.modulemap \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/PromiseKit/PromiseKit.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h index 9dfaba34c..2202ae821 120000 --- a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h +++ b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-umbrella.h \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap index dc31d8b47..377be965b 120000 --- a/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap +++ b/Pods/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.modulemap \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/Result/Result-iOS-umbrella.h b/Pods/Headers/Public/Result/Result-iOS-umbrella.h index f58bd0b7d..a7f847b9e 120000 --- a/Pods/Headers/Public/Result/Result-iOS-umbrella.h +++ b/Pods/Headers/Public/Result/Result-iOS-umbrella.h @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/Result-iOS/Result-iOS-umbrella.h \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/Result-iOS/Result-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/Result/Result-iOS.modulemap b/Pods/Headers/Public/Result/Result-iOS.modulemap index 6571ce263..bc4f23ca4 120000 --- a/Pods/Headers/Public/Result/Result-iOS.modulemap +++ b/Pods/Headers/Public/Result/Result-iOS.modulemap @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/Result-iOS/Result-iOS.modulemap \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/Result-iOS/Result-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/Result/Result-macOS-umbrella.h b/Pods/Headers/Public/Result/Result-macOS-umbrella.h index f3ceebb1b..5c92b47bc 120000 --- a/Pods/Headers/Public/Result/Result-macOS-umbrella.h +++ b/Pods/Headers/Public/Result/Result-macOS-umbrella.h @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/Result-macOS/Result-macOS-umbrella.h \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/Result-macOS/Result-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/Result/Result-macOS.modulemap b/Pods/Headers/Public/Result/Result-macOS.modulemap index 486a5361b..a1725381e 120000 --- a/Pods/Headers/Public/Result/Result-macOS.modulemap +++ b/Pods/Headers/Public/Result/Result-macOS.modulemap @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/Result-macOS/Result-macOS.modulemap \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/Result-macOS/Result-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h b/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h index 81bdc6ae4..909a01c80 120000 --- a/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h +++ b/Pods/Headers/Public/SipHash/SipHash-iOS-umbrella.h @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/SipHash-iOS/SipHash-iOS-umbrella.h \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/SipHash-iOS/SipHash-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap b/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap index e4c37b27d..60dbe3748 120000 --- a/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap +++ b/Pods/Headers/Public/SipHash/SipHash-iOS.modulemap @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/SipHash-iOS/SipHash-iOS.modulemap \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/SipHash-iOS/SipHash-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h b/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h index 18b800a7b..b1f95e224 120000 --- a/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h +++ b/Pods/Headers/Public/SipHash/SipHash-macOS-umbrella.h @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/SipHash-macOS/SipHash-macOS-umbrella.h \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/SipHash-macOS/SipHash-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap b/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap index 14d5c695d..5ea25fc9c 120000 --- a/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap +++ b/Pods/Headers/Public/SipHash/SipHash-macOS.modulemap @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/SipHash-macOS/SipHash-macOS.modulemap \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/SipHash-macOS/SipHash-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/SwiftRLP/SwiftRLP-iOS-umbrella.h b/Pods/Headers/Public/SwiftRLP/SwiftRLP-iOS-umbrella.h new file mode 120000 index 000000000..b1b552e68 --- /dev/null +++ b/Pods/Headers/Public/SwiftRLP/SwiftRLP-iOS-umbrella.h @@ -0,0 +1 @@ +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/SwiftRLP/SwiftRLP-iOS.modulemap b/Pods/Headers/Public/SwiftRLP/SwiftRLP-iOS.modulemap new file mode 120000 index 000000000..0842d08e1 --- /dev/null +++ b/Pods/Headers/Public/SwiftRLP/SwiftRLP-iOS.modulemap @@ -0,0 +1 @@ +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/SwiftRLP/SwiftRLP-macOS-umbrella.h b/Pods/Headers/Public/SwiftRLP/SwiftRLP-macOS-umbrella.h new file mode 120000 index 000000000..b77715c02 --- /dev/null +++ b/Pods/Headers/Public/SwiftRLP/SwiftRLP-macOS-umbrella.h @@ -0,0 +1 @@ +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/SwiftRLP/SwiftRLP-macOS.modulemap b/Pods/Headers/Public/SwiftRLP/SwiftRLP-macOS.modulemap new file mode 120000 index 000000000..c5cebdd37 --- /dev/null +++ b/Pods/Headers/Public/SwiftRLP/SwiftRLP-macOS.modulemap @@ -0,0 +1 @@ +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/SwiftRLP/SwiftRLP.h b/Pods/Headers/Public/SwiftRLP/SwiftRLP.h new file mode 120000 index 000000000..a403a2602 --- /dev/null +++ b/Pods/Headers/Public/SwiftRLP/SwiftRLP.h @@ -0,0 +1 @@ +../../../SwiftRLP/SwiftRLP/SwiftRLP.h \ No newline at end of file diff --git a/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h b/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h index 4ccdb93c9..e82a48440 120000 --- a/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h +++ b/Pods/Headers/Public/scrypt/scrypt-iOS-umbrella.h @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/scrypt-iOS/scrypt-iOS-umbrella.h \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/scrypt-iOS/scrypt-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap b/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap index 43d879ce5..082fbbbba 120000 --- a/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap +++ b/Pods/Headers/Public/scrypt/scrypt-iOS.modulemap @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/scrypt-iOS/scrypt-iOS.modulemap \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/scrypt-iOS/scrypt-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h b/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h index fa3a49b97..7a0dabd86 120000 --- a/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h +++ b/Pods/Headers/Public/scrypt/scrypt-macOS-umbrella.h @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/scrypt-macOS/scrypt-macOS-umbrella.h \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/scrypt-macOS/scrypt-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap b/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap index 6dfdf06ee..9ec4c6ed1 120000 --- a/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap +++ b/Pods/Headers/Public/scrypt/scrypt-macOS.modulemap @@ -1 +1 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/scrypt-macOS/scrypt-macOS.modulemap \ No newline at end of file +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/scrypt-macOS/scrypt-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1.h b/Pods/Headers/Public/secp256k1_ios/secp256k1.h deleted file mode 120000 index 3ebcafc20..000000000 --- a/Pods/Headers/Public/secp256k1_ios/secp256k1.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/include/secp256k1.h \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ecdh.h b/Pods/Headers/Public/secp256k1_ios/secp256k1_ecdh.h deleted file mode 120000 index be8a22f32..000000000 --- a/Pods/Headers/Public/secp256k1_ios/secp256k1_ecdh.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/include/secp256k1_ecdh.h \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h deleted file mode 120000 index 61ae063a4..000000000 --- a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap deleted file mode 120000 index ded74282c..000000000 --- a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h deleted file mode 120000 index d9ae5241f..000000000 --- a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS-umbrella.h +++ /dev/null @@ -1 +0,0 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap b/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap deleted file mode 120000 index 9f6ea1f71..000000000 --- a/Pods/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap +++ /dev/null @@ -1 +0,0 @@ -/Users/newuser/Developer/web3swift/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_ios/secp256k1_recovery.h b/Pods/Headers/Public/secp256k1_ios/secp256k1_recovery.h deleted file mode 120000 index 81614ea81..000000000 --- a/Pods/Headers/Public/secp256k1_ios/secp256k1_recovery.h +++ /dev/null @@ -1 +0,0 @@ -../../../secp256k1_ios/secp256k1_ios/include/secp256k1_recovery.h \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_swift/secp256k1.h b/Pods/Headers/Public/secp256k1_swift/secp256k1.h new file mode 120000 index 000000000..e1766e5ba --- /dev/null +++ b/Pods/Headers/Public/secp256k1_swift/secp256k1.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/include/secp256k1.h \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_swift/secp256k1_ecdh.h b/Pods/Headers/Public/secp256k1_swift/secp256k1_ecdh.h new file mode 120000 index 000000000..755f38703 --- /dev/null +++ b/Pods/Headers/Public/secp256k1_swift/secp256k1_ecdh.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/include/secp256k1_ecdh.h \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_swift/secp256k1_recovery.h b/Pods/Headers/Public/secp256k1_swift/secp256k1_recovery.h new file mode 120000 index 000000000..302c2b96e --- /dev/null +++ b/Pods/Headers/Public/secp256k1_swift/secp256k1_recovery.h @@ -0,0 +1 @@ +../../../secp256k1_swift/Classes/secp256k1/include/secp256k1_recovery.h \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_swift/secp256k1_swift-iOS-umbrella.h b/Pods/Headers/Public/secp256k1_swift/secp256k1_swift-iOS-umbrella.h new file mode 120000 index 000000000..554c654f1 --- /dev/null +++ b/Pods/Headers/Public/secp256k1_swift/secp256k1_swift-iOS-umbrella.h @@ -0,0 +1 @@ +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_swift/secp256k1_swift-iOS.modulemap b/Pods/Headers/Public/secp256k1_swift/secp256k1_swift-iOS.modulemap new file mode 120000 index 000000000..44829fb84 --- /dev/null +++ b/Pods/Headers/Public/secp256k1_swift/secp256k1_swift-iOS.modulemap @@ -0,0 +1 @@ +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS.modulemap \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_swift/secp256k1_swift-macOS-umbrella.h b/Pods/Headers/Public/secp256k1_swift/secp256k1_swift-macOS-umbrella.h new file mode 120000 index 000000000..56967ab47 --- /dev/null +++ b/Pods/Headers/Public/secp256k1_swift/secp256k1_swift-macOS-umbrella.h @@ -0,0 +1 @@ +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS-umbrella.h \ No newline at end of file diff --git a/Pods/Headers/Public/secp256k1_swift/secp256k1_swift-macOS.modulemap b/Pods/Headers/Public/secp256k1_swift/secp256k1_swift-macOS.modulemap new file mode 120000 index 000000000..0ec25a913 --- /dev/null +++ b/Pods/Headers/Public/secp256k1_swift/secp256k1_swift-macOS.modulemap @@ -0,0 +1 @@ +/Users/alexvlasov/Blockchain/web3swift/web3swift/Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS.modulemap \ No newline at end of file diff --git a/Pods/Local Podspecs/secp256k1_ios.podspec.json b/Pods/Local Podspecs/secp256k1_ios.podspec.json deleted file mode 100644 index 2e185b3e2..000000000 --- a/Pods/Local Podspecs/secp256k1_ios.podspec.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "secp256k1_ios", - "version": "0.1.3", - "summary": "Reference sepc256k1 implementation as pod", - "description": "Bitcoin secp256k1 library portable pod. Swift binding are provided in web3swift pod.", - "homepage": "https://github.com/shamatar/secp256k1_ios", - "license": "MIT", - "authors": { - "Alex Vlasov": "alex.m.vlasov@gmail.com" - }, - "source": { - "git": "https://github.com/shamatar/secp256k1_ios.git", - "tag": "0.1.3" - }, - "social_media_url": "https://twitter.com/shamatar", - "module_name": "secp256k1_ios", - "platforms": { - "ios": "9.0", - "osx": "10.10" - }, - "pod_target_xcconfig": { - "SWIFT_INCLUDE_PATHS": "${PODS_ROOT}", - "OTHER_CFLAGS": "-DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3", - "HEADER_SEARCH_PATHS": "\"${PODS_ROOT}/secp256k1_ios/secp256k1_ios\"" - }, - "prepare_command": "sed -i '' -e 's:include/::g' ./**/**/*.h\nsed -i '' -e 's:include/::g' ./**/**/**/*.h\nsed -i '' -e 's:include/::g' ./**/**/**/**/*.h\nsed -i '' -e 's:include/::g' ./**/**/*.c\nsed -i '' -e 's:src/modules/recovery/:modules/recovery/:g' ./**/**/*.c\nsed -i '' -e 's:src/modules/echd/:modules/ecdh/:g' ./**/**/*.c\nsed -i '' -e 's:contrib/::g' ./**/**/*.c\nsed -i '' -e 's:contrib/::g' ./**/**/*.c", - "source_files": [ - "secp256k1_ios/{src,include,contrib}/*.{h,c}", - "secp256k1_ios/src/modules/{recovery,ecdh}/*.{h,c}", - "secp256k1_ios/libsecp256k1-config.h", - "secp256k1_ios/secp256k1_ios.h" - ], - "private_header_files": [ - "secp256k1_ios/*.h", - "secp256k1_ios/{contrib,src}/*.h", - "secp256k1_ios/src/modules/{recovery, ecdh}/*.h" - ], - "public_header_files": "secp256k1_ios/{include}/*.h", - "exclude_files": [ - "secp256k1_ios/src/test*.{c,h}", - "secp256k1_ios/src/gen_context.c", - "secp256k1_ios/src/*bench*.{c,h}", - "secp256k1_ios/src/*bench*.{c,h}", - "secp256k1_ios/src/modules/{recovery,ecdh}/*test*.{c,h}" - ] -} diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock index 7c8992e0d..6fb4da11f 100644 --- a/Pods/Manifest.lock +++ b/Pods/Manifest.lock @@ -14,16 +14,19 @@ PODS: - Result (4.0.0) - scrypt (2.0): - CryptoSwift (~> 0.11) - - secp256k1_ios (0.1.3) + - secp256k1_swift (1.0.2) - SipHash (1.2.2) + - SwiftRLP (1.0.1): + - BigInt (~> 3.1) DEPENDENCIES: - BigInt (~> 3.1) - - CryptoSwift (~> 0.11) + - CryptoSwift (~> 0.12) - PromiseKit (~> 6.4.1) - Result (~> 4.0) - scrypt (~> 2.0) - - secp256k1_ios (from `https://github.com/shamatar/secp256k1_ios.git`) + - secp256k1_swift (~> 1.0.2) + - SwiftRLP (~> 1.0.1) SPEC REPOS: https://github.com/cocoapods/specs.git: @@ -32,16 +35,9 @@ SPEC REPOS: - PromiseKit - Result - scrypt + - secp256k1_swift - SipHash - -EXTERNAL SOURCES: - secp256k1_ios: - :git: https://github.com/shamatar/secp256k1_ios.git - -CHECKOUT OPTIONS: - secp256k1_ios: - :commit: e3ab3e26fafc3688436528f2ca24cc679c7d746e - :git: https://github.com/shamatar/secp256k1_ios.git + - SwiftRLP SPEC CHECKSUMS: BigInt: 76b5dfdfa3e2e478d4ffdf161aeede5502e2742f @@ -49,9 +45,10 @@ SPEC CHECKSUMS: PromiseKit: 4c76a6506638034e3d7bede97b2ff7743f7bd2dc Result: 7645bb3f50c2ce726dd0ff2fa7b6f42bbe6c3713 scrypt: 3fe5b1a3b0976f97cd87488673a8f7c65708cc84 - secp256k1_ios: ac9ef04e761f43c58012b28548afa91493761f17 + secp256k1_swift: 1e6ac4ee77fbef7f97f87e096a918a1248b8c4f6 SipHash: fad90a4683e420c52ef28063063dbbce248ea6d4 + SwiftRLP: 9de2c9512a9a6bf0909cd84cc143a7ff1aff7820 -PODFILE CHECKSUM: 809fc36118e9c566db575d7ab123e35b5acc3df5 +PODFILE CHECKSUM: bce98dcdfceae57faa2cd3bcb3d595f16beaad0b COCOAPODS: 1.6.0.beta.1 diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj index dfbc30fca..8ebe6a915 100644 --- a/Pods/Pods.xcodeproj/project.pbxproj +++ b/Pods/Pods.xcodeproj/project.pbxproj @@ -7,461 +7,476 @@ objects = { /* Begin PBXBuildFile section */ - 01E683D1A55DCC27F48AC9CF8CDCBF03 /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF467792E24FCB49390F293678C2E231 /* ZeroPadding.swift */; }; - 020D14793215AFE896BE555B9C76CBDF /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FDB2A79B118B2F003B3E6F5A708B701 /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 039A85C483D812BBB34BCD2AB2A5790B /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC8CE2AC7222CA948CFA3E9FEF002800 /* Error.swift */; }; - 03DFE13C6697848C21F4EB647BC55AA5 /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = 86010FFDC0CB0732CC170A6EB5EC36A5 /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 044355BCF9A51F03F92DA9A4955EDDF8 /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = F68419F17E2CC2073DDAC992BC39EF47 /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 051E39EF701E24AC7E524C9D82A28215 /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = C9D0105E6F7855534D035E089FAACA84 /* NSURLSession+AnyPromise.m */; }; - 0545829A927B4BB00A483BBE6244387D /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A6199EF8A43EB0E1F3C0EB7228F575C /* HKDF.swift */; }; - 07DF5F806B224E861175A2B54A157F4E /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E865E2465317D7395EFFC3E15BE3B82 /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 080ADA20C98E5C462DA5BC8AB3858320 /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 32804240A56A511992C9AA367655CDBA /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 08D84886240259762D5D2E88FE06BAB2 /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AF444B003D1A7B9026D1AF8B3B5B699 /* HMAC+Foundation.swift */; }; - 08EE8946F9CB7AA37352C46DA4BD75EE /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = D24853136C9E866538093205C6E4A90A /* when.m */; }; - 092FA91C224FA67526944D6026C42719 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F407B4684E6934554D8F4910242620 /* Int+Extension.swift */; }; - 0AD8E3063BA9777F2313604C49FB35DC /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B864BCFD33F0A7ABED7DBA75C963A51A /* BlockCipher.swift */; }; - 0AE93856CF7FADFFADBE88A5A2D92A2A /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D93F53AAD0FD5DB616A5E1C69164F0D7 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0B9A91423AFC0ACA837C4E56A1AA588A /* Result-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = DCE95DEFE59A8D4B1CC921351954D118 /* Result-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0BBCC69CD1D17E80AE051FB477BDD3D5 /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321B194E1B8A3A3929C651A01648EF4A /* Array+Foundation.swift */; }; - 0CE27E8F6A719CE5E0889EB78FF28719 /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894312908815C8518B59156B045BB049 /* Thenable.swift */; }; - 0D581B37DEE69673B5F6AF763BEAF9F0 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BC5492B1E1506F3725992C713A907DF /* SHA3.swift */; }; - 0E84110CE577CEBD75E277EA01003F9B /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = 778AAAE605119A0341DA4378ED873181 /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0EC23A496E7520709A8EF71182D4A977 /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DDEB5B32B77FC78B04321FABF19FAF64 /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0F027DD3DCF059DCB9E33D0B562B5A39 /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 57BE35B8EF2F430EE1A093A4E43F8243 /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0FB79BA6789A195C987F2180A58B6AFC /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2290B9153347A3369FAF03E04A19326E /* CBC.swift */; }; - 10650E08C4710FC9327EA77E080EAFBD /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8EAA4A69D5AC1E3D89D6D25C9496C75 /* Cryptors.swift */; }; - 11C9F315CE87BFD09E465ADE9C355473 /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5946E85C35328004F1FD0D65ABF93B4 /* Process+Promise.swift */; }; - 1222711B1AB711D6206EED1F2580A623 /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A137B5E1D739B2D491F2842EFFBD559 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1241921863951D082F323302080CBDFF /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = 4965C40E8438A02BE82C485420845345 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 124C34B2652696617A011E8FECFE0C3B /* Result-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B75257897ACBD9567F00827C544D722 /* Result-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 133747794F37E3A739F51CB04EAEC784 /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8602F37D59CD9AD65EEF65DF7AA62A3 /* UInt16+Extension.swift */; }; - 1530076E5FEDDBAB798D9AD56B228181 /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D8A60B0639785EE266ACA62D536DD199 /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 158F6BC9635AF0C4F8FCAD1FB913BB45 /* Division.swift in Sources */ = {isa = PBXBuildFile; fileRef = 054B52AFE6F7A33802393B6F7E8B9807 /* Division.swift */; }; - 1666B20DE9E0ABBBCF96F4DDD5B281F8 /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = D37DEA7A8B3EBEC27D9109471669A4BF /* secp256k1.c */; }; - 172F8A31708E2C427BF616D9B2E5A52F /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = 110AED7E75239B43DC836BF06AF22BCE /* afterlife.swift */; }; - 187B191D2E4399E1567DB24BD93F0486 /* SipHash-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B0423C9D9E49080ACEF73C985FBB221F /* SipHash-macOS-dummy.m */; }; - 1904E18F6CE01618BBBC1B31E43B64EA /* BigUInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14B10E35F3FEA07B3ED6132C871686B9 /* BigUInt.swift */; }; - 192BA88956DA574C01410D937DFF5098 /* UIView+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 45FFA251444F7DBCE99E0099A3F19A6D /* UIView+AnyPromise.m */; }; - 193CE1B123F216F0140298A506854F9D /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65E54F31ACC1397C1485DF5C7B5FA928 /* Random.swift */; }; - 19E005C60300BACBE467130A64746A0F /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = F1F1BD0CE2445F35A20783082C9D4775 /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1A931FA6D7623661E6793527D71A4967 /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 07F62FD29EAB7298762C10A21294A6B1 /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1AAC341916DC64CD28D08BDFED57AC9C /* Shifts.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1166BCE9995875A190DA0C329DD6F3E /* Shifts.swift */; }; - 1AF1B798714A34D38B61CF7C7B5C185F /* scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DC2E6214BB1EB95403BF7608DAF872D /* scrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1B532920CD5ACB6A6E9B44AD7759774F /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 370C998F97BBB1397D09CD78C43A9919 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1CC09F75AC87A194EBB50A8750BAAE94 /* CryptoSwift-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = AB4A0ADEE88B224FCFB999E14A3FC3BA /* CryptoSwift-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1D96448F1FFF0E5449F67332C543EE32 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 2385B17AD9190A207792185ECE5CD9C7 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1DD88ADB2458E38D5106042F0B958DFA /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A4A461EE06699EE78B2DCA6B7B73F16 /* NSTask+AnyPromise.m */; }; - 1E11D4AB7D83F30DC55ED31131C62967 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9111A66A9DB609E927159CEFB76D4E76 /* String+Extension.swift */; }; - 1E5F1CD6111EA4A4CFC001236E4F2447 /* Pods-web3swift-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E91F337EA3979DB5DD84C325A340270 /* Pods-web3swift-macOS-dummy.m */; }; - 1FC51E63E62DD14E4E0F7422FE40E716 /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = FBEFBB38BBB87913FDCF892141C0AC8D /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 210E681DBFA8097A999F196A7BF59A6E /* secp256k1_ios-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D4E771C1368EA72DE7D24C281E6D674 /* secp256k1_ios-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2161948858307EC6EEFCED5554369172 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = 15C56E2FA28A6BC277C2F1DF71DE010C /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 216986247596660CFCD4D997C374D548 /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B32F8420CC3DEDA3DC7BB0407B26FDF /* Collection+Extension.swift */; }; - 216E8A7C42E0512734DBAA38BD573262 /* dispatch_promise.m in Sources */ = {isa = PBXBuildFile; fileRef = 01E16ADA85843E6D30083930685D07D1 /* dispatch_promise.m */; }; - 22D8DF4F46BDC2292C1AE9B4AC3717DC /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = C9D0105E6F7855534D035E089FAACA84 /* NSURLSession+AnyPromise.m */; }; - 22FB7357D696E831ABFF6CDE1BC35757 /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E75AE5FFEFA361D707CC354FF1EB3D52 /* Updatable.swift */; }; - 238EF3B8B56806CC020FF044317E57F2 /* UIView+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = E7CC622C1D24D718342B05051554A93A /* UIView+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 238EF427CBC24F658E1C1FA4E53099CF /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8866E3418AA74CD02353B3E373ACEFA9 /* PMKFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 239D8E853FDFD3C09B0B3A5E85FB64E8 /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11B33EE72A6FBE59A2A5064DAF6FFC4F /* AES.swift */; }; - 244E287BB7934E5AB37BB61D5C587814 /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07692AF4D5F0A8907862595FBCB74ECB /* firstly.swift */; }; - 26A36281153F7D8DF3A79BDBA897DF26 /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = 778AAAE605119A0341DA4378ED873181 /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2704B064A229223D40B136571F157C09 /* PromiseKit.root-CorePromise-Foundation-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E14AE09BC14CD1D5C3AD72803E39C00F /* PromiseKit.root-CorePromise-Foundation-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 28C3E22A6B7DDE77EFF9E56199884D40 /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EF2B2E6A827BEB4095C69760A095228 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 290854FFD3516C0BA20E66AD41986C4C /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AF444B003D1A7B9026D1AF8B3B5B699 /* HMAC+Foundation.swift */; }; - 29A615F1F902BA0EEE2F11FCE2784435 /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CDBE2B78BCAA950F79B74C3FB2E228C /* when.swift */; }; - 2BA16B5D2DD651E485E5496216F6996F /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93880388A03A6AEAEBFC90F7F533AAD /* StreamEncryptor.swift */; }; - 2C4AEC06516A5EFE1E600BB0A30CF6D0 /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 5ADFA6DD652FDF2433DB8FB46C2B02CA /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2C9D9A8F2D6CC312D0001D0BB11DEC71 /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B7931AA08AA6E50FAE2325FDFEC9669 /* ResultProtocol.swift */; }; - 2CD358B6D6909178593465B26D6A6E53 /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEEB8AE79B5DA3255A444BD9E125CC15 /* Utils+Foundation.swift */; }; - 2DD480A5DBA913244A3AF776CECCDCF7 /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FF537F705CA3D41D9798A4511A8F24D /* Authenticator.swift */; }; - 2E9282AB77EBAEE8B8BA2BAADF6E533E /* after.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302BA93FAE34FC2BAD89C5501C21611C /* after.swift */; }; - 2E988C0A4E1C468D0AFA43A95482D911 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F87371895A84370E0ECB153DA5CFF62 /* PBKDF1.swift */; }; - 2EDCE4A3A80772C88E0B4031FE4D86C6 /* Words and Bits.swift in Sources */ = {isa = PBXBuildFile; fileRef = 268F48810699A9A9AD79047FD000B499 /* Words and Bits.swift */; }; - 2FB34A1FAE745E38E438FA434B64D592 /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = 184318AC3420D7DB5A094F601C869C72 /* Checksum.swift */; }; - 3041A5B7E53D75209A5C347950817958 /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = A414F7D6F59CB6D7C5696F98992E80A2 /* BatchedCollection.swift */; }; - 3076C2BFCE18E87E466B62F19D59F57E /* scrypt-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B28A30F352D7AD1E7E83DFB9BAB49C0 /* scrypt-macOS-dummy.m */; }; - 30A46D981AF2AC75EDB85CC3C5C7FAF2 /* AnyError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26A07B357C5F42ABC4E5A41480B9B5E0 /* AnyError.swift */; }; - 31200E73742F8C75471A9E1E934AFD6C /* hang.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAB3BF2C1D04839054658D7999609AFA /* hang.swift */; }; - 312FED65DD6B7D4E4C0AF196082B4292 /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BBCEC526DF7F5F6A046CBAA7F93B530 /* SecureBytes.swift */; }; - 314D8B2F7ACB1285289701FA44D49A3B /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D7C8185E119AF505859D0B27973E57E /* AES.Cryptors.swift */; }; - 315E61FA169A73000F63292BBAE8457F /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1EA13DCEFA32B29351F75416999B53B /* DigestType.swift */; }; - 337EA355DE058979DB126870227A42DF /* Floating Point Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FAB45044F3A646E2488529698B14387 /* Floating Point Conversion.swift */; }; - 339018FACD17608CC28A77397F15523B /* UIViewController+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DFFEB20DCD9CFCA06DAE16B4367F1B9 /* UIViewController+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 34D61980DF37C53741DC15DEEDCFAC25 /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCDA16C2155C3C3AC4C4D3C23A57EC12 /* UInt8+Extension.swift */; }; - 354D68B8C8B6D4C003BDB91E8A1D680A /* String Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7DFFB650AB055EA65177877A4837E93 /* String Conversion.swift */; }; - 359269757B7FED4424DD9489F42BBB49 /* SipHashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2C42F3DFC4E6CC75140A86DF8616CC3 /* SipHashable.swift */; }; - 35DAD73CA3D181C3820B7A48AAF6B788 /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 32804240A56A511992C9AA367655CDBA /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 36DB5AEC759BAA7C4222B36C8790FA8A /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = A414F7D6F59CB6D7C5696F98992E80A2 /* BatchedCollection.swift */; }; - 370C7FFEAB64F443F216B37A2B33F106 /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = E88F02B72D0ADCFDAA37C5D63ABB3679 /* NoPadding.swift */; }; - 3755C12BE9E88D2D7E5765B3CDC80DD9 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1961CDC6282709B9B35B8F757754E1A /* CompactMap.swift */; }; - 377C6046F93E7409F3996D06ADAD4CC7 /* SipHashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2C42F3DFC4E6CC75140A86DF8616CC3 /* SipHashable.swift */; }; - 38B6E072F812605CF0B4FA03B3528A82 /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E865E2465317D7395EFFC3E15BE3B82 /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 38D8B82703E87B790A4D8C9B749644DF /* Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D159242CC5E8F83FDBE6973BE570CA54 /* Comparable.swift */; }; - 391B4F1D6A8EBFD3317BD7B4637E0B42 /* PromiseKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A75A46146F4FF1C0CB840CA36D75492 /* PromiseKit-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3A0BDEA886E92E674AB63F02A38A9044 /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 97CA37D99BC06AE9B4704C72A22686E5 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 007D8C70EA5C374EEFC5A7638DDC710B /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = B465593568C60A48E4A42D1A047995E4 /* join.m */; }; + 00F9F735E6AEACB1D79CC24FE2570030 /* after.swift in Sources */ = {isa = PBXBuildFile; fileRef = 889ED076F99BD2AB4920EC9A5ECAFFDE /* after.swift */; }; + 01383C5F2BD3FBB6187DA01215BCB2FA /* RLP.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE0E6B0DB6C8369C0409240023B753BD /* RLP.swift */; }; + 01E683D1A55DCC27F48AC9CF8CDCBF03 /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99490114EDAF958B866019F3B4C71077 /* ZeroPadding.swift */; }; + 02CF85F0BB6137CFF5890DC9EF981267 /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62DAA30A02BECECD3B564F1546CE3343 /* Process+Promise.swift */; }; + 036E2618599F02C9CB7D022B49CFFA1A /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 69DAF4AC1AD4ABE697F2A9B28B2742A9 /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0545829A927B4BB00A483BBE6244387D /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FFE51D4F185433A05C0BD38B8F2A5CC /* HKDF.swift */; }; + 05923951C32119A5CA2E4CE5B75CEFBE /* AnyError.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4DF3EE5AB6E8CC14DA313527875575F /* AnyError.swift */; }; + 073B1A00202EE57EB54BE1D3D540C2DF /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = 88F32E8C457272E137BB38662B42445E /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 08D84886240259762D5D2E88FE06BAB2 /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 354EE4D14557CE745D7020B65D22B49D /* HMAC+Foundation.swift */; }; + 092FA91C224FA67526944D6026C42719 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC74A6C891271F3176D0A8781C35C2D0 /* Int+Extension.swift */; }; + 0A1610D5063DE2AE6FD20FBA35E267E0 /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CCC239B4BCB58F6EF7C6E22E0D80102 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0AD8E3063BA9777F2313604C49FB35DC /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B1BF3EB7A67274C92EEEEF1D636696 /* BlockCipher.swift */; }; + 0B21F43DA91211F06BA2166391E44172 /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = B943A73349F77F75B8C3055D2E94C04C /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0BBCC69CD1D17E80AE051FB477BDD3D5 /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F80A642AA09FE49288321BA985716AD2 /* Array+Foundation.swift */; }; + 0C97CA12738F0F679E2AA3BD6FD899D3 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = 7663F04B24B87395872D526DC48DC43C /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0D581B37DEE69673B5F6AF763BEAF9F0 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1E1805F59DD3B99C4A24A6B69DA1738 /* SHA3.swift */; }; + 0EA8DA962874703B604E7D0C284F64F1 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56831D861C9C68AB6445D1B373489CCD /* Box.swift */; }; + 0FB79BA6789A195C987F2180A58B6AFC /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3A74DAAF802F643B5F00446BF21F89A /* CBC.swift */; }; + 105F429373F6706BF003DD2C5E1AA9C6 /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 928C9306D44A4F06DEDCFDA02220D548 /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 10650E08C4710FC9327EA77E080EAFBD /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67946900D6375AEDFA1C113E2A5B2794 /* Cryptors.swift */; }; + 1229DEE3B9CC3F49645AF6530096597C /* race.m in Sources */ = {isa = PBXBuildFile; fileRef = BAF5556D32E479626438702FBB2B206E /* race.m */; }; + 12DA480A98F43E8D514FD77105246316 /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 592D721B3C087135B76612BE7D7B3701 /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 133747794F37E3A739F51CB04EAEC784 /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BECA27963AB5B81C6487F1AFF447EE3 /* UInt16+Extension.swift */; }; + 14C6C90D414DDF5959AAD6D49D4BBD77 /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = 8B8AE60B95D9DA9615B03EE888C7F908 /* secp256k1.c */; }; + 14CE101A185E7F4C98959036549EEAD6 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = B78A9314F721CE7FE8EE68290ACF962A /* Result.swift */; }; + 14DB22276CCD7E7CC84DEAFC67358569 /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A9E16D69CA56EBD70D7C0B65E06FA1 /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 158F6BC9635AF0C4F8FCAD1FB913BB45 /* Division.swift in Sources */ = {isa = PBXBuildFile; fileRef = 260C8496D4BED6EDC41A2FBCF2E87AC6 /* Division.swift */; }; + 160B4BF9DB9EB617E146CC2E9C883C7E /* AnyPromise.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9FE34B65B17D095EB1999C6F5667427 /* AnyPromise.swift */; }; + 172EFB075E38CF4867F6A5978709A512 /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E4050C50BE4522F2AB113A1EC5B6ABB /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 18657716987587225DBC37ABB461F275 /* Pods-web3swift-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E91F337EA3979DB5DD84C325A340270 /* Pods-web3swift-macOS-dummy.m */; }; + 186AD9B44240324FF4C4DBF0A8AC935F /* Cimpl.c in Sources */ = {isa = PBXBuildFile; fileRef = 070EBBE505C1F8FCD5F159DDBB5D41C7 /* Cimpl.c */; }; + 187B191D2E4399E1567DB24BD93F0486 /* SipHash-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 547B7D1303121A36C02717193279DF7A /* SipHash-macOS-dummy.m */; }; + 1904E18F6CE01618BBBC1B31E43B64EA /* BigUInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AE91BB385A7A2911773305870D337C6 /* BigUInt.swift */; }; + 193CE1B123F216F0140298A506854F9D /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02BE2C0884A4C644A5B276E1781D2DCA /* Random.swift */; }; + 1AAC341916DC64CD28D08BDFED57AC9C /* Shifts.swift in Sources */ = {isa = PBXBuildFile; fileRef = FADA29CA311EF9A86381521A5E4C366B /* Shifts.swift */; }; + 1B1A69F5303E8DD6740A8234E719F76A /* BufferStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 029D928F404FA2893E2304CF78B3D8A4 /* BufferStorage.swift */; }; + 1C12A92A45B56442DF1BF2D3108BD0D6 /* NoError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65695D88202B0FFFBE40038E32FBE234 /* NoError.swift */; }; + 1CC09F75AC87A194EBB50A8750BAAE94 /* CryptoSwift-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E7BEC4ABD719ED13864904F5601B1EB /* CryptoSwift-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1CDB406411B86AC9E8D84DAB2C97DD36 /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D23E94B867181F85C5901C85231758D /* Promise.swift */; }; + 1D23298D0D9B4910ADE40DE633078E52 /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0BE0F8D8AB5D3091421F18BD6A6A10D /* NSNotificationCenter+Promise.swift */; }; + 1D69BB026569911275C713D240084FF2 /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = B44892C52E2EF6449BEC05C26F4C7481 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1E11D4AB7D83F30DC55ED31131C62967 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CBA3A66080B4CF784ADFED0326CBC82 /* String+Extension.swift */; }; + 1E1385AB09686A96B636755A4447933B /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EDFAD6F2EC5C3407650B54B9A5A4BE8 /* fwd.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1E94C3B3573434FC150CFE79FB8EA24B /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = A84CAC1E9ED891BB925E32AD866EF4F8 /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1F22A4026D790826AA156354694CBCC5 /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E8B5D15467ED805F6B33150518D8C10 /* Resolver.swift */; }; + 1FCD29F6706433B229F21EA39F8C3597 /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = B983E877B34D130C7F0E41197599CAF5 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 209D55736C84A40D70E5CEE59018C4BA /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A91DDD53F519E555416888F6747C0D5 /* Error.swift */; }; + 20B709359C09D72B58E11D9B585EBF36 /* scrypt-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 056B0F39C844D4045CA15B32CA96A334 /* scrypt-macOS-dummy.m */; }; + 216986247596660CFCD4D997C374D548 /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9E6DDE5A0AF4D0B343E4D3AEE9DF983 /* Collection+Extension.swift */; }; + 2175C9F92182A75746B5770B1C01D70C /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = F421A94F9F1E378421F3B3C56314E368 /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 221D9234B8A18F610B920F836A7855AB /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C0010565A5FA9F18F27870EA632C4D3 /* afterlife.swift */; }; + 224BCAC718A8A96B1494162E8F1FFA50 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 3DE637C08FD6A423A48096E7D58B1610 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 22FB7357D696E831ABFF6CDE1BC35757 /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75335D15747F097BD0A9500504DC8775 /* Updatable.swift */; }; + 238296CA2E8752527657C31802220A24 /* Result-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C05BD716367802B1AA84356C6E21134 /* Result-macOS-dummy.m */; }; + 239D8E853FDFD3C09B0B3A5E85FB64E8 /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13F4C1E92ACB15583B361380492AA797 /* AES.swift */; }; + 23B9A85EF3D0D9FE26611DBA312205BF /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = B465593568C60A48E4A42D1A047995E4 /* join.m */; }; + 23BB4D6CA0785AB14CFA443BBAB22B54 /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D0614C48A73B812DC34E2FA48DD6F42 /* PMKFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 24361E1EC1CCE0031F26E38746EEE1EA /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = FF99AA927653D804503A7BA37208076D /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 24DA9F0423F82C80205C93EEF0CFF381 /* BufferStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 029D928F404FA2893E2304CF78B3D8A4 /* BufferStorage.swift */; }; + 25C0F08157E3C0F2A0E384774F373EE2 /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = CEACC0FFCDDB8D3FD78976F0CAE8FD61 /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2618ECD8B43241610183A733721C0AE7 /* SwiftRLP-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DD23C6C5D50E713EB68838F0DB9E3BDE /* SwiftRLP-macOS-dummy.m */; }; + 27FD0E227A0BCFB5C96957DF1D24F65A /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 0376FB05CE1FC3FC061DD2CFE3DE0C6C /* AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 290854FFD3516C0BA20E66AD41986C4C /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 354EE4D14557CE745D7020B65D22B49D /* HMAC+Foundation.swift */; }; + 2BA16B5D2DD651E485E5496216F6996F /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE18F632CE594C2E2CCA9A0490532CB3 /* StreamEncryptor.swift */; }; + 2C3A50BE13F80D74D2E8E3B3E6F503A5 /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = D8F35E00F2D89D45B3441C99BA910A82 /* NSURLSession+AnyPromise.m */; }; + 2CADC319FC220364D8D53E197C933DF9 /* Result-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 44A4652793E17CB674C8F7E82EA886A1 /* Result-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2CD358B6D6909178593465B26D6A6E53 /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6954BF93957A2CAF08330D9214A7ACF2 /* Utils+Foundation.swift */; }; + 2D2FE7ED51FDF3B95792AE43AAA8C9C3 /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B6B5F54FE477086DE9224F151F9D3EA /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2DD480A5DBA913244A3AF776CECCDCF7 /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 629A9B1DDCCA7AF069A948D996B8B34C /* Authenticator.swift */; }; + 2E988C0A4E1C468D0AFA43A95482D911 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = F342E030AE1A607D64EAC3488CFB51FC /* PBKDF1.swift */; }; + 2EA3D0F6274B79F77FBD6D089B7067E3 /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 63A1F06664FED90C2B7F7989990F9EE3 /* NSTask+AnyPromise.m */; }; + 2EB46ECD84B1069C5D85756E35BE3A86 /* NSObject+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ED8894D488852DD8E6F75780785F814 /* NSObject+Promise.swift */; }; + 2EDCE4A3A80772C88E0B4031FE4D86C6 /* Words and Bits.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2C015DFFE7F497B97D0DA1C8C7AB69E /* Words and Bits.swift */; }; + 2FB34A1FAE745E38E438FA434B64D592 /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0D7A0114EB8569F1C403A6574C016E8 /* Checksum.swift */; }; + 3041A5B7E53D75209A5C347950817958 /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = CACDBA26EFF10F14AAD8F7B3DB4F650E /* BatchedCollection.swift */; }; + 312FED65DD6B7D4E4C0AF196082B4292 /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = F415B88D0858CD731ECC4C37D0E1F83A /* SecureBytes.swift */; }; + 314D8B2F7ACB1285289701FA44D49A3B /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68C55BFCA12A87EB647D36A87908A1D1 /* AES.Cryptors.swift */; }; + 315E61FA169A73000F63292BBAE8457F /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA9B1AD24E2B5EFD0840B6FD38C85994 /* DigestType.swift */; }; + 31BFC50C75020E436DDA0F9AFA73D067 /* Result-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 98B2E87BB6ACFDFDFA8C3C8F69BE06E2 /* Result-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 31F0E9474F7FBB1C97F5EF570A5C681A /* PromiseKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0543DFF3F653D9C90A60EB28027C61D8 /* PromiseKit-dummy.m */; }; + 33194D0CBC51F3CF9555DC514AA2E059 /* dispatch_promise.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C8C505AC16C4F7922DBC4160AC3448C /* dispatch_promise.m */; }; + 3368BFCA6F37472A3F80E757FDFA5EC6 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A91DDD53F519E555416888F6747C0D5 /* Error.swift */; }; + 337EA355DE058979DB126870227A42DF /* Floating Point Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DC3346C75E669B5227A78FA15785FB3 /* Floating Point Conversion.swift */; }; + 33D8E60E41F6C1C6591FBED80B4A95E4 /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 67580A9D6645C39D002E66190B1B2B66 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 34D61980DF37C53741DC15DEEDCFAC25 /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BE11FDB9FE69A172C6101D8842D30EF /* UInt8+Extension.swift */; }; + 34FD56F4316A5EEA70A5285A93B5D29E /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 406DA39A86D0ADCD3E417FD3B1B405F8 /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 354D68B8C8B6D4C003BDB91E8A1D680A /* String Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 648DE2BEBFB01CEB5B721BA04955EAF1 /* String Conversion.swift */; }; + 358FB06B0B99F2187EA1658EA97F1020 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 638D0AE5AF7E8F2016849D61CA3C54E4 /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 359269757B7FED4424DD9489F42BBB49 /* SipHashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD229288A14A42E6F98A2F3F4C019A9D /* SipHashable.swift */; }; + 36DB5AEC759BAA7C4222B36C8790FA8A /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = CACDBA26EFF10F14AAD8F7B3DB4F650E /* BatchedCollection.swift */; }; + 370C7FFEAB64F443F216B37A2B33F106 /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88EC012A11A5D51BC077A26441D4957B /* NoPadding.swift */; }; + 372CD468A7496DF050E653C20AB8AC1B /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 67580A9D6645C39D002E66190B1B2B66 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3755C12BE9E88D2D7E5765B3CDC80DD9 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04ECFBF1BF17192FF4F65A2E96AB714F /* CompactMap.swift */; }; + 377C6046F93E7409F3996D06ADAD4CC7 /* SipHashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD229288A14A42E6F98A2F3F4C019A9D /* SipHashable.swift */; }; + 38D8B82703E87B790A4D8C9B749644DF /* Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAE868DDC6B50E704178E9C6A7BCDE4C /* Comparable.swift */; }; 3A611A77C4E834E1E7F375E6362DB0D7 /* Pods-web3swift-iOS_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B56F6A20A0CF698ECA0EDF6CF4CDD74 /* Pods-web3swift-iOS_Tests-dummy.m */; }; - 3A7D4D17062363D0D7DE5405827EB6D1 /* Guarantee.swift in Sources */ = {isa = PBXBuildFile; fileRef = 991C827F3BBAAEE28EE416BE38F76DD0 /* Guarantee.swift */; }; - 3AC07C0FB85EDC81532D78FAB99C85B1 /* BigUInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14B10E35F3FEA07B3ED6132C871686B9 /* BigUInt.swift */; }; - 3AC689CBB3DC3931542904E58800704C /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEF9AB34E06A2A4078A0C87B37B1CD0F /* RandomBytesSequence.swift */; }; - 3AEDA0F0A0D1B6B201C42C72941FCE3F /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0E096DA6BBC65953BD97D1BD9FDC13A /* Blowfish+Foundation.swift */; }; - 3B3C7BC5E53C195B74B659C5D3445385 /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 07F62FD29EAB7298762C10A21294A6B1 /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3B41981C0A080D47C5C9EC0F3FFB7611 /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C0825E5C07CD2AD15EADE1A4F132C24 /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3BD9A23A6A10CF688F51418A5C0A926C /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 30F699976B957E8821EB632AF092C14C /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3E08A96B92AD3C76A8C13B5444DDB23B /* NoError.swift in Sources */ = {isa = PBXBuildFile; fileRef = C57F8890E519BE45C84FBCD5E06453AF /* NoError.swift */; }; - 3E20F5E2C7DA6C8B4AF7D05CA526183F /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EE7CBB8299AB71F5275827AA34C853A /* Cryptor.swift */; }; - 3E5D7D6D073F33181BEE8BBAA47E427E /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 3736F60D986568A8151FD480D9648F38 /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3EFA188E4DB94F776E9769B16C85FDD7 /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D93F53AAD0FD5DB616A5E1C69164F0D7 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3F474D94A325AFDB74206B0CD0790920 /* SipHasher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 602BCDD7A6B60ADA7204658627037B22 /* SipHasher.swift */; }; - 3F78D2AC31E0DF3F1BF6300484D449AB /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = D37DEA7A8B3EBEC27D9109471669A4BF /* secp256k1.c */; }; - 4012B628413F1BB0A86D23CEF67DDB93 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8575ADFAFEFEFEDACDC32D01960AE2AB /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 40EFCF53AC23E42E8CE500F73237112F /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 42EA8B8CA97A07CABD4DBAC9F8610993 /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4262E028B1F9886FD1163C16D5E39C88 /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = FAA8118238A7270948998466F81E6253 /* after.m */; }; - 42C6DB05A3663AC4AB08317F9287797A /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 231D53FA7D46749E94693152ECA561B4 /* AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 42FF2C1D3648C354550AC88EE5E64B80 /* Data Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C8A77BEACE815406E69A6AC5A86CAD0 /* Data Conversion.swift */; }; - 431B4A873377BAA0B7101CA62F243F69 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 2385B17AD9190A207792185ECE5CD9C7 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 43211F1E91C824A5FC64E00B62E5AB95 /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = BAD09E8EE27EB4BA87F1F0237E0D7537 /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4394019D91B5D15A9BB24CE7CA201410 /* NSObject+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15059FCA7454E93E51AFB7275C28A335 /* NSObject+Promise.swift */; }; - 4407ACFACA948CBA51F56B96A99EE4CE /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38CE3ACA4B29354641417DECF1CDC5CF /* PKCS7Padding.swift */; }; - 44DF067E138C7E2662D76052B1D15932 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9612CFC925C44DA818604C666EB454C /* Operators.swift */; }; - 45482DED636330B9BCE4493225B66813 /* Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D159242CC5E8F83FDBE6973BE570CA54 /* Comparable.swift */; }; - 4562B917950C9F7E1CE07191DFDA096D /* race.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9C90F0F0F9A0115AC326304EB131CA4 /* race.swift */; }; - 49BABAEF57C8A617DA34C25DB757180B /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D7C8185E119AF505859D0B27973E57E /* AES.Cryptors.swift */; }; - 4A5F92735335EE5F55A619EDD9382812 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C9596E2D0164256EFB0F1673E724BB1 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4ABE0DFEC60E5ADE9205151D88B2F08B /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 309EDA4AEC3E9553B1C5228CB1CB760F /* Result.swift */; }; - 4BA76EF32D81038B1AD2E8C555A3C985 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9612CFC925C44DA818604C666EB454C /* Operators.swift */; }; - 4D424F348E7A03D67FCBFD968F07E772 /* hang.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAB3BF2C1D04839054658D7999609AFA /* hang.swift */; }; - 4D7DEDC820A1EF913455BC0FBE72FBD6 /* BigInt-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 10236EF8647E9F61C53670449679E133 /* BigInt-iOS-dummy.m */; }; - 4E4F07B24DAB1E29AC81AD866A43C376 /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = EC2691B355719F37BCE2B9EB79640902 /* lax_der_privatekey_parsing.c */; }; - 4E8C968B4D8B860668C9C36CA819BF70 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1961CDC6282709B9B35B8F757754E1A /* CompactMap.swift */; }; - 4FCF1CB933BEBAC5D0892C543D68E658 /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7FE282781FCA8360DCC5EEC2DFC9045 /* BlockDecryptor.swift */; }; - 5063FE3FE1C30A73A073F3533C508D64 /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BC87D5802ED83EA9011FD6A3EB7B4D3 /* AES+Foundation.swift */; }; - 50FF7D4212CB39686DFD6FEAA3C5FEC1 /* scrypt-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C3C66A0B084556BD285AA44CBCA65202 /* scrypt-iOS-dummy.m */; }; - 5104F193E7D7CB179A24BF3E5235FD3F /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1EA13DCEFA32B29351F75416999B53B /* DigestType.swift */; }; - 51CAAE01BFF59F085BC9B34842E3C7C2 /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07692AF4D5F0A8907862595FBCB74ECB /* firstly.swift */; }; - 51DADAE211CE77CDDD762DF1F5FAA236 /* Exponentiation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 129F0BDD5D5540B28243DA06090AEC11 /* Exponentiation.swift */; }; - 52FB4B4296FA803827D3F78B1EA7FF8C /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = 110AED7E75239B43DC836BF06AF22BCE /* afterlife.swift */; }; - 5378A6D7FB3F30FD0F2D5EBF728C481F /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 42EA8B8CA97A07CABD4DBAC9F8610993 /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 53FBBFD161D6A1C13A33616571645C5E /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 520379C6715340D2674500ACBD1C4502 /* Catchable.swift */; }; - 5518BD53D7F73216E2695680ACBAC221 /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = FAA8118238A7270948998466F81E6253 /* after.m */; }; - 557E070EDC1D983960128B12A77AA293 /* GCD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17049D2192C6CCC8A8BE362B66ED01E6 /* GCD.swift */; }; - 57A82484117095DCA73446B1E6ECFC32 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 894C3E3F18C4D842D9E35A6A69851AF0 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5A5911FA8E88B73CCAFBFFA88D5B9E35 /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = 030837B4EF44BB6736CDF5FBF205E93E /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5A8B48EB086264AB7340C7FBF07D7383 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F213EA122AE5157AD579B519B42CAA5 /* Utils.swift */; }; - 5B58F3471510812FD864BF21791F7497 /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6AD63B104B462BD7A0812CF8D8089 /* Resolver.swift */; }; - 5BF15FCDA2CA5E504F774B93C1EAA123 /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2FA1DA6CAEC899929310534A250E53B /* OFB.swift */; }; - 5C173DF75AE4F4E54EB9DD7D68D44568 /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3C749DBE031D5CD32F6F718288C1AC0 /* Promise.swift */; }; - 5CA03C34BCCCA0FC29653E6A50C0277C /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 30F699976B957E8821EB632AF092C14C /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5CA9E73F8349BAC9F5EBD1F0589C91AD /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CB44D970BC24207B7D4CA4DD2644E2B /* ChaCha20+Foundation.swift */; }; - 5D44B3C73A389261EB15DCD7849BE6DF /* PMKUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = D175F930B0613AAEB35FE3D02276CA4D /* PMKUIKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5E0F76D46A3F14CC3903F4D072D6652C /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C74C1E23D6AF919642E4F6E55FD308 /* BlockModeOptions.swift */; }; - 5EABC52C76A5F7DD29136E5C10CAA368 /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A699FEC4F0274F833ECDEB986CAABBD2 /* UInt32+Extension.swift */; }; - 5EBCC3EF4D3AEDA8DE7D24EAF054A21D /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF5CF52D91122CF7B77E75FAF93251C3 /* UInt64+Extension.swift */; }; - 619A7209AF68E44B937A8C030287B0CA /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = D6FBFF07C73E9B536C49D3D32A989327 /* join.m */; }; - 61C9BCD007508C2CB8959FA50BF0F53F /* Addition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F24C4B729147ABA4455041FEDE41FE00 /* Addition.swift */; }; - 61D043FD677FACF7F382F67A430A7F62 /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 400C4535441BC4EF157E1C50C654B28E /* SHA2.swift */; }; - 63FFA36A34A36A797BEA3D7EDF4CC3C8 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 33EBDEB3CCBA0EA3C7F7CB093743643E /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6483A6AC993D8C5F8983064789F220B8 /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2290B9153347A3369FAF03E04A19326E /* CBC.swift */; }; - 67722A22A203CDADAD4B402AED93007B /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31E6AD63B104B462BD7A0812CF8D8089 /* Resolver.swift */; }; - 6817327279945D8425268EF14CDDAC21 /* Primitive Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = F685B50C77BC588736193EFC93B3FAFA /* Primitive Types.swift */; }; - 68F0D885CE489382878D120C3BA4B7A8 /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B7931AA08AA6E50FAE2325FDFEC9669 /* ResultProtocol.swift */; }; - 698DB1FA7FF3234946A86E51AF828F39 /* RandomUInt64.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5571DA87BD8084546DB65E212E690849 /* RandomUInt64.swift */; }; - 69BAB45539E26B90D356BD6D1E6839BD /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CE50C1C3EED312C9E2B7129A77B305B /* SHA1.swift */; }; - 6B050CF87A4AF6792BB270FFBD764A76 /* race.m in Sources */ = {isa = PBXBuildFile; fileRef = B592EEFCCF7F964D0B60F749B17B7658 /* race.m */; }; - 6CE3E12734602C2051BDEA332E5F55CD /* AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 6565B9A6640E27ECBBF27A2AB8E07117 /* AnyPromise.m */; }; - 6D44B36B12347BA0E2838B68148C4BB4 /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = F618CC73DE8826F0386137F6584B6A57 /* GCM.swift */; }; - 6D55E98E3CA63D1202BE0641D7399EE8 /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = 86010FFDC0CB0732CC170A6EB5EC36A5 /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6D5CD948E7245E25D3815643B2B4C89D /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 321B194E1B8A3A3929C651A01648EF4A /* Array+Foundation.swift */; }; - 6D92208E7FD3D5F577A4CE8CB9408544 /* Cimpl.h in Headers */ = {isa = PBXBuildFile; fileRef = CC773B77A5A65E3C63F4C5305CAD01D1 /* Cimpl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6DBF333CC01A4E9765AFF12263B05CF3 /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3C749DBE031D5CD32F6F718288C1AC0 /* Promise.swift */; }; - 6ED4064256289FBBEBDBF2C1D4C347CA /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BC87D5802ED83EA9011FD6A3EB7B4D3 /* AES+Foundation.swift */; }; - 6EFDB00864D7D2230D576768C0C445F3 /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = 96BC14C5CF69F4D24A02B045A7A1BB7E /* fwd.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6F5B521B508C0230EF8488842DE2C905 /* SipHasher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 602BCDD7A6B60ADA7204658627037B22 /* SipHasher.swift */; }; - 6FD417369E56DA302F107E9478D4A735 /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 9419704F82CEC9143EC36DDD7E0B5565 /* NSNotificationCenter+AnyPromise.m */; }; - 70DA4C91DB3C9D2179662801D68386A0 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 894C3E3F18C4D842D9E35A6A69851AF0 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 717B05FECD48B3ED8481296EF0CCF350 /* RandomUInt64.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5571DA87BD8084546DB65E212E690849 /* RandomUInt64.swift */; }; - 7193D179572C3FAD861BD281EBBE0794 /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2FA1DA6CAEC899929310534A250E53B /* OFB.swift */; }; - 7239F0AB8B86ECA736377C06ADA831F9 /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 97CA37D99BC06AE9B4704C72A22686E5 /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7314A1C475E3E135C16C733C84508F1D /* NSObject+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15059FCA7454E93E51AFB7275C28A335 /* NSObject+Promise.swift */; }; - 733ACA74E73BC9EA955F347A731DBB5F /* Guarantee.swift in Sources */ = {isa = PBXBuildFile; fileRef = 991C827F3BBAAEE28EE416BE38F76DD0 /* Guarantee.swift */; }; - 736BB84780916C964F46C4B77671A1AF /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29DC94582C8F4626E7BBD65A075FDBD5 /* NSURLSession+Promise.swift */; }; - 74602FF913EBE7791DE8B091DBFC2D6E /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3BEE25ACB7B1714E52C057B725B022B /* ChaCha20.swift */; }; - 7478C4AB680096975DA0F3885DE5128C /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E8B805F5680EBA0F99C37AB55DF371A /* Blowfish.swift */; }; - 75383208B98A4BFB61B7418E8B546CCC /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2D922779E502A6EFC12530D47844477 /* AEAD.swift */; }; - 753EBD02641E8F6F23CAC9B8BE1AB870 /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 7399560A570538454DCA6FC42E879809 /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 75603E077E70073F479AE5B3F89CDC8B /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D22F70DCC90E8FE0E9EC24A5DBABE79C /* Rabbit+Foundation.swift */; }; - 75DFBA4078AA16B9762F25A2068F8266 /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BD07DFA1EC0FD8CF78E837D5A0051A6D /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 768B8E3C8A41ACDBF1607EAD1013301D /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1143B8F0055C240BA0D05D50FC1CC020 /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 76C870EB2A458DD871074597EBF85551 /* Salsa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45C2BE6D1118A5C0F2E549CE3527D602 /* Salsa.swift */; }; - 76F56049518D4E3F2868ECB003F2990A /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5E5C5193E731A76273A1ADACD50AB81 /* PCBC.swift */; }; - 7727C417D26C1F6EBC5668D0FF7E24BF /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 480A526DDBB009A3C8A843239CA3D080 /* PromiseKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 773013B84E21E3867773BCAB6E171CBC /* Shifts.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1166BCE9995875A190DA0C329DD6F3E /* Shifts.swift */; }; - 77EBF711C1B88D92CFC3AFCE6293E015 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 092C4E684DC275279EC695C30F05982A /* Array+Extension.swift */; }; - 789A3DD0AA3D7580E0FCF6389C037D56 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BC5492B1E1506F3725992C713A907DF /* SHA3.swift */; }; - 78A661EDD584574FE574F9F5442C1D19 /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 506C81F04F45BF82E339BD28FB9A6252 /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 78BB8536FFE3547FBB5E621141E01F84 /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 480A526DDBB009A3C8A843239CA3D080 /* PromiseKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 78CF0243E783BB84E94C69AEE8CB1E8F /* AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 6565B9A6640E27ECBBF27A2AB8E07117 /* AnyPromise.m */; }; - 78DB68659C3EA82DD2DAF980F8E703BB /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = 16B7C824120675B47E14A2A872A6DFDC /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 79CA11C1BDDC386FF2A4ADBB513892CF /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8866E3418AA74CD02353B3E373ACEFA9 /* PMKFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 79FA79BA765DEEF172BC0384B7E5CE84 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = D89263E801FAC6A34F7C9D4E3A3066A9 /* UInt128.swift */; }; - 7A0702EE936C773C38F5E4B7F21AB26C /* Multiplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14A3B9C8EDE35875C552679A990B05FA /* Multiplication.swift */; }; - 7A95B0BC386E8AF888E81C3A766D509F /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C0825E5C07CD2AD15EADE1A4F132C24 /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7AC2E47719C68FABBDF2DF9E567086AF /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CE50C1C3EED312C9E2B7129A77B305B /* SHA1.swift */; }; - 7BA326DD0CB90C3E9B6459E45258514A /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B7D33AF1AE938A46700885645D7B0C6 /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7C414865BEC16506132F9910DBD62F3B /* Division.swift in Sources */ = {isa = PBXBuildFile; fileRef = 054B52AFE6F7A33802393B6F7E8B9807 /* Division.swift */; }; - 7C84CA8569B6C593005324DE5F49621E /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D956E4D797535DA55BFACC56BAE7232E /* BlockMode.swift */; }; - 7CEBCAAE658C0E0716B41E40BEF8FB3D /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD4D44D1A4A0B550CAB6D8C2AED04AD3 /* CMAC.swift */; }; - 7DAD16539BA5194CA6515AEA28BC29CA /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C74C1E23D6AF919642E4F6E55FD308 /* BlockModeOptions.swift */; }; - 7DB10EF26A0A2F6768F695BE03C0AB86 /* Multiplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14A3B9C8EDE35875C552679A990B05FA /* Multiplication.swift */; }; - 7ED61B6F717591CD9AEE78153233E125 /* CryptoSwift-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 95FA6138713C5F6E2FBBB866D8A4C6E0 /* CryptoSwift-macOS-dummy.m */; }; - 7F20A41D40643A5EE1FB3E64F1BB44BB /* Cimpl.h in Headers */ = {isa = PBXBuildFile; fileRef = CC773B77A5A65E3C63F4C5305CAD01D1 /* Cimpl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7F46D5244B59340D5B0A7E454860D689 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 33EBDEB3CCBA0EA3C7F7CB093743643E /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7F754A09D7EA3165D9758A80F307227E /* Floating Point Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FAB45044F3A646E2488529698B14387 /* Floating Point Conversion.swift */; }; - 7F8D8FBC1A9C67B326A7F5A04BC3658B /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91836319B3FCCB5A2B1BCE6EF7415F68 /* CFB.swift */; }; - 7FE0C78E1D6CF35FD66403216909410B /* BigInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0955D39FEEF45C034D6A32CD819DA77A /* BigInt.swift */; }; - 80AE7386A1B299C39AAC7F0C6AEC590D /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A6199EF8A43EB0E1F3C0EB7228F575C /* HKDF.swift */; }; - 80D2DC67C9BF404DB886FB1B282408D3 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2806EF87AE8A9188FC203D40F55755F3 /* HMAC.swift */; }; - 8384A7D8940BDD9B50ABF44358E12847 /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3BEE25ACB7B1714E52C057B725B022B /* ChaCha20.swift */; }; - 848EFB4F6CDA94AAAD25CCB2283E9EAA /* Integer Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD4C6A3CDC6FA3F322EA1C393C5CC89E /* Integer Conversion.swift */; }; - 84CCEF3B86065A6C299BE772199B73C1 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FDB2A79B118B2F003B3E6F5A708B701 /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 85BE6E38DF5EF78306F1A4AA5D9BDFFA /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B7D33AF1AE938A46700885645D7B0C6 /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8601AFFE38D08BA40B4AED33D04654E4 /* Strideable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00E44D081910E0A312C3A2879F658B01 /* Strideable.swift */; }; - 874698320130745EC1465E308033D024 /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B32F8420CC3DEDA3DC7BB0407B26FDF /* Collection+Extension.swift */; }; - 8838B2C8BD6B40891B3DCF118A17026D /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D8A60B0639785EE266ACA62D536DD199 /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 88BF6E9DAD1C8B0508E8CFFEDE03C163 /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 506C81F04F45BF82E339BD28FB9A6252 /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 89AD1BFCA3B307CD78AFB34118AC031D /* Addition.swift in Sources */ = {isa = PBXBuildFile; fileRef = F24C4B729147ABA4455041FEDE41FE00 /* Addition.swift */; }; - 8A5E008391D8321CFFAF8C16780EFA36 /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = FD3FC379B5028687E388AD09CFE88832 /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8ABEC41E232F354C6DF2DB60B4AEDF49 /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5E831984223821B4643964E0D16375 /* AEADChaCha20Poly1305.swift */; }; - 8BB491EE5C33542F02AAC503E876F8D9 /* UIView+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 560B0B96D98FDEEAA1623C02B9F6ACC6 /* UIView+Promise.swift */; }; - 8CA95863A4A71897EE45477A562A16B3 /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEEB8AE79B5DA3255A444BD9E125CC15 /* Utils+Foundation.swift */; }; - 8DE8FDE423347EA29D896211A3C2C7CB /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74C8E7BC7B9A663969DC6A1FAE5AD6C6 /* Bit.swift */; }; - 8E189B54FFC987969C2A26D21DB0FB42 /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74C8E7BC7B9A663969DC6A1FAE5AD6C6 /* Bit.swift */; }; - 8EF9B8FF607B9FD70D85D95EA60C804D /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E75AE5FFEFA361D707CC354FF1EB3D52 /* Updatable.swift */; }; - 8F6828B66EC68D2878CEACC7D234DCED /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29DC94582C8F4626E7BBD65A075FDBD5 /* NSURLSession+Promise.swift */; }; - 908767B8A8D3AB83A352870C44DBF7FF /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DC80BC8175DF95AF5AC0777B4379466F /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 90B8891EA1CDC0E2CB923E349FC54D85 /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 3736F60D986568A8151FD480D9648F38 /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 934311E0A7ED33AF227CA6236BE194FA /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9111A66A9DB609E927159CEFB76D4E76 /* String+Extension.swift */; }; - 9346676038E479F7475D304CD3939A0F /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91836319B3FCCB5A2B1BCE6EF7415F68 /* CFB.swift */; }; - 93A04B36AE3206350B85D19862F5F62A /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = 0297F48C8677A1EAF05256ECF6AE81D5 /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 93AD3CA5F13CFF076A06516E303A61C9 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F87371895A84370E0ECB153DA5CFF62 /* PBKDF1.swift */; }; - 95532035A7D2C05E9D78194EF284D038 /* secp256k1_ios-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E769D47A96005469A7B39F23E9281D6D /* secp256k1_ios-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 969BD4FC9172F82D66E704BF544A30AC /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = F618CC73DE8826F0386137F6584B6A57 /* GCM.swift */; }; - 96C6125FB939C1C06CE63AD1E59F88B7 /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E45449F26960667F9B102A7F62C60D31 /* Digest.swift */; }; - 9712E5BC7B1EEE1A02EEA6DC76325BEA /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AB377C96E323960FB5F59BE70C7DDFA /* Poly1305.swift */; }; - 971CF5DA4334D6FC9E1DE7E8118BF088 /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FA266C4746C1D8469AC609FF653BED1 /* Cipher.swift */; }; - 9780B00892C127C1916229C06A751F7E /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 400C4535441BC4EF157E1C50C654B28E /* SHA2.swift */; }; - 991C48377FE8653491950997A605201D /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39CF9703323096F120BB7C18AC3CDD7E /* CipherModeWorker.swift */; }; - 9940F65AAACFEDF8634F4017D31420A4 /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCDA16C2155C3C3AC4C4D3C23A57EC12 /* UInt8+Extension.swift */; }; - 9AF4F6F40F110FAFE3BAC951C7099D74 /* dispatch_promise.m in Sources */ = {isa = PBXBuildFile; fileRef = 01E16ADA85843E6D30083930685D07D1 /* dispatch_promise.m */; }; - 9C93294CF1F7E31E9BCF02381B17FAF5 /* scrypt-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F76DF7D8AADE94E0258CC9A76C4A2C8F /* scrypt-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9CA622EDF0E225A5FE37350E93E7B757 /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8602F37D59CD9AD65EEF65DF7AA62A3 /* UInt16+Extension.swift */; }; - 9CF22D4A3B62E62B50881D0DE45FBDF9 /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2D922779E502A6EFC12530D47844477 /* AEAD.swift */; }; - 9DAE14B88EE655354CACE65717FA211E /* Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51008209B67B821AFF37051156E8A7FD /* Hashable.swift */; }; - 9E85EE2DD5C2A60DF3DE739BD1218C76 /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = E82A76E0CD40E20D9FEC34DAF7889ECB /* MD5.swift */; }; - 9E9A8A8B46304D435822D15C3C38A4AC /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F213EA122AE5157AD579B519B42CAA5 /* Utils.swift */; }; - 9EB99B74724DF089F8A67DB78DC042F4 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58ED9DC4116D9A46B7047B9F3EE44E18 /* Configuration.swift */; }; - 9EBA376F929F46495FD004AC09201059 /* AnyError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26A07B357C5F42ABC4E5A41480B9B5E0 /* AnyError.swift */; }; - 9ECA90F3DC3F75B1A6491658418173EC /* Salsa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45C2BE6D1118A5C0F2E549CE3527D602 /* Salsa.swift */; }; - 9EE54627ED72870C58157B76B89AC3AF /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38CE3ACA4B29354641417DECF1CDC5CF /* PKCS7Padding.swift */; }; - A01F875E651CCF1697C02EA9BF034852 /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5E5C5193E731A76273A1ADACD50AB81 /* PCBC.swift */; }; - A065300D974D4C50642BF3687E0E6C37 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = EECA7B8CA13556F051DCBF44B5E5092B /* ECB.swift */; }; - A19A5C73B405B96CE009AA14C54C9455 /* Cimpl.c in Sources */ = {isa = PBXBuildFile; fileRef = A0BB9A3E4E29EBA29F99C94BBEEEC1F2 /* Cimpl.c */; }; - A2B27FA4D25CFCC93C70B9BB5A5963C6 /* secp256k1_ios-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C85BA37239973340D1056F3EBC7F4F8 /* secp256k1_ios-iOS-dummy.m */; }; - A301F522108F0A22EFA241EBCC8F5AA6 /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D028C35CBC913E3AF71B22E4A3C7D14 /* CTR.swift */; }; - A39E98BB6ACEECBAF672A52457035B06 /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = 21DDCB6C56CEF1430122DCD6370180B8 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A40822AC61959F70D2834E5F4A9A331C /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = F68419F17E2CC2073DDAC992BC39EF47 /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A48902823DC75349716A4753B1E660DA /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DDF10E5AA3EE0D0028933F977F5BF96 /* Generics.swift */; }; - A4A59B0BA1E4153A6BF2917EB2C1AF06 /* CryptoSwift-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C86011CD926858E717E5D92380F2838 /* CryptoSwift-iOS-dummy.m */; }; - A4F8D815D07249B30E393C63694BF3D7 /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CC26F0B1E75C50586670C90CB45F824 /* Codable.swift */; }; - A5FF9C090C00EE25B1035F603F1C3558 /* secp256k1_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 370C998F97BBB1397D09CD78C43A9919 /* secp256k1_ios.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A6ACACF0C2E9DF22C5477F6FE45DA8FD /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CE3EEB40B82A07623C8EC58D511BDA8 /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A851E4E866251283BE250466CCA8F05D /* ecmult_const_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A137B5E1D739B2D491F2842EFFBD559 /* ecmult_const_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A8995C0B368AF79026265F486D640985 /* Primitive Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = F685B50C77BC588736193EFC93B3FAFA /* Primitive Types.swift */; }; - A8FB03192116C7259BDC47B4ED7A1770 /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7FE282781FCA8360DCC5EEC2DFC9045 /* BlockDecryptor.swift */; }; - A93F309C7285ACB8ECAA14903BC85237 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3AE421756716EB8DAA945495A2EC5DD /* Rabbit.swift */; }; - A953ACC3543A00D51383ED73301139A4 /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7540EADD3520F1ECD4BAD23FF29400F /* String+FoundationExtension.swift */; }; - AA08FA2EB9DB4E98494BFDDE5D4B4936 /* Bitwise Ops.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55188AE8B0452B68B54A84FABFBA1BBF /* Bitwise Ops.swift */; }; - AA3403E09DAD47A2C9FCE81A9AB40EA5 /* AnyPromise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C537644BF5D1735EC0FF5E1EAD5A94F /* AnyPromise.swift */; }; - AA40ABA19C4E8BBE370471E77BAFC842 /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B864BCFD33F0A7ABED7DBA75C963A51A /* BlockCipher.swift */; }; - AA48D3B3A44CD568D493A0326D60EEAC /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E45449F26960667F9B102A7F62C60D31 /* Digest.swift */; }; - AB02DBB24DBB4F98005C0C14C342F8FF /* Prime Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C91FB228B4F0EFFE0BB1C457B26A6E3 /* Prime Test.swift */; }; - AB34427D03874A67ED273F44E27CAFEB /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CDBE2B78BCAA950F79B74C3FB2E228C /* when.swift */; }; - ABA18C643B7B9DAE45127BAB6763ED84 /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = 96BC14C5CF69F4D24A02B045A7A1BB7E /* fwd.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AC19417412E8F69BD232DB6370BE9AC3 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 185ADAFCE5AF39098787D861673779B8 /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AC6D836A8BEBC67FAD48B43B80382794 /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B10016CC925878BCF8C1423A7EAD6A6 /* Padding.swift */; }; - AC7E09D1F43A94AEC729A8D8486B85CE /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = B9BCFC62DFEA1FC233306B897C15DE84 /* lax_der_parsing.c */; }; - AEDB6F7FF6DB897F36B275F65C330C41 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 185ADAFCE5AF39098787D861673779B8 /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AFDA9E12CC7195153491C8CD1C0AAD8B /* Integer Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD4C6A3CDC6FA3F322EA1C393C5CC89E /* Integer Conversion.swift */; }; - B15B604450291A246C8420194AFF4B2C /* Result-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 58D38A9B84FEE36DA02159AEC6611C17 /* Result-macOS-dummy.m */; }; - B264AC2DFBBC420DEE1695859273E0E6 /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39CF9703323096F120BB7C18AC3CDD7E /* CipherModeWorker.swift */; }; - B27AC8F7FCD59B1C8879D64E939D9737 /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0E096DA6BBC65953BD97D1BD9FDC13A /* Blowfish+Foundation.swift */; }; - B375AE4058EC8E7A69B2D448B7F36019 /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = 51FFE70E98E00B14A7CEDBC9878713E7 /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B43A930051FDC74CE6667856407BD5CF /* Exponentiation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 129F0BDD5D5540B28243DA06090AEC11 /* Exponentiation.swift */; }; - B47081880A03F74BE985722C4EB78E20 /* scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DC2E6214BB1EB95403BF7608DAF872D /* scrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B48C458D1CB67A6B566AEFBADAE6DE8A /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B10016CC925878BCF8C1423A7EAD6A6 /* Padding.swift */; }; - B51D722CE376EDFD7B663D9452E900AB /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81D592C69182CE946419FE4D30C2690E /* PBKDF2.swift */; }; - B534D1DE7C6E7115E6A75EE8BAA4819C /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = E82A76E0CD40E20D9FEC34DAF7889ECB /* MD5.swift */; }; - B5F389D0404F3ADA27EF686F42722D5B /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60F78E26D6ABB8534A27E28D45FBFF71 /* Scrypt.swift */; }; - B6047589B7129612A0BD9070C008FF3E /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F3C6D22D31BFCC4FBF02C3E813AE0EC /* hang.m */; }; - B640565E1593B250390597C2651078A4 /* BigInt-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C4FBD9EED7C8E73E16CA9B5DC621F56 /* BigInt-macOS-dummy.m */; }; + 3ABE390A4511DB44A24945B088C8E48F /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = AF3BC8F62680B30207131C5C87008E38 /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3AC07C0FB85EDC81532D78FAB99C85B1 /* BigUInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AE91BB385A7A2911773305870D337C6 /* BigUInt.swift */; }; + 3AC689CBB3DC3931542904E58800704C /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 638EF15CE0F571BA9C2C5868DA40EBBE /* RandomBytesSequence.swift */; }; + 3AEDA0F0A0D1B6B201C42C72941FCE3F /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D007141D6A0D170999FBC71CD9227F3F /* Blowfish+Foundation.swift */; }; + 3B100200B920BCF7D6974806539B857E /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = B44892C52E2EF6449BEC05C26F4C7481 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3C8A0D6B372B675A5996296B62C25692 /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = ABDC74FFB2FBBD052E941151A2CC6E87 /* lax_der_parsing.c */; }; + 3E20F5E2C7DA6C8B4AF7D05CA526183F /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9B9A712542DB104270D877BBE57746F /* Cryptor.swift */; }; + 3F474D94A325AFDB74206B0CD0790920 /* SipHasher.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9891F2E1A2F4A5890CC52561833FA78 /* SipHasher.swift */; }; + 417A2304F303DED593E55D2CAF337305 /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = E1B2A6CA027F0CF17E40FED49D6A5E70 /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 41C19BD34A261EF87BC9282C3A634240 /* fwd.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EDFAD6F2EC5C3407650B54B9A5A4BE8 /* fwd.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4216370E79CC772FC2572BB6143CD8BA /* PromiseKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 23603E526EB11889D028149C843F4B49 /* PromiseKit-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 42200366754CDC163F24C7657A6E5426 /* NSURLSession+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = D8F35E00F2D89D45B3441C99BA910A82 /* NSURLSession+AnyPromise.m */; }; + 42FF2C1D3648C354550AC88EE5E64B80 /* Data Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = C98E405B0267998743280361FC7A320B /* Data Conversion.swift */; }; + 4327DB0149A7B915F54982114D289E21 /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = 10063C7AE612FA73E113299D752D2F9A /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4356FFA7A939D1F7937A48DA948D1F4E /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D23E94B867181F85C5901C85231758D /* Promise.swift */; }; + 4407ACFACA948CBA51F56B96A99EE4CE /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DBCB6B50C94F20FB7E7BC301A007798 /* PKCS7Padding.swift */; }; + 44DF067E138C7E2662D76052B1D15932 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40B7ACE16AAEA76CA6C9CAE3FE7BFA5F /* Operators.swift */; }; + 4500CFBCFC034D43487B312FC5483807 /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B6B5F54FE477086DE9224F151F9D3EA /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 45482DED636330B9BCE4493225B66813 /* Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAE868DDC6B50E704178E9C6A7BCDE4C /* Comparable.swift */; }; + 4590A483F08539D557FC4B9123AC3A67 /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D757EF89803E12ABE5A6DC9D35431A5 /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 478D6AC79B09119FD888179B7B3E3948 /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = E39980D5A8BD94928885C59ED6F3555D /* PromiseKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 478E26D3AF13111498519DCF04DF90F4 /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 213FB9632182CBF9A72A027B86282B5C /* NSURLSession+Promise.swift */; }; + 47AE4F4F59DE9319CA4537E806A378A1 /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = E13B83B6C950F75854459F690EF3A6ED /* firstly.swift */; }; + 497FABADEE00EF124C8DF6366EB5C7A2 /* group_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CCC239B4BCB58F6EF7C6E22E0D80102 /* group_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 49BABAEF57C8A617DA34C25DB757180B /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68C55BFCA12A87EB647D36A87908A1D1 /* AES.Cryptors.swift */; }; + 4B7495F07A37948723508823C5903A2A /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = B983E877B34D130C7F0E41197599CAF5 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4BA76EF32D81038B1AD2E8C555A3C985 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40B7ACE16AAEA76CA6C9CAE3FE7BFA5F /* Operators.swift */; }; + 4BAA131CC4AAC980112DCD779019E1A1 /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = 7EECFB1BF73B6EB0684317B85E2EA08E /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4C0745766AD773551AD2F67D8A583AE5 /* UIViewController+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 416DB21C5FE305C78284237079C89388 /* UIViewController+AnyPromise.m */; }; + 4C7033236EE3A20A2AAA6B8F51285FA3 /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = CEACC0FFCDDB8D3FD78976F0CAE8FD61 /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4D7DEDC820A1EF913455BC0FBE72FBD6 /* BigInt-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D484138780C581F7D2CE4E6D0544865 /* BigInt-iOS-dummy.m */; }; + 4E8C968B4D8B860668C9C36CA819BF70 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04ECFBF1BF17192FF4F65A2E96AB714F /* CompactMap.swift */; }; + 4F5E15E5AA1C78F5B4AA3588A8CE4C19 /* Cimpl.c in Sources */ = {isa = PBXBuildFile; fileRef = 070EBBE505C1F8FCD5F159DDBB5D41C7 /* Cimpl.c */; }; + 4F8294D7CD9C06B4BAF8625E87D9D05F /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D606F2C64242F4C4424FF77060007794 /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4FCF1CB933BEBAC5D0892C543D68E658 /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2503DCCE1598BB4D7E580AB0CB8E807 /* BlockDecryptor.swift */; }; + 5063FE3FE1C30A73A073F3533C508D64 /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0551BCBA17CFD8A37D9E9C9F95EB6D0 /* AES+Foundation.swift */; }; + 5104F193E7D7CB179A24BF3E5235FD3F /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA9B1AD24E2B5EFD0840B6FD38C85994 /* DigestType.swift */; }; + 5111BFCE88BC6C575354E725D7569A17 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 638D0AE5AF7E8F2016849D61CA3C54E4 /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 51576520F03EFCAB1BA67BEAA79E81B0 /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = AF3BC8F62680B30207131C5C87008E38 /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 517719A8F7EBDD02A80FC21F1246D335 /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = 38B4EB729C6E19E85E5F7500BBFCACF4 /* when.m */; }; + 5185A27FC19CEB1E69F99F8CE56639A9 /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = BBB1686A6F8A3ECF8119E0B9026493AA /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 51DADAE211CE77CDDD762DF1F5FAA236 /* Exponentiation.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEA00FFA03F2405A1DD8AAB823BC5CAF /* Exponentiation.swift */; }; + 539700CDAD65FF7CAC666B4C99261E10 /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = 38B4EB729C6E19E85E5F7500BBFCACF4 /* when.m */; }; + 53B8C2D24E27198BE0F12E576F7989F9 /* Guarantee.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DA63B5CD137C32932CDB5DB0C7A036C /* Guarantee.swift */; }; + 557E070EDC1D983960128B12A77AA293 /* GCD.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8E8AD7E4D46EAFE301BAE49458CBADF /* GCD.swift */; }; + 55AD64D3F27943249ED212756122D497 /* AnyError.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4DF3EE5AB6E8CC14DA313527875575F /* AnyError.swift */; }; + 563E37F7F956CED55AC3793CD37445D3 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = BADDDC4615BBD4973A52693314F92956 /* Configuration.swift */; }; + 569DAD122746A7696C6305FDB8B9ADB8 /* field.h in Headers */ = {isa = PBXBuildFile; fileRef = B943A73349F77F75B8C3055D2E94C04C /* field.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 57757EDFE754713488D29934C64FFCFE /* PMKFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D0614C48A73B812DC34E2FA48DD6F42 /* PMKFoundation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 58A0398843A05951A20C16C736C2F649 /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CA875E3478CF42FACB3165CBFAE86BD /* Thenable.swift */; }; + 5A8B48EB086264AB7340C7FBF07D7383 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97C1287E8FD172526EC3409612A97C23 /* Utils.swift */; }; + 5B412B06CAD963FBFFA763798EEE3AA0 /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 928C9306D44A4F06DEDCFDA02220D548 /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5B6447E44DCD6DF880956561D716D42E /* ecmult_gen_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = D606F2C64242F4C4424FF77060007794 /* ecmult_gen_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5BF15FCDA2CA5E504F774B93C1EAA123 /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DB98AE66675F1DDA4A420A12C0BFBC6 /* OFB.swift */; }; + 5C7BE1B24A19199F514AC8688FFF4306 /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = 8D81EA62567426F4F97BA1EE4F993378 /* lax_der_privatekey_parsing.c */; }; + 5CA9E73F8349BAC9F5EBD1F0589C91AD /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47CF4E411893D167B17A83AB51C8D53D /* ChaCha20+Foundation.swift */; }; + 5E0F76D46A3F14CC3903F4D072D6652C /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 247E11C8D6F6ECD1DF148F75673EBF35 /* BlockModeOptions.swift */; }; + 5EABC52C76A5F7DD29136E5C10CAA368 /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 513D1D85D34F76B7E4DAE1B37103BC5A /* UInt32+Extension.swift */; }; + 5EBCC3EF4D3AEDA8DE7D24EAF054A21D /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75724C7E4D6EB3792635A031AD2B1492 /* UInt64+Extension.swift */; }; + 60CD9DF68A22619B2F816E8B1F8DA33A /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB99BF8C95F80E710325AC9BE5A0BE72 /* ResultProtocol.swift */; }; + 61C9BCD007508C2CB8959FA50BF0F53F /* Addition.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7E660F6E2F237440138C5AAC5BC6476 /* Addition.swift */; }; + 61D043FD677FACF7F382F67A430A7F62 /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = C59C9D4690B77F7F188FFCA0081A3AA2 /* SHA2.swift */; }; + 627F0BB24DFEFE1C3CCA592AFF4E01EC /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = A1EC79FCBA910623842C72C09D10B874 /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 62B6EEB28406C9D6FE3A1A146083280A /* Result-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FF4E4FB6D0F71C472A99E72F368087E0 /* Result-iOS-dummy.m */; }; + 6483A6AC993D8C5F8983064789F220B8 /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3A74DAAF802F643B5F00446BF21F89A /* CBC.swift */; }; + 6545F866110FD71A8A7F08C98248F17F /* after.swift in Sources */ = {isa = PBXBuildFile; fileRef = 889ED076F99BD2AB4920EC9A5ECAFFDE /* after.swift */; }; + 65693FDA33760BA50D20F6D0989BA8E7 /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51DF3FC4A067409E953FF230FC67D985 /* Deprecations.swift */; }; + 65736CA32B234972A9DE43C69910B99B /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 110E47A2CC58E6173023BB094B2410E4 /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 662343AAB2E8FCFC56D2176CE50BE184 /* Pods-web3swift-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E8C19543EF3AA4D9801DBE55E22E211 /* Pods-web3swift-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 670A949462535EF03D2A9B910CEB4E48 /* secp256k1.swift in Sources */ = {isa = PBXBuildFile; fileRef = B206B730E077834821DED823382B92DD /* secp256k1.swift */; }; + 678ACAE3280725570F9C7FC768578757 /* Salsa.swift in Sources */ = {isa = PBXBuildFile; fileRef = A493659FF25FE0BB4CA590271A53BFB6 /* Salsa.swift */; }; + 6817327279945D8425268EF14CDDAC21 /* Primitive Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE037589FFCAACA71A323801729DC4A8 /* Primitive Types.swift */; }; + 68536A3B8BA467CBE4D92F13DDB5D5A3 /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AAE07003CED08DD7BCB8AC108A4773B /* Scrypt.swift */; }; + 6939FF91657C15B585F34286B8D8BF16 /* hang.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DB7550812E8FC8658862B062E0A8D6C /* hang.swift */; }; + 698DB1FA7FF3234946A86E51AF828F39 /* RandomUInt64.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2394F66C9B9661F4F0C5813E12A79FD /* RandomUInt64.swift */; }; + 69BAB45539E26B90D356BD6D1E6839BD /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = D099C2689CE8838D1CBF7B7310B03821 /* SHA1.swift */; }; + 6AD0531529517B7D53FB216B173CB4D7 /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0BE0F8D8AB5D3091421F18BD6A6A10D /* NSNotificationCenter+Promise.swift */; }; + 6B815DB2B9AAED0232FEDEC0184C28F1 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = D459A9A71D9584F44D50CCE76CA32DE1 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6D2056001A236820F8015BA4A79E161E /* race.m in Sources */ = {isa = PBXBuildFile; fileRef = BAF5556D32E479626438702FBB2B206E /* race.m */; }; + 6D44B36B12347BA0E2838B68148C4BB4 /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10EE3D627FD85D9AD1BDC05F433526A5 /* GCM.swift */; }; + 6D5CD948E7245E25D3815643B2B4C89D /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F80A642AA09FE49288321BA985716AD2 /* Array+Foundation.swift */; }; + 6DBDEE14D217B557CE2EA3D1BE065D64 /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 36E46262C102F8CBB9AC5809B82A532D /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6DEBA1C6CA8D2095A1CCE1A0090E23D5 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A30230BA7EA4657EA54DDA7AB7B05FD /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6ED4064256289FBBEBDBF2C1D4C347CA /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0551BCBA17CFD8A37D9E9C9F95EB6D0 /* AES+Foundation.swift */; }; + 6F5B521B508C0230EF8488842DE2C905 /* SipHasher.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9891F2E1A2F4A5890CC52561833FA78 /* SipHasher.swift */; }; + 711CA891836C6E9371B8C5DBEDFD346C /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 156AC0832786D6E41B095D6E8DD29AC8 /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 717B05FECD48B3ED8481296EF0CCF350 /* RandomUInt64.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2394F66C9B9661F4F0C5813E12A79FD /* RandomUInt64.swift */; }; + 7193D179572C3FAD861BD281EBBE0794 /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DB98AE66675F1DDA4A420A12C0BFBC6 /* OFB.swift */; }; + 7273616B7461B7AEBC1EECEB88851187 /* scrypt-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 55674F039B757742790CC41D400D1B28 /* scrypt-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 73240BD69BCC26DFFDF04AA384B93E62 /* secp256k1_swift-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 48BA596E48FB87148C88E3B7BBB602EB /* secp256k1_swift-iOS-dummy.m */; }; + 74602FF913EBE7791DE8B091DBFC2D6E /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E2A180DBC09C044075F60A0C97BFD85 /* ChaCha20.swift */; }; + 7478C4AB680096975DA0F3885DE5128C /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 130F36C1478ABB13451E11EE5EC671CA /* Blowfish.swift */; }; + 75383208B98A4BFB61B7418E8B546CCC /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01EF1089B1CD3D0F375289721DEB584C /* AEAD.swift */; }; + 75603E077E70073F479AE5B3F89CDC8B /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59163772C1016907FD12D819A604B18B /* Rabbit+Foundation.swift */; }; + 767EBDFEBC77EC1421A3916FBB13E219 /* ResultProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB99BF8C95F80E710325AC9BE5A0BE72 /* ResultProtocol.swift */; }; + 76CD5AD83B4FB7CB8D690BBB0E6BF0CA /* PromiseKit.root-CorePromise-Foundation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C5EEF0BE65E670AC2535547ABA3099C4 /* PromiseKit.root-CorePromise-Foundation-dummy.m */; }; + 76CE4160292720CFEE6F73DFED4DE333 /* PromiseKit.root-CorePromise-Foundation-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CABC07B9B526CE22A328B2F116773029 /* PromiseKit.root-CorePromise-Foundation-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 76F56049518D4E3F2868ECB003F2990A /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = F95154420EF4C760231BA7CBA1A7589A /* PCBC.swift */; }; + 77066675DD2B31CAF9BBE16B8F3B4FE2 /* AnyPromise.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9FE34B65B17D095EB1999C6F5667427 /* AnyPromise.swift */; }; + 773013B84E21E3867773BCAB6E171CBC /* Shifts.swift in Sources */ = {isa = PBXBuildFile; fileRef = FADA29CA311EF9A86381521A5E4C366B /* Shifts.swift */; }; + 77EBF711C1B88D92CFC3AFCE6293E015 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06F1FB18FDF42877A101BED0A4736B68 /* Array+Extension.swift */; }; + 784703A2DB2FA871E907D206577630EC /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = F421A94F9F1E378421F3B3C56314E368 /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 789A3DD0AA3D7580E0FCF6389C037D56 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1E1805F59DD3B99C4A24A6B69DA1738 /* SHA3.swift */; }; + 78ACD91B0A802FD11D3CB4EC25A78D89 /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 88AC1F107B9BEA598C0726780ECDFE87 /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 79FA79BA765DEEF172BC0384B7E5CE84 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73E1C923DAF11E64DD39A52C483CBBB0 /* UInt128.swift */; }; + 7A0702EE936C773C38F5E4B7F21AB26C /* Multiplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75D9DF88CC9C33DAC01E5EFCB0B1513D /* Multiplication.swift */; }; + 7AC2E47719C68FABBDF2DF9E567086AF /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = D099C2689CE8838D1CBF7B7310B03821 /* SHA1.swift */; }; + 7BD84093A79722210529995051394BC9 /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = 9ABF1DE4DC6AE445BD89E628E2CF5E94 /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7C414865BEC16506132F9910DBD62F3B /* Division.swift in Sources */ = {isa = PBXBuildFile; fileRef = 260C8496D4BED6EDC41A2FBCF2E87AC6 /* Division.swift */; }; + 7C84CA8569B6C593005324DE5F49621E /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68457844D0369DF25FAC63A7E42F3A5C /* BlockMode.swift */; }; + 7CEBCAAE658C0E0716B41E40BEF8FB3D /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4723853D29831D8D4EC86E13EF15FDA /* CMAC.swift */; }; + 7D9DC2803DA6CE9DE07A6C18AF52AFA7 /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335A62646C32DC8B2185FA6DD3030CA6 /* when.swift */; }; + 7DAD16539BA5194CA6515AEA28BC29CA /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 247E11C8D6F6ECD1DF148F75673EBF35 /* BlockModeOptions.swift */; }; + 7DB10EF26A0A2F6768F695BE03C0AB86 /* Multiplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75D9DF88CC9C33DAC01E5EFCB0B1513D /* Multiplication.swift */; }; + 7DD60FE1FB24311F3522B19B09E05CBF /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = ABDC74FFB2FBBD052E941151A2CC6E87 /* lax_der_parsing.c */; }; + 7ED61B6F717591CD9AEE78153233E125 /* CryptoSwift-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BED38F4200E2E27BE7EF1306C1EF481F /* CryptoSwift-macOS-dummy.m */; }; + 7F754A09D7EA3165D9758A80F307227E /* Floating Point Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DC3346C75E669B5227A78FA15785FB3 /* Floating Point Conversion.swift */; }; + 7F8D8FBC1A9C67B326A7F5A04BC3658B /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65CE212AD1BE3547B620E83B3DA9E60F /* CFB.swift */; }; + 7FE0C78E1D6CF35FD66403216909410B /* BigInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38253CDBFF833980FA0956A34E1BF0C7 /* BigInt.swift */; }; + 7FE6B8EA18532E50F15E7BF3D013B092 /* SwiftRLP-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A11B379994D50482D207EE8967ED7CDF /* SwiftRLP-iOS-dummy.m */; }; + 80AE7386A1B299C39AAC7F0C6AEC590D /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FFE51D4F185433A05C0BD38B8F2A5CC /* HKDF.swift */; }; + 80D2DC67C9BF404DB886FB1B282408D3 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9197F30F9D372148520156A011421FE9 /* HMAC.swift */; }; + 80D571EE008AE23D0AFAC92B6A98204D /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = 8D81EA62567426F4F97BA1EE4F993378 /* lax_der_privatekey_parsing.c */; }; + 82C1C3566A5D5A6395F0CC63E2E63881 /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D7A3998EBD9688668E8B5E865E058BC /* Catchable.swift */; }; + 8384A7D8940BDD9B50ABF44358E12847 /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E2A180DBC09C044075F60A0C97BFD85 /* ChaCha20.swift */; }; + 83CD3302FE915E10B107859386387F32 /* dispatch_promise.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C8C505AC16C4F7922DBC4160AC3448C /* dispatch_promise.m */; }; + 848EFB4F6CDA94AAAD25CCB2283E9EAA /* Integer Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = A46C4FE304316D231AC48D068F15FE99 /* Integer Conversion.swift */; }; + 8601AFFE38D08BA40B4AED33D04654E4 /* Strideable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10AB7CE8E7FA7C93448EFE94CFEE2C62 /* Strideable.swift */; }; + 874698320130745EC1465E308033D024 /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9E6DDE5A0AF4D0B343E4D3AEE9DF983 /* Collection+Extension.swift */; }; + 89AD1BFCA3B307CD78AFB34118AC031D /* Addition.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7E660F6E2F237440138C5AAC5BC6476 /* Addition.swift */; }; + 89B40A1B6B4771D884CC857A62E3E33B /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 0376FB05CE1FC3FC061DD2CFE3DE0C6C /* AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 89DAA555D3A3650E7AB8AC4853452716 /* scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = 42E8817F1CAA2069A5B0A1A0D0ABA398 /* scrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8A8FAE273220A2C885FE8C452D175166 /* secp256k1_swift-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9520DA623CEB5BEB937C6E2EEC267B31 /* secp256k1_swift-macOS-dummy.m */; }; + 8ABEC41E232F354C6DF2DB60B4AEDF49 /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D1A84D8AEFDC828575F732E2005CA5B /* AEADChaCha20Poly1305.swift */; }; + 8ADF39D418D2741819C863545BBED5D6 /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = C5660E081BC2DA61D02571E01B81C8FE /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8B10C87FE35BA83424ABBA01D0669FF8 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = 7663F04B24B87395872D526DC48DC43C /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8BAF1F91DA55BF8A5E86636E90D92F2F /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = 15F777495520F311DC5F6185975B769C /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8CA95863A4A71897EE45477A562A16B3 /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6954BF93957A2CAF08330D9214A7ACF2 /* Utils+Foundation.swift */; }; + 8CCA031DBFC561C2BDB4295AFFE02DCB /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = BADDDC4615BBD4973A52693314F92956 /* Configuration.swift */; }; + 8D3BA883F8AA3E7565A2AE9D8D533F19 /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = C37796C11F19D8A45631C9218E297AEA /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8DE8FDE423347EA29D896211A3C2C7CB /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6304D4D79F57615EFD4626BF126CE5AD /* Bit.swift */; }; + 8E189B54FFC987969C2A26D21DB0FB42 /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6304D4D79F57615EFD4626BF126CE5AD /* Bit.swift */; }; + 8EBBD4D88DD8F98CEC0791A902D2438C /* scalar_low_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = C37796C11F19D8A45631C9218E297AEA /* scalar_low_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8EE3016E16955D33E67D3A4B526B80B7 /* afterlife.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C0010565A5FA9F18F27870EA632C4D3 /* afterlife.swift */; }; + 8EF9B8FF607B9FD70D85D95EA60C804D /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75335D15747F097BD0A9500504DC8775 /* Updatable.swift */; }; + 8FFB71FAC919894CCAD2B296EA300E5B /* Cimpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 42B2FCE41642FF2B0CA0939EDCA3AD78 /* Cimpl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 901FC638FD04ABBF641B1BA5289E58B9 /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = E390C18F83747553B781457B8A520926 /* after.m */; }; + 907425973F15BD66964D73A783E4FD6A /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F87EE960E154529EE1313BDE796C821 /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 934311E0A7ED33AF227CA6236BE194FA /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CBA3A66080B4CF784ADFED0326CBC82 /* String+Extension.swift */; }; + 9346676038E479F7475D304CD3939A0F /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65CE212AD1BE3547B620E83B3DA9E60F /* CFB.swift */; }; + 93AD3CA5F13CFF076A06516E303A61C9 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = F342E030AE1A607D64EAC3488CFB51FC /* PBKDF1.swift */; }; + 94C3998EDCB3C4B71B110099E7E3E975 /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C03433156B044F013B91599EE579C7D /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 96126C56ABEF426B0B801431F709443B /* eckey.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E4050C50BE4522F2AB113A1EC5B6ABB /* eckey.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 965128CD152E182D548D25166A7A0ABC /* AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C665B9B4606D9A35F9DFFB15EEB9F10 /* AnyPromise.m */; }; + 969BD4FC9172F82D66E704BF544A30AC /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10EE3D627FD85D9AD1BDC05F433526A5 /* GCM.swift */; }; + 96C6125FB939C1C06CE63AD1E59F88B7 /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77A1B64DBD371FBCB805A100679F87A8 /* Digest.swift */; }; + 9712E5BC7B1EEE1A02EEA6DC76325BEA /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0046FAD665E019D5EFFFDFC7C04F79EE /* Poly1305.swift */; }; + 971CF5DA4334D6FC9E1DE7E8118BF088 /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 246EC9B3E3D924F7496163E4D7D5574B /* Cipher.swift */; }; + 9780B00892C127C1916229C06A751F7E /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = C59C9D4690B77F7F188FFCA0081A3AA2 /* SHA2.swift */; }; + 98AE081420DDB94A9A72C9DE3CEEDB81 /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 52AF65D13B97A0EAA5CC2F9AF6450786 /* NSNotificationCenter+AnyPromise.m */; }; + 98DF8B5D60DAF3B7AC6B1899CCE12A74 /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F87EE960E154529EE1313BDE796C821 /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 991C48377FE8653491950997A605201D /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8E5FF3E2A379FE71CD1EEE3BB380DD0 /* CipherModeWorker.swift */; }; + 9940F65AAACFEDF8634F4017D31420A4 /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BE11FDB9FE69A172C6101D8842D30EF /* UInt8+Extension.swift */; }; + 9B20EF7C315B4E343F0B79DE78C9E355 /* Cimpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 42B2FCE41642FF2B0CA0939EDCA3AD78 /* Cimpl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9B953A89FD0508E9463F5FE0D9F91D44 /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B2BE4EB401907B31121C20D9AE85D04 /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9CA622EDF0E225A5FE37350E93E7B757 /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BECA27963AB5B81C6487F1AFF447EE3 /* UInt16+Extension.swift */; }; + 9CDABEBBD7BF0889FF7DD3E739FD6B40 /* scrypt-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B95DAAA20BEFAD1CE76C888E2E5DDB01 /* scrypt-iOS-dummy.m */; }; + 9CF22D4A3B62E62B50881D0DE45FBDF9 /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01EF1089B1CD3D0F375289721DEB584C /* AEAD.swift */; }; + 9DAE14B88EE655354CACE65717FA211E /* Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4C1DB7075FC89AABC9027B89E410DD0 /* Hashable.swift */; }; + 9E16CCBD9A220CE68E8B8BCFC9134C59 /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = C518BE2221DCB8E9775CF59E3A6C676C /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9E85EE2DD5C2A60DF3DE739BD1218C76 /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 315EDC3BC73A24F07AB8D9FB44FEEF7D /* MD5.swift */; }; + 9E9A8A8B46304D435822D15C3C38A4AC /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97C1287E8FD172526EC3409612A97C23 /* Utils.swift */; }; + 9EE54627ED72870C58157B76B89AC3AF /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DBCB6B50C94F20FB7E7BC301A007798 /* PKCS7Padding.swift */; }; + 9EF7B2E48C40E82E7EC0E85F6B0222E8 /* num_gmp_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 406DA39A86D0ADCD3E417FD3B1B405F8 /* num_gmp_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A01F875E651CCF1697C02EA9BF034852 /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = F95154420EF4C760231BA7CBA1A7589A /* PCBC.swift */; }; + A065300D974D4C50642BF3687E0E6C37 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 584C7F09DDD45569AE8365662DEFF8CA /* ECB.swift */; }; + A1E48947F828D226B1FF667AFDD0C23A /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 00A9E16D69CA56EBD70D7C0B65E06FA1 /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A301F522108F0A22EFA241EBCC8F5AA6 /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = B01CD4E7B7266FBC96F1DAE5B4F170F2 /* CTR.swift */; }; + A33313D130AD8E1D44BD46B119D45186 /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = 7EECFB1BF73B6EB0684317B85E2EA08E /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A4342DE847A35E8E98BAAEE729A3FB15 /* UIView+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 955161BE1368A548FD4EB6DA00435D16 /* UIView+Promise.swift */; }; + A48902823DC75349716A4753B1E660DA /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3C40AC9DDA22566EDFEC3F65AA62472 /* Generics.swift */; }; + A4A59B0BA1E4153A6BF2917EB2C1AF06 /* CryptoSwift-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 474420A8AF86D361C202C31C918E6BD3 /* CryptoSwift-iOS-dummy.m */; }; + A4F8D815D07249B30E393C63694BF3D7 /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7840B3270C6F5BC3A89FE4E3AE641898 /* Codable.swift */; }; + A67CFB75EC62364579FB9EB448C61786 /* race.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15F24BE71856015EE791D78582312743 /* race.swift */; }; + A7799E0318407597777B039DFA8353D2 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 611BA1395C8C441142D55E0EA236E429 /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A7A7567A6AB8900623AC752D617FFC9F /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = C529FA6121A76BCDB8492FD5C6DB5D6D /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A8995C0B368AF79026265F486D640985 /* Primitive Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE037589FFCAACA71A323801729DC4A8 /* Primitive Types.swift */; }; + A8FB03192116C7259BDC47B4ED7A1770 /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2503DCCE1598BB4D7E580AB0CB8E807 /* BlockDecryptor.swift */; }; + A906E0A776F4CC1306835A29F687E072 /* Pods-web3swift-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 25F72E78DF48560F5D210E57844ACDED /* Pods-web3swift-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A927C0600827FF278DA9F985A60002E2 /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = A1EC79FCBA910623842C72C09D10B874 /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A93F309C7285ACB8ECAA14903BC85237 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D8AF6DE4770B6AAF9C6F56D533DB5A3 /* Rabbit.swift */; }; + A940EEBB23376DBCC59DC570DA702353 /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D7A3998EBD9688668E8B5E865E058BC /* Catchable.swift */; }; + A953ACC3543A00D51383ED73301139A4 /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58F3D9D1A1143135DA2F393DCD07C5C /* String+FoundationExtension.swift */; }; + AA08FA2EB9DB4E98494BFDDE5D4B4936 /* Bitwise Ops.swift in Sources */ = {isa = PBXBuildFile; fileRef = C59B01CF94D3592EF9F0F9D53C69D829 /* Bitwise Ops.swift */; }; + AA40ABA19C4E8BBE370471E77BAFC842 /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B1BF3EB7A67274C92EEEEF1D636696 /* BlockCipher.swift */; }; + AA48D3B3A44CD568D493A0326D60EEAC /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 77A1B64DBD371FBCB805A100679F87A8 /* Digest.swift */; }; + AB02DBB24DBB4F98005C0C14C342F8FF /* Prime Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B9D04508C62F823AFD89A1CA232315E /* Prime Test.swift */; }; + ABFA50427C4CC466CBA9B0E7145D83D2 /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = C518BE2221DCB8E9775CF59E3A6C676C /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AC6D836A8BEBC67FAD48B43B80382794 /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8FBDD9B6C2C480F597AF54E4AF5F9B7 /* Padding.swift */; }; + AC9330E734E319351A6F8440BEFFFA1D /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 110E47A2CC58E6173023BB094B2410E4 /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AD14BE19983A139FDFD89FE6E3E68C3E /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = 15F777495520F311DC5F6185975B769C /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AD2857A3144D7DCCD02D55CE8F6F8AA5 /* secp256k1_swift-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7950E62D04D3EBAB00EA5CE1411E5A6C /* secp256k1_swift-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ADA008B926487DB6CF8A658A3F3DF11F /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E8B5D15467ED805F6B33150518D8C10 /* Resolver.swift */; }; + AE8E41C185BA7C46465657E84B66F196 /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AAE07003CED08DD7BCB8AC108A4773B /* Scrypt.swift */; }; + AF373538A9B5EB2BFD84D0DD002478A1 /* field_10x26_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 88AC1F107B9BEA598C0726780ECDFE87 /* field_10x26_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AF81FA4A9B502AA954430195C09DA953 /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51DF3FC4A067409E953FF230FC67D985 /* Deprecations.swift */; }; + AFDA9E12CC7195153491C8CD1C0AAD8B /* Integer Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = A46C4FE304316D231AC48D068F15FE99 /* Integer Conversion.swift */; }; + B13079439C3B358C138A64E076E53813 /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = A689F9898FAC7D6BEBFC64BDDB5CCD33 /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B264AC2DFBBC420DEE1695859273E0E6 /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8E5FF3E2A379FE71CD1EEE3BB380DD0 /* CipherModeWorker.swift */; }; + B27AC8F7FCD59B1C8879D64E939D9737 /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D007141D6A0D170999FBC71CD9227F3F /* Blowfish+Foundation.swift */; }; + B43A930051FDC74CE6667856407BD5CF /* Exponentiation.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEA00FFA03F2405A1DD8AAB823BC5CAF /* Exponentiation.swift */; }; + B48C458D1CB67A6B566AEFBADAE6DE8A /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8FBDD9B6C2C480F597AF54E4AF5F9B7 /* Padding.swift */; }; + B48F3BF9283F0C38B048D3B5E6C7549A /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 53097BBB7E450CEA3B67F503C72EE715 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B51D722CE376EDFD7B663D9452E900AB /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 033169E66A1FD0955634FCFD42D50FA3 /* PBKDF2.swift */; }; + B534D1DE7C6E7115E6A75EE8BAA4819C /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 315EDC3BC73A24F07AB8D9FB44FEEF7D /* MD5.swift */; }; + B640565E1593B250390597C2651078A4 /* BigInt-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 97B24FD834901CF3D36423F68C485701 /* BigInt-macOS-dummy.m */; }; B6699C206D4772B76BEAF1722CB04572 /* Pods-web3swift-macOS_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 522015696E45158812DD4C5CF37CD544 /* Pods-web3swift-macOS_Tests-dummy.m */; }; - B70EF82165930092663A4177C5F1FE4F /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 2468F7B4A6695BB009B5A2AE35A167C8 /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B71596F2C722143ACE243217699C8B26 /* group.h in Headers */ = {isa = PBXBuildFile; fileRef = 15C56E2FA28A6BC277C2F1DF71DE010C /* group.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B7D7CA91C141C38015B1148059914F81 /* when.m in Sources */ = {isa = PBXBuildFile; fileRef = D24853136C9E866538093205C6E4A90A /* when.m */; }; - B85578BD6CA740FA275B7FCB49ABCE30 /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = 51FFE70E98E00B14A7CEDBC9878713E7 /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BA33E96D5FF50CFFA5727208AC91DF2B /* SipHash-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F59529DA4EC37C03768A930A570FC20 /* SipHash-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BB91D03B628F9A7BAEE9330E7FEE58DB /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C9596E2D0164256EFB0F1673E724BB1 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BCDE72CE8069BF09131F983ACA411B8B /* lax_der_privatekey_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = EC2691B355719F37BCE2B9EB79640902 /* lax_der_privatekey_parsing.c */; }; - BE17E68524E049C26BFA30707DFF6E9E /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = F1F1BD0CE2445F35A20783082C9D4775 /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BF6A2DC96F54CE8B73454C8C2C00381B /* BufferStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75108DB9FE7BABCC05526BD92059DC5A /* BufferStorage.swift */; }; - BF9C1C12AD3560167B0800059B4A6D6E /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AB377C96E323960FB5F59BE70C7DDFA /* Poly1305.swift */; }; - C0101FD19738FB97383D1C0CF5EEBF77 /* String Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7DFFB650AB055EA65177877A4837E93 /* String Conversion.swift */; }; - C0E38CC3E9A47DD76092CA50CEEEAE12 /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFA9EC9779A914A67653CFFF9142318C /* Deprecations.swift */; }; - C0F8B164DDA6157937A300C207D56E4E /* Subtraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6942B9400A6731CB14455C8AE7F0C6A7 /* Subtraction.swift */; }; - C15CF4CD764C303BB61C1908A5088EB9 /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = 16B7C824120675B47E14A2A872A6DFDC /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C1693DEA3241820346B6392F419BE86A /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DDA4FB25A4C58942E352156AFA0F29E /* PKCS7.swift */; }; - C223A7A68CC3C3E35C5BAF673FC6422C /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AF087435CFE453BE94CFAE116CC7661 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C420F74F411178FB20F79B022567A36F /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = 184318AC3420D7DB5A094F601C869C72 /* Checksum.swift */; }; - C45AB3CBDC8E80549A5258F1EF33B5E4 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = D89263E801FAC6A34F7C9D4E3A3066A9 /* UInt128.swift */; }; - C4A91D774EFB424EF2F25970BBE498E2 /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A4A461EE06699EE78B2DCA6B7B73F16 /* NSTask+AnyPromise.m */; }; - C4D045EA36FC3020F0D120D61248034A /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CCD88E197198C9C888139A0E2A2CD50 /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C4D7369A6EE4185C3499B0C7F6D4AF54 /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FA266C4746C1D8469AC609FF653BED1 /* Cipher.swift */; }; - C52AB1611C5012541EB9B2D6F3E7113C /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8EAA4A69D5AC1E3D89D6D25C9496C75 /* Cryptors.swift */; }; - C55D7F3112EA0AE1C16D64D5D93FB8E2 /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59EE5FF05C3E791A7F8398D6FCF80055 /* BlockEncryptor.swift */; }; - C5C8E105D6B79B679C2C88E2615EAC66 /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A699FEC4F0274F833ECDEB986CAABBD2 /* UInt32+Extension.swift */; }; - C7546B1AF7022FE1D1D4E974A890D03F /* UIViewPropertyAnimator+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF8763C25A8C471712C07FDF71929703 /* UIViewPropertyAnimator+Promise.swift */; }; - C76A85C8526F33C17488B1ED3E96E2B8 /* NSTask+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = FBEFBB38BBB87913FDCF892141C0AC8D /* NSTask+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C81D77ED3B884C5F8FF333D7E73D2760 /* Catchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 520379C6715340D2674500ACBD1C4502 /* Catchable.swift */; }; - C8727CBC2DF558D6A8432C374FC6C20D /* secp256k1_ios-macOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8574390012E8F0C54B5B8C7A68D484 /* secp256k1_ios-macOS-dummy.m */; }; - CA0A3399A3F3DE0313571B05CCACB00B /* field_5x52.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AF087435CFE453BE94CFAE116CC7661 /* field_5x52.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CA4AF1EA89A313035FBCF8BAF73AE5E3 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58ED9DC4116D9A46B7047B9F3EE44E18 /* Configuration.swift */; }; - CA5BBB4A81D6C18A87B54AD3E3CB1DDD /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EE7CBB8299AB71F5275827AA34C853A /* Cryptor.swift */; }; - CB23D304433CF4415E534890D75DD1F3 /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD4D44D1A4A0B550CAB6D8C2AED04AD3 /* CMAC.swift */; }; - CB8ABF5FDE083E23F3C8AA384A4D55C3 /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF467792E24FCB49390F293678C2E231 /* ZeroPadding.swift */; }; - CBAB02308405D4C1CB4271EC4AB971F6 /* Words and Bits.swift in Sources */ = {isa = PBXBuildFile; fileRef = 268F48810699A9A9AD79047FD000B499 /* Words and Bits.swift */; }; - CC53CC49FDD4748924F21B50E485DBBD /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7540EADD3520F1ECD4BAD23FF29400F /* String+FoundationExtension.swift */; }; - CE2BCA099CEA37688059295108D416AD /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65E54F31ACC1397C1485DF5C7B5FA928 /* Random.swift */; }; - CF2EC01022EDE78D4A2A1EE28519BB24 /* secp256k1.h in Headers */ = {isa = PBXBuildFile; fileRef = BAD09E8EE27EB4BA87F1F0237E0D7537 /* secp256k1.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D01DA48DF6AD0E0C496D261444C43E30 /* after.swift in Sources */ = {isa = PBXBuildFile; fileRef = 302BA93FAE34FC2BAD89C5501C21611C /* after.swift */; }; - D03604350C4AD6E462633ACEF03DE182 /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D956E4D797535DA55BFACC56BAE7232E /* BlockMode.swift */; }; - D0B384B3B9706105721D5A04485597A9 /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = C996378C4E5A24B09E9399A757B8257E /* PKCS5.swift */; }; - D14E4A8C8AC8ADE305245866F1521E24 /* race.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9C90F0F0F9A0115AC326304EB131CA4 /* race.swift */; }; - D1D91F664C539CED69E0706FD9D008DC /* AnyPromise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C537644BF5D1735EC0FF5E1EAD5A94F /* AnyPromise.swift */; }; - D1F0182968E66E044F80A9822BE772F0 /* Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51008209B67B821AFF37051156E8A7FD /* Hashable.swift */; }; - D2CE75EC329AAE7EE0E4BAA7458EF9D5 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC8CE2AC7222CA948CFA3E9FEF002800 /* Error.swift */; }; - D32712369A0978E2F272F6ED44E13D09 /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DDA4FB25A4C58942E352156AFA0F29E /* PKCS7.swift */; }; - D4FBEF46E2616F942B65FF779B374513 /* BigInt-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 60EE65019B7B0977FF9331F020D957CD /* BigInt-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D51658C88F64814325AFD7E26FF01C58 /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81D592C69182CE946419FE4D30C2690E /* PBKDF2.swift */; }; - D629596D140514F80B7E96FC37625CAB /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = BD07DFA1EC0FD8CF78E837D5A0051A6D /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D69EB24A00A90DE5EB08D773551E36A6 /* join.m in Sources */ = {isa = PBXBuildFile; fileRef = D6FBFF07C73E9B536C49D3D32A989327 /* join.m */; }; - D6BDAA0C8CA8843CE436AA3573C378F9 /* Square Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D44A825E8CB9200059521A9C941F712 /* Square Root.swift */; }; - D77D59D158D2FBA4B6AA53805363DB1E /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF5CF52D91122CF7B77E75FAF93251C3 /* UInt64+Extension.swift */; }; - D81D753CE65D4B1E0F26F57606BD0F6C /* Bitwise Ops.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55188AE8B0452B68B54A84FABFBA1BBF /* Bitwise Ops.swift */; }; - D91F249AD8EFADBBF3CA1C4F3F1EC689 /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5946E85C35328004F1FD0D65ABF93B4 /* Process+Promise.swift */; }; - D9B3D20980002DAFC3783F7A6B1C91BA /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = E88F02B72D0ADCFDAA37C5D63ABB3679 /* NoPadding.swift */; }; - DB4121B9C2C88108CFD4BF622DD22793 /* eckey_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 57BE35B8EF2F430EE1A093A4E43F8243 /* eckey_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DB5D77CB1116685129F0E9DFC9AC9779 /* NoError.swift in Sources */ = {isa = PBXBuildFile; fileRef = C57F8890E519BE45C84FBCD5E06453AF /* NoError.swift */; }; - DBCADB8931FC3A1305E622FCD41DBB71 /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07EBEF7A80D308EEE9B00C81E7BA82EE /* CustomStringConvertible.swift */; }; - DC07B1317F80D339C68CCBF3D31566D9 /* ecmult.h in Headers */ = {isa = PBXBuildFile; fileRef = 5ADFA6DD652FDF2433DB8FB46C2B02CA /* ecmult.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DC21D5B2B6EB7B15B0BBCEB3836868C4 /* PromiseKit.root-CorePromise-Foundation-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F38735F968F3506E4EACD22DC1175F06 /* PromiseKit.root-CorePromise-Foundation-dummy.m */; }; - DD419D08F1AEE92AC819A14720ECD62C /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DDF10E5AA3EE0D0028933F977F5BF96 /* Generics.swift */; }; - DDA12AF713A1310BDC4A90183CBB1594 /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 394A497CBDC2A602E9E5A0A0E4A7C231 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DDF54071C21579D559BDEE8D08189CF1 /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CE3EEB40B82A07623C8EC58D511BDA8 /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DF3C881F6AA58663EA27A37DDC93CBD1 /* SipHash-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 06A021254E60B0C7F3ADB156F97D8EF1 /* SipHash-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DF927452C685F72071057C8843C01706 /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = 0297F48C8677A1EAF05256ECF6AE81D5 /* util.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DFD70F894CFF9B61FF717C1443E95601 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC1129F2E85B44E362DF4E5C827C8DD7 /* Box.swift */; }; - DFF0B3B6C8696B29A8B79E1C76E9D76F /* field_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = FD3FC379B5028687E388AD09CFE88832 /* field_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E007271BF4C4F9B9D464193F85793C50 /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11B33EE72A6FBE59A2A5064DAF6FFC4F /* AES.swift */; }; - E04BBE8E404D1CC27E4D74B8894479BD /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4942974D6603D53C4E7A5A1EE454090A /* NSNotificationCenter+Promise.swift */; }; - E1BD1671D6E0A0FDAC9298373486DA9F /* Square Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D44A825E8CB9200059521A9C941F712 /* Square Root.swift */; }; - E24619AC5BEB6C6F40A086FBC713953F /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2806EF87AE8A9188FC203D40F55755F3 /* HMAC.swift */; }; - E254A91C69969B33ED1BF9BDE5B19AED /* Data Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C8A77BEACE815406E69A6AC5A86CAD0 /* Data Conversion.swift */; }; - E330D6002B747B8DFE92C9EF6A252AB1 /* num_gmp.h in Headers */ = {isa = PBXBuildFile; fileRef = 7399560A570538454DCA6FC42E879809 /* num_gmp.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E4693B68EB480BAA15C7AEFEF584ABEC /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 894312908815C8518B59156B045BB049 /* Thenable.swift */; }; - E48FE65994D2FDB3496020B0AED10062 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1BEA6E913A811987196FC02097A1F5C /* Data+Extension.swift */; }; - E496E4A9940D9E53F87FC94F6FBA613F /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1BEA6E913A811987196FC02097A1F5C /* Data+Extension.swift */; }; - E4DFF19D9D0DCD7944CCDD5E7D49E700 /* PromiseKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 011F6C47C6E88AE3E66264D1FEB85A87 /* PromiseKit-dummy.m */; }; - E54F41039B5C497AEE8D9A2305063624 /* Cimpl.c in Sources */ = {isa = PBXBuildFile; fileRef = A0BB9A3E4E29EBA29F99C94BBEEEC1F2 /* Cimpl.c */; }; - E5F6F258065CC6C97832138F09AAE49B /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = 309EDA4AEC3E9553B1C5228CB1CB760F /* Result.swift */; }; - E620808A6B6483DD90D1DF1DD9F399ED /* Pods-web3swift-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E8C19543EF3AA4D9801DBE55E22E211 /* Pods-web3swift-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E6A3822607D69367B5FC864FB7A3BD73 /* ecdsa_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DDEB5B32B77FC78B04321FABF19FAF64 /* ecdsa_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E7CD62024C5874B3F67B266815D7CAC4 /* race.m in Sources */ = {isa = PBXBuildFile; fileRef = B592EEFCCF7F964D0B60F749B17B7658 /* race.m */; }; - E8A145AFD00468A4C9549E156F7A4327 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3AE421756716EB8DAA945495A2EC5DD /* Rabbit.swift */; }; - E900FB2DA6B0F0F63CE82466566FCD68 /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CCD88E197198C9C888139A0E2A2CD50 /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E9E664FD3415EAFF7CDFFD33254902E3 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = EECA7B8CA13556F051DCBF44B5E5092B /* ECB.swift */; }; - EA1A3BB85FC5453DEA5AE302324D4DAA /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FF537F705CA3D41D9798A4511A8F24D /* Authenticator.swift */; }; - EA3B78E39182A056E17833E10C5DE2E6 /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CB44D970BC24207B7D4CA4DD2644E2B /* ChaCha20+Foundation.swift */; }; - EA7EC84C113B5F75F5D77F792DE3B6ED /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = 21DDCB6C56CEF1430122DCD6370180B8 /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EB5C9979901C255CD26AAD9C2908FC4D /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEF9AB34E06A2A4078A0C87B37B1CD0F /* RandomBytesSequence.swift */; }; - EBC1181767AADF30189982641F9B9648 /* Prime Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C91FB228B4F0EFFE0BB1C457B26A6E3 /* Prime Test.swift */; }; - EC17D63723242B036D6B342AB1853468 /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 394A497CBDC2A602E9E5A0A0E4A7C231 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EC308ACB0BA1C145CC005AA4186B9EB0 /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5E831984223821B4643964E0D16375 /* AEADChaCha20Poly1305.swift */; }; - EC8CEEA1FF4CC7455796055B38C806B8 /* scratch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8575ADFAFEFEFEDACDC32D01960AE2AB /* scratch.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ECDEF2626BC123966104C5F0B4830936 /* CryptoSwift-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B02B055F45990BB015AB494AE625A793 /* CryptoSwift-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ECF5A5E67884B9F6B19675CC43188C04 /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = 4965C40E8438A02BE82C485420845345 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ECFCD95180C3DD7095902786BB56299A /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F3C6D22D31BFCC4FBF02C3E813AE0EC /* hang.m */; }; - EE0C5BE970F77B1A1478E64F164DDB99 /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D22F70DCC90E8FE0E9EC24A5DBABE79C /* Rabbit+Foundation.swift */; }; - EE83304C33E8D28C3321FCF4F3E952AC /* scrypt-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = DF437C6BA87CD115FFAF9F58E13F530F /* scrypt-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EF56A1A9A97666C4D03AA9AAF5A37918 /* Strideable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00E44D081910E0A312C3A2879F658B01 /* Strideable.swift */; }; - EFDC04F64EB4766D33AC8058E12B4561 /* GCD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17049D2192C6CCC8A8BE362B66ED01E6 /* GCD.swift */; }; - F0072E292EA165864D21EA126253FD4D /* BufferStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75108DB9FE7BABCC05526BD92059DC5A /* BufferStorage.swift */; }; - F1713A581AF450456EAEC87DE47CDA88 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 092C4E684DC275279EC695C30F05982A /* Array+Extension.swift */; }; - F1A07A920329A779F5DE4422E744651B /* scalar_4x64_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = DC80BC8175DF95AF5AC0777B4379466F /* scalar_4x64_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F1B591E730508664D1D744A9B5356027 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC1129F2E85B44E362DF4E5C827C8DD7 /* Box.swift */; }; - F238EF032BC5A70219603EA97FF3FED8 /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D028C35CBC913E3AF71B22E4A3C7D14 /* CTR.swift */; }; - F2CEA0F86BECA15D8730D3D53D9EAF69 /* SipHash-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 22BBC9E03E0BAFD51E78A932B584D135 /* SipHash-iOS-dummy.m */; }; - F40D5648952C6403898BBA6EBDA00BE3 /* Result-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FE9A22DCC269160D36ABB6B7AF260C2A /* Result-iOS-dummy.m */; }; - F420C3B6A5179B3A3AE6CA1661AC1D09 /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60F78E26D6ABB8534A27E28D45FBFF71 /* Scrypt.swift */; }; - F4D09855E68D1FD71D77BC55A727D4A3 /* ecdsa.h in Headers */ = {isa = PBXBuildFile; fileRef = 4EF2B2E6A827BEB4095C69760A095228 /* ecdsa.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F4D1F737295AE1152488E8C62B8B07CC /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 413EEACF83712E321F24944C021FEB53 /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F56FE8F3E8E168BE03C4966EEAA91C1B /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 413EEACF83712E321F24944C021FEB53 /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F5AB8AD08E9E0AD8237FC486B02D3AE9 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F407B4684E6934554D8F4910242620 /* Int+Extension.swift */; }; - F66269854D86921BE970C5FF6C20CC51 /* Deprecations.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFA9EC9779A914A67653CFFF9142318C /* Deprecations.swift */; }; - F6ABB13AD16C583ED44B0635C22C5B1D /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07EBEF7A80D308EEE9B00C81E7BA82EE /* CustomStringConvertible.swift */; }; - F6C04F880164DA1647FDF6654CD65CBE /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CC26F0B1E75C50586670C90CB45F824 /* Codable.swift */; }; - F6EEBE907D9BF3B0332ED86D67236441 /* BigInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0955D39FEEF45C034D6A32CD819DA77A /* BigInt.swift */; }; - F753E13D3D4A29BF27E48A2303E55253 /* ecmult_gen.h in Headers */ = {isa = PBXBuildFile; fileRef = 030837B4EF44BB6736CDF5FBF205E93E /* ecmult_gen.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F7637401A66A3768E3AFB4725B5A68CE /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = C996378C4E5A24B09E9399A757B8257E /* PKCS5.swift */; }; - F76CD6A74599B946F2BEB2CFD466DCF8 /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A93880388A03A6AEAEBFC90F7F533AAD /* StreamEncryptor.swift */; }; - F7FEDCC800360A1311C42EFE80CD207D /* Pods-web3swift-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D8F688145BCFE1FB8B76299CC261A05E /* Pods-web3swift-iOS-dummy.m */; }; - F854EACBF11549213B26B4748FBB94A0 /* Subtraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6942B9400A6731CB14455C8AE7F0C6A7 /* Subtraction.swift */; }; - F8C762D809370D0B01A8BDE46AE1E336 /* AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 231D53FA7D46749E94693152ECA561B4 /* AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F9A83224C63AF5F18AED311461D71668 /* BigInt-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = BECB9224CBFC1D8A1E8486BB06BBC621 /* BigInt-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FA13F504AF0E2A1B5540B69241BDA525 /* NSNotificationCenter+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4942974D6603D53C4E7A5A1EE454090A /* NSNotificationCenter+Promise.swift */; }; - FA750855C8E963C8BDF3CB98B66F2223 /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 744D68A2C1A6A6136663892BD5967CEF /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FA9AEF2C8D8495DFBB7D202A04CD4C7B /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59EE5FF05C3E791A7F8398D6FCF80055 /* BlockEncryptor.swift */; }; - FB15EFD9B279E96538754752538F6F2D /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E8B805F5680EBA0F99C37AB55DF371A /* Blowfish.swift */; }; - FBB8E2DFA421E54A1F954651D46E3E87 /* UIViewController+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 690E91794401ED87EB104B7BE8059DD2 /* UIViewController+AnyPromise.m */; }; - FBCF699856A16E347AFE56DF1E4B798F /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 744D68A2C1A6A6136663892BD5967CEF /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FBFE167922921EA3CB8BBE48F6FA3B54 /* lax_der_parsing.c in Sources */ = {isa = PBXBuildFile; fileRef = B9BCFC62DFEA1FC233306B897C15DE84 /* lax_der_parsing.c */; }; - FCCB2E2C0281EDCAD1C5E13070298711 /* basic-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 2468F7B4A6695BB009B5A2AE35A167C8 /* basic-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FCCEC31B1FC9971E3DA967E44E81A0D2 /* Pods-web3swift-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 25F72E78DF48560F5D210E57844ACDED /* Pods-web3swift-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FDB43EA5FEFA9BC5B4ED67591C4D6958 /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 9419704F82CEC9143EC36DDD7E0B5565 /* NSNotificationCenter+AnyPromise.m */; }; - FE5B85739B771377AF32128CC981B882 /* scalar_8x32_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 1143B8F0055C240BA0D05D50FC1CC020 /* scalar_8x32_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FFE4A177B13CFEBE37F77661D03FDE45 /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BBCEC526DF7F5F6A046CBAA7F93B530 /* SecureBytes.swift */; }; + B6866CBCA4D62537DE060369ACB1B106 /* lax_der_privatekey_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 69DAF4AC1AD4ABE697F2A9B28B2742A9 /* lax_der_privatekey_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B69E3F26EF82B14F2BBFCC991285A2FD /* secp256k1.swift in Sources */ = {isa = PBXBuildFile; fileRef = B206B730E077834821DED823382B92DD /* secp256k1.swift */; }; + B77646BAD0129256BF653BDE0C25222B /* scalar_4x64.h in Headers */ = {isa = PBXBuildFile; fileRef = 36E46262C102F8CBB9AC5809B82A532D /* scalar_4x64.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B892841BE90F7FC437B124E45EFA91BC /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 3714BDD6BC325B4A3AA0AEB00B7E0838 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B9058EEEDD24D3D6D7F1F9014827C9CF /* UIView+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B90782E90E35201E901B4ABD31E7E1C /* UIView+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B99E4D246BF638E9C0E6DB9216909970 /* Process+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62DAA30A02BECECD3B564F1546CE3343 /* Process+Promise.swift */; }; + BA33E96D5FF50CFFA5727208AC91DF2B /* SipHash-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FED111DB9B19BEB67F1E97D34E65AC8 /* SipHash-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BA4F48649886FB0011F6E7F3FBB8C2BB /* secp256k1_recovery.h in Headers */ = {isa = PBXBuildFile; fileRef = C529FA6121A76BCDB8492FD5C6DB5D6D /* secp256k1_recovery.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BB18112CCFC26264B7C0E90AE3432518 /* field_5x52_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = FF99AA927653D804503A7BA37208076D /* field_5x52_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BC1D796F17348CDBE4C46583B92D14C0 /* secp256k1_ecdh.h in Headers */ = {isa = PBXBuildFile; fileRef = 10063C7AE612FA73E113299D752D2F9A /* secp256k1_ecdh.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BC710D04EBD70B49A46F4B862BAAB0FF /* SwiftRLP.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DF6BC857A451DB590136C2127E8540C /* SwiftRLP.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BDCD56C5B86F8512F7AB9AB6F5B15475 /* NSURLSession+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 592D721B3C087135B76612BE7D7B3701 /* NSURLSession+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BE0E1C30E47FC6E0A931819265DF6F30 /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C26BABFAE3BF83287E05135793873F6 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BE2237E0E9E26533C1E860FD41CF5FB9 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56831D861C9C68AB6445D1B373489CCD /* Box.swift */; }; + BEDC52E4027F817E284B2DD842BFB332 /* NSURLSession+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 213FB9632182CBF9A72A027B86282B5C /* NSURLSession+Promise.swift */; }; + BF9C1C12AD3560167B0800059B4A6D6E /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0046FAD665E019D5EFFFDFC7C04F79EE /* Poly1305.swift */; }; + C0101FD19738FB97383D1C0CF5EEBF77 /* String Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 648DE2BEBFB01CEB5B721BA04955EAF1 /* String Conversion.swift */; }; + C0819490E2F049CC22EF3585F49C3F3A /* SwiftRLP-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A7E72167B9780D5627571A312AE1B751 /* SwiftRLP-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C0F8B164DDA6157937A300C207D56E4E /* Subtraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98D3DA59A50F70D87A13DF72C6E649E1 /* Subtraction.swift */; }; + C1693DEA3241820346B6392F419BE86A /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 292B7230F9D2EF13745202AD62870DFF /* PKCS7.swift */; }; + C19EF72107053AFDFBC57E47EB8050C9 /* scrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = 42E8817F1CAA2069A5B0A1A0D0ABA398 /* scrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C3054C3388C651BBCCC0D4D6D37F7584 /* firstly.swift in Sources */ = {isa = PBXBuildFile; fileRef = E13B83B6C950F75854459F690EF3A6ED /* firstly.swift */; }; + C35DA33EC52454F06E06F298C92250B8 /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EE7FF1850E0AF1A3C0492541BEFE030 /* hang.m */; }; + C420F74F411178FB20F79B022567A36F /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0D7A0114EB8569F1C403A6574C016E8 /* Checksum.swift */; }; + C45AB3CBDC8E80549A5258F1EF33B5E4 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73E1C923DAF11E64DD39A52C483CBBB0 /* UInt128.swift */; }; + C484B1DBDD48E7821272E79EACF8B2B5 /* lax_der_parsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C03433156B044F013B91599EE579C7D /* lax_der_parsing.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C4D7369A6EE4185C3499B0C7F6D4AF54 /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 246EC9B3E3D924F7496163E4D7D5574B /* Cipher.swift */; }; + C51722B04CA405219A395C65558614F4 /* field_5x52_int128_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 3714BDD6BC325B4A3AA0AEB00B7E0838 /* field_5x52_int128_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C52AB1611C5012541EB9B2D6F3E7113C /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67946900D6375AEDFA1C113E2A5B2794 /* Cryptors.swift */; }; + C55D7F3112EA0AE1C16D64D5D93FB8E2 /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E9C4AE3C0574C05D13445561BFB8C1B /* BlockEncryptor.swift */; }; + C5B7FB9E96E537586482FA629C14406F /* hash_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = A689F9898FAC7D6BEBFC64BDDB5CCD33 /* hash_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C5C8E105D6B79B679C2C88E2615EAC66 /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 513D1D85D34F76B7E4DAE1B37103BC5A /* UInt32+Extension.swift */; }; + C66FC8C1B1997579D636D39C9BF09BD5 /* hang.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DB7550812E8FC8658862B062E0A8D6C /* hang.swift */; }; + CA5BBB4A81D6C18A87B54AD3E3CB1DDD /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9B9A712542DB104270D877BBE57746F /* Cryptor.swift */; }; + CAB0A085900165D03D871E0ECA7CA215 /* libsecp256k1-config.h in Headers */ = {isa = PBXBuildFile; fileRef = D459A9A71D9584F44D50CCE76CA32DE1 /* libsecp256k1-config.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CAB604DC70B6DAD2C4FE1DED7CC67135 /* Thenable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CA875E3478CF42FACB3165CBFAE86BD /* Thenable.swift */; }; + CB23D304433CF4415E534890D75DD1F3 /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4723853D29831D8D4EC86E13EF15FDA /* CMAC.swift */; }; + CB8ABF5FDE083E23F3C8AA384A4D55C3 /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99490114EDAF958B866019F3B4C71077 /* ZeroPadding.swift */; }; + CBAB02308405D4C1CB4271EC4AB971F6 /* Words and Bits.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2C015DFFE7F497B97D0DA1C8C7AB69E /* Words and Bits.swift */; }; + CC53CC49FDD4748924F21B50E485DBBD /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58F3D9D1A1143135DA2F393DCD07C5C /* String+FoundationExtension.swift */; }; + CCCBD4698FC15086152F56B19ECA7A8D /* PromiseKit.h in Headers */ = {isa = PBXBuildFile; fileRef = E39980D5A8BD94928885C59ED6F3555D /* PromiseKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CD4F83E8BF753B40698A55CA22BB0CF1 /* AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C665B9B4606D9A35F9DFFB15EEB9F10 /* AnyPromise.m */; }; + CD85BECD50309913F23174338AF0667C /* secp256k1_swift-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = ABA1CC6FBDF71FC02EE62B784C52CD45 /* secp256k1_swift-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CDAF5D27B2605E4DA359618DCDF5618B /* field_10x26.h in Headers */ = {isa = PBXBuildFile; fileRef = 88F32E8C457272E137BB38662B42445E /* field_10x26.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CE2BCA099CEA37688059295108D416AD /* Random.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02BE2C0884A4C644A5B276E1781D2DCA /* Random.swift */; }; + D03604350C4AD6E462633ACEF03DE182 /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68457844D0369DF25FAC63A7E42F3A5C /* BlockMode.swift */; }; + D0B384B3B9706105721D5A04485597A9 /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20BCC1D2F3127FBBB88BCCD1BCD6C558 /* PKCS5.swift */; }; + D1F0182968E66E044F80A9822BE772F0 /* Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4C1DB7075FC89AABC9027B89E410DD0 /* Hashable.swift */; }; + D32712369A0978E2F272F6ED44E13D09 /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 292B7230F9D2EF13745202AD62870DFF /* PKCS7.swift */; }; + D4124EDD949269E344DC2B3A307C708E /* secp256k1.c in Sources */ = {isa = PBXBuildFile; fileRef = 8B8AE60B95D9DA9615B03EE888C7F908 /* secp256k1.c */; }; + D4FBEF46E2616F942B65FF779B374513 /* BigInt-macOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E2064AA263189FCD4D283C9618B597A /* BigInt-macOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D51658C88F64814325AFD7E26FF01C58 /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 033169E66A1FD0955634FCFD42D50FA3 /* PBKDF2.swift */; }; + D55038AE9BE8F3B75F916E492CC29A60 /* scalar.h in Headers */ = {isa = PBXBuildFile; fileRef = C5660E081BC2DA61D02571E01B81C8FE /* scalar.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D5886DBA5DB05624B7B1DFFD6A99A87D /* ecmult_const.h in Headers */ = {isa = PBXBuildFile; fileRef = E1B2A6CA027F0CF17E40FED49D6A5E70 /* ecmult_const.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D5B55C94D365080FC8CBE5B01BEDA5CE /* UIViewController+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A3899E2022CB3FA28CFCB82D4B6CA80 /* UIViewController+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D64DA518A10935882F67A35F4EC1E0BD /* SwiftRLP-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 477087D23BFCDB50922E829E500EC396 /* SwiftRLP-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D6BDAA0C8CA8843CE436AA3573C378F9 /* Square Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B4944DF61F05FF099C70B6640B4431D /* Square Root.swift */; }; + D747179D4F9BC0D43E3C479EBA4B07D0 /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 3DE637C08FD6A423A48096E7D58B1610 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D77D59D158D2FBA4B6AA53805363DB1E /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75724C7E4D6EB3792635A031AD2B1492 /* UInt64+Extension.swift */; }; + D81D753CE65D4B1E0F26F57606BD0F6C /* Bitwise Ops.swift in Sources */ = {isa = PBXBuildFile; fileRef = C59B01CF94D3592EF9F0F9D53C69D829 /* Bitwise Ops.swift */; }; + D8AEF9279CF6C8CD2D5F716BFAEAC80A /* UIViewPropertyAnimator+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5BEE6336571D98DA94C9A54C8CE9623 /* UIViewPropertyAnimator+Promise.swift */; }; + D94FB219CAD3190A91BCEADD16209ED7 /* race.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15F24BE71856015EE791D78582312743 /* race.swift */; }; + D96D172BB1AA748152BA2F82BC6A6B2D /* when.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335A62646C32DC8B2185FA6DD3030CA6 /* when.swift */; }; + D9B3D20980002DAFC3783F7A6B1C91BA /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88EC012A11A5D51BC077A26441D4957B /* NoPadding.swift */; }; + D9CA2110C1387E483376CF056337233E /* scalar_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B2BE4EB401907B31121C20D9AE85D04 /* scalar_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D9D190B6E0F591841C1B0AC1B8D0C34A /* NSNotificationCenter+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 52AF65D13B97A0EAA5CC2F9AF6450786 /* NSNotificationCenter+AnyPromise.m */; }; + DD419D08F1AEE92AC819A14720ECD62C /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3C40AC9DDA22566EDFEC3F65AA62472 /* Generics.swift */; }; + DDBF456D98778034F94E7A216E782CBB /* scrypt-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = AEC7A24CF8E56E0AB30884A90747F2B2 /* scrypt-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DE187779397F69A993589FE1F1590714 /* Result.swift in Sources */ = {isa = PBXBuildFile; fileRef = B78A9314F721CE7FE8EE68290ACF962A /* Result.swift */; }; + DE78C90A1789CD75B4B69224EE1C20E1 /* scratch_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 611BA1395C8C441142D55E0EA236E429 /* scratch_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DF3B173C9C0BFFBAF20FE89888175135 /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA753F9B4F076BBCCE353572BDBA6EAE /* CustomStringConvertible.swift */; }; + DF3C881F6AA58663EA27A37DDC93CBD1 /* SipHash-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 31D7B79B518E67916F0205F505B0485D /* SipHash-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E007271BF4C4F9B9D464193F85793C50 /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13F4C1E92ACB15583B361380492AA797 /* AES.swift */; }; + E1BD1671D6E0A0FDAC9298373486DA9F /* Square Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3B4944DF61F05FF099C70B6640B4431D /* Square Root.swift */; }; + E24619AC5BEB6C6F40A086FBC713953F /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9197F30F9D372148520156A011421FE9 /* HMAC.swift */; }; + E254A91C69969B33ED1BF9BDE5B19AED /* Data Conversion.swift in Sources */ = {isa = PBXBuildFile; fileRef = C98E405B0267998743280361FC7A320B /* Data Conversion.swift */; }; + E48FE65994D2FDB3496020B0AED10062 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4D6786B6A1F1F3D12539CE8845D610B /* Data+Extension.swift */; }; + E496E4A9940D9E53F87FC94F6FBA613F /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4D6786B6A1F1F3D12539CE8845D610B /* Data+Extension.swift */; }; + E592964873DBC39C36DCEDFC2270519A /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = C5ACF2BE50EB881C466468619A626459 /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E70A831423370AD1CF91BAC1373D3527 /* CustomStringConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA753F9B4F076BBCCE353572BDBA6EAE /* CustomStringConvertible.swift */; }; + E85B97EE8946089E5E8ED93B60847B7A /* num_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = C5ACF2BE50EB881C466468619A626459 /* num_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E8A145AFD00468A4C9549E156F7A4327 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D8AF6DE4770B6AAF9C6F56D533DB5A3 /* Rabbit.swift */; }; + E9E664FD3415EAFF7CDFFD33254902E3 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 584C7F09DDD45569AE8365662DEFF8CA /* ECB.swift */; }; + EA1A3BB85FC5453DEA5AE302324D4DAA /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 629A9B1DDCCA7AF069A948D996B8B34C /* Authenticator.swift */; }; + EA3B78E39182A056E17833E10C5DE2E6 /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47CF4E411893D167B17A83AB51C8D53D /* ChaCha20+Foundation.swift */; }; + EB5C9979901C255CD26AAD9C2908FC4D /* RandomBytesSequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 638EF15CE0F571BA9C2C5868DA40EBBE /* RandomBytesSequence.swift */; }; + EBC1181767AADF30189982641F9B9648 /* Prime Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B9D04508C62F823AFD89A1CA232315E /* Prime Test.swift */; }; + EC308ACB0BA1C145CC005AA4186B9EB0 /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D1A84D8AEFDC828575F732E2005CA5B /* AEADChaCha20Poly1305.swift */; }; + ECDEF2626BC123966104C5F0B4830936 /* CryptoSwift-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 97E0EFD2C6E09D9A91E0B22FB199CF95 /* CryptoSwift-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EE0C5BE970F77B1A1478E64F164DDB99 /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59163772C1016907FD12D819A604B18B /* Rabbit+Foundation.swift */; }; + EE3D4BE0F36CB8F41C228439719EEAC4 /* NSObject+Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ED8894D488852DD8E6F75780785F814 /* NSObject+Promise.swift */; }; + EE9FCCABEB83682D166392D1C12D2BF3 /* scalar_8x32.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C26BABFAE3BF83287E05135793873F6 /* scalar_8x32.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EF56A1A9A97666C4D03AA9AAF5A37918 /* Strideable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10AB7CE8E7FA7C93448EFE94CFEE2C62 /* Strideable.swift */; }; + EF7CEA7D43C041C92F385757253FB874 /* NSNotificationCenter+AnyPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = A84CAC1E9ED891BB925E32AD866EF4F8 /* NSNotificationCenter+AnyPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EFDC04F64EB4766D33AC8058E12B4561 /* GCD.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8E8AD7E4D46EAFE301BAE49458CBADF /* GCD.swift */; }; + F0C24231ACA39257DFE5A318ACC8A896 /* num.h in Headers */ = {isa = PBXBuildFile; fileRef = 9ABF1DE4DC6AE445BD89E628E2CF5E94 /* num.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F1713A581AF450456EAEC87DE47CDA88 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06F1FB18FDF42877A101BED0A4736B68 /* Array+Extension.swift */; }; + F185E763BAC53270CAE635AB9CBADB37 /* ecmult_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D757EF89803E12ABE5A6DC9D35431A5 /* ecmult_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F2242C49CF793215836DA2FE29E8C1E1 /* Pods-web3swift-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D8F688145BCFE1FB8B76299CC261A05E /* Pods-web3swift-iOS-dummy.m */; }; + F226D03CEEB4CA12BF0D0F974840420A /* scalar_low.h in Headers */ = {isa = PBXBuildFile; fileRef = BBB1686A6F8A3ECF8119E0B9026493AA /* scalar_low.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F238EF032BC5A70219603EA97FF3FED8 /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = B01CD4E7B7266FBC96F1DAE5B4F170F2 /* CTR.swift */; }; + F2CEA0F86BECA15D8730D3D53D9EAF69 /* SipHash-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 98208639AD618314C999FC207B7FBA89 /* SipHash-iOS-dummy.m */; }; + F31F62CD0FEA355203A5C5750FC421F7 /* NSTask+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 63A1F06664FED90C2B7F7989990F9EE3 /* NSTask+AnyPromise.m */; }; + F390BEDEFDEF3DDC2172C32543EDE40B /* field_5x52_asm_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 156AC0832786D6E41B095D6E8DD29AC8 /* field_5x52_asm_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F3A6143F497A16DA1DE0AAC5CD02AA57 /* Guarantee.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DA63B5CD137C32932CDB5DB0C7A036C /* Guarantee.swift */; }; + F5AB8AD08E9E0AD8237FC486B02D3AE9 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC74A6C891271F3176D0A8781C35C2D0 /* Int+Extension.swift */; }; + F6C04F880164DA1647FDF6654CD65CBE /* Codable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7840B3270C6F5BC3A89FE4E3AE641898 /* Codable.swift */; }; + F6D5E2F0DFF915694A71C76154312B42 /* PMKUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 66515F5856AA8BFE5FEC1F9BF271A5A2 /* PMKUIKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F6EEBE907D9BF3B0332ED86D67236441 /* BigInt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38253CDBFF833980FA0956A34E1BF0C7 /* BigInt.swift */; }; + F7637401A66A3768E3AFB4725B5A68CE /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20BCC1D2F3127FBBB88BCCD1BCD6C558 /* PKCS5.swift */; }; + F76CD6A74599B946F2BEB2CFD466DCF8 /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE18F632CE594C2E2CCA9A0490532CB3 /* StreamEncryptor.swift */; }; + F854EACBF11549213B26B4748FBB94A0 /* Subtraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98D3DA59A50F70D87A13DF72C6E649E1 /* Subtraction.swift */; }; + F98604F0CA9C69371A5FE5D65C6E5466 /* UIView+AnyPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = E25079B9D829E2FA59A02142ACC823BA /* UIView+AnyPromise.m */; }; + F9A83224C63AF5F18AED311461D71668 /* BigInt-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B30858224DA96CA6252C6F11BF5F589 /* BigInt-iOS-umbrella.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FA45DFC8C8AE3AE576A6C13862338138 /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A30230BA7EA4657EA54DDA7AB7B05FD /* hash.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FA9AEF2C8D8495DFBB7D202A04CD4C7B /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E9C4AE3C0574C05D13445561BFB8C1B /* BlockEncryptor.swift */; }; + FAD5FD40317211B25BC1F3BAEBFEE6BA /* NoError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65695D88202B0FFFBE40038E32FBE234 /* NoError.swift */; }; + FAEE1A63513F87D185820EEEF7DB9506 /* hang.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EE7FF1850E0AF1A3C0492541BEFE030 /* hang.m */; }; + FB15EFD9B279E96538754752538F6F2D /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 130F36C1478ABB13451E11EE5EC671CA /* Blowfish.swift */; }; + FCD2D464E35870B3F06993770117959D /* Salsa.swift in Sources */ = {isa = PBXBuildFile; fileRef = A493659FF25FE0BB4CA590271A53BFB6 /* Salsa.swift */; }; + FE141380D52E6EA72571C40A8DB494D0 /* after.m in Sources */ = {isa = PBXBuildFile; fileRef = E390C18F83747553B781457B8A520926 /* after.m */; }; + FED5D5AE6604A69C4648F5EF206C250B /* SwiftRLP.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DF6BC857A451DB590136C2127E8540C /* SwiftRLP.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FF200FE02402662078B4D0C3C7AF4CEE /* main_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 53097BBB7E450CEA3B67F503C72EE715 /* main_impl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FF74BC55A69429C29500972AF8A9DABB /* RLP.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE0E6B0DB6C8369C0409240023B753BD /* RLP.swift */; }; + FFE4A177B13CFEBE37F77661D03FDE45 /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = F415B88D0858CD731ECC4C37D0E1F83A /* SecureBytes.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 17B4A9AEA97AD7E79C58E8433B39E08E /* PBXContainerItemProxy */ = { + 19D7329A8315B85B58C8441C1899A592 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 07841E92CB371DB60A1803D68D0B6814; - remoteInfo = "scrypt-macOS"; + remoteGlobalIDString = D618CA243075F5EB0C89F808DD7756D8; + remoteInfo = "CryptoSwift-macOS"; }; - 19F025DD3200B2D8AC85DD306F3C8D6B /* PBXContainerItemProxy */ = { + 1E0A3209CEDE9B1B33C44AC5926A66C5 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D65B13BFF251965985F677C194C0CACF; - remoteInfo = "Result-macOS"; + remoteGlobalIDString = AF9F48E6961507C0E2FD7A3CDBC652DA; + remoteInfo = "BigInt-iOS"; }; 1E5017C3A1512E67B0318DD1DACDE515 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = BB68F9B80C22C74C528A2A837F77C592; + remoteGlobalIDString = F884BDAA9A34F06758B9377C5C3DE88F; remoteInfo = "Pods-web3swift-macOS"; }; + 1F3EEADE6537E330C7A04D4BC33EB5C7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9646F4C6B5DB5298F5EEE5871120A244; + remoteInfo = "BigInt-macOS"; + }; 284C9AFC38A225A506CB24973AEFB321 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; @@ -469,82 +484,82 @@ remoteGlobalIDString = 4FCBE56BC5E931FDC43C642250037C1F; remoteInfo = "SipHash-macOS"; }; - 2A0AAC3DD9D962F949F31A5F7F0B5C5F /* PBXContainerItemProxy */ = { + 2B3213357F1CA1AD9298A10F444D0951 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D618CA243075F5EB0C89F808DD7756D8; - remoteInfo = "CryptoSwift-macOS"; + remoteGlobalIDString = 498B5059F6777D5158A7EE62045BD64E; + remoteInfo = "secp256k1_swift-macOS"; }; - 2B81E6E650C41CBF19C97FE801FA1BA7 /* PBXContainerItemProxy */ = { + 35923DBC7D43F34B3882ED3F64D560CA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D618CA243075F5EB0C89F808DD7756D8; - remoteInfo = "CryptoSwift-macOS"; + remoteGlobalIDString = 9646F4C6B5DB5298F5EEE5871120A244; + remoteInfo = "BigInt-macOS"; }; - 2D3F534715B6632C78072C8E5A65094A /* PBXContainerItemProxy */ = { + 366CCE30759EB3C0FF8E45BE9572B007 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 2FE2011DA32CEB3AE7A817A294041570; - remoteInfo = "secp256k1_ios-iOS"; + remoteGlobalIDString = 2892912E4AE0D2C848DA80F38A3430EF; + remoteInfo = "Pods-web3swift-iOS"; }; - 366CCE30759EB3C0FF8E45BE9572B007 /* PBXContainerItemProxy */ = { + 51A46AB20A7BD61878D970BEEA7A6BD1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 242D7A70DFF4194FB7B7DA7C1AA5384E; - remoteInfo = "Pods-web3swift-iOS"; + remoteGlobalIDString = AF9F48E6961507C0E2FD7A3CDBC652DA; + remoteInfo = "BigInt-iOS"; }; - 5C4F2ED3F13D3478905D555D2B67CD1E /* PBXContainerItemProxy */ = { + 5571BEC206C1D03111C6EF3E6C7CED63 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 44D204414133961DD4B492AFB5C4DEEB; - remoteInfo = "CryptoSwift-iOS"; + remoteGlobalIDString = DA0577AD76B443C71930FAC764E972C5; + remoteInfo = "SwiftRLP-iOS"; }; - 767E586CEA5CAB20EBE1EA7AB3631553 /* PBXContainerItemProxy */ = { + 67FA85B98174E1654BF1E1ECAC76CB7F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 00370D91F8D61EB1B486DA6056B32406; - remoteInfo = PromiseKit; + remoteGlobalIDString = F2C23507954E7580FFDC3A161C6AB0E4; + remoteInfo = "Result-macOS"; }; - 781352D1D58C89F6D17164C60C65F70B /* PBXContainerItemProxy */ = { + 71982CBFBFF1DE0F242D9C483783D66C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 8FBD6D69D989701B31E1FE3221BEE90E; - remoteInfo = "PromiseKit.root-CorePromise-Foundation"; + remoteGlobalIDString = 630AEE08CD31743EE32F246198F2C879; + remoteInfo = PromiseKit; }; - 81037EBC9BCDC28E563456BF47C1D46D /* PBXContainerItemProxy */ = { + 8043A6EE1F8EBE657783820C64B4ECF0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 717A6C5D2749A62529F91EEEFE9D7643; - remoteInfo = "scrypt-iOS"; + remoteGlobalIDString = FE616C0F8645852E1A582197DFC35CD4; + remoteInfo = "SwiftRLP-macOS"; }; - 85EC6E047CB93E2443B62439D51DBE4F /* PBXContainerItemProxy */ = { + 81302A5702FAB5179E00059495C674D0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = AF9F48E6961507C0E2FD7A3CDBC652DA; - remoteInfo = "BigInt-iOS"; + remoteGlobalIDString = D618CA243075F5EB0C89F808DD7756D8; + remoteInfo = "CryptoSwift-macOS"; }; - 8D768A75D7573C48BBDD539DEABB31A6 /* PBXContainerItemProxy */ = { + 830B40C3043F87BD797252E75F83EC21 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 4FCBE56BC5E931FDC43C642250037C1F; - remoteInfo = "SipHash-macOS"; + remoteGlobalIDString = B6DAA867681209B8BCC71EE70D0654A0; + remoteInfo = "scrypt-iOS"; }; - 95EBCBEDA8C09F798A8B0AAC2A665789 /* PBXContainerItemProxy */ = { + 9F4F45405FD6C2C0442CDE492FDB5FB9 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = B4C770D41049AF2A6AAF1D99D0B08152; - remoteInfo = "Result-iOS"; + remoteGlobalIDString = 44D204414133961DD4B492AFB5C4DEEB; + remoteInfo = "CryptoSwift-iOS"; }; AC378E3E20AF5D424B6D68F67641CFC3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; @@ -553,356 +568,398 @@ remoteGlobalIDString = 3B79F6DB09B597AAE9D3EB939DA463D8; remoteInfo = "SipHash-iOS"; }; - C753A37721FD85DCC8725FC13D90D8F4 /* PBXContainerItemProxy */ = { + B6AAE8A429B44CC4133143E68DD626FE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 44D204414133961DD4B492AFB5C4DEEB; - remoteInfo = "CryptoSwift-iOS"; + remoteGlobalIDString = 0FEA45E4A3FB35CD13AAE2348DB3359E; + remoteInfo = "scrypt-macOS"; }; - CCD1E562EFB874B8CB4B33E000B51CD1 /* PBXContainerItemProxy */ = { + DA69FF9DA2BAA16B70B3669FF391FD00 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 9646F4C6B5DB5298F5EEE5871120A244; - remoteInfo = "BigInt-macOS"; + remoteGlobalIDString = F4EB0AFAA3A292F355BF33F9614E125E; + remoteInfo = "PromiseKit.root-CorePromise-Foundation"; + }; + E4816D843489A71F2F868B80C5ED2F48 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 321AD436B1B1600006FDA48B769B5215; + remoteInfo = "secp256k1_swift-iOS"; + }; + E602EC1A33624D8E13D2528B9A6E9267 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = B15A271BA5831BBA626B2A8FEE864C9E; + remoteInfo = "Result-iOS"; }; - D9B409BD1965CD2C916FF3BD0529876F /* PBXContainerItemProxy */ = { + EEE3CE0ACD2A096CC7970CBFFB63CC5E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; remoteGlobalIDString = 3B79F6DB09B597AAE9D3EB939DA463D8; remoteInfo = "SipHash-iOS"; }; - DD5F2527D82313507186DCCDB7B6F674 /* PBXContainerItemProxy */ = { + EF2E9952249FA32D778E1825EE332999 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = FC621AC7D03DDE6D391CACBAF8CA054E; - remoteInfo = "secp256k1_ios-macOS"; + remoteGlobalIDString = 4FCBE56BC5E931FDC43C642250037C1F; + remoteInfo = "SipHash-macOS"; + }; + F964FFD61B8A7C737D6CF0B4A6FCDE08 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 44D204414133961DD4B492AFB5C4DEEB; + remoteInfo = "CryptoSwift-iOS"; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 00E44D081910E0A312C3A2879F658B01 /* Strideable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Strideable.swift; path = sources/Strideable.swift; sourceTree = ""; }; - 011F6C47C6E88AE3E66264D1FEB85A87 /* PromiseKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PromiseKit-dummy.m"; sourceTree = ""; }; - 01E16ADA85843E6D30083930685D07D1 /* dispatch_promise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = dispatch_promise.m; path = Sources/dispatch_promise.m; sourceTree = ""; }; - 0297F48C8677A1EAF05256ECF6AE81D5 /* util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = util.h; path = secp256k1_ios/src/util.h; sourceTree = ""; }; - 030837B4EF44BB6736CDF5FBF205E93E /* ecmult_gen.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen.h; path = secp256k1_ios/src/ecmult_gen.h; sourceTree = ""; }; + 0046FAD665E019D5EFFFDFC7C04F79EE /* Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Poly1305.swift; path = Sources/CryptoSwift/Poly1305.swift; sourceTree = ""; }; + 00A9E16D69CA56EBD70D7C0B65E06FA1 /* scalar_4x64_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64_impl.h; path = Classes/secp256k1/src/scalar_4x64_impl.h; sourceTree = ""; }; + 01EF1089B1CD3D0F375289721DEB584C /* AEAD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEAD.swift; path = Sources/CryptoSwift/AEAD/AEAD.swift; sourceTree = ""; }; + 029D928F404FA2893E2304CF78B3D8A4 /* BufferStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BufferStorage.swift; path = scrypt/scrypt/BufferStorage.swift; sourceTree = ""; }; + 02BE2C0884A4C644A5B276E1781D2DCA /* Random.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Random.swift; path = sources/Random.swift; sourceTree = ""; }; + 033169E66A1FD0955634FCFD42D50FA3 /* PBKDF2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF2.swift; path = Sources/CryptoSwift/PKCS/PBKDF2.swift; sourceTree = ""; }; + 0376FB05CE1FC3FC061DD2CFE3DE0C6C /* AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AnyPromise.h; path = Sources/AnyPromise.h; sourceTree = ""; }; 042CC2D185140E7D725D22562A3E307F /* Pods-web3swift-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS.debug.xcconfig"; sourceTree = ""; }; - 054B52AFE6F7A33802393B6F7E8B9807 /* Division.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Division.swift; path = sources/Division.swift; sourceTree = ""; }; - 06A021254E60B0C7F3ADB156F97D8EF1 /* SipHash-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-iOS-umbrella.h"; sourceTree = ""; }; - 07692AF4D5F0A8907862595FBCB74ECB /* firstly.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = firstly.swift; path = Sources/firstly.swift; sourceTree = ""; }; - 07EBEF7A80D308EEE9B00C81E7BA82EE /* CustomStringConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomStringConvertible.swift; path = Sources/CustomStringConvertible.swift; sourceTree = ""; }; - 07F62FD29EAB7298762C10A21294A6B1 /* field_5x52_asm_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_asm_impl.h; path = secp256k1_ios/src/field_5x52_asm_impl.h; sourceTree = ""; }; - 092C4E684DC275279EC695C30F05982A /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "Sources/CryptoSwift/Array+Extension.swift"; sourceTree = ""; }; - 0955D39FEEF45C034D6A32CD819DA77A /* BigInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigInt.swift; path = sources/BigInt.swift; sourceTree = ""; }; - 0BC5492B1E1506F3725992C713A907DF /* SHA3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA3.swift; path = Sources/CryptoSwift/SHA3.swift; sourceTree = ""; }; - 0BC87D5802ED83EA9011FD6A3EB7B4D3 /* AES+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AES+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/AES+Foundation.swift"; sourceTree = ""; }; - 0CCD88E197198C9C888139A0E2A2CD50 /* ecmult_const.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const.h; path = secp256k1_ios/src/ecmult_const.h; sourceTree = ""; }; - 0CDBE2B78BCAA950F79B74C3FB2E228C /* when.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = when.swift; path = Sources/when.swift; sourceTree = ""; }; - 0CE3EEB40B82A07623C8EC58D511BDA8 /* NSURLSession+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLSession+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.h"; sourceTree = ""; }; + 04ECFBF1BF17192FF4F65A2E96AB714F /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = Sources/CryptoSwift/CompactMap.swift; sourceTree = ""; }; + 0543DFF3F653D9C90A60EB28027C61D8 /* PromiseKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PromiseKit-dummy.m"; sourceTree = ""; }; + 056B0F39C844D4045CA15B32CA96A334 /* scrypt-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "scrypt-macOS-dummy.m"; path = "../scrypt-macOS/scrypt-macOS-dummy.m"; sourceTree = ""; }; + 06F1FB18FDF42877A101BED0A4736B68 /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "Sources/CryptoSwift/Array+Extension.swift"; sourceTree = ""; }; + 070EBBE505C1F8FCD5F159DDBB5D41C7 /* Cimpl.c */ = {isa = PBXFileReference; includeInIndex = 1; name = Cimpl.c; path = scrypt/Cimpl.c; sourceTree = ""; }; + 0A3899E2022CB3FA28CFCB82D4B6CA80 /* UIViewController+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.h"; sourceTree = ""; }; + 0CCC239B4BCB58F6EF7C6E22E0D80102 /* group_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group_impl.h; path = Classes/secp256k1/src/group_impl.h; sourceTree = ""; }; + 0D0DA104251AEFDE2964573040D291E1 /* BigInt-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-iOS-prefix.pch"; sourceTree = ""; }; + 0D1A84D8AEFDC828575F732E2005CA5B /* AEADChaCha20Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEADChaCha20Poly1305.swift; path = Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift; sourceTree = ""; }; + 0D23E94B867181F85C5901C85231758D /* Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Promise.swift; path = Sources/Promise.swift; sourceTree = ""; }; 0D88C9D56C3885598E20D9718F3B8F16 /* Pods-web3swift-macOS_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS_Tests.release.xcconfig"; sourceTree = ""; }; - 0E53DB967EB67E52296B83C1BB91E1A4 /* scrypt-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "scrypt-macOS.modulemap"; path = "../scrypt-macOS/scrypt-macOS.modulemap"; sourceTree = ""; }; - 0ED7F0C1978F3EEA00F7A4AF09FEC2E8 /* secp256k1_ios-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "secp256k1_ios-iOS.modulemap"; sourceTree = ""; }; - 0F59529DA4EC37C03768A930A570FC20 /* SipHash-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SipHash-macOS-umbrella.h"; path = "../SipHash-macOS/SipHash-macOS-umbrella.h"; sourceTree = ""; }; - 10236EF8647E9F61C53670449679E133 /* BigInt-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BigInt-iOS-dummy.m"; sourceTree = ""; }; - 10261D7140AF8D6F9E6545BC5D894761 /* secp256k1_ios-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "secp256k1_ios-macOS.xcconfig"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig"; sourceTree = ""; }; - 110589BD0B75B2C4166DE94487100A49 /* SipHash-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-iOS-prefix.pch"; sourceTree = ""; }; - 110AED7E75239B43DC836BF06AF22BCE /* afterlife.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = afterlife.swift; path = Extensions/Foundation/Sources/afterlife.swift; sourceTree = ""; }; - 1143B8F0055C240BA0D05D50FC1CC020 /* scalar_8x32_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32_impl.h; path = secp256k1_ios/src/scalar_8x32_impl.h; sourceTree = ""; }; - 11B33EE72A6FBE59A2A5064DAF6FFC4F /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/CryptoSwift/AES.swift; sourceTree = ""; }; - 125189558361630DF92C53413530E3E9 /* secp256k1_ios-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "secp256k1_ios-iOS.xcconfig"; sourceTree = ""; }; - 129F0BDD5D5540B28243DA06090AEC11 /* Exponentiation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Exponentiation.swift; path = sources/Exponentiation.swift; sourceTree = ""; }; - 14A3B9C8EDE35875C552679A990B05FA /* Multiplication.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multiplication.swift; path = sources/Multiplication.swift; sourceTree = ""; }; - 14B10E35F3FEA07B3ED6132C871686B9 /* BigUInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigUInt.swift; path = sources/BigUInt.swift; sourceTree = ""; }; - 15059FCA7454E93E51AFB7275C28A335 /* NSObject+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Promise.swift"; path = "Extensions/Foundation/Sources/NSObject+Promise.swift"; sourceTree = ""; }; - 15C56E2FA28A6BC277C2F1DF71DE010C /* group.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group.h; path = secp256k1_ios/src/group.h; sourceTree = ""; }; - 16B7C824120675B47E14A2A872A6DFDC /* field_10x26.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26.h; path = secp256k1_ios/src/field_10x26.h; sourceTree = ""; }; - 17049D2192C6CCC8A8BE362B66ED01E6 /* GCD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCD.swift; path = sources/GCD.swift; sourceTree = ""; }; - 176078626D7316260BA02A61B91E5EF2 /* secp256k1_ios-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_ios-macOS-prefix.pch"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch"; sourceTree = ""; }; - 184318AC3420D7DB5A094F601C869C72 /* Checksum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Checksum.swift; path = Sources/CryptoSwift/Checksum.swift; sourceTree = ""; }; - 185ADAFCE5AF39098787D861673779B8 /* scalar_4x64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64.h; path = secp256k1_ios/src/scalar_4x64.h; sourceTree = ""; }; - 18B70619E5AAE8D1782A060F2B6362F5 /* Result-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Result-macOS-prefix.pch"; path = "../Result-macOS/Result-macOS-prefix.pch"; sourceTree = ""; }; - 1A9A53F547A648B113145FD483E1572D /* secp256k1_ios-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-iOS-prefix.pch"; sourceTree = ""; }; - 1C8A77BEACE815406E69A6AC5A86CAD0 /* Data Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data Conversion.swift"; path = "sources/Data Conversion.swift"; sourceTree = ""; }; + 0EE7FF1850E0AF1A3C0492541BEFE030 /* hang.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = hang.m; path = Sources/hang.m; sourceTree = ""; }; + 10063C7AE612FA73E113299D752D2F9A /* secp256k1_ecdh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ecdh.h; path = Classes/secp256k1/include/secp256k1_ecdh.h; sourceTree = ""; }; + 10AB7CE8E7FA7C93448EFE94CFEE2C62 /* Strideable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Strideable.swift; path = sources/Strideable.swift; sourceTree = ""; }; + 10EE3D627FD85D9AD1BDC05F433526A5 /* GCM.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCM.swift; path = Sources/CryptoSwift/BlockMode/GCM.swift; sourceTree = ""; }; + 110E47A2CC58E6173023BB094B2410E4 /* scalar_8x32_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32_impl.h; path = Classes/secp256k1/src/scalar_8x32_impl.h; sourceTree = ""; }; + 130F36C1478ABB13451E11EE5EC671CA /* Blowfish.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blowfish.swift; path = Sources/CryptoSwift/Blowfish.swift; sourceTree = ""; }; + 13F4C1E92ACB15583B361380492AA797 /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/CryptoSwift/AES.swift; sourceTree = ""; }; + 156AC0832786D6E41B095D6E8DD29AC8 /* field_5x52_asm_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_asm_impl.h; path = Classes/secp256k1/src/field_5x52_asm_impl.h; sourceTree = ""; }; + 15F24BE71856015EE791D78582312743 /* race.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = race.swift; path = Sources/race.swift; sourceTree = ""; }; + 15F777495520F311DC5F6185975B769C /* secp256k1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1.h; path = Classes/secp256k1/include/secp256k1.h; sourceTree = ""; }; + 168126FF7C51CFAB97039CE513235D26 /* SwiftRLP-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "SwiftRLP-macOS.xcconfig"; path = "../SwiftRLP-macOS/SwiftRLP-macOS.xcconfig"; sourceTree = ""; }; + 1785BD77598DA961BBC98D4CB9AEEA35 /* Result-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-iOS-prefix.pch"; sourceTree = ""; }; + 1AB58E68E90BDAD2A75EC97AEC91F499 /* SwiftRLP-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SwiftRLP-macOS-prefix.pch"; path = "../SwiftRLP-macOS/SwiftRLP-macOS-prefix.pch"; sourceTree = ""; }; + 1AE91BB385A7A2911773305870D337C6 /* BigUInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigUInt.swift; path = sources/BigUInt.swift; sourceTree = ""; }; 1C8F00AC871FE0EC2FBD9A40F62753CD /* Pods-web3swift-macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS.debug.xcconfig"; sourceTree = ""; }; - 1CB44D970BC24207B7D4CA4DD2644E2B /* ChaCha20+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ChaCha20+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift"; sourceTree = ""; }; - 1CE50C1C3EED312C9E2B7129A77B305B /* SHA1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA1.swift; path = Sources/CryptoSwift/SHA1.swift; sourceTree = ""; }; - 1D028C35CBC913E3AF71B22E4A3C7D14 /* CTR.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CTR.swift; path = Sources/CryptoSwift/BlockMode/CTR.swift; sourceTree = ""; }; - 1EE7CBB8299AB71F5275827AA34C853A /* Cryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptor.swift; path = Sources/CryptoSwift/Cryptor.swift; sourceTree = ""; }; - 1F213EA122AE5157AD579B519B42CAA5 /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = Sources/CryptoSwift/Utils.swift; sourceTree = ""; }; - 21DDCB6C56CEF1430122DCD6370180B8 /* scalar_low.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low.h; path = secp256k1_ios/src/scalar_low.h; sourceTree = ""; }; - 224FBA77C2D18846EE62FD6A22E3B120 /* PromiseKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-prefix.pch"; sourceTree = ""; }; - 2290B9153347A3369FAF03E04A19326E /* CBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBC.swift; path = Sources/CryptoSwift/BlockMode/CBC.swift; sourceTree = ""; }; - 22BBC9E03E0BAFD51E78A932B584D135 /* SipHash-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SipHash-iOS-dummy.m"; sourceTree = ""; }; - 231D53FA7D46749E94693152ECA561B4 /* AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AnyPromise.h; path = Sources/AnyPromise.h; sourceTree = ""; }; - 2385B17AD9190A207792185ECE5CD9C7 /* libsecp256k1-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "libsecp256k1-config.h"; path = "secp256k1_ios/libsecp256k1-config.h"; sourceTree = ""; }; - 2452C598AA33B18F81F1D5FE847DF8C7 /* Result-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Result-macOS.xcconfig"; path = "../Result-macOS/Result-macOS.xcconfig"; sourceTree = ""; }; - 2468F7B4A6695BB009B5A2AE35A167C8 /* basic-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "basic-config.h"; path = "secp256k1_ios/src/basic-config.h"; sourceTree = ""; }; + 1E8B5D15467ED805F6B33150518D8C10 /* Resolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Resolver.swift; path = Sources/Resolver.swift; sourceTree = ""; }; + 1ED8894D488852DD8E6F75780785F814 /* NSObject+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSObject+Promise.swift"; path = "Extensions/Foundation/Sources/NSObject+Promise.swift"; sourceTree = ""; }; + 20BCC1D2F3127FBBB88BCCD1BCD6C558 /* PKCS5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS5.swift; path = Sources/CryptoSwift/PKCS/PKCS5.swift; sourceTree = ""; }; + 213FB9632182CBF9A72A027B86282B5C /* NSURLSession+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSURLSession+Promise.swift"; path = "Extensions/Foundation/Sources/NSURLSession+Promise.swift"; sourceTree = ""; }; + 23603E526EB11889D028149C843F4B49 /* PromiseKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-umbrella.h"; sourceTree = ""; }; + 23F8166C962F9CD1D6BD2E5891166222 /* CryptoSwift-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CryptoSwift-macOS-prefix.pch"; path = "../CryptoSwift-macOS/CryptoSwift-macOS-prefix.pch"; sourceTree = ""; }; + 246EC9B3E3D924F7496163E4D7D5574B /* Cipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cipher.swift; path = Sources/CryptoSwift/Cipher.swift; sourceTree = ""; }; + 247E11C8D6F6ECD1DF148F75673EBF35 /* BlockModeOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockModeOptions.swift; path = Sources/CryptoSwift/BlockMode/BlockModeOptions.swift; sourceTree = ""; }; 24B5C2F89100EAE084E4AF83DDE6303D /* Pods-web3swift-iOS_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS_Tests.debug.xcconfig"; sourceTree = ""; }; 25F72E78DF48560F5D210E57844ACDED /* Pods-web3swift-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swift-macOS-umbrella.h"; sourceTree = ""; }; - 268F48810699A9A9AD79047FD000B499 /* Words and Bits.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Words and Bits.swift"; path = "sources/Words and Bits.swift"; sourceTree = ""; }; - 26A07B357C5F42ABC4E5A41480B9B5E0 /* AnyError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyError.swift; path = Result/AnyError.swift; sourceTree = ""; }; - 2806EF87AE8A9188FC203D40F55755F3 /* HMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HMAC.swift; path = Sources/CryptoSwift/HMAC.swift; sourceTree = ""; }; - 29DC94582C8F4626E7BBD65A075FDBD5 /* NSURLSession+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSURLSession+Promise.swift"; path = "Extensions/Foundation/Sources/NSURLSession+Promise.swift"; sourceTree = ""; }; - 2A137B5E1D739B2D491F2842EFFBD559 /* ecmult_const_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const_impl.h; path = secp256k1_ios/src/ecmult_const_impl.h; sourceTree = ""; }; - 2A4A461EE06699EE78B2DCA6B7B73F16 /* NSTask+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSTask+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.m"; sourceTree = ""; }; - 2A75A46146F4FF1C0CB840CA36D75492 /* PromiseKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-umbrella.h"; sourceTree = ""; }; - 2B28A30F352D7AD1E7E83DFB9BAB49C0 /* scrypt-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "scrypt-macOS-dummy.m"; path = "../scrypt-macOS/scrypt-macOS-dummy.m"; sourceTree = ""; }; - 2B80D3AA1BDBB1E0CF52567C4F9FB777 /* libscrypt-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libscrypt-iOS.a"; path = "libscrypt-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 2CC26F0B1E75C50586670C90CB45F824 /* Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Codable.swift; path = sources/Codable.swift; sourceTree = ""; }; - 2DC2E6214BB1EB95403BF7608DAF872D /* scrypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scrypt.h; path = scrypt/scrypt.h; sourceTree = ""; }; - 2DDA4FB25A4C58942E352156AFA0F29E /* PKCS7.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7.swift; path = Sources/CryptoSwift/PKCS/PKCS7.swift; sourceTree = ""; }; - 2FEF470F51471EBE421469A16A76F35A /* BigInt-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-iOS-prefix.pch"; sourceTree = ""; }; - 302BA93FAE34FC2BAD89C5501C21611C /* after.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = after.swift; path = Sources/after.swift; sourceTree = ""; }; - 309EDA4AEC3E9553B1C5228CB1CB760F /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Result/Result.swift; sourceTree = ""; }; - 30F699976B957E8821EB632AF092C14C /* scalar_low_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low_impl.h; path = secp256k1_ios/src/scalar_low_impl.h; sourceTree = ""; }; - 30FDF56132F92204ACAD922366ABC434 /* scrypt-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "scrypt-macOS.xcconfig"; path = "../scrypt-macOS/scrypt-macOS.xcconfig"; sourceTree = ""; }; - 31E6AD63B104B462BD7A0812CF8D8089 /* Resolver.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Resolver.swift; path = Sources/Resolver.swift; sourceTree = ""; }; - 321B194E1B8A3A3929C651A01648EF4A /* Array+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Array+Foundation.swift"; sourceTree = ""; }; - 32804240A56A511992C9AA367655CDBA /* scalar_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_impl.h; path = secp256k1_ios/src/scalar_impl.h; sourceTree = ""; }; - 33EBDEB3CCBA0EA3C7F7CB093743643E /* scratch_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch_impl.h; path = secp256k1_ios/src/scratch_impl.h; sourceTree = ""; }; - 342482D0962E817B844EE7E6446AF932 /* PromiseKit.root-CorePromise-Foundation.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "PromiseKit.root-CorePromise-Foundation.xcconfig"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.xcconfig"; sourceTree = ""; }; - 370C998F97BBB1397D09CD78C43A9919 /* secp256k1_ios.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ios.h; path = secp256k1_ios/secp256k1_ios.h; sourceTree = ""; }; - 3736F60D986568A8151FD480D9648F38 /* NSNotificationCenter+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.h"; sourceTree = ""; }; - 37F407B4684E6934554D8F4910242620 /* Int+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Int+Extension.swift"; path = "Sources/CryptoSwift/Int+Extension.swift"; sourceTree = ""; }; - 38CE3ACA4B29354641417DECF1CDC5CF /* PKCS7Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7Padding.swift; path = Sources/CryptoSwift/PKCS/PKCS7Padding.swift; sourceTree = ""; }; - 394A497CBDC2A602E9E5A0A0E4A7C231 /* field_5x52_int128_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_int128_impl.h; path = secp256k1_ios/src/field_5x52_int128_impl.h; sourceTree = ""; }; - 399DA5BA0438EA58494518BA41744529 /* libCryptoSwift-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libCryptoSwift-macOS.a"; path = "libCryptoSwift-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 39CF9703323096F120BB7C18AC3CDD7E /* CipherModeWorker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CipherModeWorker.swift; path = Sources/CryptoSwift/BlockMode/CipherModeWorker.swift; sourceTree = ""; }; - 3DE45F74327BBE43455BF3A326A48B73 /* libPods-web3swift-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-macOS.a"; path = "libPods-web3swift-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 3E8B805F5680EBA0F99C37AB55DF371A /* Blowfish.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blowfish.swift; path = Sources/CryptoSwift/Blowfish.swift; sourceTree = ""; }; + 260C8496D4BED6EDC41A2FBCF2E87AC6 /* Division.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Division.swift; path = sources/Division.swift; sourceTree = ""; }; + 27042DAC0089FE05944B8718DE760F71 /* libPods-web3swift-macOS_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-macOS_Tests.a"; path = "libPods-web3swift-macOS_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2863AEE30806CB2030DDC59D25CF1C36 /* CryptoSwift-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "CryptoSwift-macOS.xcconfig"; path = "../CryptoSwift-macOS/CryptoSwift-macOS.xcconfig"; sourceTree = ""; }; + 292B7230F9D2EF13745202AD62870DFF /* PKCS7.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7.swift; path = Sources/CryptoSwift/PKCS/PKCS7.swift; sourceTree = ""; }; + 2B2BE4EB401907B31121C20D9AE85D04 /* scalar_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_impl.h; path = Classes/secp256k1/src/scalar_impl.h; sourceTree = ""; }; + 2B30858224DA96CA6252C6F11BF5F589 /* BigInt-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-iOS-umbrella.h"; sourceTree = ""; }; + 2D0614C48A73B812DC34E2FA48DD6F42 /* PMKFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKFoundation.h; path = Extensions/Foundation/Sources/PMKFoundation.h; sourceTree = ""; }; + 2E2A180DBC09C044075F60A0C97BFD85 /* ChaCha20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChaCha20.swift; path = Sources/CryptoSwift/ChaCha20.swift; sourceTree = ""; }; + 2E7BEC4ABD719ED13864904F5601B1EB /* CryptoSwift-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CryptoSwift-macOS-umbrella.h"; path = "../CryptoSwift-macOS/CryptoSwift-macOS-umbrella.h"; sourceTree = ""; }; + 2EDFAD6F2EC5C3407650B54B9A5A4BE8 /* fwd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fwd.h; path = Sources/fwd.h; sourceTree = ""; }; + 3031AC0CB5B141FF9911BEBE31A46493 /* PromiseKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromiseKit.xcconfig; sourceTree = ""; }; + 315EDC3BC73A24F07AB8D9FB44FEEF7D /* MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MD5.swift; path = Sources/CryptoSwift/MD5.swift; sourceTree = ""; }; + 318283844314BF1D931F35920923C71E /* PromiseKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromiseKit-prefix.pch"; sourceTree = ""; }; + 31D7B79B518E67916F0205F505B0485D /* SipHash-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-iOS-umbrella.h"; sourceTree = ""; }; + 32B1BF3EB7A67274C92EEEEF1D636696 /* BlockCipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockCipher.swift; path = Sources/CryptoSwift/BlockCipher.swift; sourceTree = ""; }; + 335A62646C32DC8B2185FA6DD3030CA6 /* when.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = when.swift; path = Sources/when.swift; sourceTree = ""; }; + 33D848500D6FCCF2177712A255BD02F3 /* BigInt-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "BigInt-macOS.xcconfig"; path = "../BigInt-macOS/BigInt-macOS.xcconfig"; sourceTree = ""; }; + 354EE4D14557CE745D7020B65D22B49D /* HMAC+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "HMAC+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/HMAC+Foundation.swift"; sourceTree = ""; }; + 355524C7DC6BFC49391D4F5AFF2834BA /* BigInt-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "BigInt-macOS-prefix.pch"; path = "../BigInt-macOS/BigInt-macOS-prefix.pch"; sourceTree = ""; }; + 35FC5E1CB1FA613D068CDE5E32242FEA /* libSipHash-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libSipHash-iOS.a"; path = "libSipHash-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 36B1EE4309A9229BE3B132502B9072C0 /* BigInt-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "BigInt-macOS.modulemap"; path = "../BigInt-macOS/BigInt-macOS.modulemap"; sourceTree = ""; }; + 36E46262C102F8CBB9AC5809B82A532D /* scalar_4x64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64.h; path = Classes/secp256k1/src/scalar_4x64.h; sourceTree = ""; }; + 3714BDD6BC325B4A3AA0AEB00B7E0838 /* field_5x52_int128_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_int128_impl.h; path = Classes/secp256k1/src/field_5x52_int128_impl.h; sourceTree = ""; }; + 37F6A1CB837846EE43730D5E42B4E402 /* secp256k1_swift-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "secp256k1_swift-iOS.xcconfig"; sourceTree = ""; }; + 38253CDBFF833980FA0956A34E1BF0C7 /* BigInt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BigInt.swift; path = sources/BigInt.swift; sourceTree = ""; }; + 38B4EB729C6E19E85E5F7500BBFCACF4 /* when.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = when.m; path = Sources/when.m; sourceTree = ""; }; + 3A28FF7FC1FEB17EAFF5DFCB9B40E6D5 /* SipHash-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SipHash-iOS-prefix.pch"; sourceTree = ""; }; + 3B4944DF61F05FF099C70B6640B4431D /* Square Root.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Square Root.swift"; path = "sources/Square Root.swift"; sourceTree = ""; }; + 3C665B9B4606D9A35F9DFFB15EEB9F10 /* AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AnyPromise.m; path = Sources/AnyPromise.m; sourceTree = ""; }; + 3D757EF89803E12ABE5A6DC9D35431A5 /* ecmult_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_impl.h; path = Classes/secp256k1/src/ecmult_impl.h; sourceTree = ""; }; + 3DE637C08FD6A423A48096E7D58B1610 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = Classes/secp256k1/src/modules/ecdh/main_impl.h; sourceTree = ""; }; + 3E4050C50BE4522F2AB113A1EC5B6ABB /* eckey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey.h; path = Classes/secp256k1/src/eckey.h; sourceTree = ""; }; 3E91F337EA3979DB5DD84C325A340270 /* Pods-web3swift-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-macOS-dummy.m"; sourceTree = ""; }; - 3FA266C4746C1D8469AC609FF653BED1 /* Cipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cipher.swift; path = Sources/CryptoSwift/Cipher.swift; sourceTree = ""; }; - 400C4535441BC4EF157E1C50C654B28E /* SHA2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA2.swift; path = Sources/CryptoSwift/SHA2.swift; sourceTree = ""; }; - 40D27BDFCD317E69149F3DFAFB7543A9 /* libSipHash-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libSipHash-iOS.a"; path = "libSipHash-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 413EEACF83712E321F24944C021FEB53 /* ecmult_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_impl.h; path = secp256k1_ios/src/ecmult_impl.h; sourceTree = ""; }; - 42EA8B8CA97A07CABD4DBAC9F8610993 /* num_gmp_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp_impl.h; path = secp256k1_ios/src/num_gmp_impl.h; sourceTree = ""; }; - 4530120DD6B0DBFF5F660844F8E1C873 /* libPods-web3swift-macOS_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-macOS_Tests.a"; path = "libPods-web3swift-macOS_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 45C2BE6D1118A5C0F2E549CE3527D602 /* Salsa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Salsa.swift; path = scrypt/scrypt/Salsa.swift; sourceTree = ""; }; - 45FFA251444F7DBCE99E0099A3F19A6D /* UIView+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.m"; sourceTree = ""; }; - 4646CC97CDC73D8A7E940BD068873A84 /* CryptoSwift-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-iOS-prefix.pch"; sourceTree = ""; }; - 480A526DDBB009A3C8A843239CA3D080 /* PromiseKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PromiseKit.h; path = Sources/PromiseKit.h; sourceTree = ""; }; - 4942974D6603D53C4E7A5A1EE454090A /* NSNotificationCenter+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSNotificationCenter+Promise.swift"; path = "Extensions/Foundation/Sources/NSNotificationCenter+Promise.swift"; sourceTree = ""; }; - 494D5312F7C1D194997E562BD1B13904 /* SipHash-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SipHash-macOS-prefix.pch"; path = "../SipHash-macOS/SipHash-macOS-prefix.pch"; sourceTree = ""; }; - 4965C40E8438A02BE82C485420845345 /* scalar_8x32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32.h; path = secp256k1_ios/src/scalar_8x32.h; sourceTree = ""; }; + 3E9C4AE3C0574C05D13445561BFB8C1B /* BlockEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockEncryptor.swift; path = Sources/CryptoSwift/BlockEncryptor.swift; sourceTree = ""; }; + 3EA34A9CDFC021862FD1AC06AF167E44 /* CryptoSwift-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "CryptoSwift-macOS.modulemap"; path = "../CryptoSwift-macOS/CryptoSwift-macOS.modulemap"; sourceTree = ""; }; + 3F87EE960E154529EE1313BDE796C821 /* num_gmp.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp.h; path = Classes/secp256k1/src/num_gmp.h; sourceTree = ""; }; + 406DA39A86D0ADCD3E417FD3B1B405F8 /* num_gmp_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp_impl.h; path = Classes/secp256k1/src/num_gmp_impl.h; sourceTree = ""; }; + 40B7ACE16AAEA76CA6C9CAE3FE7BFA5F /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/CryptoSwift/Operators.swift; sourceTree = ""; }; + 416DB21C5FE305C78284237079C89388 /* UIViewController+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.m"; sourceTree = ""; }; + 4280E4E729C30130E5863D8832C068CC /* SipHash-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "SipHash-iOS.modulemap"; sourceTree = ""; }; + 42B2FCE41642FF2B0CA0939EDCA3AD78 /* Cimpl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Cimpl.h; path = scrypt/Cimpl.h; sourceTree = ""; }; + 42E8817F1CAA2069A5B0A1A0D0ABA398 /* scrypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scrypt.h; path = scrypt/scrypt.h; sourceTree = ""; }; + 44A4652793E17CB674C8F7E82EA886A1 /* Result-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-iOS-umbrella.h"; sourceTree = ""; }; + 474420A8AF86D361C202C31C918E6BD3 /* CryptoSwift-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CryptoSwift-iOS-dummy.m"; sourceTree = ""; }; + 477087D23BFCDB50922E829E500EC396 /* SwiftRLP-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftRLP-iOS-umbrella.h"; sourceTree = ""; }; + 47CF4E411893D167B17A83AB51C8D53D /* ChaCha20+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ChaCha20+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift"; sourceTree = ""; }; + 47DF102368BCFE57F05C91BED865C127 /* libPods-web3swift-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-iOS.a"; path = "libPods-web3swift-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 48BA596E48FB87148C88E3B7BBB602EB /* secp256k1_swift-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "secp256k1_swift-iOS-dummy.m"; sourceTree = ""; }; 4A2E0AD738D348DDA03396C623D814CD /* Pods-web3swift-macOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-macOS-acknowledgements.plist"; sourceTree = ""; }; - 4B32F8420CC3DEDA3DC7BB0407B26FDF /* Collection+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Collection+Extension.swift"; path = "Sources/CryptoSwift/Collection+Extension.swift"; sourceTree = ""; }; - 4B75257897ACBD9567F00827C544D722 /* Result-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Result-macOS-umbrella.h"; path = "../Result-macOS/Result-macOS-umbrella.h"; sourceTree = ""; }; - 4BBCEC526DF7F5F6A046CBAA7F93B530 /* SecureBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SecureBytes.swift; path = Sources/CryptoSwift/SecureBytes.swift; sourceTree = ""; }; - 4D7C8185E119AF505859D0B27973E57E /* AES.Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.Cryptors.swift; path = Sources/CryptoSwift/AES.Cryptors.swift; sourceTree = ""; }; - 4DFFEB20DCD9CFCA06DAE16B4367F1B9 /* UIViewController+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIViewController+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.h"; sourceTree = ""; }; - 4EF2B2E6A827BEB4095C69760A095228 /* ecdsa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa.h; path = secp256k1_ios/src/ecdsa.h; sourceTree = ""; }; - 506C81F04F45BF82E339BD28FB9A6252 /* ecmult_gen_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen_impl.h; path = secp256k1_ios/src/ecmult_gen_impl.h; sourceTree = ""; }; - 51008209B67B821AFF37051156E8A7FD /* Hashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Hashable.swift; path = sources/Hashable.swift; sourceTree = ""; }; - 51FFE70E98E00B14A7CEDBC9878713E7 /* num.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num.h; path = secp256k1_ios/src/num.h; sourceTree = ""; }; - 520379C6715340D2674500ACBD1C4502 /* Catchable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catchable.swift; path = Sources/Catchable.swift; sourceTree = ""; }; + 4A91DDD53F519E555416888F6747C0D5 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = Sources/Error.swift; sourceTree = ""; }; + 4B90782E90E35201E901B4ABD31E7E1C /* UIView+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.h"; sourceTree = ""; }; + 4C0010565A5FA9F18F27870EA632C4D3 /* afterlife.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = afterlife.swift; path = Extensions/Foundation/Sources/afterlife.swift; sourceTree = ""; }; + 4C05BD716367802B1AA84356C6E21134 /* Result-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "Result-macOS-dummy.m"; path = "../Result-macOS/Result-macOS-dummy.m"; sourceTree = ""; }; + 4DA63B5CD137C32932CDB5DB0C7A036C /* Guarantee.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Guarantee.swift; path = Sources/Guarantee.swift; sourceTree = ""; }; + 4DB7550812E8FC8658862B062E0A8D6C /* hang.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = hang.swift; path = Sources/hang.swift; sourceTree = ""; }; + 510A8C675D48B2B9F8821CFCF830CAC5 /* SipHash-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "SipHash-macOS.xcconfig"; path = "../SipHash-macOS/SipHash-macOS.xcconfig"; sourceTree = ""; }; + 513D1D85D34F76B7E4DAE1B37103BC5A /* UInt32+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt32+Extension.swift"; path = "Sources/CryptoSwift/UInt32+Extension.swift"; sourceTree = ""; }; + 51DF3FC4A067409E953FF230FC67D985 /* Deprecations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecations.swift; path = Sources/Deprecations.swift; sourceTree = ""; }; 522015696E45158812DD4C5CF37CD544 /* Pods-web3swift-macOS_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-macOS_Tests-dummy.m"; sourceTree = ""; }; - 52755885B4D2951532D257A2FEF6BCCF /* libsecp256k1_ios-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libsecp256k1_ios-macOS.a"; path = "libsecp256k1_ios-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 52984D45ED4815A5B6748A82F48DB8FD /* BigInt-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "BigInt-macOS.modulemap"; path = "../BigInt-macOS/BigInt-macOS.modulemap"; sourceTree = ""; }; - 534009974277EC43330183E1CF3A73A3 /* CryptoSwift-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "CryptoSwift-macOS.xcconfig"; path = "../CryptoSwift-macOS/CryptoSwift-macOS.xcconfig"; sourceTree = ""; }; + 52AF65D13B97A0EAA5CC2F9AF6450786 /* NSNotificationCenter+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.m"; sourceTree = ""; }; + 52DC772E67709ACAE0A2731E36A63DC0 /* secp256k1_swift-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "secp256k1_swift-macOS.xcconfig"; path = "../secp256k1_swift-macOS/secp256k1_swift-macOS.xcconfig"; sourceTree = ""; }; + 53097BBB7E450CEA3B67F503C72EE715 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = Classes/secp256k1/src/modules/recovery/main_impl.h; sourceTree = ""; }; + 5362887D119F1FF10889E08C0A86AC77 /* libscrypt-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libscrypt-macOS.a"; path = "libscrypt-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 547AA2E9890A83EE986E0FE6B230D1E8 /* libSwiftRLP-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libSwiftRLP-macOS.a"; path = "libSwiftRLP-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 547B7D1303121A36C02717193279DF7A /* SipHash-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SipHash-macOS-dummy.m"; path = "../SipHash-macOS/SipHash-macOS-dummy.m"; sourceTree = ""; }; 54DEB815C6A515714B4A838D414C3241 /* Pods-web3swift-macOS_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-macOS_Tests-acknowledgements.markdown"; sourceTree = ""; }; - 55188AE8B0452B68B54A84FABFBA1BBF /* Bitwise Ops.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bitwise Ops.swift"; path = "sources/Bitwise Ops.swift"; sourceTree = ""; }; - 5571DA87BD8084546DB65E212E690849 /* RandomUInt64.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomUInt64.swift; path = SipHash/RandomUInt64.swift; sourceTree = ""; }; - 560B0B96D98FDEEAA1623C02B9F6ACC6 /* UIView+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Promise.swift"; path = "Extensions/UIKit/Sources/UIView+Promise.swift"; sourceTree = ""; }; - 57BE35B8EF2F430EE1A093A4E43F8243 /* eckey_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey_impl.h; path = secp256k1_ios/src/eckey_impl.h; sourceTree = ""; }; - 5875BBBED3A4765B1D355C2AD095978A /* SipHash-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "SipHash-macOS.modulemap"; path = "../SipHash-macOS/SipHash-macOS.modulemap"; sourceTree = ""; }; - 58D38A9B84FEE36DA02159AEC6611C17 /* Result-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "Result-macOS-dummy.m"; path = "../Result-macOS/Result-macOS-dummy.m"; sourceTree = ""; }; - 58ED9DC4116D9A46B7047B9F3EE44E18 /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Configuration.swift; sourceTree = ""; }; - 59C74C1E23D6AF919642E4F6E55FD308 /* BlockModeOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockModeOptions.swift; path = Sources/CryptoSwift/BlockMode/BlockModeOptions.swift; sourceTree = ""; }; - 59EE5FF05C3E791A7F8398D6FCF80055 /* BlockEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockEncryptor.swift; path = Sources/CryptoSwift/BlockEncryptor.swift; sourceTree = ""; }; - 5AB377C96E323960FB5F59BE70C7DDFA /* Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Poly1305.swift; path = Sources/CryptoSwift/Poly1305.swift; sourceTree = ""; }; - 5ADFA6DD652FDF2433DB8FB46C2B02CA /* ecmult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult.h; path = secp256k1_ios/src/ecmult.h; sourceTree = ""; }; - 5C0825E5C07CD2AD15EADE1A4F132C24 /* field_5x52_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_impl.h; path = secp256k1_ios/src/field_5x52_impl.h; sourceTree = ""; }; - 5C4FBD9EED7C8E73E16CA9B5DC621F56 /* 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 = ""; }; - 5C91FB228B4F0EFFE0BB1C457B26A6E3 /* Prime Test.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Prime Test.swift"; path = "sources/Prime Test.swift"; sourceTree = ""; }; - 5D3D189B9D399D3E4E4DA52E21D02925 /* BigInt-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "BigInt-macOS-prefix.pch"; path = "../BigInt-macOS/BigInt-macOS-prefix.pch"; sourceTree = ""; }; - 5F5E831984223821B4643964E0D16375 /* AEADChaCha20Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEADChaCha20Poly1305.swift; path = Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift; sourceTree = ""; }; - 5F98A4FCB73949EC4A239F93A6380393 /* libscrypt-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libscrypt-macOS.a"; path = "libscrypt-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 602BCDD7A6B60ADA7204658627037B22 /* SipHasher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHasher.swift; path = SipHash/SipHasher.swift; sourceTree = ""; }; - 60EE65019B7B0977FF9331F020D957CD /* BigInt-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "BigInt-macOS-umbrella.h"; path = "../BigInt-macOS/BigInt-macOS-umbrella.h"; sourceTree = ""; }; - 60F78E26D6ABB8534A27E28D45FBFF71 /* Scrypt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scrypt.swift; path = scrypt/scrypt/Scrypt.swift; sourceTree = ""; }; - 64389E571A401AFB1A430A11C7053757 /* SipHash-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "SipHash-macOS.xcconfig"; path = "../SipHash-macOS/SipHash-macOS.xcconfig"; sourceTree = ""; }; - 6565B9A6640E27ECBBF27A2AB8E07117 /* AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AnyPromise.m; path = Sources/AnyPromise.m; sourceTree = ""; }; - 65E54F31ACC1397C1485DF5C7B5FA928 /* Random.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Random.swift; path = sources/Random.swift; sourceTree = ""; }; + 55674F039B757742790CC41D400D1B28 /* scrypt-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "scrypt-macOS-umbrella.h"; path = "../scrypt-macOS/scrypt-macOS-umbrella.h"; sourceTree = ""; }; + 56831D861C9C68AB6445D1B373489CCD /* Box.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Box.swift; path = Sources/Box.swift; sourceTree = ""; }; + 584C7F09DDD45569AE8365662DEFF8CA /* ECB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ECB.swift; path = Sources/CryptoSwift/BlockMode/ECB.swift; sourceTree = ""; }; + 59163772C1016907FD12D819A604B18B /* Rabbit+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Rabbit+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift"; sourceTree = ""; }; + 592D721B3C087135B76612BE7D7B3701 /* NSURLSession+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLSession+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.h"; sourceTree = ""; }; + 599066091D94A49D4FE779679AFD88E2 /* libSipHash-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libSipHash-macOS.a"; path = "libSipHash-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 5A6CB64CE9F57BAAAAF807DF850E2C0A /* libResult-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libResult-iOS.a"; path = "libResult-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 5C26BABFAE3BF83287E05135793873F6 /* scalar_8x32.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_8x32.h; path = Classes/secp256k1/src/scalar_8x32.h; sourceTree = ""; }; + 5DB98AE66675F1DDA4A420A12C0BFBC6 /* OFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OFB.swift; path = Sources/CryptoSwift/BlockMode/OFB.swift; sourceTree = ""; }; + 5E7DBCA26552356539B821BC83348925 /* BigInt-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "BigInt-iOS.xcconfig"; sourceTree = ""; }; + 611BA1395C8C441142D55E0EA236E429 /* scratch_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch_impl.h; path = Classes/secp256k1/src/scratch_impl.h; sourceTree = ""; }; + 6190C35184D36B3997B74374A1DEB870 /* libPods-web3swift-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-macOS.a"; path = "libPods-web3swift-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 61F9B5A069C5D02E065D4AB81C26942D /* libsecp256k1_swift-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libsecp256k1_swift-macOS.a"; path = "libsecp256k1_swift-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 629A9B1DDCCA7AF069A948D996B8B34C /* Authenticator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Authenticator.swift; path = Sources/CryptoSwift/Authenticator.swift; sourceTree = ""; }; + 62DAA30A02BECECD3B564F1546CE3343 /* Process+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Process+Promise.swift"; path = "Extensions/Foundation/Sources/Process+Promise.swift"; sourceTree = ""; }; + 6304D4D79F57615EFD4626BF126CE5AD /* Bit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bit.swift; path = Sources/CryptoSwift/Bit.swift; sourceTree = ""; }; + 638D0AE5AF7E8F2016849D61CA3C54E4 /* scratch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch.h; path = Classes/secp256k1/src/scratch.h; sourceTree = ""; }; + 638EF15CE0F571BA9C2C5868DA40EBBE /* RandomBytesSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomBytesSequence.swift; path = Sources/CryptoSwift/RandomBytesSequence.swift; sourceTree = ""; }; + 63A1F06664FED90C2B7F7989990F9EE3 /* NSTask+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSTask+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.m"; sourceTree = ""; }; + 63D12DA56BB356A37E371C2040649482 /* BigInt-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "BigInt-iOS.modulemap"; sourceTree = ""; }; + 648DE2BEBFB01CEB5B721BA04955EAF1 /* String Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String Conversion.swift"; path = "sources/String Conversion.swift"; sourceTree = ""; }; + 65695D88202B0FFFBE40038E32FBE234 /* NoError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoError.swift; path = Result/NoError.swift; sourceTree = ""; }; + 65CE212AD1BE3547B620E83B3DA9E60F /* CFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CFB.swift; path = Sources/CryptoSwift/BlockMode/CFB.swift; sourceTree = ""; }; + 66515F5856AA8BFE5FEC1F9BF271A5A2 /* PMKUIKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKUIKit.h; path = Extensions/UIKit/Sources/PMKUIKit.h; sourceTree = ""; }; 673FFC4D2B959AB8AEC35D646A85CDCD /* Pods-web3swift-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS.release.xcconfig"; sourceTree = ""; }; - 690E91794401ED87EB104B7BE8059DD2 /* UIViewController+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIViewController+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIViewController+AnyPromise.m"; sourceTree = ""; }; - 6942B9400A6731CB14455C8AE7F0C6A7 /* Subtraction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Subtraction.swift; path = sources/Subtraction.swift; sourceTree = ""; }; - 6B7D33AF1AE938A46700885645D7B0C6 /* secp256k1_recovery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_recovery.h; path = secp256k1_ios/include/secp256k1_recovery.h; sourceTree = ""; }; - 6C85BA37239973340D1056F3EBC7F4F8 /* secp256k1_ios-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "secp256k1_ios-iOS-dummy.m"; sourceTree = ""; }; - 6C86011CD926858E717E5D92380F2838 /* CryptoSwift-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CryptoSwift-iOS-dummy.m"; sourceTree = ""; }; + 67580A9D6645C39D002E66190B1B2B66 /* ecmult_const_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const_impl.h; path = Classes/secp256k1/src/ecmult_const_impl.h; sourceTree = ""; }; + 67946900D6375AEDFA1C113E2A5B2794 /* Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptors.swift; path = Sources/CryptoSwift/Cryptors.swift; sourceTree = ""; }; + 68457844D0369DF25FAC63A7E42F3A5C /* BlockMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockMode.swift; path = Sources/CryptoSwift/BlockMode/BlockMode.swift; sourceTree = ""; }; + 686E32EABE020693AEB9B0CBB68DC7AD /* libCryptoSwift-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libCryptoSwift-iOS.a"; path = "libCryptoSwift-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 68C55BFCA12A87EB647D36A87908A1D1 /* AES.Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.Cryptors.swift; path = Sources/CryptoSwift/AES.Cryptors.swift; sourceTree = ""; }; + 6954BF93957A2CAF08330D9214A7ACF2 /* Utils+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Utils+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Utils+Foundation.swift"; sourceTree = ""; }; + 69DAF4AC1AD4ABE697F2A9B28B2742A9 /* lax_der_privatekey_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_privatekey_parsing.h; path = Classes/secp256k1/contrib/lax_der_privatekey_parsing.h; sourceTree = ""; }; + 6B9D04508C62F823AFD89A1CA232315E /* Prime Test.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Prime Test.swift"; path = "sources/Prime Test.swift"; sourceTree = ""; }; + 6BECA27963AB5B81C6487F1AFF447EE3 /* UInt16+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt16+Extension.swift"; path = "Sources/CryptoSwift/UInt16+Extension.swift"; sourceTree = ""; }; + 6C03433156B044F013B91599EE579C7D /* lax_der_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_parsing.h; path = Classes/secp256k1/contrib/lax_der_parsing.h; sourceTree = ""; }; 6D4A716592C208D7429CE19B82094FA8 /* Pods-web3swift-iOS_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-iOS_Tests-acknowledgements.plist"; sourceTree = ""; }; - 6DDF10E5AA3EE0D0028933F977F5BF96 /* Generics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generics.swift; path = Sources/CryptoSwift/Generics.swift; sourceTree = ""; }; - 7399560A570538454DCA6FC42E879809 /* num_gmp.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_gmp.h; path = secp256k1_ios/src/num_gmp.h; sourceTree = ""; }; - 744D68A2C1A6A6136663892BD5967CEF /* lax_der_privatekey_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_privatekey_parsing.h; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.h; sourceTree = ""; }; - 74C8E7BC7B9A663969DC6A1FAE5AD6C6 /* Bit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bit.swift; path = Sources/CryptoSwift/Bit.swift; sourceTree = ""; }; - 75108DB9FE7BABCC05526BD92059DC5A /* BufferStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BufferStorage.swift; path = scrypt/scrypt/BufferStorage.swift; sourceTree = ""; }; + 6DF6BC857A451DB590136C2127E8540C /* SwiftRLP.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SwiftRLP.h; path = SwiftRLP/SwiftRLP.h; sourceTree = ""; }; + 6F12EBB6BE5A983DB0FE7EBD486FC10B /* scrypt-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "scrypt-macOS-prefix.pch"; path = "../scrypt-macOS/scrypt-macOS-prefix.pch"; sourceTree = ""; }; + 6F662C5CB3F9F55D1B8343627F3108A8 /* libResult-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libResult-macOS.a"; path = "libResult-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 709674DD026369E39754079D242C3E66 /* secp256k1_swift-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_swift-iOS-prefix.pch"; sourceTree = ""; }; + 71949CED7683B7766F5B86149AFB03D5 /* SwiftRLP-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "SwiftRLP-iOS.modulemap"; sourceTree = ""; }; + 73E1C923DAF11E64DD39A52C483CBBB0 /* UInt128.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UInt128.swift; path = Sources/CryptoSwift/UInt128.swift; sourceTree = ""; }; + 75335D15747F097BD0A9500504DC8775 /* Updatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Updatable.swift; path = Sources/CryptoSwift/Updatable.swift; sourceTree = ""; }; 753E3CD3CF2AA32CDB11305D429F3C96 /* Pods-web3swift-iOS_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-iOS_Tests-acknowledgements.markdown"; sourceTree = ""; }; - 778AAAE605119A0341DA4378ED873181 /* scalar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar.h; path = secp256k1_ios/src/scalar.h; sourceTree = ""; }; + 755201B560E952C6A5333642B028695A /* libPromiseKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libPromiseKit.a; path = libPromiseKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 75724C7E4D6EB3792635A031AD2B1492 /* UInt64+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt64+Extension.swift"; path = "Sources/CryptoSwift/UInt64+Extension.swift"; sourceTree = ""; }; + 75D9DF88CC9C33DAC01E5EFCB0B1513D /* Multiplication.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Multiplication.swift; path = sources/Multiplication.swift; sourceTree = ""; }; + 7663F04B24B87395872D526DC48DC43C /* group.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group.h; path = Classes/secp256k1/src/group.h; sourceTree = ""; }; + 77A1B64DBD371FBCB805A100679F87A8 /* Digest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Digest.swift; path = Sources/CryptoSwift/Digest.swift; sourceTree = ""; }; + 77E3BF2EAFA71BF47C10920D60404EE9 /* PromiseKit.root-CorePromise-Foundation-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PromiseKit.root-CorePromise-Foundation-prefix.pch"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch"; sourceTree = ""; }; + 7840B3270C6F5BC3A89FE4E3AE641898 /* Codable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Codable.swift; path = sources/Codable.swift; sourceTree = ""; }; + 7950E62D04D3EBAB00EA5CE1411E5A6C /* secp256k1_swift-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_swift-iOS-umbrella.h"; sourceTree = ""; }; 79E925BEAA0533C58B6D9871B886DD8A /* Pods-web3swift-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swift-iOS.modulemap"; sourceTree = ""; }; - 7AF087435CFE453BE94CFAE116CC7661 /* field_5x52.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52.h; path = secp256k1_ios/src/field_5x52.h; sourceTree = ""; }; - 7AF444B003D1A7B9026D1AF8B3B5B699 /* HMAC+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "HMAC+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/HMAC+Foundation.swift"; sourceTree = ""; }; - 7B10016CC925878BCF8C1423A7EAD6A6 /* Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Padding.swift; path = Sources/CryptoSwift/Padding.swift; sourceTree = ""; }; - 7B7931AA08AA6E50FAE2325FDFEC9669 /* ResultProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResultProtocol.swift; path = Result/ResultProtocol.swift; sourceTree = ""; }; - 7C9596E2D0164256EFB0F1673E724BB1 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/recovery/main_impl.h; sourceTree = ""; }; - 7D4E771C1368EA72DE7D24C281E6D674 /* secp256k1_ios-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_ios-macOS-umbrella.h"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS-umbrella.h"; sourceTree = ""; }; + 7A0C50DF8D82115DBAAFF1AA1F45BD18 /* secp256k1_swift-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "secp256k1_swift-iOS.modulemap"; sourceTree = ""; }; + 7AAE07003CED08DD7BCB8AC108A4773B /* Scrypt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scrypt.swift; path = scrypt/scrypt/Scrypt.swift; sourceTree = ""; }; + 7B6B5F54FE477086DE9224F151F9D3EA /* ecmult_gen.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen.h; path = Classes/secp256k1/src/ecmult_gen.h; sourceTree = ""; }; + 7CA875E3478CF42FACB3165CBFAE86BD /* Thenable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Thenable.swift; path = Sources/Thenable.swift; sourceTree = ""; }; + 7D484138780C581F7D2CE4E6D0544865 /* BigInt-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "BigInt-iOS-dummy.m"; sourceTree = ""; }; 7E8C19543EF3AA4D9801DBE55E22E211 /* Pods-web3swift-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-web3swift-iOS-umbrella.h"; sourceTree = ""; }; - 7F3C6D22D31BFCC4FBF02C3E813AE0EC /* hang.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = hang.m; path = Sources/hang.m; sourceTree = ""; }; - 7FDB2A79B118B2F003B3E6F5A708B701 /* hash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash.h; path = secp256k1_ios/src/hash.h; sourceTree = ""; }; - 81D592C69182CE946419FE4D30C2690E /* PBKDF2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF2.swift; path = Sources/CryptoSwift/PKCS/PBKDF2.swift; sourceTree = ""; }; - 822F20C56BDAEAB1D9B8A0CE5D552188 /* BigInt-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "BigInt-iOS.modulemap"; sourceTree = ""; }; - 8575ADFAFEFEFEDACDC32D01960AE2AB /* scratch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scratch.h; path = secp256k1_ios/src/scratch.h; sourceTree = ""; }; - 85ACA7DBB43194398C4BBE72803AB0A9 /* Result-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Result-iOS.modulemap"; sourceTree = ""; }; - 86010FFDC0CB0732CC170A6EB5EC36A5 /* field.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field.h; path = secp256k1_ios/src/field.h; sourceTree = ""; }; - 878207B522C3B5C4C78ECAC3AA87663A /* libBigInt-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libBigInt-iOS.a"; path = "libBigInt-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 8866E3418AA74CD02353B3E373ACEFA9 /* PMKFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKFoundation.h; path = Extensions/Foundation/Sources/PMKFoundation.h; sourceTree = ""; }; - 894312908815C8518B59156B045BB049 /* Thenable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Thenable.swift; path = Sources/Thenable.swift; sourceTree = ""; }; - 894C3E3F18C4D842D9E35A6A69851AF0 /* main_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = main_impl.h; path = secp256k1_ios/src/modules/ecdh/main_impl.h; sourceTree = ""; }; - 897A68EA53AA050AFE4583C364D6C1CF /* PromiseKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = PromiseKit.modulemap; sourceTree = ""; }; - 8A6199EF8A43EB0E1F3C0EB7228F575C /* HKDF.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HKDF.swift; path = Sources/CryptoSwift/HKDF.swift; sourceTree = ""; }; + 7EECFB1BF73B6EB0684317B85E2EA08E /* util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = util.h; path = Classes/secp256k1/src/util.h; sourceTree = ""; }; + 7FED111DB9B19BEB67F1E97D34E65AC8 /* SipHash-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SipHash-macOS-umbrella.h"; path = "../SipHash-macOS/SipHash-macOS-umbrella.h"; sourceTree = ""; }; + 7FFE51D4F185433A05C0BD38B8F2A5CC /* HKDF.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HKDF.swift; path = Sources/CryptoSwift/HKDF.swift; sourceTree = ""; }; + 8200921DBAF2BD006E2F13F1F9D5A8C9 /* SwiftRLP-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftRLP-iOS-prefix.pch"; sourceTree = ""; }; + 8446B6BDDAE4F9F915BCB9730B980742 /* CryptoSwift-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "CryptoSwift-iOS.modulemap"; sourceTree = ""; }; + 889ED076F99BD2AB4920EC9A5ECAFFDE /* after.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = after.swift; path = Sources/after.swift; sourceTree = ""; }; + 88AC1F107B9BEA598C0726780ECDFE87 /* field_10x26_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26_impl.h; path = Classes/secp256k1/src/field_10x26_impl.h; sourceTree = ""; }; + 88EC012A11A5D51BC077A26441D4957B /* NoPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoPadding.swift; path = Sources/CryptoSwift/NoPadding.swift; sourceTree = ""; }; + 88F32E8C457272E137BB38662B42445E /* field_10x26.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26.h; path = Classes/secp256k1/src/field_10x26.h; sourceTree = ""; }; 8B56F6A20A0CF698ECA0EDF6CF4CDD74 /* Pods-web3swift-iOS_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-iOS_Tests-dummy.m"; sourceTree = ""; }; - 8C537644BF5D1735EC0FF5E1EAD5A94F /* AnyPromise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyPromise.swift; path = Sources/AnyPromise.swift; sourceTree = ""; }; - 8E629DABC6293E872B2A48DE12DC3D99 /* PromiseKit.root-CorePromise-Foundation.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "PromiseKit.root-CorePromise-Foundation.modulemap"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.modulemap"; sourceTree = ""; }; - 8E865E2465317D7395EFFC3E15BE3B82 /* field_10x26_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_10x26_impl.h; path = secp256k1_ios/src/field_10x26_impl.h; sourceTree = ""; }; - 8F87371895A84370E0ECB153DA5CFF62 /* PBKDF1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF1.swift; path = Sources/CryptoSwift/PKCS/PBKDF1.swift; sourceTree = ""; }; + 8B8AE60B95D9DA9615B03EE888C7F908 /* secp256k1.c */ = {isa = PBXFileReference; includeInIndex = 1; name = secp256k1.c; path = Classes/secp256k1/src/secp256k1.c; sourceTree = ""; }; + 8BE11FDB9FE69A172C6101D8842D30EF /* UInt8+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt8+Extension.swift"; path = "Sources/CryptoSwift/UInt8+Extension.swift"; sourceTree = ""; }; + 8C60838D5062772223AD4E011F01E513 /* SwiftRLP-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "SwiftRLP-macOS.modulemap"; path = "../SwiftRLP-macOS/SwiftRLP-macOS.modulemap"; sourceTree = ""; }; + 8CBA3A66080B4CF784ADFED0326CBC82 /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "Sources/CryptoSwift/String+Extension.swift"; sourceTree = ""; }; + 8D81EA62567426F4F97BA1EE4F993378 /* lax_der_privatekey_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_privatekey_parsing.c; path = Classes/secp256k1/contrib/lax_der_privatekey_parsing.c; sourceTree = ""; }; + 8E2064AA263189FCD4D283C9618B597A /* BigInt-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "BigInt-macOS-umbrella.h"; path = "../BigInt-macOS/BigInt-macOS-umbrella.h"; sourceTree = ""; }; + 90B02C30596DAD79E18ADA8E1883B661 /* CryptoSwift-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-iOS-prefix.pch"; sourceTree = ""; }; 90B410829D6E70A45A22CC62F187A11B /* Pods-web3swift-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-web3swift-macOS.modulemap"; sourceTree = ""; }; - 90CF4F3CD46BB810B73F6BAF362CB47A /* libPromiseKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libPromiseKit.a; path = libPromiseKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 9111A66A9DB609E927159CEFB76D4E76 /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "Sources/CryptoSwift/String+Extension.swift"; sourceTree = ""; }; - 91836319B3FCCB5A2B1BCE6EF7415F68 /* CFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CFB.swift; path = Sources/CryptoSwift/BlockMode/CFB.swift; sourceTree = ""; }; + 9197F30F9D372148520156A011421FE9 /* HMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HMAC.swift; path = Sources/CryptoSwift/HMAC.swift; sourceTree = ""; }; + 928C9306D44A4F06DEDCFDA02220D548 /* basic-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "basic-config.h"; path = "Classes/secp256k1/src/basic-config.h"; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9419704F82CEC9143EC36DDD7E0B5565 /* NSNotificationCenter+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.m"; sourceTree = ""; }; + 9520DA623CEB5BEB937C6E2EEC267B31 /* secp256k1_swift-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "secp256k1_swift-macOS-dummy.m"; path = "../secp256k1_swift-macOS/secp256k1_swift-macOS-dummy.m"; sourceTree = ""; }; + 955161BE1368A548FD4EB6DA00435D16 /* UIView+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIView+Promise.swift"; path = "Extensions/UIKit/Sources/UIView+Promise.swift"; sourceTree = ""; }; 95C397E16B314F921F7784F00C8F183B /* Pods-web3swift-iOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-iOS-acknowledgements.plist"; sourceTree = ""; }; - 95E6916802B9A0D029D336A91E220830 /* Result-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Result-iOS.xcconfig"; sourceTree = ""; }; - 95FA6138713C5F6E2FBBB866D8A4C6E0 /* 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 = ""; }; - 96BC14C5CF69F4D24A02B045A7A1BB7E /* fwd.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = fwd.h; path = Sources/fwd.h; sourceTree = ""; }; - 9705AB5431247715C48FE5E652D005AE /* CryptoSwift-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "CryptoSwift-iOS.modulemap"; sourceTree = ""; }; - 97CA37D99BC06AE9B4704C72A22686E5 /* lax_der_parsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = lax_der_parsing.h; path = secp256k1_ios/contrib/lax_der_parsing.h; sourceTree = ""; }; - 991C827F3BBAAEE28EE416BE38F76DD0 /* Guarantee.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Guarantee.swift; path = Sources/Guarantee.swift; sourceTree = ""; }; - 9B4E57AA7FB0E002998D6424CB608E32 /* PromiseKit.root-CorePromise-Foundation-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PromiseKit.root-CorePromise-Foundation-prefix.pch"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch"; sourceTree = ""; }; - 9D44A825E8CB9200059521A9C941F712 /* Square Root.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Square Root.swift"; path = "sources/Square Root.swift"; sourceTree = ""; }; - 9FAB45044F3A646E2488529698B14387 /* Floating Point Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Floating Point Conversion.swift"; path = "sources/Floating Point Conversion.swift"; sourceTree = ""; }; - 9FF537F705CA3D41D9798A4511A8F24D /* Authenticator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Authenticator.swift; path = Sources/CryptoSwift/Authenticator.swift; sourceTree = ""; }; - A0BB9A3E4E29EBA29F99C94BBEEEC1F2 /* Cimpl.c */ = {isa = PBXFileReference; includeInIndex = 1; name = Cimpl.c; path = scrypt/Cimpl.c; sourceTree = ""; }; - A414F7D6F59CB6D7C5696F98992E80A2 /* BatchedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BatchedCollection.swift; path = Sources/CryptoSwift/BatchedCollection.swift; sourceTree = ""; }; - A5946E85C35328004F1FD0D65ABF93B4 /* Process+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Process+Promise.swift"; path = "Extensions/Foundation/Sources/Process+Promise.swift"; sourceTree = ""; }; + 97B24FD834901CF3D36423F68C485701 /* 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 = ""; }; + 97C1287E8FD172526EC3409612A97C23 /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = Sources/CryptoSwift/Utils.swift; sourceTree = ""; }; + 97E0EFD2C6E09D9A91E0B22FB199CF95 /* CryptoSwift-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-iOS-umbrella.h"; sourceTree = ""; }; + 980A812728AADDDB624727159B4C098E /* secp256k1_swift-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_swift-macOS-prefix.pch"; path = "../secp256k1_swift-macOS/secp256k1_swift-macOS-prefix.pch"; sourceTree = ""; }; + 98208639AD618314C999FC207B7FBA89 /* SipHash-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SipHash-iOS-dummy.m"; sourceTree = ""; }; + 98B2E87BB6ACFDFDFA8C3C8F69BE06E2 /* Result-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Result-macOS-umbrella.h"; path = "../Result-macOS/Result-macOS-umbrella.h"; sourceTree = ""; }; + 98D3DA59A50F70D87A13DF72C6E649E1 /* Subtraction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Subtraction.swift; path = sources/Subtraction.swift; sourceTree = ""; }; + 99490114EDAF958B866019F3B4C71077 /* ZeroPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZeroPadding.swift; path = Sources/CryptoSwift/ZeroPadding.swift; sourceTree = ""; }; + 9A30230BA7EA4657EA54DDA7AB7B05FD /* hash.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash.h; path = Classes/secp256k1/src/hash.h; sourceTree = ""; }; + 9ABF1DE4DC6AE445BD89E628E2CF5E94 /* num.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num.h; path = Classes/secp256k1/src/num.h; sourceTree = ""; }; + 9C8C505AC16C4F7922DBC4160AC3448C /* dispatch_promise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = dispatch_promise.m; path = Sources/dispatch_promise.m; sourceTree = ""; }; + 9D7A3998EBD9688668E8B5E865E058BC /* Catchable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Catchable.swift; path = Sources/Catchable.swift; sourceTree = ""; }; + 9D8AF6DE4770B6AAF9C6F56D533DB5A3 /* Rabbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rabbit.swift; path = Sources/CryptoSwift/Rabbit.swift; sourceTree = ""; }; + 9DBCB6B50C94F20FB7E7BC301A007798 /* PKCS7Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7Padding.swift; path = Sources/CryptoSwift/PKCS/PKCS7Padding.swift; sourceTree = ""; }; + 9DC3346C75E669B5227A78FA15785FB3 /* Floating Point Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Floating Point Conversion.swift"; path = "sources/Floating Point Conversion.swift"; sourceTree = ""; }; + A11B379994D50482D207EE8967ED7CDF /* SwiftRLP-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftRLP-iOS-dummy.m"; sourceTree = ""; }; + A14282AE6AF7AD75A532A9639BE44B88 /* libscrypt-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libscrypt-iOS.a"; path = "libscrypt-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + A1EC79FCBA910623842C72C09D10B874 /* NSTask+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSTask+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.h"; sourceTree = ""; }; + A322E379ECBC90322624BA7A69FBBDEE /* libsecp256k1_swift-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libsecp256k1_swift-iOS.a"; path = "libsecp256k1_swift-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + A3A74DAAF802F643B5F00446BF21F89A /* CBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBC.swift; path = Sources/CryptoSwift/BlockMode/CBC.swift; sourceTree = ""; }; + A3BCB7E3971A174E47D70212430A170B /* libBigInt-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libBigInt-iOS.a"; path = "libBigInt-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + A46C4FE304316D231AC48D068F15FE99 /* Integer Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Integer Conversion.swift"; path = "sources/Integer Conversion.swift"; sourceTree = ""; }; + A493659FF25FE0BB4CA590271A53BFB6 /* Salsa.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Salsa.swift; path = scrypt/scrypt/Salsa.swift; sourceTree = ""; }; A5D9B32B104EA0A137D78B89D4D19D40 /* Pods-web3swift-macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS.release.xcconfig"; sourceTree = ""; }; - A699FEC4F0274F833ECDEB986CAABBD2 /* UInt32+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt32+Extension.swift"; path = "Sources/CryptoSwift/UInt32+Extension.swift"; sourceTree = ""; }; - A93880388A03A6AEAEBFC90F7F533AAD /* StreamEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StreamEncryptor.swift; path = Sources/CryptoSwift/StreamEncryptor.swift; sourceTree = ""; }; - A9C90F0F0F9A0115AC326304EB131CA4 /* race.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = race.swift; path = Sources/race.swift; sourceTree = ""; }; - AAF423028DF35854B3087F873B6965E4 /* libPods-web3swift-iOS_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-iOS_Tests.a"; path = "libPods-web3swift-iOS_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - AB4A0ADEE88B224FCFB999E14A3FC3BA /* CryptoSwift-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CryptoSwift-macOS-umbrella.h"; path = "../CryptoSwift-macOS/CryptoSwift-macOS-umbrella.h"; sourceTree = ""; }; - AD4D44D1A4A0B550CAB6D8C2AED04AD3 /* CMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CMAC.swift; path = Sources/CryptoSwift/CMAC.swift; sourceTree = ""; }; - AE26C9121A9F08A8934B37AD374D39F4 /* scrypt-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "scrypt-macOS-prefix.pch"; path = "../scrypt-macOS/scrypt-macOS-prefix.pch"; sourceTree = ""; }; - AEF9AB34E06A2A4078A0C87B37B1CD0F /* RandomBytesSequence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomBytesSequence.swift; path = Sources/CryptoSwift/RandomBytesSequence.swift; sourceTree = ""; }; - AF807959CD9376AAE20892C1143FF9E6 /* libResult-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libResult-macOS.a"; path = "libResult-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - B02B055F45990BB015AB494AE625A793 /* CryptoSwift-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-iOS-umbrella.h"; sourceTree = ""; }; - B0423C9D9E49080ACEF73C985FBB221F /* SipHash-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SipHash-macOS-dummy.m"; path = "../SipHash-macOS/SipHash-macOS-dummy.m"; sourceTree = ""; }; - B3BEE25ACB7B1714E52C057B725B022B /* ChaCha20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChaCha20.swift; path = Sources/CryptoSwift/ChaCha20.swift; sourceTree = ""; }; - B3C749DBE031D5CD32F6F718288C1AC0 /* Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Promise.swift; path = Sources/Promise.swift; sourceTree = ""; }; - B592EEFCCF7F964D0B60F749B17B7658 /* race.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = race.m; path = Sources/race.m; sourceTree = ""; }; - B7540EADD3520F1ECD4BAD23FF29400F /* String+FoundationExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+FoundationExtension.swift"; path = "Sources/CryptoSwift/Foundation/String+FoundationExtension.swift"; sourceTree = ""; }; + A689F9898FAC7D6BEBFC64BDDB5CCD33 /* hash_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash_impl.h; path = Classes/secp256k1/src/hash_impl.h; sourceTree = ""; }; + A7E72167B9780D5627571A312AE1B751 /* SwiftRLP-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SwiftRLP-macOS-umbrella.h"; path = "../SwiftRLP-macOS/SwiftRLP-macOS-umbrella.h"; sourceTree = ""; }; + A84CAC1E9ED891BB925E32AD866EF4F8 /* NSNotificationCenter+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSNotificationCenter+AnyPromise.h"; sourceTree = ""; }; + A91F063F0878CD71B91FA6F40B94A8DD /* scrypt-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "scrypt-iOS.xcconfig"; sourceTree = ""; }; + A9B9A712542DB104270D877BBE57746F /* Cryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptor.swift; path = Sources/CryptoSwift/Cryptor.swift; sourceTree = ""; }; + ABA1CC6FBDF71FC02EE62B784C52CD45 /* secp256k1_swift-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "secp256k1_swift-macOS-umbrella.h"; path = "../secp256k1_swift-macOS/secp256k1_swift-macOS-umbrella.h"; sourceTree = ""; }; + ABDC74FFB2FBBD052E941151A2CC6E87 /* lax_der_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_parsing.c; path = Classes/secp256k1/contrib/lax_der_parsing.c; sourceTree = ""; }; + AE037589FFCAACA71A323801729DC4A8 /* Primitive Types.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Primitive Types.swift"; path = "SipHash/Primitive Types.swift"; sourceTree = ""; }; + AEC7A24CF8E56E0AB30884A90747F2B2 /* scrypt-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-iOS-umbrella.h"; sourceTree = ""; }; + AF3BC8F62680B30207131C5C87008E38 /* field_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_impl.h; path = Classes/secp256k1/src/field_impl.h; sourceTree = ""; }; + AF778863EFEA29642AB012C4C5FC903D /* PromiseKit.root-CorePromise-Foundation.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "PromiseKit.root-CorePromise-Foundation.modulemap"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.modulemap"; sourceTree = ""; }; + B01CD4E7B7266FBC96F1DAE5B4F170F2 /* CTR.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CTR.swift; path = Sources/CryptoSwift/BlockMode/CTR.swift; sourceTree = ""; }; + B206B730E077834821DED823382B92DD /* secp256k1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = secp256k1.swift; path = Classes/secp256k1.swift; sourceTree = ""; }; + B2503DCCE1598BB4D7E580AB0CB8E807 /* BlockDecryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockDecryptor.swift; path = Sources/CryptoSwift/BlockDecryptor.swift; sourceTree = ""; }; + B2C015DFFE7F497B97D0DA1C8C7AB69E /* Words and Bits.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Words and Bits.swift"; path = "sources/Words and Bits.swift"; sourceTree = ""; }; + B334729A830AF9B565C76134288E4EDF /* Result-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Result-iOS.xcconfig"; sourceTree = ""; }; + B3C40AC9DDA22566EDFEC3F65AA62472 /* Generics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generics.swift; path = Sources/CryptoSwift/Generics.swift; sourceTree = ""; }; + B44892C52E2EF6449BEC05C26F4C7481 /* ecdsa.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa.h; path = Classes/secp256k1/src/ecdsa.h; sourceTree = ""; }; + B465593568C60A48E4A42D1A047995E4 /* join.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = join.m; path = Sources/join.m; sourceTree = ""; }; + B4DF3EE5AB6E8CC14DA313527875575F /* AnyError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyError.swift; path = Result/AnyError.swift; sourceTree = ""; }; B7762E4245191B27674EB7EB82DCFFF1 /* Pods-web3swift-macOS_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-macOS_Tests.debug.xcconfig"; sourceTree = ""; }; - B7DFFB650AB055EA65177877A4837E93 /* String Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String Conversion.swift"; path = "sources/String Conversion.swift"; sourceTree = ""; }; - B864BCFD33F0A7ABED7DBA75C963A51A /* BlockCipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockCipher.swift; path = Sources/CryptoSwift/BlockCipher.swift; sourceTree = ""; }; - B9BCFC62DFEA1FC233306B897C15DE84 /* lax_der_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_parsing.c; path = secp256k1_ios/contrib/lax_der_parsing.c; sourceTree = ""; }; - BAC15C8E1DC42A3C6D2AF7A4BACD9D9A /* scrypt-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "scrypt-iOS.modulemap"; sourceTree = ""; }; - BAD09E8EE27EB4BA87F1F0237E0D7537 /* secp256k1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1.h; path = secp256k1_ios/include/secp256k1.h; sourceTree = ""; }; - BB8574390012E8F0C54B5B8C7A68D484 /* secp256k1_ios-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "secp256k1_ios-macOS-dummy.m"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS-dummy.m"; sourceTree = ""; }; - BC8CE2AC7222CA948CFA3E9FEF002800 /* Error.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Error.swift; path = Sources/Error.swift; sourceTree = ""; }; - BD07DFA1EC0FD8CF78E837D5A0051A6D /* num_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_impl.h; path = secp256k1_ios/src/num_impl.h; sourceTree = ""; }; - BD4C6A3CDC6FA3F322EA1C393C5CC89E /* Integer Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Integer Conversion.swift"; path = "sources/Integer Conversion.swift"; sourceTree = ""; }; - BECB9224CBFC1D8A1E8486BB06BBC621 /* BigInt-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "BigInt-iOS-umbrella.h"; sourceTree = ""; }; - BF467792E24FCB49390F293678C2E231 /* ZeroPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZeroPadding.swift; path = Sources/CryptoSwift/ZeroPadding.swift; sourceTree = ""; }; - C085FF97293CA817998555A347A3CF20 /* CryptoSwift-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CryptoSwift-macOS-prefix.pch"; path = "../CryptoSwift-macOS/CryptoSwift-macOS-prefix.pch"; sourceTree = ""; }; - C0E096DA6BBC65953BD97D1BD9FDC13A /* Blowfish+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Blowfish+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift"; sourceTree = ""; }; - C15E72CDA7675543ABA19953EF2D6A50 /* CryptoSwift-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "CryptoSwift-macOS.modulemap"; path = "../CryptoSwift-macOS/CryptoSwift-macOS.modulemap"; sourceTree = ""; }; - C1B8E55A13B5B74C5E80CA45BC86E457 /* Result-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "Result-macOS.modulemap"; path = "../Result-macOS/Result-macOS.modulemap"; sourceTree = ""; }; - C2D922779E502A6EFC12530D47844477 /* AEAD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEAD.swift; path = Sources/CryptoSwift/AEAD/AEAD.swift; sourceTree = ""; }; - C3C66A0B084556BD285AA44CBCA65202 /* scrypt-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "scrypt-iOS-dummy.m"; sourceTree = ""; }; - C57F8890E519BE45C84FBCD5E06453AF /* NoError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoError.swift; path = Result/NoError.swift; sourceTree = ""; }; - C60F71A13E6B38C36897688C101E2C9C /* BigInt-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "BigInt-macOS.xcconfig"; path = "../BigInt-macOS/BigInt-macOS.xcconfig"; sourceTree = ""; }; - C6E075CB2894DDF612F14363C5317B93 /* SipHash-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "SipHash-iOS.modulemap"; sourceTree = ""; }; - C7346693A0E94FF0C860F161CDFCE96E /* libsecp256k1_ios-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libsecp256k1_ios-iOS.a"; path = "libsecp256k1_ios-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - C996378C4E5A24B09E9399A757B8257E /* PKCS5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS5.swift; path = Sources/CryptoSwift/PKCS/PKCS5.swift; sourceTree = ""; }; - C9D0105E6F7855534D035E089FAACA84 /* NSURLSession+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURLSession+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.m"; sourceTree = ""; }; - CAB3BF2C1D04839054658D7999609AFA /* hang.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = hang.swift; path = Sources/hang.swift; sourceTree = ""; }; - CB6A81C2298843C461F65B8D11106F72 /* libPods-web3swift-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-iOS.a"; path = "libPods-web3swift-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - CBD30E41FF94A920A122386C08637B7A /* secp256k1_ios-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "secp256k1_ios-macOS.modulemap"; path = "../secp256k1_ios-macOS/secp256k1_ios-macOS.modulemap"; sourceTree = ""; }; - CC773B77A5A65E3C63F4C5305CAD01D1 /* Cimpl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Cimpl.h; path = scrypt/Cimpl.h; sourceTree = ""; }; - CCDA16C2155C3C3AC4C4D3C23A57EC12 /* UInt8+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt8+Extension.swift"; path = "Sources/CryptoSwift/UInt8+Extension.swift"; sourceTree = ""; }; - CF5CF52D91122CF7B77E75FAF93251C3 /* UInt64+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt64+Extension.swift"; path = "Sources/CryptoSwift/UInt64+Extension.swift"; sourceTree = ""; }; - CFA9EC9779A914A67653CFFF9142318C /* Deprecations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Deprecations.swift; path = Sources/Deprecations.swift; sourceTree = ""; }; - D159242CC5E8F83FDBE6973BE570CA54 /* Comparable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Comparable.swift; path = sources/Comparable.swift; sourceTree = ""; }; - D175F930B0613AAEB35FE3D02276CA4D /* PMKUIKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PMKUIKit.h; path = Extensions/UIKit/Sources/PMKUIKit.h; sourceTree = ""; }; - D1BEA6E913A811987196FC02097A1F5C /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "Sources/CryptoSwift/Foundation/Data+Extension.swift"; sourceTree = ""; }; - D22F70DCC90E8FE0E9EC24A5DBABE79C /* Rabbit+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Rabbit+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift"; sourceTree = ""; }; - D24853136C9E866538093205C6E4A90A /* when.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = when.m; path = Sources/when.m; sourceTree = ""; }; - D2FA1DA6CAEC899929310534A250E53B /* OFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OFB.swift; path = Sources/CryptoSwift/BlockMode/OFB.swift; sourceTree = ""; }; - D37DEA7A8B3EBEC27D9109471669A4BF /* secp256k1.c */ = {isa = PBXFileReference; includeInIndex = 1; name = secp256k1.c; path = secp256k1_ios/src/secp256k1.c; sourceTree = ""; }; - D6FBFF07C73E9B536C49D3D32A989327 /* join.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = join.m; path = Sources/join.m; sourceTree = ""; }; - D8602F37D59CD9AD65EEF65DF7AA62A3 /* UInt16+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt16+Extension.swift"; path = "Sources/CryptoSwift/UInt16+Extension.swift"; sourceTree = ""; }; - D89263E801FAC6A34F7C9D4E3A3066A9 /* UInt128.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UInt128.swift; path = Sources/CryptoSwift/UInt128.swift; sourceTree = ""; }; - D8A60B0639785EE266ACA62D536DD199 /* hash_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = hash_impl.h; path = secp256k1_ios/src/hash_impl.h; sourceTree = ""; }; - D8EAA4A69D5AC1E3D89D6D25C9496C75 /* Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptors.swift; path = Sources/CryptoSwift/Cryptors.swift; sourceTree = ""; }; + B78A9314F721CE7FE8EE68290ACF962A /* Result.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Result.swift; path = Result/Result.swift; sourceTree = ""; }; + B8FBDD9B6C2C480F597AF54E4AF5F9B7 /* Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Padding.swift; path = Sources/CryptoSwift/Padding.swift; sourceTree = ""; }; + B943A73349F77F75B8C3055D2E94C04C /* field.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field.h; path = Classes/secp256k1/src/field.h; sourceTree = ""; }; + B95DAAA20BEFAD1CE76C888E2E5DDB01 /* scrypt-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "scrypt-iOS-dummy.m"; sourceTree = ""; }; + B983E877B34D130C7F0E41197599CAF5 /* field_5x52.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52.h; path = Classes/secp256k1/src/field_5x52.h; sourceTree = ""; }; + BAD613601EE703E9FF05CEC481713273 /* libPods-web3swift-iOS_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-web3swift-iOS_Tests.a"; path = "libPods-web3swift-iOS_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + BADDDC4615BBD4973A52693314F92956 /* Configuration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Configuration.swift; path = Sources/Configuration.swift; sourceTree = ""; }; + BAE868DDC6B50E704178E9C6A7BCDE4C /* Comparable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Comparable.swift; path = sources/Comparable.swift; sourceTree = ""; }; + BAF5556D32E479626438702FBB2B206E /* race.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = race.m; path = Sources/race.m; sourceTree = ""; }; + BB99BF8C95F80E710325AC9BE5A0BE72 /* ResultProtocol.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResultProtocol.swift; path = Result/ResultProtocol.swift; sourceTree = ""; }; + BBB1686A6F8A3ECF8119E0B9026493AA /* scalar_low.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low.h; path = Classes/secp256k1/src/scalar_low.h; sourceTree = ""; }; + BD5F7052BBE014CE84365A473B829050 /* PromiseKit.root-CorePromise-Foundation.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "PromiseKit.root-CorePromise-Foundation.xcconfig"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation.xcconfig"; sourceTree = ""; }; + BE0E6B0DB6C8369C0409240023B753BD /* RLP.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RLP.swift; path = Classes/RLP.swift; sourceTree = ""; }; + BED38F4200E2E27BE7EF1306C1EF481F /* 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 = ""; }; + C0D7A0114EB8569F1C403A6574C016E8 /* Checksum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Checksum.swift; path = Sources/CryptoSwift/Checksum.swift; sourceTree = ""; }; + C2394F66C9B9661F4F0C5813E12A79FD /* RandomUInt64.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RandomUInt64.swift; path = SipHash/RandomUInt64.swift; sourceTree = ""; }; + C281F97ACB222EFF0925F55036D61858 /* PromiseKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = PromiseKit.modulemap; sourceTree = ""; }; + C37796C11F19D8A45631C9218E297AEA /* scalar_low_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_low_impl.h; path = Classes/secp256k1/src/scalar_low_impl.h; sourceTree = ""; }; + C496DED0A0B25D608237C1717DF67DAB /* Result-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Result-macOS-prefix.pch"; path = "../Result-macOS/Result-macOS-prefix.pch"; sourceTree = ""; }; + C518BE2221DCB8E9775CF59E3A6C676C /* ecmult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult.h; path = Classes/secp256k1/src/ecmult.h; sourceTree = ""; }; + C529FA6121A76BCDB8492FD5C6DB5D6D /* secp256k1_recovery.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_recovery.h; path = Classes/secp256k1/include/secp256k1_recovery.h; sourceTree = ""; }; + C562B65B849889DAD0291CF90F4A579F /* scrypt-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "scrypt-iOS.modulemap"; sourceTree = ""; }; + C5660E081BC2DA61D02571E01B81C8FE /* scalar.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar.h; path = Classes/secp256k1/src/scalar.h; sourceTree = ""; }; + C59B01CF94D3592EF9F0F9D53C69D829 /* Bitwise Ops.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Bitwise Ops.swift"; path = "sources/Bitwise Ops.swift"; sourceTree = ""; }; + C59C9D4690B77F7F188FFCA0081A3AA2 /* SHA2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA2.swift; path = Sources/CryptoSwift/SHA2.swift; sourceTree = ""; }; + C5ACF2BE50EB881C466468619A626459 /* num_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = num_impl.h; path = Classes/secp256k1/src/num_impl.h; sourceTree = ""; }; + C5EEF0BE65E670AC2535547ABA3099C4 /* PromiseKit.root-CorePromise-Foundation-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "PromiseKit.root-CorePromise-Foundation-dummy.m"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-dummy.m"; sourceTree = ""; }; + C8877687340A48EE91240BE1793F223E /* Result-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "Result-macOS.modulemap"; path = "../Result-macOS/Result-macOS.modulemap"; sourceTree = ""; }; + C8E8AD7E4D46EAFE301BAE49458CBADF /* GCD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCD.swift; path = sources/GCD.swift; sourceTree = ""; }; + C98E405B0267998743280361FC7A320B /* Data Conversion.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data Conversion.swift"; path = "sources/Data Conversion.swift"; sourceTree = ""; }; + C9B8D6BE88B58CC5E8D7E0021C88A419 /* CryptoSwift-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "CryptoSwift-iOS.xcconfig"; sourceTree = ""; }; + CABC07B9B526CE22A328B2F116773029 /* PromiseKit.root-CorePromise-Foundation-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PromiseKit.root-CorePromise-Foundation-umbrella.h"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-umbrella.h"; sourceTree = ""; }; + CACDBA26EFF10F14AAD8F7B3DB4F650E /* BatchedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BatchedCollection.swift; path = Sources/CryptoSwift/BatchedCollection.swift; sourceTree = ""; }; + CCA64A8640FCCC40E3412423E039371A /* scrypt-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "scrypt-macOS.xcconfig"; path = "../scrypt-macOS/scrypt-macOS.xcconfig"; sourceTree = ""; }; + CD229288A14A42E6F98A2F3F4C019A9D /* SipHashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHashable.swift; path = SipHash/SipHashable.swift; sourceTree = ""; }; + CDAA0D27CD19660853301F0480DFD849 /* SwiftRLP-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "SwiftRLP-iOS.xcconfig"; sourceTree = ""; }; + CEA00FFA03F2405A1DD8AAB823BC5CAF /* Exponentiation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Exponentiation.swift; path = sources/Exponentiation.swift; sourceTree = ""; }; + CEACC0FFCDDB8D3FD78976F0CAE8FD61 /* ecdsa_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa_impl.h; path = Classes/secp256k1/src/ecdsa_impl.h; sourceTree = ""; }; + D007141D6A0D170999FBC71CD9227F3F /* Blowfish+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Blowfish+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift"; sourceTree = ""; }; + D093F93E69099A9C2F8327DD338BA151 /* secp256k1_swift-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "secp256k1_swift-macOS.modulemap"; path = "../secp256k1_swift-macOS/secp256k1_swift-macOS.modulemap"; sourceTree = ""; }; + D099C2689CE8838D1CBF7B7310B03821 /* SHA1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA1.swift; path = Sources/CryptoSwift/SHA1.swift; sourceTree = ""; }; + D1E1805F59DD3B99C4A24A6B69DA1738 /* SHA3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA3.swift; path = Sources/CryptoSwift/SHA3.swift; sourceTree = ""; }; + D40BD5126F631E22619456FA8B7796CD /* libBigInt-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libBigInt-macOS.a"; path = "libBigInt-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + D459A9A71D9584F44D50CCE76CA32DE1 /* libsecp256k1-config.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "libsecp256k1-config.h"; path = "Classes/libsecp256k1-config.h"; sourceTree = ""; }; + D58F3D9D1A1143135DA2F393DCD07C5C /* String+FoundationExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+FoundationExtension.swift"; path = "Sources/CryptoSwift/Foundation/String+FoundationExtension.swift"; sourceTree = ""; }; + D5BEE6336571D98DA94C9A54C8CE9623 /* UIViewPropertyAnimator+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewPropertyAnimator+Promise.swift"; path = "Extensions/UIKit/Sources/UIViewPropertyAnimator+Promise.swift"; sourceTree = ""; }; + D5C83A501FE934B15E0B51546A92E079 /* Result-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Result-iOS.modulemap"; sourceTree = ""; }; + D606F2C64242F4C4424FF77060007794 /* ecmult_gen_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_gen_impl.h; path = Classes/secp256k1/src/ecmult_gen_impl.h; sourceTree = ""; }; + D7E660F6E2F237440138C5AAC5BC6476 /* Addition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Addition.swift; path = sources/Addition.swift; sourceTree = ""; }; + D8E5FF3E2A379FE71CD1EEE3BB380DD0 /* CipherModeWorker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CipherModeWorker.swift; path = Sources/CryptoSwift/BlockMode/CipherModeWorker.swift; sourceTree = ""; }; + D8F35E00F2D89D45B3441C99BA910A82 /* NSURLSession+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURLSession+AnyPromise.m"; path = "Extensions/Foundation/Sources/NSURLSession+AnyPromise.m"; sourceTree = ""; }; D8F688145BCFE1FB8B76299CC261A05E /* Pods-web3swift-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-web3swift-iOS-dummy.m"; sourceTree = ""; }; - D93F53AAD0FD5DB616A5E1C69164F0D7 /* group_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = group_impl.h; path = secp256k1_ios/src/group_impl.h; sourceTree = ""; }; - D956E4D797535DA55BFACC56BAE7232E /* BlockMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockMode.swift; path = Sources/CryptoSwift/BlockMode/BlockMode.swift; sourceTree = ""; }; + D9FE34B65B17D095EB1999C6F5667427 /* AnyPromise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AnyPromise.swift; path = Sources/AnyPromise.swift; sourceTree = ""; }; DA900039B5D199745C785144030E7BF9 /* Pods-web3swift-macOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-macOS-acknowledgements.markdown"; sourceTree = ""; }; - DB87E523FFE6DE6B135FDDCF9D25E434 /* libBigInt-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libBigInt-macOS.a"; path = "libBigInt-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - DC1129F2E85B44E362DF4E5C827C8DD7 /* Box.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Box.swift; path = Sources/Box.swift; sourceTree = ""; }; - DC80BC8175DF95AF5AC0777B4379466F /* scalar_4x64_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = scalar_4x64_impl.h; path = secp256k1_ios/src/scalar_4x64_impl.h; sourceTree = ""; }; + DB805D8CD6E362AD3B2474D5C6D7EA6E /* libPromiseKit.root-CorePromise-Foundation.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPromiseKit.root-CorePromise-Foundation.a"; path = "libPromiseKit.root-CorePromise-Foundation.a"; sourceTree = BUILT_PRODUCTS_DIR; }; DCCD9B75F811575B41254E2EACE6F115 /* Pods-web3swift-macOS_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-web3swift-macOS_Tests-acknowledgements.plist"; sourceTree = ""; }; - DCE95DEFE59A8D4B1CC921351954D118 /* Result-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-iOS-umbrella.h"; sourceTree = ""; }; - DDEB5B32B77FC78B04321FABF19FAF64 /* ecdsa_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecdsa_impl.h; path = secp256k1_ios/src/ecdsa_impl.h; sourceTree = ""; }; - DE552F4DC19246DE02459BBEAECE3070 /* PromiseKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromiseKit.xcconfig; sourceTree = ""; }; - DF437C6BA87CD115FFAF9F58E13F530F /* scrypt-macOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "scrypt-macOS-umbrella.h"; path = "../scrypt-macOS/scrypt-macOS-umbrella.h"; sourceTree = ""; }; - DF8763C25A8C471712C07FDF71929703 /* UIViewPropertyAnimator+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIViewPropertyAnimator+Promise.swift"; path = "Extensions/UIKit/Sources/UIViewPropertyAnimator+Promise.swift"; sourceTree = ""; }; - E0002BF7495DF77615C17C435108BAC4 /* scrypt-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "scrypt-iOS.xcconfig"; sourceTree = ""; }; - E1166BCE9995875A190DA0C329DD6F3E /* Shifts.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Shifts.swift; path = sources/Shifts.swift; sourceTree = ""; }; - E14AE09BC14CD1D5C3AD72803E39C00F /* PromiseKit.root-CorePromise-Foundation-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PromiseKit.root-CorePromise-Foundation-umbrella.h"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-umbrella.h"; sourceTree = ""; }; - E228BA1C68962471174AF53D116026C3 /* CryptoSwift-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "CryptoSwift-iOS.xcconfig"; sourceTree = ""; }; - E2C42F3DFC4E6CC75140A86DF8616CC3 /* SipHashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHashable.swift; path = SipHash/SipHashable.swift; sourceTree = ""; }; + DD23C6C5D50E713EB68838F0DB9E3BDE /* SwiftRLP-macOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SwiftRLP-macOS-dummy.m"; path = "../SwiftRLP-macOS/SwiftRLP-macOS-dummy.m"; sourceTree = ""; }; + DE18F02725D9CF95A5B3FB51CFF87AE1 /* SipHash-macOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SipHash-macOS-prefix.pch"; path = "../SipHash-macOS/SipHash-macOS-prefix.pch"; sourceTree = ""; }; + DE18F632CE594C2E2CCA9A0490532CB3 /* StreamEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StreamEncryptor.swift; path = Sources/CryptoSwift/StreamEncryptor.swift; sourceTree = ""; }; + E13B83B6C950F75854459F690EF3A6ED /* firstly.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = firstly.swift; path = Sources/firstly.swift; sourceTree = ""; }; + E1B2A6CA027F0CF17E40FED49D6A5E70 /* ecmult_const.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ecmult_const.h; path = Classes/secp256k1/src/ecmult_const.h; sourceTree = ""; }; + E25079B9D829E2FA59A02142ACC823BA /* UIView+AnyPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+AnyPromise.m"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.m"; sourceTree = ""; }; + E3315426BF4C8B74BC7DAAADC2F23895 /* SipHash-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "SipHash-iOS.xcconfig"; sourceTree = ""; }; + E390C18F83747553B781457B8A520926 /* after.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = after.m; path = Sources/after.m; sourceTree = ""; }; + E39980D5A8BD94928885C59ED6F3555D /* PromiseKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PromiseKit.h; path = Sources/PromiseKit.h; sourceTree = ""; }; E3ADB0156604A4FD7CD47B25248088C2 /* Pods-web3swift-iOS_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-web3swift-iOS_Tests.release.xcconfig"; sourceTree = ""; }; - E45449F26960667F9B102A7F62C60D31 /* Digest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Digest.swift; path = Sources/CryptoSwift/Digest.swift; sourceTree = ""; }; - E75AE5FFEFA361D707CC354FF1EB3D52 /* Updatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Updatable.swift; path = Sources/CryptoSwift/Updatable.swift; sourceTree = ""; }; - E769D47A96005469A7B39F23E9281D6D /* secp256k1_ios-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "secp256k1_ios-iOS-umbrella.h"; sourceTree = ""; }; - E7CC622C1D24D718342B05051554A93A /* UIView+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+AnyPromise.h"; path = "Extensions/UIKit/Sources/UIView+AnyPromise.h"; sourceTree = ""; }; - E7FE282781FCA8360DCC5EEC2DFC9045 /* BlockDecryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockDecryptor.swift; path = Sources/CryptoSwift/BlockDecryptor.swift; sourceTree = ""; }; - E82A76E0CD40E20D9FEC34DAF7889ECB /* MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MD5.swift; path = Sources/CryptoSwift/MD5.swift; sourceTree = ""; }; - E82F9A99E44E0AB55B16F720C69B947B /* libSipHash-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libSipHash-macOS.a"; path = "libSipHash-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - E88F02B72D0ADCFDAA37C5D63ABB3679 /* NoPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoPadding.swift; path = Sources/CryptoSwift/NoPadding.swift; sourceTree = ""; }; - EAC47FA975BD89D9C68F3C958A58964C /* BigInt-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "BigInt-iOS.xcconfig"; sourceTree = ""; }; - EC2691B355719F37BCE2B9EB79640902 /* lax_der_privatekey_parsing.c */ = {isa = PBXFileReference; includeInIndex = 1; name = lax_der_privatekey_parsing.c; path = secp256k1_ios/contrib/lax_der_privatekey_parsing.c; sourceTree = ""; }; - EC305FA12BE030117A6E97568345036C /* libPromiseKit.root-CorePromise-Foundation.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPromiseKit.root-CorePromise-Foundation.a"; path = "libPromiseKit.root-CorePromise-Foundation.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - EECA7B8CA13556F051DCBF44B5E5092B /* ECB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ECB.swift; path = Sources/CryptoSwift/BlockMode/ECB.swift; sourceTree = ""; }; - EEEB8AE79B5DA3255A444BD9E125CC15 /* Utils+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Utils+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Utils+Foundation.swift"; sourceTree = ""; }; - F1961CDC6282709B9B35B8F757754E1A /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = Sources/CryptoSwift/CompactMap.swift; sourceTree = ""; }; - F1EA13DCEFA32B29351F75416999B53B /* DigestType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DigestType.swift; path = Sources/CryptoSwift/DigestType.swift; sourceTree = ""; }; - F1F1BD0CE2445F35A20783082C9D4775 /* secp256k1_ecdh.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = secp256k1_ecdh.h; path = secp256k1_ios/include/secp256k1_ecdh.h; sourceTree = ""; }; - F24C4B729147ABA4455041FEDE41FE00 /* Addition.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Addition.swift; path = sources/Addition.swift; sourceTree = ""; }; - F28F3031AD42194EEF81032553A11D97 /* scrypt-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-iOS-prefix.pch"; sourceTree = ""; }; - F38735F968F3506E4EACD22DC1175F06 /* PromiseKit.root-CorePromise-Foundation-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "PromiseKit.root-CorePromise-Foundation-dummy.m"; path = "../PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-dummy.m"; sourceTree = ""; }; - F3AE421756716EB8DAA945495A2EC5DD /* Rabbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rabbit.swift; path = Sources/CryptoSwift/Rabbit.swift; sourceTree = ""; }; + E4D6786B6A1F1F3D12539CE8845D610B /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "Sources/CryptoSwift/Foundation/Data+Extension.swift"; sourceTree = ""; }; + E748C35C819EB524EA9D3EAE51962FD9 /* Result-macOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Result-macOS.xcconfig"; path = "../Result-macOS/Result-macOS.xcconfig"; sourceTree = ""; }; + E931DAD7852F3C297E4BB3A0A4928BCB /* libCryptoSwift-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libCryptoSwift-macOS.a"; path = "libCryptoSwift-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + E941110ECDF06A93786B9FC7BCC46C75 /* scrypt-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-iOS-prefix.pch"; sourceTree = ""; }; + E9D1AAD6C106478E5F24A9CE500AB6A6 /* SipHash-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "SipHash-macOS.modulemap"; path = "../SipHash-macOS/SipHash-macOS.modulemap"; sourceTree = ""; }; + EA753F9B4F076BBCCE353572BDBA6EAE /* CustomStringConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomStringConvertible.swift; path = Sources/CustomStringConvertible.swift; sourceTree = ""; }; + EA9B1AD24E2B5EFD0840B6FD38C85994 /* DigestType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DigestType.swift; path = Sources/CryptoSwift/DigestType.swift; sourceTree = ""; }; + EAE702C1BF30A6CA8F718732EC9270FF /* libSwiftRLP-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libSwiftRLP-iOS.a"; path = "libSwiftRLP-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + EC74A6C891271F3176D0A8781C35C2D0 /* Int+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Int+Extension.swift"; path = "Sources/CryptoSwift/Int+Extension.swift"; sourceTree = ""; }; + F0551BCBA17CFD8A37D9E9C9F95EB6D0 /* AES+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AES+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/AES+Foundation.swift"; sourceTree = ""; }; + F0BE0F8D8AB5D3091421F18BD6A6A10D /* NSNotificationCenter+Promise.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSNotificationCenter+Promise.swift"; path = "Extensions/Foundation/Sources/NSNotificationCenter+Promise.swift"; sourceTree = ""; }; + F342E030AE1A607D64EAC3488CFB51FC /* PBKDF1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF1.swift; path = Sources/CryptoSwift/PKCS/PBKDF1.swift; sourceTree = ""; }; + F415B88D0858CD731ECC4C37D0E1F83A /* SecureBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SecureBytes.swift; path = Sources/CryptoSwift/SecureBytes.swift; sourceTree = ""; }; + F421A94F9F1E378421F3B3C56314E368 /* eckey_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey_impl.h; path = Classes/secp256k1/src/eckey_impl.h; sourceTree = ""; }; F45D1FF9B0F3BEACB34D069C6F3561F8 /* Pods-web3swift-iOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-web3swift-iOS-acknowledgements.markdown"; sourceTree = ""; }; - F537843D9119912314B3F5275A629E06 /* Result-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Result-iOS-prefix.pch"; sourceTree = ""; }; - F5E5C5193E731A76273A1ADACD50AB81 /* PCBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PCBC.swift; path = Sources/CryptoSwift/BlockMode/PCBC.swift; sourceTree = ""; }; - F618CC73DE8826F0386137F6584B6A57 /* GCM.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCM.swift; path = Sources/CryptoSwift/BlockMode/GCM.swift; sourceTree = ""; }; - F68419F17E2CC2073DDAC992BC39EF47 /* eckey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = eckey.h; path = secp256k1_ios/src/eckey.h; sourceTree = ""; }; - F685B50C77BC588736193EFC93B3FAFA /* Primitive Types.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Primitive Types.swift"; path = "SipHash/Primitive Types.swift"; sourceTree = ""; }; - F76DF7D8AADE94E0258CC9A76C4A2C8F /* scrypt-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "scrypt-iOS-umbrella.h"; sourceTree = ""; }; - F7709F12D0210A64607C215D35A245CF /* libResult-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libResult-iOS.a"; path = "libResult-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - F9612CFC925C44DA818604C666EB454C /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/CryptoSwift/Operators.swift; sourceTree = ""; }; - FAA8118238A7270948998466F81E6253 /* after.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = after.m; path = Sources/after.m; sourceTree = ""; }; - FAE5BF28C394D398788317F877E314ED /* SipHash-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "SipHash-iOS.xcconfig"; sourceTree = ""; }; - FBEFBB38BBB87913FDCF892141C0AC8D /* NSTask+AnyPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSTask+AnyPromise.h"; path = "Extensions/Foundation/Sources/NSTask+AnyPromise.h"; sourceTree = ""; }; - FC6002A6D434E59E6D00025F21BA36FF /* libCryptoSwift-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libCryptoSwift-iOS.a"; path = "libCryptoSwift-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - FD3FC379B5028687E388AD09CFE88832 /* field_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_impl.h; path = secp256k1_ios/src/field_impl.h; sourceTree = ""; }; - FE9A22DCC269160D36ABB6B7AF260C2A /* Result-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Result-iOS-dummy.m"; sourceTree = ""; }; + F4723853D29831D8D4EC86E13EF15FDA /* CMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CMAC.swift; path = Sources/CryptoSwift/CMAC.swift; sourceTree = ""; }; + F4C1DB7075FC89AABC9027B89E410DD0 /* Hashable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Hashable.swift; path = sources/Hashable.swift; sourceTree = ""; }; + F80A642AA09FE49288321BA985716AD2 /* Array+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Array+Foundation.swift"; sourceTree = ""; }; + F8C9CB2FB683934AF634C1D10008133A /* scrypt-macOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "scrypt-macOS.modulemap"; path = "../scrypt-macOS/scrypt-macOS.modulemap"; sourceTree = ""; }; + F95154420EF4C760231BA7CBA1A7589A /* PCBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PCBC.swift; path = Sources/CryptoSwift/BlockMode/PCBC.swift; sourceTree = ""; }; + F9891F2E1A2F4A5890CC52561833FA78 /* SipHasher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SipHasher.swift; path = SipHash/SipHasher.swift; sourceTree = ""; }; + F9E6DDE5A0AF4D0B343E4D3AEE9DF983 /* Collection+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Collection+Extension.swift"; path = "Sources/CryptoSwift/Collection+Extension.swift"; sourceTree = ""; }; + FADA29CA311EF9A86381521A5E4C366B /* Shifts.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Shifts.swift; path = sources/Shifts.swift; sourceTree = ""; }; + FF4E4FB6D0F71C472A99E72F368087E0 /* Result-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Result-iOS-dummy.m"; sourceTree = ""; }; + FF99AA927653D804503A7BA37208076D /* field_5x52_impl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = field_5x52_impl.h; path = Classes/secp256k1/src/field_5x52_impl.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 09DE491DE78FD1264BBEC9257BA992CA /* Frameworks */ = { + 05A70FBCB8915FD658E02DE77827E7FA /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 061F0F73B4A7C0BAB618CCF28AB43EED /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -916,28 +973,28 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3D1B05378F186E57C4B940F71C083C0F /* Frameworks */ = { + 4E7DEA46EDFAFBE63B1CD6EAFC6C3635 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 40DD1B03E763E4FDAA4225CBEF1F6F0D /* Frameworks */ = { + 5673E920CAB46CF5F49271F4E543C37A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 56EC7C06C400F808A27DE468D01518F4 /* Frameworks */ = { + 6254566B8B2CAF2B5CD7A1BC7EFE00D8 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 5A5442897A70588AF9565D5F074C6B92 /* Frameworks */ = { + 677BBE6ACD652CB4EE4E00DD6589A287 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -951,49 +1008,49 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 803328A4C9D919A350F04AB5D9FBBC0A /* Frameworks */ = { + 70C1112079F88597259241434EA48AF3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 8A852453AAC819ADB163A9F4FA02ABF9 /* Frameworks */ = { + 803328A4C9D919A350F04AB5D9FBBC0A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 8CD8D230EB8814297B6D198DC2F9CEF3 /* Frameworks */ = { + 8953A204F873D6D4AB03311B82CAF3F9 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 8EF117E6BAF80E40D3FB557C6FE57900 /* Frameworks */ = { + 8A852453AAC819ADB163A9F4FA02ABF9 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 8FE71F0EE76E21DDDA7CA1709FAF6FC0 /* Frameworks */ = { + 8C5B3C77007E4A6710E826D840A9A9F3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 99245CA93B0B66E3E442328913763B1A /* Frameworks */ = { + 9FA0F642AE177D3FA07814A41F264B1A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 9FA0F642AE177D3FA07814A41F264B1A /* Frameworks */ = { + C9A84F4AAB9686DF357AEF1364E35684 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -1007,7 +1064,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - DFD3D3F26A3784A7187AD3360E7D92D4 /* Frameworks */ = { + D8EAD2ED245F44C0D223758BC854E517 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EAF36CFF054C71E816A6740B45DABA2D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -1042,37 +1106,6 @@ name = "Targets Support Files"; sourceTree = ""; }; - 01DAA51A707D1C3EAB5D0EE11DCC432A /* BigInt */ = { - isa = PBXGroup; - children = ( - F24C4B729147ABA4455041FEDE41FE00 /* Addition.swift */, - 0955D39FEEF45C034D6A32CD819DA77A /* BigInt.swift */, - 14B10E35F3FEA07B3ED6132C871686B9 /* BigUInt.swift */, - 55188AE8B0452B68B54A84FABFBA1BBF /* Bitwise Ops.swift */, - 2CC26F0B1E75C50586670C90CB45F824 /* Codable.swift */, - D159242CC5E8F83FDBE6973BE570CA54 /* Comparable.swift */, - 1C8A77BEACE815406E69A6AC5A86CAD0 /* Data Conversion.swift */, - 054B52AFE6F7A33802393B6F7E8B9807 /* Division.swift */, - 129F0BDD5D5540B28243DA06090AEC11 /* Exponentiation.swift */, - 9FAB45044F3A646E2488529698B14387 /* Floating Point Conversion.swift */, - 17049D2192C6CCC8A8BE362B66ED01E6 /* GCD.swift */, - 51008209B67B821AFF37051156E8A7FD /* Hashable.swift */, - BD4C6A3CDC6FA3F322EA1C393C5CC89E /* Integer Conversion.swift */, - 14A3B9C8EDE35875C552679A990B05FA /* Multiplication.swift */, - 5C91FB228B4F0EFFE0BB1C457B26A6E3 /* Prime Test.swift */, - 65E54F31ACC1397C1485DF5C7B5FA928 /* Random.swift */, - E1166BCE9995875A190DA0C329DD6F3E /* Shifts.swift */, - 9D44A825E8CB9200059521A9C941F712 /* Square Root.swift */, - 00E44D081910E0A312C3A2879F658B01 /* Strideable.swift */, - B7DFFB650AB055EA65177877A4837E93 /* String Conversion.swift */, - 6942B9400A6731CB14455C8AE7F0C6A7 /* Subtraction.swift */, - 268F48810699A9A9AD79047FD000B499 /* Words and Bits.swift */, - 40BAD90543DC6CCDCC23E38123EED033 /* Support Files */, - ); - name = BigInt; - path = BigInt; - sourceTree = ""; - }; 074B5AF920A574FC168DA49C8D334690 /* Pods-web3swift-macOS_Tests */ = { isa = PBXGroup; children = ( @@ -1086,6 +1119,33 @@ path = "Target Support Files/Pods-web3swift-macOS_Tests"; sourceTree = ""; }; + 083C1381B3CFEF7D89B7A4A992CA51B1 /* Products */ = { + isa = PBXGroup; + children = ( + A3BCB7E3971A174E47D70212430A170B /* libBigInt-iOS.a */, + D40BD5126F631E22619456FA8B7796CD /* libBigInt-macOS.a */, + 686E32EABE020693AEB9B0CBB68DC7AD /* libCryptoSwift-iOS.a */, + E931DAD7852F3C297E4BB3A0A4928BCB /* libCryptoSwift-macOS.a */, + 47DF102368BCFE57F05C91BED865C127 /* libPods-web3swift-iOS.a */, + BAD613601EE703E9FF05CEC481713273 /* libPods-web3swift-iOS_Tests.a */, + 6190C35184D36B3997B74374A1DEB870 /* libPods-web3swift-macOS.a */, + 27042DAC0089FE05944B8718DE760F71 /* libPods-web3swift-macOS_Tests.a */, + 755201B560E952C6A5333642B028695A /* libPromiseKit.a */, + DB805D8CD6E362AD3B2474D5C6D7EA6E /* libPromiseKit.root-CorePromise-Foundation.a */, + 5A6CB64CE9F57BAAAAF807DF850E2C0A /* libResult-iOS.a */, + 6F662C5CB3F9F55D1B8343627F3108A8 /* libResult-macOS.a */, + A14282AE6AF7AD75A532A9639BE44B88 /* libscrypt-iOS.a */, + 5362887D119F1FF10889E08C0A86AC77 /* libscrypt-macOS.a */, + A322E379ECBC90322624BA7A69FBBDEE /* libsecp256k1_swift-iOS.a */, + 61F9B5A069C5D02E065D4AB81C26942D /* libsecp256k1_swift-macOS.a */, + 35FC5E1CB1FA613D068CDE5E32242FEA /* libSipHash-iOS.a */, + 599066091D94A49D4FE779679AFD88E2 /* libSipHash-macOS.a */, + EAE702C1BF30A6CA8F718732EC9270FF /* libSwiftRLP-iOS.a */, + 547AA2E9890A83EE986E0FE6B230D1E8 /* libSwiftRLP-macOS.a */, + ); + name = Products; + sourceTree = ""; + }; 088CBEDD2E17F09CAC27FDABD9102BD4 /* Pods-web3swift-iOS_Tests */ = { isa = PBXGroup; children = ( @@ -1099,225 +1159,172 @@ path = "Target Support Files/Pods-web3swift-iOS_Tests"; sourceTree = ""; }; - 0F8D2E47FE03D3B91B51069F7C273AF4 /* Frameworks */ = { - isa = PBXGroup; - children = ( - ); - name = Frameworks; - sourceTree = ""; - }; - 13E70B817C059BEC698F6DC0FDA07E9E /* Support Files */ = { + 0B5A3E0CC65F7553C04A6E5297B32E24 /* Support Files */ = { isa = PBXGroup; children = ( - BAC15C8E1DC42A3C6D2AF7A4BACD9D9A /* scrypt-iOS.modulemap */, - E0002BF7495DF77615C17C435108BAC4 /* scrypt-iOS.xcconfig */, - C3C66A0B084556BD285AA44CBCA65202 /* scrypt-iOS-dummy.m */, - F28F3031AD42194EEF81032553A11D97 /* scrypt-iOS-prefix.pch */, - F76DF7D8AADE94E0258CC9A76C4A2C8F /* scrypt-iOS-umbrella.h */, - 0E53DB967EB67E52296B83C1BB91E1A4 /* scrypt-macOS.modulemap */, - 30FDF56132F92204ACAD922366ABC434 /* scrypt-macOS.xcconfig */, - 2B28A30F352D7AD1E7E83DFB9BAB49C0 /* scrypt-macOS-dummy.m */, - AE26C9121A9F08A8934B37AD374D39F4 /* scrypt-macOS-prefix.pch */, - DF437C6BA87CD115FFAF9F58E13F530F /* scrypt-macOS-umbrella.h */, + 71949CED7683B7766F5B86149AFB03D5 /* SwiftRLP-iOS.modulemap */, + CDAA0D27CD19660853301F0480DFD849 /* SwiftRLP-iOS.xcconfig */, + A11B379994D50482D207EE8967ED7CDF /* SwiftRLP-iOS-dummy.m */, + 8200921DBAF2BD006E2F13F1F9D5A8C9 /* SwiftRLP-iOS-prefix.pch */, + 477087D23BFCDB50922E829E500EC396 /* SwiftRLP-iOS-umbrella.h */, + 8C60838D5062772223AD4E011F01E513 /* SwiftRLP-macOS.modulemap */, + 168126FF7C51CFAB97039CE513235D26 /* SwiftRLP-macOS.xcconfig */, + DD23C6C5D50E713EB68838F0DB9E3BDE /* SwiftRLP-macOS-dummy.m */, + 1AB58E68E90BDAD2A75EC97AEC91F499 /* SwiftRLP-macOS-prefix.pch */, + A7E72167B9780D5627571A312AE1B751 /* SwiftRLP-macOS-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/scrypt-iOS"; + path = "../Target Support Files/SwiftRLP-iOS"; sourceTree = ""; }; - 15C25A3B386CD90F69E6C295C07BA52C /* Support Files */ = { + 0F8D2E47FE03D3B91B51069F7C273AF4 /* Frameworks */ = { isa = PBXGroup; children = ( - 85ACA7DBB43194398C4BBE72803AB0A9 /* Result-iOS.modulemap */, - 95E6916802B9A0D029D336A91E220830 /* Result-iOS.xcconfig */, - FE9A22DCC269160D36ABB6B7AF260C2A /* Result-iOS-dummy.m */, - F537843D9119912314B3F5275A629E06 /* Result-iOS-prefix.pch */, - DCE95DEFE59A8D4B1CC921351954D118 /* Result-iOS-umbrella.h */, - C1B8E55A13B5B74C5E80CA45BC86E457 /* Result-macOS.modulemap */, - 2452C598AA33B18F81F1D5FE847DF8C7 /* Result-macOS.xcconfig */, - 58D38A9B84FEE36DA02159AEC6611C17 /* Result-macOS-dummy.m */, - 18B70619E5AAE8D1782A060F2B6362F5 /* Result-macOS-prefix.pch */, - 4B75257897ACBD9567F00827C544D722 /* Result-macOS-umbrella.h */, ); - name = "Support Files"; - path = "../Target Support Files/Result-iOS"; + name = Frameworks; sourceTree = ""; }; - 16ABC4753B5234DBE5986A3C5545CD07 /* Products */ = { + 46CC7F8505D714EA98CC3893D6FC79FC /* scrypt */ = { isa = PBXGroup; children = ( - 878207B522C3B5C4C78ECAC3AA87663A /* libBigInt-iOS.a */, - DB87E523FFE6DE6B135FDDCF9D25E434 /* libBigInt-macOS.a */, - FC6002A6D434E59E6D00025F21BA36FF /* libCryptoSwift-iOS.a */, - 399DA5BA0438EA58494518BA41744529 /* libCryptoSwift-macOS.a */, - CB6A81C2298843C461F65B8D11106F72 /* libPods-web3swift-iOS.a */, - AAF423028DF35854B3087F873B6965E4 /* libPods-web3swift-iOS_Tests.a */, - 3DE45F74327BBE43455BF3A326A48B73 /* libPods-web3swift-macOS.a */, - 4530120DD6B0DBFF5F660844F8E1C873 /* libPods-web3swift-macOS_Tests.a */, - 90CF4F3CD46BB810B73F6BAF362CB47A /* libPromiseKit.a */, - EC305FA12BE030117A6E97568345036C /* libPromiseKit.root-CorePromise-Foundation.a */, - F7709F12D0210A64607C215D35A245CF /* libResult-iOS.a */, - AF807959CD9376AAE20892C1143FF9E6 /* libResult-macOS.a */, - 2B80D3AA1BDBB1E0CF52567C4F9FB777 /* libscrypt-iOS.a */, - 5F98A4FCB73949EC4A239F93A6380393 /* libscrypt-macOS.a */, - C7346693A0E94FF0C860F161CDFCE96E /* libsecp256k1_ios-iOS.a */, - 52755885B4D2951532D257A2FEF6BCCF /* libsecp256k1_ios-macOS.a */, - 40D27BDFCD317E69149F3DFAFB7543A9 /* libSipHash-iOS.a */, - E82F9A99E44E0AB55B16F720C69B947B /* libSipHash-macOS.a */, + 029D928F404FA2893E2304CF78B3D8A4 /* BufferStorage.swift */, + 070EBBE505C1F8FCD5F159DDBB5D41C7 /* Cimpl.c */, + 42B2FCE41642FF2B0CA0939EDCA3AD78 /* Cimpl.h */, + A493659FF25FE0BB4CA590271A53BFB6 /* Salsa.swift */, + 42E8817F1CAA2069A5B0A1A0D0ABA398 /* scrypt.h */, + 7AAE07003CED08DD7BCB8AC108A4773B /* Scrypt.swift */, + 626EEF9D696A4E065764705C0F3422FA /* Support Files */, ); - name = Products; + name = scrypt; + path = scrypt; sourceTree = ""; }; - 40BAD90543DC6CCDCC23E38123EED033 /* Support Files */ = { + 4C681E95E22596A4FD865B6B2817D37D /* Support Files */ = { isa = PBXGroup; children = ( - 822F20C56BDAEAB1D9B8A0CE5D552188 /* BigInt-iOS.modulemap */, - EAC47FA975BD89D9C68F3C958A58964C /* BigInt-iOS.xcconfig */, - 10236EF8647E9F61C53670449679E133 /* BigInt-iOS-dummy.m */, - 2FEF470F51471EBE421469A16A76F35A /* BigInt-iOS-prefix.pch */, - BECB9224CBFC1D8A1E8486BB06BBC621 /* BigInt-iOS-umbrella.h */, - 52984D45ED4815A5B6748A82F48DB8FD /* BigInt-macOS.modulemap */, - C60F71A13E6B38C36897688C101E2C9C /* BigInt-macOS.xcconfig */, - 5C4FBD9EED7C8E73E16CA9B5DC621F56 /* BigInt-macOS-dummy.m */, - 5D3D189B9D399D3E4E4DA52E21D02925 /* BigInt-macOS-prefix.pch */, - 60EE65019B7B0977FF9331F020D957CD /* BigInt-macOS-umbrella.h */, + C281F97ACB222EFF0925F55036D61858 /* PromiseKit.modulemap */, + 3031AC0CB5B141FF9911BEBE31A46493 /* PromiseKit.xcconfig */, + 0543DFF3F653D9C90A60EB28027C61D8 /* PromiseKit-dummy.m */, + 318283844314BF1D931F35920923C71E /* PromiseKit-prefix.pch */, + 23603E526EB11889D028149C843F4B49 /* PromiseKit-umbrella.h */, + AF778863EFEA29642AB012C4C5FC903D /* PromiseKit.root-CorePromise-Foundation.modulemap */, + BD5F7052BBE014CE84365A473B829050 /* PromiseKit.root-CorePromise-Foundation.xcconfig */, + C5EEF0BE65E670AC2535547ABA3099C4 /* PromiseKit.root-CorePromise-Foundation-dummy.m */, + 77E3BF2EAFA71BF47C10920D60404EE9 /* PromiseKit.root-CorePromise-Foundation-prefix.pch */, + CABC07B9B526CE22A328B2F116773029 /* PromiseKit.root-CorePromise-Foundation-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/BigInt-iOS"; + path = "../Target Support Files/PromiseKit"; sourceTree = ""; }; - 4DEBE1393AE00ECAAF9F6945E53E40D5 /* CryptoSwift */ = { + 6001D0F553FDEC1064F2E9179A232865 /* CorePromise */ = { isa = PBXGroup; children = ( - C2D922779E502A6EFC12530D47844477 /* AEAD.swift */, - 5F5E831984223821B4643964E0D16375 /* AEADChaCha20Poly1305.swift */, - 11B33EE72A6FBE59A2A5064DAF6FFC4F /* AES.swift */, - 0BC87D5802ED83EA9011FD6A3EB7B4D3 /* AES+Foundation.swift */, - 4D7C8185E119AF505859D0B27973E57E /* AES.Cryptors.swift */, - 092C4E684DC275279EC695C30F05982A /* Array+Extension.swift */, - 321B194E1B8A3A3929C651A01648EF4A /* Array+Foundation.swift */, - 9FF537F705CA3D41D9798A4511A8F24D /* Authenticator.swift */, - A414F7D6F59CB6D7C5696F98992E80A2 /* BatchedCollection.swift */, - 74C8E7BC7B9A663969DC6A1FAE5AD6C6 /* Bit.swift */, - B864BCFD33F0A7ABED7DBA75C963A51A /* BlockCipher.swift */, - E7FE282781FCA8360DCC5EEC2DFC9045 /* BlockDecryptor.swift */, - 59EE5FF05C3E791A7F8398D6FCF80055 /* BlockEncryptor.swift */, - D956E4D797535DA55BFACC56BAE7232E /* BlockMode.swift */, - 59C74C1E23D6AF919642E4F6E55FD308 /* BlockModeOptions.swift */, - 3E8B805F5680EBA0F99C37AB55DF371A /* Blowfish.swift */, - C0E096DA6BBC65953BD97D1BD9FDC13A /* Blowfish+Foundation.swift */, - 2290B9153347A3369FAF03E04A19326E /* CBC.swift */, - 91836319B3FCCB5A2B1BCE6EF7415F68 /* CFB.swift */, - B3BEE25ACB7B1714E52C057B725B022B /* ChaCha20.swift */, - 1CB44D970BC24207B7D4CA4DD2644E2B /* ChaCha20+Foundation.swift */, - 184318AC3420D7DB5A094F601C869C72 /* Checksum.swift */, - 3FA266C4746C1D8469AC609FF653BED1 /* Cipher.swift */, - 39CF9703323096F120BB7C18AC3CDD7E /* CipherModeWorker.swift */, - AD4D44D1A4A0B550CAB6D8C2AED04AD3 /* CMAC.swift */, - 4B32F8420CC3DEDA3DC7BB0407B26FDF /* Collection+Extension.swift */, - F1961CDC6282709B9B35B8F757754E1A /* CompactMap.swift */, - 1EE7CBB8299AB71F5275827AA34C853A /* Cryptor.swift */, - D8EAA4A69D5AC1E3D89D6D25C9496C75 /* Cryptors.swift */, - 1D028C35CBC913E3AF71B22E4A3C7D14 /* CTR.swift */, - D1BEA6E913A811987196FC02097A1F5C /* Data+Extension.swift */, - E45449F26960667F9B102A7F62C60D31 /* Digest.swift */, - F1EA13DCEFA32B29351F75416999B53B /* DigestType.swift */, - EECA7B8CA13556F051DCBF44B5E5092B /* ECB.swift */, - F618CC73DE8826F0386137F6584B6A57 /* GCM.swift */, - 6DDF10E5AA3EE0D0028933F977F5BF96 /* Generics.swift */, - 8A6199EF8A43EB0E1F3C0EB7228F575C /* HKDF.swift */, - 2806EF87AE8A9188FC203D40F55755F3 /* HMAC.swift */, - 7AF444B003D1A7B9026D1AF8B3B5B699 /* HMAC+Foundation.swift */, - 37F407B4684E6934554D8F4910242620 /* Int+Extension.swift */, - E82A76E0CD40E20D9FEC34DAF7889ECB /* MD5.swift */, - E88F02B72D0ADCFDAA37C5D63ABB3679 /* NoPadding.swift */, - D2FA1DA6CAEC899929310534A250E53B /* OFB.swift */, - F9612CFC925C44DA818604C666EB454C /* Operators.swift */, - 7B10016CC925878BCF8C1423A7EAD6A6 /* Padding.swift */, - 8F87371895A84370E0ECB153DA5CFF62 /* PBKDF1.swift */, - 81D592C69182CE946419FE4D30C2690E /* PBKDF2.swift */, - F5E5C5193E731A76273A1ADACD50AB81 /* PCBC.swift */, - C996378C4E5A24B09E9399A757B8257E /* PKCS5.swift */, - 2DDA4FB25A4C58942E352156AFA0F29E /* PKCS7.swift */, - 38CE3ACA4B29354641417DECF1CDC5CF /* PKCS7Padding.swift */, - 5AB377C96E323960FB5F59BE70C7DDFA /* Poly1305.swift */, - F3AE421756716EB8DAA945495A2EC5DD /* Rabbit.swift */, - D22F70DCC90E8FE0E9EC24A5DBABE79C /* Rabbit+Foundation.swift */, - AEF9AB34E06A2A4078A0C87B37B1CD0F /* RandomBytesSequence.swift */, - 4BBCEC526DF7F5F6A046CBAA7F93B530 /* SecureBytes.swift */, - 1CE50C1C3EED312C9E2B7129A77B305B /* SHA1.swift */, - 400C4535441BC4EF157E1C50C654B28E /* SHA2.swift */, - 0BC5492B1E1506F3725992C713A907DF /* SHA3.swift */, - A93880388A03A6AEAEBFC90F7F533AAD /* StreamEncryptor.swift */, - 9111A66A9DB609E927159CEFB76D4E76 /* String+Extension.swift */, - B7540EADD3520F1ECD4BAD23FF29400F /* String+FoundationExtension.swift */, - D89263E801FAC6A34F7C9D4E3A3066A9 /* UInt128.swift */, - D8602F37D59CD9AD65EEF65DF7AA62A3 /* UInt16+Extension.swift */, - A699FEC4F0274F833ECDEB986CAABBD2 /* UInt32+Extension.swift */, - CF5CF52D91122CF7B77E75FAF93251C3 /* UInt64+Extension.swift */, - CCDA16C2155C3C3AC4C4D3C23A57EC12 /* UInt8+Extension.swift */, - E75AE5FFEFA361D707CC354FF1EB3D52 /* Updatable.swift */, - 1F213EA122AE5157AD579B519B42CAA5 /* Utils.swift */, - EEEB8AE79B5DA3255A444BD9E125CC15 /* Utils+Foundation.swift */, - BF467792E24FCB49390F293678C2E231 /* ZeroPadding.swift */, - 69C1434A4421E41070A18AC989C189D1 /* Support Files */, + E390C18F83747553B781457B8A520926 /* after.m */, + 889ED076F99BD2AB4920EC9A5ECAFFDE /* after.swift */, + 0376FB05CE1FC3FC061DD2CFE3DE0C6C /* AnyPromise.h */, + 3C665B9B4606D9A35F9DFFB15EEB9F10 /* AnyPromise.m */, + D9FE34B65B17D095EB1999C6F5667427 /* AnyPromise.swift */, + 56831D861C9C68AB6445D1B373489CCD /* Box.swift */, + 9D7A3998EBD9688668E8B5E865E058BC /* Catchable.swift */, + BADDDC4615BBD4973A52693314F92956 /* Configuration.swift */, + EA753F9B4F076BBCCE353572BDBA6EAE /* CustomStringConvertible.swift */, + 51DF3FC4A067409E953FF230FC67D985 /* Deprecations.swift */, + 9C8C505AC16C4F7922DBC4160AC3448C /* dispatch_promise.m */, + 4A91DDD53F519E555416888F6747C0D5 /* Error.swift */, + E13B83B6C950F75854459F690EF3A6ED /* firstly.swift */, + 2EDFAD6F2EC5C3407650B54B9A5A4BE8 /* fwd.h */, + 4DA63B5CD137C32932CDB5DB0C7A036C /* Guarantee.swift */, + 0EE7FF1850E0AF1A3C0492541BEFE030 /* hang.m */, + 4DB7550812E8FC8658862B062E0A8D6C /* hang.swift */, + B465593568C60A48E4A42D1A047995E4 /* join.m */, + 0D23E94B867181F85C5901C85231758D /* Promise.swift */, + E39980D5A8BD94928885C59ED6F3555D /* PromiseKit.h */, + BAF5556D32E479626438702FBB2B206E /* race.m */, + 15F24BE71856015EE791D78582312743 /* race.swift */, + 1E8B5D15467ED805F6B33150518D8C10 /* Resolver.swift */, + 7CA875E3478CF42FACB3165CBFAE86BD /* Thenable.swift */, + 38B4EB729C6E19E85E5F7500BBFCACF4 /* when.m */, + 335A62646C32DC8B2185FA6DD3030CA6 /* when.swift */, ); - name = CryptoSwift; - path = CryptoSwift; + name = CorePromise; sourceTree = ""; }; - 58C88166C95A09EA9648AB3B62ADA11A /* Support Files */ = { + 61792E5369CB89AA2F94DFF4E72EFEE9 /* secp256k1_swift */ = { isa = PBXGroup; children = ( - C6E075CB2894DDF612F14363C5317B93 /* SipHash-iOS.modulemap */, - FAE5BF28C394D398788317F877E314ED /* SipHash-iOS.xcconfig */, - 22BBC9E03E0BAFD51E78A932B584D135 /* SipHash-iOS-dummy.m */, - 110589BD0B75B2C4166DE94487100A49 /* SipHash-iOS-prefix.pch */, - 06A021254E60B0C7F3ADB156F97D8EF1 /* SipHash-iOS-umbrella.h */, - 5875BBBED3A4765B1D355C2AD095978A /* SipHash-macOS.modulemap */, - 64389E571A401AFB1A430A11C7053757 /* SipHash-macOS.xcconfig */, - B0423C9D9E49080ACEF73C985FBB221F /* SipHash-macOS-dummy.m */, - 494D5312F7C1D194997E562BD1B13904 /* SipHash-macOS-prefix.pch */, - 0F59529DA4EC37C03768A930A570FC20 /* SipHash-macOS-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/SipHash-iOS"; + 928C9306D44A4F06DEDCFDA02220D548 /* basic-config.h */, + B44892C52E2EF6449BEC05C26F4C7481 /* ecdsa.h */, + CEACC0FFCDDB8D3FD78976F0CAE8FD61 /* ecdsa_impl.h */, + 3E4050C50BE4522F2AB113A1EC5B6ABB /* eckey.h */, + F421A94F9F1E378421F3B3C56314E368 /* eckey_impl.h */, + C518BE2221DCB8E9775CF59E3A6C676C /* ecmult.h */, + E1B2A6CA027F0CF17E40FED49D6A5E70 /* ecmult_const.h */, + 67580A9D6645C39D002E66190B1B2B66 /* ecmult_const_impl.h */, + 7B6B5F54FE477086DE9224F151F9D3EA /* ecmult_gen.h */, + D606F2C64242F4C4424FF77060007794 /* ecmult_gen_impl.h */, + 3D757EF89803E12ABE5A6DC9D35431A5 /* ecmult_impl.h */, + B943A73349F77F75B8C3055D2E94C04C /* field.h */, + 88F32E8C457272E137BB38662B42445E /* field_10x26.h */, + 88AC1F107B9BEA598C0726780ECDFE87 /* field_10x26_impl.h */, + B983E877B34D130C7F0E41197599CAF5 /* field_5x52.h */, + 156AC0832786D6E41B095D6E8DD29AC8 /* field_5x52_asm_impl.h */, + FF99AA927653D804503A7BA37208076D /* field_5x52_impl.h */, + 3714BDD6BC325B4A3AA0AEB00B7E0838 /* field_5x52_int128_impl.h */, + AF3BC8F62680B30207131C5C87008E38 /* field_impl.h */, + 7663F04B24B87395872D526DC48DC43C /* group.h */, + 0CCC239B4BCB58F6EF7C6E22E0D80102 /* group_impl.h */, + 9A30230BA7EA4657EA54DDA7AB7B05FD /* hash.h */, + A689F9898FAC7D6BEBFC64BDDB5CCD33 /* hash_impl.h */, + ABDC74FFB2FBBD052E941151A2CC6E87 /* lax_der_parsing.c */, + 6C03433156B044F013B91599EE579C7D /* lax_der_parsing.h */, + 8D81EA62567426F4F97BA1EE4F993378 /* lax_der_privatekey_parsing.c */, + 69DAF4AC1AD4ABE697F2A9B28B2742A9 /* lax_der_privatekey_parsing.h */, + D459A9A71D9584F44D50CCE76CA32DE1 /* libsecp256k1-config.h */, + 53097BBB7E450CEA3B67F503C72EE715 /* main_impl.h */, + 3DE637C08FD6A423A48096E7D58B1610 /* main_impl.h */, + 9ABF1DE4DC6AE445BD89E628E2CF5E94 /* num.h */, + 3F87EE960E154529EE1313BDE796C821 /* num_gmp.h */, + 406DA39A86D0ADCD3E417FD3B1B405F8 /* num_gmp_impl.h */, + C5ACF2BE50EB881C466468619A626459 /* num_impl.h */, + C5660E081BC2DA61D02571E01B81C8FE /* scalar.h */, + 36E46262C102F8CBB9AC5809B82A532D /* scalar_4x64.h */, + 00A9E16D69CA56EBD70D7C0B65E06FA1 /* scalar_4x64_impl.h */, + 5C26BABFAE3BF83287E05135793873F6 /* scalar_8x32.h */, + 110E47A2CC58E6173023BB094B2410E4 /* scalar_8x32_impl.h */, + 2B2BE4EB401907B31121C20D9AE85D04 /* scalar_impl.h */, + BBB1686A6F8A3ECF8119E0B9026493AA /* scalar_low.h */, + C37796C11F19D8A45631C9218E297AEA /* scalar_low_impl.h */, + 638D0AE5AF7E8F2016849D61CA3C54E4 /* scratch.h */, + 611BA1395C8C441142D55E0EA236E429 /* scratch_impl.h */, + 8B8AE60B95D9DA9615B03EE888C7F908 /* secp256k1.c */, + 15F777495520F311DC5F6185975B769C /* secp256k1.h */, + B206B730E077834821DED823382B92DD /* secp256k1.swift */, + 10063C7AE612FA73E113299D752D2F9A /* secp256k1_ecdh.h */, + C529FA6121A76BCDB8492FD5C6DB5D6D /* secp256k1_recovery.h */, + 7EECFB1BF73B6EB0684317B85E2EA08E /* util.h */, + F8C717E0B243C4C5C37F1A1BEAC0D082 /* Support Files */, + ); + name = secp256k1_swift; + path = secp256k1_swift; sourceTree = ""; }; - 69C1434A4421E41070A18AC989C189D1 /* Support Files */ = { + 626EEF9D696A4E065764705C0F3422FA /* Support Files */ = { isa = PBXGroup; children = ( - 9705AB5431247715C48FE5E652D005AE /* CryptoSwift-iOS.modulemap */, - E228BA1C68962471174AF53D116026C3 /* CryptoSwift-iOS.xcconfig */, - 6C86011CD926858E717E5D92380F2838 /* CryptoSwift-iOS-dummy.m */, - 4646CC97CDC73D8A7E940BD068873A84 /* CryptoSwift-iOS-prefix.pch */, - B02B055F45990BB015AB494AE625A793 /* CryptoSwift-iOS-umbrella.h */, - C15E72CDA7675543ABA19953EF2D6A50 /* CryptoSwift-macOS.modulemap */, - 534009974277EC43330183E1CF3A73A3 /* CryptoSwift-macOS.xcconfig */, - 95FA6138713C5F6E2FBBB866D8A4C6E0 /* CryptoSwift-macOS-dummy.m */, - C085FF97293CA817998555A347A3CF20 /* CryptoSwift-macOS-prefix.pch */, - AB4A0ADEE88B224FCFB999E14A3FC3BA /* CryptoSwift-macOS-umbrella.h */, + C562B65B849889DAD0291CF90F4A579F /* scrypt-iOS.modulemap */, + A91F063F0878CD71B91FA6F40B94A8DD /* scrypt-iOS.xcconfig */, + B95DAAA20BEFAD1CE76C888E2E5DDB01 /* scrypt-iOS-dummy.m */, + E941110ECDF06A93786B9FC7BCC46C75 /* scrypt-iOS-prefix.pch */, + AEC7A24CF8E56E0AB30884A90747F2B2 /* scrypt-iOS-umbrella.h */, + F8C9CB2FB683934AF634C1D10008133A /* scrypt-macOS.modulemap */, + CCA64A8640FCCC40E3412423E039371A /* scrypt-macOS.xcconfig */, + 056B0F39C844D4045CA15B32CA96A334 /* scrypt-macOS-dummy.m */, + 6F12EBB6BE5A983DB0FE7EBD486FC10B /* scrypt-macOS-prefix.pch */, + 55674F039B757742790CC41D400D1B28 /* scrypt-macOS-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/CryptoSwift-iOS"; - sourceTree = ""; - }; - 6A1F5C2595979A06A935E4D072F311A5 /* Foundation */ = { - isa = PBXGroup; - children = ( - 110AED7E75239B43DC836BF06AF22BCE /* afterlife.swift */, - 3736F60D986568A8151FD480D9648F38 /* NSNotificationCenter+AnyPromise.h */, - 9419704F82CEC9143EC36DDD7E0B5565 /* NSNotificationCenter+AnyPromise.m */, - 4942974D6603D53C4E7A5A1EE454090A /* NSNotificationCenter+Promise.swift */, - 15059FCA7454E93E51AFB7275C28A335 /* NSObject+Promise.swift */, - FBEFBB38BBB87913FDCF892141C0AC8D /* NSTask+AnyPromise.h */, - 2A4A461EE06699EE78B2DCA6B7B73F16 /* NSTask+AnyPromise.m */, - 0CE3EEB40B82A07623C8EC58D511BDA8 /* NSURLSession+AnyPromise.h */, - C9D0105E6F7855534D035E089FAACA84 /* NSURLSession+AnyPromise.m */, - 29DC94582C8F4626E7BBD65A075FDBD5 /* NSURLSession+Promise.swift */, - 8866E3418AA74CD02353B3E373ACEFA9 /* PMKFoundation.h */, - A5946E85C35328004F1FD0D65ABF93B4 /* Process+Promise.swift */, - ); - name = Foundation; + path = "../Target Support Files/scrypt-iOS"; sourceTree = ""; }; 6FE5839A998F9D581E5060F0675BF53C /* Pods-web3swift-macOS */ = { @@ -1335,37 +1342,54 @@ path = "Target Support Files/Pods-web3swift-macOS"; sourceTree = ""; }; - 7781AB5413B1D2BC12AD674C70A85683 /* CorePromise */ = { + 7135BE39A41BACFFF57CF2DA06FCA63A /* Foundation */ = { isa = PBXGroup; children = ( - FAA8118238A7270948998466F81E6253 /* after.m */, - 302BA93FAE34FC2BAD89C5501C21611C /* after.swift */, - 231D53FA7D46749E94693152ECA561B4 /* AnyPromise.h */, - 6565B9A6640E27ECBBF27A2AB8E07117 /* AnyPromise.m */, - 8C537644BF5D1735EC0FF5E1EAD5A94F /* AnyPromise.swift */, - DC1129F2E85B44E362DF4E5C827C8DD7 /* Box.swift */, - 520379C6715340D2674500ACBD1C4502 /* Catchable.swift */, - 58ED9DC4116D9A46B7047B9F3EE44E18 /* Configuration.swift */, - 07EBEF7A80D308EEE9B00C81E7BA82EE /* CustomStringConvertible.swift */, - CFA9EC9779A914A67653CFFF9142318C /* Deprecations.swift */, - 01E16ADA85843E6D30083930685D07D1 /* dispatch_promise.m */, - BC8CE2AC7222CA948CFA3E9FEF002800 /* Error.swift */, - 07692AF4D5F0A8907862595FBCB74ECB /* firstly.swift */, - 96BC14C5CF69F4D24A02B045A7A1BB7E /* fwd.h */, - 991C827F3BBAAEE28EE416BE38F76DD0 /* Guarantee.swift */, - 7F3C6D22D31BFCC4FBF02C3E813AE0EC /* hang.m */, - CAB3BF2C1D04839054658D7999609AFA /* hang.swift */, - D6FBFF07C73E9B536C49D3D32A989327 /* join.m */, - B3C749DBE031D5CD32F6F718288C1AC0 /* Promise.swift */, - 480A526DDBB009A3C8A843239CA3D080 /* PromiseKit.h */, - B592EEFCCF7F964D0B60F749B17B7658 /* race.m */, - A9C90F0F0F9A0115AC326304EB131CA4 /* race.swift */, - 31E6AD63B104B462BD7A0812CF8D8089 /* Resolver.swift */, - 894312908815C8518B59156B045BB049 /* Thenable.swift */, - D24853136C9E866538093205C6E4A90A /* when.m */, - 0CDBE2B78BCAA950F79B74C3FB2E228C /* when.swift */, + 4C0010565A5FA9F18F27870EA632C4D3 /* afterlife.swift */, + A84CAC1E9ED891BB925E32AD866EF4F8 /* NSNotificationCenter+AnyPromise.h */, + 52AF65D13B97A0EAA5CC2F9AF6450786 /* NSNotificationCenter+AnyPromise.m */, + F0BE0F8D8AB5D3091421F18BD6A6A10D /* NSNotificationCenter+Promise.swift */, + 1ED8894D488852DD8E6F75780785F814 /* NSObject+Promise.swift */, + A1EC79FCBA910623842C72C09D10B874 /* NSTask+AnyPromise.h */, + 63A1F06664FED90C2B7F7989990F9EE3 /* NSTask+AnyPromise.m */, + 592D721B3C087135B76612BE7D7B3701 /* NSURLSession+AnyPromise.h */, + D8F35E00F2D89D45B3441C99BA910A82 /* NSURLSession+AnyPromise.m */, + 213FB9632182CBF9A72A027B86282B5C /* NSURLSession+Promise.swift */, + 2D0614C48A73B812DC34E2FA48DD6F42 /* PMKFoundation.h */, + 62DAA30A02BECECD3B564F1546CE3343 /* Process+Promise.swift */, ); - name = CorePromise; + name = Foundation; + sourceTree = ""; + }; + 721B03F83DE13DAFDC6542331CAAEF2D /* BigInt */ = { + isa = PBXGroup; + children = ( + D7E660F6E2F237440138C5AAC5BC6476 /* Addition.swift */, + 38253CDBFF833980FA0956A34E1BF0C7 /* BigInt.swift */, + 1AE91BB385A7A2911773305870D337C6 /* BigUInt.swift */, + C59B01CF94D3592EF9F0F9D53C69D829 /* Bitwise Ops.swift */, + 7840B3270C6F5BC3A89FE4E3AE641898 /* Codable.swift */, + BAE868DDC6B50E704178E9C6A7BCDE4C /* Comparable.swift */, + C98E405B0267998743280361FC7A320B /* Data Conversion.swift */, + 260C8496D4BED6EDC41A2FBCF2E87AC6 /* Division.swift */, + CEA00FFA03F2405A1DD8AAB823BC5CAF /* Exponentiation.swift */, + 9DC3346C75E669B5227A78FA15785FB3 /* Floating Point Conversion.swift */, + C8E8AD7E4D46EAFE301BAE49458CBADF /* GCD.swift */, + F4C1DB7075FC89AABC9027B89E410DD0 /* Hashable.swift */, + A46C4FE304316D231AC48D068F15FE99 /* Integer Conversion.swift */, + 75D9DF88CC9C33DAC01E5EFCB0B1513D /* Multiplication.swift */, + 6B9D04508C62F823AFD89A1CA232315E /* Prime Test.swift */, + 02BE2C0884A4C644A5B276E1781D2DCA /* Random.swift */, + FADA29CA311EF9A86381521A5E4C366B /* Shifts.swift */, + 3B4944DF61F05FF099C70B6640B4431D /* Square Root.swift */, + 10AB7CE8E7FA7C93448EFE94CFEE2C62 /* Strideable.swift */, + 648DE2BEBFB01CEB5B721BA04955EAF1 /* String Conversion.swift */, + 98D3DA59A50F70D87A13DF72C6E649E1 /* Subtraction.swift */, + B2C015DFFE7F497B97D0DA1C8C7AB69E /* Words and Bits.swift */, + BD3DBFC1664E2C7581FBF6EA50E35743 /* Support Files */, + ); + name = BigInt; + path = BigInt; sourceTree = ""; }; 7DB346D0F39D3F0E887471402A8071AB = { @@ -1373,213 +1397,283 @@ children = ( 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, 0F8D2E47FE03D3B91B51069F7C273AF4 /* Frameworks */, - A63D334DF076AE8625934C5AB8CCFC1B /* Pods */, - 16ABC4753B5234DBE5986A3C5545CD07 /* Products */, + AA8E7F4C055950D0F3783484CBF7F6CE /* Pods */, + 083C1381B3CFEF7D89B7A4A992CA51B1 /* Products */, 0016905C45F8F01C6D080425028330F0 /* Targets Support Files */, ); sourceTree = ""; }; - 804E9F18A201CF035B07D2CDE435B7DC /* Result */ = { + A7BC2BD4C2116FFAE210C93ECE658487 /* Support Files */ = { isa = PBXGroup; children = ( - 26A07B357C5F42ABC4E5A41480B9B5E0 /* AnyError.swift */, - C57F8890E519BE45C84FBCD5E06453AF /* NoError.swift */, - 309EDA4AEC3E9553B1C5228CB1CB760F /* Result.swift */, - 7B7931AA08AA6E50FAE2325FDFEC9669 /* ResultProtocol.swift */, - 15C25A3B386CD90F69E6C295C07BA52C /* Support Files */, + 8446B6BDDAE4F9F915BCB9730B980742 /* CryptoSwift-iOS.modulemap */, + C9B8D6BE88B58CC5E8D7E0021C88A419 /* CryptoSwift-iOS.xcconfig */, + 474420A8AF86D361C202C31C918E6BD3 /* CryptoSwift-iOS-dummy.m */, + 90B02C30596DAD79E18ADA8E1883B661 /* CryptoSwift-iOS-prefix.pch */, + 97E0EFD2C6E09D9A91E0B22FB199CF95 /* CryptoSwift-iOS-umbrella.h */, + 3EA34A9CDFC021862FD1AC06AF167E44 /* CryptoSwift-macOS.modulemap */, + 2863AEE30806CB2030DDC59D25CF1C36 /* CryptoSwift-macOS.xcconfig */, + BED38F4200E2E27BE7EF1306C1EF481F /* CryptoSwift-macOS-dummy.m */, + 23F8166C962F9CD1D6BD2E5891166222 /* CryptoSwift-macOS-prefix.pch */, + 2E7BEC4ABD719ED13864904F5601B1EB /* CryptoSwift-macOS-umbrella.h */, ); - name = Result; - path = Result; + name = "Support Files"; + path = "../Target Support Files/CryptoSwift-iOS"; + sourceTree = ""; + }; + AA8E7F4C055950D0F3783484CBF7F6CE /* Pods */ = { + isa = PBXGroup; + children = ( + 721B03F83DE13DAFDC6542331CAAEF2D /* BigInt */, + CE587F558C5FF1907FB3643991215B89 /* CryptoSwift */, + C1AD17F83F159B458EDDF71565DE82B7 /* PromiseKit */, + D45F6E5FDC7755F2007FC7EFCBDBF24A /* Result */, + 46CC7F8505D714EA98CC3893D6FC79FC /* scrypt */, + 61792E5369CB89AA2F94DFF4E72EFEE9 /* secp256k1_swift */, + B11247C91627ED7AB53FAEBAC426E1DB /* SipHash */, + EC8686C3474AC20563F3149326E6D2DF /* SwiftRLP */, + ); + name = Pods; + sourceTree = ""; + }; + AAB417525B4AA28CC55EECA7CFDAB251 /* Pods-web3swift-iOS */ = { + isa = PBXGroup; + children = ( + 79E925BEAA0533C58B6D9871B886DD8A /* Pods-web3swift-iOS.modulemap */, + F45D1FF9B0F3BEACB34D069C6F3561F8 /* Pods-web3swift-iOS-acknowledgements.markdown */, + 95C397E16B314F921F7784F00C8F183B /* Pods-web3swift-iOS-acknowledgements.plist */, + D8F688145BCFE1FB8B76299CC261A05E /* Pods-web3swift-iOS-dummy.m */, + 7E8C19543EF3AA4D9801DBE55E22E211 /* Pods-web3swift-iOS-umbrella.h */, + 042CC2D185140E7D725D22562A3E307F /* Pods-web3swift-iOS.debug.xcconfig */, + 673FFC4D2B959AB8AEC35D646A85CDCD /* Pods-web3swift-iOS.release.xcconfig */, + ); + name = "Pods-web3swift-iOS"; + path = "Target Support Files/Pods-web3swift-iOS"; sourceTree = ""; }; - 8D0440A372DE5585456AC37270B59B51 /* SipHash */ = { + B11247C91627ED7AB53FAEBAC426E1DB /* SipHash */ = { isa = PBXGroup; children = ( - F685B50C77BC588736193EFC93B3FAFA /* Primitive Types.swift */, - 5571DA87BD8084546DB65E212E690849 /* RandomUInt64.swift */, - E2C42F3DFC4E6CC75140A86DF8616CC3 /* SipHashable.swift */, - 602BCDD7A6B60ADA7204658627037B22 /* SipHasher.swift */, - 58C88166C95A09EA9648AB3B62ADA11A /* Support Files */, + AE037589FFCAACA71A323801729DC4A8 /* Primitive Types.swift */, + C2394F66C9B9661F4F0C5813E12A79FD /* RandomUInt64.swift */, + CD229288A14A42E6F98A2F3F4C019A9D /* SipHashable.swift */, + F9891F2E1A2F4A5890CC52561833FA78 /* SipHasher.swift */, + E1F02E842C04D8C75A2B95E3F260E0F2 /* Support Files */, ); name = SipHash; path = SipHash; sourceTree = ""; }; - 9A0C65907B887C6AA085BA46A48F0571 /* Support Files */ = { + BD3DBFC1664E2C7581FBF6EA50E35743 /* Support Files */ = { isa = PBXGroup; children = ( - 897A68EA53AA050AFE4583C364D6C1CF /* PromiseKit.modulemap */, - DE552F4DC19246DE02459BBEAECE3070 /* PromiseKit.xcconfig */, - 011F6C47C6E88AE3E66264D1FEB85A87 /* PromiseKit-dummy.m */, - 224FBA77C2D18846EE62FD6A22E3B120 /* PromiseKit-prefix.pch */, - 2A75A46146F4FF1C0CB840CA36D75492 /* PromiseKit-umbrella.h */, - 8E629DABC6293E872B2A48DE12DC3D99 /* PromiseKit.root-CorePromise-Foundation.modulemap */, - 342482D0962E817B844EE7E6446AF932 /* PromiseKit.root-CorePromise-Foundation.xcconfig */, - F38735F968F3506E4EACD22DC1175F06 /* PromiseKit.root-CorePromise-Foundation-dummy.m */, - 9B4E57AA7FB0E002998D6424CB608E32 /* PromiseKit.root-CorePromise-Foundation-prefix.pch */, - E14AE09BC14CD1D5C3AD72803E39C00F /* PromiseKit.root-CorePromise-Foundation-umbrella.h */, + 63D12DA56BB356A37E371C2040649482 /* BigInt-iOS.modulemap */, + 5E7DBCA26552356539B821BC83348925 /* BigInt-iOS.xcconfig */, + 7D484138780C581F7D2CE4E6D0544865 /* BigInt-iOS-dummy.m */, + 0D0DA104251AEFDE2964573040D291E1 /* BigInt-iOS-prefix.pch */, + 2B30858224DA96CA6252C6F11BF5F589 /* BigInt-iOS-umbrella.h */, + 36B1EE4309A9229BE3B132502B9072C0 /* BigInt-macOS.modulemap */, + 33D848500D6FCCF2177712A255BD02F3 /* BigInt-macOS.xcconfig */, + 97B24FD834901CF3D36423F68C485701 /* BigInt-macOS-dummy.m */, + 355524C7DC6BFC49391D4F5AFF2834BA /* BigInt-macOS-prefix.pch */, + 8E2064AA263189FCD4D283C9618B597A /* BigInt-macOS-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/PromiseKit"; + path = "../Target Support Files/BigInt-iOS"; sourceTree = ""; }; - 9F85BC46BF78193A4015B427CB510BAC /* UIKit */ = { + C1AD17F83F159B458EDDF71565DE82B7 /* PromiseKit */ = { isa = PBXGroup; children = ( - D175F930B0613AAEB35FE3D02276CA4D /* PMKUIKit.h */, - E7CC622C1D24D718342B05051554A93A /* UIView+AnyPromise.h */, - 45FFA251444F7DBCE99E0099A3F19A6D /* UIView+AnyPromise.m */, - 560B0B96D98FDEEAA1623C02B9F6ACC6 /* UIView+Promise.swift */, - 4DFFEB20DCD9CFCA06DAE16B4367F1B9 /* UIViewController+AnyPromise.h */, - 690E91794401ED87EB104B7BE8059DD2 /* UIViewController+AnyPromise.m */, - DF8763C25A8C471712C07FDF71929703 /* UIViewPropertyAnimator+Promise.swift */, + 6001D0F553FDEC1064F2E9179A232865 /* CorePromise */, + 7135BE39A41BACFFF57CF2DA06FCA63A /* Foundation */, + 4C681E95E22596A4FD865B6B2817D37D /* Support Files */, + FE928D414B5C71EF40AC25C320542734 /* UIKit */, ); - name = UIKit; + name = PromiseKit; + path = PromiseKit; sourceTree = ""; }; - A63D334DF076AE8625934C5AB8CCFC1B /* Pods */ = { + CE587F558C5FF1907FB3643991215B89 /* CryptoSwift */ = { isa = PBXGroup; children = ( - 01DAA51A707D1C3EAB5D0EE11DCC432A /* BigInt */, - 4DEBE1393AE00ECAAF9F6945E53E40D5 /* CryptoSwift */, - F0707F8777DDFD81A8215F12EF6547F2 /* PromiseKit */, - 804E9F18A201CF035B07D2CDE435B7DC /* Result */, - C451CAEA2200E64AF129DB404228CFA3 /* scrypt */, - EE1D6B59A34A257EF3135B8B9F42BF8E /* secp256k1_ios */, - 8D0440A372DE5585456AC37270B59B51 /* SipHash */, + 01EF1089B1CD3D0F375289721DEB584C /* AEAD.swift */, + 0D1A84D8AEFDC828575F732E2005CA5B /* AEADChaCha20Poly1305.swift */, + 13F4C1E92ACB15583B361380492AA797 /* AES.swift */, + F0551BCBA17CFD8A37D9E9C9F95EB6D0 /* AES+Foundation.swift */, + 68C55BFCA12A87EB647D36A87908A1D1 /* AES.Cryptors.swift */, + 06F1FB18FDF42877A101BED0A4736B68 /* Array+Extension.swift */, + F80A642AA09FE49288321BA985716AD2 /* Array+Foundation.swift */, + 629A9B1DDCCA7AF069A948D996B8B34C /* Authenticator.swift */, + CACDBA26EFF10F14AAD8F7B3DB4F650E /* BatchedCollection.swift */, + 6304D4D79F57615EFD4626BF126CE5AD /* Bit.swift */, + 32B1BF3EB7A67274C92EEEEF1D636696 /* BlockCipher.swift */, + B2503DCCE1598BB4D7E580AB0CB8E807 /* BlockDecryptor.swift */, + 3E9C4AE3C0574C05D13445561BFB8C1B /* BlockEncryptor.swift */, + 68457844D0369DF25FAC63A7E42F3A5C /* BlockMode.swift */, + 247E11C8D6F6ECD1DF148F75673EBF35 /* BlockModeOptions.swift */, + 130F36C1478ABB13451E11EE5EC671CA /* Blowfish.swift */, + D007141D6A0D170999FBC71CD9227F3F /* Blowfish+Foundation.swift */, + A3A74DAAF802F643B5F00446BF21F89A /* CBC.swift */, + 65CE212AD1BE3547B620E83B3DA9E60F /* CFB.swift */, + 2E2A180DBC09C044075F60A0C97BFD85 /* ChaCha20.swift */, + 47CF4E411893D167B17A83AB51C8D53D /* ChaCha20+Foundation.swift */, + C0D7A0114EB8569F1C403A6574C016E8 /* Checksum.swift */, + 246EC9B3E3D924F7496163E4D7D5574B /* Cipher.swift */, + D8E5FF3E2A379FE71CD1EEE3BB380DD0 /* CipherModeWorker.swift */, + F4723853D29831D8D4EC86E13EF15FDA /* CMAC.swift */, + F9E6DDE5A0AF4D0B343E4D3AEE9DF983 /* Collection+Extension.swift */, + 04ECFBF1BF17192FF4F65A2E96AB714F /* CompactMap.swift */, + A9B9A712542DB104270D877BBE57746F /* Cryptor.swift */, + 67946900D6375AEDFA1C113E2A5B2794 /* Cryptors.swift */, + B01CD4E7B7266FBC96F1DAE5B4F170F2 /* CTR.swift */, + E4D6786B6A1F1F3D12539CE8845D610B /* Data+Extension.swift */, + 77A1B64DBD371FBCB805A100679F87A8 /* Digest.swift */, + EA9B1AD24E2B5EFD0840B6FD38C85994 /* DigestType.swift */, + 584C7F09DDD45569AE8365662DEFF8CA /* ECB.swift */, + 10EE3D627FD85D9AD1BDC05F433526A5 /* GCM.swift */, + B3C40AC9DDA22566EDFEC3F65AA62472 /* Generics.swift */, + 7FFE51D4F185433A05C0BD38B8F2A5CC /* HKDF.swift */, + 9197F30F9D372148520156A011421FE9 /* HMAC.swift */, + 354EE4D14557CE745D7020B65D22B49D /* HMAC+Foundation.swift */, + EC74A6C891271F3176D0A8781C35C2D0 /* Int+Extension.swift */, + 315EDC3BC73A24F07AB8D9FB44FEEF7D /* MD5.swift */, + 88EC012A11A5D51BC077A26441D4957B /* NoPadding.swift */, + 5DB98AE66675F1DDA4A420A12C0BFBC6 /* OFB.swift */, + 40B7ACE16AAEA76CA6C9CAE3FE7BFA5F /* Operators.swift */, + B8FBDD9B6C2C480F597AF54E4AF5F9B7 /* Padding.swift */, + F342E030AE1A607D64EAC3488CFB51FC /* PBKDF1.swift */, + 033169E66A1FD0955634FCFD42D50FA3 /* PBKDF2.swift */, + F95154420EF4C760231BA7CBA1A7589A /* PCBC.swift */, + 20BCC1D2F3127FBBB88BCCD1BCD6C558 /* PKCS5.swift */, + 292B7230F9D2EF13745202AD62870DFF /* PKCS7.swift */, + 9DBCB6B50C94F20FB7E7BC301A007798 /* PKCS7Padding.swift */, + 0046FAD665E019D5EFFFDFC7C04F79EE /* Poly1305.swift */, + 9D8AF6DE4770B6AAF9C6F56D533DB5A3 /* Rabbit.swift */, + 59163772C1016907FD12D819A604B18B /* Rabbit+Foundation.swift */, + 638EF15CE0F571BA9C2C5868DA40EBBE /* RandomBytesSequence.swift */, + F415B88D0858CD731ECC4C37D0E1F83A /* SecureBytes.swift */, + D099C2689CE8838D1CBF7B7310B03821 /* SHA1.swift */, + C59C9D4690B77F7F188FFCA0081A3AA2 /* SHA2.swift */, + D1E1805F59DD3B99C4A24A6B69DA1738 /* SHA3.swift */, + DE18F632CE594C2E2CCA9A0490532CB3 /* StreamEncryptor.swift */, + 8CBA3A66080B4CF784ADFED0326CBC82 /* String+Extension.swift */, + D58F3D9D1A1143135DA2F393DCD07C5C /* String+FoundationExtension.swift */, + 73E1C923DAF11E64DD39A52C483CBBB0 /* UInt128.swift */, + 6BECA27963AB5B81C6487F1AFF447EE3 /* UInt16+Extension.swift */, + 513D1D85D34F76B7E4DAE1B37103BC5A /* UInt32+Extension.swift */, + 75724C7E4D6EB3792635A031AD2B1492 /* UInt64+Extension.swift */, + 8BE11FDB9FE69A172C6101D8842D30EF /* UInt8+Extension.swift */, + 75335D15747F097BD0A9500504DC8775 /* Updatable.swift */, + 97C1287E8FD172526EC3409612A97C23 /* Utils.swift */, + 6954BF93957A2CAF08330D9214A7ACF2 /* Utils+Foundation.swift */, + 99490114EDAF958B866019F3B4C71077 /* ZeroPadding.swift */, + A7BC2BD4C2116FFAE210C93ECE658487 /* Support Files */, ); - name = Pods; + name = CryptoSwift; + path = CryptoSwift; sourceTree = ""; }; - AAB417525B4AA28CC55EECA7CFDAB251 /* Pods-web3swift-iOS */ = { + D45F6E5FDC7755F2007FC7EFCBDBF24A /* Result */ = { isa = PBXGroup; children = ( - 79E925BEAA0533C58B6D9871B886DD8A /* Pods-web3swift-iOS.modulemap */, - F45D1FF9B0F3BEACB34D069C6F3561F8 /* Pods-web3swift-iOS-acknowledgements.markdown */, - 95C397E16B314F921F7784F00C8F183B /* Pods-web3swift-iOS-acknowledgements.plist */, - D8F688145BCFE1FB8B76299CC261A05E /* Pods-web3swift-iOS-dummy.m */, - 7E8C19543EF3AA4D9801DBE55E22E211 /* Pods-web3swift-iOS-umbrella.h */, - 042CC2D185140E7D725D22562A3E307F /* Pods-web3swift-iOS.debug.xcconfig */, - 673FFC4D2B959AB8AEC35D646A85CDCD /* Pods-web3swift-iOS.release.xcconfig */, + B4DF3EE5AB6E8CC14DA313527875575F /* AnyError.swift */, + 65695D88202B0FFFBE40038E32FBE234 /* NoError.swift */, + B78A9314F721CE7FE8EE68290ACF962A /* Result.swift */, + BB99BF8C95F80E710325AC9BE5A0BE72 /* ResultProtocol.swift */, + F428E795A6218A0503995E6302D472F5 /* Support Files */, ); - name = "Pods-web3swift-iOS"; - path = "Target Support Files/Pods-web3swift-iOS"; + name = Result; + path = Result; sourceTree = ""; }; - C451CAEA2200E64AF129DB404228CFA3 /* scrypt */ = { + E1F02E842C04D8C75A2B95E3F260E0F2 /* Support Files */ = { isa = PBXGroup; children = ( - 75108DB9FE7BABCC05526BD92059DC5A /* BufferStorage.swift */, - A0BB9A3E4E29EBA29F99C94BBEEEC1F2 /* Cimpl.c */, - CC773B77A5A65E3C63F4C5305CAD01D1 /* Cimpl.h */, - 45C2BE6D1118A5C0F2E549CE3527D602 /* Salsa.swift */, - 2DC2E6214BB1EB95403BF7608DAF872D /* scrypt.h */, - 60F78E26D6ABB8534A27E28D45FBFF71 /* Scrypt.swift */, - 13E70B817C059BEC698F6DC0FDA07E9E /* Support Files */, + 4280E4E729C30130E5863D8832C068CC /* SipHash-iOS.modulemap */, + E3315426BF4C8B74BC7DAAADC2F23895 /* SipHash-iOS.xcconfig */, + 98208639AD618314C999FC207B7FBA89 /* SipHash-iOS-dummy.m */, + 3A28FF7FC1FEB17EAFF5DFCB9B40E6D5 /* SipHash-iOS-prefix.pch */, + 31D7B79B518E67916F0205F505B0485D /* SipHash-iOS-umbrella.h */, + E9D1AAD6C106478E5F24A9CE500AB6A6 /* SipHash-macOS.modulemap */, + 510A8C675D48B2B9F8821CFCF830CAC5 /* SipHash-macOS.xcconfig */, + 547B7D1303121A36C02717193279DF7A /* SipHash-macOS-dummy.m */, + DE18F02725D9CF95A5B3FB51CFF87AE1 /* SipHash-macOS-prefix.pch */, + 7FED111DB9B19BEB67F1E97D34E65AC8 /* SipHash-macOS-umbrella.h */, ); - name = scrypt; - path = scrypt; + name = "Support Files"; + path = "../Target Support Files/SipHash-iOS"; sourceTree = ""; }; - D793EBB3DAA962286977E5BD97EAAB37 /* Support Files */ = { + EC8686C3474AC20563F3149326E6D2DF /* SwiftRLP */ = { isa = PBXGroup; children = ( - 0ED7F0C1978F3EEA00F7A4AF09FEC2E8 /* secp256k1_ios-iOS.modulemap */, - 125189558361630DF92C53413530E3E9 /* secp256k1_ios-iOS.xcconfig */, - 6C85BA37239973340D1056F3EBC7F4F8 /* secp256k1_ios-iOS-dummy.m */, - 1A9A53F547A648B113145FD483E1572D /* secp256k1_ios-iOS-prefix.pch */, - E769D47A96005469A7B39F23E9281D6D /* secp256k1_ios-iOS-umbrella.h */, - CBD30E41FF94A920A122386C08637B7A /* secp256k1_ios-macOS.modulemap */, - 10261D7140AF8D6F9E6545BC5D894761 /* secp256k1_ios-macOS.xcconfig */, - BB8574390012E8F0C54B5B8C7A68D484 /* secp256k1_ios-macOS-dummy.m */, - 176078626D7316260BA02A61B91E5EF2 /* secp256k1_ios-macOS-prefix.pch */, - 7D4E771C1368EA72DE7D24C281E6D674 /* secp256k1_ios-macOS-umbrella.h */, + BE0E6B0DB6C8369C0409240023B753BD /* RLP.swift */, + 6DF6BC857A451DB590136C2127E8540C /* SwiftRLP.h */, + 0B5A3E0CC65F7553C04A6E5297B32E24 /* Support Files */, + ); + name = SwiftRLP; + path = SwiftRLP; + sourceTree = ""; + }; + F428E795A6218A0503995E6302D472F5 /* Support Files */ = { + isa = PBXGroup; + children = ( + D5C83A501FE934B15E0B51546A92E079 /* Result-iOS.modulemap */, + B334729A830AF9B565C76134288E4EDF /* Result-iOS.xcconfig */, + FF4E4FB6D0F71C472A99E72F368087E0 /* Result-iOS-dummy.m */, + 1785BD77598DA961BBC98D4CB9AEEA35 /* Result-iOS-prefix.pch */, + 44A4652793E17CB674C8F7E82EA886A1 /* Result-iOS-umbrella.h */, + C8877687340A48EE91240BE1793F223E /* Result-macOS.modulemap */, + E748C35C819EB524EA9D3EAE51962FD9 /* Result-macOS.xcconfig */, + 4C05BD716367802B1AA84356C6E21134 /* Result-macOS-dummy.m */, + C496DED0A0B25D608237C1717DF67DAB /* Result-macOS-prefix.pch */, + 98B2E87BB6ACFDFDFA8C3C8F69BE06E2 /* Result-macOS-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/secp256k1_ios-iOS"; + path = "../Target Support Files/Result-iOS"; sourceTree = ""; }; - EE1D6B59A34A257EF3135B8B9F42BF8E /* secp256k1_ios */ = { + F8C717E0B243C4C5C37F1A1BEAC0D082 /* Support Files */ = { isa = PBXGroup; children = ( - 2468F7B4A6695BB009B5A2AE35A167C8 /* basic-config.h */, - 4EF2B2E6A827BEB4095C69760A095228 /* ecdsa.h */, - DDEB5B32B77FC78B04321FABF19FAF64 /* ecdsa_impl.h */, - F68419F17E2CC2073DDAC992BC39EF47 /* eckey.h */, - 57BE35B8EF2F430EE1A093A4E43F8243 /* eckey_impl.h */, - 5ADFA6DD652FDF2433DB8FB46C2B02CA /* ecmult.h */, - 0CCD88E197198C9C888139A0E2A2CD50 /* ecmult_const.h */, - 2A137B5E1D739B2D491F2842EFFBD559 /* ecmult_const_impl.h */, - 030837B4EF44BB6736CDF5FBF205E93E /* ecmult_gen.h */, - 506C81F04F45BF82E339BD28FB9A6252 /* ecmult_gen_impl.h */, - 413EEACF83712E321F24944C021FEB53 /* ecmult_impl.h */, - 86010FFDC0CB0732CC170A6EB5EC36A5 /* field.h */, - 16B7C824120675B47E14A2A872A6DFDC /* field_10x26.h */, - 8E865E2465317D7395EFFC3E15BE3B82 /* field_10x26_impl.h */, - 7AF087435CFE453BE94CFAE116CC7661 /* field_5x52.h */, - 07F62FD29EAB7298762C10A21294A6B1 /* field_5x52_asm_impl.h */, - 5C0825E5C07CD2AD15EADE1A4F132C24 /* field_5x52_impl.h */, - 394A497CBDC2A602E9E5A0A0E4A7C231 /* field_5x52_int128_impl.h */, - FD3FC379B5028687E388AD09CFE88832 /* field_impl.h */, - 15C56E2FA28A6BC277C2F1DF71DE010C /* group.h */, - D93F53AAD0FD5DB616A5E1C69164F0D7 /* group_impl.h */, - 7FDB2A79B118B2F003B3E6F5A708B701 /* hash.h */, - D8A60B0639785EE266ACA62D536DD199 /* hash_impl.h */, - B9BCFC62DFEA1FC233306B897C15DE84 /* lax_der_parsing.c */, - 97CA37D99BC06AE9B4704C72A22686E5 /* lax_der_parsing.h */, - EC2691B355719F37BCE2B9EB79640902 /* lax_der_privatekey_parsing.c */, - 744D68A2C1A6A6136663892BD5967CEF /* lax_der_privatekey_parsing.h */, - 2385B17AD9190A207792185ECE5CD9C7 /* libsecp256k1-config.h */, - 7C9596E2D0164256EFB0F1673E724BB1 /* main_impl.h */, - 894C3E3F18C4D842D9E35A6A69851AF0 /* main_impl.h */, - 51FFE70E98E00B14A7CEDBC9878713E7 /* num.h */, - 7399560A570538454DCA6FC42E879809 /* num_gmp.h */, - 42EA8B8CA97A07CABD4DBAC9F8610993 /* num_gmp_impl.h */, - BD07DFA1EC0FD8CF78E837D5A0051A6D /* num_impl.h */, - 778AAAE605119A0341DA4378ED873181 /* scalar.h */, - 185ADAFCE5AF39098787D861673779B8 /* scalar_4x64.h */, - DC80BC8175DF95AF5AC0777B4379466F /* scalar_4x64_impl.h */, - 4965C40E8438A02BE82C485420845345 /* scalar_8x32.h */, - 1143B8F0055C240BA0D05D50FC1CC020 /* scalar_8x32_impl.h */, - 32804240A56A511992C9AA367655CDBA /* scalar_impl.h */, - 21DDCB6C56CEF1430122DCD6370180B8 /* scalar_low.h */, - 30F699976B957E8821EB632AF092C14C /* scalar_low_impl.h */, - 8575ADFAFEFEFEDACDC32D01960AE2AB /* scratch.h */, - 33EBDEB3CCBA0EA3C7F7CB093743643E /* scratch_impl.h */, - D37DEA7A8B3EBEC27D9109471669A4BF /* secp256k1.c */, - BAD09E8EE27EB4BA87F1F0237E0D7537 /* secp256k1.h */, - F1F1BD0CE2445F35A20783082C9D4775 /* secp256k1_ecdh.h */, - 370C998F97BBB1397D09CD78C43A9919 /* secp256k1_ios.h */, - 6B7D33AF1AE938A46700885645D7B0C6 /* secp256k1_recovery.h */, - 0297F48C8677A1EAF05256ECF6AE81D5 /* util.h */, - D793EBB3DAA962286977E5BD97EAAB37 /* Support Files */, - ); - name = secp256k1_ios; - path = secp256k1_ios; + 7A0C50DF8D82115DBAAFF1AA1F45BD18 /* secp256k1_swift-iOS.modulemap */, + 37F6A1CB837846EE43730D5E42B4E402 /* secp256k1_swift-iOS.xcconfig */, + 48BA596E48FB87148C88E3B7BBB602EB /* secp256k1_swift-iOS-dummy.m */, + 709674DD026369E39754079D242C3E66 /* secp256k1_swift-iOS-prefix.pch */, + 7950E62D04D3EBAB00EA5CE1411E5A6C /* secp256k1_swift-iOS-umbrella.h */, + D093F93E69099A9C2F8327DD338BA151 /* secp256k1_swift-macOS.modulemap */, + 52DC772E67709ACAE0A2731E36A63DC0 /* secp256k1_swift-macOS.xcconfig */, + 9520DA623CEB5BEB937C6E2EEC267B31 /* secp256k1_swift-macOS-dummy.m */, + 980A812728AADDDB624727159B4C098E /* secp256k1_swift-macOS-prefix.pch */, + ABA1CC6FBDF71FC02EE62B784C52CD45 /* secp256k1_swift-macOS-umbrella.h */, + ); + name = "Support Files"; + path = "../Target Support Files/secp256k1_swift-iOS"; sourceTree = ""; }; - F0707F8777DDFD81A8215F12EF6547F2 /* PromiseKit */ = { + FE928D414B5C71EF40AC25C320542734 /* UIKit */ = { isa = PBXGroup; children = ( - 7781AB5413B1D2BC12AD674C70A85683 /* CorePromise */, - 6A1F5C2595979A06A935E4D072F311A5 /* Foundation */, - 9A0C65907B887C6AA085BA46A48F0571 /* Support Files */, - 9F85BC46BF78193A4015B427CB510BAC /* UIKit */, + 66515F5856AA8BFE5FEC1F9BF271A5A2 /* PMKUIKit.h */, + 4B90782E90E35201E901B4ABD31E7E1C /* UIView+AnyPromise.h */, + E25079B9D829E2FA59A02142ACC823BA /* UIView+AnyPromise.m */, + 955161BE1368A548FD4EB6DA00435D16 /* UIView+Promise.swift */, + 0A3899E2022CB3FA28CFCB82D4B6CA80 /* UIViewController+AnyPromise.h */, + 416DB21C5FE305C78284237079C89388 /* UIViewController+AnyPromise.m */, + D5BEE6336571D98DA94C9A54C8CE9623 /* UIViewPropertyAnimator+Promise.swift */, ); - name = PromiseKit; - path = PromiseKit; + name = UIKit; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 166EE7AF6F05364CA2697906AF0680E0 /* Headers */ = { + 1981098BE859E5C5C86D4B2DB76FCB79 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 6D92208E7FD3D5F577A4CE8CB9408544 /* Cimpl.h in Headers */, - EE83304C33E8D28C3321FCF4F3E952AC /* scrypt-macOS-umbrella.h in Headers */, - B47081880A03F74BE985722C4EB78E20 /* scrypt.h in Headers */, + 662343AAB2E8FCFC56D2176CE50BE184 /* Pods-web3swift-iOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1590,235 +1684,245 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 396B4A343071334BC45008A7FAC4B955 /* Headers */ = { + 3A62C11C69001C7BF554031AE5C3194C /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - FCCB2E2C0281EDCAD1C5E13070298711 /* basic-config.h in Headers */, - F4D09855E68D1FD71D77BC55A727D4A3 /* ecdsa.h in Headers */, - E6A3822607D69367B5FC864FB7A3BD73 /* ecdsa_impl.h in Headers */, - A40822AC61959F70D2834E5F4A9A331C /* eckey.h in Headers */, - 0F027DD3DCF059DCB9E33D0B562B5A39 /* eckey_impl.h in Headers */, - 2C4AEC06516A5EFE1E600BB0A30CF6D0 /* ecmult.h in Headers */, - C4D045EA36FC3020F0D120D61248034A /* ecmult_const.h in Headers */, - 1222711B1AB711D6206EED1F2580A623 /* ecmult_const_impl.h in Headers */, - 5A5911FA8E88B73CCAFBFFA88D5B9E35 /* ecmult_gen.h in Headers */, - 88BF6E9DAD1C8B0508E8CFFEDE03C163 /* ecmult_gen_impl.h in Headers */, - F56FE8F3E8E168BE03C4966EEAA91C1B /* ecmult_impl.h in Headers */, - 6D55E98E3CA63D1202BE0641D7399EE8 /* field.h in Headers */, - 78DB68659C3EA82DD2DAF980F8E703BB /* field_10x26.h in Headers */, - 38B6E072F812605CF0B4FA03B3528A82 /* field_10x26_impl.h in Headers */, - CA0A3399A3F3DE0313571B05CCACB00B /* field_5x52.h in Headers */, - 3B3C7BC5E53C195B74B659C5D3445385 /* field_5x52_asm_impl.h in Headers */, - 7A95B0BC386E8AF888E81C3A766D509F /* field_5x52_impl.h in Headers */, - EC17D63723242B036D6B342AB1853468 /* field_5x52_int128_impl.h in Headers */, - DFF0B3B6C8696B29A8B79E1C76E9D76F /* field_impl.h in Headers */, - 2161948858307EC6EEFCED5554369172 /* group.h in Headers */, - 0AE93856CF7FADFFADBE88A5A2D92A2A /* group_impl.h in Headers */, - 84CCEF3B86065A6C299BE772199B73C1 /* hash.h in Headers */, - 1530076E5FEDDBAB798D9AD56B228181 /* hash_impl.h in Headers */, - 7239F0AB8B86ECA736377C06ADA831F9 /* lax_der_parsing.h in Headers */, - FBCF699856A16E347AFE56DF1E4B798F /* lax_der_privatekey_parsing.h in Headers */, - 1D96448F1FFF0E5449F67332C543EE32 /* libsecp256k1-config.h in Headers */, - BB91D03B628F9A7BAEE9330E7FEE58DB /* main_impl.h in Headers */, - 57A82484117095DCA73446B1E6ECFC32 /* main_impl.h in Headers */, - B375AE4058EC8E7A69B2D448B7F36019 /* num.h in Headers */, - E330D6002B747B8DFE92C9EF6A252AB1 /* num_gmp.h in Headers */, - 40EFCF53AC23E42E8CE500F73237112F /* num_gmp_impl.h in Headers */, - D629596D140514F80B7E96FC37625CAB /* num_impl.h in Headers */, - 0E84110CE577CEBD75E277EA01003F9B /* scalar.h in Headers */, - AC19417412E8F69BD232DB6370BE9AC3 /* scalar_4x64.h in Headers */, - 908767B8A8D3AB83A352870C44DBF7FF /* scalar_4x64_impl.h in Headers */, - ECF5A5E67884B9F6B19675CC43188C04 /* scalar_8x32.h in Headers */, - 768B8E3C8A41ACDBF1607EAD1013301D /* scalar_8x32_impl.h in Headers */, - 080ADA20C98E5C462DA5BC8AB3858320 /* scalar_impl.h in Headers */, - EA7EC84C113B5F75F5D77F792DE3B6ED /* scalar_low.h in Headers */, - 5CA03C34BCCCA0FC29653E6A50C0277C /* scalar_low_impl.h in Headers */, - EC8CEEA1FF4CC7455796055B38C806B8 /* scratch.h in Headers */, - 7F46D5244B59340D5B0A7E454860D689 /* scratch_impl.h in Headers */, - CF2EC01022EDE78D4A2A1EE28519BB24 /* secp256k1.h in Headers */, - BE17E68524E049C26BFA30707DFF6E9E /* secp256k1_ecdh.h in Headers */, - 210E681DBFA8097A999F196A7BF59A6E /* secp256k1_ios-macOS-umbrella.h in Headers */, - A5FF9C090C00EE25B1035F603F1C3558 /* secp256k1_ios.h in Headers */, - 7BA326DD0CB90C3E9B6459E45258514A /* secp256k1_recovery.h in Headers */, - DF927452C685F72071057C8843C01706 /* util.h in Headers */, + F9A83224C63AF5F18AED311461D71668 /* BigInt-iOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3A62C11C69001C7BF554031AE5C3194C /* Headers */ = { + 3F3E31084DE48684219A12D9720C7C84 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - F9A83224C63AF5F18AED311461D71668 /* BigInt-iOS-umbrella.h in Headers */, + D4FBEF46E2616F942B65FF779B374513 /* BigInt-macOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3F3E31084DE48684219A12D9720C7C84 /* Headers */ = { + 5ECD580778CAAFD4B701E7D6ABE86577 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - D4FBEF46E2616F942B65FF779B374513 /* BigInt-macOS-umbrella.h in Headers */, + 105F429373F6706BF003DD2C5E1AA9C6 /* basic-config.h in Headers */, + 3B100200B920BCF7D6974806539B857E /* ecdsa.h in Headers */, + 4C7033236EE3A20A2AAA6B8F51285FA3 /* ecdsa_impl.h in Headers */, + 172EFB075E38CF4867F6A5978709A512 /* eckey.h in Headers */, + 784703A2DB2FA871E907D206577630EC /* eckey_impl.h in Headers */, + ABFA50427C4CC466CBA9B0E7145D83D2 /* ecmult.h in Headers */, + 417A2304F303DED593E55D2CAF337305 /* ecmult_const.h in Headers */, + 372CD468A7496DF050E653C20AB8AC1B /* ecmult_const_impl.h in Headers */, + 2D2FE7ED51FDF3B95792AE43AAA8C9C3 /* ecmult_gen.h in Headers */, + 5B6447E44DCD6DF880956561D716D42E /* ecmult_gen_impl.h in Headers */, + F185E763BAC53270CAE635AB9CBADB37 /* ecmult_impl.h in Headers */, + 0B21F43DA91211F06BA2166391E44172 /* field.h in Headers */, + CDAF5D27B2605E4DA359618DCDF5618B /* field_10x26.h in Headers */, + AF373538A9B5EB2BFD84D0DD002478A1 /* field_10x26_impl.h in Headers */, + 1FCD29F6706433B229F21EA39F8C3597 /* field_5x52.h in Headers */, + 711CA891836C6E9371B8C5DBEDFD346C /* field_5x52_asm_impl.h in Headers */, + 24361E1EC1CCE0031F26E38746EEE1EA /* field_5x52_impl.h in Headers */, + B892841BE90F7FC437B124E45EFA91BC /* field_5x52_int128_impl.h in Headers */, + 3ABE390A4511DB44A24945B088C8E48F /* field_impl.h in Headers */, + 8B10C87FE35BA83424ABBA01D0669FF8 /* group.h in Headers */, + 0A1610D5063DE2AE6FD20FBA35E267E0 /* group_impl.h in Headers */, + 6DEBA1C6CA8D2095A1CCE1A0090E23D5 /* hash.h in Headers */, + C5B7FB9E96E537586482FA629C14406F /* hash_impl.h in Headers */, + 94C3998EDCB3C4B71B110099E7E3E975 /* lax_der_parsing.h in Headers */, + 036E2618599F02C9CB7D022B49CFFA1A /* lax_der_privatekey_parsing.h in Headers */, + 6B815DB2B9AAED0232FEDEC0184C28F1 /* libsecp256k1-config.h in Headers */, + FF200FE02402662078B4D0C3C7AF4CEE /* main_impl.h in Headers */, + 224BCAC718A8A96B1494162E8F1FFA50 /* main_impl.h in Headers */, + F0C24231ACA39257DFE5A318ACC8A896 /* num.h in Headers */, + 98DF8B5D60DAF3B7AC6B1899CCE12A74 /* num_gmp.h in Headers */, + 9EF7B2E48C40E82E7EC0E85F6B0222E8 /* num_gmp_impl.h in Headers */, + E85B97EE8946089E5E8ED93B60847B7A /* num_impl.h in Headers */, + 8ADF39D418D2741819C863545BBED5D6 /* scalar.h in Headers */, + 6DBDEE14D217B557CE2EA3D1BE065D64 /* scalar_4x64.h in Headers */, + A1E48947F828D226B1FF667AFDD0C23A /* scalar_4x64_impl.h in Headers */, + BE0E1C30E47FC6E0A931819265DF6F30 /* scalar_8x32.h in Headers */, + AC9330E734E319351A6F8440BEFFFA1D /* scalar_8x32_impl.h in Headers */, + 9B953A89FD0508E9463F5FE0D9F91D44 /* scalar_impl.h in Headers */, + 5185A27FC19CEB1E69F99F8CE56639A9 /* scalar_low.h in Headers */, + 8EBBD4D88DD8F98CEC0791A902D2438C /* scalar_low_impl.h in Headers */, + 358FB06B0B99F2187EA1658EA97F1020 /* scratch.h in Headers */, + A7799E0318407597777B039DFA8353D2 /* scratch_impl.h in Headers */, + AD14BE19983A139FDFD89FE6E3E68C3E /* secp256k1.h in Headers */, + 4327DB0149A7B915F54982114D289E21 /* secp256k1_ecdh.h in Headers */, + A7A7567A6AB8900623AC752D617FFC9F /* secp256k1_recovery.h in Headers */, + AD2857A3144D7DCCD02D55CE8F6F8AA5 /* secp256k1_swift-iOS-umbrella.h in Headers */, + A33313D130AD8E1D44BD46B119D45186 /* util.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5E46D4F35756A5E79CB8A30F27C708F3 /* Headers */ = { + 6AC43EC948A0FAC9BE645CA2CD5DEC98 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - F8C762D809370D0B01A8BDE46AE1E336 /* AnyPromise.h in Headers */, - ABA18C643B7B9DAE45127BAB6763ED84 /* fwd.h in Headers */, - 90B8891EA1CDC0E2CB923E349FC54D85 /* NSNotificationCenter+AnyPromise.h in Headers */, - 1FC51E63E62DD14E4E0F7422FE40E716 /* NSTask+AnyPromise.h in Headers */, - A6ACACF0C2E9DF22C5477F6FE45DA8FD /* NSURLSession+AnyPromise.h in Headers */, - 79CA11C1BDDC386FF2A4ADBB513892CF /* PMKFoundation.h in Headers */, - 5D44B3C73A389261EB15DCD7849BE6DF /* PMKUIKit.h in Headers */, - 391B4F1D6A8EBFD3317BD7B4637E0B42 /* PromiseKit-umbrella.h in Headers */, - 7727C417D26C1F6EBC5668D0FF7E24BF /* PromiseKit.h in Headers */, - 238EF3B8B56806CC020FF044317E57F2 /* UIView+AnyPromise.h in Headers */, - 339018FACD17608CC28A77397F15523B /* UIViewController+AnyPromise.h in Headers */, + 89B40A1B6B4771D884CC857A62E3E33B /* AnyPromise.h in Headers */, + 41C19BD34A261EF87BC9282C3A634240 /* fwd.h in Headers */, + 1E94C3B3573434FC150CFE79FB8EA24B /* NSNotificationCenter+AnyPromise.h in Headers */, + 627F0BB24DFEFE1C3CCA592AFF4E01EC /* NSTask+AnyPromise.h in Headers */, + BDCD56C5B86F8512F7AB9AB6F5B15475 /* NSURLSession+AnyPromise.h in Headers */, + 23BB4D6CA0785AB14CFA443BBAB22B54 /* PMKFoundation.h in Headers */, + F6D5E2F0DFF915694A71C76154312B42 /* PMKUIKit.h in Headers */, + 4216370E79CC772FC2572BB6143CD8BA /* PromiseKit-umbrella.h in Headers */, + 478D6AC79B09119FD888179B7B3E3948 /* PromiseKit.h in Headers */, + B9058EEEDD24D3D6D7F1F9014827C9CF /* UIView+AnyPromise.h in Headers */, + D5B55C94D365080FC8CBE5B01BEDA5CE /* UIViewController+AnyPromise.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 665D00ED0692844B7722ABA90D8A8B06 /* Headers */ = { + 7477F92785CFE4A257605FF325BEDCA8 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 124C34B2652696617A011E8FECFE0C3B /* Result-macOS-umbrella.h in Headers */, + DF3C881F6AA58663EA27A37DDC93CBD1 /* SipHash-iOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 69CFD1A9D6581A0977AECF719363FF30 /* Headers */ = { + 9607E87258F2BE9B2F545A986B186DCB /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - B70EF82165930092663A4177C5F1FE4F /* basic-config.h in Headers */, - 28C3E22A6B7DDE77EFF9E56199884D40 /* ecdsa.h in Headers */, - 0EC23A496E7520709A8EF71182D4A977 /* ecdsa_impl.h in Headers */, - 044355BCF9A51F03F92DA9A4955EDDF8 /* eckey.h in Headers */, - DB4121B9C2C88108CFD4BF622DD22793 /* eckey_impl.h in Headers */, - DC07B1317F80D339C68CCBF3D31566D9 /* ecmult.h in Headers */, - E900FB2DA6B0F0F63CE82466566FCD68 /* ecmult_const.h in Headers */, - A851E4E866251283BE250466CCA8F05D /* ecmult_const_impl.h in Headers */, - F753E13D3D4A29BF27E48A2303E55253 /* ecmult_gen.h in Headers */, - 78A661EDD584574FE574F9F5442C1D19 /* ecmult_gen_impl.h in Headers */, - F4D1F737295AE1152488E8C62B8B07CC /* ecmult_impl.h in Headers */, - 03DFE13C6697848C21F4EB647BC55AA5 /* field.h in Headers */, - C15CF4CD764C303BB61C1908A5088EB9 /* field_10x26.h in Headers */, - 07DF5F806B224E861175A2B54A157F4E /* field_10x26_impl.h in Headers */, - C223A7A68CC3C3E35C5BAF673FC6422C /* field_5x52.h in Headers */, - 1A931FA6D7623661E6793527D71A4967 /* field_5x52_asm_impl.h in Headers */, - 3B41981C0A080D47C5C9EC0F3FFB7611 /* field_5x52_impl.h in Headers */, - DDA12AF713A1310BDC4A90183CBB1594 /* field_5x52_int128_impl.h in Headers */, - 8A5E008391D8321CFFAF8C16780EFA36 /* field_impl.h in Headers */, - B71596F2C722143ACE243217699C8B26 /* group.h in Headers */, - 3EFA188E4DB94F776E9769B16C85FDD7 /* group_impl.h in Headers */, - 020D14793215AFE896BE555B9C76CBDF /* hash.h in Headers */, - 8838B2C8BD6B40891B3DCF118A17026D /* hash_impl.h in Headers */, - 3A0BDEA886E92E674AB63F02A38A9044 /* lax_der_parsing.h in Headers */, - FA750855C8E963C8BDF3CB98B66F2223 /* lax_der_privatekey_parsing.h in Headers */, - 431B4A873377BAA0B7101CA62F243F69 /* libsecp256k1-config.h in Headers */, - 4A5F92735335EE5F55A619EDD9382812 /* main_impl.h in Headers */, - 70DA4C91DB3C9D2179662801D68386A0 /* main_impl.h in Headers */, - B85578BD6CA740FA275B7FCB49ABCE30 /* num.h in Headers */, - 753EBD02641E8F6F23CAC9B8BE1AB870 /* num_gmp.h in Headers */, - 5378A6D7FB3F30FD0F2D5EBF728C481F /* num_gmp_impl.h in Headers */, - 75DFBA4078AA16B9762F25A2068F8266 /* num_impl.h in Headers */, - 26A36281153F7D8DF3A79BDBA897DF26 /* scalar.h in Headers */, - AEDB6F7FF6DB897F36B275F65C330C41 /* scalar_4x64.h in Headers */, - F1A07A920329A779F5DE4422E744651B /* scalar_4x64_impl.h in Headers */, - 1241921863951D082F323302080CBDFF /* scalar_8x32.h in Headers */, - FE5B85739B771377AF32128CC981B882 /* scalar_8x32_impl.h in Headers */, - 35DAD73CA3D181C3820B7A48AAF6B788 /* scalar_impl.h in Headers */, - A39E98BB6ACEECBAF672A52457035B06 /* scalar_low.h in Headers */, - 3BD9A23A6A10CF688F51418A5C0A926C /* scalar_low_impl.h in Headers */, - 4012B628413F1BB0A86D23CEF67DDB93 /* scratch.h in Headers */, - 63FFA36A34A36A797BEA3D7EDF4CC3C8 /* scratch_impl.h in Headers */, - 43211F1E91C824A5FC64E00B62E5AB95 /* secp256k1.h in Headers */, - 19E005C60300BACBE467130A64746A0F /* secp256k1_ecdh.h in Headers */, - 95532035A7D2C05E9D78194EF284D038 /* secp256k1_ios-iOS-umbrella.h in Headers */, - 1B532920CD5ACB6A6E9B44AD7759774F /* secp256k1_ios.h in Headers */, - 85BE6E38DF5EF78306F1A4AA5D9BDFFA /* secp256k1_recovery.h in Headers */, - 93A04B36AE3206350B85D19862F5F62A /* util.h in Headers */, + 5B412B06CAD963FBFFA763798EEE3AA0 /* basic-config.h in Headers */, + 1D69BB026569911275C713D240084FF2 /* ecdsa.h in Headers */, + 25C0F08157E3C0F2A0E384774F373EE2 /* ecdsa_impl.h in Headers */, + 96126C56ABEF426B0B801431F709443B /* eckey.h in Headers */, + 2175C9F92182A75746B5770B1C01D70C /* eckey_impl.h in Headers */, + 9E16CCBD9A220CE68E8B8BCFC9134C59 /* ecmult.h in Headers */, + D5886DBA5DB05624B7B1DFFD6A99A87D /* ecmult_const.h in Headers */, + 33D8E60E41F6C1C6591FBED80B4A95E4 /* ecmult_const_impl.h in Headers */, + 4500CFBCFC034D43487B312FC5483807 /* ecmult_gen.h in Headers */, + 4F8294D7CD9C06B4BAF8625E87D9D05F /* ecmult_gen_impl.h in Headers */, + 4590A483F08539D557FC4B9123AC3A67 /* ecmult_impl.h in Headers */, + 569DAD122746A7696C6305FDB8B9ADB8 /* field.h in Headers */, + 073B1A00202EE57EB54BE1D3D540C2DF /* field_10x26.h in Headers */, + 78ACD91B0A802FD11D3CB4EC25A78D89 /* field_10x26_impl.h in Headers */, + 4B7495F07A37948723508823C5903A2A /* field_5x52.h in Headers */, + F390BEDEFDEF3DDC2172C32543EDE40B /* field_5x52_asm_impl.h in Headers */, + BB18112CCFC26264B7C0E90AE3432518 /* field_5x52_impl.h in Headers */, + C51722B04CA405219A395C65558614F4 /* field_5x52_int128_impl.h in Headers */, + 51576520F03EFCAB1BA67BEAA79E81B0 /* field_impl.h in Headers */, + 0C97CA12738F0F679E2AA3BD6FD899D3 /* group.h in Headers */, + 497FABADEE00EF124C8DF6366EB5C7A2 /* group_impl.h in Headers */, + FA45DFC8C8AE3AE576A6C13862338138 /* hash.h in Headers */, + B13079439C3B358C138A64E076E53813 /* hash_impl.h in Headers */, + C484B1DBDD48E7821272E79EACF8B2B5 /* lax_der_parsing.h in Headers */, + B6866CBCA4D62537DE060369ACB1B106 /* lax_der_privatekey_parsing.h in Headers */, + CAB0A085900165D03D871E0ECA7CA215 /* libsecp256k1-config.h in Headers */, + B48F3BF9283F0C38B048D3B5E6C7549A /* main_impl.h in Headers */, + D747179D4F9BC0D43E3C479EBA4B07D0 /* main_impl.h in Headers */, + 7BD84093A79722210529995051394BC9 /* num.h in Headers */, + 907425973F15BD66964D73A783E4FD6A /* num_gmp.h in Headers */, + 34FD56F4316A5EEA70A5285A93B5D29E /* num_gmp_impl.h in Headers */, + E592964873DBC39C36DCEDFC2270519A /* num_impl.h in Headers */, + D55038AE9BE8F3B75F916E492CC29A60 /* scalar.h in Headers */, + B77646BAD0129256BF653BDE0C25222B /* scalar_4x64.h in Headers */, + 14DB22276CCD7E7CC84DEAFC67358569 /* scalar_4x64_impl.h in Headers */, + EE9FCCABEB83682D166392D1C12D2BF3 /* scalar_8x32.h in Headers */, + 65736CA32B234972A9DE43C69910B99B /* scalar_8x32_impl.h in Headers */, + D9CA2110C1387E483376CF056337233E /* scalar_impl.h in Headers */, + F226D03CEEB4CA12BF0D0F974840420A /* scalar_low.h in Headers */, + 8D3BA883F8AA3E7565A2AE9D8D533F19 /* scalar_low_impl.h in Headers */, + 5111BFCE88BC6C575354E725D7569A17 /* scratch.h in Headers */, + DE78C90A1789CD75B4B69224EE1C20E1 /* scratch_impl.h in Headers */, + 8BAF1F91DA55BF8A5E86636E90D92F2F /* secp256k1.h in Headers */, + BC1D796F17348CDBE4C46583B92D14C0 /* secp256k1_ecdh.h in Headers */, + BA4F48649886FB0011F6E7F3FBB8C2BB /* secp256k1_recovery.h in Headers */, + CD85BECD50309913F23174338AF0667C /* secp256k1_swift-macOS-umbrella.h in Headers */, + 4BAA131CC4AAC980112DCD779019E1A1 /* util.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7477F92785CFE4A257605FF325BEDCA8 /* Headers */ = { + 9A5A878586015ED235C4295E5F7F3765 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - DF3C881F6AA58663EA27A37DDC93CBD1 /* SipHash-iOS-umbrella.h in Headers */, + 8FFB71FAC919894CCAD2B296EA300E5B /* Cimpl.h in Headers */, + DDBF456D98778034F94E7A216E782CBB /* scrypt-iOS-umbrella.h in Headers */, + 89DAA555D3A3650E7AB8AC4853452716 /* scrypt.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9DBF6F339E3B937E0E0927FF3B30F915 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ECDEF2626BC123966104C5F0B4830936 /* CryptoSwift-iOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 79D359570F325D120B27A1FDC4445D2D /* Headers */ = { + A371BC0D140506C3C0BBCD447234E68E /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - FCCEC31B1FC9971E3DA967E44E81A0D2 /* Pods-web3swift-macOS-umbrella.h in Headers */, + 27FD0E227A0BCFB5C96957DF1D24F65A /* AnyPromise.h in Headers */, + 1E1385AB09686A96B636755A4447933B /* fwd.h in Headers */, + EF7CEA7D43C041C92F385757253FB874 /* NSNotificationCenter+AnyPromise.h in Headers */, + A927C0600827FF278DA9F985A60002E2 /* NSTask+AnyPromise.h in Headers */, + 12DA480A98F43E8D514FD77105246316 /* NSURLSession+AnyPromise.h in Headers */, + 57757EDFE754713488D29934C64FFCFE /* PMKFoundation.h in Headers */, + CCCBD4698FC15086152F56B19ECA7A8D /* PromiseKit.h in Headers */, + 76CE4160292720CFEE6F73DFED4DE333 /* PromiseKit.root-CorePromise-Foundation-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8AE7964BDBCBC7A4B3EF612DBBB01CFB /* Headers */ = { + A84BA0453988997BEFD8DEA9765B62E6 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 42C6DB05A3663AC4AB08317F9287797A /* AnyPromise.h in Headers */, - 6EFDB00864D7D2230D576768C0C445F3 /* fwd.h in Headers */, - 3E5D7D6D073F33181BEE8BBAA47E427E /* NSNotificationCenter+AnyPromise.h in Headers */, - C76A85C8526F33C17488B1ED3E96E2B8 /* NSTask+AnyPromise.h in Headers */, - DDF54071C21579D559BDEE8D08189CF1 /* NSURLSession+AnyPromise.h in Headers */, - 238EF427CBC24F658E1C1FA4E53099CF /* PMKFoundation.h in Headers */, - 78BB8536FFE3547FBB5E621141E01F84 /* PromiseKit.h in Headers */, - 2704B064A229223D40B136571F157C09 /* PromiseKit.root-CorePromise-Foundation-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 943AA5A644F18FA2173F523C21C03661 /* Headers */ = { + A8DE16093534A6F0A340F319169F6F12 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - E620808A6B6483DD90D1DF1DD9F399ED /* Pods-web3swift-iOS-umbrella.h in Headers */, + 9B20EF7C315B4E343F0B79DE78C9E355 /* Cimpl.h in Headers */, + 7273616B7461B7AEBC1EECEB88851187 /* scrypt-macOS-umbrella.h in Headers */, + C19EF72107053AFDFBC57E47EB8050C9 /* scrypt.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9A87699A079E63916F2A22ACA7AE1750 /* Headers */ = { + AB508AB6DA110D8EA9894EB86FDC1501 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 0B9A91423AFC0ACA837C4E56A1AA588A /* Result-iOS-umbrella.h in Headers */, + 1CC09F75AC87A194EBB50A8750BAAE94 /* CryptoSwift-macOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9B8ADFBF36DDF43901B00021F97C7974 /* Headers */ = { + BF5321B397A280212410C83B84C136C1 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 7F20A41D40643A5EE1FB3E64F1BB44BB /* Cimpl.h in Headers */, - 9C93294CF1F7E31E9BCF02381B17FAF5 /* scrypt-iOS-umbrella.h in Headers */, - 1AF1B798714A34D38B61CF7C7B5C185F /* scrypt.h in Headers */, + 31BFC50C75020E436DDA0F9AFA73D067 /* Result-macOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9DBF6F339E3B937E0E0927FF3B30F915 /* Headers */ = { + D88DB71CC260DB80493F932D9E58CA54 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - ECDEF2626BC123966104C5F0B4830936 /* CryptoSwift-iOS-umbrella.h in Headers */, + C0819490E2F049CC22EF3585F49C3F3A /* SwiftRLP-macOS-umbrella.h in Headers */, + FED5D5AE6604A69C4648F5EF206C250B /* SwiftRLP.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - A84BA0453988997BEFD8DEA9765B62E6 /* Headers */ = { + E29620DE5F5BC9B27E091EDD7CFCF1DD /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + D64DA518A10935882F67A35F4EC1E0BD /* SwiftRLP-iOS-umbrella.h in Headers */, + BC710D04EBD70B49A46F4B862BAAB0FF /* SwiftRLP.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - AB508AB6DA110D8EA9894EB86FDC1501 /* Headers */ = { + E890CFA1980C43A46D50F4542FAAE7BC /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 1CC09F75AC87A194EBB50A8750BAAE94 /* CryptoSwift-macOS-umbrella.h in Headers */, + A906E0A776F4CC1306835A29F687E072 /* Pods-web3swift-macOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1830,85 +1934,77 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F91FBA45CAE0B90864200888F8084516 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 2CADC319FC220364D8D53E197C933DF9 /* Result-iOS-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 00370D91F8D61EB1B486DA6056B32406 /* PromiseKit */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8DA93CABD9DFF36F5A035545E1AC0E03 /* Build configuration list for PBXNativeTarget "PromiseKit" */; - buildPhases = ( - 5E46D4F35756A5E79CB8A30F27C708F3 /* Headers */, - D80C4041C26B271E170B58234C893615 /* Sources */, - 3D1B05378F186E57C4B940F71C083C0F /* Frameworks */, - 0F4E0CC32C96C7A7A460459DCA8251FF /* Copy generated compatibility header */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = PromiseKit; - productName = PromiseKit; - productReference = 90CF4F3CD46BB810B73F6BAF362CB47A /* libPromiseKit.a */; - productType = "com.apple.product-type.library.static"; - }; - 07841E92CB371DB60A1803D68D0B6814 /* scrypt-macOS */ = { + 0FEA45E4A3FB35CD13AAE2348DB3359E /* scrypt-macOS */ = { isa = PBXNativeTarget; - buildConfigurationList = F6D85B2AD38EF6575756FBE3C41AB015 /* Build configuration list for PBXNativeTarget "scrypt-macOS" */; + buildConfigurationList = C6C3FEF3DB3E9F8728E424120C1A0F0D /* Build configuration list for PBXNativeTarget "scrypt-macOS" */; buildPhases = ( - 166EE7AF6F05364CA2697906AF0680E0 /* Headers */, - 9C0193415E518EF433A3B1A4FCDE4E6B /* Sources */, - 09DE491DE78FD1264BBEC9257BA992CA /* Frameworks */, - FC9AC9AFB7C70F806B7B55B9BB977647 /* Copy generated compatibility header */, + A8DE16093534A6F0A340F319169F6F12 /* Headers */, + BE8BE6B0DA1BF467D2B6288460FFE2D2 /* Sources */, + 8C5B3C77007E4A6710E826D840A9A9F3 /* Frameworks */, + 77D95416D98B893ED6F91D851144C141 /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( - 67FF4C9DCB52CF3CFBE660AEDAE68250 /* PBXTargetDependency */, + 87F1B30D723909893ED4B83C94656F15 /* PBXTargetDependency */, ); name = "scrypt-macOS"; productName = "scrypt-macOS"; - productReference = 5F98A4FCB73949EC4A239F93A6380393 /* libscrypt-macOS.a */; + productReference = 5362887D119F1FF10889E08C0A86AC77 /* libscrypt-macOS.a */; productType = "com.apple.product-type.library.static"; }; - 242D7A70DFF4194FB7B7DA7C1AA5384E /* Pods-web3swift-iOS */ = { + 2892912E4AE0D2C848DA80F38A3430EF /* Pods-web3swift-iOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 8D2116BED976D0647E98C925B993DA75 /* Build configuration list for PBXNativeTarget "Pods-web3swift-iOS" */; + buildConfigurationList = A4CBD6E90C567ACBD75570719DB45B51 /* Build configuration list for PBXNativeTarget "Pods-web3swift-iOS" */; buildPhases = ( - 943AA5A644F18FA2173F523C21C03661 /* Headers */, - CCAF23F787D092402CD151EAA93D5B5C /* Sources */, - DFD3D3F26A3784A7187AD3360E7D92D4 /* Frameworks */, + 1981098BE859E5C5C86D4B2DB76FCB79 /* Headers */, + 6B494B14C59C4221F3ED47D69E275808 /* Sources */, + C9A84F4AAB9686DF357AEF1364E35684 /* Frameworks */, ); buildRules = ( ); dependencies = ( - 834394455913E11A12A9F5C2EF5A5F10 /* PBXTargetDependency */, - EAE562F38811B30E5C913FF971E5BB27 /* PBXTargetDependency */, - 649D20D00D495E259A0D30506D76DE82 /* PBXTargetDependency */, - 140426BC914635FFEC162F217E6B3F64 /* PBXTargetDependency */, - 126707F583B3918CD963A0D5A26F4850 /* PBXTargetDependency */, - 05CEE04471CEA2C0AA9EA5ADBFFA05E7 /* PBXTargetDependency */, - 2CD29607A14047315C1E5F152086599F /* PBXTargetDependency */, + F7E883C0A0130109CAC9B2F121277455 /* PBXTargetDependency */, + D114C6C7BD73170A69A8A773D9B8C958 /* PBXTargetDependency */, + EEB4F61BD057F839E2C48E58F59F68BA /* PBXTargetDependency */, + 0E9C45A587EE356A1AFB76CFA06A3A1B /* PBXTargetDependency */, + 545A441DCFCEDAFC57A8880D6F3A258B /* PBXTargetDependency */, + FBC886A1348A04B6C34EE2F136A089A8 /* PBXTargetDependency */, + FF861C5299B110723B953D74908F199E /* PBXTargetDependency */, + C5FABAD4CCBCB7C1EF48E4B3573BD61E /* PBXTargetDependency */, ); name = "Pods-web3swift-iOS"; productName = "Pods-web3swift-iOS"; - productReference = CB6A81C2298843C461F65B8D11106F72 /* libPods-web3swift-iOS.a */; + productReference = 47DF102368BCFE57F05C91BED865C127 /* libPods-web3swift-iOS.a */; productType = "com.apple.product-type.library.static"; }; - 2FE2011DA32CEB3AE7A817A294041570 /* secp256k1_ios-iOS */ = { + 321AD436B1B1600006FDA48B769B5215 /* secp256k1_swift-iOS */ = { isa = PBXNativeTarget; - buildConfigurationList = BA7D8C997C878CC9750FD6BEA3F67C1A /* Build configuration list for PBXNativeTarget "secp256k1_ios-iOS" */; + buildConfigurationList = 288F5A4EECE69C1DC4494A2655035DA7 /* Build configuration list for PBXNativeTarget "secp256k1_swift-iOS" */; buildPhases = ( - 69CFD1A9D6581A0977AECF719363FF30 /* Headers */, - E476093B5E955BE3D7129652BCA20AE0 /* Sources */, - 5A5442897A70588AF9565D5F074C6B92 /* Frameworks */, + 5ECD580778CAAFD4B701E7D6ABE86577 /* Headers */, + AE5C44EE6236028D6CCB51608899A34F /* Sources */, + 4E7DEA46EDFAFBE63B1CD6EAFC6C3635 /* Frameworks */, + FFCF2F5B98A7CDB28B45E293903AF1D7 /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( ); - name = "secp256k1_ios-iOS"; - productName = "secp256k1_ios-iOS"; - productReference = C7346693A0E94FF0C860F161CDFCE96E /* libsecp256k1_ios-iOS.a */; + name = "secp256k1_swift-iOS"; + productName = "secp256k1_swift-iOS"; + productReference = A322E379ECBC90322624BA7A69FBBDEE /* libsecp256k1_swift-iOS.a */; productType = "com.apple.product-type.library.static"; }; 3B79F6DB09B597AAE9D3EB939DA463D8 /* SipHash-iOS */ = { @@ -1926,7 +2022,7 @@ ); name = "SipHash-iOS"; productName = "SipHash-iOS"; - productReference = 40D27BDFCD317E69149F3DFAFB7543A9 /* libSipHash-iOS.a */; + productReference = 35FC5E1CB1FA613D068CDE5E32242FEA /* libSipHash-iOS.a */; productType = "com.apple.product-type.library.static"; }; 44D204414133961DD4B492AFB5C4DEEB /* CryptoSwift-iOS */ = { @@ -1944,7 +2040,25 @@ ); name = "CryptoSwift-iOS"; productName = "CryptoSwift-iOS"; - productReference = FC6002A6D434E59E6D00025F21BA36FF /* libCryptoSwift-iOS.a */; + productReference = 686E32EABE020693AEB9B0CBB68DC7AD /* libCryptoSwift-iOS.a */; + productType = "com.apple.product-type.library.static"; + }; + 498B5059F6777D5158A7EE62045BD64E /* secp256k1_swift-macOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4DE4E92544E4D3852787DF5ADA292D66 /* Build configuration list for PBXNativeTarget "secp256k1_swift-macOS" */; + buildPhases = ( + 9607E87258F2BE9B2F545A986B186DCB /* Headers */, + 591DC71F3ADDB8E51AB956C1961BB8E9 /* Sources */, + 8953A204F873D6D4AB03311B82CAF3F9 /* Frameworks */, + D763E7BFA00A8B570DD43729C0BD44C3 /* Copy generated compatibility header */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "secp256k1_swift-macOS"; + productName = "secp256k1_swift-macOS"; + productReference = 61F9B5A069C5D02E065D4AB81C26942D /* libsecp256k1_swift-macOS.a */; productType = "com.apple.product-type.library.static"; }; 4FCBE56BC5E931FDC43C642250037C1F /* SipHash-macOS */ = { @@ -1962,7 +2076,7 @@ ); name = "SipHash-macOS"; productName = "SipHash-macOS"; - productReference = E82F9A99E44E0AB55B16F720C69B947B /* libSipHash-macOS.a */; + productReference = 599066091D94A49D4FE779679AFD88E2 /* libSipHash-macOS.a */; productType = "com.apple.product-type.library.static"; }; 566C98B9528CB1527582959B19D87238 /* Pods-web3swift-iOS_Tests */ = { @@ -1980,26 +2094,25 @@ ); name = "Pods-web3swift-iOS_Tests"; productName = "Pods-web3swift-iOS_Tests"; - productReference = AAF423028DF35854B3087F873B6965E4 /* libPods-web3swift-iOS_Tests.a */; + productReference = BAD613601EE703E9FF05CEC481713273 /* libPods-web3swift-iOS_Tests.a */; productType = "com.apple.product-type.library.static"; }; - 717A6C5D2749A62529F91EEEFE9D7643 /* scrypt-iOS */ = { + 630AEE08CD31743EE32F246198F2C879 /* PromiseKit */ = { isa = PBXNativeTarget; - buildConfigurationList = 6879EDE7D4DD74BDD3333F7F47505BD5 /* Build configuration list for PBXNativeTarget "scrypt-iOS" */; + buildConfigurationList = 8F03B9047707EFF3F60AA966A45C8A4D /* Build configuration list for PBXNativeTarget "PromiseKit" */; buildPhases = ( - 9B8ADFBF36DDF43901B00021F97C7974 /* Headers */, - 0C069A9FAFD02DC541C70A3173F230BF /* Sources */, - 8FE71F0EE76E21DDDA7CA1709FAF6FC0 /* Frameworks */, - FEE9CE25BE3B98ABF4820134949C8129 /* Copy generated compatibility header */, + 6AC43EC948A0FAC9BE645CA2CD5DEC98 /* Headers */, + 069A396A87E9DFA61B3D746948C21D80 /* Sources */, + 061F0F73B4A7C0BAB618CCF28AB43EED /* Frameworks */, + A606E4482D3A10C9199F501DE300C580 /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( - 0E4E263CA37EF8F23D5A920BD9850809 /* PBXTargetDependency */, ); - name = "scrypt-iOS"; - productName = "scrypt-iOS"; - productReference = 2B80D3AA1BDBB1E0CF52567C4F9FB777 /* libscrypt-iOS.a */; + name = PromiseKit; + productName = PromiseKit; + productReference = 755201B560E952C6A5333642B028695A /* libPromiseKit.a */; productType = "com.apple.product-type.library.static"; }; 7ED7E08B2BE4D50AC5F7E73B32DD2203 /* Pods-web3swift-macOS_Tests */ = { @@ -2017,30 +2130,12 @@ ); name = "Pods-web3swift-macOS_Tests"; productName = "Pods-web3swift-macOS_Tests"; - productReference = 4530120DD6B0DBFF5F660844F8E1C873 /* libPods-web3swift-macOS_Tests.a */; + productReference = 27042DAC0089FE05944B8718DE760F71 /* libPods-web3swift-macOS_Tests.a */; productType = "com.apple.product-type.library.static"; }; - 8FBD6D69D989701B31E1FE3221BEE90E /* PromiseKit.root-CorePromise-Foundation */ = { + 9646F4C6B5DB5298F5EEE5871120A244 /* BigInt-macOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 90AA254D9E86CD85BB781ED544A9AD4D /* Build configuration list for PBXNativeTarget "PromiseKit.root-CorePromise-Foundation" */; - buildPhases = ( - 8AE7964BDBCBC7A4B3EF612DBBB01CFB /* Headers */, - 522D955B2AE41A55E3997790054B5A45 /* Sources */, - 56EC7C06C400F808A27DE468D01518F4 /* Frameworks */, - A9726B7B90A669FBDD968B4924FF4AAA /* Copy generated compatibility header */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "PromiseKit.root-CorePromise-Foundation"; - productName = "PromiseKit.root-CorePromise-Foundation"; - productReference = EC305FA12BE030117A6E97568345036C /* libPromiseKit.root-CorePromise-Foundation.a */; - productType = "com.apple.product-type.library.static"; - }; - 9646F4C6B5DB5298F5EEE5871120A244 /* BigInt-macOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = A1A3D7F09A5AFD2BD4DA3D3CDACBBCFC /* Build configuration list for PBXNativeTarget "BigInt-macOS" */; + buildConfigurationList = A1A3D7F09A5AFD2BD4DA3D3CDACBBCFC /* Build configuration list for PBXNativeTarget "BigInt-macOS" */; buildPhases = ( 3F3E31084DE48684219A12D9720C7C84 /* Headers */, 58FA6C50C3E2C937C3793F316EDB34B2 /* Sources */, @@ -2054,7 +2149,7 @@ ); name = "BigInt-macOS"; productName = "BigInt-macOS"; - productReference = DB87E523FFE6DE6B135FDDCF9D25E434 /* libBigInt-macOS.a */; + productReference = D40BD5126F631E22619456FA8B7796CD /* libBigInt-macOS.a */; productType = "com.apple.product-type.library.static"; }; AF9F48E6961507C0E2FD7A3CDBC652DA /* BigInt-iOS */ = { @@ -2073,17 +2168,17 @@ ); name = "BigInt-iOS"; productName = "BigInt-iOS"; - productReference = 878207B522C3B5C4C78ECAC3AA87663A /* libBigInt-iOS.a */; + productReference = A3BCB7E3971A174E47D70212430A170B /* libBigInt-iOS.a */; productType = "com.apple.product-type.library.static"; }; - B4C770D41049AF2A6AAF1D99D0B08152 /* Result-iOS */ = { + B15A271BA5831BBA626B2A8FEE864C9E /* Result-iOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 7E6FEF7BE12C0B86CC254EF55EDD9699 /* Build configuration list for PBXNativeTarget "Result-iOS" */; + buildConfigurationList = 9F771DCE26E84668F2CA6B9E87224F88 /* Build configuration list for PBXNativeTarget "Result-iOS" */; buildPhases = ( - 9A87699A079E63916F2A22ACA7AE1750 /* Headers */, - 3182A9C8AF2293F468CC2FF1757CED05 /* Sources */, - 99245CA93B0B66E3E442328913763B1A /* Frameworks */, - 44F4CE8355F5D5F1F809089CCBBEBF00 /* Copy generated compatibility header */, + F91FBA45CAE0B90864200888F8084516 /* Headers */, + 97393369835E668457D42683CB3D37E8 /* Sources */, + 70C1112079F88597259241434EA48AF3 /* Frameworks */, + CF48FB28322C0B97DB10FA906EF46EEB /* Copy generated compatibility header */, ); buildRules = ( ); @@ -2091,31 +2186,26 @@ ); name = "Result-iOS"; productName = "Result-iOS"; - productReference = F7709F12D0210A64607C215D35A245CF /* libResult-iOS.a */; + productReference = 5A6CB64CE9F57BAAAAF807DF850E2C0A /* libResult-iOS.a */; productType = "com.apple.product-type.library.static"; }; - BB68F9B80C22C74C528A2A837F77C592 /* Pods-web3swift-macOS */ = { + B6DAA867681209B8BCC71EE70D0654A0 /* scrypt-iOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 541A64F9C81EF0A1C40F5895519E4172 /* Build configuration list for PBXNativeTarget "Pods-web3swift-macOS" */; + buildConfigurationList = 7605C90CA002CA15242C3D87F18484A2 /* Build configuration list for PBXNativeTarget "scrypt-iOS" */; buildPhases = ( - 79D359570F325D120B27A1FDC4445D2D /* Headers */, - 0E2DE75CA9DD04C7B35FDB79FE0F1D28 /* Sources */, - 8CD8D230EB8814297B6D198DC2F9CEF3 /* Frameworks */, + 9A5A878586015ED235C4295E5F7F3765 /* Headers */, + 625DCE12F33E67472BE981CF2C3D8D59 /* Sources */, + 6254566B8B2CAF2B5CD7A1BC7EFE00D8 /* Frameworks */, + D2A9FA1CF30E66466D424F322696A570 /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( - 1FF54C81F8FD2950BADB45C07E63D89A /* PBXTargetDependency */, - 544287E2F8F078FB4A38791D9BCF1BFD /* PBXTargetDependency */, - C0581AD28B4F57A0CC472A099A5887FC /* PBXTargetDependency */, - 0E0F7E3E7B487768E44D9E33B43B5ED8 /* PBXTargetDependency */, - 52C2527A7F646C87C9D482AC95F732B8 /* PBXTargetDependency */, - B8DAD04D999708156ACCC4354565CBE5 /* PBXTargetDependency */, - 5A6CD68FDC0875A4FFDC427E943CA6A9 /* PBXTargetDependency */, + DEDAE6E0420F0B6226E38A36E27FCA91 /* PBXTargetDependency */, ); - name = "Pods-web3swift-macOS"; - productName = "Pods-web3swift-macOS"; - productReference = 3DE45F74327BBE43455BF3A326A48B73 /* libPods-web3swift-macOS.a */; + name = "scrypt-iOS"; + productName = "scrypt-iOS"; + productReference = A14282AE6AF7AD75A532A9639BE44B88 /* libscrypt-iOS.a */; productType = "com.apple.product-type.library.static"; }; D618CA243075F5EB0C89F808DD7756D8 /* CryptoSwift-macOS */ = { @@ -2133,17 +2223,36 @@ ); name = "CryptoSwift-macOS"; productName = "CryptoSwift-macOS"; - productReference = 399DA5BA0438EA58494518BA41744529 /* libCryptoSwift-macOS.a */; + productReference = E931DAD7852F3C297E4BB3A0A4928BCB /* libCryptoSwift-macOS.a */; productType = "com.apple.product-type.library.static"; }; - D65B13BFF251965985F677C194C0CACF /* Result-macOS */ = { + DA0577AD76B443C71930FAC764E972C5 /* SwiftRLP-iOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 29A07133D1A6CF7B1FA82AE653B63864 /* Build configuration list for PBXNativeTarget "Result-macOS" */; + buildConfigurationList = 6C6D2DEE61A644A6598FBEDB9971FD63 /* Build configuration list for PBXNativeTarget "SwiftRLP-iOS" */; buildPhases = ( - 665D00ED0692844B7722ABA90D8A8B06 /* Headers */, - 4C1088002A6FF3F086E8E58ADDF1F74D /* Sources */, - 40DD1B03E763E4FDAA4225CBEF1F6F0D /* Frameworks */, - ABFDEA8D4FCA18AA0E7368D10BDD3E65 /* Copy generated compatibility header */, + E29620DE5F5BC9B27E091EDD7CFCF1DD /* Headers */, + BDE8FF8430801826F2311E4A726D6AA2 /* Sources */, + 677BBE6ACD652CB4EE4E00DD6589A287 /* Frameworks */, + E16B0ADF0D4859AC7B9E5B25D1D99737 /* Copy generated compatibility header */, + ); + buildRules = ( + ); + dependencies = ( + E79CE6FB4D42E5E11A7F83044F9DDE2A /* PBXTargetDependency */, + ); + name = "SwiftRLP-iOS"; + productName = "SwiftRLP-iOS"; + productReference = EAE702C1BF30A6CA8F718732EC9270FF /* libSwiftRLP-iOS.a */; + productType = "com.apple.product-type.library.static"; + }; + F2C23507954E7580FFDC3A161C6AB0E4 /* Result-macOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = C6A6186E7DE2AF444E2D9AE0184A0479 /* Build configuration list for PBXNativeTarget "Result-macOS" */; + buildPhases = ( + BF5321B397A280212410C83B84C136C1 /* Headers */, + 3FF5076712D3DA34C798CD9D101B4F40 /* Sources */, + EAF36CFF054C71E816A6740B45DABA2D /* Frameworks */, + 6C5742B45D7CF2819D971BBDF4E63642 /* Copy generated compatibility header */, ); buildRules = ( ); @@ -2151,24 +2260,69 @@ ); name = "Result-macOS"; productName = "Result-macOS"; - productReference = AF807959CD9376AAE20892C1143FF9E6 /* libResult-macOS.a */; + productReference = 6F662C5CB3F9F55D1B8343627F3108A8 /* libResult-macOS.a */; + productType = "com.apple.product-type.library.static"; + }; + F4EB0AFAA3A292F355BF33F9614E125E /* PromiseKit.root-CorePromise-Foundation */ = { + isa = PBXNativeTarget; + buildConfigurationList = B3BABA326F05564F9B29C631D85A02A9 /* Build configuration list for PBXNativeTarget "PromiseKit.root-CorePromise-Foundation" */; + buildPhases = ( + A371BC0D140506C3C0BBCD447234E68E /* Headers */, + 6636BC235F98E7D2EBDF592BD5B5FFBE /* Sources */, + D8EAD2ED245F44C0D223758BC854E517 /* Frameworks */, + 3273D99866B079DA9C80FD4FC0CC368F /* Copy generated compatibility header */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "PromiseKit.root-CorePromise-Foundation"; + productName = "PromiseKit.root-CorePromise-Foundation"; + productReference = DB805D8CD6E362AD3B2474D5C6D7EA6E /* libPromiseKit.root-CorePromise-Foundation.a */; + productType = "com.apple.product-type.library.static"; + }; + F884BDAA9A34F06758B9377C5C3DE88F /* Pods-web3swift-macOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 7AF19CA86BE1CDF981AE337B179CC0BF /* Build configuration list for PBXNativeTarget "Pods-web3swift-macOS" */; + buildPhases = ( + E890CFA1980C43A46D50F4542FAAE7BC /* Headers */, + C4A012A57A14E671D4C1D570BDB15BA0 /* Sources */, + 05A70FBCB8915FD658E02DE77827E7FA /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + B70AFA61252EF7C185E0A83F61E40089 /* PBXTargetDependency */, + 5D5FB078761B0BDFAFD58A94FA1E2357 /* PBXTargetDependency */, + F9D4CA180533C7D2D10B0309068C01EB /* PBXTargetDependency */, + 809C4E986CB3B9FC9CB2BC9B6C1EB391 /* PBXTargetDependency */, + DF6D85572A877D19DAFFC67DF1D180D9 /* PBXTargetDependency */, + 61A0C7C5A71562D5B7E98B968E20DA69 /* PBXTargetDependency */, + 9D7AAC3DD6D3C5FF1FA407E4509B529D /* PBXTargetDependency */, + B9E11C250C8CF155875A0B2FB480E6BA /* PBXTargetDependency */, + ); + name = "Pods-web3swift-macOS"; + productName = "Pods-web3swift-macOS"; + productReference = 6190C35184D36B3997B74374A1DEB870 /* libPods-web3swift-macOS.a */; productType = "com.apple.product-type.library.static"; }; - FC621AC7D03DDE6D391CACBAF8CA054E /* secp256k1_ios-macOS */ = { + FE616C0F8645852E1A582197DFC35CD4 /* SwiftRLP-macOS */ = { isa = PBXNativeTarget; - buildConfigurationList = A262B3F49AC1A14340997F3AF65BDBA1 /* Build configuration list for PBXNativeTarget "secp256k1_ios-macOS" */; + buildConfigurationList = 2D5D9861222B1B7C6B2D720C3CE966C3 /* Build configuration list for PBXNativeTarget "SwiftRLP-macOS" */; buildPhases = ( - 396B4A343071334BC45008A7FAC4B955 /* Headers */, - 7FB44C8474D69BEA439A6C65C134B696 /* Sources */, - 8EF117E6BAF80E40D3FB557C6FE57900 /* Frameworks */, + D88DB71CC260DB80493F932D9E58CA54 /* Headers */, + F8DF2C603FEBDA8D9954844AE56388A4 /* Sources */, + 5673E920CAB46CF5F49271F4E543C37A /* Frameworks */, + E2304C105AC85C1CACA27F85C07B7F16 /* Copy generated compatibility header */, ); buildRules = ( ); dependencies = ( + AE1F2CE326361908A43EB02F0B9812CB /* PBXTargetDependency */, ); - name = "secp256k1_ios-macOS"; - productName = "secp256k1_ios-macOS"; - productReference = 52755885B4D2951532D257A2FEF6BCCF /* libsecp256k1_ios-macOS.a */; + name = "SwiftRLP-macOS"; + productName = "SwiftRLP-macOS"; + productReference = 547AA2E9890A83EE986E0FE6B230D1E8 /* libSwiftRLP-macOS.a */; productType = "com.apple.product-type.library.static"; }; /* End PBXNativeTarget section */ @@ -2188,7 +2342,7 @@ en, ); mainGroup = 7DB346D0F39D3F0E887471402A8071AB; - productRefGroup = 16ABC4753B5234DBE5986A3C5545CD07 /* Products */; + productRefGroup = 083C1381B3CFEF7D89B7A4A992CA51B1 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( @@ -2196,26 +2350,28 @@ 9646F4C6B5DB5298F5EEE5871120A244 /* BigInt-macOS */, 44D204414133961DD4B492AFB5C4DEEB /* CryptoSwift-iOS */, D618CA243075F5EB0C89F808DD7756D8 /* CryptoSwift-macOS */, - 242D7A70DFF4194FB7B7DA7C1AA5384E /* Pods-web3swift-iOS */, + 2892912E4AE0D2C848DA80F38A3430EF /* Pods-web3swift-iOS */, 566C98B9528CB1527582959B19D87238 /* Pods-web3swift-iOS_Tests */, - BB68F9B80C22C74C528A2A837F77C592 /* Pods-web3swift-macOS */, + F884BDAA9A34F06758B9377C5C3DE88F /* Pods-web3swift-macOS */, 7ED7E08B2BE4D50AC5F7E73B32DD2203 /* Pods-web3swift-macOS_Tests */, - 00370D91F8D61EB1B486DA6056B32406 /* PromiseKit */, - 8FBD6D69D989701B31E1FE3221BEE90E /* PromiseKit.root-CorePromise-Foundation */, - B4C770D41049AF2A6AAF1D99D0B08152 /* Result-iOS */, - D65B13BFF251965985F677C194C0CACF /* Result-macOS */, - 717A6C5D2749A62529F91EEEFE9D7643 /* scrypt-iOS */, - 07841E92CB371DB60A1803D68D0B6814 /* scrypt-macOS */, - 2FE2011DA32CEB3AE7A817A294041570 /* secp256k1_ios-iOS */, - FC621AC7D03DDE6D391CACBAF8CA054E /* secp256k1_ios-macOS */, + 630AEE08CD31743EE32F246198F2C879 /* PromiseKit */, + F4EB0AFAA3A292F355BF33F9614E125E /* PromiseKit.root-CorePromise-Foundation */, + B15A271BA5831BBA626B2A8FEE864C9E /* Result-iOS */, + F2C23507954E7580FFDC3A161C6AB0E4 /* Result-macOS */, + B6DAA867681209B8BCC71EE70D0654A0 /* scrypt-iOS */, + 0FEA45E4A3FB35CD13AAE2348DB3359E /* scrypt-macOS */, + 321AD436B1B1600006FDA48B769B5215 /* secp256k1_swift-iOS */, + 498B5059F6777D5158A7EE62045BD64E /* secp256k1_swift-macOS */, 3B79F6DB09B597AAE9D3EB939DA463D8 /* SipHash-iOS */, 4FCBE56BC5E931FDC43C642250037C1F /* SipHash-macOS */, + DA0577AD76B443C71930FAC764E972C5 /* SwiftRLP-iOS */, + FE616C0F8645852E1A582197DFC35CD4 /* SwiftRLP-macOS */, ); }; /* End PBXProject section */ /* Begin PBXShellScriptBuildPhase section */ - 0F4E0CC32C96C7A7A460459DCA8251FF /* Copy generated compatibility header */ = { + 1B2679AE7A95EBF0FDDB427B7725D76B /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2224,23 +2380,23 @@ ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.modulemap", - "${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit-umbrella.h", + "${PODS_ROOT}/Headers/Public/SipHash/SipHash-macOS.modulemap", + "${PODS_ROOT}/Headers/Public/SipHash/SipHash-macOS-umbrella.h", ); name = "Copy generated compatibility header"; outputFileListPaths = ( ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/PromiseKit-umbrella.h", + "${BUILT_PRODUCTS_DIR}/SipHash-macOS-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SipHash/SipHash-macOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SipHash/SipHash-macOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - 1B2679AE7A95EBF0FDDB427B7725D76B /* Copy generated compatibility header */ = { + 3273D99866B079DA9C80FD4FC0CC368F /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2249,23 +2405,23 @@ ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/SipHash/SipHash-macOS.modulemap", - "${PODS_ROOT}/Headers/Public/SipHash/SipHash-macOS-umbrella.h", + "${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap", + "${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h", ); name = "Copy generated compatibility header"; outputFileListPaths = ( ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/SipHash-macOS-umbrella.h", + "${BUILT_PRODUCTS_DIR}/PromiseKit.root-CorePromise-Foundation-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SipHash/SipHash-macOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SipHash/SipHash-macOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - 44F4CE8355F5D5F1F809089CCBBEBF00 /* Copy generated compatibility header */ = { + 48CAA26C5BA7CC4886CFBB5FF41C3C8C /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2274,23 +2430,23 @@ ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/Result/Result-iOS.modulemap", - "${PODS_ROOT}/Headers/Public/Result/Result-iOS-umbrella.h", + "${PODS_ROOT}/Headers/Public/BigInt/BigInt-iOS.modulemap", + "${PODS_ROOT}/Headers/Public/BigInt/BigInt-iOS-umbrella.h", ); name = "Copy generated compatibility header"; outputFileListPaths = ( ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/Result-iOS-umbrella.h", + "${BUILT_PRODUCTS_DIR}/BigInt-iOS-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result-iOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result-iOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt-iOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt-iOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - 48CAA26C5BA7CC4886CFBB5FF41C3C8C /* Copy generated compatibility header */ = { + 59E67DE7F5E16FDFFC57A4EC1FD8581D /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2299,23 +2455,23 @@ ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/BigInt/BigInt-iOS.modulemap", - "${PODS_ROOT}/Headers/Public/BigInt/BigInt-iOS-umbrella.h", + "${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap", + "${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h", ); name = "Copy generated compatibility header"; outputFileListPaths = ( ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/BigInt-iOS-umbrella.h", + "${BUILT_PRODUCTS_DIR}/CryptoSwift-macOS-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt-iOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt-iOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - 59E67DE7F5E16FDFFC57A4EC1FD8581D /* Copy generated compatibility header */ = { + 6C5742B45D7CF2819D971BBDF4E63642 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2324,20 +2480,20 @@ ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap", - "${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h", + "${PODS_ROOT}/Headers/Public/Result/Result-macOS.modulemap", + "${PODS_ROOT}/Headers/Public/Result/Result-macOS-umbrella.h", ); name = "Copy generated compatibility header"; outputFileListPaths = ( ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/CryptoSwift-macOS-umbrella.h", + "${BUILT_PRODUCTS_DIR}/Result-macOS-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-macOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result-macOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result-macOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; 755BFC4B404D1BFF99616B0008872FF1 /* Copy generated compatibility header */ = { @@ -2365,7 +2521,7 @@ shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt-macOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/BigInt/BigInt-macOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - A9726B7B90A669FBDD968B4924FF4AAA /* Copy generated compatibility header */ = { + 77D95416D98B893ED6F91D851144C141 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2374,20 +2530,45 @@ ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap", - "${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h", + "${PODS_ROOT}/Headers/Public/scrypt/scrypt-macOS.modulemap", + "${PODS_ROOT}/Headers/Public/scrypt/scrypt-macOS-umbrella.h", ); name = "Copy generated compatibility header"; outputFileListPaths = ( ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/PromiseKit.root-CorePromise-Foundation-umbrella.h", + "${BUILT_PRODUCTS_DIR}/scrypt-macOS-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt-macOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt-macOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + showEnvVarsInLog = 1; + }; + A606E4482D3A10C9199F501DE300C580 /* Copy generated compatibility header */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", + "${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.modulemap", + "${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit-umbrella.h", + ); + name = "Copy generated compatibility header"; + outputFileListPaths = ( + ); + outputPaths = ( + "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", + "${BUILT_PRODUCTS_DIR}/PromiseKit-umbrella.h", + "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/PromiseKit/PromiseKit-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; ABE5E8CE69A961334EF804948F80AE71 /* Copy generated compatibility header */ = { @@ -2415,7 +2596,7 @@ shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-iOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/CryptoSwift/CryptoSwift-iOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - ABFDEA8D4FCA18AA0E7368D10BDD3E65 /* Copy generated compatibility header */ = { + CF48FB28322C0B97DB10FA906EF46EEB /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2424,23 +2605,23 @@ ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/Result/Result-macOS.modulemap", - "${PODS_ROOT}/Headers/Public/Result/Result-macOS-umbrella.h", + "${PODS_ROOT}/Headers/Public/Result/Result-iOS.modulemap", + "${PODS_ROOT}/Headers/Public/Result/Result-iOS-umbrella.h", ); name = "Copy generated compatibility header"; outputFileListPaths = ( ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/Result-macOS-umbrella.h", + "${BUILT_PRODUCTS_DIR}/Result-iOS-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result-macOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result-macOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result-iOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/Result/Result-iOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - EDC821DB128FBEFA92BC6BC351D2709A /* Copy generated compatibility header */ = { + D2A9FA1CF30E66466D424F322696A570 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2449,23 +2630,23 @@ ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/SipHash/SipHash-iOS.modulemap", - "${PODS_ROOT}/Headers/Public/SipHash/SipHash-iOS-umbrella.h", + "${PODS_ROOT}/Headers/Public/scrypt/scrypt-iOS.modulemap", + "${PODS_ROOT}/Headers/Public/scrypt/scrypt-iOS-umbrella.h", ); name = "Copy generated compatibility header"; outputFileListPaths = ( ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/SipHash-iOS-umbrella.h", + "${BUILT_PRODUCTS_DIR}/scrypt-iOS-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SipHash/SipHash-iOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SipHash/SipHash-iOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt-iOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt-iOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - FC9AC9AFB7C70F806B7B55B9BB977647 /* Copy generated compatibility header */ = { + D763E7BFA00A8B570DD43729C0BD44C3 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2474,23 +2655,23 @@ ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/scrypt/scrypt-macOS.modulemap", - "${PODS_ROOT}/Headers/Public/scrypt/scrypt-macOS-umbrella.h", + "${PODS_ROOT}/Headers/Public/secp256k1_swift/secp256k1_swift-macOS.modulemap", + "${PODS_ROOT}/Headers/Public/secp256k1_swift/secp256k1_swift-macOS-umbrella.h", ); name = "Copy generated compatibility header"; outputFileListPaths = ( ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/scrypt-macOS-umbrella.h", + "${BUILT_PRODUCTS_DIR}/secp256k1_swift-macOS-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt-macOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt-macOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/secp256k1_swift/secp256k1_swift-macOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/secp256k1_swift/secp256k1_swift-macOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; - FEE9CE25BE3B98ABF4820134949C8129 /* Copy generated compatibility header */ = { + E16B0ADF0D4859AC7B9E5B25D1D99737 /* Copy generated compatibility header */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -2499,42 +2680,140 @@ ); inputPaths = ( "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", - "${PODS_ROOT}/Headers/Public/scrypt/scrypt-iOS.modulemap", - "${PODS_ROOT}/Headers/Public/scrypt/scrypt-iOS-umbrella.h", + "${PODS_ROOT}/Headers/Public/SwiftRLP/SwiftRLP-iOS.modulemap", + "${PODS_ROOT}/Headers/Public/SwiftRLP/SwiftRLP-iOS-umbrella.h", ); name = "Copy generated compatibility header"; outputFileListPaths = ( ); outputPaths = ( "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", - "${BUILT_PRODUCTS_DIR}/scrypt-iOS-umbrella.h", + "${BUILT_PRODUCTS_DIR}/SwiftRLP-iOS-umbrella.h", "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt-iOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/scrypt/scrypt-iOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SwiftRLP/SwiftRLP-iOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SwiftRLP/SwiftRLP-iOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; showEnvVarsInLog = 1; }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 0C069A9FAFD02DC541C70A3173F230BF /* Sources */ = { - isa = PBXSourcesBuildPhase; + E2304C105AC85C1CACA27F85C07B7F16 /* Copy generated compatibility header */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", + "${PODS_ROOT}/Headers/Public/SwiftRLP/SwiftRLP-macOS.modulemap", + "${PODS_ROOT}/Headers/Public/SwiftRLP/SwiftRLP-macOS-umbrella.h", + ); + name = "Copy generated compatibility header"; + outputFileListPaths = ( + ); + outputPaths = ( + "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", + "${BUILT_PRODUCTS_DIR}/SwiftRLP-macOS-umbrella.h", + "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SwiftRLP/SwiftRLP-macOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SwiftRLP/SwiftRLP-macOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + showEnvVarsInLog = 1; + }; + EDC821DB128FBEFA92BC6BC351D2709A /* Copy generated compatibility header */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", + "${PODS_ROOT}/Headers/Public/SipHash/SipHash-iOS.modulemap", + "${PODS_ROOT}/Headers/Public/SipHash/SipHash-iOS-umbrella.h", + ); + name = "Copy generated compatibility header"; + outputFileListPaths = ( + ); + outputPaths = ( + "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", + "${BUILT_PRODUCTS_DIR}/SipHash-iOS-umbrella.h", + "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SipHash/SipHash-iOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/SipHash/SipHash-iOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + showEnvVarsInLog = 1; + }; + FFCF2F5B98A7CDB28B45E293903AF1D7 /* Copy generated compatibility header */ = { + isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( - F0072E292EA165864D21EA126253FD4D /* BufferStorage.swift in Sources */, - A19A5C73B405B96CE009AA14C54C9455 /* Cimpl.c in Sources */, - 9ECA90F3DC3F75B1A6491658418173EC /* Salsa.swift in Sources */, - 50FF7D4212CB39686DFD6FEAA3C5FEC1 /* scrypt-iOS-dummy.m in Sources */, - F420C3B6A5179B3A3AE6CA1661AC1D09 /* Scrypt.swift in Sources */, + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h", + "${PODS_ROOT}/Headers/Public/secp256k1_swift/secp256k1_swift-iOS.modulemap", + "${PODS_ROOT}/Headers/Public/secp256k1_swift/secp256k1_swift-iOS-umbrella.h", + ); + name = "Copy generated compatibility header"; + outputFileListPaths = ( + ); + outputPaths = ( + "${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap", + "${BUILT_PRODUCTS_DIR}/secp256k1_swift-iOS-umbrella.h", + "${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h", ); runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\nMODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\nditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/secp256k1_swift/secp256k1_swift-iOS.modulemap\" \"${MODULE_MAP_PATH}\"\nditto \"${PODS_ROOT}/Headers/Public/secp256k1_swift/secp256k1_swift-iOS-umbrella.h\" \"${BUILT_PRODUCTS_DIR}\"\nprintf \"\\n\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\n header \\\"${COMPATIBILITY_HEADER_PATH}\\\"\\n requires objc\\n}\\n\" >> \"${MODULE_MAP_PATH}\"\n"; + showEnvVarsInLog = 1; }; - 0E2DE75CA9DD04C7B35FDB79FE0F1D28 /* Sources */ = { +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 069A396A87E9DFA61B3D746948C21D80 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1E5F1CD6111EA4A4CFC001236E4F2447 /* Pods-web3swift-macOS-dummy.m in Sources */, + 901FC638FD04ABBF641B1BA5289E58B9 /* after.m in Sources */, + 6545F866110FD71A8A7F08C98248F17F /* after.swift in Sources */, + 8EE3016E16955D33E67D3A4B526B80B7 /* afterlife.swift in Sources */, + 965128CD152E182D548D25166A7A0ABC /* AnyPromise.m in Sources */, + 77066675DD2B31CAF9BBE16B8F3B4FE2 /* AnyPromise.swift in Sources */, + 0EA8DA962874703B604E7D0C284F64F1 /* Box.swift in Sources */, + 82C1C3566A5D5A6395F0CC63E2E63881 /* Catchable.swift in Sources */, + 8CCA031DBFC561C2BDB4295AFFE02DCB /* Configuration.swift in Sources */, + DF3B173C9C0BFFBAF20FE89888175135 /* CustomStringConvertible.swift in Sources */, + AF81FA4A9B502AA954430195C09DA953 /* Deprecations.swift in Sources */, + 83CD3302FE915E10B107859386387F32 /* dispatch_promise.m in Sources */, + 209D55736C84A40D70E5CEE59018C4BA /* Error.swift in Sources */, + C3054C3388C651BBCCC0D4D6D37F7584 /* firstly.swift in Sources */, + F3A6143F497A16DA1DE0AAC5CD02AA57 /* Guarantee.swift in Sources */, + C35DA33EC52454F06E06F298C92250B8 /* hang.m in Sources */, + 6939FF91657C15B585F34286B8D8BF16 /* hang.swift in Sources */, + 007D8C70EA5C374EEFC5A7638DDC710B /* join.m in Sources */, + D9D190B6E0F591841C1B0AC1B8D0C34A /* NSNotificationCenter+AnyPromise.m in Sources */, + 1D23298D0D9B4910ADE40DE633078E52 /* NSNotificationCenter+Promise.swift in Sources */, + EE3D4BE0F36CB8F41C228439719EEAC4 /* NSObject+Promise.swift in Sources */, + 2EA3D0F6274B79F77FBD6D089B7067E3 /* NSTask+AnyPromise.m in Sources */, + 2C3A50BE13F80D74D2E8E3B3E6F503A5 /* NSURLSession+AnyPromise.m in Sources */, + 478E26D3AF13111498519DCF04DF90F4 /* NSURLSession+Promise.swift in Sources */, + 02CF85F0BB6137CFF5890DC9EF981267 /* Process+Promise.swift in Sources */, + 1CDB406411B86AC9E8D84DAB2C97DD36 /* Promise.swift in Sources */, + 31F0E9474F7FBB1C97F5EF570A5C681A /* PromiseKit-dummy.m in Sources */, + 6D2056001A236820F8015BA4A79E161E /* race.m in Sources */, + D94FB219CAD3190A91BCEADD16209ED7 /* race.swift in Sources */, + ADA008B926487DB6CF8A658A3F3DF11F /* Resolver.swift in Sources */, + CAB604DC70B6DAD2C4FE1DED7CC67135 /* Thenable.swift in Sources */, + F98604F0CA9C69371A5FE5D65C6E5466 /* UIView+AnyPromise.m in Sources */, + A4342DE847A35E8E98BAAEE729A3FB15 /* UIView+Promise.swift in Sources */, + 4C0745766AD773551AD2F67D8A583AE5 /* UIViewController+AnyPromise.m in Sources */, + D8AEF9279CF6C8CD2D5F716BFAEAC80A /* UIViewPropertyAnimator+Promise.swift in Sources */, + 517719A8F7EBDD02A80FC21F1246D335 /* when.m in Sources */, + D96D172BB1AA748152BA2F82BC6A6B2D /* when.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2568,66 +2847,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3182A9C8AF2293F468CC2FF1757CED05 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 9EBA376F929F46495FD004AC09201059 /* AnyError.swift in Sources */, - 3E08A96B92AD3C76A8C13B5444DDB23B /* NoError.swift in Sources */, - F40D5648952C6403898BBA6EBDA00BE3 /* Result-iOS-dummy.m in Sources */, - E5F6F258065CC6C97832138F09AAE49B /* Result.swift in Sources */, - 2C9D9A8F2D6CC312D0001D0BB11DEC71 /* ResultProtocol.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4C1088002A6FF3F086E8E58ADDF1F74D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 30A46D981AF2AC75EDB85CC3C5C7FAF2 /* AnyError.swift in Sources */, - DB5D77CB1116685129F0E9DFC9AC9779 /* NoError.swift in Sources */, - B15B604450291A246C8420194AFF4B2C /* Result-macOS-dummy.m in Sources */, - 4ABE0DFEC60E5ADE9205151D88B2F08B /* Result.swift in Sources */, - 68F0D885CE489382878D120C3BA4B7A8 /* ResultProtocol.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 522D955B2AE41A55E3997790054B5A45 /* Sources */ = { + 3FF5076712D3DA34C798CD9D101B4F40 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 4262E028B1F9886FD1163C16D5E39C88 /* after.m in Sources */, - 2E9282AB77EBAEE8B8BA2BAADF6E533E /* after.swift in Sources */, - 172F8A31708E2C427BF616D9B2E5A52F /* afterlife.swift in Sources */, - 78CF0243E783BB84E94C69AEE8CB1E8F /* AnyPromise.m in Sources */, - AA3403E09DAD47A2C9FCE81A9AB40EA5 /* AnyPromise.swift in Sources */, - DFD70F894CFF9B61FF717C1443E95601 /* Box.swift in Sources */, - 53FBBFD161D6A1C13A33616571645C5E /* Catchable.swift in Sources */, - 9EB99B74724DF089F8A67DB78DC042F4 /* Configuration.swift in Sources */, - DBCADB8931FC3A1305E622FCD41DBB71 /* CustomStringConvertible.swift in Sources */, - F66269854D86921BE970C5FF6C20CC51 /* Deprecations.swift in Sources */, - 216E8A7C42E0512734DBAA38BD573262 /* dispatch_promise.m in Sources */, - D2CE75EC329AAE7EE0E4BAA7458EF9D5 /* Error.swift in Sources */, - 244E287BB7934E5AB37BB61D5C587814 /* firstly.swift in Sources */, - 733ACA74E73BC9EA955F347A731DBB5F /* Guarantee.swift in Sources */, - B6047589B7129612A0BD9070C008FF3E /* hang.m in Sources */, - 31200E73742F8C75471A9E1E934AFD6C /* hang.swift in Sources */, - D69EB24A00A90DE5EB08D773551E36A6 /* join.m in Sources */, - FDB43EA5FEFA9BC5B4ED67591C4D6958 /* NSNotificationCenter+AnyPromise.m in Sources */, - FA13F504AF0E2A1B5540B69241BDA525 /* NSNotificationCenter+Promise.swift in Sources */, - 7314A1C475E3E135C16C733C84508F1D /* NSObject+Promise.swift in Sources */, - 1DD88ADB2458E38D5106042F0B958DFA /* NSTask+AnyPromise.m in Sources */, - 22D8DF4F46BDC2292C1AE9B4AC3717DC /* NSURLSession+AnyPromise.m in Sources */, - 736BB84780916C964F46C4B77671A1AF /* NSURLSession+Promise.swift in Sources */, - D91F249AD8EFADBBF3CA1C4F3F1EC689 /* Process+Promise.swift in Sources */, - 5C173DF75AE4F4E54EB9DD7D68D44568 /* Promise.swift in Sources */, - DC21D5B2B6EB7B15B0BBCEB3836868C4 /* PromiseKit.root-CorePromise-Foundation-dummy.m in Sources */, - E7CD62024C5874B3F67B266815D7CAC4 /* race.m in Sources */, - 4562B917950C9F7E1CE07191DFDA096D /* race.swift in Sources */, - 67722A22A203CDADAD4B402AED93007B /* Resolver.swift in Sources */, - E4693B68EB480BAA15C7AEFEF584ABEC /* Thenable.swift in Sources */, - B7D7CA91C141C38015B1148059914F81 /* when.m in Sources */, - 29A615F1F902BA0EEE2F11FCE2784435 /* when.swift in Sources */, + 55AD64D3F27943249ED212756122D497 /* AnyError.swift in Sources */, + 1C12A92A45B56442DF1BF2D3108BD0D6 /* NoError.swift in Sources */, + 238296CA2E8752527657C31802220A24 /* Result-macOS-dummy.m in Sources */, + DE187779397F69A993589FE1F1590714 /* Result.swift in Sources */, + 60CD9DF68A22619B2F816E8B1F8DA33A /* ResultProtocol.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2661,6 +2889,69 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 591DC71F3ADDB8E51AB956C1961BB8E9 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 7DD60FE1FB24311F3522B19B09E05CBF /* lax_der_parsing.c in Sources */, + 80D571EE008AE23D0AFAC92B6A98204D /* lax_der_privatekey_parsing.c in Sources */, + 14C6C90D414DDF5959AAD6D49D4BBD77 /* secp256k1.c in Sources */, + 670A949462535EF03D2A9B910CEB4E48 /* secp256k1.swift in Sources */, + 8A8FAE273220A2C885FE8C452D175166 /* secp256k1_swift-macOS-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 625DCE12F33E67472BE981CF2C3D8D59 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 24DA9F0423F82C80205C93EEF0CFF381 /* BufferStorage.swift in Sources */, + 186AD9B44240324FF4C4DBF0A8AC935F /* Cimpl.c in Sources */, + FCD2D464E35870B3F06993770117959D /* Salsa.swift in Sources */, + 9CDABEBBD7BF0889FF7DD3E739FD6B40 /* scrypt-iOS-dummy.m in Sources */, + AE8E41C185BA7C46465657E84B66F196 /* Scrypt.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6636BC235F98E7D2EBDF592BD5B5FFBE /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FE141380D52E6EA72571C40A8DB494D0 /* after.m in Sources */, + 00F9F735E6AEACB1D79CC24FE2570030 /* after.swift in Sources */, + 221D9234B8A18F610B920F836A7855AB /* afterlife.swift in Sources */, + CD4F83E8BF753B40698A55CA22BB0CF1 /* AnyPromise.m in Sources */, + 160B4BF9DB9EB617E146CC2E9C883C7E /* AnyPromise.swift in Sources */, + BE2237E0E9E26533C1E860FD41CF5FB9 /* Box.swift in Sources */, + A940EEBB23376DBCC59DC570DA702353 /* Catchable.swift in Sources */, + 563E37F7F956CED55AC3793CD37445D3 /* Configuration.swift in Sources */, + E70A831423370AD1CF91BAC1373D3527 /* CustomStringConvertible.swift in Sources */, + 65693FDA33760BA50D20F6D0989BA8E7 /* Deprecations.swift in Sources */, + 33194D0CBC51F3CF9555DC514AA2E059 /* dispatch_promise.m in Sources */, + 3368BFCA6F37472A3F80E757FDFA5EC6 /* Error.swift in Sources */, + 47AE4F4F59DE9319CA4537E806A378A1 /* firstly.swift in Sources */, + 53B8C2D24E27198BE0F12E576F7989F9 /* Guarantee.swift in Sources */, + FAEE1A63513F87D185820EEEF7DB9506 /* hang.m in Sources */, + C66FC8C1B1997579D636D39C9BF09BD5 /* hang.swift in Sources */, + 23B9A85EF3D0D9FE26611DBA312205BF /* join.m in Sources */, + 98AE081420DDB94A9A72C9DE3CEEDB81 /* NSNotificationCenter+AnyPromise.m in Sources */, + 6AD0531529517B7D53FB216B173CB4D7 /* NSNotificationCenter+Promise.swift in Sources */, + 2EB46ECD84B1069C5D85756E35BE3A86 /* NSObject+Promise.swift in Sources */, + F31F62CD0FEA355203A5C5750FC421F7 /* NSTask+AnyPromise.m in Sources */, + 42200366754CDC163F24C7657A6E5426 /* NSURLSession+AnyPromise.m in Sources */, + BEDC52E4027F817E284B2DD842BFB332 /* NSURLSession+Promise.swift in Sources */, + B99E4D246BF638E9C0E6DB9216909970 /* Process+Promise.swift in Sources */, + 4356FFA7A939D1F7937A48DA948D1F4E /* Promise.swift in Sources */, + 76CD5AD83B4FB7CB8D690BBB0E6BF0CA /* PromiseKit.root-CorePromise-Foundation-dummy.m in Sources */, + 1229DEE3B9CC3F49645AF6530096597C /* race.m in Sources */, + A67CFB75EC62364579FB9EB448C61786 /* race.swift in Sources */, + 1F22A4026D790826AA156354694CBCC5 /* Resolver.swift in Sources */, + 58A0398843A05951A20C16C736C2F649 /* Thenable.swift in Sources */, + 539700CDAD65FF7CAC666B4C99261E10 /* when.m in Sources */, + 7D9DC2803DA6CE9DE07A6C18AF52AFA7 /* when.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 6950A9AD0D066BC48BB15390EA10BE78 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -2673,6 +2964,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 6B494B14C59C4221F3ED47D69E275808 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F2242C49CF793215836DA2FE29E8C1E1 /* Pods-web3swift-iOS-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 6F5CC9B499993EA733C785A3803C553D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -2772,18 +3071,7 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 7FB44C8474D69BEA439A6C65C134B696 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - AC7E09D1F43A94AEC729A8D8486B85CE /* lax_der_parsing.c in Sources */, - 4E4F07B24DAB1E29AC81AD866A43C376 /* lax_der_privatekey_parsing.c in Sources */, - 1666B20DE9E0ABBBCF96F4DDD5B281F8 /* secp256k1.c in Sources */, - C8727CBC2DF558D6A8432C374FC6C20D /* secp256k1_ios-macOS-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 91476055BF4E2BE94112B26E7386F137 /* Sources */ = { + 91476055BF4E2BE94112B26E7386F137 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -2862,15 +3150,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 9C0193415E518EF433A3B1A4FCDE4E6B /* Sources */ = { + 97393369835E668457D42683CB3D37E8 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BF6A2DC96F54CE8B73454C8C2C00381B /* BufferStorage.swift in Sources */, - E54F41039B5C497AEE8D9A2305063624 /* Cimpl.c in Sources */, - 76C870EB2A458DD871074597EBF85551 /* Salsa.swift in Sources */, - 3076C2BFCE18E87E466B62F19D59F57E /* scrypt-macOS-dummy.m in Sources */, - B5F389D0404F3ADA27EF686F42722D5B /* Scrypt.swift in Sources */, + 05923951C32119A5CA2E4CE5B75CEFBE /* AnyError.swift in Sources */, + FAD5FD40317211B25BC1F3BAEBFEE6BA /* NoError.swift in Sources */, + 62B6EEB28406C9D6FE3A1A146083280A /* Result-iOS-dummy.m in Sources */, + 14CE101A185E7F4C98959036549EEAD6 /* Result.swift in Sources */, + 767EBDFEBC77EC1421A3916FBB13E219 /* ResultProtocol.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2882,106 +3170,64 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - CCAF23F787D092402CD151EAA93D5B5C /* Sources */ = { + AE5C44EE6236028D6CCB51608899A34F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3C8A0D6B372B675A5996296B62C25692 /* lax_der_parsing.c in Sources */, + 5C7BE1B24A19199F514AC8688FFF4306 /* lax_der_privatekey_parsing.c in Sources */, + D4124EDD949269E344DC2B3A307C708E /* secp256k1.c in Sources */, + B69E3F26EF82B14F2BBFCC991285A2FD /* secp256k1.swift in Sources */, + 73240BD69BCC26DFFDF04AA384B93E62 /* secp256k1_swift-iOS-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + BDE8FF8430801826F2311E4A726D6AA2 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - F7FEDCC800360A1311C42EFE80CD207D /* Pods-web3swift-iOS-dummy.m in Sources */, + 01383C5F2BD3FBB6187DA01215BCB2FA /* RLP.swift in Sources */, + 7FE6B8EA18532E50F15E7BF3D013B092 /* SwiftRLP-iOS-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - D80C4041C26B271E170B58234C893615 /* Sources */ = { + BE8BE6B0DA1BF467D2B6288460FFE2D2 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5518BD53D7F73216E2695680ACBAC221 /* after.m in Sources */, - D01DA48DF6AD0E0C496D261444C43E30 /* after.swift in Sources */, - 52FB4B4296FA803827D3F78B1EA7FF8C /* afterlife.swift in Sources */, - 6CE3E12734602C2051BDEA332E5F55CD /* AnyPromise.m in Sources */, - D1D91F664C539CED69E0706FD9D008DC /* AnyPromise.swift in Sources */, - F1B591E730508664D1D744A9B5356027 /* Box.swift in Sources */, - C81D77ED3B884C5F8FF333D7E73D2760 /* Catchable.swift in Sources */, - CA4AF1EA89A313035FBCF8BAF73AE5E3 /* Configuration.swift in Sources */, - F6ABB13AD16C583ED44B0635C22C5B1D /* CustomStringConvertible.swift in Sources */, - C0E38CC3E9A47DD76092CA50CEEEAE12 /* Deprecations.swift in Sources */, - 9AF4F6F40F110FAFE3BAC951C7099D74 /* dispatch_promise.m in Sources */, - 039A85C483D812BBB34BCD2AB2A5790B /* Error.swift in Sources */, - 51CAAE01BFF59F085BC9B34842E3C7C2 /* firstly.swift in Sources */, - 3A7D4D17062363D0D7DE5405827EB6D1 /* Guarantee.swift in Sources */, - ECFCD95180C3DD7095902786BB56299A /* hang.m in Sources */, - 4D424F348E7A03D67FCBFD968F07E772 /* hang.swift in Sources */, - 619A7209AF68E44B937A8C030287B0CA /* join.m in Sources */, - 6FD417369E56DA302F107E9478D4A735 /* NSNotificationCenter+AnyPromise.m in Sources */, - E04BBE8E404D1CC27E4D74B8894479BD /* NSNotificationCenter+Promise.swift in Sources */, - 4394019D91B5D15A9BB24CE7CA201410 /* NSObject+Promise.swift in Sources */, - C4A91D774EFB424EF2F25970BBE498E2 /* NSTask+AnyPromise.m in Sources */, - 051E39EF701E24AC7E524C9D82A28215 /* NSURLSession+AnyPromise.m in Sources */, - 8F6828B66EC68D2878CEACC7D234DCED /* NSURLSession+Promise.swift in Sources */, - 11C9F315CE87BFD09E465ADE9C355473 /* Process+Promise.swift in Sources */, - 6DBF333CC01A4E9765AFF12263B05CF3 /* Promise.swift in Sources */, - E4DFF19D9D0DCD7944CCDD5E7D49E700 /* PromiseKit-dummy.m in Sources */, - 6B050CF87A4AF6792BB270FFBD764A76 /* race.m in Sources */, - D14E4A8C8AC8ADE305245866F1521E24 /* race.swift in Sources */, - 5B58F3471510812FD864BF21791F7497 /* Resolver.swift in Sources */, - 0CE27E8F6A719CE5E0889EB78FF28719 /* Thenable.swift in Sources */, - 192BA88956DA574C01410D937DFF5098 /* UIView+AnyPromise.m in Sources */, - 8BB491EE5C33542F02AAC503E876F8D9 /* UIView+Promise.swift in Sources */, - FBB8E2DFA421E54A1F954651D46E3E87 /* UIViewController+AnyPromise.m in Sources */, - C7546B1AF7022FE1D1D4E974A890D03F /* UIViewPropertyAnimator+Promise.swift in Sources */, - 08EE8946F9CB7AA37352C46DA4BD75EE /* when.m in Sources */, - AB34427D03874A67ED273F44E27CAFEB /* when.swift in Sources */, + 1B1A69F5303E8DD6740A8234E719F76A /* BufferStorage.swift in Sources */, + 4F5E15E5AA1C78F5B4AA3588A8CE4C19 /* Cimpl.c in Sources */, + 678ACAE3280725570F9C7FC768578757 /* Salsa.swift in Sources */, + 20B709359C09D72B58E11D9B585EBF36 /* scrypt-macOS-dummy.m in Sources */, + 68536A3B8BA467CBE4D92F13DDB5D5A3 /* Scrypt.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E476093B5E955BE3D7129652BCA20AE0 /* Sources */ = { + C4A012A57A14E671D4C1D570BDB15BA0 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - FBFE167922921EA3CB8BBE48F6FA3B54 /* lax_der_parsing.c in Sources */, - BCDE72CE8069BF09131F983ACA411B8B /* lax_der_privatekey_parsing.c in Sources */, - 3F78D2AC31E0DF3F1BF6300484D449AB /* secp256k1.c in Sources */, - A2B27FA4D25CFCC93C70B9BB5A5963C6 /* secp256k1_ios-iOS-dummy.m in Sources */, + 18657716987587225DBC37ABB461F275 /* Pods-web3swift-macOS-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F8DF2C603FEBDA8D9954844AE56388A4 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FF74BC55A69429C29500972AF8A9DABB /* RLP.swift in Sources */, + 2618ECD8B43241610183A733721C0AE7 /* SwiftRLP-macOS-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 05CEE04471CEA2C0AA9EA5ADBFFA05E7 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "scrypt-iOS"; - target = 717A6C5D2749A62529F91EEEFE9D7643 /* scrypt-iOS */; - targetProxy = 81037EBC9BCDC28E563456BF47C1D46D /* PBXContainerItemProxy */; - }; - 0E0F7E3E7B487768E44D9E33B43B5ED8 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Result-macOS"; - target = D65B13BFF251965985F677C194C0CACF /* Result-macOS */; - targetProxy = 19F025DD3200B2D8AC85DD306F3C8D6B /* PBXContainerItemProxy */; - }; - 0E4E263CA37EF8F23D5A920BD9850809 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "CryptoSwift-iOS"; - target = 44D204414133961DD4B492AFB5C4DEEB /* CryptoSwift-iOS */; - targetProxy = C753A37721FD85DCC8725FC13D90D8F4 /* PBXContainerItemProxy */; - }; - 126707F583B3918CD963A0D5A26F4850 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "SipHash-iOS"; - target = 3B79F6DB09B597AAE9D3EB939DA463D8 /* SipHash-iOS */; - targetProxy = D9B409BD1965CD2C916FF3BD0529876F /* PBXContainerItemProxy */; - }; - 140426BC914635FFEC162F217E6B3F64 /* PBXTargetDependency */ = { + 0E9C45A587EE356A1AFB76CFA06A3A1B /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "Result-iOS"; - target = B4C770D41049AF2A6AAF1D99D0B08152 /* Result-iOS */; - targetProxy = 95EBCBEDA8C09F798A8B0AAC2A665789 /* PBXContainerItemProxy */; - }; - 1FF54C81F8FD2950BADB45C07E63D89A /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "BigInt-macOS"; - target = 9646F4C6B5DB5298F5EEE5871120A244 /* BigInt-macOS */; - targetProxy = CCD1E562EFB874B8CB4B33E000B51CD1 /* PBXContainerItemProxy */; + target = B15A271BA5831BBA626B2A8FEE864C9E /* Result-iOS */; + targetProxy = E602EC1A33624D8E13D2528B9A6E9267 /* PBXContainerItemProxy */; }; 2A5B940C38D42B8D734A160124EFFE9A /* PBXTargetDependency */ = { isa = PBXTargetDependency; @@ -2989,59 +3235,65 @@ target = 3B79F6DB09B597AAE9D3EB939DA463D8 /* SipHash-iOS */; targetProxy = AC378E3E20AF5D424B6D68F67641CFC3 /* PBXContainerItemProxy */; }; - 2CD29607A14047315C1E5F152086599F /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "secp256k1_ios-iOS"; - target = 2FE2011DA32CEB3AE7A817A294041570 /* secp256k1_ios-iOS */; - targetProxy = 2D3F534715B6632C78072C8E5A65094A /* PBXContainerItemProxy */; - }; - 52C2527A7F646C87C9D482AC95F732B8 /* PBXTargetDependency */ = { + 545A441DCFCEDAFC57A8880D6F3A258B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "SipHash-macOS"; - target = 4FCBE56BC5E931FDC43C642250037C1F /* SipHash-macOS */; - targetProxy = 8D768A75D7573C48BBDD539DEABB31A6 /* PBXContainerItemProxy */; + name = "SipHash-iOS"; + target = 3B79F6DB09B597AAE9D3EB939DA463D8 /* SipHash-iOS */; + targetProxy = EEE3CE0ACD2A096CC7970CBFFB63CC5E /* PBXContainerItemProxy */; }; - 544287E2F8F078FB4A38791D9BCF1BFD /* PBXTargetDependency */ = { + 5D5FB078761B0BDFAFD58A94FA1E2357 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "CryptoSwift-macOS"; target = D618CA243075F5EB0C89F808DD7756D8 /* CryptoSwift-macOS */; - targetProxy = 2A0AAC3DD9D962F949F31A5F7F0B5C5F /* PBXContainerItemProxy */; + targetProxy = 81302A5702FAB5179E00059495C674D0 /* PBXContainerItemProxy */; }; - 5A6CD68FDC0875A4FFDC427E943CA6A9 /* PBXTargetDependency */ = { + 61A0C7C5A71562D5B7E98B968E20DA69 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "secp256k1_ios-macOS"; - target = FC621AC7D03DDE6D391CACBAF8CA054E /* secp256k1_ios-macOS */; - targetProxy = DD5F2527D82313507186DCCDB7B6F674 /* PBXContainerItemProxy */; + name = "SwiftRLP-macOS"; + target = FE616C0F8645852E1A582197DFC35CD4 /* SwiftRLP-macOS */; + targetProxy = 8043A6EE1F8EBE657783820C64B4ECF0 /* PBXContainerItemProxy */; }; - 649D20D00D495E259A0D30506D76DE82 /* PBXTargetDependency */ = { + 809C4E986CB3B9FC9CB2BC9B6C1EB391 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = PromiseKit; - target = 00370D91F8D61EB1B486DA6056B32406 /* PromiseKit */; - targetProxy = 767E586CEA5CAB20EBE1EA7AB3631553 /* PBXContainerItemProxy */; + name = "Result-macOS"; + target = F2C23507954E7580FFDC3A161C6AB0E4 /* Result-macOS */; + targetProxy = 67FA85B98174E1654BF1E1ECAC76CB7F /* PBXContainerItemProxy */; }; - 67FF4C9DCB52CF3CFBE660AEDAE68250 /* PBXTargetDependency */ = { + 87F1B30D723909893ED4B83C94656F15 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "CryptoSwift-macOS"; target = D618CA243075F5EB0C89F808DD7756D8 /* CryptoSwift-macOS */; - targetProxy = 2B81E6E650C41CBF19C97FE801FA1BA7 /* PBXContainerItemProxy */; + targetProxy = 19D7329A8315B85B58C8441C1899A592 /* PBXContainerItemProxy */; }; - 834394455913E11A12A9F5C2EF5A5F10 /* PBXTargetDependency */ = { + 9D7AAC3DD6D3C5FF1FA407E4509B529D /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "BigInt-iOS"; - target = AF9F48E6961507C0E2FD7A3CDBC652DA /* BigInt-iOS */; - targetProxy = 85EC6E047CB93E2443B62439D51DBE4F /* PBXContainerItemProxy */; + name = "scrypt-macOS"; + target = 0FEA45E4A3FB35CD13AAE2348DB3359E /* scrypt-macOS */; + targetProxy = B6AAE8A429B44CC4133143E68DD626FE /* PBXContainerItemProxy */; }; - B8DAD04D999708156ACCC4354565CBE5 /* PBXTargetDependency */ = { + AE1F2CE326361908A43EB02F0B9812CB /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "scrypt-macOS"; - target = 07841E92CB371DB60A1803D68D0B6814 /* scrypt-macOS */; - targetProxy = 17B4A9AEA97AD7E79C58E8433B39E08E /* PBXContainerItemProxy */; + name = "BigInt-macOS"; + target = 9646F4C6B5DB5298F5EEE5871120A244 /* BigInt-macOS */; + targetProxy = 1F3EEADE6537E330C7A04D4BC33EB5C7 /* PBXContainerItemProxy */; }; - C0581AD28B4F57A0CC472A099A5887FC /* PBXTargetDependency */ = { + B70AFA61252EF7C185E0A83F61E40089 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "PromiseKit.root-CorePromise-Foundation"; - target = 8FBD6D69D989701B31E1FE3221BEE90E /* PromiseKit.root-CorePromise-Foundation */; - targetProxy = 781352D1D58C89F6D17164C60C65F70B /* PBXContainerItemProxy */; + name = "BigInt-macOS"; + target = 9646F4C6B5DB5298F5EEE5871120A244 /* BigInt-macOS */; + targetProxy = 35923DBC7D43F34B3882ED3F64D560CA /* PBXContainerItemProxy */; + }; + B9E11C250C8CF155875A0B2FB480E6BA /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "secp256k1_swift-macOS"; + target = 498B5059F6777D5158A7EE62045BD64E /* secp256k1_swift-macOS */; + targetProxy = 2B3213357F1CA1AD9298A10F444D0951 /* PBXContainerItemProxy */; + }; + C5FABAD4CCBCB7C1EF48E4B3573BD61E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "secp256k1_swift-iOS"; + target = 321AD436B1B1600006FDA48B769B5215 /* secp256k1_swift-iOS */; + targetProxy = E4816D843489A71F2F868B80C5ED2F48 /* PBXContainerItemProxy */; }; C6D935F507D2100088E917501A5BB59D /* PBXTargetDependency */ = { isa = PBXTargetDependency; @@ -3049,99 +3301,148 @@ target = 4FCBE56BC5E931FDC43C642250037C1F /* SipHash-macOS */; targetProxy = 284C9AFC38A225A506CB24973AEFB321 /* PBXContainerItemProxy */; }; + D114C6C7BD73170A69A8A773D9B8C958 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "CryptoSwift-iOS"; + target = 44D204414133961DD4B492AFB5C4DEEB /* CryptoSwift-iOS */; + targetProxy = F964FFD61B8A7C737D6CF0B4A6FCDE08 /* PBXContainerItemProxy */; + }; DA81B8EC030393B0ADEBDB02050FCFCB /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "Pods-web3swift-macOS"; - target = BB68F9B80C22C74C528A2A837F77C592 /* Pods-web3swift-macOS */; + target = F884BDAA9A34F06758B9377C5C3DE88F /* Pods-web3swift-macOS */; targetProxy = 1E5017C3A1512E67B0318DD1DACDE515 /* PBXContainerItemProxy */; }; - EAE562F38811B30E5C913FF971E5BB27 /* PBXTargetDependency */ = { + DEDAE6E0420F0B6226E38A36E27FCA91 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "CryptoSwift-iOS"; target = 44D204414133961DD4B492AFB5C4DEEB /* CryptoSwift-iOS */; - targetProxy = 5C4F2ED3F13D3478905D555D2B67CD1E /* PBXContainerItemProxy */; + targetProxy = 9F4F45405FD6C2C0442CDE492FDB5FB9 /* PBXContainerItemProxy */; + }; + DF6D85572A877D19DAFFC67DF1D180D9 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "SipHash-macOS"; + target = 4FCBE56BC5E931FDC43C642250037C1F /* SipHash-macOS */; + targetProxy = EF2E9952249FA32D778E1825EE332999 /* PBXContainerItemProxy */; + }; + E79CE6FB4D42E5E11A7F83044F9DDE2A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "BigInt-iOS"; + target = AF9F48E6961507C0E2FD7A3CDBC652DA /* BigInt-iOS */; + targetProxy = 51A46AB20A7BD61878D970BEEA7A6BD1 /* PBXContainerItemProxy */; + }; + EEB4F61BD057F839E2C48E58F59F68BA /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = PromiseKit; + target = 630AEE08CD31743EE32F246198F2C879 /* PromiseKit */; + targetProxy = 71982CBFBFF1DE0F242D9C483783D66C /* PBXContainerItemProxy */; }; F3DDE7BB170DA1519FDDE4BA03AB73FA /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "Pods-web3swift-iOS"; - target = 242D7A70DFF4194FB7B7DA7C1AA5384E /* Pods-web3swift-iOS */; + target = 2892912E4AE0D2C848DA80F38A3430EF /* Pods-web3swift-iOS */; targetProxy = 366CCE30759EB3C0FF8E45BE9572B007 /* PBXContainerItemProxy */; }; + F7E883C0A0130109CAC9B2F121277455 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "BigInt-iOS"; + target = AF9F48E6961507C0E2FD7A3CDBC652DA /* BigInt-iOS */; + targetProxy = 1E0A3209CEDE9B1B33C44AC5926A66C5 /* PBXContainerItemProxy */; + }; + F9D4CA180533C7D2D10B0309068C01EB /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "PromiseKit.root-CorePromise-Foundation"; + target = F4EB0AFAA3A292F355BF33F9614E125E /* PromiseKit.root-CorePromise-Foundation */; + targetProxy = DA69FF9DA2BAA16B70B3669FF391FD00 /* PBXContainerItemProxy */; + }; + FBC886A1348A04B6C34EE2F136A089A8 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "SwiftRLP-iOS"; + target = DA0577AD76B443C71930FAC764E972C5 /* SwiftRLP-iOS */; + targetProxy = 5571BEC206C1D03111C6EF3E6C7CED63 /* PBXContainerItemProxy */; + }; + FF861C5299B110723B953D74908F199E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "scrypt-iOS"; + target = B6DAA867681209B8BCC71EE70D0654A0 /* scrypt-iOS */; + targetProxy = 830B40C3043F87BD797252E75F83EC21 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 10094E4712902F615969B9C3AD86AA9A /* Release */ = { + 1A2FBFC123A5062B1AFCD1139F813593 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 125189558361630DF92C53413530E3E9 /* secp256k1_ios-iOS.xcconfig */; + baseConfigurationReference = 1C8F00AC871FE0EC2FBD9A40F62753CD /* Pods-web3swift-macOS.debug.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = "Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap"; + EXECUTABLE_PREFIX = lib; + MACH_O_TYPE = staticlib; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MODULEMAP_FILE = "Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = secp256k1_ios; - PRODUCT_NAME = "secp256k1_ios-iOS"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = macosx; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; - name = Release; + name = Debug; }; - 1F132949D546EF7F3FEDAF289A9CCECF /* Release */ = { + 1BCC5A8658E49455E4C0CED34AC9A204 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 534009974277EC43330183E1CF3A73A3 /* CryptoSwift-macOS.xcconfig */; + baseConfigurationReference = 52DC772E67709ACAE0A2731E36A63DC0 /* secp256k1_swift-macOS.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Headers/Public/secp256k1_swift/secp256k1_swift-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = CryptoSwift; - PRODUCT_NAME = "CryptoSwift-macOS"; + PRODUCT_MODULE_NAME = secp256k1_swift; + PRODUCT_NAME = "secp256k1_swift-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.2; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; }; - name = Release; + name = Debug; }; - 22828402F006586F2011758B9199E3F7 /* Release */ = { + 1CFA5364A5C0CACA2DADD1EA40940890 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2452C598AA33B18F81F1D5FE847DF8C7 /* Result-macOS.xcconfig */; + baseConfigurationReference = 52DC772E67709ACAE0A2731E36A63DC0 /* secp256k1_swift-macOS.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/Result-macOS/Result-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/Result/Result-macOS.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Headers/Public/secp256k1_swift/secp256k1_swift-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Result; - PRODUCT_NAME = "Result-macOS"; + PRODUCT_MODULE_NAME = secp256k1_swift; + PRODUCT_NAME = "secp256k1_swift-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; @@ -3152,73 +3453,78 @@ }; name = Release; }; - 25479A05EC723879F7D0842978AC42B6 /* Debug */ = { + 1E97B1AEB07F9403EB119768EEC01515 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E0002BF7495DF77615C17C435108BAC4 /* scrypt-iOS.xcconfig */; + baseConfigurationReference = 168126FF7C51CFAB97039CE513235D26 /* SwiftRLP-macOS.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/scrypt-iOS/scrypt-iOS-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = "Headers/Public/scrypt/scrypt-iOS.modulemap"; + EXECUTABLE_PREFIX = lib; + GCC_PREFIX_HEADER = "Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MODULEMAP_FILE = "Headers/Public/SwiftRLP/SwiftRLP-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = scrypt; - PRODUCT_NAME = "scrypt-iOS"; + PRODUCT_MODULE_NAME = SwiftRLP; + PRODUCT_NAME = "SwiftRLP-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; + SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.1; - TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; - 29F4C48EAEC88A7864CDB6C4FE628440 /* Debug */ = { + 1F132949D546EF7F3FEDAF289A9CCECF /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 125189558361630DF92C53413530E3E9 /* secp256k1_ios-iOS.xcconfig */; + baseConfigurationReference = 2863AEE30806CB2030DDC59D25CF1C36 /* CryptoSwift-macOS.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = "Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap"; + EXECUTABLE_PREFIX = lib; + GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift-macOS/CryptoSwift-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MODULEMAP_FILE = "Headers/Public/CryptoSwift/CryptoSwift-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = secp256k1_ios; - PRODUCT_NAME = "secp256k1_ios-iOS"; + PRODUCT_MODULE_NAME = CryptoSwift; + PRODUCT_NAME = "CryptoSwift-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; + SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.2; }; - name = Debug; + name = Release; }; - 3A0E8B9AEE3FB2C2FF6480F0457CB4ED /* Debug */ = { + 3C9131BF8D77FFD3F3302CC9B5C5B5E6 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 95E6916802B9A0D029D336A91E220830 /* Result-iOS.xcconfig */; + baseConfigurationReference = 5E7DBCA26552356539B821BC83348925 /* BigInt-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Result-iOS/Result-iOS-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/BigInt-iOS/BigInt-iOS-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = "Headers/Public/Result/Result-iOS.modulemap"; + MODULEMAP_FILE = "Headers/Public/BigInt/BigInt-iOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Result; - PRODUCT_NAME = "Result-iOS"; + PRODUCT_MODULE_NAME = BigInt; + PRODUCT_NAME = "BigInt-iOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -3229,22 +3535,22 @@ }; name = Debug; }; - 3C9131BF8D77FFD3F3302CC9B5C5B5E6 /* Debug */ = { + 3E7E571193D56B852F45BCA0EDE0AB9F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EAC47FA975BD89D9C68F3C958A58964C /* BigInt-iOS.xcconfig */; + baseConfigurationReference = 37F6A1CB837846EE43730D5E42B4E402 /* secp256k1_swift-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/BigInt-iOS/BigInt-iOS-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = "Headers/Public/BigInt/BigInt-iOS.modulemap"; + MODULEMAP_FILE = "Headers/Public/secp256k1_swift/secp256k1_swift-iOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = BigInt; - PRODUCT_NAME = "BigInt-iOS"; + PRODUCT_MODULE_NAME = secp256k1_swift; + PRODUCT_NAME = "secp256k1_swift-iOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -3255,9 +3561,9 @@ }; name = Debug; }; - 3DBEFAA40421868F6F66B16ACEFE5910 /* Debug */ = { + 42E007BDBDF9193BF79BE95940259F6C /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 30FDF56132F92204ACAD922366ABC434 /* scrypt-macOS.xcconfig */; + baseConfigurationReference = 168126FF7C51CFAB97039CE513235D26 /* SwiftRLP-macOS.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -3266,45 +3572,46 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/scrypt-macOS/scrypt-macOS-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS-prefix.pch"; MACOSX_DEPLOYMENT_TARGET = 10.11; - MODULEMAP_FILE = "Headers/Public/scrypt/scrypt-macOS.modulemap"; + MODULEMAP_FILE = "Headers/Public/SwiftRLP/SwiftRLP-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = scrypt; - PRODUCT_NAME = "scrypt-macOS"; + PRODUCT_MODULE_NAME = SwiftRLP; + PRODUCT_NAME = "SwiftRLP-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 4.1; }; - name = Debug; + name = Release; }; - 433482CC83281FBCC068E5C1BB82C335 /* Debug */ = { + 4C189926243B31E7A258082A6B093BD5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DE552F4DC19246DE02459BBEAECE3070 /* PromiseKit.xcconfig */; + baseConfigurationReference = CDAA0D27CD19660853301F0480DFD849 /* SwiftRLP-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = Headers/Public/PromiseKit/PromiseKit.modulemap; + GCC_PREFIX_HEADER = "Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MODULEMAP_FILE = "Headers/Public/SwiftRLP/SwiftRLP-iOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = PromiseKit; - PRODUCT_NAME = PromiseKit; + PRODUCT_MODULE_NAME = SwiftRLP; + PRODUCT_NAME = "SwiftRLP-iOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 4.1; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; @@ -3334,7 +3641,7 @@ }; 50921841075F46C5C393DB5B6A2529EB /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FAE5BF28C394D398788317F877E314ED /* SipHash-iOS.xcconfig */; + baseConfigurationReference = E3315426BF4C8B74BC7DAAADC2F23895 /* SipHash-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3358,9 +3665,37 @@ }; name = Debug; }; - 560816912205F95947EE5A51E4D1D47B /* Debug */ = { + 54BC1E2B4924BE327AAA74950076DC15 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = CDAA0D27CD19660853301F0480DFD849 /* SwiftRLP-iOS.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MODULEMAP_FILE = "Headers/Public/SwiftRLP/SwiftRLP-iOS.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = SwiftRLP; + PRODUCT_NAME = "SwiftRLP-iOS"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.1; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 55D2064D6E41D47D3194523E7D5805CC /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 10261D7140AF8D6F9E6545BC5D894761 /* secp256k1_ios-macOS.xcconfig */; + baseConfigurationReference = BD5F7052BBE014CE84365A473B829050 /* PromiseKit.root-CorePromise-Foundation.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -3369,21 +3704,23 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch"; MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap"; + MODULEMAP_FILE = "Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = secp256k1_ios; - PRODUCT_NAME = "secp256k1_ios-macOS"; + PRODUCT_MODULE_NAME = PromiseKit; + PRODUCT_NAME = "PromiseKit.root-CorePromise-Foundation"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 4.0; }; - name = Debug; + name = Release; }; 5FCBD0A9F6FEC43961BDF6211D4F283C /* Debug */ = { isa = XCBuildConfiguration; @@ -3450,9 +3787,37 @@ }; name = Debug; }; + 637FFE214871E427F5EB980711FE27D4 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = BD5F7052BBE014CE84365A473B829050 /* PromiseKit.root-CorePromise-Foundation.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "-"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + EXECUTABLE_PREFIX = lib; + GCC_PREFIX_HEADER = "Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = PromiseKit; + PRODUCT_NAME = "PromiseKit.root-CorePromise-Foundation"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; + }; + name = Debug; + }; 6532888DD4B4FA3AB86C68A86E46EA3F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E228BA1C68962471174AF53D116026C3 /* CryptoSwift-iOS.xcconfig */; + baseConfigurationReference = C9B8D6BE88B58CC5E8D7E0021C88A419 /* CryptoSwift-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3476,9 +3841,66 @@ }; name = Debug; }; - 680029FB47A1EBBABD9AD8A0B3C5229F /* Release */ = { + 6B61E32BB5209D45BF8284B26DD646B6 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DE552F4DC19246DE02459BBEAECE3070 /* PromiseKit.xcconfig */; + baseConfigurationReference = CCA64A8640FCCC40E3412423E039371A /* scrypt-macOS.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "-"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + EXECUTABLE_PREFIX = lib; + GCC_PREFIX_HEADER = "Target Support Files/scrypt-macOS/scrypt-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MODULEMAP_FILE = "Headers/Public/scrypt/scrypt-macOS.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = scrypt; + PRODUCT_NAME = "scrypt-macOS"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.1; + }; + name = Release; + }; + 6B6634FBDBCD33490C8F987986D50774 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = A91F063F0878CD71B91FA6F40B94A8DD /* scrypt-iOS.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/scrypt-iOS/scrypt-iOS-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MODULEMAP_FILE = "Headers/Public/scrypt/scrypt-iOS.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = scrypt; + PRODUCT_NAME = "scrypt-iOS"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.1; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 6E0DC298E298981B18BAF87BA11542F6 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3031AC0CB5B141FF9911BEBE31A46493 /* PromiseKit.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3504,36 +3926,36 @@ }; name = Release; }; - 6B796AE0DE8CD6CD142647A2318DE8AF /* Release */ = { + 75E16E6E94E4CDC1DF735E3C84E87DEC /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 10261D7140AF8D6F9E6545BC5D894761 /* secp256k1_ios-macOS.xcconfig */; + baseConfigurationReference = 510A8C675D48B2B9F8821CFCF830CAC5 /* SipHash-macOS.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/SipHash-macOS/SipHash-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MODULEMAP_FILE = "Headers/Public/SipHash/SipHash-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = secp256k1_ios; - PRODUCT_NAME = "secp256k1_ios-macOS"; + PRODUCT_MODULE_NAME = SipHash; + PRODUCT_NAME = "SipHash-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.0; }; - name = Release; + name = Debug; }; - 75E16E6E94E4CDC1DF735E3C84E87DEC /* Debug */ = { + 77E92E2063F8A970CD3DF6C52F9CB0A3 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 64389E571A401AFB1A430A11C7053757 /* SipHash-macOS.xcconfig */; + baseConfigurationReference = E748C35C819EB524EA9D3EAE51962FD9 /* Result-macOS.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "-"; @@ -3541,47 +3963,47 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/SipHash-macOS/SipHash-macOS-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/Result-macOS/Result-macOS-prefix.pch"; MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/SipHash/SipHash-macOS.modulemap"; + MODULEMAP_FILE = "Headers/Public/Result/Result-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = SipHash; - PRODUCT_NAME = "SipHash-macOS"; + PRODUCT_MODULE_NAME = Result; + PRODUCT_NAME = "Result-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 4.0; }; - name = Debug; + name = Release; }; - 7F01219BC1BDE1F6107FFFC385406E65 /* Debug */ = { + 79E456F1CBDE8C5EE5AA38BC6C38BFE7 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2452C598AA33B18F81F1D5FE847DF8C7 /* Result-macOS.xcconfig */; + baseConfigurationReference = A91F063F0878CD71B91FA6F40B94A8DD /* scrypt-iOS.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/Result-macOS/Result-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.9; - MODULEMAP_FILE = "Headers/Public/Result/Result-macOS.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/scrypt-iOS/scrypt-iOS-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MODULEMAP_FILE = "Headers/Public/scrypt/scrypt-iOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Result; - PRODUCT_NAME = "Result-macOS"; + PRODUCT_MODULE_NAME = scrypt; + PRODUCT_NAME = "scrypt-iOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = macosx; + SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 4.1; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; @@ -3630,119 +4052,115 @@ }; name = Debug; }; - 8731B072BDE8EC8403ED1A2CC4D5B6E8 /* Release */ = { + 858A2A341A76470B0B603B055357071F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 342482D0962E817B844EE7E6446AF932 /* PromiseKit.root-CorePromise-Foundation.xcconfig */; + baseConfigurationReference = 673FFC4D2B959AB8AEC35D646A85CDCD /* Pods-web3swift-iOS.release.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "-"; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = PromiseKit; - PRODUCT_NAME = "PromiseKit.root-CorePromise-Foundation"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = macosx; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; name = Release; }; - 88B5271640DB2C8BF6FB6CCBE72CC45C /* Release */ = { + 8671873F3F1E5F1068D77E5606FD46A5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E0002BF7495DF77615C17C435108BAC4 /* scrypt-iOS.xcconfig */; + baseConfigurationReference = E748C35C819EB524EA9D3EAE51962FD9 /* Result-macOS.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/scrypt-iOS/scrypt-iOS-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MODULEMAP_FILE = "Headers/Public/scrypt/scrypt-iOS.modulemap"; + EXECUTABLE_PREFIX = lib; + GCC_PREFIX_HEADER = "Target Support Files/Result-macOS/Result-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + MODULEMAP_FILE = "Headers/Public/Result/Result-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = scrypt; - PRODUCT_NAME = "scrypt-iOS"; + PRODUCT_MODULE_NAME = Result; + PRODUCT_NAME = "Result-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; + SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.1; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; }; - name = Release; + name = Debug; }; - 89A2F8336294B44F9A1F3E017D12D948 /* Release */ = { + 8E915485F5B1E08FF1117FF158D60A69 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 95E6916802B9A0D029D336A91E220830 /* Result-iOS.xcconfig */; + baseConfigurationReference = CCA64A8640FCCC40E3412423E039371A /* scrypt-macOS.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "-"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Result-iOS/Result-iOS-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MODULEMAP_FILE = "Headers/Public/Result/Result-iOS.modulemap"; + EXECUTABLE_PREFIX = lib; + GCC_PREFIX_HEADER = "Target Support Files/scrypt-macOS/scrypt-macOS-prefix.pch"; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MODULEMAP_FILE = "Headers/Public/scrypt/scrypt-macOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Result; - PRODUCT_NAME = "Result-iOS"; + PRODUCT_MODULE_NAME = scrypt; + PRODUCT_NAME = "scrypt-macOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; + SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.1; }; - name = Release; + name = Debug; }; - 9CB53DBABB1EF37A4357655D3343BFCA /* Release */ = { + 98E0DE5497E5A27A343127F14FA1BF54 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 673FFC4D2B959AB8AEC35D646A85CDCD /* Pods-web3swift-iOS.release.xcconfig */; + baseConfigurationReference = 3031AC0CB5B141FF9911BEBE31A46493 /* PromiseKit.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/PromiseKit/PromiseKit-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = Headers/Public/PromiseKit/PromiseKit.modulemap; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = PromiseKit; + PRODUCT_NAME = PromiseKit; + PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; }; 9F89BA0BDBDA8C292C7AF81AE6E74193 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 64389E571A401AFB1A430A11C7053757 /* SipHash-macOS.xcconfig */; + baseConfigurationReference = 510A8C675D48B2B9F8821CFCF830CAC5 /* SipHash-macOS.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "-"; @@ -3828,33 +4246,9 @@ }; name = Release; }; - A3E4112FE42CFA94B62FF18D5AB77FFA /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 042CC2D185140E7D725D22562A3E307F /* Pods-web3swift-iOS.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; A45B3EF7FBB166F549A4ABEE13B6CE87 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EAC47FA975BD89D9C68F3C958A58964C /* BigInt-iOS.xcconfig */; + baseConfigurationReference = 5E7DBCA26552356539B821BC83348925 /* BigInt-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3882,7 +4276,7 @@ }; ADB19600F3034CFC88E8930883A97411 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FAE5BF28C394D398788317F877E314ED /* SipHash-iOS.xcconfig */; + baseConfigurationReference = E3315426BF4C8B74BC7DAAADC2F23895 /* SipHash-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3910,7 +4304,7 @@ }; B126933F20D893DEA9C786FE63964623 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E228BA1C68962471174AF53D116026C3 /* CryptoSwift-iOS.xcconfig */; + baseConfigurationReference = C9B8D6BE88B58CC5E8D7E0021C88A419 /* CryptoSwift-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -3959,7 +4353,7 @@ }; BC4BAC6AA94C490A760BEDE9A557D810 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 534009974277EC43330183E1CF3A73A3 /* CryptoSwift-macOS.xcconfig */; + baseConfigurationReference = 2863AEE30806CB2030DDC59D25CF1C36 /* CryptoSwift-macOS.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "-"; @@ -3984,92 +4378,91 @@ }; name = Debug; }; - C2EDEB28A4F3FFE3DDA2839B19887003 /* Release */ = { + C3B95632033BF4A43E88D89D986675EA /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A5D9B32B104EA0A137D78B89D4D19D40 /* Pods-web3swift-macOS.release.xcconfig */; + baseConfigurationReference = B334729A830AF9B565C76134288E4EDF /* Result-iOS.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; - MACH_O_TYPE = staticlib; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MODULEMAP_FILE = "Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/Result-iOS/Result-iOS-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = "Headers/Public/Result/Result-iOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = macosx; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = Result; + PRODUCT_NAME = "Result-iOS"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; name = Release; }; - C3C1B7428904A21F8AA26C9489F6C9A4 /* Release */ = { + D64511E0FB285D5E2F638DA67BB31729 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 30FDF56132F92204ACAD922366ABC434 /* scrypt-macOS.xcconfig */; + baseConfigurationReference = B334729A830AF9B565C76134288E4EDF /* Result-iOS.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/scrypt-macOS/scrypt-macOS-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MODULEMAP_FILE = "Headers/Public/scrypt/scrypt-macOS.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/Result-iOS/Result-iOS-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = "Headers/Public/Result/Result-iOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = scrypt; - PRODUCT_NAME = "scrypt-macOS"; + PRODUCT_MODULE_NAME = Result; + PRODUCT_NAME = "Result-iOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = macosx; + SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 4.1; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; }; - name = Release; + name = Debug; }; - E460EA6D66EB6907CA9263273F819449 /* Debug */ = { + E1CA2CF2207508268263503EC77DD1AE /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 342482D0962E817B844EE7E6446AF932 /* PromiseKit.root-CorePromise-Foundation.xcconfig */; + baseConfigurationReference = 37F6A1CB837846EE43730D5E42B4E402 /* secp256k1_swift-iOS.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - EXECUTABLE_PREFIX = lib; - GCC_PREFIX_HEADER = "Target Support Files/PromiseKit.root-CorePromise-Foundation/PromiseKit.root-CorePromise-Foundation-prefix.pch"; - MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "Headers/Public/PromiseKit/PromiseKit.root-CorePromise-Foundation.modulemap"; + GCC_PREFIX_HEADER = "Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MODULEMAP_FILE = "Headers/Public/secp256k1_swift/secp256k1_swift-iOS.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = PromiseKit; - PRODUCT_NAME = "PromiseKit.root-CorePromise-Foundation"; + PRODUCT_MODULE_NAME = secp256k1_swift; + PRODUCT_NAME = "secp256k1_swift-iOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = macosx; + SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - ED09B172AB5480532BD924829D65FD5F /* Debug */ = { + ED1F36CA81A4FAAC1C67B05F7E9F4498 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1C8F00AC871FE0EC2FBD9A40F62753CD /* Pods-web3swift-macOS.debug.xcconfig */; + baseConfigurationReference = A5D9B32B104EA0A137D78B89D4D19D40 /* Pods-web3swift-macOS.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; @@ -4088,14 +4481,38 @@ PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = macosx; SKIP_INSTALL = YES; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Release; + }; + F3FCBAAE6245C7BE73AFC4E87F57843B /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 042CC2D185140E7D725D22562A3E307F /* Pods-web3swift-iOS.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; F4CD297453714BA949383E8B4EAB4DA3 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C60F71A13E6B38C36897688C101E2C9C /* BigInt-macOS.xcconfig */; + baseConfigurationReference = 33D848500D6FCCF2177712A255BD02F3 /* BigInt-macOS.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "-"; @@ -4123,7 +4540,7 @@ }; F6220DAE297B6F9A75ACF0DCDBBE507C /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C60F71A13E6B38C36897688C101E2C9C /* BigInt-macOS.xcconfig */; + baseConfigurationReference = 33D848500D6FCCF2177712A255BD02F3 /* BigInt-macOS.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = "-"; @@ -4160,11 +4577,20 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 29A07133D1A6CF7B1FA82AE653B63864 /* Build configuration list for PBXNativeTarget "Result-macOS" */ = { + 288F5A4EECE69C1DC4494A2655035DA7 /* Build configuration list for PBXNativeTarget "secp256k1_swift-iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E7E571193D56B852F45BCA0EDE0AB9F /* Debug */, + E1CA2CF2207508268263503EC77DD1AE /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 2D5D9861222B1B7C6B2D720C3CE966C3 /* Build configuration list for PBXNativeTarget "SwiftRLP-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 7F01219BC1BDE1F6107FFFC385406E65 /* Debug */, - 22828402F006586F2011758B9199E3F7 /* Release */, + 1E97B1AEB07F9403EB119768EEC01515 /* Debug */, + 42E007BDBDF9193BF79BE95940259F6C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4187,11 +4613,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 541A64F9C81EF0A1C40F5895519E4172 /* Build configuration list for PBXNativeTarget "Pods-web3swift-macOS" */ = { + 4DE4E92544E4D3852787DF5ADA292D66 /* Build configuration list for PBXNativeTarget "secp256k1_swift-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - ED09B172AB5480532BD924829D65FD5F /* Debug */, - C2EDEB28A4F3FFE3DDA2839B19887003 /* Release */, + 1BCC5A8658E49455E4C0CED34AC9A204 /* Debug */, + 1CFA5364A5C0CACA2DADD1EA40940890 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4214,11 +4640,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 6879EDE7D4DD74BDD3333F7F47505BD5 /* Build configuration list for PBXNativeTarget "scrypt-iOS" */ = { + 6C6D2DEE61A644A6598FBEDB9971FD63 /* Build configuration list for PBXNativeTarget "SwiftRLP-iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 25479A05EC723879F7D0842978AC42B6 /* Debug */, - 88B5271640DB2C8BF6FB6CCBE72CC45C /* Release */, + 4C189926243B31E7A258082A6B093BD5 /* Debug */, + 54BC1E2B4924BE327AAA74950076DC15 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4232,47 +4658,47 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 7E6FEF7BE12C0B86CC254EF55EDD9699 /* Build configuration list for PBXNativeTarget "Result-iOS" */ = { + 7605C90CA002CA15242C3D87F18484A2 /* Build configuration list for PBXNativeTarget "scrypt-iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3A0E8B9AEE3FB2C2FF6480F0457CB4ED /* Debug */, - 89A2F8336294B44F9A1F3E017D12D948 /* Release */, + 79E456F1CBDE8C5EE5AA38BC6C38BFE7 /* Debug */, + 6B6634FBDBCD33490C8F987986D50774 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 8D2116BED976D0647E98C925B993DA75 /* Build configuration list for PBXNativeTarget "Pods-web3swift-iOS" */ = { + 7AF19CA86BE1CDF981AE337B179CC0BF /* Build configuration list for PBXNativeTarget "Pods-web3swift-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - A3E4112FE42CFA94B62FF18D5AB77FFA /* Debug */, - 9CB53DBABB1EF37A4357655D3343BFCA /* Release */, + 1A2FBFC123A5062B1AFCD1139F813593 /* Debug */, + ED1F36CA81A4FAAC1C67B05F7E9F4498 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 8DA93CABD9DFF36F5A035545E1AC0E03 /* Build configuration list for PBXNativeTarget "PromiseKit" */ = { + 8F03B9047707EFF3F60AA966A45C8A4D /* Build configuration list for PBXNativeTarget "PromiseKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - 433482CC83281FBCC068E5C1BB82C335 /* Debug */, - 680029FB47A1EBBABD9AD8A0B3C5229F /* Release */, + 98E0DE5497E5A27A343127F14FA1BF54 /* Debug */, + 6E0DC298E298981B18BAF87BA11542F6 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 90AA254D9E86CD85BB781ED544A9AD4D /* Build configuration list for PBXNativeTarget "PromiseKit.root-CorePromise-Foundation" */ = { + 91E81CC04B48CAA0AA6D1FB891F14331 /* Build configuration list for PBXNativeTarget "Pods-web3swift-macOS_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - E460EA6D66EB6907CA9263273F819449 /* Debug */, - 8731B072BDE8EC8403ED1A2CC4D5B6E8 /* Release */, + 8518F8D713080EF1D6A105CF2021EC99 /* Debug */, + 4CA9B35348640CA3DA1AAB6A01AB2BE4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 91E81CC04B48CAA0AA6D1FB891F14331 /* Build configuration list for PBXNativeTarget "Pods-web3swift-macOS_Tests" */ = { + 9F771DCE26E84668F2CA6B9E87224F88 /* Build configuration list for PBXNativeTarget "Result-iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 8518F8D713080EF1D6A105CF2021EC99 /* Debug */, - 4CA9B35348640CA3DA1AAB6A01AB2BE4 /* Release */, + D64511E0FB285D5E2F638DA67BB31729 /* Debug */, + C3B95632033BF4A43E88D89D986675EA /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -4286,29 +4712,38 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A262B3F49AC1A14340997F3AF65BDBA1 /* Build configuration list for PBXNativeTarget "secp256k1_ios-macOS" */ = { + A4CBD6E90C567ACBD75570719DB45B51 /* Build configuration list for PBXNativeTarget "Pods-web3swift-iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F3FCBAAE6245C7BE73AFC4E87F57843B /* Debug */, + 858A2A341A76470B0B603B055357071F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B3BABA326F05564F9B29C631D85A02A9 /* Build configuration list for PBXNativeTarget "PromiseKit.root-CorePromise-Foundation" */ = { isa = XCConfigurationList; buildConfigurations = ( - 560816912205F95947EE5A51E4D1D47B /* Debug */, - 6B796AE0DE8CD6CD142647A2318DE8AF /* Release */, + 637FFE214871E427F5EB980711FE27D4 /* Debug */, + 55D2064D6E41D47D3194523E7D5805CC /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - BA7D8C997C878CC9750FD6BEA3F67C1A /* Build configuration list for PBXNativeTarget "secp256k1_ios-iOS" */ = { + C6A6186E7DE2AF444E2D9AE0184A0479 /* Build configuration list for PBXNativeTarget "Result-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 29F4C48EAEC88A7864CDB6C4FE628440 /* Debug */, - 10094E4712902F615969B9C3AD86AA9A /* Release */, + 8671873F3F1E5F1068D77E5606FD46A5 /* Debug */, + 77E92E2063F8A970CD3DF6C52F9CB0A3 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F6D85B2AD38EF6575756FBE3C41AB015 /* Build configuration list for PBXNativeTarget "scrypt-macOS" */ = { + C6C3FEF3DB3E9F8728E424120C1A0F0D /* Build configuration list for PBXNativeTarget "scrypt-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3DBEFAA40421868F6F66B16ACEFE5910 /* Debug */, - C3C1B7428904A21F8AA26C9489F6C9A4 /* Release */, + 8E915485F5B1E08FF1117FF158D60A69 /* Debug */, + 6B61E32BB5209D45BF8284B26DD646B6 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Pods/SwiftRLP/Classes/RLP.swift b/Pods/SwiftRLP/Classes/RLP.swift new file mode 100644 index 000000000..d3c5f1326 --- /dev/null +++ b/Pods/SwiftRLP/Classes/RLP.swift @@ -0,0 +1,384 @@ +// +// RLP.swift +// SwiftRLP +// +// Created by Alex Vlasov on 04/10/2018. +// Copyright © 2018 Alex Vlasov. All rights reserved. +// + +import Foundation +import BigInt + +//protocol ArrayType {} +//extension Array : ArrayType {} + +public struct RLP { + enum Error: Swift.Error { + case encodingError + case decodingError + } + + static var length56 = BigUInt(UInt(56)) + static var lengthMax = (BigUInt(UInt(1)) << 256) + + internal static func encode(_ element: AnyObject) -> Data? { + if let string = element as? String { + return encode(string) + + } else if let data = element as? Data { + return encode(data) + } + else if let biguint = element as? BigUInt { + return encode(biguint) + } + return nil; + } + + internal static func encode(_ string: String) -> Data? { + if let hexData = Data.fromHex(string) { + return encode(hexData) + } + guard let data = string.data(using: .utf8) else {return nil} + return encode(data) + } + + internal static func encode(_ number: Int) -> Data? { + guard number >= 0 else {return nil} + let uint = UInt(number) + return encode(uint) + } + + internal static func encode(_ number: UInt) -> Data? { + let biguint = BigUInt(number) + return encode(biguint) + } + + internal static func encode(_ number: BigUInt) -> Data? { + let encoded = number.serialize() + return encode(encoded) + } + + internal static func encode(_ data: Data) -> Data? { + if (data.count == 1 && data.bytes[0] < UInt8(0x80)) { + return data + } else { + guard let length = encodeLength(data.count, offset: UInt8(0x80)) else {return nil} + var encoded = Data() + encoded.append(length) + encoded.append(data) + return encoded + } + } + + internal static func encodeLength(_ length: Int, offset: UInt8) -> Data? { + if (length < 0) { + return nil; + } + let bigintLength = BigUInt(UInt(length)) + return encodeLength(bigintLength, offset: offset) + } + + internal static func encodeLength(_ length: BigUInt, offset: UInt8) -> Data? { + if (length < length56) { + let encodedLength = length + BigUInt(UInt(offset)) + guard (encodedLength.bitWidth <= 8) else {return nil} + return encodedLength.serialize() + } else if (length < lengthMax) { + let encodedLength = length.serialize() + let len = BigUInt(UInt(encodedLength.count)) + guard let prefix = lengthToBinary(len) else {return nil} + let lengthPrefix = prefix + offset + UInt8(55) + var encoded = Data([lengthPrefix]) + encoded.append(encodedLength) + return encoded + } + return nil + } + + internal static func lengthToBinary(_ length: BigUInt) -> UInt8? { + if (length == 0) { + return UInt8(0) + } + let divisor = BigUInt(256) + var encoded = Data() + guard let prefix = lengthToBinary(length/divisor) else {return nil} + let suffix = length % divisor + + var prefixData = Data([prefix]) + if (prefix == UInt8(0)) { + prefixData = Data() + } + let suffixData = suffix.serialize() + + encoded.append(prefixData) + encoded.append(suffixData) + guard encoded.count == 1 else {return nil} + return encoded.bytes[0] + } + + public static func encode(_ elements: Array) -> Data? { + var encodedData = Data() + for e in elements { + if let encoded = encode(e) { + encodedData.append(encoded) + } else { + guard let asArray = e as? Array else {return nil} + guard let encoded = encode(asArray) else {return nil} + encodedData.append(encoded) + } + } + guard var encodedLength = encodeLength(encodedData.count, offset: UInt8(0xc0)) else {return nil} + if (encodedLength != Data()) { + encodedLength.append(encodedData) + } + return encodedLength + } + + public static func decode(_ raw: String) -> RLPItem? { + guard let rawData = Data.fromHex(raw) else {return nil} + return decode(rawData) + } + + public static func decode(_ raw: Data) -> RLPItem? { + if raw.count == 0 { + return RLPItem.noItem + } + var outputArray = [RLPItem]() + var bytesToParse = raw + while bytesToParse.count != 0 { + let (of, dl, t) = decodeLength(bytesToParse) + guard let offset = of, let dataLength = dl, let type = t else {return nil} + switch type { + case .empty: + break + case .data: + guard let slice = try? slice(data: bytesToParse, offset: offset, length: dataLength) else {return nil} + let data = Data(slice) + let rlpItem = RLPItem.init(content: .data(data)) + outputArray.append(rlpItem) + case .list: + guard let slice = try? slice(data: bytesToParse, offset: offset, length: dataLength) else {return nil} + guard let inside = decode(Data(slice)) else {return nil} + switch inside.content { + case .data(_): + return nil + default: + outputArray.append(inside) + } + } + guard let tail = try? slice(data: bytesToParse, start: offset + dataLength) else {return nil} + bytesToParse = tail + } + return RLPItem.init(content: .list(outputArray, 0)) + } + + public struct RLPItem { + + enum UnderlyingType { + case empty + case data + case list + } + + public enum RLPContent { + case noItem + case data(Data) + indirect case list([RLPItem], Int) + } + + public var content: RLPContent + + public var isData: Bool { + switch self.content { + case .noItem: + return false + case .data(_): + return true + case .list(_): + return false + } + } + + public var isList: Bool { + switch self.content { + case .noItem: + return false + case .data(_): + return false + case .list(_): + return true + } + } + public var count: Int? { + switch self.content { + case .noItem: + return nil + case .data(_): + return nil + case .list(let list, _): + return list.count + } + } + public var hasNext: Bool { + switch self.content { + case .noItem: + return false + case .data(_): + return false + case .list(let list, let counter): + return list.count > counter + } + } + + public subscript(index: Int) -> RLPItem? { + get { + guard self.hasNext else {return nil} + guard case .list(let list, _) = self.content else {return nil} + let item = list[index] + return item + } + } + + public var data: Data? { + return self.getData() + } + + public func getData() -> Data? { + if self.isList { + return nil + } + guard case .data(let data) = self.content else {return nil} + return data + } + + public static var noItem: RLPItem { + return RLPItem.init(content: .noItem) + } + } + + internal static func decodeLength(_ input: Data) -> (offset: BigUInt?, length: BigUInt?, type: RLPItem.UnderlyingType?) { + do { + let length = BigUInt(input.count) + if (length == BigUInt(0)) { + return (0, 0, .empty) + } + let prefixByte = input[0] + if prefixByte <= 0x7f { + return (BigUInt(0), BigUInt(1), .data) + }else if prefixByte <= 0xb7 && length > BigUInt(prefixByte - 0x80) { + let dataLength = BigUInt(prefixByte - 0x80) + return (BigUInt(1), dataLength, .data) + } else if try prefixByte <= 0xbf && length > BigUInt(prefixByte - 0xb7) && length > BigUInt(prefixByte - 0xb7) + toBigUInt(slice(data: input, offset: BigUInt(1), length: BigUInt(prefixByte - 0xb7))) { + let lengthOfLength = BigUInt(prefixByte - 0xb7) + let dataLength = try toBigUInt(slice(data: input, offset: BigUInt(1), length: BigUInt(prefixByte - 0xb7))) + return (1 + lengthOfLength, dataLength, .data) + } else if prefixByte <= 0xf7 && length > BigUInt(prefixByte - 0xc0) { + let listLen = BigUInt(prefixByte - 0xc0) + return (1, listLen, .list) + } else if try prefixByte <= 0xff && length > BigUInt(prefixByte - 0xf7) && length > BigUInt(prefixByte - 0xf7) + toBigUInt(slice(data: input, offset: BigUInt(1), length: BigUInt(prefixByte - 0xf7))) { + let lengthOfListLength = BigUInt(prefixByte - 0xf7) + let listLength = try toBigUInt(slice(data: input, offset: BigUInt(1), length: BigUInt(prefixByte - 0xf7))) + return (1 + lengthOfListLength, listLength, .list) + } else { + return (nil, nil, nil) + } + } catch { + return (nil, nil, nil) + } + } + + internal static func slice(data: Data, offset: BigUInt, length: BigUInt) throws -> Data { + if BigUInt(data.count) < offset + length {throw Error.encodingError} + let slice = data[UInt64(offset) ..< UInt64(offset + length)] + return Data(slice) + } + + internal static func slice(data: Data, start: BigUInt) throws -> Data { + if BigUInt(data.count) < start {throw Error.encodingError} + let slice = data[UInt64(start) ..< UInt64(data.count)] + return Data(slice) + } + + internal static func toBigUInt(_ raw: Data) throws -> BigUInt { + if raw.count == 0 { + throw Error.encodingError + } else if raw.count == 1 { + return BigUInt.init(raw) + } else { + let slice = raw[0 ..< raw.count - 1] + return try BigUInt(raw[raw.count-1]) + toBigUInt(slice)*256 + } + } +} + +fileprivate extension String { + func stripHexPrefix() -> String { + if self.hasPrefix("0x") { + let indexStart = self.index(self.startIndex, offsetBy: 2) + return String(self[indexStart...]) + } + return self + } +} + +fileprivate extension Array where Element == UInt8 { + init(hex: String) { + self = Array() + self.reserveCapacity(hex.unicodeScalars.underestimatedCount) + var buffer: UInt8? + var skip = hex.hasPrefix("0x") ? 2 : 0 + for char in hex.unicodeScalars.lazy { + guard skip == 0 else { + skip -= 1 + continue + } + guard char.value >= 48 && char.value <= 102 else { + removeAll() + return + } + let v: UInt8 + let c: UInt8 = UInt8(char.value) + switch c { + case let c where c <= 57: + v = c - 48 + case let c where c >= 65 && c <= 70: + v = c - 55 + case let c where c >= 97: + v = c - 87 + default: + removeAll() + return + } + if let b = buffer { + append(b << 4 | v) + buffer = nil + } else { + buffer = v + } + } + if let b = buffer { + append(b) + } + } +} + +fileprivate extension Data { + + static func fromHex(_ hex: String) -> Data? { + let string = hex.lowercased().stripHexPrefix() + let array = Array(hex: string) + if (array.count == 0) { + if (hex == "0x" || hex == "") { + return Data() + } else { + return nil + } + } + return Data(array) + } + + var bytes: Array { + return Array(self) + } + +} diff --git a/Pods/SwiftRLP/LICENSE b/Pods/SwiftRLP/LICENSE new file mode 100644 index 000000000..d49e6aa41 --- /dev/null +++ b/Pods/SwiftRLP/LICENSE @@ -0,0 +1,13 @@ +Copyright 2018 Alex Vlasov + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/Pods/SwiftRLP/SwiftRLP/SwiftRLP.h b/Pods/SwiftRLP/SwiftRLP/SwiftRLP.h new file mode 100644 index 000000000..47bb05fc6 --- /dev/null +++ b/Pods/SwiftRLP/SwiftRLP/SwiftRLP.h @@ -0,0 +1,21 @@ +// +// SwiftRLP.h +// SwiftRLP +// +// Created by Alex Vlasov on 04/10/2018. +// Copyright © 2018 Alex Vlasov. All rights reserved. +// +#if TARGET_OS_IPHONE +#import +#else +#import +#endif +//! Project version number for SwiftRLP. +FOUNDATION_EXPORT double SwiftRLPVersionNumber; + +//! Project version string for SwiftRLP. +FOUNDATION_EXPORT const unsigned char SwiftRLPVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.markdown b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.markdown index 6d12f7235..77e7ff082 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.markdown +++ b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.markdown @@ -112,6 +112,23 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +## SwiftRLP + +Copyright 2018 Alex Vlasov + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + ## scrypt Copyright 2018 Alex Vlasov @@ -129,25 +146,20 @@ See the License for the specific language governing permissions and limitations under the License. -## secp256k1_ios +## secp256k1_swift -Copyright (c) 2017 shamatar +Copyright 2018 Alex Vlasov (bankexfoundation.org) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. Generated by CocoaPods - https://cocoapods.org diff --git a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.plist b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.plist index 10045e5ae..7c82be473 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS-acknowledgements.plist @@ -1,221 +1,5 @@ - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - -Copyright (c) 2016-2017 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - BigInt - Type - PSGroupSpecifier - - - FooterText - Copyright (C) 2014-2017 Marcin Krzyżanowski <marcin.krzyzanowski@gmail.com> -This software is provided 'as-is', without any express or implied warranty. - -In no event will the authors be held liable for any damages arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - -- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. -- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. -- This notice may not be removed or altered from any source or binary distribution. -- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' - License - Attribution - Title - CryptoSwift - Type - PSGroupSpecifier - - - FooterText - Copyright 2016-present, Max Howell; mxcl@me.com - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - License - MIT - Title - PromiseKit - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2014 Rob Rix - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - License - MIT - Title - Result - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2016 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - SipHash - Type - PSGroupSpecifier - - - FooterText - Copyright 2018 Alex Vlasov <alex.m.vlasov@gmail.com> - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - - License - Apache License 2.0 - Title - scrypt - Type - PSGroupSpecifier - - - FooterText - Copyright (c) 2017 shamatar <alex.m.vlasov@gmail.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - License - MIT - Title - secp256k1_ios - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - + diff --git a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.debug.xcconfig b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.debug.xcconfig index c3ad3f72e..4c856d5b8 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.debug.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.debug.xcconfig @@ -1,11 +1,11 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-iOS" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" -OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt-iOS" -l"CryptoSwift-iOS" -l"PromiseKit" -l"Result-iOS" -l"SipHash-iOS" -l"scrypt-iOS" -l"secp256k1_ios-iOS" -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/SwiftRLP" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_swift" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-iOS" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-iOS/SwiftRLP.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-iOS/secp256k1_swift.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/SwiftRLP" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_swift" +OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt-iOS" -l"CryptoSwift-iOS" -l"PromiseKit" -l"Result-iOS" -l"SipHash-iOS" -l"SwiftRLP-iOS" -l"scrypt-iOS" -l"secp256k1_swift-iOS" -framework "Foundation" -framework "UIKit" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-iOS/SwiftRLP.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-iOS/secp256k1_swift.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" $(PODS_TARGET_SRCROOT)/scrypt +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-iOS" $(PODS_TARGET_SRCROOT)/scrypt diff --git a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.release.xcconfig b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.release.xcconfig index c3ad3f72e..4c856d5b8 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.release.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-iOS/Pods-web3swift-iOS.release.xcconfig @@ -1,11 +1,11 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-iOS" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" -OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt-iOS" -l"CryptoSwift-iOS" -l"PromiseKit" -l"Result-iOS" -l"SipHash-iOS" -l"scrypt-iOS" -l"secp256k1_ios-iOS" -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/SwiftRLP" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_swift" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-iOS" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-iOS/SwiftRLP.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-iOS/secp256k1_swift.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/SwiftRLP" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_swift" +OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt-iOS" -l"CryptoSwift-iOS" -l"PromiseKit" -l"Result-iOS" -l"SipHash-iOS" -l"SwiftRLP-iOS" -l"scrypt-iOS" -l"secp256k1_swift-iOS" -framework "Foundation" -framework "UIKit" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-iOS/SwiftRLP.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-iOS/secp256k1_swift.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" $(PODS_TARGET_SRCROOT)/scrypt +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-iOS" $(PODS_TARGET_SRCROOT)/scrypt diff --git a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.plist b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.plist index 7acbad1ea..7c82be473 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests-acknowledgements.plist @@ -1,29 +1,5 @@ - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - + diff --git a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.debug.xcconfig b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.debug.xcconfig index 5499ba4f6..76d174683 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.debug.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.debug.xcconfig @@ -1,10 +1,10 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/SwiftRLP" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_swift" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-iOS/SwiftRLP.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-iOS/secp256k1_swift.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/SwiftRLP" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_swift" OTHER_LDFLAGS = $(inherited) -ObjC -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-iOS/SwiftRLP.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-iOS/secp256k1_swift.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-iOS" diff --git a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.release.xcconfig b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.release.xcconfig index 5499ba4f6..76d174683 100644 --- a/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.release.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.release.xcconfig @@ -1,10 +1,10 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/SwiftRLP" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_swift" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-iOS/SwiftRLP.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-iOS/secp256k1_swift.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/SwiftRLP" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_swift" OTHER_LDFLAGS = $(inherited) -ObjC -framework "Foundation" -framework "UIKit" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-iOS.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-iOS/SwiftRLP.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-iOS/secp256k1_swift.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit" "${PODS_CONFIGURATION_BUILD_DIR}/Result-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-iOS" diff --git a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.markdown b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.markdown index 6d12f7235..77e7ff082 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.markdown +++ b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.markdown @@ -112,6 +112,23 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +## SwiftRLP + +Copyright 2018 Alex Vlasov + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + ## scrypt Copyright 2018 Alex Vlasov @@ -129,25 +146,20 @@ See the License for the specific language governing permissions and limitations under the License. -## secp256k1_ios +## secp256k1_swift -Copyright (c) 2017 shamatar +Copyright 2018 Alex Vlasov (bankexfoundation.org) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. Generated by CocoaPods - https://cocoapods.org diff --git a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.plist b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.plist index 10045e5ae..7c82be473 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS-acknowledgements.plist @@ -1,221 +1,5 @@ - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - -Copyright (c) 2016-2017 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - BigInt - Type - PSGroupSpecifier - - - FooterText - Copyright (C) 2014-2017 Marcin Krzyżanowski <marcin.krzyzanowski@gmail.com> -This software is provided 'as-is', without any express or implied warranty. - -In no event will the authors be held liable for any damages arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - -- The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. -- Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. -- This notice may not be removed or altered from any source or binary distribution. -- Redistributions of any form whatsoever must retain the following acknowledgment: 'This product includes software developed by the "Marcin Krzyzanowski" (http://krzyzanowskim.com/).' - License - Attribution - Title - CryptoSwift - Type - PSGroupSpecifier - - - FooterText - Copyright 2016-present, Max Howell; mxcl@me.com - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - License - MIT - Title - PromiseKit - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2014 Rob Rix - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - License - MIT - Title - Result - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2016 Károly Lőrentey - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - License - MIT - Title - SipHash - Type - PSGroupSpecifier - - - FooterText - Copyright 2018 Alex Vlasov <alex.m.vlasov@gmail.com> - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - - License - Apache License 2.0 - Title - scrypt - Type - PSGroupSpecifier - - - FooterText - Copyright (c) 2017 shamatar <alex.m.vlasov@gmail.com> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - License - MIT - Title - secp256k1_ios - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - + diff --git a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.debug.xcconfig b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.debug.xcconfig index bbf72833e..4a27f3b2c 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.debug.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.debug.xcconfig @@ -1,11 +1,11 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-macOS" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" -OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt-macOS" -l"CryptoSwift-macOS" -l"PromiseKit.root-CorePromise-Foundation" -l"Result-macOS" -l"SipHash-macOS" -l"scrypt-macOS" -l"secp256k1_ios-macOS" -framework "Foundation" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/SwiftRLP" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_swift" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-macOS" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-macOS/SwiftRLP.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-macOS/secp256k1_swift.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/SwiftRLP" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_swift" +OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt-macOS" -l"CryptoSwift-macOS" -l"PromiseKit.root-CorePromise-Foundation" -l"Result-macOS" -l"SipHash-macOS" -l"SwiftRLP-macOS" -l"scrypt-macOS" -l"secp256k1_swift-macOS" -framework "Foundation" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-macOS/SwiftRLP.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-macOS/secp256k1_swift.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" $(PODS_TARGET_SRCROOT)/scrypt +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-macOS" $(PODS_TARGET_SRCROOT)/scrypt diff --git a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.release.xcconfig b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.release.xcconfig index bbf72833e..4a27f3b2c 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.release.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-macOS/Pods-web3swift-macOS.release.xcconfig @@ -1,11 +1,11 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" -LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-macOS" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" -OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt-macOS" -l"CryptoSwift-macOS" -l"PromiseKit.root-CorePromise-Foundation" -l"Result-macOS" -l"SipHash-macOS" -l"scrypt-macOS" -l"secp256k1_ios-macOS" -framework "Foundation" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/SwiftRLP" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_swift" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-macOS" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-macOS/SwiftRLP.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-macOS/secp256k1_swift.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/SwiftRLP" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_swift" +OTHER_LDFLAGS = $(inherited) -ObjC -l"BigInt-macOS" -l"CryptoSwift-macOS" -l"PromiseKit.root-CorePromise-Foundation" -l"Result-macOS" -l"SipHash-macOS" -l"SwiftRLP-macOS" -l"scrypt-macOS" -l"secp256k1_swift-macOS" -framework "Foundation" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-macOS/SwiftRLP.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-macOS/secp256k1_swift.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" $(PODS_TARGET_SRCROOT)/scrypt +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-macOS" $(PODS_TARGET_SRCROOT)/scrypt diff --git a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.plist b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.plist index 7acbad1ea..7c82be473 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests-acknowledgements.plist @@ -1,29 +1,5 @@ - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - + diff --git a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.debug.xcconfig b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.debug.xcconfig index 30b773007..6f83ba19c 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.debug.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.debug.xcconfig @@ -1,10 +1,10 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/SwiftRLP" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_swift" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-macOS/SwiftRLP.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-macOS/secp256k1_swift.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/SwiftRLP" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_swift" OTHER_LDFLAGS = $(inherited) -ObjC -framework "Foundation" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-macOS/SwiftRLP.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-macOS/secp256k1_swift.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-macOS" diff --git a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.release.xcconfig b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.release.xcconfig index 30b773007..6f83ba19c 100644 --- a/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.release.xcconfig +++ b/Pods/Target Support Files/Pods-web3swift-macOS_Tests/Pods-web3swift-macOS_Tests.release.xcconfig @@ -1,10 +1,10 @@ GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_ios" -OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_ios" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PromiseKit" "${PODS_ROOT}/Headers/Public/SwiftRLP" "${PODS_ROOT}/Headers/Public/scrypt" "${PODS_ROOT}/Headers/Public/secp256k1_swift" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-macOS/SwiftRLP.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-macOS/secp256k1_swift.modulemap" -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PromiseKit" -isystem "${PODS_ROOT}/Headers/Public/SwiftRLP" -isystem "${PODS_ROOT}/Headers/Public/scrypt" -isystem "${PODS_ROOT}/Headers/Public/secp256k1_swift" OTHER_LDFLAGS = $(inherited) -ObjC -framework "Foundation" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_ROOT}/Headers/Public/secp256k1_ios/secp256k1_ios-macOS.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS/CryptoSwift.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation/PromiseKit.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS/Result.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-macOS/SwiftRLP.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS/scrypt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-macOS/secp256k1_swift.modulemap" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods -SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/PromiseKit.root-CorePromise-Foundation" "${PODS_CONFIGURATION_BUILD_DIR}/Result-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/scrypt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-macOS" diff --git a/Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS-dummy.m b/Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS-dummy.m new file mode 100644 index 000000000..2de0a8040 --- /dev/null +++ b/Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_SwiftRLP_iOS : NSObject +@end +@implementation PodsDummy_SwiftRLP_iOS +@end diff --git a/Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS-umbrella.h b/Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS-umbrella.h new file mode 100644 index 000000000..c819e55b6 --- /dev/null +++ b/Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS-umbrella.h @@ -0,0 +1,17 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "SwiftRLP.h" + +FOUNDATION_EXPORT double SwiftRLPVersionNumber; +FOUNDATION_EXPORT const unsigned char SwiftRLPVersionString[]; + diff --git a/Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS.modulemap b/Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS.modulemap new file mode 100644 index 000000000..873026516 --- /dev/null +++ b/Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS.modulemap @@ -0,0 +1,7 @@ +module SwiftRLP { + umbrella header "SwiftRLP-iOS-umbrella.h" + exclude header "SwiftRLP-macOS-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS.xcconfig b/Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS.xcconfig new file mode 100644 index 000000000..882644d9a --- /dev/null +++ b/Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS.xcconfig @@ -0,0 +1,13 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-iOS +DEFINES_MODULE = YES +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/SwiftRLP" "${PODS_ROOT}/Headers/Public" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftRLP +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-iOS" diff --git a/Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS-dummy.m b/Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS-dummy.m new file mode 100644 index 000000000..6090b3bb7 --- /dev/null +++ b/Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_SwiftRLP_macOS : NSObject +@end +@implementation PodsDummy_SwiftRLP_macOS +@end diff --git a/Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS-umbrella.h b/Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS-umbrella.h new file mode 100644 index 000000000..bfe75850f --- /dev/null +++ b/Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS-umbrella.h @@ -0,0 +1,17 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "SwiftRLP.h" + +FOUNDATION_EXPORT double SwiftRLPVersionNumber; +FOUNDATION_EXPORT const unsigned char SwiftRLPVersionString[]; + diff --git a/Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS.modulemap b/Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS.modulemap new file mode 100644 index 000000000..5e8affee4 --- /dev/null +++ b/Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS.modulemap @@ -0,0 +1,7 @@ +module SwiftRLP { + umbrella header "SwiftRLP-macOS-umbrella.h" + exclude header "SwiftRLP-iOS-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS.xcconfig b/Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS.xcconfig new file mode 100644 index 000000000..1c0929a8d --- /dev/null +++ b/Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS.xcconfig @@ -0,0 +1,13 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftRLP-macOS +DEFINES_MODULE = YES +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/SwiftRLP" "${PODS_ROOT}/Headers/Public" +OTHER_CFLAGS = $(inherited) -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS/BigInt.modulemap" -Xcc -fmodule-map-file="${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS/SipHash.modulemap" -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftRLP +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +SWIFT_INCLUDE_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/BigInt-macOS" "${PODS_CONFIGURATION_BUILD_DIR}/SipHash-macOS" diff --git a/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-dummy.m b/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-dummy.m deleted file mode 100644 index e731ba137..000000000 --- a/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_secp256k1_ios_iOS : NSObject -@end -@implementation PodsDummy_secp256k1_ios_iOS -@end diff --git a/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.modulemap b/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.modulemap deleted file mode 100644 index 0c686d34e..000000000 --- a/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.modulemap +++ /dev/null @@ -1,7 +0,0 @@ -module secp256k1_ios { - umbrella header "secp256k1_ios-iOS-umbrella.h" - exclude header "secp256k1_ios-macOS-umbrella.h" - - export * - module * { export * } -} diff --git a/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-dummy.m b/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-dummy.m deleted file mode 100644 index 1bff62ca9..000000000 --- a/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_secp256k1_ios_macOS : NSObject -@end -@implementation PodsDummy_secp256k1_ios_macOS -@end diff --git a/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.modulemap b/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.modulemap deleted file mode 100644 index 772f659d7..000000000 --- a/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.modulemap +++ /dev/null @@ -1,7 +0,0 @@ -module secp256k1_ios { - umbrella header "secp256k1_ios-macOS-umbrella.h" - exclude header "secp256k1_ios-iOS-umbrella.h" - - export * - module * { export * } -} diff --git a/Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS-dummy.m b/Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS-dummy.m new file mode 100644 index 000000000..4fdbce823 --- /dev/null +++ b/Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_secp256k1_swift_iOS : NSObject +@end +@implementation PodsDummy_secp256k1_swift_iOS +@end diff --git a/Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS-prefix.pch b/Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS-prefix.pch new file mode 100644 index 000000000..beb2a2441 --- /dev/null +++ b/Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS.modulemap b/Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS.modulemap new file mode 100644 index 000000000..af83c0c4e --- /dev/null +++ b/Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS.modulemap @@ -0,0 +1,7 @@ +module secp256k1_swift { + umbrella header "secp256k1_swift-iOS-umbrella.h" + exclude header "secp256k1_swift-macOS-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS-dummy.m b/Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS-dummy.m new file mode 100644 index 000000000..e24cf9317 --- /dev/null +++ b/Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_secp256k1_swift_macOS : NSObject +@end +@implementation PodsDummy_secp256k1_swift_macOS +@end diff --git a/Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS-prefix.pch b/Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS-prefix.pch new file mode 100644 index 000000000..082f8af22 --- /dev/null +++ b/Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS.modulemap b/Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS.modulemap new file mode 100644 index 000000000..6faec165d --- /dev/null +++ b/Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS.modulemap @@ -0,0 +1,7 @@ +module secp256k1_swift { + umbrella header "secp256k1_swift-macOS-umbrella.h" + exclude header "secp256k1_swift-iOS-umbrella.h" + + export * + module * { export * } +} diff --git a/Pods/secp256k1_ios/LICENSE b/Pods/secp256k1_ios/LICENSE deleted file mode 100644 index 64c3974ed..000000000 --- a/Pods/secp256k1_ios/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2017 shamatar - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/Pods/secp256k1_ios/README.md b/Pods/secp256k1_ios/README.md deleted file mode 100644 index 4ba4300b0..000000000 --- a/Pods/secp256k1_ios/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# secp256k1_ios - -[![Version](https://img.shields.io/cocoapods/v/secp256k1_ios.svg?style=flat)](http://cocoapods.org/pods/secp256k1_ios) -[![License](https://img.shields.io/cocoapods/l/secp256k1_ios.svg?style=flat)](http://cocoapods.org/pods/secp256k1_ios) -[![Platform](https://img.shields.io/cocoapods/p/secp256k1_ios.svg?style=flat)](http://cocoapods.org/pods/secp256k1_ios) -[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fshamatar%2Fsecp256k1_ios.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fshamatar%2Fsecp256k1_ios?ref=badge_shield) - -## Example - -To run the example project, clone the repo, and run `pod install` from the Example directory first. - -## Requirements - -## Installation - -secp256k1_ios is available through [CocoaPods](http://cocoapods.org). To install -it, simply add the following line to your Podfile: - -```ruby -pod 'secp256k1_ios' -``` - -## Author - -@shamatar, alex.m.vlasov@gmail.com - -## License - -secp256k1_ios is available under the MIT license. See the LICENSE file for more info. - - -[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fshamatar%2Fsecp256k1_ios.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fshamatar%2Fsecp256k1_ios?ref=badge_large) \ No newline at end of file diff --git a/Pods/secp256k1_ios/secp256k1_ios/secp256k1_ios.h b/Pods/secp256k1_ios/secp256k1_ios/secp256k1_ios.h deleted file mode 100644 index 6cce852f3..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/secp256k1_ios.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// secp256k1_ios.h -// secp256k1_ios -// -// Created by Alexander Vlasov on 07.12.2017. -// Copyright © 2017 Alexander Vlasov. All rights reserved. -// - -//! Project version number for secp256k1_ios. -FOUNDATION_EXPORT double secp256k1_iosVersionNumber; - -//! Project version string for secp256k1_ios. -FOUNDATION_EXPORT const unsigned char secp256k1_iosVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - - diff --git a/Pods/secp256k1_swift/LICENSE b/Pods/secp256k1_swift/LICENSE new file mode 100755 index 000000000..9495745f7 --- /dev/null +++ b/Pods/secp256k1_swift/LICENSE @@ -0,0 +1,13 @@ +Copyright 2018 Alex Vlasov (bankexfoundation.org) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/Pods/secp256k1_swift/README.md b/Pods/secp256k1_swift/README.md new file mode 100755 index 000000000..f677b5a81 --- /dev/null +++ b/Pods/secp256k1_swift/README.md @@ -0,0 +1,8 @@ +# secp256k1_swift + +## Usage + +Add to the Podfile +``` +pod 'secp256k1_swift', '~> 1.0.0' +``` diff --git a/web3swift.podspec b/web3swift.podspec index 3b9670a84..b81e9a6ca 100755 --- a/web3swift.podspec +++ b/web3swift.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "web3swift" -s.version = "1.1.9" +s.version = "1.1.10" s.summary = "Web3 implementation in vanilla Swift for iOS ans macOS" s.description = <<-DESC @@ -25,7 +25,8 @@ s.frameworks = 'CoreImage' s.dependency 'BigInt', '~> 3.1' s.dependency 'Result', '~> 4.0' s.dependency 'CryptoSwift', '~> 0.11' -s.dependency 'secp256k1_ios', '~> 0.1' s.dependency 'PromiseKit', '~> 6.3' s.dependency 'scrypt', '~> 2.0' +s.dependency 'secp256k1_swift', '~> 1.0.2' +s.dependency 'SwiftRLP', '~> 1.0.1' end diff --git a/web3swift.xcodeproj/project.pbxproj b/web3swift.xcodeproj/project.pbxproj index 510fe2d06..5ee13d4ca 100755 --- a/web3swift.xcodeproj/project.pbxproj +++ b/web3swift.xcodeproj/project.pbxproj @@ -29,7 +29,6 @@ 41948124203630530065A83B /* Web3+Structures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81C146F61FF274B200AA943E /* Web3+Structures.swift */; }; 41948125203630530065A83B /* Web3+Methods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 810B0F9B1FEC520500CF0DA2 /* Web3+Methods.swift */; }; 41948126203630530065A83B /* Web3+Eth.swift in Sources */ = {isa = PBXBuildFile; fileRef = 810B0F9D1FEC5B9C00CF0DA2 /* Web3+Eth.swift */; }; - 4194812B203630530065A83B /* RLP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 818D810D1FDC1A2000663CE3 /* RLP.swift */; }; 4194812C203630530065A83B /* KeystoreManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8113D2B81FD7E1590074282C /* KeystoreManager.swift */; }; 4194812D203630530065A83B /* EthereumAddress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 817EBB0F2004FE2800E02EAA /* EthereumAddress.swift */; }; 4194812E203630530065A83B /* AbstractKeystore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 817EBB2420066E2B00E02EAA /* AbstractKeystore.swift */; }; @@ -42,7 +41,6 @@ 41948136203630530065A83B /* KeystoreV3JSONStructure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 817EBB26200673D100E02EAA /* KeystoreV3JSONStructure.swift */; }; 41948137203630530065A83B /* EthereumTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8113D2C31FD7E1590074282C /* EthereumTransaction.swift */; }; 41948138203630530065A83B /* CryptoExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8113D2B01FD7E1590074282C /* CryptoExtensions.swift */; }; - 41948139203630530065A83B /* LibSecp256k1Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8113D2B21FD7E1590074282C /* LibSecp256k1Extension.swift */; }; 4194813B203630530065A83B /* NSRegularExpressionExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8113DE7B1FD8514400CD8DF1 /* NSRegularExpressionExtension.swift */; }; 4194813C203630530065A83B /* Base58.swift in Sources */ = {isa = PBXBuildFile; fileRef = 817EBB1E2006265400E02EAA /* Base58.swift */; }; 4194813D203630530065A83B /* RIPEMD160+StackOveflow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 817EBB22200649E000E02EAA /* RIPEMD160+StackOveflow.swift */; }; @@ -61,7 +59,6 @@ 810B0F9C1FEC520500CF0DA2 /* Web3+Methods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 810B0F9B1FEC520500CF0DA2 /* Web3+Methods.swift */; }; 810B0F9E1FEC5B9C00CF0DA2 /* Web3+Eth.swift in Sources */ = {isa = PBXBuildFile; fileRef = 810B0F9D1FEC5B9C00CF0DA2 /* Web3+Eth.swift */; }; 8113D2C41FD7E1590074282C /* CryptoExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8113D2B01FD7E1590074282C /* CryptoExtensions.swift */; }; - 8113D2C61FD7E1590074282C /* LibSecp256k1Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8113D2B21FD7E1590074282C /* LibSecp256k1Extension.swift */; }; 8113D2CA1FD7E1590074282C /* KeystoreManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8113D2B81FD7E1590074282C /* KeystoreManager.swift */; }; 8113D2CE1FD7E1590074282C /* EthereumTransaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8113D2C31FD7E1590074282C /* EthereumTransaction.swift */; }; 8113DE7C1FD8514400CD8DF1 /* NSRegularExpressionExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8113DE7B1FD8514400CD8DF1 /* NSRegularExpressionExtension.swift */; }; @@ -98,7 +95,6 @@ 818ABD5D1FE95FC9002657BB /* Web3+Contract.swift in Sources */ = {isa = PBXBuildFile; fileRef = 818ABD5C1FE95FC9002657BB /* Web3+Contract.swift */; }; 818D16CF204D42910084D2A4 /* Web3+EventParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 818D16CE204D42910084D2A4 /* Web3+EventParser.swift */; }; 818D16D0204D42940084D2A4 /* Web3+EventParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 818D16CE204D42910084D2A4 /* Web3+EventParser.swift */; }; - 818D810E1FDC1A2000663CE3 /* RLP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 818D810D1FDC1A2000663CE3 /* RLP.swift */; }; 81A1821520D5A2700016741F /* Promise+Web3+Eth+GetBalance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81A1821420D5A2700016741F /* Promise+Web3+Eth+GetBalance.swift */; }; 81A1821620D5A2700016741F /* Promise+Web3+Eth+GetBalance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81A1821420D5A2700016741F /* Promise+Web3+Eth+GetBalance.swift */; }; 81A1821A20D5A6F70016741F /* Promise+HttpProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81A1821720D5A3E70016741F /* Promise+HttpProvider.swift */; }; @@ -273,7 +269,6 @@ 810B0F9B1FEC520500CF0DA2 /* Web3+Methods.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Web3+Methods.swift"; sourceTree = ""; }; 810B0F9D1FEC5B9C00CF0DA2 /* Web3+Eth.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Web3+Eth.swift"; sourceTree = ""; }; 8113D2B01FD7E1590074282C /* CryptoExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CryptoExtensions.swift; sourceTree = ""; }; - 8113D2B21FD7E1590074282C /* LibSecp256k1Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LibSecp256k1Extension.swift; sourceTree = ""; }; 8113D2B81FD7E1590074282C /* KeystoreManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeystoreManager.swift; sourceTree = ""; }; 8113D2C31FD7E1590074282C /* EthereumTransaction.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EthereumTransaction.swift; sourceTree = ""; }; 8113D2FF1FD7F30F0074282C /* String+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+Extension.swift"; sourceTree = ""; }; @@ -303,7 +298,6 @@ 818ABD5A1FE95F8F002657BB /* Web3+Instance.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Web3+Instance.swift"; sourceTree = ""; }; 818ABD5C1FE95FC9002657BB /* Web3+Contract.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Web3+Contract.swift"; sourceTree = ""; }; 818D16CE204D42910084D2A4 /* Web3+EventParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Web3+EventParser.swift"; sourceTree = ""; }; - 818D810D1FDC1A2000663CE3 /* RLP.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RLP.swift; sourceTree = ""; }; 81A1821420D5A2700016741F /* Promise+Web3+Eth+GetBalance.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Promise+Web3+Eth+GetBalance.swift"; sourceTree = ""; }; 81A1821720D5A3E70016741F /* Promise+HttpProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Promise+HttpProvider.swift"; sourceTree = ""; }; 81A1821C20D5C6C10016741F /* web3swift_promises_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = web3swift_promises_Tests.swift; sourceTree = ""; }; @@ -560,7 +554,6 @@ 8113D2AF1FD7E1590074282C /* Classes */ = { isa = PBXGroup; children = ( - 818D810D1FDC1A2000663CE3 /* RLP.swift */, 81FB21F8207BA78B007F9A83 /* EIP67Code.swift */, 81A7B2502143C3A8004CD2C7 /* NameHash.swift */, 81A7B2862143DBF6004CD2C7 /* EIP681.swift */, @@ -792,7 +785,6 @@ children = ( 81C5DA272072E18200424CD6 /* NativeTypesEncoding+Extensions.swift */, 8113D2B01FD7E1590074282C /* CryptoExtensions.swift */, - 8113D2B21FD7E1590074282C /* LibSecp256k1Extension.swift */, 8113DE7B1FD8514400CD8DF1 /* NSRegularExpressionExtension.swift */, 817EBB1E2006265400E02EAA /* Base58.swift */, 817EBB22200649E000E02EAA /* RIPEMD160+StackOveflow.swift */, @@ -1130,7 +1122,6 @@ 8125F06920499AC300A0F2FE /* BloomFilter.swift in Sources */, 810B0F9A1FEC446B00CF0DA2 /* Web3+JSONRPC.swift in Sources */, 81195AB020D7FF8500ABC6B1 /* Promise+Web3+Contract+GetIndexedEvents.swift in Sources */, - 8113D2C61FD7E1590074282C /* LibSecp256k1Extension.swift in Sources */, 81EB1E4B208173D7003BD47F /* Web3+Personal.swift in Sources */, E2C590762152835400FF53D3 /* JSONRPCrequestDispatcher+ObjC.swift in Sources */, 81A1824B20D7DF1B0016741F /* Promise+Web3+Personal+UnlockAccount.swift in Sources */, @@ -1170,7 +1161,6 @@ B2E668CE214F8A7B00C3CC2D /* ENS.swift in Sources */, 81C5DA2E2074EBF500424CD6 /* ContractABIv2.swift in Sources */, 810B0F9E1FEC5B9C00CF0DA2 /* Web3+Eth.swift in Sources */, - 818D810E1FDC1A2000663CE3 /* RLP.swift in Sources */, 81166665204565AC008D8AD0 /* Web3+BrowserFunctions.swift in Sources */, 81531AA01FE7C07A002192CC /* EthereumKeystoreV3.swift in Sources */, 81A1824820D7DDA20016741F /* Promise+Web3+Personal+Sign.swift in Sources */, @@ -1261,7 +1251,6 @@ 41948126203630530065A83B /* Web3+Eth.swift in Sources */, 81C5DA262072E14E00424CD6 /* ABIv2Encoding.swift in Sources */, 81A1822320D678060016741F /* Promise+Web3+Eth+GetBlockNumber.swift in Sources */, - 4194812B203630530065A83B /* RLP.swift in Sources */, 4194812C203630530065A83B /* KeystoreManager.swift in Sources */, 81DFB400210775320011DC85 /* Web3+Infura.swift in Sources */, 81D7D97320A31FB700A193EC /* ComparisonExtensions.swift in Sources */, @@ -1306,7 +1295,6 @@ 81C5DA232072DFE600424CD6 /* ABIv2TypeParser.swift in Sources */, 81A7B2882143DBF6004CD2C7 /* EIP681.swift in Sources */, 81A1824C20D7DF1B0016741F /* Promise+Web3+Personal+UnlockAccount.swift in Sources */, - 41948139203630530065A83B /* LibSecp256k1Extension.swift in Sources */, 4194813B203630530065A83B /* NSRegularExpressionExtension.swift in Sources */, 81FECD46211ADE51006DA367 /* Web3+ObjC.swift in Sources */, 81C0FD042044A8A700D82FAF /* Web3+Options.swift in Sources */, diff --git a/web3swift/Convenience/Classes/CryptoExtensions.swift b/web3swift/Convenience/Classes/CryptoExtensions.swift index f633c572e..a1bcf0e9d 100755 --- a/web3swift/Convenience/Classes/CryptoExtensions.swift +++ b/web3swift/Convenience/Classes/CryptoExtensions.swift @@ -15,34 +15,6 @@ func toByteArray(_ value: T) -> [UInt8] { return withUnsafeBytes(of: &value) { Array($0) } } -//public func scryptLibSodium (password: String, salt: Data, length: Int, N: Int, R: Int, P: Int) -> Data? { -// let BytesMin = Int(crypto_generichash_bytes_min()) -// let BytesMax = Int(crypto_generichash_bytes_max()) -// if length < BytesMin || length > BytesMax { -// return nil -// } -// -// var output = Data(count: length) -// guard let passwordData = password.data(using: .utf8) else {return nil} -// let passwordLen = passwordData.count -// let saltLen = salt.count -// let result = output.withUnsafeMutableBytes { (outputPtr:UnsafeMutablePointer) -> Int32 in -// salt.withUnsafeBytes { (saltPointer:UnsafePointer) -> Int32 in -// passwordData.withUnsafeBytes{ (passwordPointer:UnsafePointer) -> Int32 in -// let res = crypto_pwhash_scryptsalsa208sha256_ll(passwordPointer, passwordLen, -// saltPointer, saltLen, -// UInt64(N), UInt32(R), UInt32(P), -// outputPtr, length) -// return res -// } -// } -// } -// if result != 0 { -// return nil -// } -// return output -//} - public func scrypt (password: String, salt: Data, length: Int, N: Int, R: Int, P: Int) -> Data? { guard let passwordData = password.data(using: .utf8) else {return nil} guard let deriver = try? Scrypt(password: passwordData.bytes, salt: salt.bytes, dkLen: length, N: N, r: R, p: P) else {return nil} diff --git a/web3swift/HookedFunctions/Classes/Web3+BrowserFunctions.swift b/web3swift/HookedFunctions/Classes/Web3+BrowserFunctions.swift index 3384c2cba..3c3603d2f 100755 --- a/web3swift/HookedFunctions/Classes/Web3+BrowserFunctions.swift +++ b/web3swift/HookedFunctions/Classes/Web3+BrowserFunctions.swift @@ -8,6 +8,7 @@ import Foundation import BigInt +import secp256k1_swift extension web3.BrowserFunctions { diff --git a/web3swift/KeystoreManager/Classes/BIP32HDNode.swift b/web3swift/KeystoreManager/Classes/BIP32HDNode.swift index 8f8591c3c..cc62cf6c4 100755 --- a/web3swift/KeystoreManager/Classes/BIP32HDNode.swift +++ b/web3swift/KeystoreManager/Classes/BIP32HDNode.swift @@ -9,6 +9,7 @@ import Foundation import BigInt import CryptoSwift +import secp256k1_swift extension UInt32 { public func serialize32() -> Data { diff --git a/web3swift/KeystoreManager/Classes/EthereumKeystoreV3.swift b/web3swift/KeystoreManager/Classes/EthereumKeystoreV3.swift index 8e3bcfed2..08accb764 100755 --- a/web3swift/KeystoreManager/Classes/EthereumKeystoreV3.swift +++ b/web3swift/KeystoreManager/Classes/EthereumKeystoreV3.swift @@ -9,6 +9,7 @@ import Foundation import CryptoSwift import Foundation +import secp256k1_swift public class EthereumKeystoreV3: AbstractKeystore { // Class diff --git a/web3swift/KeystoreManager/Classes/PlainKeystore.swift b/web3swift/KeystoreManager/Classes/PlainKeystore.swift index 48eebd418..729d6ad28 100755 --- a/web3swift/KeystoreManager/Classes/PlainKeystore.swift +++ b/web3swift/KeystoreManager/Classes/PlainKeystore.swift @@ -7,6 +7,7 @@ // import Foundation +import secp256k1_swift public class PlainKeystore: AbstractKeystore { private var privateKey: Data diff --git a/web3swift/ObjectiveCbridge/Classes/JSONRPCrequestDispatcher+ObjC.swift b/web3swift/ObjectiveCbridge/Classes/JSONRPCrequestDispatcher+ObjC.swift index d8289a961..5b57e2335 100644 --- a/web3swift/ObjectiveCbridge/Classes/JSONRPCrequestDispatcher+ObjC.swift +++ b/web3swift/ObjectiveCbridge/Classes/JSONRPCrequestDispatcher+ObjC.swift @@ -11,7 +11,7 @@ import Foundation @objc(JSONRPCrequestDispatcher) public final class _ObjCJSONRPCrequestDispatcher: NSObject { - private (set) weak var jsonRPCrequestDispatcher: JSONRPCrequestDispatcher? + private (set) var jsonRPCrequestDispatcher: JSONRPCrequestDispatcher? // TODO: -DispatchQueue init(provider: _ObjCWeb3HttpProvider, queue: DispatchQueue, policy: _ObjCDispatchPolicy) { diff --git a/web3swift/Transaction/Classes/EthereumTransaction.swift b/web3swift/Transaction/Classes/EthereumTransaction.swift index cb7b45e3e..cff0d8fe1 100755 --- a/web3swift/Transaction/Classes/EthereumTransaction.swift +++ b/web3swift/Transaction/Classes/EthereumTransaction.swift @@ -8,6 +8,8 @@ import Foundation import BigInt +import SwiftRLP +import secp256k1_swift public struct EthereumTransaction: CustomStringConvertible { public var nonce: BigUInt diff --git a/web3swift/Transaction/Classes/TransactionSigner.swift b/web3swift/Transaction/Classes/TransactionSigner.swift index 71c63fc4f..12439ef0d 100755 --- a/web3swift/Transaction/Classes/TransactionSigner.swift +++ b/web3swift/Transaction/Classes/TransactionSigner.swift @@ -9,6 +9,7 @@ import Foundation import Result import BigInt +import secp256k1_swift public enum TransactionSignerError: Error { case signatureError(String) diff --git a/web3swift/Web3/Classes/Web3+Utils.swift b/web3swift/Web3/Classes/Web3+Utils.swift index 00d976651..95ddb01d8 100755 --- a/web3swift/Web3/Classes/Web3+Utils.swift +++ b/web3swift/Web3/Classes/Web3+Utils.swift @@ -9,6 +9,8 @@ import Foundation import BigInt import CryptoSwift +import SwiftRLP +import secp256k1_swift public typealias Web3Utils = Web3.Utils @@ -27,7 +29,7 @@ extension Web3.Utils { /// and the nonce of this address public static func calcualteContractAddress(from: EthereumAddress, nonce: BigUInt) -> EthereumAddress? { guard let normalizedAddress = from.addressData.setLengthLeft(32) else {return nil} - guard let data = RLP.encode([normalizedAddress, nonce] as [Any]) else {return nil} + guard let data = RLP.encode([normalizedAddress, nonce] as [AnyObject]) else {return nil} guard let contractAddressData = Web3.Utils.sha3(data)?[12..<32] else {return nil} guard let contractAddress = EthereumAddress(Data(contractAddressData)) else {return nil} return contractAddress @@ -778,7 +780,7 @@ extension Web3.Utils { let bytes = signatureData.bytes let r = Array(bytes[0..<32]) let s = Array(bytes[32..<64]) - return SECP256K1.UnmarshaledSignature(v: bytes[64], r: r, s: s) + return SECP256K1.UnmarshaledSignature(v: bytes[64], r: Data(r), s: Data(s)) } /// Marshals the V, R and S signature parameters into a 65 byte recoverable EC signature. @@ -792,8 +794,8 @@ extension Web3.Utils { /// Marshals internal signature structure into a 65 byte recoverable EC signature. static func marshalSignature(unmarshalledSignature: SECP256K1.UnmarshaledSignature) -> Data { - var completeSignature = Data(bytes: unmarshalledSignature.r) - completeSignature.append(Data(bytes: unmarshalledSignature.s)) + var completeSignature = Data(unmarshalledSignature.r) + completeSignature.append(Data(unmarshalledSignature.s)) completeSignature.append(Data(bytes: [unmarshalledSignature.v])) return completeSignature } diff --git a/web3swiftTests/web3swift_RLP_Tests.swift b/web3swiftTests/web3swift_RLP_Tests.swift index df826349f..19280ec40 100755 --- a/web3swiftTests/web3swift_RLP_Tests.swift +++ b/web3swiftTests/web3swift_RLP_Tests.swift @@ -12,138 +12,6 @@ import BigInt @testable import web3swift_iOS class web3swift_RLP_Tests: XCTestCase { - func testRLPencodeShortString() { - let testString = "dog" - let encoded = RLP.encode(testString) - var expected = Data([UInt8(0x83)]) - expected.append(testString.data(using: .ascii)!) - XCTAssert(encoded == expected, "Failed to RLP encode short string") - } - - func testRLPencodeListOfShortStrings() { - let testInput = ["cat","dog"] - let encoded = RLP.encode(testInput) - var expected = Data() - expected.append(Data([UInt8(0xc8)])) - expected.append(Data([UInt8(0x83)])) - expected.append("cat".data(using: .ascii)!) - expected.append(Data([UInt8(0x83)])) - expected.append("dog".data(using: .ascii)!) - XCTAssert(encoded == expected, "Failed to RLP encode list of short strings") - } - - func testRLPdecodeListOfShortStrings() { - let testInput = ["cat","dog"] - var expected = Data() - expected.append(Data([UInt8(0xc8)])) - expected.append(Data([UInt8(0x83)])) - expected.append("cat".data(using: .ascii)!) - expected.append(Data([UInt8(0x83)])) - expected.append("dog".data(using: .ascii)!) - var result = RLP.decode(expected)! - XCTAssert(result.isList, "Failed to RLP decode list of short strings") // we got something non-empty - XCTAssert(result.count == 1, "Failed to RLP decode list of short strings") // we got something non-empty - result = result[0]! - XCTAssert(result.isList, "Failed to RLP decode list of short strings") // we got something non-empty - XCTAssert(result.count == 2, "Failed to RLP decode list of short strings") // we got something non-empty - XCTAssert(result[0]!.data == testInput[0].data(using: .ascii), "Failed to RLP decode list of short strings") - XCTAssert(result[1]!.data == testInput[1].data(using: .ascii), "Failed to RLP decode list of short strings") - } - - func testRLPencodeLongString() { - let testInput = "Lorem ipsum dolor sit amet, consectetur adipisicing elit" - let encoded = RLP.encode(testInput) - var expected = Data() - expected.append(Data([UInt8(0xb8)])) - expected.append(Data([UInt8(0x38)])) - expected.append("Lorem ipsum dolor sit amet, consectetur adipisicing elit".data(using: .ascii)!) - XCTAssert(encoded == expected, "Failed to RLP encode long string") - } - - func testRLPdecodeLongString() { - let testInput = "Lorem ipsum dolor sit amet, consectetur adipisicing elit" - var expected = Data() - expected.append(Data([UInt8(0xb8)])) - expected.append(Data([UInt8(0x38)])) - expected.append(testInput.data(using: .ascii)!) - let result = RLP.decode(expected)! - XCTAssert(result.count == 1, "Failed to RLP decode long string") - XCTAssert(result[0]!.data == testInput.data(using: .ascii), "Failed to RLP decode long string") - } - - func testRLPencodeEmptyString() { - let testInput = "" - let encoded = RLP.encode(testInput) - var expected = Data() - expected.append(Data([UInt8(0x80)])) - XCTAssert(encoded == expected, "Failed to RLP encode empty string") - } - - func testRLPdecodeEmptyString() { - let testInput = "" - var expected = Data() - expected.append(Data([UInt8(0x80)])) - let result = RLP.decode(expected)! - XCTAssert(result.count == 1, "Failed to RLP decode empty string") - XCTAssert(result[0]!.data == testInput.data(using: .ascii), "Failed to RLP decode empty string") - } - - func testRLPencodeEmptyArray() { - let testInput = [Data]() - let encoded = RLP.encode(testInput) - var expected = Data() - expected.append(Data([UInt8(0xc0)])) - XCTAssert(encoded == expected, "Failed to RLP encode empty array") - } - - func testRLPdecodeEmptyArray() { - // let testInput = [Data]() - var expected = Data() - expected.append(Data([UInt8(0xc0)])) - var result = RLP.decode(expected)! - XCTAssert(result.count == 1, "Failed to RLP decode empty array") - result = result[0]! - guard case .noItem = result.content else {return XCTFail()} - } - - func testRLPencodeShortInt() { - let testInput = 15 - let encoded = RLP.encode(testInput) - let expected = Data([UInt8(0x0f)]) - XCTAssert(encoded == expected, "Failed to RLP encode short int") - } - - func testRLPdecodeShortInt() { - let testInput = 15 - let expected = Data([UInt8(0x0f)]) - let result = RLP.decode(expected)! - - XCTAssert(result.count == 1, "Failed to RLP decode short int") - XCTAssert(BigUInt(result[0]!.data!) == testInput, "Failed to RLP decode short int") - } - - func testRLPencodeLargeInt() { - let testInput = 1024 - let encoded = RLP.encode(testInput) - var expected = Data() - expected.append(Data([UInt8(0x82)])) - expected.append(Data([UInt8(0x04)])) - expected.append(Data([UInt8(0x00)])) - XCTAssert(encoded == expected, "Failed to RLP encode large int") - } - - func testRLPdecodeLargeInt() { - let testInput = 1024 - var expected = Data() - expected.append(Data([UInt8(0x82)])) - expected.append(Data([UInt8(0x04)])) - expected.append(Data([UInt8(0x00)])) - let result = RLP.decode(expected)! - - XCTAssert(result.count == 1, "Failed to RLP decode large int") - XCTAssert(BigUInt(result[0]!.data!) == testInput, "Failed to RLP decode large int") - } - func testRLPdecodeTransaction() { let input = Data.fromHex("0xf90890558504e3b292008309153a8080b9083d6060604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550341561004f57600080fd5b60405160208061081d83398101604052808051906020019091905050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156100a757600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610725806100f86000396000f300606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610067578063b2b2c008146100bc578063d59ba0df146101eb578063d8ffdcc414610247575b600080fd5b341561007257600080fd5b61007a61029c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100c757600080fd5b61019460048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919050506102c1565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156101d75780820151818401526020810190506101bc565b505050509050019250505060405180910390f35b34156101f657600080fd5b61022d600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080351515906020019091905050610601565b604051808215151515815260200191505060405180910390f35b341561025257600080fd5b61025a6106bf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6102c96106e5565b6102d16106e5565b6000806000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561032e57600080fd5b8651885114151561033e57600080fd5b875160405180591061034d5750595b9080825280602002602001820160405250935060009250600091505b87518210156105f357600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd87848151811015156103be57fe5b906020019060200201518a858151811015156103d657fe5b906020019060200201518a868151811015156103ee57fe5b906020019060200201516000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15156104b857600080fd5b6102c65a03f115156104c957600080fd5b50505060405180519050905080156105e65787828151811015156104e957fe5b90602001906020020151848481518110151561050157fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508280600101935050868281518110151561055357fe5b90602001906020020151888381518110151561056b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff16878481518110151561059957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff167f334b3b1d4ad406523ee8e24beb689f5adbe99883a662c37d43275de52389da1460405160405180910390a45b8180600101925050610369565b839450505050509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561065e57600080fd5b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6020604051908101604052806000815250905600a165627a7a723058200618093d895b780d4616f24638637da0e0f9767e6d3675a9525fee1d6ed7f431002900000000000000000000000045245bc59219eeaaf6cd3f382e078a461ff9de7b25a0d1efc3c97d1aa9053aa0f59bf148d73f59764343bf3cae576c8769a14866948da0613d0265634fddd436397bc858e2672653833b57a05cfc8b93c14a6c05166e4a")! let transaction = EthereumTransaction.fromRaw(input) From 2c11206013af8f33635fe338fc641f05228c0636 Mon Sep 17 00:00:00 2001 From: Alex Vlasov Date: Thu, 4 Oct 2018 16:22:44 +0300 Subject: [PATCH 61/66] continue cleanup --- web3swift/Utils/Classes/RLP.swift | 332 ------------------------------ 1 file changed, 332 deletions(-) delete mode 100755 web3swift/Utils/Classes/RLP.swift diff --git a/web3swift/Utils/Classes/RLP.swift b/web3swift/Utils/Classes/RLP.swift deleted file mode 100755 index c9eb8323f..000000000 --- a/web3swift/Utils/Classes/RLP.swift +++ /dev/null @@ -1,332 +0,0 @@ -// -// RLP.swift -// web3swift -// -// Created by Alexander Vlasov on 09.12.2017. -// Copyright © 2017 Bankex Foundation. All rights reserved. -// - -import Foundation -import BigInt - -protocol ArrayType {} -extension Array : ArrayType {} - -struct RLP { - static var length56 = BigUInt(UInt(56)) - static var lengthMax = (BigUInt(UInt(1)) << 256) - - static func encode(_ element: AnyObject) -> Data? { - if let string = element as? String { - return encode(string) - - } else if let data = element as? Data { - return encode(data) - } - else if let biguint = element as? BigUInt { - return encode(biguint) - } - return nil; - } - - internal static func encode(_ string: String) -> Data? { - if let hexData = Data.fromHex(string) { - return encode(hexData) - } - guard let data = string.data(using: .utf8) else {return nil} - return encode(data) - } - - internal static func encode(_ number: Int) -> Data? { - guard number >= 0 else {return nil} - let uint = UInt(number) - return encode(uint) - } - - internal static func encode(_ number: UInt) -> Data? { - let biguint = BigUInt(number) - return encode(biguint) - } - - internal static func encode(_ number: BigUInt) -> Data? { - let encoded = number.serialize() - return encode(encoded) - } - -// internal static func encode(_ unstrippedData: Data) -> Data? { -// var startIndex = 0; -// for i in 0.. Data? { - if (data.count == 1 && data.bytes[0] < UInt8(0x80)) { - return data - } else { - guard let length = encodeLength(data.count, offset: UInt8(0x80)) else {return nil} - var encoded = Data() - encoded.append(length) - encoded.append(data) - return encoded - } - } - - internal static func encodeLength(_ length: Int, offset: UInt8) -> Data? { - if (length < 0) { - return nil; - } - let bigintLength = BigUInt(UInt(length)) - return encodeLength(bigintLength, offset: offset) - } - - internal static func encodeLength(_ length: BigUInt, offset: UInt8) -> Data? { - if (length < length56) { - let encodedLength = length + BigUInt(UInt(offset)) - guard (encodedLength.bitWidth <= 8) else {return nil} - return encodedLength.serialize() - } else if (length < lengthMax) { - let encodedLength = length.serialize() - let len = BigUInt(UInt(encodedLength.count)) - guard let prefix = lengthToBinary(len) else {return nil} - let lengthPrefix = prefix + offset + UInt8(55) - var encoded = Data([lengthPrefix]) - encoded.append(encodedLength) - return encoded - } - return nil - } - - internal static func lengthToBinary(_ length: BigUInt) -> UInt8? { - if (length == 0) { - return UInt8(0) - } - let divisor = BigUInt(256) - var encoded = Data() - guard let prefix = lengthToBinary(length/divisor) else {return nil} - let suffix = length % divisor - - var prefixData = Data([prefix]) - if (prefix == UInt8(0)) { - prefixData = Data() - } - let suffixData = suffix.serialize() - - encoded.append(prefixData) - encoded.append(suffixData) - guard encoded.count == 1 else {return nil} - return encoded.bytes[0] - } - - public static func encode(_ elements: Array) -> Data? { - var encodedData = Data() - for e in elements { - if let encoded = encode(e) { - encodedData.append(encoded) - } else { - guard let asArray = e as? Array else {return nil} - guard let encoded = encode(asArray) else {return nil} - encodedData.append(encoded) - } - } - guard var encodedLength = encodeLength(encodedData.count, offset: UInt8(0xc0)) else {return nil} - if (encodedLength != Data()) { - encodedLength.append(encodedData) - } - return encodedLength - } - - static func encode(_ elements: [Any]) -> Data? { - var encodedData = Data() - for el in elements { - let e = el as AnyObject - guard let encoded = encode(e) else {return nil} - encodedData.append(encoded) - } - guard var encodedLength = encodeLength(encodedData.count, offset: UInt8(0xc0)) else {return nil} - if (encodedLength != Data()) { - encodedLength.append(encodedData) - } - return encodedLength - } - - static func decode(_ raw: String) -> RLPItem? { - guard let rawData = Data.fromHex(raw) else {return nil} - return decode(rawData) - } - - static func decode(_ raw: Data) -> RLPItem? { - if raw.count == 0 { - return RLPItem.noItem - } - var outputArray = [RLPItem]() - var bytesToParse = raw - while bytesToParse.count != 0 { - let (of, dl, t) = decodeLength(bytesToParse) - guard let offset = of, let dataLength = dl, let type = t else {return nil} - switch type { - case .empty: - break - case .data: - guard let slice = try? slice(data: bytesToParse, offset: offset, length: dataLength) else {return nil} - let data = Data(slice) - let rlpItem = RLPItem.init(content: .data(data)) - outputArray.append(rlpItem) - case .list: - guard let slice = try? slice(data: bytesToParse, offset: offset, length: dataLength) else {return nil} - guard let inside = decode(Data(slice)) else {return nil} - switch inside.content { - case .data(_): - return nil - default: - outputArray.append(inside) - } - } - guard let tail = try? slice(data: bytesToParse, start: offset + dataLength) else {return nil} - bytesToParse = tail - } - return RLPItem.init(content: .list(outputArray, 0)) - } - - enum UnderlyingType { - case empty - case data - case list - } - - struct RLPItem { - - enum RLPContent { - case noItem - case data(Data) - indirect case list([RLPItem], Int) - } - - var content: RLPContent - - var isData: Bool { - switch self.content { - case .noItem: - return false - case .data(_): - return true - case .list(_): - return false - } - } - - var isList: Bool { - switch self.content { - case .noItem: - return false - case .data(_): - return false - case .list(_): - return true - } - } - var count: Int? { - switch self.content { - case .noItem: - return nil - case .data(_): - return nil - case .list(let list, _): - return list.count - } - } - var hasNext: Bool { - switch self.content { - case .noItem: - return false - case .data(_): - return false - case .list(let list, let counter): - return list.count > counter - } - } - - subscript(index: Int) -> RLPItem? { - get { - guard self.hasNext else {return nil} - guard case .list(let list, _) = self.content else {return nil} - let item = list[index] - return item - } - } - - var data: Data? { - return self.getData() - } - - func getData() -> Data? { - if self.isList { - return nil - } - guard case .data(let data) = self.content else {return nil} - return data - } - - static var noItem: RLPItem { - return RLPItem.init(content: .noItem) - } - } - - internal static func decodeLength(_ input: Data) -> (offset: BigUInt?, length: BigUInt?, type: UnderlyingType?) { - do { - let length = BigUInt(input.count) - if (length == BigUInt(0)) { - return (0, 0, .empty) - } - let prefixByte = input[0] - if prefixByte <= 0x7f { - return (BigUInt(0), BigUInt(1), .data) - }else if prefixByte <= 0xb7 && length > BigUInt(prefixByte - 0x80) { - let dataLength = BigUInt(prefixByte - 0x80) - return (BigUInt(1), dataLength, .data) - } else if try prefixByte <= 0xbf && length > BigUInt(prefixByte - 0xb7) && length > BigUInt(prefixByte - 0xb7) + toBigUInt(slice(data: input, offset: BigUInt(1), length: BigUInt(prefixByte - 0xb7))) { - let lengthOfLength = BigUInt(prefixByte - 0xb7) - let dataLength = try toBigUInt(slice(data: input, offset: BigUInt(1), length: BigUInt(prefixByte - 0xb7))) - return (1 + lengthOfLength, dataLength, .data) - } else if prefixByte <= 0xf7 && length > BigUInt(prefixByte - 0xc0) { - let listLen = BigUInt(prefixByte - 0xc0) - return (1, listLen, .list) - } else if try prefixByte <= 0xff && length > BigUInt(prefixByte - 0xf7) && length > BigUInt(prefixByte - 0xf7) + toBigUInt(slice(data: input, offset: BigUInt(1), length: BigUInt(prefixByte - 0xf7))) { - let lengthOfListLength = BigUInt(prefixByte - 0xf7) - let listLength = try toBigUInt(slice(data: input, offset: BigUInt(1), length: BigUInt(prefixByte - 0xf7))) - return (1 + lengthOfListLength, listLength, .list) - } else { - return (nil, nil, nil) - } - } catch { - return (nil, nil, nil) - } - } - - internal static func slice(data: Data, offset: BigUInt, length: BigUInt) throws -> Data { - if BigUInt(data.count) < offset + length {throw Web3Error.dataError} - let slice = data[UInt64(offset) ..< UInt64(offset + length)] - return Data(slice) - } - - internal static func slice(data: Data, start: BigUInt) throws -> Data { - if BigUInt(data.count) < start {throw Web3Error.dataError} - let slice = data[UInt64(start) ..< UInt64(data.count)] - return Data(slice) - } - - internal static func toBigUInt(_ raw: Data) throws -> BigUInt { - if raw.count == 0 { - throw Web3Error.dataError - } else if raw.count == 1 { - return BigUInt.init(raw) - } else { - let slice = raw[0 ..< raw.count - 1] - return try BigUInt(raw[raw.count-1]) + toBigUInt(slice)*256 - } - } -} - - From 6d30a6ff3c0cbe788ec68ac502198658c85ddd52 Mon Sep 17 00:00:00 2001 From: Alex Vlasov Date: Thu, 4 Oct 2018 16:23:54 +0300 Subject: [PATCH 62/66] continue adding files --- .../secp256k1_swift-iOS-umbrella.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS-umbrella.h diff --git a/Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS-umbrella.h b/Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS-umbrella.h new file mode 100644 index 000000000..0390c804f --- /dev/null +++ b/Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS-umbrella.h @@ -0,0 +1,19 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "secp256k1.h" +#import "secp256k1_ecdh.h" +#import "secp256k1_recovery.h" + +FOUNDATION_EXPORT double secp256k1_swiftVersionNumber; +FOUNDATION_EXPORT const unsigned char secp256k1_swiftVersionString[]; + From 6a0557699a86b0ac56975f4b9f26efb35884b0f2 Mon Sep 17 00:00:00 2001 From: Alex Vlasov Date: Thu, 4 Oct 2018 16:25:29 +0300 Subject: [PATCH 63/66] remove old pod files --- .../secp256k1_ios-iOS-prefix.pch | 12 - .../secp256k1_ios-iOS-umbrella.h | 19 - .../secp256k1_ios-iOS.xcconfig | 11 - .../secp256k1_ios-macOS-prefix.pch | 12 - .../secp256k1_ios-macOS-umbrella.h | 19 - .../secp256k1_ios-macOS.xcconfig | 11 - .../secp256k1_ios/contrib/lax_der_parsing.c | 150 --- .../secp256k1_ios/contrib/lax_der_parsing.h | 91 -- .../contrib/lax_der_privatekey_parsing.c | 113 -- .../contrib/lax_der_privatekey_parsing.h | 90 -- .../secp256k1_ios/include/secp256k1.h | 654 ---------- .../secp256k1_ios/include/secp256k1_ecdh.h | 31 - .../include/secp256k1_recovery.h | 110 -- .../secp256k1_ios/libsecp256k1-config.h | 46 - .../secp256k1_ios/src/basic-config.h | 33 - Pods/secp256k1_ios/secp256k1_ios/src/ecdsa.h | 21 - .../secp256k1_ios/src/ecdsa_impl.h | 313 ----- Pods/secp256k1_ios/secp256k1_ios/src/eckey.h | 25 - .../secp256k1_ios/src/eckey_impl.h | 100 -- Pods/secp256k1_ios/secp256k1_ios/src/ecmult.h | 47 - .../secp256k1_ios/src/ecmult_const.h | 17 - .../secp256k1_ios/src/ecmult_const_impl.h | 257 ---- .../secp256k1_ios/src/ecmult_gen.h | 43 - .../secp256k1_ios/src/ecmult_gen_impl.h | 210 --- .../secp256k1_ios/src/ecmult_impl.h | 1027 --------------- Pods/secp256k1_ios/secp256k1_ios/src/field.h | 132 -- .../secp256k1_ios/src/field_10x26.h | 48 - .../secp256k1_ios/src/field_10x26_impl.h | 1161 ----------------- .../secp256k1_ios/src/field_5x52.h | 47 - .../secp256k1_ios/src/field_5x52_asm_impl.h | 502 ------- .../secp256k1_ios/src/field_5x52_impl.h | 496 ------- .../src/field_5x52_int128_impl.h | 277 ---- .../secp256k1_ios/src/field_impl.h | 315 ----- Pods/secp256k1_ios/secp256k1_ios/src/group.h | 147 --- .../secp256k1_ios/src/group_impl.h | 706 ---------- Pods/secp256k1_ios/secp256k1_ios/src/hash.h | 41 - .../secp256k1_ios/src/hash_impl.h | 282 ---- .../src/modules/ecdh/main_impl.h | 54 - .../src/modules/recovery/main_impl.h | 193 --- Pods/secp256k1_ios/secp256k1_ios/src/num.h | 74 -- .../secp256k1_ios/secp256k1_ios/src/num_gmp.h | 20 - .../secp256k1_ios/src/num_gmp_impl.h | 288 ---- .../secp256k1_ios/src/num_impl.h | 24 - Pods/secp256k1_ios/secp256k1_ios/src/scalar.h | 106 -- .../secp256k1_ios/src/scalar_4x64.h | 19 - .../secp256k1_ios/src/scalar_4x64_impl.h | 949 -------------- .../secp256k1_ios/src/scalar_8x32.h | 19 - .../secp256k1_ios/src/scalar_8x32_impl.h | 721 ---------- .../secp256k1_ios/src/scalar_impl.h | 333 ----- .../secp256k1_ios/src/scalar_low.h | 15 - .../secp256k1_ios/src/scalar_low_impl.h | 114 -- .../secp256k1_ios/secp256k1_ios/src/scratch.h | 39 - .../secp256k1_ios/src/scratch_impl.h | 86 -- .../secp256k1_ios/src/secp256k1.c | 597 --------- Pods/secp256k1_ios/secp256k1_ios/src/util.h | 121 -- .../Classes/LibSecp256k1Extension.swift | 307 ----- 56 files changed, 11695 deletions(-) delete mode 100644 Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-prefix.pch delete mode 100644 Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-umbrella.h delete mode 100644 Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.xcconfig delete mode 100644 Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch delete mode 100644 Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-umbrella.h delete mode 100644 Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_parsing.c delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_parsing.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_privatekey_parsing.c delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_privatekey_parsing.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/include/secp256k1.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/include/secp256k1_ecdh.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/include/secp256k1_recovery.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/libsecp256k1-config.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/basic-config.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/ecdsa.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/ecdsa_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/eckey.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/eckey_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/ecmult.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/ecmult_const.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/ecmult_const_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/ecmult_gen.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/ecmult_gen_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/ecmult_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/field.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/field_10x26.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/field_10x26_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/field_5x52.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_asm_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_int128_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/field_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/group.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/group_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/hash.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/hash_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/modules/ecdh/main_impl.h delete mode 100755 Pods/secp256k1_ios/secp256k1_ios/src/modules/recovery/main_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/num.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/num_gmp.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/num_gmp_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/num_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/scalar.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/scalar_4x64.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/scalar_4x64_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/scalar_8x32.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/scalar_8x32_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/scalar_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/scalar_low.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/scalar_low_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/scratch.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/scratch_impl.h delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/secp256k1.c delete mode 100644 Pods/secp256k1_ios/secp256k1_ios/src/util.h delete mode 100755 web3swift/Convenience/Classes/LibSecp256k1Extension.swift diff --git a/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-prefix.pch b/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-prefix.pch deleted file mode 100644 index beb2a2441..000000000 --- a/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-prefix.pch +++ /dev/null @@ -1,12 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - diff --git a/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-umbrella.h b/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-umbrella.h deleted file mode 100644 index 5fdc91610..000000000 --- a/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS-umbrella.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "secp256k1.h" -#import "secp256k1_ecdh.h" -#import "secp256k1_recovery.h" - -FOUNDATION_EXPORT double secp256k1_iosVersionNumber; -FOUNDATION_EXPORT const unsigned char secp256k1_iosVersionString[]; - diff --git a/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.xcconfig b/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.xcconfig deleted file mode 100644 index b6ddadd3f..000000000 --- a/Pods/Target Support Files/secp256k1_ios-iOS/secp256k1_ios-iOS.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-iOS -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/secp256k1_ios" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/secp256k1_ios/secp256k1_ios" -OTHER_CFLAGS = -DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3 -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/secp256k1_ios -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = ${PODS_ROOT} diff --git a/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch b/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch deleted file mode 100644 index 082f8af22..000000000 --- a/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-prefix.pch +++ /dev/null @@ -1,12 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - diff --git a/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-umbrella.h b/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-umbrella.h deleted file mode 100644 index 117a91bcd..000000000 --- a/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS-umbrella.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "secp256k1.h" -#import "secp256k1_ecdh.h" -#import "secp256k1_recovery.h" - -FOUNDATION_EXPORT double secp256k1_iosVersionNumber; -FOUNDATION_EXPORT const unsigned char secp256k1_iosVersionString[]; - diff --git a/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig b/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig deleted file mode 100644 index 2a7be75cc..000000000 --- a/Pods/Target Support Files/secp256k1_ios-macOS/secp256k1_ios-macOS.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_ios-macOS -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/secp256k1_ios" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/secp256k1_ios/secp256k1_ios" -OTHER_CFLAGS = -DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3 -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/secp256k1_ios -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = ${PODS_ROOT} diff --git a/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_parsing.c b/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_parsing.c deleted file mode 100644 index 5b141a994..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_parsing.c +++ /dev/null @@ -1,150 +0,0 @@ -/********************************************************************** - * Copyright (c) 2015 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#include -#include - -#include "lax_der_parsing.h" - -int ecdsa_signature_parse_der_lax(const secp256k1_context* ctx, secp256k1_ecdsa_signature* sig, const unsigned char *input, size_t inputlen) { - size_t rpos, rlen, spos, slen; - size_t pos = 0; - size_t lenbyte; - unsigned char tmpsig[64] = {0}; - int overflow = 0; - - /* Hack to initialize sig with a correctly-parsed but invalid signature. */ - secp256k1_ecdsa_signature_parse_compact(ctx, sig, tmpsig); - - /* Sequence tag byte */ - if (pos == inputlen || input[pos] != 0x30) { - return 0; - } - pos++; - - /* Sequence length bytes */ - if (pos == inputlen) { - return 0; - } - lenbyte = input[pos++]; - if (lenbyte & 0x80) { - lenbyte -= 0x80; - if (pos + lenbyte > inputlen) { - return 0; - } - pos += lenbyte; - } - - /* Integer tag byte for R */ - if (pos == inputlen || input[pos] != 0x02) { - return 0; - } - pos++; - - /* Integer length for R */ - if (pos == inputlen) { - return 0; - } - lenbyte = input[pos++]; - if (lenbyte & 0x80) { - lenbyte -= 0x80; - if (pos + lenbyte > inputlen) { - return 0; - } - while (lenbyte > 0 && input[pos] == 0) { - pos++; - lenbyte--; - } - if (lenbyte >= sizeof(size_t)) { - return 0; - } - rlen = 0; - while (lenbyte > 0) { - rlen = (rlen << 8) + input[pos]; - pos++; - lenbyte--; - } - } else { - rlen = lenbyte; - } - if (rlen > inputlen - pos) { - return 0; - } - rpos = pos; - pos += rlen; - - /* Integer tag byte for S */ - if (pos == inputlen || input[pos] != 0x02) { - return 0; - } - pos++; - - /* Integer length for S */ - if (pos == inputlen) { - return 0; - } - lenbyte = input[pos++]; - if (lenbyte & 0x80) { - lenbyte -= 0x80; - if (pos + lenbyte > inputlen) { - return 0; - } - while (lenbyte > 0 && input[pos] == 0) { - pos++; - lenbyte--; - } - if (lenbyte >= sizeof(size_t)) { - return 0; - } - slen = 0; - while (lenbyte > 0) { - slen = (slen << 8) + input[pos]; - pos++; - lenbyte--; - } - } else { - slen = lenbyte; - } - if (slen > inputlen - pos) { - return 0; - } - spos = pos; - pos += slen; - - /* Ignore leading zeroes in R */ - while (rlen > 0 && input[rpos] == 0) { - rlen--; - rpos++; - } - /* Copy R value */ - if (rlen > 32) { - overflow = 1; - } else { - memcpy(tmpsig + 32 - rlen, input + rpos, rlen); - } - - /* Ignore leading zeroes in S */ - while (slen > 0 && input[spos] == 0) { - slen--; - spos++; - } - /* Copy S value */ - if (slen > 32) { - overflow = 1; - } else { - memcpy(tmpsig + 64 - slen, input + spos, slen); - } - - if (!overflow) { - overflow = !secp256k1_ecdsa_signature_parse_compact(ctx, sig, tmpsig); - } - if (overflow) { - memset(tmpsig, 0, 64); - secp256k1_ecdsa_signature_parse_compact(ctx, sig, tmpsig); - } - return 1; -} - diff --git a/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_parsing.h b/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_parsing.h deleted file mode 100644 index 7eaf63bf6..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_parsing.h +++ /dev/null @@ -1,91 +0,0 @@ -/********************************************************************** - * Copyright (c) 2015 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -/**** - * Please do not link this file directly. It is not part of the libsecp256k1 - * project and does not promise any stability in its API, functionality or - * presence. Projects which use this code should instead copy this header - * and its accompanying .c file directly into their codebase. - ****/ - -/* This file defines a function that parses DER with various errors and - * violations. This is not a part of the library itself, because the allowed - * violations are chosen arbitrarily and do not follow or establish any - * standard. - * - * In many places it matters that different implementations do not only accept - * the same set of valid signatures, but also reject the same set of signatures. - * The only means to accomplish that is by strictly obeying a standard, and not - * accepting anything else. - * - * Nonetheless, sometimes there is a need for compatibility with systems that - * use signatures which do not strictly obey DER. The snippet below shows how - * certain violations are easily supported. You may need to adapt it. - * - * Do not use this for new systems. Use well-defined DER or compact signatures - * instead if you have the choice (see secp256k1_ecdsa_signature_parse_der and - * secp256k1_ecdsa_signature_parse_compact). - * - * The supported violations are: - * - All numbers are parsed as nonnegative integers, even though X.609-0207 - * section 8.3.3 specifies that integers are always encoded as two's - * complement. - * - Integers can have length 0, even though section 8.3.1 says they can't. - * - Integers with overly long padding are accepted, violation section - * 8.3.2. - * - 127-byte long length descriptors are accepted, even though section - * 8.1.3.5.c says that they are not. - * - Trailing garbage data inside or after the signature is ignored. - * - The length descriptor of the sequence is ignored. - * - * Compared to for example OpenSSL, many violations are NOT supported: - * - Using overly long tag descriptors for the sequence or integers inside, - * violating section 8.1.2.2. - * - Encoding primitive integers as constructed values, violating section - * 8.3.1. - */ - -#ifndef SECP256K1_CONTRIB_LAX_DER_PARSING_H -#define SECP256K1_CONTRIB_LAX_DER_PARSING_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** Parse a signature in "lax DER" format - * - * Returns: 1 when the signature could be parsed, 0 otherwise. - * Args: ctx: a secp256k1 context object - * Out: sig: a pointer to a signature object - * In: input: a pointer to the signature to be parsed - * inputlen: the length of the array pointed to be input - * - * This function will accept any valid DER encoded signature, even if the - * encoded numbers are out of range. In addition, it will accept signatures - * which violate the DER spec in various ways. Its purpose is to allow - * validation of the Bitcoin blockchain, which includes non-DER signatures - * from before the network rules were updated to enforce DER. Note that - * the set of supported violations is a strict subset of what OpenSSL will - * accept. - * - * After the call, sig will always be initialized. If parsing failed or the - * encoded numbers are out of range, signature validation with it is - * guaranteed to fail for every message and public key. - */ -int ecdsa_signature_parse_der_lax( - const secp256k1_context* ctx, - secp256k1_ecdsa_signature* sig, - const unsigned char *input, - size_t inputlen -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); - -#ifdef __cplusplus -} -#endif - -#endif /* SECP256K1_CONTRIB_LAX_DER_PARSING_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_privatekey_parsing.c b/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_privatekey_parsing.c deleted file mode 100644 index c2e63b4b8..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_privatekey_parsing.c +++ /dev/null @@ -1,113 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014, 2015 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#include -#include - -#include "lax_der_privatekey_parsing.h" - -int ec_privkey_import_der(const secp256k1_context* ctx, unsigned char *out32, const unsigned char *privkey, size_t privkeylen) { - const unsigned char *end = privkey + privkeylen; - int lenb = 0; - int len = 0; - memset(out32, 0, 32); - /* sequence header */ - if (end < privkey+1 || *privkey != 0x30) { - return 0; - } - privkey++; - /* sequence length constructor */ - if (end < privkey+1 || !(*privkey & 0x80)) { - return 0; - } - lenb = *privkey & ~0x80; privkey++; - if (lenb < 1 || lenb > 2) { - return 0; - } - if (end < privkey+lenb) { - return 0; - } - /* sequence length */ - len = privkey[lenb-1] | (lenb > 1 ? privkey[lenb-2] << 8 : 0); - privkey += lenb; - if (end < privkey+len) { - return 0; - } - /* sequence element 0: version number (=1) */ - if (end < privkey+3 || privkey[0] != 0x02 || privkey[1] != 0x01 || privkey[2] != 0x01) { - return 0; - } - privkey += 3; - /* sequence element 1: octet string, up to 32 bytes */ - if (end < privkey+2 || privkey[0] != 0x04 || privkey[1] > 0x20 || end < privkey+2+privkey[1]) { - return 0; - } - memcpy(out32 + 32 - privkey[1], privkey + 2, privkey[1]); - if (!secp256k1_ec_seckey_verify(ctx, out32)) { - memset(out32, 0, 32); - return 0; - } - return 1; -} - -int ec_privkey_export_der(const secp256k1_context *ctx, unsigned char *privkey, size_t *privkeylen, const unsigned char *key32, int compressed) { - secp256k1_pubkey pubkey; - size_t pubkeylen = 0; - if (!secp256k1_ec_pubkey_create(ctx, &pubkey, key32)) { - *privkeylen = 0; - return 0; - } - if (compressed) { - static const unsigned char begin[] = { - 0x30,0x81,0xD3,0x02,0x01,0x01,0x04,0x20 - }; - static const unsigned char middle[] = { - 0xA0,0x81,0x85,0x30,0x81,0x82,0x02,0x01,0x01,0x30,0x2C,0x06,0x07,0x2A,0x86,0x48, - 0xCE,0x3D,0x01,0x01,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFE,0xFF,0xFF,0xFC,0x2F,0x30,0x06,0x04,0x01,0x00,0x04,0x01,0x07,0x04, - 0x21,0x02,0x79,0xBE,0x66,0x7E,0xF9,0xDC,0xBB,0xAC,0x55,0xA0,0x62,0x95,0xCE,0x87, - 0x0B,0x07,0x02,0x9B,0xFC,0xDB,0x2D,0xCE,0x28,0xD9,0x59,0xF2,0x81,0x5B,0x16,0xF8, - 0x17,0x98,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFE,0xBA,0xAE,0xDC,0xE6,0xAF,0x48,0xA0,0x3B,0xBF,0xD2,0x5E, - 0x8C,0xD0,0x36,0x41,0x41,0x02,0x01,0x01,0xA1,0x24,0x03,0x22,0x00 - }; - unsigned char *ptr = privkey; - memcpy(ptr, begin, sizeof(begin)); ptr += sizeof(begin); - memcpy(ptr, key32, 32); ptr += 32; - memcpy(ptr, middle, sizeof(middle)); ptr += sizeof(middle); - pubkeylen = 33; - secp256k1_ec_pubkey_serialize(ctx, ptr, &pubkeylen, &pubkey, SECP256K1_EC_COMPRESSED); - ptr += pubkeylen; - *privkeylen = ptr - privkey; - } else { - static const unsigned char begin[] = { - 0x30,0x82,0x01,0x13,0x02,0x01,0x01,0x04,0x20 - }; - static const unsigned char middle[] = { - 0xA0,0x81,0xA5,0x30,0x81,0xA2,0x02,0x01,0x01,0x30,0x2C,0x06,0x07,0x2A,0x86,0x48, - 0xCE,0x3D,0x01,0x01,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFE,0xFF,0xFF,0xFC,0x2F,0x30,0x06,0x04,0x01,0x00,0x04,0x01,0x07,0x04, - 0x41,0x04,0x79,0xBE,0x66,0x7E,0xF9,0xDC,0xBB,0xAC,0x55,0xA0,0x62,0x95,0xCE,0x87, - 0x0B,0x07,0x02,0x9B,0xFC,0xDB,0x2D,0xCE,0x28,0xD9,0x59,0xF2,0x81,0x5B,0x16,0xF8, - 0x17,0x98,0x48,0x3A,0xDA,0x77,0x26,0xA3,0xC4,0x65,0x5D,0xA4,0xFB,0xFC,0x0E,0x11, - 0x08,0xA8,0xFD,0x17,0xB4,0x48,0xA6,0x85,0x54,0x19,0x9C,0x47,0xD0,0x8F,0xFB,0x10, - 0xD4,0xB8,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFE,0xBA,0xAE,0xDC,0xE6,0xAF,0x48,0xA0,0x3B,0xBF,0xD2,0x5E, - 0x8C,0xD0,0x36,0x41,0x41,0x02,0x01,0x01,0xA1,0x44,0x03,0x42,0x00 - }; - unsigned char *ptr = privkey; - memcpy(ptr, begin, sizeof(begin)); ptr += sizeof(begin); - memcpy(ptr, key32, 32); ptr += 32; - memcpy(ptr, middle, sizeof(middle)); ptr += sizeof(middle); - pubkeylen = 65; - secp256k1_ec_pubkey_serialize(ctx, ptr, &pubkeylen, &pubkey, SECP256K1_EC_UNCOMPRESSED); - ptr += pubkeylen; - *privkeylen = ptr - privkey; - } - return 1; -} diff --git a/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_privatekey_parsing.h b/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_privatekey_parsing.h deleted file mode 100644 index fece261fb..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/contrib/lax_der_privatekey_parsing.h +++ /dev/null @@ -1,90 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014, 2015 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -/**** - * Please do not link this file directly. It is not part of the libsecp256k1 - * project and does not promise any stability in its API, functionality or - * presence. Projects which use this code should instead copy this header - * and its accompanying .c file directly into their codebase. - ****/ - -/* This file contains code snippets that parse DER private keys with - * various errors and violations. This is not a part of the library - * itself, because the allowed violations are chosen arbitrarily and - * do not follow or establish any standard. - * - * It also contains code to serialize private keys in a compatible - * manner. - * - * These functions are meant for compatibility with applications - * that require BER encoded keys. When working with secp256k1-specific - * code, the simple 32-byte private keys normally used by the - * library are sufficient. - */ - -#ifndef SECP256K1_CONTRIB_BER_PRIVATEKEY_H -#define SECP256K1_CONTRIB_BER_PRIVATEKEY_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** Export a private key in DER format. - * - * Returns: 1 if the private key was valid. - * Args: ctx: pointer to a context object, initialized for signing (cannot - * be NULL) - * Out: privkey: pointer to an array for storing the private key in BER. - * Should have space for 279 bytes, and cannot be NULL. - * privkeylen: Pointer to an int where the length of the private key in - * privkey will be stored. - * In: seckey: pointer to a 32-byte secret key to export. - * compressed: 1 if the key should be exported in - * compressed format, 0 otherwise - * - * This function is purely meant for compatibility with applications that - * require BER encoded keys. When working with secp256k1-specific code, the - * simple 32-byte private keys are sufficient. - * - * Note that this function does not guarantee correct DER output. It is - * guaranteed to be parsable by secp256k1_ec_privkey_import_der - */ -SECP256K1_WARN_UNUSED_RESULT int ec_privkey_export_der( - const secp256k1_context* ctx, - unsigned char *privkey, - size_t *privkeylen, - const unsigned char *seckey, - int compressed -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); - -/** Import a private key in DER format. - * Returns: 1 if a private key was extracted. - * Args: ctx: pointer to a context object (cannot be NULL). - * Out: seckey: pointer to a 32-byte array for storing the private key. - * (cannot be NULL). - * In: privkey: pointer to a private key in DER format (cannot be NULL). - * privkeylen: length of the DER private key pointed to be privkey. - * - * This function will accept more than just strict DER, and even allow some BER - * violations. The public key stored inside the DER-encoded private key is not - * verified for correctness, nor are the curve parameters. Use this function - * only if you know in advance it is supposed to contain a secp256k1 private - * key. - */ -SECP256K1_WARN_UNUSED_RESULT int ec_privkey_import_der( - const secp256k1_context* ctx, - unsigned char *seckey, - const unsigned char *privkey, - size_t privkeylen -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); - -#ifdef __cplusplus -} -#endif - -#endif /* SECP256K1_CONTRIB_BER_PRIVATEKEY_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/include/secp256k1.h b/Pods/secp256k1_ios/secp256k1_ios/include/secp256k1.h deleted file mode 100644 index 3c4a311a0..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/include/secp256k1.h +++ /dev/null @@ -1,654 +0,0 @@ -#ifndef SECP256K1_H -#define SECP256K1_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/* These rules specify the order of arguments in API calls: - * - * 1. Context pointers go first, followed by output arguments, combined - * output/input arguments, and finally input-only arguments. - * 2. Array lengths always immediately the follow the argument whose length - * they describe, even if this violates rule 1. - * 3. Within the OUT/OUTIN/IN groups, pointers to data that is typically generated - * later go first. This means: signatures, public nonces, private nonces, - * messages, public keys, secret keys, tweaks. - * 4. Arguments that are not data pointers go last, from more complex to less - * complex: function pointers, algorithm names, messages, void pointers, - * counts, flags, booleans. - * 5. Opaque data pointers follow the function pointer they are to be passed to. - */ - -/** Opaque data structure that holds context information (precomputed tables etc.). - * - * The purpose of context structures is to cache large precomputed data tables - * that are expensive to construct, and also to maintain the randomization data - * for blinding. - * - * Do not create a new context object for each operation, as construction is - * far slower than all other API calls (~100 times slower than an ECDSA - * verification). - * - * A constructed context can safely be used from multiple threads - * simultaneously, but API call that take a non-const pointer to a context - * need exclusive access to it. In particular this is the case for - * secp256k1_context_destroy and secp256k1_context_randomize. - * - * Regarding randomization, either do it once at creation time (in which case - * you do not need any locking for the other calls), or use a read-write lock. - */ -typedef struct secp256k1_context_struct secp256k1_context; - -/** Opaque data structure that holds rewriteable "scratch space" - * - * The purpose of this structure is to replace dynamic memory allocations, - * because we target architectures where this may not be available. It is - * essentially a resizable (within specified parameters) block of bytes, - * which is initially created either by memory allocation or TODO as a pointer - * into some fixed rewritable space. - * - * Unlike the context object, this cannot safely be shared between threads - * without additional synchronization logic. - */ -typedef struct secp256k1_scratch_space_struct secp256k1_scratch_space; - -/** Opaque data structure that holds a parsed and valid public key. - * - * The exact representation of data inside is implementation defined and not - * guaranteed to be portable between different platforms or versions. It is - * however guaranteed to be 64 bytes in size, and can be safely copied/moved. - * If you need to convert to a format suitable for storage, transmission, or - * comparison, use secp256k1_ec_pubkey_serialize and secp256k1_ec_pubkey_parse. - */ -typedef struct { - unsigned char data[64]; -} secp256k1_pubkey; - -/** Opaque data structured that holds a parsed ECDSA signature. - * - * The exact representation of data inside is implementation defined and not - * guaranteed to be portable between different platforms or versions. It is - * however guaranteed to be 64 bytes in size, and can be safely copied/moved. - * If you need to convert to a format suitable for storage, transmission, or - * comparison, use the secp256k1_ecdsa_signature_serialize_* and - * secp256k1_ecdsa_signature_parse_* functions. - */ -typedef struct { - unsigned char data[64]; -} secp256k1_ecdsa_signature; - -/** A pointer to a function to deterministically generate a nonce. - * - * Returns: 1 if a nonce was successfully generated. 0 will cause signing to fail. - * Out: nonce32: pointer to a 32-byte array to be filled by the function. - * In: msg32: the 32-byte message hash being verified (will not be NULL) - * key32: pointer to a 32-byte secret key (will not be NULL) - * algo16: pointer to a 16-byte array describing the signature - * algorithm (will be NULL for ECDSA for compatibility). - * data: Arbitrary data pointer that is passed through. - * attempt: how many iterations we have tried to find a nonce. - * This will almost always be 0, but different attempt values - * are required to result in a different nonce. - * - * Except for test cases, this function should compute some cryptographic hash of - * the message, the algorithm, the key and the attempt. - */ -typedef int (*secp256k1_nonce_function)( - unsigned char *nonce32, - const unsigned char *msg32, - const unsigned char *key32, - const unsigned char *algo16, - void *data, - unsigned int attempt -); - -# if !defined(SECP256K1_GNUC_PREREQ) -# if defined(__GNUC__)&&defined(__GNUC_MINOR__) -# define SECP256K1_GNUC_PREREQ(_maj,_min) \ - ((__GNUC__<<16)+__GNUC_MINOR__>=((_maj)<<16)+(_min)) -# else -# define SECP256K1_GNUC_PREREQ(_maj,_min) 0 -# endif -# endif - -# if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) ) -# if SECP256K1_GNUC_PREREQ(2,7) -# define SECP256K1_INLINE __inline__ -# elif (defined(_MSC_VER)) -# define SECP256K1_INLINE __inline -# else -# define SECP256K1_INLINE -# endif -# else -# define SECP256K1_INLINE inline -# endif - -#ifndef SECP256K1_API -# if defined(_WIN32) -# ifdef SECP256K1_BUILD -# define SECP256K1_API __declspec(dllexport) -# else -# define SECP256K1_API -# endif -# elif defined(__GNUC__) && defined(SECP256K1_BUILD) -# define SECP256K1_API __attribute__ ((visibility ("default"))) -# else -# define SECP256K1_API -# endif -#endif - -/**Warning attributes - * NONNULL is not used if SECP256K1_BUILD is set to avoid the compiler optimizing out - * some paranoid null checks. */ -# if defined(__GNUC__) && SECP256K1_GNUC_PREREQ(3, 4) -# define SECP256K1_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__)) -# else -# define SECP256K1_WARN_UNUSED_RESULT -# endif -# if !defined(SECP256K1_BUILD) && defined(__GNUC__) && SECP256K1_GNUC_PREREQ(3, 4) -# define SECP256K1_ARG_NONNULL(_x) __attribute__ ((__nonnull__(_x))) -# else -# define SECP256K1_ARG_NONNULL(_x) -# endif - -/** All flags' lower 8 bits indicate what they're for. Do not use directly. */ -#define SECP256K1_FLAGS_TYPE_MASK ((1 << 8) - 1) -#define SECP256K1_FLAGS_TYPE_CONTEXT (1 << 0) -#define SECP256K1_FLAGS_TYPE_COMPRESSION (1 << 1) -/** The higher bits contain the actual data. Do not use directly. */ -#define SECP256K1_FLAGS_BIT_CONTEXT_VERIFY (1 << 8) -#define SECP256K1_FLAGS_BIT_CONTEXT_SIGN (1 << 9) -#define SECP256K1_FLAGS_BIT_COMPRESSION (1 << 8) - -/** Flags to pass to secp256k1_context_create. */ -#define SECP256K1_CONTEXT_VERIFY (SECP256K1_FLAGS_TYPE_CONTEXT | SECP256K1_FLAGS_BIT_CONTEXT_VERIFY) -#define SECP256K1_CONTEXT_SIGN (SECP256K1_FLAGS_TYPE_CONTEXT | SECP256K1_FLAGS_BIT_CONTEXT_SIGN) -#define SECP256K1_CONTEXT_NONE (SECP256K1_FLAGS_TYPE_CONTEXT) - -/** Flag to pass to secp256k1_ec_pubkey_serialize and secp256k1_ec_privkey_export. */ -#define SECP256K1_EC_COMPRESSED (SECP256K1_FLAGS_TYPE_COMPRESSION | SECP256K1_FLAGS_BIT_COMPRESSION) -#define SECP256K1_EC_UNCOMPRESSED (SECP256K1_FLAGS_TYPE_COMPRESSION) - -/** Prefix byte used to tag various encoded curvepoints for specific purposes */ -#define SECP256K1_TAG_PUBKEY_EVEN 0x02 -#define SECP256K1_TAG_PUBKEY_ODD 0x03 -#define SECP256K1_TAG_PUBKEY_UNCOMPRESSED 0x04 -#define SECP256K1_TAG_PUBKEY_HYBRID_EVEN 0x06 -#define SECP256K1_TAG_PUBKEY_HYBRID_ODD 0x07 - -/** Create a secp256k1 context object. - * - * Returns: a newly created context object. - * In: flags: which parts of the context to initialize. - * - * See also secp256k1_context_randomize. - */ -SECP256K1_API secp256k1_context* secp256k1_context_create( - unsigned int flags -) SECP256K1_WARN_UNUSED_RESULT; - -/** Copies a secp256k1 context object. - * - * Returns: a newly created context object. - * Args: ctx: an existing context to copy (cannot be NULL) - */ -SECP256K1_API secp256k1_context* secp256k1_context_clone( - const secp256k1_context* ctx -) SECP256K1_ARG_NONNULL(1) SECP256K1_WARN_UNUSED_RESULT; - -/** Destroy a secp256k1 context object. - * - * The context pointer may not be used afterwards. - * Args: ctx: an existing context to destroy (cannot be NULL) - */ -SECP256K1_API void secp256k1_context_destroy( - secp256k1_context* ctx -); - -/** Set a callback function to be called when an illegal argument is passed to - * an API call. It will only trigger for violations that are mentioned - * explicitly in the header. - * - * The philosophy is that these shouldn't be dealt with through a - * specific return value, as calling code should not have branches to deal with - * the case that this code itself is broken. - * - * On the other hand, during debug stage, one would want to be informed about - * such mistakes, and the default (crashing) may be inadvisable. - * When this callback is triggered, the API function called is guaranteed not - * to cause a crash, though its return value and output arguments are - * undefined. - * - * Args: ctx: an existing context object (cannot be NULL) - * In: fun: a pointer to a function to call when an illegal argument is - * passed to the API, taking a message and an opaque pointer - * (NULL restores a default handler that calls abort). - * data: the opaque pointer to pass to fun above. - */ -SECP256K1_API void secp256k1_context_set_illegal_callback( - secp256k1_context* ctx, - void (*fun)(const char* message, void* data), - const void* data -) SECP256K1_ARG_NONNULL(1); - -/** Set a callback function to be called when an internal consistency check - * fails. The default is crashing. - * - * This can only trigger in case of a hardware failure, miscompilation, - * memory corruption, serious bug in the library, or other error would can - * otherwise result in undefined behaviour. It will not trigger due to mere - * incorrect usage of the API (see secp256k1_context_set_illegal_callback - * for that). After this callback returns, anything may happen, including - * crashing. - * - * Args: ctx: an existing context object (cannot be NULL) - * In: fun: a pointer to a function to call when an internal error occurs, - * taking a message and an opaque pointer (NULL restores a default - * handler that calls abort). - * data: the opaque pointer to pass to fun above. - */ -SECP256K1_API void secp256k1_context_set_error_callback( - secp256k1_context* ctx, - void (*fun)(const char* message, void* data), - const void* data -) SECP256K1_ARG_NONNULL(1); - -/** Create a secp256k1 scratch space object. - * - * Returns: a newly created scratch space. - * Args: ctx: an existing context object (cannot be NULL) - * In: max_size: maximum amount of memory to allocate - */ -SECP256K1_API SECP256K1_WARN_UNUSED_RESULT secp256k1_scratch_space* secp256k1_scratch_space_create( - const secp256k1_context* ctx, - size_t max_size -) SECP256K1_ARG_NONNULL(1); - -/** Destroy a secp256k1 scratch space. - * - * The pointer may not be used afterwards. - * Args: scratch: space to destroy - */ -SECP256K1_API void secp256k1_scratch_space_destroy( - secp256k1_scratch_space* scratch -); - -/** Parse a variable-length public key into the pubkey object. - * - * Returns: 1 if the public key was fully valid. - * 0 if the public key could not be parsed or is invalid. - * Args: ctx: a secp256k1 context object. - * Out: pubkey: pointer to a pubkey object. If 1 is returned, it is set to a - * parsed version of input. If not, its value is undefined. - * In: input: pointer to a serialized public key - * inputlen: length of the array pointed to by input - * - * This function supports parsing compressed (33 bytes, header byte 0x02 or - * 0x03), uncompressed (65 bytes, header byte 0x04), or hybrid (65 bytes, header - * byte 0x06 or 0x07) format public keys. - */ -SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_parse( - const secp256k1_context* ctx, - secp256k1_pubkey* pubkey, - const unsigned char *input, - size_t inputlen -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); - -/** Serialize a pubkey object into a serialized byte sequence. - * - * Returns: 1 always. - * Args: ctx: a secp256k1 context object. - * Out: output: a pointer to a 65-byte (if compressed==0) or 33-byte (if - * compressed==1) byte array to place the serialized key - * in. - * In/Out: outputlen: a pointer to an integer which is initially set to the - * size of output, and is overwritten with the written - * size. - * In: pubkey: a pointer to a secp256k1_pubkey containing an - * initialized public key. - * flags: SECP256K1_EC_COMPRESSED if serialization should be in - * compressed format, otherwise SECP256K1_EC_UNCOMPRESSED. - */ -SECP256K1_API int secp256k1_ec_pubkey_serialize( - const secp256k1_context* ctx, - unsigned char *output, - size_t *outputlen, - const secp256k1_pubkey* pubkey, - unsigned int flags -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); - -/** Parse an ECDSA signature in compact (64 bytes) format. - * - * Returns: 1 when the signature could be parsed, 0 otherwise. - * Args: ctx: a secp256k1 context object - * Out: sig: a pointer to a signature object - * In: input64: a pointer to the 64-byte array to parse - * - * The signature must consist of a 32-byte big endian R value, followed by a - * 32-byte big endian S value. If R or S fall outside of [0..order-1], the - * encoding is invalid. R and S with value 0 are allowed in the encoding. - * - * After the call, sig will always be initialized. If parsing failed or R or - * S are zero, the resulting sig value is guaranteed to fail validation for any - * message and public key. - */ -SECP256K1_API int secp256k1_ecdsa_signature_parse_compact( - const secp256k1_context* ctx, - secp256k1_ecdsa_signature* sig, - const unsigned char *input64 -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); - -/** Parse a DER ECDSA signature. - * - * Returns: 1 when the signature could be parsed, 0 otherwise. - * Args: ctx: a secp256k1 context object - * Out: sig: a pointer to a signature object - * In: input: a pointer to the signature to be parsed - * inputlen: the length of the array pointed to be input - * - * This function will accept any valid DER encoded signature, even if the - * encoded numbers are out of range. - * - * After the call, sig will always be initialized. If parsing failed or the - * encoded numbers are out of range, signature validation with it is - * guaranteed to fail for every message and public key. - */ -SECP256K1_API int secp256k1_ecdsa_signature_parse_der( - const secp256k1_context* ctx, - secp256k1_ecdsa_signature* sig, - const unsigned char *input, - size_t inputlen -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); - -/** Serialize an ECDSA signature in DER format. - * - * Returns: 1 if enough space was available to serialize, 0 otherwise - * Args: ctx: a secp256k1 context object - * Out: output: a pointer to an array to store the DER serialization - * In/Out: outputlen: a pointer to a length integer. Initially, this integer - * should be set to the length of output. After the call - * it will be set to the length of the serialization (even - * if 0 was returned). - * In: sig: a pointer to an initialized signature object - */ -SECP256K1_API int secp256k1_ecdsa_signature_serialize_der( - const secp256k1_context* ctx, - unsigned char *output, - size_t *outputlen, - const secp256k1_ecdsa_signature* sig -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); - -/** Serialize an ECDSA signature in compact (64 byte) format. - * - * Returns: 1 - * Args: ctx: a secp256k1 context object - * Out: output64: a pointer to a 64-byte array to store the compact serialization - * In: sig: a pointer to an initialized signature object - * - * See secp256k1_ecdsa_signature_parse_compact for details about the encoding. - */ -SECP256K1_API int secp256k1_ecdsa_signature_serialize_compact( - const secp256k1_context* ctx, - unsigned char *output64, - const secp256k1_ecdsa_signature* sig -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); - -/** Verify an ECDSA signature. - * - * Returns: 1: correct signature - * 0: incorrect or unparseable signature - * Args: ctx: a secp256k1 context object, initialized for verification. - * In: sig: the signature being verified (cannot be NULL) - * msg32: the 32-byte message hash being verified (cannot be NULL) - * pubkey: pointer to an initialized public key to verify with (cannot be NULL) - * - * To avoid accepting malleable signatures, only ECDSA signatures in lower-S - * form are accepted. - * - * If you need to accept ECDSA signatures from sources that do not obey this - * rule, apply secp256k1_ecdsa_signature_normalize to the signature prior to - * validation, but be aware that doing so results in malleable signatures. - * - * For details, see the comments for that function. - */ -SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdsa_verify( - const secp256k1_context* ctx, - const secp256k1_ecdsa_signature *sig, - const unsigned char *msg32, - const secp256k1_pubkey *pubkey -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); - -/** Convert a signature to a normalized lower-S form. - * - * Returns: 1 if sigin was not normalized, 0 if it already was. - * Args: ctx: a secp256k1 context object - * Out: sigout: a pointer to a signature to fill with the normalized form, - * or copy if the input was already normalized. (can be NULL if - * you're only interested in whether the input was already - * normalized). - * In: sigin: a pointer to a signature to check/normalize (cannot be NULL, - * can be identical to sigout) - * - * With ECDSA a third-party can forge a second distinct signature of the same - * message, given a single initial signature, but without knowing the key. This - * is done by negating the S value modulo the order of the curve, 'flipping' - * the sign of the random point R which is not included in the signature. - * - * Forgery of the same message isn't universally problematic, but in systems - * where message malleability or uniqueness of signatures is important this can - * cause issues. This forgery can be blocked by all verifiers forcing signers - * to use a normalized form. - * - * The lower-S form reduces the size of signatures slightly on average when - * variable length encodings (such as DER) are used and is cheap to verify, - * making it a good choice. Security of always using lower-S is assured because - * anyone can trivially modify a signature after the fact to enforce this - * property anyway. - * - * The lower S value is always between 0x1 and - * 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0, - * inclusive. - * - * No other forms of ECDSA malleability are known and none seem likely, but - * there is no formal proof that ECDSA, even with this additional restriction, - * is free of other malleability. Commonly used serialization schemes will also - * accept various non-unique encodings, so care should be taken when this - * property is required for an application. - * - * The secp256k1_ecdsa_sign function will by default create signatures in the - * lower-S form, and secp256k1_ecdsa_verify will not accept others. In case - * signatures come from a system that cannot enforce this property, - * secp256k1_ecdsa_signature_normalize must be called before verification. - */ -SECP256K1_API int secp256k1_ecdsa_signature_normalize( - const secp256k1_context* ctx, - secp256k1_ecdsa_signature *sigout, - const secp256k1_ecdsa_signature *sigin -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3); - -/** An implementation of RFC6979 (using HMAC-SHA256) as nonce generation function. - * If a data pointer is passed, it is assumed to be a pointer to 32 bytes of - * extra entropy. - */ -SECP256K1_API extern const secp256k1_nonce_function secp256k1_nonce_function_rfc6979; - -/** A default safe nonce generation function (currently equal to secp256k1_nonce_function_rfc6979). */ -SECP256K1_API extern const secp256k1_nonce_function secp256k1_nonce_function_default; - -/** Create an ECDSA signature. - * - * Returns: 1: signature created - * 0: the nonce generation function failed, or the private key was invalid. - * Args: ctx: pointer to a context object, initialized for signing (cannot be NULL) - * Out: sig: pointer to an array where the signature will be placed (cannot be NULL) - * In: msg32: the 32-byte message hash being signed (cannot be NULL) - * seckey: pointer to a 32-byte secret key (cannot be NULL) - * noncefp:pointer to a nonce generation function. If NULL, secp256k1_nonce_function_default is used - * ndata: pointer to arbitrary data used by the nonce generation function (can be NULL) - * - * The created signature is always in lower-S form. See - * secp256k1_ecdsa_signature_normalize for more details. - */ -SECP256K1_API int secp256k1_ecdsa_sign( - const secp256k1_context* ctx, - secp256k1_ecdsa_signature *sig, - const unsigned char *msg32, - const unsigned char *seckey, - secp256k1_nonce_function noncefp, - const void *ndata -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); - -/** Verify an ECDSA secret key. - * - * Returns: 1: secret key is valid - * 0: secret key is invalid - * Args: ctx: pointer to a context object (cannot be NULL) - * In: seckey: pointer to a 32-byte secret key (cannot be NULL) - */ -SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_seckey_verify( - const secp256k1_context* ctx, - const unsigned char *seckey -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2); - -/** Compute the public key for a secret key. - * - * Returns: 1: secret was valid, public key stores - * 0: secret was invalid, try again - * Args: ctx: pointer to a context object, initialized for signing (cannot be NULL) - * Out: pubkey: pointer to the created public key (cannot be NULL) - * In: seckey: pointer to a 32-byte private key (cannot be NULL) - */ -SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_create( - const secp256k1_context* ctx, - secp256k1_pubkey *pubkey, - const unsigned char *seckey -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); - -/** Negates a private key in place. - * - * Returns: 1 always - * Args: ctx: pointer to a context object - * In/Out: seckey: pointer to the 32-byte private key to be negated (cannot be NULL) - */ -SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_negate( - const secp256k1_context* ctx, - unsigned char *seckey -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2); - -/** Negates a public key in place. - * - * Returns: 1 always - * Args: ctx: pointer to a context object - * In/Out: pubkey: pointer to the public key to be negated (cannot be NULL) - */ -SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_negate( - const secp256k1_context* ctx, - secp256k1_pubkey *pubkey -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2); - -/** Tweak a private key by adding tweak to it. - * Returns: 0 if the tweak was out of range (chance of around 1 in 2^128 for - * uniformly random 32-byte arrays, or if the resulting private key - * would be invalid (only when the tweak is the complement of the - * private key). 1 otherwise. - * Args: ctx: pointer to a context object (cannot be NULL). - * In/Out: seckey: pointer to a 32-byte private key. - * In: tweak: pointer to a 32-byte tweak. - */ -SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_add( - const secp256k1_context* ctx, - unsigned char *seckey, - const unsigned char *tweak -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); - -/** Tweak a public key by adding tweak times the generator to it. - * Returns: 0 if the tweak was out of range (chance of around 1 in 2^128 for - * uniformly random 32-byte arrays, or if the resulting public key - * would be invalid (only when the tweak is the complement of the - * corresponding private key). 1 otherwise. - * Args: ctx: pointer to a context object initialized for validation - * (cannot be NULL). - * In/Out: pubkey: pointer to a public key object. - * In: tweak: pointer to a 32-byte tweak. - */ -SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_add( - const secp256k1_context* ctx, - secp256k1_pubkey *pubkey, - const unsigned char *tweak -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); - -/** Tweak a private key by multiplying it by a tweak. - * Returns: 0 if the tweak was out of range (chance of around 1 in 2^128 for - * uniformly random 32-byte arrays, or equal to zero. 1 otherwise. - * Args: ctx: pointer to a context object (cannot be NULL). - * In/Out: seckey: pointer to a 32-byte private key. - * In: tweak: pointer to a 32-byte tweak. - */ -SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_mul( - const secp256k1_context* ctx, - unsigned char *seckey, - const unsigned char *tweak -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); - -/** Tweak a public key by multiplying it by a tweak value. - * Returns: 0 if the tweak was out of range (chance of around 1 in 2^128 for - * uniformly random 32-byte arrays, or equal to zero. 1 otherwise. - * Args: ctx: pointer to a context object initialized for validation - * (cannot be NULL). - * In/Out: pubkey: pointer to a public key obkect. - * In: tweak: pointer to a 32-byte tweak. - */ -SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_mul( - const secp256k1_context* ctx, - secp256k1_pubkey *pubkey, - const unsigned char *tweak -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); - -/** Updates the context randomization to protect against side-channel leakage. - * Returns: 1: randomization successfully updated - * 0: error - * Args: ctx: pointer to a context object (cannot be NULL) - * In: seed32: pointer to a 32-byte random seed (NULL resets to initial state) - * - * While secp256k1 code is written to be constant-time no matter what secret - * values are, it's possible that a future compiler may output code which isn't, - * and also that the CPU may not emit the same radio frequencies or draw the same - * amount power for all values. - * - * This function provides a seed which is combined into the blinding value: that - * blinding value is added before each multiplication (and removed afterwards) so - * that it does not affect function results, but shields against attacks which - * rely on any input-dependent behaviour. - * - * You should call this after secp256k1_context_create or - * secp256k1_context_clone, and may call this repeatedly afterwards. - */ -SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_context_randomize( - secp256k1_context* ctx, - const unsigned char *seed32 -) SECP256K1_ARG_NONNULL(1); - -/** Add a number of public keys together. - * Returns: 1: the sum of the public keys is valid. - * 0: the sum of the public keys is not valid. - * Args: ctx: pointer to a context object - * Out: out: pointer to a public key object for placing the resulting public key - * (cannot be NULL) - * In: ins: pointer to array of pointers to public keys (cannot be NULL) - * n: the number of public keys to add together (must be at least 1) - */ -SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_combine( - const secp256k1_context* ctx, - secp256k1_pubkey *out, - const secp256k1_pubkey * const * ins, - size_t n -) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); - -#ifdef __cplusplus -} -#endif - -#endif /* SECP256K1_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/include/secp256k1_ecdh.h b/Pods/secp256k1_ios/secp256k1_ios/include/secp256k1_ecdh.h deleted file mode 100644 index 88492dc1a..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/include/secp256k1_ecdh.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef SECP256K1_ECDH_H -#define SECP256K1_ECDH_H - -#include "secp256k1.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** Compute an EC Diffie-Hellman secret in constant time - * Returns: 1: exponentiation was successful - * 0: scalar was invalid (zero or overflow) - * Args: ctx: pointer to a context object (cannot be NULL) - * Out: result: a 32-byte array which will be populated by an ECDH - * secret computed from the point and scalar - * In: pubkey: a pointer to a secp256k1_pubkey containing an - * initialized public key - * privkey: a 32-byte scalar with which to multiply the point - */ -SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdh( - const secp256k1_context* ctx, - unsigned char *result, - const secp256k1_pubkey *pubkey, - const unsigned char *privkey -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); - -#ifdef __cplusplus -} -#endif - -#endif /* SECP256K1_ECDH_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/include/secp256k1_recovery.h b/Pods/secp256k1_ios/secp256k1_ios/include/secp256k1_recovery.h deleted file mode 100644 index cf6c5ed7f..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/include/secp256k1_recovery.h +++ /dev/null @@ -1,110 +0,0 @@ -#ifndef SECP256K1_RECOVERY_H -#define SECP256K1_RECOVERY_H - -#include "secp256k1.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** Opaque data structured that holds a parsed ECDSA signature, - * supporting pubkey recovery. - * - * The exact representation of data inside is implementation defined and not - * guaranteed to be portable between different platforms or versions. It is - * however guaranteed to be 65 bytes in size, and can be safely copied/moved. - * If you need to convert to a format suitable for storage or transmission, use - * the secp256k1_ecdsa_signature_serialize_* and - * secp256k1_ecdsa_signature_parse_* functions. - * - * Furthermore, it is guaranteed that identical signatures (including their - * recoverability) will have identical representation, so they can be - * memcmp'ed. - */ -typedef struct { - unsigned char data[65]; -} secp256k1_ecdsa_recoverable_signature; - -/** Parse a compact ECDSA signature (64 bytes + recovery id). - * - * Returns: 1 when the signature could be parsed, 0 otherwise - * Args: ctx: a secp256k1 context object - * Out: sig: a pointer to a signature object - * In: input64: a pointer to a 64-byte compact signature - * recid: the recovery id (0, 1, 2 or 3) - */ -SECP256K1_API int secp256k1_ecdsa_recoverable_signature_parse_compact( - const secp256k1_context* ctx, - secp256k1_ecdsa_recoverable_signature* sig, - const unsigned char *input64, - int recid -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); - -/** Convert a recoverable signature into a normal signature. - * - * Returns: 1 - * Out: sig: a pointer to a normal signature (cannot be NULL). - * In: sigin: a pointer to a recoverable signature (cannot be NULL). - */ -SECP256K1_API int secp256k1_ecdsa_recoverable_signature_convert( - const secp256k1_context* ctx, - secp256k1_ecdsa_signature* sig, - const secp256k1_ecdsa_recoverable_signature* sigin -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); - -/** Serialize an ECDSA signature in compact format (64 bytes + recovery id). - * - * Returns: 1 - * Args: ctx: a secp256k1 context object - * Out: output64: a pointer to a 64-byte array of the compact signature (cannot be NULL) - * recid: a pointer to an integer to hold the recovery id (can be NULL). - * In: sig: a pointer to an initialized signature object (cannot be NULL) - */ -SECP256K1_API int secp256k1_ecdsa_recoverable_signature_serialize_compact( - const secp256k1_context* ctx, - unsigned char *output64, - int *recid, - const secp256k1_ecdsa_recoverable_signature* sig -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); - -/** Create a recoverable ECDSA signature. - * - * Returns: 1: signature created - * 0: the nonce generation function failed, or the private key was invalid. - * Args: ctx: pointer to a context object, initialized for signing (cannot be NULL) - * Out: sig: pointer to an array where the signature will be placed (cannot be NULL) - * In: msg32: the 32-byte message hash being signed (cannot be NULL) - * seckey: pointer to a 32-byte secret key (cannot be NULL) - * noncefp:pointer to a nonce generation function. If NULL, secp256k1_nonce_function_default is used - * ndata: pointer to arbitrary data used by the nonce generation function (can be NULL) - */ -SECP256K1_API int secp256k1_ecdsa_sign_recoverable( - const secp256k1_context* ctx, - secp256k1_ecdsa_recoverable_signature *sig, - const unsigned char *msg32, - const unsigned char *seckey, - secp256k1_nonce_function noncefp, - const void *ndata -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); - -/** Recover an ECDSA public key from a signature. - * - * Returns: 1: public key successfully recovered (which guarantees a correct signature). - * 0: otherwise. - * Args: ctx: pointer to a context object, initialized for verification (cannot be NULL) - * Out: pubkey: pointer to the recovered public key (cannot be NULL) - * In: sig: pointer to initialized signature that supports pubkey recovery (cannot be NULL) - * msg32: the 32-byte message hash assumed to be signed (cannot be NULL) - */ -SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdsa_recover( - const secp256k1_context* ctx, - secp256k1_pubkey *pubkey, - const secp256k1_ecdsa_recoverable_signature *sig, - const unsigned char *msg32 -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); - -#ifdef __cplusplus -} -#endif - -#endif /* SECP256K1_RECOVERY_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/libsecp256k1-config.h b/Pods/secp256k1_ios/secp256k1_ios/libsecp256k1-config.h deleted file mode 100644 index 2b55bd620..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/libsecp256k1-config.h +++ /dev/null @@ -1,46 +0,0 @@ -// -// libsecp256k1-config.h -// secp256k1_ios -// -// Created by Alexander Vlasov on 27.02.2018. -// Copyright © 2018 Alexander Vlasov. All rights reserved. -// - -#ifndef libsecp256k1_config_h -#define libsecp256k1_config_h - -#undef USE_NUM_GMP -#define USE_NUM_NONE 1 -#define USE_FIELD_INV_BUILTIN 1 -#define USE_SCALAR_INV_BUILTIN 1 - -#define HAVE_BUILTIN_EXPECT 1 -//#define USE_ECMULT_STATIC_PRECOMPUTATION 1 -#define ENABLE_MODULE_RECOVERY 1 - -#define STDC_HEADERS 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_SYS_STAT_H 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STRING_H 1 -#define HAVE_MEMORY_H 1 -#define HAVE_STRINGS_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 -#define HAVE_UNISTD_H 1 -#define HAVE_DLFCN_H 1 - -#if defined(__LP64__) -#if defined(__SIZEOF_INT128__) -#define HAVE___INT128 1 -#endif -#define USE_FIELD_5X52 1 -#define USE_SCALAR_4X64 1 - -#else -#define USE_FIELD_10X26 1 -#define USE_SCALAR_8X32 1 -#endif - - -#endif /* libsecp256k1_config_h */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/basic-config.h b/Pods/secp256k1_ios/secp256k1_ios/src/basic-config.h deleted file mode 100644 index fc588061c..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/basic-config.h +++ /dev/null @@ -1,33 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_BASIC_CONFIG_H -#define SECP256K1_BASIC_CONFIG_H - -#ifdef USE_BASIC_CONFIG - -#undef USE_ASM_X86_64 -#undef USE_ENDOMORPHISM -#undef USE_FIELD_10X26 -#undef USE_FIELD_5X52 -#undef USE_FIELD_INV_BUILTIN -#undef USE_FIELD_INV_NUM -#undef USE_NUM_GMP -#undef USE_NUM_NONE -#undef USE_SCALAR_4X64 -#undef USE_SCALAR_8X32 -#undef USE_SCALAR_INV_BUILTIN -#undef USE_SCALAR_INV_NUM - -#define USE_NUM_NONE 1 -#define USE_FIELD_INV_BUILTIN 1 -#define USE_SCALAR_INV_BUILTIN 1 -#define USE_FIELD_10X26 1 -#define USE_SCALAR_8X32 1 - -#endif /* USE_BASIC_CONFIG */ - -#endif /* SECP256K1_BASIC_CONFIG_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/ecdsa.h b/Pods/secp256k1_ios/secp256k1_ios/src/ecdsa.h deleted file mode 100644 index 80590c7cc..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/ecdsa.h +++ /dev/null @@ -1,21 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_ECDSA_H -#define SECP256K1_ECDSA_H - -#include - -#include "scalar.h" -#include "group.h" -#include "ecmult.h" - -static int secp256k1_ecdsa_sig_parse(secp256k1_scalar *r, secp256k1_scalar *s, const unsigned char *sig, size_t size); -static int secp256k1_ecdsa_sig_serialize(unsigned char *sig, size_t *size, const secp256k1_scalar *r, const secp256k1_scalar *s); -static int secp256k1_ecdsa_sig_verify(const secp256k1_ecmult_context *ctx, const secp256k1_scalar* r, const secp256k1_scalar* s, const secp256k1_ge *pubkey, const secp256k1_scalar *message); -static int secp256k1_ecdsa_sig_sign(const secp256k1_ecmult_gen_context *ctx, secp256k1_scalar* r, secp256k1_scalar* s, const secp256k1_scalar *seckey, const secp256k1_scalar *message, const secp256k1_scalar *nonce, int *recid); - -#endif /* SECP256K1_ECDSA_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/ecdsa_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/ecdsa_impl.h deleted file mode 100644 index c3400042d..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/ecdsa_impl.h +++ /dev/null @@ -1,313 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013-2015 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - - -#ifndef SECP256K1_ECDSA_IMPL_H -#define SECP256K1_ECDSA_IMPL_H - -#include "scalar.h" -#include "field.h" -#include "group.h" -#include "ecmult.h" -#include "ecmult_gen.h" -#include "ecdsa.h" - -/** Group order for secp256k1 defined as 'n' in "Standards for Efficient Cryptography" (SEC2) 2.7.1 - * sage: for t in xrange(1023, -1, -1): - * .. p = 2**256 - 2**32 - t - * .. if p.is_prime(): - * .. print '%x'%p - * .. break - * 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f' - * sage: a = 0 - * sage: b = 7 - * sage: F = FiniteField (p) - * sage: '%x' % (EllipticCurve ([F (a), F (b)]).order()) - * 'fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141' - */ -static const secp256k1_fe secp256k1_ecdsa_const_order_as_fe = SECP256K1_FE_CONST( - 0xFFFFFFFFUL, 0xFFFFFFFFUL, 0xFFFFFFFFUL, 0xFFFFFFFEUL, - 0xBAAEDCE6UL, 0xAF48A03BUL, 0xBFD25E8CUL, 0xD0364141UL -); - -/** Difference between field and order, values 'p' and 'n' values defined in - * "Standards for Efficient Cryptography" (SEC2) 2.7.1. - * sage: p = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F - * sage: a = 0 - * sage: b = 7 - * sage: F = FiniteField (p) - * sage: '%x' % (p - EllipticCurve ([F (a), F (b)]).order()) - * '14551231950b75fc4402da1722fc9baee' - */ -static const secp256k1_fe secp256k1_ecdsa_const_p_minus_order = SECP256K1_FE_CONST( - 0, 0, 0, 1, 0x45512319UL, 0x50B75FC4UL, 0x402DA172UL, 0x2FC9BAEEUL -); - -static int secp256k1_der_read_len(const unsigned char **sigp, const unsigned char *sigend) { - int lenleft, b1; - size_t ret = 0; - if (*sigp >= sigend) { - return -1; - } - b1 = *((*sigp)++); - if (b1 == 0xFF) { - /* X.690-0207 8.1.3.5.c the value 0xFF shall not be used. */ - return -1; - } - if ((b1 & 0x80) == 0) { - /* X.690-0207 8.1.3.4 short form length octets */ - return b1; - } - if (b1 == 0x80) { - /* Indefinite length is not allowed in DER. */ - return -1; - } - /* X.690-207 8.1.3.5 long form length octets */ - lenleft = b1 & 0x7F; - if (lenleft > sigend - *sigp) { - return -1; - } - if (**sigp == 0) { - /* Not the shortest possible length encoding. */ - return -1; - } - if ((size_t)lenleft > sizeof(size_t)) { - /* The resulting length would exceed the range of a size_t, so - * certainly longer than the passed array size. - */ - return -1; - } - while (lenleft > 0) { - ret = (ret << 8) | **sigp; - if (ret + lenleft > (size_t)(sigend - *sigp)) { - /* Result exceeds the length of the passed array. */ - return -1; - } - (*sigp)++; - lenleft--; - } - if (ret < 128) { - /* Not the shortest possible length encoding. */ - return -1; - } - return ret; -} - -static int secp256k1_der_parse_integer(secp256k1_scalar *r, const unsigned char **sig, const unsigned char *sigend) { - int overflow = 0; - unsigned char ra[32] = {0}; - int rlen; - - if (*sig == sigend || **sig != 0x02) { - /* Not a primitive integer (X.690-0207 8.3.1). */ - return 0; - } - (*sig)++; - rlen = secp256k1_der_read_len(sig, sigend); - if (rlen <= 0 || (*sig) + rlen > sigend) { - /* Exceeds bounds or not at least length 1 (X.690-0207 8.3.1). */ - return 0; - } - if (**sig == 0x00 && rlen > 1 && (((*sig)[1]) & 0x80) == 0x00) { - /* Excessive 0x00 padding. */ - return 0; - } - if (**sig == 0xFF && rlen > 1 && (((*sig)[1]) & 0x80) == 0x80) { - /* Excessive 0xFF padding. */ - return 0; - } - if ((**sig & 0x80) == 0x80) { - /* Negative. */ - overflow = 1; - } - while (rlen > 0 && **sig == 0) { - /* Skip leading zero bytes */ - rlen--; - (*sig)++; - } - if (rlen > 32) { - overflow = 1; - } - if (!overflow) { - memcpy(ra + 32 - rlen, *sig, rlen); - secp256k1_scalar_set_b32(r, ra, &overflow); - } - if (overflow) { - secp256k1_scalar_set_int(r, 0); - } - (*sig) += rlen; - return 1; -} - -static int secp256k1_ecdsa_sig_parse(secp256k1_scalar *rr, secp256k1_scalar *rs, const unsigned char *sig, size_t size) { - const unsigned char *sigend = sig + size; - int rlen; - if (sig == sigend || *(sig++) != 0x30) { - /* The encoding doesn't start with a constructed sequence (X.690-0207 8.9.1). */ - return 0; - } - rlen = secp256k1_der_read_len(&sig, sigend); - if (rlen < 0 || sig + rlen > sigend) { - /* Tuple exceeds bounds */ - return 0; - } - if (sig + rlen != sigend) { - /* Garbage after tuple. */ - return 0; - } - - if (!secp256k1_der_parse_integer(rr, &sig, sigend)) { - return 0; - } - if (!secp256k1_der_parse_integer(rs, &sig, sigend)) { - return 0; - } - - if (sig != sigend) { - /* Trailing garbage inside tuple. */ - return 0; - } - - return 1; -} - -static int secp256k1_ecdsa_sig_serialize(unsigned char *sig, size_t *size, const secp256k1_scalar* ar, const secp256k1_scalar* as) { - unsigned char r[33] = {0}, s[33] = {0}; - unsigned char *rp = r, *sp = s; - size_t lenR = 33, lenS = 33; - secp256k1_scalar_get_b32(&r[1], ar); - secp256k1_scalar_get_b32(&s[1], as); - while (lenR > 1 && rp[0] == 0 && rp[1] < 0x80) { lenR--; rp++; } - while (lenS > 1 && sp[0] == 0 && sp[1] < 0x80) { lenS--; sp++; } - if (*size < 6+lenS+lenR) { - *size = 6 + lenS + lenR; - return 0; - } - *size = 6 + lenS + lenR; - sig[0] = 0x30; - sig[1] = 4 + lenS + lenR; - sig[2] = 0x02; - sig[3] = lenR; - memcpy(sig+4, rp, lenR); - sig[4+lenR] = 0x02; - sig[5+lenR] = lenS; - memcpy(sig+lenR+6, sp, lenS); - return 1; -} - -static int secp256k1_ecdsa_sig_verify(const secp256k1_ecmult_context *ctx, const secp256k1_scalar *sigr, const secp256k1_scalar *sigs, const secp256k1_ge *pubkey, const secp256k1_scalar *message) { - unsigned char c[32]; - secp256k1_scalar sn, u1, u2; -#if !defined(EXHAUSTIVE_TEST_ORDER) - secp256k1_fe xr; -#endif - secp256k1_gej pubkeyj; - secp256k1_gej pr; - - if (secp256k1_scalar_is_zero(sigr) || secp256k1_scalar_is_zero(sigs)) { - return 0; - } - - secp256k1_scalar_inverse_var(&sn, sigs); - secp256k1_scalar_mul(&u1, &sn, message); - secp256k1_scalar_mul(&u2, &sn, sigr); - secp256k1_gej_set_ge(&pubkeyj, pubkey); - secp256k1_ecmult(ctx, &pr, &pubkeyj, &u2, &u1); - if (secp256k1_gej_is_infinity(&pr)) { - return 0; - } - -#if defined(EXHAUSTIVE_TEST_ORDER) -{ - secp256k1_scalar computed_r; - secp256k1_ge pr_ge; - secp256k1_ge_set_gej(&pr_ge, &pr); - secp256k1_fe_normalize(&pr_ge.x); - - secp256k1_fe_get_b32(c, &pr_ge.x); - secp256k1_scalar_set_b32(&computed_r, c, NULL); - return secp256k1_scalar_eq(sigr, &computed_r); -} -#else - secp256k1_scalar_get_b32(c, sigr); - secp256k1_fe_set_b32(&xr, c); - - /** We now have the recomputed R point in pr, and its claimed x coordinate (modulo n) - * in xr. Naively, we would extract the x coordinate from pr (requiring a inversion modulo p), - * compute the remainder modulo n, and compare it to xr. However: - * - * xr == X(pr) mod n - * <=> exists h. (xr + h * n < p && xr + h * n == X(pr)) - * [Since 2 * n > p, h can only be 0 or 1] - * <=> (xr == X(pr)) || (xr + n < p && xr + n == X(pr)) - * [In Jacobian coordinates, X(pr) is pr.x / pr.z^2 mod p] - * <=> (xr == pr.x / pr.z^2 mod p) || (xr + n < p && xr + n == pr.x / pr.z^2 mod p) - * [Multiplying both sides of the equations by pr.z^2 mod p] - * <=> (xr * pr.z^2 mod p == pr.x) || (xr + n < p && (xr + n) * pr.z^2 mod p == pr.x) - * - * Thus, we can avoid the inversion, but we have to check both cases separately. - * secp256k1_gej_eq_x implements the (xr * pr.z^2 mod p == pr.x) test. - */ - if (secp256k1_gej_eq_x_var(&xr, &pr)) { - /* xr * pr.z^2 mod p == pr.x, so the signature is valid. */ - return 1; - } - if (secp256k1_fe_cmp_var(&xr, &secp256k1_ecdsa_const_p_minus_order) >= 0) { - /* xr + n >= p, so we can skip testing the second case. */ - return 0; - } - secp256k1_fe_add(&xr, &secp256k1_ecdsa_const_order_as_fe); - if (secp256k1_gej_eq_x_var(&xr, &pr)) { - /* (xr + n) * pr.z^2 mod p == pr.x, so the signature is valid. */ - return 1; - } - return 0; -#endif -} - -static int secp256k1_ecdsa_sig_sign(const secp256k1_ecmult_gen_context *ctx, secp256k1_scalar *sigr, secp256k1_scalar *sigs, const secp256k1_scalar *seckey, const secp256k1_scalar *message, const secp256k1_scalar *nonce, int *recid) { - unsigned char b[32]; - secp256k1_gej rp; - secp256k1_ge r; - secp256k1_scalar n; - int overflow = 0; - - secp256k1_ecmult_gen(ctx, &rp, nonce); - secp256k1_ge_set_gej(&r, &rp); - secp256k1_fe_normalize(&r.x); - secp256k1_fe_normalize(&r.y); - secp256k1_fe_get_b32(b, &r.x); - secp256k1_scalar_set_b32(sigr, b, &overflow); - /* These two conditions should be checked before calling */ - VERIFY_CHECK(!secp256k1_scalar_is_zero(sigr)); - VERIFY_CHECK(overflow == 0); - - if (recid) { - /* The overflow condition is cryptographically unreachable as hitting it requires finding the discrete log - * of some P where P.x >= order, and only 1 in about 2^127 points meet this criteria. - */ - *recid = (overflow ? 2 : 0) | (secp256k1_fe_is_odd(&r.y) ? 1 : 0); - } - secp256k1_scalar_mul(&n, sigr, seckey); - secp256k1_scalar_add(&n, &n, message); - secp256k1_scalar_inverse(sigs, nonce); - secp256k1_scalar_mul(sigs, sigs, &n); - secp256k1_scalar_clear(&n); - secp256k1_gej_clear(&rp); - secp256k1_ge_clear(&r); - if (secp256k1_scalar_is_zero(sigs)) { - return 0; - } - if (secp256k1_scalar_is_high(sigs)) { - secp256k1_scalar_negate(sigs, sigs); - if (recid) { - *recid ^= 1; - } - } - return 1; -} - -#endif /* SECP256K1_ECDSA_IMPL_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/eckey.h b/Pods/secp256k1_ios/secp256k1_ios/src/eckey.h deleted file mode 100644 index b621f1e6c..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/eckey.h +++ /dev/null @@ -1,25 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_ECKEY_H -#define SECP256K1_ECKEY_H - -#include - -#include "group.h" -#include "scalar.h" -#include "ecmult.h" -#include "ecmult_gen.h" - -static int secp256k1_eckey_pubkey_parse(secp256k1_ge *elem, const unsigned char *pub, size_t size); -static int secp256k1_eckey_pubkey_serialize(secp256k1_ge *elem, unsigned char *pub, size_t *size, int compressed); - -static int secp256k1_eckey_privkey_tweak_add(secp256k1_scalar *key, const secp256k1_scalar *tweak); -static int secp256k1_eckey_pubkey_tweak_add(const secp256k1_ecmult_context *ctx, secp256k1_ge *key, const secp256k1_scalar *tweak); -static int secp256k1_eckey_privkey_tweak_mul(secp256k1_scalar *key, const secp256k1_scalar *tweak); -static int secp256k1_eckey_pubkey_tweak_mul(const secp256k1_ecmult_context *ctx, secp256k1_ge *key, const secp256k1_scalar *tweak); - -#endif /* SECP256K1_ECKEY_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/eckey_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/eckey_impl.h deleted file mode 100644 index 1ab9a68ec..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/eckey_impl.h +++ /dev/null @@ -1,100 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_ECKEY_IMPL_H -#define SECP256K1_ECKEY_IMPL_H - -#include "eckey.h" - -#include "scalar.h" -#include "field.h" -#include "group.h" -#include "ecmult_gen.h" - -static int secp256k1_eckey_pubkey_parse(secp256k1_ge *elem, const unsigned char *pub, size_t size) { - if (size == 33 && (pub[0] == SECP256K1_TAG_PUBKEY_EVEN || pub[0] == SECP256K1_TAG_PUBKEY_ODD)) { - secp256k1_fe x; - return secp256k1_fe_set_b32(&x, pub+1) && secp256k1_ge_set_xo_var(elem, &x, pub[0] == SECP256K1_TAG_PUBKEY_ODD); - } else if (size == 65 && (pub[0] == 0x04 || pub[0] == 0x06 || pub[0] == 0x07)) { - secp256k1_fe x, y; - if (!secp256k1_fe_set_b32(&x, pub+1) || !secp256k1_fe_set_b32(&y, pub+33)) { - return 0; - } - secp256k1_ge_set_xy(elem, &x, &y); - if ((pub[0] == SECP256K1_TAG_PUBKEY_HYBRID_EVEN || pub[0] == SECP256K1_TAG_PUBKEY_HYBRID_ODD) && - secp256k1_fe_is_odd(&y) != (pub[0] == SECP256K1_TAG_PUBKEY_HYBRID_ODD)) { - return 0; - } - return secp256k1_ge_is_valid_var(elem); - } else { - return 0; - } -} - -static int secp256k1_eckey_pubkey_serialize(secp256k1_ge *elem, unsigned char *pub, size_t *size, int compressed) { - if (secp256k1_ge_is_infinity(elem)) { - return 0; - } - secp256k1_fe_normalize_var(&elem->x); - secp256k1_fe_normalize_var(&elem->y); - secp256k1_fe_get_b32(&pub[1], &elem->x); - if (compressed) { - *size = 33; - pub[0] = secp256k1_fe_is_odd(&elem->y) ? SECP256K1_TAG_PUBKEY_ODD : SECP256K1_TAG_PUBKEY_EVEN; - } else { - *size = 65; - pub[0] = SECP256K1_TAG_PUBKEY_UNCOMPRESSED; - secp256k1_fe_get_b32(&pub[33], &elem->y); - } - return 1; -} - -static int secp256k1_eckey_privkey_tweak_add(secp256k1_scalar *key, const secp256k1_scalar *tweak) { - secp256k1_scalar_add(key, key, tweak); - if (secp256k1_scalar_is_zero(key)) { - return 0; - } - return 1; -} - -static int secp256k1_eckey_pubkey_tweak_add(const secp256k1_ecmult_context *ctx, secp256k1_ge *key, const secp256k1_scalar *tweak) { - secp256k1_gej pt; - secp256k1_scalar one; - secp256k1_gej_set_ge(&pt, key); - secp256k1_scalar_set_int(&one, 1); - secp256k1_ecmult(ctx, &pt, &pt, &one, tweak); - - if (secp256k1_gej_is_infinity(&pt)) { - return 0; - } - secp256k1_ge_set_gej(key, &pt); - return 1; -} - -static int secp256k1_eckey_privkey_tweak_mul(secp256k1_scalar *key, const secp256k1_scalar *tweak) { - if (secp256k1_scalar_is_zero(tweak)) { - return 0; - } - - secp256k1_scalar_mul(key, key, tweak); - return 1; -} - -static int secp256k1_eckey_pubkey_tweak_mul(const secp256k1_ecmult_context *ctx, secp256k1_ge *key, const secp256k1_scalar *tweak) { - secp256k1_scalar zero; - secp256k1_gej pt; - if (secp256k1_scalar_is_zero(tweak)) { - return 0; - } - - secp256k1_scalar_set_int(&zero, 0); - secp256k1_gej_set_ge(&pt, key); - secp256k1_ecmult(ctx, &pt, &pt, tweak, &zero); - secp256k1_ge_set_gej(key, &pt); - return 1; -} - -#endif /* SECP256K1_ECKEY_IMPL_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/ecmult.h b/Pods/secp256k1_ios/secp256k1_ios/src/ecmult.h deleted file mode 100644 index ea1cd8a21..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/ecmult.h +++ /dev/null @@ -1,47 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014, 2017 Pieter Wuille, Andrew Poelstra * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_ECMULT_H -#define SECP256K1_ECMULT_H - -#include "num.h" -#include "group.h" -#include "scalar.h" -#include "scratch.h" - -typedef struct { - /* For accelerating the computation of a*P + b*G: */ - secp256k1_ge_storage (*pre_g)[]; /* odd multiples of the generator */ -#ifdef USE_ENDOMORPHISM - secp256k1_ge_storage (*pre_g_128)[]; /* odd multiples of 2^128*generator */ -#endif -} secp256k1_ecmult_context; - -static void secp256k1_ecmult_context_init(secp256k1_ecmult_context *ctx); -static void secp256k1_ecmult_context_build(secp256k1_ecmult_context *ctx, const secp256k1_callback *cb); -static void secp256k1_ecmult_context_clone(secp256k1_ecmult_context *dst, - const secp256k1_ecmult_context *src, const secp256k1_callback *cb); -static void secp256k1_ecmult_context_clear(secp256k1_ecmult_context *ctx); -static int secp256k1_ecmult_context_is_built(const secp256k1_ecmult_context *ctx); - -/** Double multiply: R = na*A + ng*G */ -static void secp256k1_ecmult(const secp256k1_ecmult_context *ctx, secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_scalar *na, const secp256k1_scalar *ng); - -typedef int (secp256k1_ecmult_multi_callback)(secp256k1_scalar *sc, secp256k1_ge *pt, size_t idx, void *data); - -/** - * Multi-multiply: R = inp_g_sc * G + sum_i ni * Ai. - * Chooses the right algorithm for a given number of points and scratch space - * size. Resets and overwrites the given scratch space. If the points do not - * fit in the scratch space the algorithm is repeatedly run with batches of - * points. - * Returns: 1 on success (including when inp_g_sc is NULL and n is 0) - * 0 if there is not enough scratch space for a single point or - * callback returns 0 - */ -static int secp256k1_ecmult_multi_var(const secp256k1_ecmult_context *ctx, secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n); - -#endif /* SECP256K1_ECMULT_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_const.h b/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_const.h deleted file mode 100644 index d4804b8b6..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_const.h +++ /dev/null @@ -1,17 +0,0 @@ -/********************************************************************** - * Copyright (c) 2015 Andrew Poelstra * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_ECMULT_CONST_H -#define SECP256K1_ECMULT_CONST_H - -#include "scalar.h" -#include "group.h" - -/* Here `bits` should be set to the maximum bitlength of the _absolute value_ of `q`, plus - * one because we internally sometimes add 2 to the number during the WNAF conversion. */ -static void secp256k1_ecmult_const(secp256k1_gej *r, const secp256k1_ge *a, const secp256k1_scalar *q, int bits); - -#endif /* SECP256K1_ECMULT_CONST_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_const_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_const_impl.h deleted file mode 100644 index 8411752eb..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_const_impl.h +++ /dev/null @@ -1,257 +0,0 @@ -/********************************************************************** - * Copyright (c) 2015 Pieter Wuille, Andrew Poelstra * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_ECMULT_CONST_IMPL_H -#define SECP256K1_ECMULT_CONST_IMPL_H - -#include "scalar.h" -#include "group.h" -#include "ecmult_const.h" -#include "ecmult_impl.h" - -/* This is like `ECMULT_TABLE_GET_GE` but is constant time */ -#define ECMULT_CONST_TABLE_GET_GE(r,pre,n,w) do { \ - int m; \ - int abs_n = (n) * (((n) > 0) * 2 - 1); \ - int idx_n = abs_n / 2; \ - secp256k1_fe neg_y; \ - VERIFY_CHECK(((n) & 1) == 1); \ - VERIFY_CHECK((n) >= -((1 << ((w)-1)) - 1)); \ - VERIFY_CHECK((n) <= ((1 << ((w)-1)) - 1)); \ - VERIFY_SETUP(secp256k1_fe_clear(&(r)->x)); \ - VERIFY_SETUP(secp256k1_fe_clear(&(r)->y)); \ - for (m = 0; m < ECMULT_TABLE_SIZE(w); m++) { \ - /* This loop is used to avoid secret data in array indices. See - * the comment in ecmult_gen_impl.h for rationale. */ \ - secp256k1_fe_cmov(&(r)->x, &(pre)[m].x, m == idx_n); \ - secp256k1_fe_cmov(&(r)->y, &(pre)[m].y, m == idx_n); \ - } \ - (r)->infinity = 0; \ - secp256k1_fe_negate(&neg_y, &(r)->y, 1); \ - secp256k1_fe_cmov(&(r)->y, &neg_y, (n) != abs_n); \ -} while(0) - - -/** Convert a number to WNAF notation. - * The number becomes represented by sum(2^{wi} * wnaf[i], i=0..WNAF_SIZE(w)+1) - return_val. - * It has the following guarantees: - * - each wnaf[i] an odd integer between -(1 << w) and (1 << w) - * - each wnaf[i] is nonzero - * - the number of words set is always WNAF_SIZE(w) + 1 - * - * Adapted from `The Width-w NAF Method Provides Small Memory and Fast Elliptic Scalar - * Multiplications Secure against Side Channel Attacks`, Okeya and Tagaki. M. Joye (Ed.) - * CT-RSA 2003, LNCS 2612, pp. 328-443, 2003. Springer-Verlagy Berlin Heidelberg 2003 - * - * Numbers reference steps of `Algorithm SPA-resistant Width-w NAF with Odd Scalar` on pp. 335 - */ -static int secp256k1_wnaf_const(int *wnaf, secp256k1_scalar s, int w, int size) { - int global_sign; - int skew = 0; - int word = 0; - - /* 1 2 3 */ - int u_last; - int u; - - int flip; - int bit; - secp256k1_scalar neg_s; - int not_neg_one; - /* Note that we cannot handle even numbers by negating them to be odd, as is - * done in other implementations, since if our scalars were specified to have - * width < 256 for performance reasons, their negations would have width 256 - * and we'd lose any performance benefit. Instead, we use a technique from - * Section 4.2 of the Okeya/Tagaki paper, which is to add either 1 (for even) - * or 2 (for odd) to the number we are encoding, returning a skew value indicating - * this, and having the caller compensate after doing the multiplication. - * - * In fact, we _do_ want to negate numbers to minimize their bit-lengths (and in - * particular, to ensure that the outputs from the endomorphism-split fit into - * 128 bits). If we negate, the parity of our number flips, inverting which of - * {1, 2} we want to add to the scalar when ensuring that it's odd. Further - * complicating things, -1 interacts badly with `secp256k1_scalar_cadd_bit` and - * we need to special-case it in this logic. */ - flip = secp256k1_scalar_is_high(&s); - /* We add 1 to even numbers, 2 to odd ones, noting that negation flips parity */ - bit = flip ^ !secp256k1_scalar_is_even(&s); - /* We check for negative one, since adding 2 to it will cause an overflow */ - secp256k1_scalar_negate(&neg_s, &s); - not_neg_one = !secp256k1_scalar_is_one(&neg_s); - secp256k1_scalar_cadd_bit(&s, bit, not_neg_one); - /* If we had negative one, flip == 1, s.d[0] == 0, bit == 1, so caller expects - * that we added two to it and flipped it. In fact for -1 these operations are - * identical. We only flipped, but since skewing is required (in the sense that - * the skew must be 1 or 2, never zero) and flipping is not, we need to change - * our flags to claim that we only skewed. */ - global_sign = secp256k1_scalar_cond_negate(&s, flip); - global_sign *= not_neg_one * 2 - 1; - skew = 1 << bit; - - /* 4 */ - u_last = secp256k1_scalar_shr_int(&s, w); - while (word * w < size) { - int sign; - int even; - - /* 4.1 4.4 */ - u = secp256k1_scalar_shr_int(&s, w); - /* 4.2 */ - even = ((u & 1) == 0); - sign = 2 * (u_last > 0) - 1; - u += sign * even; - u_last -= sign * even * (1 << w); - - /* 4.3, adapted for global sign change */ - wnaf[word++] = u_last * global_sign; - - u_last = u; - } - wnaf[word] = u * global_sign; - - VERIFY_CHECK(secp256k1_scalar_is_zero(&s)); - VERIFY_CHECK(word == WNAF_SIZE_BITS(size, w)); - return skew; -} - -static void secp256k1_ecmult_const(secp256k1_gej *r, const secp256k1_ge *a, const secp256k1_scalar *scalar, int size) { - secp256k1_ge pre_a[ECMULT_TABLE_SIZE(WINDOW_A)]; - secp256k1_ge tmpa; - secp256k1_fe Z; - - int skew_1; -#ifdef USE_ENDOMORPHISM - secp256k1_ge pre_a_lam[ECMULT_TABLE_SIZE(WINDOW_A)]; - int wnaf_lam[1 + WNAF_SIZE(WINDOW_A - 1)]; - int skew_lam; - secp256k1_scalar q_1, q_lam; -#endif - int wnaf_1[1 + WNAF_SIZE(WINDOW_A - 1)]; - - int i; - secp256k1_scalar sc = *scalar; - - /* build wnaf representation for q. */ - int rsize = size; -#ifdef USE_ENDOMORPHISM - if (size > 128) { - rsize = 128; - /* split q into q_1 and q_lam (where q = q_1 + q_lam*lambda, and q_1 and q_lam are ~128 bit) */ - secp256k1_scalar_split_lambda(&q_1, &q_lam, &sc); - skew_1 = secp256k1_wnaf_const(wnaf_1, q_1, WINDOW_A - 1, 128); - skew_lam = secp256k1_wnaf_const(wnaf_lam, q_lam, WINDOW_A - 1, 128); - } else -#endif - { - skew_1 = secp256k1_wnaf_const(wnaf_1, sc, WINDOW_A - 1, size); -#ifdef USE_ENDOMORPHISM - skew_lam = 0; -#endif - } - - /* Calculate odd multiples of a. - * All multiples are brought to the same Z 'denominator', which is stored - * in Z. Due to secp256k1' isomorphism we can do all operations pretending - * that the Z coordinate was 1, use affine addition formulae, and correct - * the Z coordinate of the result once at the end. - */ - secp256k1_gej_set_ge(r, a); - secp256k1_ecmult_odd_multiples_table_globalz_windowa(pre_a, &Z, r); - for (i = 0; i < ECMULT_TABLE_SIZE(WINDOW_A); i++) { - secp256k1_fe_normalize_weak(&pre_a[i].y); - } -#ifdef USE_ENDOMORPHISM - if (size > 128) { - for (i = 0; i < ECMULT_TABLE_SIZE(WINDOW_A); i++) { - secp256k1_ge_mul_lambda(&pre_a_lam[i], &pre_a[i]); - } - } -#endif - - /* first loop iteration (separated out so we can directly set r, rather - * than having it start at infinity, get doubled several times, then have - * its new value added to it) */ - i = wnaf_1[WNAF_SIZE_BITS(rsize, WINDOW_A - 1)]; - VERIFY_CHECK(i != 0); - ECMULT_CONST_TABLE_GET_GE(&tmpa, pre_a, i, WINDOW_A); - secp256k1_gej_set_ge(r, &tmpa); -#ifdef USE_ENDOMORPHISM - if (size > 128) { - i = wnaf_lam[WNAF_SIZE_BITS(rsize, WINDOW_A - 1)]; - VERIFY_CHECK(i != 0); - ECMULT_CONST_TABLE_GET_GE(&tmpa, pre_a_lam, i, WINDOW_A); - secp256k1_gej_add_ge(r, r, &tmpa); - } -#endif - /* remaining loop iterations */ - for (i = WNAF_SIZE_BITS(rsize, WINDOW_A - 1) - 1; i >= 0; i--) { - int n; - int j; - for (j = 0; j < WINDOW_A - 1; ++j) { - secp256k1_gej_double_nonzero(r, r, NULL); - } - - n = wnaf_1[i]; - ECMULT_CONST_TABLE_GET_GE(&tmpa, pre_a, n, WINDOW_A); - VERIFY_CHECK(n != 0); - secp256k1_gej_add_ge(r, r, &tmpa); -#ifdef USE_ENDOMORPHISM - if (size > 128) { - n = wnaf_lam[i]; - ECMULT_CONST_TABLE_GET_GE(&tmpa, pre_a_lam, n, WINDOW_A); - VERIFY_CHECK(n != 0); - secp256k1_gej_add_ge(r, r, &tmpa); - } -#endif - } - - secp256k1_fe_mul(&r->z, &r->z, &Z); - - { - /* Correct for wNAF skew */ - secp256k1_ge correction = *a; - secp256k1_ge_storage correction_1_stor; -#ifdef USE_ENDOMORPHISM - secp256k1_ge_storage correction_lam_stor; -#endif - secp256k1_ge_storage a2_stor; - secp256k1_gej tmpj; - secp256k1_gej_set_ge(&tmpj, &correction); - secp256k1_gej_double_var(&tmpj, &tmpj, NULL); - secp256k1_ge_set_gej(&correction, &tmpj); - secp256k1_ge_to_storage(&correction_1_stor, a); -#ifdef USE_ENDOMORPHISM - if (size > 128) { - secp256k1_ge_to_storage(&correction_lam_stor, a); - } -#endif - secp256k1_ge_to_storage(&a2_stor, &correction); - - /* For odd numbers this is 2a (so replace it), for even ones a (so no-op) */ - secp256k1_ge_storage_cmov(&correction_1_stor, &a2_stor, skew_1 == 2); -#ifdef USE_ENDOMORPHISM - if (size > 128) { - secp256k1_ge_storage_cmov(&correction_lam_stor, &a2_stor, skew_lam == 2); - } -#endif - - /* Apply the correction */ - secp256k1_ge_from_storage(&correction, &correction_1_stor); - secp256k1_ge_neg(&correction, &correction); - secp256k1_gej_add_ge(r, r, &correction); - -#ifdef USE_ENDOMORPHISM - if (size > 128) { - secp256k1_ge_from_storage(&correction, &correction_lam_stor); - secp256k1_ge_neg(&correction, &correction); - secp256k1_ge_mul_lambda(&correction, &correction); - secp256k1_gej_add_ge(r, r, &correction); - } -#endif - } -} - -#endif /* SECP256K1_ECMULT_CONST_IMPL_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_gen.h b/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_gen.h deleted file mode 100644 index 7564b7015..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_gen.h +++ /dev/null @@ -1,43 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_ECMULT_GEN_H -#define SECP256K1_ECMULT_GEN_H - -#include "scalar.h" -#include "group.h" - -typedef struct { - /* For accelerating the computation of a*G: - * To harden against timing attacks, use the following mechanism: - * * Break up the multiplicand into groups of 4 bits, called n_0, n_1, n_2, ..., n_63. - * * Compute sum(n_i * 16^i * G + U_i, i=0..63), where: - * * U_i = U * 2^i (for i=0..62) - * * U_i = U * (1-2^63) (for i=63) - * where U is a point with no known corresponding scalar. Note that sum(U_i, i=0..63) = 0. - * For each i, and each of the 16 possible values of n_i, (n_i * 16^i * G + U_i) is - * precomputed (call it prec(i, n_i)). The formula now becomes sum(prec(i, n_i), i=0..63). - * None of the resulting prec group elements have a known scalar, and neither do any of - * the intermediate sums while computing a*G. - */ - secp256k1_ge_storage (*prec)[64][16]; /* prec[j][i] = 16^j * i * G + U_i */ - secp256k1_scalar blind; - secp256k1_gej initial; -} secp256k1_ecmult_gen_context; - -static void secp256k1_ecmult_gen_context_init(secp256k1_ecmult_gen_context* ctx); -static void secp256k1_ecmult_gen_context_build(secp256k1_ecmult_gen_context* ctx, const secp256k1_callback* cb); -static void secp256k1_ecmult_gen_context_clone(secp256k1_ecmult_gen_context *dst, - const secp256k1_ecmult_gen_context* src, const secp256k1_callback* cb); -static void secp256k1_ecmult_gen_context_clear(secp256k1_ecmult_gen_context* ctx); -static int secp256k1_ecmult_gen_context_is_built(const secp256k1_ecmult_gen_context* ctx); - -/** Multiply with the generator: R = a*G */ -static void secp256k1_ecmult_gen(const secp256k1_ecmult_gen_context* ctx, secp256k1_gej *r, const secp256k1_scalar *a); - -static void secp256k1_ecmult_gen_blind(secp256k1_ecmult_gen_context *ctx, const unsigned char *seed32); - -#endif /* SECP256K1_ECMULT_GEN_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_gen_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_gen_impl.h deleted file mode 100644 index 714f02e94..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_gen_impl.h +++ /dev/null @@ -1,210 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014, 2015 Pieter Wuille, Gregory Maxwell * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_ECMULT_GEN_IMPL_H -#define SECP256K1_ECMULT_GEN_IMPL_H - -#include "scalar.h" -#include "group.h" -#include "ecmult_gen.h" -#include "hash_impl.h" -#ifdef USE_ECMULT_STATIC_PRECOMPUTATION -#include "ecmult_static_context.h" -#endif -static void secp256k1_ecmult_gen_context_init(secp256k1_ecmult_gen_context *ctx) { - ctx->prec = NULL; -} - -static void secp256k1_ecmult_gen_context_build(secp256k1_ecmult_gen_context *ctx, const secp256k1_callback* cb) { -#ifndef USE_ECMULT_STATIC_PRECOMPUTATION - secp256k1_ge prec[1024]; - secp256k1_gej gj; - secp256k1_gej nums_gej; - int i, j; -#endif - - if (ctx->prec != NULL) { - return; - } -#ifndef USE_ECMULT_STATIC_PRECOMPUTATION - ctx->prec = (secp256k1_ge_storage (*)[64][16])checked_malloc(cb, sizeof(*ctx->prec)); - - /* get the generator */ - secp256k1_gej_set_ge(&gj, &secp256k1_ge_const_g); - - /* Construct a group element with no known corresponding scalar (nothing up my sleeve). */ - { - static const unsigned char nums_b32[33] = "The scalar for this x is unknown"; - secp256k1_fe nums_x; - secp256k1_ge nums_ge; - int r; - r = secp256k1_fe_set_b32(&nums_x, nums_b32); - (void)r; - VERIFY_CHECK(r); - r = secp256k1_ge_set_xo_var(&nums_ge, &nums_x, 0); - (void)r; - VERIFY_CHECK(r); - secp256k1_gej_set_ge(&nums_gej, &nums_ge); - /* Add G to make the bits in x uniformly distributed. */ - secp256k1_gej_add_ge_var(&nums_gej, &nums_gej, &secp256k1_ge_const_g, NULL); - } - - /* compute prec. */ - { - secp256k1_gej precj[1024]; /* Jacobian versions of prec. */ - secp256k1_gej gbase; - secp256k1_gej numsbase; - gbase = gj; /* 16^j * G */ - numsbase = nums_gej; /* 2^j * nums. */ - for (j = 0; j < 64; j++) { - /* Set precj[j*16 .. j*16+15] to (numsbase, numsbase + gbase, ..., numsbase + 15*gbase). */ - precj[j*16] = numsbase; - for (i = 1; i < 16; i++) { - secp256k1_gej_add_var(&precj[j*16 + i], &precj[j*16 + i - 1], &gbase, NULL); - } - /* Multiply gbase by 16. */ - for (i = 0; i < 4; i++) { - secp256k1_gej_double_var(&gbase, &gbase, NULL); - } - /* Multiply numbase by 2. */ - secp256k1_gej_double_var(&numsbase, &numsbase, NULL); - if (j == 62) { - /* In the last iteration, numsbase is (1 - 2^j) * nums instead. */ - secp256k1_gej_neg(&numsbase, &numsbase); - secp256k1_gej_add_var(&numsbase, &numsbase, &nums_gej, NULL); - } - } - secp256k1_ge_set_all_gej_var(prec, precj, 1024, cb); - } - for (j = 0; j < 64; j++) { - for (i = 0; i < 16; i++) { - secp256k1_ge_to_storage(&(*ctx->prec)[j][i], &prec[j*16 + i]); - } - } -#else - (void)cb; - ctx->prec = (secp256k1_ge_storage (*)[64][16])secp256k1_ecmult_static_context; -#endif - secp256k1_ecmult_gen_blind(ctx, NULL); -} - -static int secp256k1_ecmult_gen_context_is_built(const secp256k1_ecmult_gen_context* ctx) { - return ctx->prec != NULL; -} - -static void secp256k1_ecmult_gen_context_clone(secp256k1_ecmult_gen_context *dst, - const secp256k1_ecmult_gen_context *src, const secp256k1_callback* cb) { - if (src->prec == NULL) { - dst->prec = NULL; - } else { -#ifndef USE_ECMULT_STATIC_PRECOMPUTATION - dst->prec = (secp256k1_ge_storage (*)[64][16])checked_malloc(cb, sizeof(*dst->prec)); - memcpy(dst->prec, src->prec, sizeof(*dst->prec)); -#else - (void)cb; - dst->prec = src->prec; -#endif - dst->initial = src->initial; - dst->blind = src->blind; - } -} - -static void secp256k1_ecmult_gen_context_clear(secp256k1_ecmult_gen_context *ctx) { -#ifndef USE_ECMULT_STATIC_PRECOMPUTATION - free(ctx->prec); -#endif - secp256k1_scalar_clear(&ctx->blind); - secp256k1_gej_clear(&ctx->initial); - ctx->prec = NULL; -} - -static void secp256k1_ecmult_gen(const secp256k1_ecmult_gen_context *ctx, secp256k1_gej *r, const secp256k1_scalar *gn) { - secp256k1_ge add; - secp256k1_ge_storage adds; - secp256k1_scalar gnb; - int bits; - int i, j; - memset(&adds, 0, sizeof(adds)); - *r = ctx->initial; - /* Blind scalar/point multiplication by computing (n-b)G + bG instead of nG. */ - secp256k1_scalar_add(&gnb, gn, &ctx->blind); - add.infinity = 0; - for (j = 0; j < 64; j++) { - bits = secp256k1_scalar_get_bits(&gnb, j * 4, 4); - for (i = 0; i < 16; i++) { - /** This uses a conditional move to avoid any secret data in array indexes. - * _Any_ use of secret indexes has been demonstrated to result in timing - * sidechannels, even when the cache-line access patterns are uniform. - * See also: - * "A word of warning", CHES 2013 Rump Session, by Daniel J. Bernstein and Peter Schwabe - * (https://cryptojedi.org/peter/data/chesrump-20130822.pdf) and - * "Cache Attacks and Countermeasures: the Case of AES", RSA 2006, - * by Dag Arne Osvik, Adi Shamir, and Eran Tromer - * (http://www.tau.ac.il/~tromer/papers/cache.pdf) - */ - secp256k1_ge_storage_cmov(&adds, &(*ctx->prec)[j][i], i == bits); - } - secp256k1_ge_from_storage(&add, &adds); - secp256k1_gej_add_ge(r, r, &add); - } - bits = 0; - secp256k1_ge_clear(&add); - secp256k1_scalar_clear(&gnb); -} - -/* Setup blinding values for secp256k1_ecmult_gen. */ -static void secp256k1_ecmult_gen_blind(secp256k1_ecmult_gen_context *ctx, const unsigned char *seed32) { - secp256k1_scalar b; - secp256k1_gej gb; - secp256k1_fe s; - unsigned char nonce32[32]; - secp256k1_rfc6979_hmac_sha256 rng; - int retry; - unsigned char keydata[64] = {0}; - if (seed32 == NULL) { - /* When seed is NULL, reset the initial point and blinding value. */ - secp256k1_gej_set_ge(&ctx->initial, &secp256k1_ge_const_g); - secp256k1_gej_neg(&ctx->initial, &ctx->initial); - secp256k1_scalar_set_int(&ctx->blind, 1); - } - /* The prior blinding value (if not reset) is chained forward by including it in the hash. */ - secp256k1_scalar_get_b32(nonce32, &ctx->blind); - /** Using a CSPRNG allows a failure free interface, avoids needing large amounts of random data, - * and guards against weak or adversarial seeds. This is a simpler and safer interface than - * asking the caller for blinding values directly and expecting them to retry on failure. - */ - memcpy(keydata, nonce32, 32); - if (seed32 != NULL) { - memcpy(keydata + 32, seed32, 32); - } - secp256k1_rfc6979_hmac_sha256_initialize(&rng, keydata, seed32 ? 64 : 32); - memset(keydata, 0, sizeof(keydata)); - /* Retry for out of range results to achieve uniformity. */ - do { - secp256k1_rfc6979_hmac_sha256_generate(&rng, nonce32, 32); - retry = !secp256k1_fe_set_b32(&s, nonce32); - retry |= secp256k1_fe_is_zero(&s); - } while (retry); /* This branch true is cryptographically unreachable. Requires sha256_hmac output > Fp. */ - /* Randomize the projection to defend against multiplier sidechannels. */ - secp256k1_gej_rescale(&ctx->initial, &s); - secp256k1_fe_clear(&s); - do { - secp256k1_rfc6979_hmac_sha256_generate(&rng, nonce32, 32); - secp256k1_scalar_set_b32(&b, nonce32, &retry); - /* A blinding value of 0 works, but would undermine the projection hardening. */ - retry |= secp256k1_scalar_is_zero(&b); - } while (retry); /* This branch true is cryptographically unreachable. Requires sha256_hmac output > order. */ - secp256k1_rfc6979_hmac_sha256_finalize(&rng); - memset(nonce32, 0, 32); - secp256k1_ecmult_gen(ctx, &gb, &b); - secp256k1_scalar_negate(&b, &b); - ctx->blind = b; - ctx->initial = gb; - secp256k1_scalar_clear(&b); - secp256k1_gej_clear(&gb); -} - -#endif /* SECP256K1_ECMULT_GEN_IMPL_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_impl.h deleted file mode 100644 index d5fb6c5b6..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/ecmult_impl.h +++ /dev/null @@ -1,1027 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2013, 2014, 2017 Pieter Wuille, Andrew Poelstra, Jonas Nick * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php. * - *****************************************************************************/ - -#ifndef SECP256K1_ECMULT_IMPL_H -#define SECP256K1_ECMULT_IMPL_H - -#include -#include - -#include "group.h" -#include "scalar.h" -#include "ecmult.h" - -#if defined(EXHAUSTIVE_TEST_ORDER) -/* We need to lower these values for exhaustive tests because - * the tables cannot have infinities in them (this breaks the - * affine-isomorphism stuff which tracks z-ratios) */ -# if EXHAUSTIVE_TEST_ORDER > 128 -# define WINDOW_A 5 -# define WINDOW_G 8 -# elif EXHAUSTIVE_TEST_ORDER > 8 -# define WINDOW_A 4 -# define WINDOW_G 4 -# else -# define WINDOW_A 2 -# define WINDOW_G 2 -# endif -#else -/* optimal for 128-bit and 256-bit exponents. */ -#define WINDOW_A 5 -/** larger numbers may result in slightly better performance, at the cost of - exponentially larger precomputed tables. */ -#ifdef USE_ENDOMORPHISM -/** Two tables for window size 15: 1.375 MiB. */ -#define WINDOW_G 15 -#else -/** One table for window size 16: 1.375 MiB. */ -#define WINDOW_G 16 -#endif -#endif - -#ifdef USE_ENDOMORPHISM - #define WNAF_BITS 128 -#else - #define WNAF_BITS 256 -#endif -#define WNAF_SIZE_BITS(bits, w) (((bits) + (w) - 1) / (w)) -#define WNAF_SIZE(w) WNAF_SIZE_BITS(WNAF_BITS, w) - -/** The number of entries a table with precomputed multiples needs to have. */ -#define ECMULT_TABLE_SIZE(w) (1 << ((w)-2)) - -/* The number of objects allocated on the scratch space for ecmult_multi algorithms */ -#define PIPPENGER_SCRATCH_OBJECTS 6 -#define STRAUSS_SCRATCH_OBJECTS 6 - -#define PIPPENGER_MAX_BUCKET_WINDOW 12 - -/* Minimum number of points for which pippenger_wnaf is faster than strauss wnaf */ -#ifdef USE_ENDOMORPHISM - #define ECMULT_PIPPENGER_THRESHOLD 88 -#else - #define ECMULT_PIPPENGER_THRESHOLD 160 -#endif - -#ifdef USE_ENDOMORPHISM - #define ECMULT_MAX_POINTS_PER_BATCH 5000000 -#else - #define ECMULT_MAX_POINTS_PER_BATCH 10000000 -#endif - -/** Fill a table 'prej' with precomputed odd multiples of a. Prej will contain - * the values [1*a,3*a,...,(2*n-1)*a], so it space for n values. zr[0] will - * contain prej[0].z / a.z. The other zr[i] values = prej[i].z / prej[i-1].z. - * Prej's Z values are undefined, except for the last value. - */ -static void secp256k1_ecmult_odd_multiples_table(int n, secp256k1_gej *prej, secp256k1_fe *zr, const secp256k1_gej *a) { - secp256k1_gej d; - secp256k1_ge a_ge, d_ge; - int i; - - VERIFY_CHECK(!a->infinity); - - secp256k1_gej_double_var(&d, a, NULL); - - /* - * Perform the additions on an isomorphism where 'd' is affine: drop the z coordinate - * of 'd', and scale the 1P starting value's x/y coordinates without changing its z. - */ - d_ge.x = d.x; - d_ge.y = d.y; - d_ge.infinity = 0; - - secp256k1_ge_set_gej_zinv(&a_ge, a, &d.z); - prej[0].x = a_ge.x; - prej[0].y = a_ge.y; - prej[0].z = a->z; - prej[0].infinity = 0; - - zr[0] = d.z; - for (i = 1; i < n; i++) { - secp256k1_gej_add_ge_var(&prej[i], &prej[i-1], &d_ge, &zr[i]); - } - - /* - * Each point in 'prej' has a z coordinate too small by a factor of 'd.z'. Only - * the final point's z coordinate is actually used though, so just update that. - */ - secp256k1_fe_mul(&prej[n-1].z, &prej[n-1].z, &d.z); -} - -/** Fill a table 'pre' with precomputed odd multiples of a. - * - * There are two versions of this function: - * - secp256k1_ecmult_odd_multiples_table_globalz_windowa which brings its - * resulting point set to a single constant Z denominator, stores the X and Y - * coordinates as ge_storage points in pre, and stores the global Z in rz. - * It only operates on tables sized for WINDOW_A wnaf multiples. - * - secp256k1_ecmult_odd_multiples_table_storage_var, which converts its - * resulting point set to actually affine points, and stores those in pre. - * It operates on tables of any size, but uses heap-allocated temporaries. - * - * To compute a*P + b*G, we compute a table for P using the first function, - * and for G using the second (which requires an inverse, but it only needs to - * happen once). - */ -static void secp256k1_ecmult_odd_multiples_table_globalz_windowa(secp256k1_ge *pre, secp256k1_fe *globalz, const secp256k1_gej *a) { - secp256k1_gej prej[ECMULT_TABLE_SIZE(WINDOW_A)]; - secp256k1_fe zr[ECMULT_TABLE_SIZE(WINDOW_A)]; - - /* Compute the odd multiples in Jacobian form. */ - secp256k1_ecmult_odd_multiples_table(ECMULT_TABLE_SIZE(WINDOW_A), prej, zr, a); - /* Bring them to the same Z denominator. */ - secp256k1_ge_globalz_set_table_gej(ECMULT_TABLE_SIZE(WINDOW_A), pre, globalz, prej, zr); -} - -static void secp256k1_ecmult_odd_multiples_table_storage_var(int n, secp256k1_ge_storage *pre, const secp256k1_gej *a, const secp256k1_callback *cb) { - secp256k1_gej *prej = (secp256k1_gej*)checked_malloc(cb, sizeof(secp256k1_gej) * n); - secp256k1_ge *prea = (secp256k1_ge*)checked_malloc(cb, sizeof(secp256k1_ge) * n); - secp256k1_fe *zr = (secp256k1_fe*)checked_malloc(cb, sizeof(secp256k1_fe) * n); - int i; - - /* Compute the odd multiples in Jacobian form. */ - secp256k1_ecmult_odd_multiples_table(n, prej, zr, a); - /* Convert them in batch to affine coordinates. */ - secp256k1_ge_set_table_gej_var(prea, prej, zr, n); - /* Convert them to compact storage form. */ - for (i = 0; i < n; i++) { - secp256k1_ge_to_storage(&pre[i], &prea[i]); - } - - free(prea); - free(prej); - free(zr); -} - -/** The following two macro retrieves a particular odd multiple from a table - * of precomputed multiples. */ -#define ECMULT_TABLE_GET_GE(r,pre,n,w) do { \ - VERIFY_CHECK(((n) & 1) == 1); \ - VERIFY_CHECK((n) >= -((1 << ((w)-1)) - 1)); \ - VERIFY_CHECK((n) <= ((1 << ((w)-1)) - 1)); \ - if ((n) > 0) { \ - *(r) = (pre)[((n)-1)/2]; \ - } else { \ - secp256k1_ge_neg((r), &(pre)[(-(n)-1)/2]); \ - } \ -} while(0) - -#define ECMULT_TABLE_GET_GE_STORAGE(r,pre,n,w) do { \ - VERIFY_CHECK(((n) & 1) == 1); \ - VERIFY_CHECK((n) >= -((1 << ((w)-1)) - 1)); \ - VERIFY_CHECK((n) <= ((1 << ((w)-1)) - 1)); \ - if ((n) > 0) { \ - secp256k1_ge_from_storage((r), &(pre)[((n)-1)/2]); \ - } else { \ - secp256k1_ge_from_storage((r), &(pre)[(-(n)-1)/2]); \ - secp256k1_ge_neg((r), (r)); \ - } \ -} while(0) - -static void secp256k1_ecmult_context_init(secp256k1_ecmult_context *ctx) { - ctx->pre_g = NULL; -#ifdef USE_ENDOMORPHISM - ctx->pre_g_128 = NULL; -#endif -} - -static void secp256k1_ecmult_context_build(secp256k1_ecmult_context *ctx, const secp256k1_callback *cb) { - secp256k1_gej gj; - - if (ctx->pre_g != NULL) { - return; - } - - /* get the generator */ - secp256k1_gej_set_ge(&gj, &secp256k1_ge_const_g); - - ctx->pre_g = (secp256k1_ge_storage (*)[])checked_malloc(cb, sizeof((*ctx->pre_g)[0]) * ECMULT_TABLE_SIZE(WINDOW_G)); - - /* precompute the tables with odd multiples */ - secp256k1_ecmult_odd_multiples_table_storage_var(ECMULT_TABLE_SIZE(WINDOW_G), *ctx->pre_g, &gj, cb); - -#ifdef USE_ENDOMORPHISM - { - secp256k1_gej g_128j; - int i; - - ctx->pre_g_128 = (secp256k1_ge_storage (*)[])checked_malloc(cb, sizeof((*ctx->pre_g_128)[0]) * ECMULT_TABLE_SIZE(WINDOW_G)); - - /* calculate 2^128*generator */ - g_128j = gj; - for (i = 0; i < 128; i++) { - secp256k1_gej_double_var(&g_128j, &g_128j, NULL); - } - secp256k1_ecmult_odd_multiples_table_storage_var(ECMULT_TABLE_SIZE(WINDOW_G), *ctx->pre_g_128, &g_128j, cb); - } -#endif -} - -static void secp256k1_ecmult_context_clone(secp256k1_ecmult_context *dst, - const secp256k1_ecmult_context *src, const secp256k1_callback *cb) { - if (src->pre_g == NULL) { - dst->pre_g = NULL; - } else { - size_t size = sizeof((*dst->pre_g)[0]) * ECMULT_TABLE_SIZE(WINDOW_G); - dst->pre_g = (secp256k1_ge_storage (*)[])checked_malloc(cb, size); - memcpy(dst->pre_g, src->pre_g, size); - } -#ifdef USE_ENDOMORPHISM - if (src->pre_g_128 == NULL) { - dst->pre_g_128 = NULL; - } else { - size_t size = sizeof((*dst->pre_g_128)[0]) * ECMULT_TABLE_SIZE(WINDOW_G); - dst->pre_g_128 = (secp256k1_ge_storage (*)[])checked_malloc(cb, size); - memcpy(dst->pre_g_128, src->pre_g_128, size); - } -#endif -} - -static int secp256k1_ecmult_context_is_built(const secp256k1_ecmult_context *ctx) { - return ctx->pre_g != NULL; -} - -static void secp256k1_ecmult_context_clear(secp256k1_ecmult_context *ctx) { - free(ctx->pre_g); -#ifdef USE_ENDOMORPHISM - free(ctx->pre_g_128); -#endif - secp256k1_ecmult_context_init(ctx); -} - -/** Convert a number to WNAF notation. The number becomes represented by sum(2^i * wnaf[i], i=0..bits), - * with the following guarantees: - * - each wnaf[i] is either 0, or an odd integer between -(1<<(w-1) - 1) and (1<<(w-1) - 1) - * - two non-zero entries in wnaf are separated by at least w-1 zeroes. - * - the number of set values in wnaf is returned. This number is at most 256, and at most one more - * than the number of bits in the (absolute value) of the input. - */ -static int secp256k1_ecmult_wnaf(int *wnaf, int len, const secp256k1_scalar *a, int w) { - secp256k1_scalar s = *a; - int last_set_bit = -1; - int bit = 0; - int sign = 1; - int carry = 0; - - VERIFY_CHECK(wnaf != NULL); - VERIFY_CHECK(0 <= len && len <= 256); - VERIFY_CHECK(a != NULL); - VERIFY_CHECK(2 <= w && w <= 31); - - memset(wnaf, 0, len * sizeof(wnaf[0])); - - if (secp256k1_scalar_get_bits(&s, 255, 1)) { - secp256k1_scalar_negate(&s, &s); - sign = -1; - } - - while (bit < len) { - int now; - int word; - if (secp256k1_scalar_get_bits(&s, bit, 1) == (unsigned int)carry) { - bit++; - continue; - } - - now = w; - if (now > len - bit) { - now = len - bit; - } - - word = secp256k1_scalar_get_bits_var(&s, bit, now) + carry; - - carry = (word >> (w-1)) & 1; - word -= carry << w; - - wnaf[bit] = sign * word; - last_set_bit = bit; - - bit += now; - } -#ifdef VERIFY - CHECK(carry == 0); - while (bit < 256) { - CHECK(secp256k1_scalar_get_bits(&s, bit++, 1) == 0); - } -#endif - return last_set_bit + 1; -} - -struct secp256k1_strauss_point_state { -#ifdef USE_ENDOMORPHISM - secp256k1_scalar na_1, na_lam; - int wnaf_na_1[130]; - int wnaf_na_lam[130]; - int bits_na_1; - int bits_na_lam; -#else - int wnaf_na[256]; - int bits_na; -#endif - size_t input_pos; -}; - -struct secp256k1_strauss_state { - secp256k1_gej* prej; - secp256k1_fe* zr; - secp256k1_ge* pre_a; -#ifdef USE_ENDOMORPHISM - secp256k1_ge* pre_a_lam; -#endif - struct secp256k1_strauss_point_state* ps; -}; - -static void secp256k1_ecmult_strauss_wnaf(const secp256k1_ecmult_context *ctx, const struct secp256k1_strauss_state *state, secp256k1_gej *r, int num, const secp256k1_gej *a, const secp256k1_scalar *na, const secp256k1_scalar *ng) { - secp256k1_ge tmpa; - secp256k1_fe Z; -#ifdef USE_ENDOMORPHISM - /* Splitted G factors. */ - secp256k1_scalar ng_1, ng_128; - int wnaf_ng_1[129]; - int bits_ng_1 = 0; - int wnaf_ng_128[129]; - int bits_ng_128 = 0; -#else - int wnaf_ng[256]; - int bits_ng = 0; -#endif - int i; - int bits = 0; - int np; - int no = 0; - - for (np = 0; np < num; ++np) { - if (secp256k1_scalar_is_zero(&na[np]) || secp256k1_gej_is_infinity(&a[np])) { - continue; - } - state->ps[no].input_pos = np; -#ifdef USE_ENDOMORPHISM - /* split na into na_1 and na_lam (where na = na_1 + na_lam*lambda, and na_1 and na_lam are ~128 bit) */ - secp256k1_scalar_split_lambda(&state->ps[no].na_1, &state->ps[no].na_lam, &na[np]); - - /* build wnaf representation for na_1 and na_lam. */ - state->ps[no].bits_na_1 = secp256k1_ecmult_wnaf(state->ps[no].wnaf_na_1, 130, &state->ps[no].na_1, WINDOW_A); - state->ps[no].bits_na_lam = secp256k1_ecmult_wnaf(state->ps[no].wnaf_na_lam, 130, &state->ps[no].na_lam, WINDOW_A); - VERIFY_CHECK(state->ps[no].bits_na_1 <= 130); - VERIFY_CHECK(state->ps[no].bits_na_lam <= 130); - if (state->ps[no].bits_na_1 > bits) { - bits = state->ps[no].bits_na_1; - } - if (state->ps[no].bits_na_lam > bits) { - bits = state->ps[no].bits_na_lam; - } -#else - /* build wnaf representation for na. */ - state->ps[no].bits_na = secp256k1_ecmult_wnaf(state->ps[no].wnaf_na, 256, &na[np], WINDOW_A); - if (state->ps[no].bits_na > bits) { - bits = state->ps[no].bits_na; - } -#endif - ++no; - } - - /* Calculate odd multiples of a. - * All multiples are brought to the same Z 'denominator', which is stored - * in Z. Due to secp256k1' isomorphism we can do all operations pretending - * that the Z coordinate was 1, use affine addition formulae, and correct - * the Z coordinate of the result once at the end. - * The exception is the precomputed G table points, which are actually - * affine. Compared to the base used for other points, they have a Z ratio - * of 1/Z, so we can use secp256k1_gej_add_zinv_var, which uses the same - * isomorphism to efficiently add with a known Z inverse. - */ - if (no > 0) { - /* Compute the odd multiples in Jacobian form. */ - secp256k1_ecmult_odd_multiples_table(ECMULT_TABLE_SIZE(WINDOW_A), state->prej, state->zr, &a[state->ps[0].input_pos]); - for (np = 1; np < no; ++np) { - secp256k1_gej tmp = a[state->ps[np].input_pos]; -#ifdef VERIFY - secp256k1_fe_normalize_var(&(state->prej[(np - 1) * ECMULT_TABLE_SIZE(WINDOW_A) + ECMULT_TABLE_SIZE(WINDOW_A) - 1].z)); -#endif - secp256k1_gej_rescale(&tmp, &(state->prej[(np - 1) * ECMULT_TABLE_SIZE(WINDOW_A) + ECMULT_TABLE_SIZE(WINDOW_A) - 1].z)); - secp256k1_ecmult_odd_multiples_table(ECMULT_TABLE_SIZE(WINDOW_A), state->prej + np * ECMULT_TABLE_SIZE(WINDOW_A), state->zr + np * ECMULT_TABLE_SIZE(WINDOW_A), &tmp); - secp256k1_fe_mul(state->zr + np * ECMULT_TABLE_SIZE(WINDOW_A), state->zr + np * ECMULT_TABLE_SIZE(WINDOW_A), &(a[state->ps[np].input_pos].z)); - } - /* Bring them to the same Z denominator. */ - secp256k1_ge_globalz_set_table_gej(ECMULT_TABLE_SIZE(WINDOW_A) * no, state->pre_a, &Z, state->prej, state->zr); - } else { - secp256k1_fe_set_int(&Z, 1); - } - -#ifdef USE_ENDOMORPHISM - for (np = 0; np < no; ++np) { - for (i = 0; i < ECMULT_TABLE_SIZE(WINDOW_A); i++) { - secp256k1_ge_mul_lambda(&state->pre_a_lam[np * ECMULT_TABLE_SIZE(WINDOW_A) + i], &state->pre_a[np * ECMULT_TABLE_SIZE(WINDOW_A) + i]); - } - } - - if (ng) { - /* split ng into ng_1 and ng_128 (where gn = gn_1 + gn_128*2^128, and gn_1 and gn_128 are ~128 bit) */ - secp256k1_scalar_split_128(&ng_1, &ng_128, ng); - - /* Build wnaf representation for ng_1 and ng_128 */ - bits_ng_1 = secp256k1_ecmult_wnaf(wnaf_ng_1, 129, &ng_1, WINDOW_G); - bits_ng_128 = secp256k1_ecmult_wnaf(wnaf_ng_128, 129, &ng_128, WINDOW_G); - if (bits_ng_1 > bits) { - bits = bits_ng_1; - } - if (bits_ng_128 > bits) { - bits = bits_ng_128; - } - } -#else - if (ng) { - bits_ng = secp256k1_ecmult_wnaf(wnaf_ng, 256, ng, WINDOW_G); - if (bits_ng > bits) { - bits = bits_ng; - } - } -#endif - - secp256k1_gej_set_infinity(r); - - for (i = bits - 1; i >= 0; i--) { - int n; - secp256k1_gej_double_var(r, r, NULL); -#ifdef USE_ENDOMORPHISM - for (np = 0; np < no; ++np) { - if (i < state->ps[np].bits_na_1 && (n = state->ps[np].wnaf_na_1[i])) { - ECMULT_TABLE_GET_GE(&tmpa, state->pre_a + np * ECMULT_TABLE_SIZE(WINDOW_A), n, WINDOW_A); - secp256k1_gej_add_ge_var(r, r, &tmpa, NULL); - } - if (i < state->ps[np].bits_na_lam && (n = state->ps[np].wnaf_na_lam[i])) { - ECMULT_TABLE_GET_GE(&tmpa, state->pre_a_lam + np * ECMULT_TABLE_SIZE(WINDOW_A), n, WINDOW_A); - secp256k1_gej_add_ge_var(r, r, &tmpa, NULL); - } - } - if (i < bits_ng_1 && (n = wnaf_ng_1[i])) { - ECMULT_TABLE_GET_GE_STORAGE(&tmpa, *ctx->pre_g, n, WINDOW_G); - secp256k1_gej_add_zinv_var(r, r, &tmpa, &Z); - } - if (i < bits_ng_128 && (n = wnaf_ng_128[i])) { - ECMULT_TABLE_GET_GE_STORAGE(&tmpa, *ctx->pre_g_128, n, WINDOW_G); - secp256k1_gej_add_zinv_var(r, r, &tmpa, &Z); - } -#else - for (np = 0; np < no; ++np) { - if (i < state->ps[np].bits_na && (n = state->ps[np].wnaf_na[i])) { - ECMULT_TABLE_GET_GE(&tmpa, state->pre_a + np * ECMULT_TABLE_SIZE(WINDOW_A), n, WINDOW_A); - secp256k1_gej_add_ge_var(r, r, &tmpa, NULL); - } - } - if (i < bits_ng && (n = wnaf_ng[i])) { - ECMULT_TABLE_GET_GE_STORAGE(&tmpa, *ctx->pre_g, n, WINDOW_G); - secp256k1_gej_add_zinv_var(r, r, &tmpa, &Z); - } -#endif - } - - if (!r->infinity) { - secp256k1_fe_mul(&r->z, &r->z, &Z); - } -} - -static void secp256k1_ecmult(const secp256k1_ecmult_context *ctx, secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_scalar *na, const secp256k1_scalar *ng) { - secp256k1_gej prej[ECMULT_TABLE_SIZE(WINDOW_A)]; - secp256k1_fe zr[ECMULT_TABLE_SIZE(WINDOW_A)]; - secp256k1_ge pre_a[ECMULT_TABLE_SIZE(WINDOW_A)]; - struct secp256k1_strauss_point_state ps[1]; -#ifdef USE_ENDOMORPHISM - secp256k1_ge pre_a_lam[ECMULT_TABLE_SIZE(WINDOW_A)]; -#endif - struct secp256k1_strauss_state state; - - state.prej = prej; - state.zr = zr; - state.pre_a = pre_a; -#ifdef USE_ENDOMORPHISM - state.pre_a_lam = pre_a_lam; -#endif - state.ps = ps; - secp256k1_ecmult_strauss_wnaf(ctx, &state, r, 1, a, na, ng); -} - -static size_t secp256k1_strauss_scratch_size(size_t n_points) { -#ifdef USE_ENDOMORPHISM - static const size_t point_size = (2 * sizeof(secp256k1_ge) + sizeof(secp256k1_gej) + sizeof(secp256k1_fe)) * ECMULT_TABLE_SIZE(WINDOW_A) + sizeof(struct secp256k1_strauss_point_state) + sizeof(secp256k1_gej) + sizeof(secp256k1_scalar); -#else - static const size_t point_size = (sizeof(secp256k1_ge) + sizeof(secp256k1_gej) + sizeof(secp256k1_fe)) * ECMULT_TABLE_SIZE(WINDOW_A) + sizeof(struct secp256k1_strauss_point_state) + sizeof(secp256k1_gej) + sizeof(secp256k1_scalar); -#endif - return n_points*point_size; -} - -static int secp256k1_ecmult_strauss_batch(const secp256k1_ecmult_context *ctx, secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n_points, size_t cb_offset) { - secp256k1_gej* points; - secp256k1_scalar* scalars; - struct secp256k1_strauss_state state; - size_t i; - - secp256k1_gej_set_infinity(r); - if (inp_g_sc == NULL && n_points == 0) { - return 1; - } - - if (!secp256k1_scratch_allocate_frame(scratch, secp256k1_strauss_scratch_size(n_points), STRAUSS_SCRATCH_OBJECTS)) { - return 0; - } - points = (secp256k1_gej*)secp256k1_scratch_alloc(scratch, n_points * sizeof(secp256k1_gej)); - scalars = (secp256k1_scalar*)secp256k1_scratch_alloc(scratch, n_points * sizeof(secp256k1_scalar)); - state.prej = (secp256k1_gej*)secp256k1_scratch_alloc(scratch, n_points * ECMULT_TABLE_SIZE(WINDOW_A) * sizeof(secp256k1_gej)); - state.zr = (secp256k1_fe*)secp256k1_scratch_alloc(scratch, n_points * ECMULT_TABLE_SIZE(WINDOW_A) * sizeof(secp256k1_fe)); -#ifdef USE_ENDOMORPHISM - state.pre_a = (secp256k1_ge*)secp256k1_scratch_alloc(scratch, n_points * 2 * ECMULT_TABLE_SIZE(WINDOW_A) * sizeof(secp256k1_ge)); - state.pre_a_lam = state.pre_a + n_points * ECMULT_TABLE_SIZE(WINDOW_A); -#else - state.pre_a = (secp256k1_ge*)secp256k1_scratch_alloc(scratch, n_points * ECMULT_TABLE_SIZE(WINDOW_A) * sizeof(secp256k1_ge)); -#endif - state.ps = (struct secp256k1_strauss_point_state*)secp256k1_scratch_alloc(scratch, n_points * sizeof(struct secp256k1_strauss_point_state)); - - for (i = 0; i < n_points; i++) { - secp256k1_ge point; - if (!cb(&scalars[i], &point, i+cb_offset, cbdata)) { - secp256k1_scratch_deallocate_frame(scratch); - return 0; - } - secp256k1_gej_set_ge(&points[i], &point); - } - secp256k1_ecmult_strauss_wnaf(ctx, &state, r, n_points, points, scalars, inp_g_sc); - secp256k1_scratch_deallocate_frame(scratch); - return 1; -} - -/* Wrapper for secp256k1_ecmult_multi_func interface */ -static int secp256k1_ecmult_strauss_batch_single(const secp256k1_ecmult_context *actx, secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n) { - return secp256k1_ecmult_strauss_batch(actx, scratch, r, inp_g_sc, cb, cbdata, n, 0); -} - -static size_t secp256k1_strauss_max_points(secp256k1_scratch *scratch) { - return secp256k1_scratch_max_allocation(scratch, STRAUSS_SCRATCH_OBJECTS) / secp256k1_strauss_scratch_size(1); -} - -/** Convert a number to WNAF notation. - * The number becomes represented by sum(2^{wi} * wnaf[i], i=0..WNAF_SIZE(w)+1) - return_val. - * It has the following guarantees: - * - each wnaf[i] is either 0 or an odd integer between -(1 << w) and (1 << w) - * - the number of words set is always WNAF_SIZE(w) - * - the returned skew is 0 or 1 - */ -static int secp256k1_wnaf_fixed(int *wnaf, const secp256k1_scalar *s, int w) { - int skew = 0; - int pos; - int max_pos; - int last_w; - const secp256k1_scalar *work = s; - - if (secp256k1_scalar_is_zero(s)) { - for (pos = 0; pos < WNAF_SIZE(w); pos++) { - wnaf[pos] = 0; - } - return 0; - } - - if (secp256k1_scalar_is_even(s)) { - skew = 1; - } - - wnaf[0] = secp256k1_scalar_get_bits_var(work, 0, w) + skew; - /* Compute last window size. Relevant when window size doesn't divide the - * number of bits in the scalar */ - last_w = WNAF_BITS - (WNAF_SIZE(w) - 1) * w; - - /* Store the position of the first nonzero word in max_pos to allow - * skipping leading zeros when calculating the wnaf. */ - for (pos = WNAF_SIZE(w) - 1; pos > 0; pos--) { - int val = secp256k1_scalar_get_bits_var(work, pos * w, pos == WNAF_SIZE(w)-1 ? last_w : w); - if(val != 0) { - break; - } - wnaf[pos] = 0; - } - max_pos = pos; - pos = 1; - - while (pos <= max_pos) { - int val = secp256k1_scalar_get_bits_var(work, pos * w, pos == WNAF_SIZE(w)-1 ? last_w : w); - if ((val & 1) == 0) { - wnaf[pos - 1] -= (1 << w); - wnaf[pos] = (val + 1); - } else { - wnaf[pos] = val; - } - /* Set a coefficient to zero if it is 1 or -1 and the proceeding digit - * is strictly negative or strictly positive respectively. Only change - * coefficients at previous positions because above code assumes that - * wnaf[pos - 1] is odd. - */ - if (pos >= 2 && ((wnaf[pos - 1] == 1 && wnaf[pos - 2] < 0) || (wnaf[pos - 1] == -1 && wnaf[pos - 2] > 0))) { - if (wnaf[pos - 1] == 1) { - wnaf[pos - 2] += 1 << w; - } else { - wnaf[pos - 2] -= 1 << w; - } - wnaf[pos - 1] = 0; - } - ++pos; - } - - return skew; -} - -struct secp256k1_pippenger_point_state { - int skew_na; - size_t input_pos; -}; - -struct secp256k1_pippenger_state { - int *wnaf_na; - struct secp256k1_pippenger_point_state* ps; -}; - -/* - * pippenger_wnaf computes the result of a multi-point multiplication as - * follows: The scalars are brought into wnaf with n_wnaf elements each. Then - * for every i < n_wnaf, first each point is added to a "bucket" corresponding - * to the point's wnaf[i]. Second, the buckets are added together such that - * r += 1*bucket[0] + 3*bucket[1] + 5*bucket[2] + ... - */ -static int secp256k1_ecmult_pippenger_wnaf(secp256k1_gej *buckets, int bucket_window, struct secp256k1_pippenger_state *state, secp256k1_gej *r, const secp256k1_scalar *sc, const secp256k1_ge *pt, size_t num) { - size_t n_wnaf = WNAF_SIZE(bucket_window+1); - size_t np; - size_t no = 0; - int i; - int j; - - for (np = 0; np < num; ++np) { - if (secp256k1_scalar_is_zero(&sc[np]) || secp256k1_ge_is_infinity(&pt[np])) { - continue; - } - state->ps[no].input_pos = np; - state->ps[no].skew_na = secp256k1_wnaf_fixed(&state->wnaf_na[no*n_wnaf], &sc[np], bucket_window+1); - no++; - } - secp256k1_gej_set_infinity(r); - - if (no == 0) { - return 1; - } - - for (i = n_wnaf - 1; i >= 0; i--) { - secp256k1_gej running_sum; - - for(j = 0; j < ECMULT_TABLE_SIZE(bucket_window+2); j++) { - secp256k1_gej_set_infinity(&buckets[j]); - } - - for (np = 0; np < no; ++np) { - int n = state->wnaf_na[np*n_wnaf + i]; - struct secp256k1_pippenger_point_state point_state = state->ps[np]; - secp256k1_ge tmp; - int idx; - - if (i == 0) { - /* correct for wnaf skew */ - int skew = point_state.skew_na; - if (skew) { - secp256k1_ge_neg(&tmp, &pt[point_state.input_pos]); - secp256k1_gej_add_ge_var(&buckets[0], &buckets[0], &tmp, NULL); - } - } - if (n > 0) { - idx = (n - 1)/2; - secp256k1_gej_add_ge_var(&buckets[idx], &buckets[idx], &pt[point_state.input_pos], NULL); - } else if (n < 0) { - idx = -(n + 1)/2; - secp256k1_ge_neg(&tmp, &pt[point_state.input_pos]); - secp256k1_gej_add_ge_var(&buckets[idx], &buckets[idx], &tmp, NULL); - } - } - - for(j = 0; j < bucket_window; j++) { - secp256k1_gej_double_var(r, r, NULL); - } - - secp256k1_gej_set_infinity(&running_sum); - /* Accumulate the sum: bucket[0] + 3*bucket[1] + 5*bucket[2] + 7*bucket[3] + ... - * = bucket[0] + bucket[1] + bucket[2] + bucket[3] + ... - * + 2 * (bucket[1] + 2*bucket[2] + 3*bucket[3] + ...) - * using an intermediate running sum: - * running_sum = bucket[0] + bucket[1] + bucket[2] + ... - * - * The doubling is done implicitly by deferring the final window doubling (of 'r'). - */ - for(j = ECMULT_TABLE_SIZE(bucket_window+2) - 1; j > 0; j--) { - secp256k1_gej_add_var(&running_sum, &running_sum, &buckets[j], NULL); - secp256k1_gej_add_var(r, r, &running_sum, NULL); - } - - secp256k1_gej_add_var(&running_sum, &running_sum, &buckets[0], NULL); - secp256k1_gej_double_var(r, r, NULL); - secp256k1_gej_add_var(r, r, &running_sum, NULL); - } - return 1; -} - -/** - * Returns optimal bucket_window (number of bits of a scalar represented by a - * set of buckets) for a given number of points. - */ -static int secp256k1_pippenger_bucket_window(size_t n) { -#ifdef USE_ENDOMORPHISM - if (n <= 1) { - return 1; - } else if (n <= 4) { - return 2; - } else if (n <= 20) { - return 3; - } else if (n <= 57) { - return 4; - } else if (n <= 136) { - return 5; - } else if (n <= 235) { - return 6; - } else if (n <= 1260) { - return 7; - } else if (n <= 4420) { - return 9; - } else if (n <= 7880) { - return 10; - } else if (n <= 16050) { - return 11; - } else { - return PIPPENGER_MAX_BUCKET_WINDOW; - } -#else - if (n <= 1) { - return 1; - } else if (n <= 11) { - return 2; - } else if (n <= 45) { - return 3; - } else if (n <= 100) { - return 4; - } else if (n <= 275) { - return 5; - } else if (n <= 625) { - return 6; - } else if (n <= 1850) { - return 7; - } else if (n <= 3400) { - return 8; - } else if (n <= 9630) { - return 9; - } else if (n <= 17900) { - return 10; - } else if (n <= 32800) { - return 11; - } else { - return PIPPENGER_MAX_BUCKET_WINDOW; - } -#endif -} - -/** - * Returns the maximum optimal number of points for a bucket_window. - */ -static size_t secp256k1_pippenger_bucket_window_inv(int bucket_window) { - switch(bucket_window) { -#ifdef USE_ENDOMORPHISM - case 1: return 1; - case 2: return 4; - case 3: return 20; - case 4: return 57; - case 5: return 136; - case 6: return 235; - case 7: return 1260; - case 8: return 1260; - case 9: return 4420; - case 10: return 7880; - case 11: return 16050; - case PIPPENGER_MAX_BUCKET_WINDOW: return SIZE_MAX; -#else - case 1: return 1; - case 2: return 11; - case 3: return 45; - case 4: return 100; - case 5: return 275; - case 6: return 625; - case 7: return 1850; - case 8: return 3400; - case 9: return 9630; - case 10: return 17900; - case 11: return 32800; - case PIPPENGER_MAX_BUCKET_WINDOW: return SIZE_MAX; -#endif - } - return 0; -} - - -#ifdef USE_ENDOMORPHISM -SECP256K1_INLINE static void secp256k1_ecmult_endo_split(secp256k1_scalar *s1, secp256k1_scalar *s2, secp256k1_ge *p1, secp256k1_ge *p2) { - secp256k1_scalar tmp = *s1; - secp256k1_scalar_split_lambda(s1, s2, &tmp); - secp256k1_ge_mul_lambda(p2, p1); - - if (secp256k1_scalar_is_high(s1)) { - secp256k1_scalar_negate(s1, s1); - secp256k1_ge_neg(p1, p1); - } - if (secp256k1_scalar_is_high(s2)) { - secp256k1_scalar_negate(s2, s2); - secp256k1_ge_neg(p2, p2); - } -} -#endif - -/** - * Returns the scratch size required for a given number of points (excluding - * base point G) without considering alignment. - */ -static size_t secp256k1_pippenger_scratch_size(size_t n_points, int bucket_window) { -#ifdef USE_ENDOMORPHISM - size_t entries = 2*n_points + 2; -#else - size_t entries = n_points + 1; -#endif - size_t entry_size = sizeof(secp256k1_ge) + sizeof(secp256k1_scalar) + sizeof(struct secp256k1_pippenger_point_state) + (WNAF_SIZE(bucket_window+1)+1)*sizeof(int); - return ((1<ps = (struct secp256k1_pippenger_point_state *) secp256k1_scratch_alloc(scratch, entries * sizeof(*state_space->ps)); - state_space->wnaf_na = (int *) secp256k1_scratch_alloc(scratch, entries*(WNAF_SIZE(bucket_window+1)) * sizeof(int)); - buckets = (secp256k1_gej *) secp256k1_scratch_alloc(scratch, (1<ps[i].skew_na = 0; - for(j = 0; j < WNAF_SIZE(bucket_window+1); j++) { - state_space->wnaf_na[i * WNAF_SIZE(bucket_window+1) + j] = 0; - } - } - for(i = 0; i < 1< max_alloc) { - break; - } - space_for_points = max_alloc - space_overhead; - - n_points = space_for_points/entry_size; - n_points = n_points > max_points ? max_points : n_points; - if (n_points > res) { - res = n_points; - } - if (n_points < max_points) { - /* A larger bucket_window may support even more points. But if we - * would choose that then the caller couldn't safely use any number - * smaller than what this function returns */ - break; - } - } - return res; -} - -typedef int (*secp256k1_ecmult_multi_func)(const secp256k1_ecmult_context*, secp256k1_scratch*, secp256k1_gej*, const secp256k1_scalar*, secp256k1_ecmult_multi_callback cb, void*, size_t); -static int secp256k1_ecmult_multi_var(const secp256k1_ecmult_context *ctx, secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n) { - size_t i; - - int (*f)(const secp256k1_ecmult_context*, secp256k1_scratch*, secp256k1_gej*, const secp256k1_scalar*, secp256k1_ecmult_multi_callback cb, void*, size_t, size_t); - size_t max_points; - size_t n_batches; - size_t n_batch_points; - - secp256k1_gej_set_infinity(r); - if (inp_g_sc == NULL && n == 0) { - return 1; - } else if (n == 0) { - secp256k1_scalar szero; - secp256k1_scalar_set_int(&szero, 0); - secp256k1_ecmult(ctx, r, r, &szero, inp_g_sc); - return 1; - } - - max_points = secp256k1_pippenger_max_points(scratch); - if (max_points == 0) { - return 0; - } else if (max_points > ECMULT_MAX_POINTS_PER_BATCH) { - max_points = ECMULT_MAX_POINTS_PER_BATCH; - } - n_batches = (n+max_points-1)/max_points; - n_batch_points = (n+n_batches-1)/n_batches; - - if (n_batch_points >= ECMULT_PIPPENGER_THRESHOLD) { - f = secp256k1_ecmult_pippenger_batch; - } else { - max_points = secp256k1_strauss_max_points(scratch); - if (max_points == 0) { - return 0; - } - n_batches = (n+max_points-1)/max_points; - n_batch_points = (n+n_batches-1)/n_batches; - f = secp256k1_ecmult_strauss_batch; - } - for(i = 0; i < n_batches; i++) { - size_t nbp = n < n_batch_points ? n : n_batch_points; - size_t offset = n_batch_points*i; - secp256k1_gej tmp; - if (!f(ctx, scratch, &tmp, i == 0 ? inp_g_sc : NULL, cb, cbdata, nbp, offset)) { - return 0; - } - secp256k1_gej_add_var(r, r, &tmp, NULL); - n -= nbp; - } - return 1; -} - -#endif /* SECP256K1_ECMULT_IMPL_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/field.h b/Pods/secp256k1_ios/secp256k1_ios/src/field.h deleted file mode 100644 index bb6692ad5..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/field.h +++ /dev/null @@ -1,132 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_FIELD_H -#define SECP256K1_FIELD_H - -/** Field element module. - * - * Field elements can be represented in several ways, but code accessing - * it (and implementations) need to take certain properties into account: - * - Each field element can be normalized or not. - * - Each field element has a magnitude, which represents how far away - * its representation is away from normalization. Normalized elements - * always have a magnitude of 1, but a magnitude of 1 doesn't imply - * normality. - */ - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#if defined(USE_FIELD_10X26) -#include "field_10x26.h" -#elif defined(USE_FIELD_5X52) -#include "field_5x52.h" -#else -#error "Please select field implementation" -#endif - -#include "util.h" - -/** Normalize a field element. */ -static void secp256k1_fe_normalize(secp256k1_fe *r); - -/** Weakly normalize a field element: reduce it magnitude to 1, but don't fully normalize. */ -static void secp256k1_fe_normalize_weak(secp256k1_fe *r); - -/** Normalize a field element, without constant-time guarantee. */ -static void secp256k1_fe_normalize_var(secp256k1_fe *r); - -/** Verify whether a field element represents zero i.e. would normalize to a zero value. The field - * implementation may optionally normalize the input, but this should not be relied upon. */ -static int secp256k1_fe_normalizes_to_zero(secp256k1_fe *r); - -/** Verify whether a field element represents zero i.e. would normalize to a zero value. The field - * implementation may optionally normalize the input, but this should not be relied upon. */ -static int secp256k1_fe_normalizes_to_zero_var(secp256k1_fe *r); - -/** Set a field element equal to a small integer. Resulting field element is normalized. */ -static void secp256k1_fe_set_int(secp256k1_fe *r, int a); - -/** Sets a field element equal to zero, initializing all fields. */ -static void secp256k1_fe_clear(secp256k1_fe *a); - -/** Verify whether a field element is zero. Requires the input to be normalized. */ -static int secp256k1_fe_is_zero(const secp256k1_fe *a); - -/** Check the "oddness" of a field element. Requires the input to be normalized. */ -static int secp256k1_fe_is_odd(const secp256k1_fe *a); - -/** Compare two field elements. Requires magnitude-1 inputs. */ -static int secp256k1_fe_equal(const secp256k1_fe *a, const secp256k1_fe *b); - -/** Same as secp256k1_fe_equal, but may be variable time. */ -static int secp256k1_fe_equal_var(const secp256k1_fe *a, const secp256k1_fe *b); - -/** Compare two field elements. Requires both inputs to be normalized */ -static int secp256k1_fe_cmp_var(const secp256k1_fe *a, const secp256k1_fe *b); - -/** Set a field element equal to 32-byte big endian value. If successful, the resulting field element is normalized. */ -static int secp256k1_fe_set_b32(secp256k1_fe *r, const unsigned char *a); - -/** Convert a field element to a 32-byte big endian value. Requires the input to be normalized */ -static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe *a); - -/** Set a field element equal to the additive inverse of another. Takes a maximum magnitude of the input - * as an argument. The magnitude of the output is one higher. */ -static void secp256k1_fe_negate(secp256k1_fe *r, const secp256k1_fe *a, int m); - -/** Multiplies the passed field element with a small integer constant. Multiplies the magnitude by that - * small integer. */ -static void secp256k1_fe_mul_int(secp256k1_fe *r, int a); - -/** Adds a field element to another. The result has the sum of the inputs' magnitudes as magnitude. */ -static void secp256k1_fe_add(secp256k1_fe *r, const secp256k1_fe *a); - -/** Sets a field element to be the product of two others. Requires the inputs' magnitudes to be at most 8. - * The output magnitude is 1 (but not guaranteed to be normalized). */ -static void secp256k1_fe_mul(secp256k1_fe *r, const secp256k1_fe *a, const secp256k1_fe * SECP256K1_RESTRICT b); - -/** Sets a field element to be the square of another. Requires the input's magnitude to be at most 8. - * The output magnitude is 1 (but not guaranteed to be normalized). */ -static void secp256k1_fe_sqr(secp256k1_fe *r, const secp256k1_fe *a); - -/** If a has a square root, it is computed in r and 1 is returned. If a does not - * have a square root, the root of its negation is computed and 0 is returned. - * The input's magnitude can be at most 8. The output magnitude is 1 (but not - * guaranteed to be normalized). The result in r will always be a square - * itself. */ -static int secp256k1_fe_sqrt(secp256k1_fe *r, const secp256k1_fe *a); - -/** Checks whether a field element is a quadratic residue. */ -static int secp256k1_fe_is_quad_var(const secp256k1_fe *a); - -/** Sets a field element to be the (modular) inverse of another. Requires the input's magnitude to be - * at most 8. The output magnitude is 1 (but not guaranteed to be normalized). */ -static void secp256k1_fe_inv(secp256k1_fe *r, const secp256k1_fe *a); - -/** Potentially faster version of secp256k1_fe_inv, without constant-time guarantee. */ -static void secp256k1_fe_inv_var(secp256k1_fe *r, const secp256k1_fe *a); - -/** Calculate the (modular) inverses of a batch of field elements. Requires the inputs' magnitudes to be - * at most 8. The output magnitudes are 1 (but not guaranteed to be normalized). The inputs and - * outputs must not overlap in memory. */ -static void secp256k1_fe_inv_all_var(secp256k1_fe *r, const secp256k1_fe *a, size_t len); - -/** Convert a field element to the storage type. */ -static void secp256k1_fe_to_storage(secp256k1_fe_storage *r, const secp256k1_fe *a); - -/** Convert a field element back from the storage type. */ -static void secp256k1_fe_from_storage(secp256k1_fe *r, const secp256k1_fe_storage *a); - -/** If flag is true, set *r equal to *a; otherwise leave it. Constant-time. */ -static void secp256k1_fe_storage_cmov(secp256k1_fe_storage *r, const secp256k1_fe_storage *a, int flag); - -/** If flag is true, set *r equal to *a; otherwise leave it. Constant-time. */ -static void secp256k1_fe_cmov(secp256k1_fe *r, const secp256k1_fe *a, int flag); - -#endif /* SECP256K1_FIELD_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/field_10x26.h b/Pods/secp256k1_ios/secp256k1_ios/src/field_10x26.h deleted file mode 100644 index 727c5267f..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/field_10x26.h +++ /dev/null @@ -1,48 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_FIELD_REPR_H -#define SECP256K1_FIELD_REPR_H - -#include - -typedef struct { - /* X = sum(i=0..9, elem[i]*2^26) mod n */ - uint32_t n[10]; -#ifdef VERIFY - int magnitude; - int normalized; -#endif -} secp256k1_fe; - -/* Unpacks a constant into a overlapping multi-limbed FE element. */ -#define SECP256K1_FE_CONST_INNER(d7, d6, d5, d4, d3, d2, d1, d0) { \ - (d0) & 0x3FFFFFFUL, \ - (((uint32_t)d0) >> 26) | (((uint32_t)(d1) & 0xFFFFFUL) << 6), \ - (((uint32_t)d1) >> 20) | (((uint32_t)(d2) & 0x3FFFUL) << 12), \ - (((uint32_t)d2) >> 14) | (((uint32_t)(d3) & 0xFFUL) << 18), \ - (((uint32_t)d3) >> 8) | (((uint32_t)(d4) & 0x3UL) << 24), \ - (((uint32_t)d4) >> 2) & 0x3FFFFFFUL, \ - (((uint32_t)d4) >> 28) | (((uint32_t)(d5) & 0x3FFFFFUL) << 4), \ - (((uint32_t)d5) >> 22) | (((uint32_t)(d6) & 0xFFFFUL) << 10), \ - (((uint32_t)d6) >> 16) | (((uint32_t)(d7) & 0x3FFUL) << 16), \ - (((uint32_t)d7) >> 10) \ -} - -#ifdef VERIFY -#define SECP256K1_FE_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {SECP256K1_FE_CONST_INNER((d7), (d6), (d5), (d4), (d3), (d2), (d1), (d0)), 1, 1} -#else -#define SECP256K1_FE_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {SECP256K1_FE_CONST_INNER((d7), (d6), (d5), (d4), (d3), (d2), (d1), (d0))} -#endif - -typedef struct { - uint32_t n[8]; -} secp256k1_fe_storage; - -#define SECP256K1_FE_STORAGE_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {{ (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }} -#define SECP256K1_FE_STORAGE_CONST_GET(d) d.n[7], d.n[6], d.n[5], d.n[4],d.n[3], d.n[2], d.n[1], d.n[0] - -#endif /* SECP256K1_FIELD_REPR_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/field_10x26_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/field_10x26_impl.h deleted file mode 100644 index 94f8132fc..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/field_10x26_impl.h +++ /dev/null @@ -1,1161 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_FIELD_REPR_IMPL_H -#define SECP256K1_FIELD_REPR_IMPL_H - -#include "util.h" -#include "num.h" -#include "field.h" - -#ifdef VERIFY -static void secp256k1_fe_verify(const secp256k1_fe *a) { - const uint32_t *d = a->n; - int m = a->normalized ? 1 : 2 * a->magnitude, r = 1; - r &= (d[0] <= 0x3FFFFFFUL * m); - r &= (d[1] <= 0x3FFFFFFUL * m); - r &= (d[2] <= 0x3FFFFFFUL * m); - r &= (d[3] <= 0x3FFFFFFUL * m); - r &= (d[4] <= 0x3FFFFFFUL * m); - r &= (d[5] <= 0x3FFFFFFUL * m); - r &= (d[6] <= 0x3FFFFFFUL * m); - r &= (d[7] <= 0x3FFFFFFUL * m); - r &= (d[8] <= 0x3FFFFFFUL * m); - r &= (d[9] <= 0x03FFFFFUL * m); - r &= (a->magnitude >= 0); - r &= (a->magnitude <= 32); - if (a->normalized) { - r &= (a->magnitude <= 1); - if (r && (d[9] == 0x03FFFFFUL)) { - uint32_t mid = d[8] & d[7] & d[6] & d[5] & d[4] & d[3] & d[2]; - if (mid == 0x3FFFFFFUL) { - r &= ((d[1] + 0x40UL + ((d[0] + 0x3D1UL) >> 26)) <= 0x3FFFFFFUL); - } - } - } - VERIFY_CHECK(r == 1); -} -#endif - -static void secp256k1_fe_normalize(secp256k1_fe *r) { - uint32_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4], - t5 = r->n[5], t6 = r->n[6], t7 = r->n[7], t8 = r->n[8], t9 = r->n[9]; - - /* Reduce t9 at the start so there will be at most a single carry from the first pass */ - uint32_t m; - uint32_t x = t9 >> 22; t9 &= 0x03FFFFFUL; - - /* The first pass ensures the magnitude is 1, ... */ - t0 += x * 0x3D1UL; t1 += (x << 6); - t1 += (t0 >> 26); t0 &= 0x3FFFFFFUL; - t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; - t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; m = t2; - t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; m &= t3; - t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; m &= t4; - t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; m &= t5; - t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; m &= t6; - t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; m &= t7; - t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; m &= t8; - - /* ... except for a possible carry at bit 22 of t9 (i.e. bit 256 of the field element) */ - VERIFY_CHECK(t9 >> 23 == 0); - - /* At most a single final reduction is needed; check if the value is >= the field characteristic */ - x = (t9 >> 22) | ((t9 == 0x03FFFFFUL) & (m == 0x3FFFFFFUL) - & ((t1 + 0x40UL + ((t0 + 0x3D1UL) >> 26)) > 0x3FFFFFFUL)); - - /* Apply the final reduction (for constant-time behaviour, we do it always) */ - t0 += x * 0x3D1UL; t1 += (x << 6); - t1 += (t0 >> 26); t0 &= 0x3FFFFFFUL; - t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; - t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; - t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; - t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; - t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; - t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; - t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; - t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; - - /* If t9 didn't carry to bit 22 already, then it should have after any final reduction */ - VERIFY_CHECK(t9 >> 22 == x); - - /* Mask off the possible multiple of 2^256 from the final reduction */ - t9 &= 0x03FFFFFUL; - - r->n[0] = t0; r->n[1] = t1; r->n[2] = t2; r->n[3] = t3; r->n[4] = t4; - r->n[5] = t5; r->n[6] = t6; r->n[7] = t7; r->n[8] = t8; r->n[9] = t9; - -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif -} - -static void secp256k1_fe_normalize_weak(secp256k1_fe *r) { - uint32_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4], - t5 = r->n[5], t6 = r->n[6], t7 = r->n[7], t8 = r->n[8], t9 = r->n[9]; - - /* Reduce t9 at the start so there will be at most a single carry from the first pass */ - uint32_t x = t9 >> 22; t9 &= 0x03FFFFFUL; - - /* The first pass ensures the magnitude is 1, ... */ - t0 += x * 0x3D1UL; t1 += (x << 6); - t1 += (t0 >> 26); t0 &= 0x3FFFFFFUL; - t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; - t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; - t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; - t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; - t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; - t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; - t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; - t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; - - /* ... except for a possible carry at bit 22 of t9 (i.e. bit 256 of the field element) */ - VERIFY_CHECK(t9 >> 23 == 0); - - r->n[0] = t0; r->n[1] = t1; r->n[2] = t2; r->n[3] = t3; r->n[4] = t4; - r->n[5] = t5; r->n[6] = t6; r->n[7] = t7; r->n[8] = t8; r->n[9] = t9; - -#ifdef VERIFY - r->magnitude = 1; - secp256k1_fe_verify(r); -#endif -} - -static void secp256k1_fe_normalize_var(secp256k1_fe *r) { - uint32_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4], - t5 = r->n[5], t6 = r->n[6], t7 = r->n[7], t8 = r->n[8], t9 = r->n[9]; - - /* Reduce t9 at the start so there will be at most a single carry from the first pass */ - uint32_t m; - uint32_t x = t9 >> 22; t9 &= 0x03FFFFFUL; - - /* The first pass ensures the magnitude is 1, ... */ - t0 += x * 0x3D1UL; t1 += (x << 6); - t1 += (t0 >> 26); t0 &= 0x3FFFFFFUL; - t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; - t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; m = t2; - t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; m &= t3; - t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; m &= t4; - t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; m &= t5; - t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; m &= t6; - t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; m &= t7; - t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; m &= t8; - - /* ... except for a possible carry at bit 22 of t9 (i.e. bit 256 of the field element) */ - VERIFY_CHECK(t9 >> 23 == 0); - - /* At most a single final reduction is needed; check if the value is >= the field characteristic */ - x = (t9 >> 22) | ((t9 == 0x03FFFFFUL) & (m == 0x3FFFFFFUL) - & ((t1 + 0x40UL + ((t0 + 0x3D1UL) >> 26)) > 0x3FFFFFFUL)); - - if (x) { - t0 += 0x3D1UL; t1 += (x << 6); - t1 += (t0 >> 26); t0 &= 0x3FFFFFFUL; - t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; - t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; - t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; - t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; - t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; - t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; - t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; - t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; - - /* If t9 didn't carry to bit 22 already, then it should have after any final reduction */ - VERIFY_CHECK(t9 >> 22 == x); - - /* Mask off the possible multiple of 2^256 from the final reduction */ - t9 &= 0x03FFFFFUL; - } - - r->n[0] = t0; r->n[1] = t1; r->n[2] = t2; r->n[3] = t3; r->n[4] = t4; - r->n[5] = t5; r->n[6] = t6; r->n[7] = t7; r->n[8] = t8; r->n[9] = t9; - -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif -} - -static int secp256k1_fe_normalizes_to_zero(secp256k1_fe *r) { - uint32_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4], - t5 = r->n[5], t6 = r->n[6], t7 = r->n[7], t8 = r->n[8], t9 = r->n[9]; - - /* z0 tracks a possible raw value of 0, z1 tracks a possible raw value of P */ - uint32_t z0, z1; - - /* Reduce t9 at the start so there will be at most a single carry from the first pass */ - uint32_t x = t9 >> 22; t9 &= 0x03FFFFFUL; - - /* The first pass ensures the magnitude is 1, ... */ - t0 += x * 0x3D1UL; t1 += (x << 6); - t1 += (t0 >> 26); t0 &= 0x3FFFFFFUL; z0 = t0; z1 = t0 ^ 0x3D0UL; - t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; z0 |= t1; z1 &= t1 ^ 0x40UL; - t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; z0 |= t2; z1 &= t2; - t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; z0 |= t3; z1 &= t3; - t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; z0 |= t4; z1 &= t4; - t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; z0 |= t5; z1 &= t5; - t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; z0 |= t6; z1 &= t6; - t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; z0 |= t7; z1 &= t7; - t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; z0 |= t8; z1 &= t8; - z0 |= t9; z1 &= t9 ^ 0x3C00000UL; - - /* ... except for a possible carry at bit 22 of t9 (i.e. bit 256 of the field element) */ - VERIFY_CHECK(t9 >> 23 == 0); - - return (z0 == 0) | (z1 == 0x3FFFFFFUL); -} - -static int secp256k1_fe_normalizes_to_zero_var(secp256k1_fe *r) { - uint32_t t0, t1, t2, t3, t4, t5, t6, t7, t8, t9; - uint32_t z0, z1; - uint32_t x; - - t0 = r->n[0]; - t9 = r->n[9]; - - /* Reduce t9 at the start so there will be at most a single carry from the first pass */ - x = t9 >> 22; - - /* The first pass ensures the magnitude is 1, ... */ - t0 += x * 0x3D1UL; - - /* z0 tracks a possible raw value of 0, z1 tracks a possible raw value of P */ - z0 = t0 & 0x3FFFFFFUL; - z1 = z0 ^ 0x3D0UL; - - /* Fast return path should catch the majority of cases */ - if ((z0 != 0UL) & (z1 != 0x3FFFFFFUL)) { - return 0; - } - - t1 = r->n[1]; - t2 = r->n[2]; - t3 = r->n[3]; - t4 = r->n[4]; - t5 = r->n[5]; - t6 = r->n[6]; - t7 = r->n[7]; - t8 = r->n[8]; - - t9 &= 0x03FFFFFUL; - t1 += (x << 6); - - t1 += (t0 >> 26); - t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; z0 |= t1; z1 &= t1 ^ 0x40UL; - t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; z0 |= t2; z1 &= t2; - t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; z0 |= t3; z1 &= t3; - t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; z0 |= t4; z1 &= t4; - t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; z0 |= t5; z1 &= t5; - t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; z0 |= t6; z1 &= t6; - t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; z0 |= t7; z1 &= t7; - t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; z0 |= t8; z1 &= t8; - z0 |= t9; z1 &= t9 ^ 0x3C00000UL; - - /* ... except for a possible carry at bit 22 of t9 (i.e. bit 256 of the field element) */ - VERIFY_CHECK(t9 >> 23 == 0); - - return (z0 == 0) | (z1 == 0x3FFFFFFUL); -} - -SECP256K1_INLINE static void secp256k1_fe_set_int(secp256k1_fe *r, int a) { - r->n[0] = a; - r->n[1] = r->n[2] = r->n[3] = r->n[4] = r->n[5] = r->n[6] = r->n[7] = r->n[8] = r->n[9] = 0; -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static int secp256k1_fe_is_zero(const secp256k1_fe *a) { - const uint32_t *t = a->n; -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - secp256k1_fe_verify(a); -#endif - return (t[0] | t[1] | t[2] | t[3] | t[4] | t[5] | t[6] | t[7] | t[8] | t[9]) == 0; -} - -SECP256K1_INLINE static int secp256k1_fe_is_odd(const secp256k1_fe *a) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - secp256k1_fe_verify(a); -#endif - return a->n[0] & 1; -} - -SECP256K1_INLINE static void secp256k1_fe_clear(secp256k1_fe *a) { - int i; -#ifdef VERIFY - a->magnitude = 0; - a->normalized = 1; -#endif - for (i=0; i<10; i++) { - a->n[i] = 0; - } -} - -static int secp256k1_fe_cmp_var(const secp256k1_fe *a, const secp256k1_fe *b) { - int i; -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - VERIFY_CHECK(b->normalized); - secp256k1_fe_verify(a); - secp256k1_fe_verify(b); -#endif - for (i = 9; i >= 0; i--) { - if (a->n[i] > b->n[i]) { - return 1; - } - if (a->n[i] < b->n[i]) { - return -1; - } - } - return 0; -} - -static int secp256k1_fe_set_b32(secp256k1_fe *r, const unsigned char *a) { - r->n[0] = (uint32_t)a[31] | ((uint32_t)a[30] << 8) | ((uint32_t)a[29] << 16) | ((uint32_t)(a[28] & 0x3) << 24); - r->n[1] = (uint32_t)((a[28] >> 2) & 0x3f) | ((uint32_t)a[27] << 6) | ((uint32_t)a[26] << 14) | ((uint32_t)(a[25] & 0xf) << 22); - r->n[2] = (uint32_t)((a[25] >> 4) & 0xf) | ((uint32_t)a[24] << 4) | ((uint32_t)a[23] << 12) | ((uint32_t)(a[22] & 0x3f) << 20); - r->n[3] = (uint32_t)((a[22] >> 6) & 0x3) | ((uint32_t)a[21] << 2) | ((uint32_t)a[20] << 10) | ((uint32_t)a[19] << 18); - r->n[4] = (uint32_t)a[18] | ((uint32_t)a[17] << 8) | ((uint32_t)a[16] << 16) | ((uint32_t)(a[15] & 0x3) << 24); - r->n[5] = (uint32_t)((a[15] >> 2) & 0x3f) | ((uint32_t)a[14] << 6) | ((uint32_t)a[13] << 14) | ((uint32_t)(a[12] & 0xf) << 22); - r->n[6] = (uint32_t)((a[12] >> 4) & 0xf) | ((uint32_t)a[11] << 4) | ((uint32_t)a[10] << 12) | ((uint32_t)(a[9] & 0x3f) << 20); - r->n[7] = (uint32_t)((a[9] >> 6) & 0x3) | ((uint32_t)a[8] << 2) | ((uint32_t)a[7] << 10) | ((uint32_t)a[6] << 18); - r->n[8] = (uint32_t)a[5] | ((uint32_t)a[4] << 8) | ((uint32_t)a[3] << 16) | ((uint32_t)(a[2] & 0x3) << 24); - r->n[9] = (uint32_t)((a[2] >> 2) & 0x3f) | ((uint32_t)a[1] << 6) | ((uint32_t)a[0] << 14); - - if (r->n[9] == 0x3FFFFFUL && (r->n[8] & r->n[7] & r->n[6] & r->n[5] & r->n[4] & r->n[3] & r->n[2]) == 0x3FFFFFFUL && (r->n[1] + 0x40UL + ((r->n[0] + 0x3D1UL) >> 26)) > 0x3FFFFFFUL) { - return 0; - } -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif - return 1; -} - -/** Convert a field element to a 32-byte big endian value. Requires the input to be normalized */ -static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe *a) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - secp256k1_fe_verify(a); -#endif - r[0] = (a->n[9] >> 14) & 0xff; - r[1] = (a->n[9] >> 6) & 0xff; - r[2] = ((a->n[9] & 0x3F) << 2) | ((a->n[8] >> 24) & 0x3); - r[3] = (a->n[8] >> 16) & 0xff; - r[4] = (a->n[8] >> 8) & 0xff; - r[5] = a->n[8] & 0xff; - r[6] = (a->n[7] >> 18) & 0xff; - r[7] = (a->n[7] >> 10) & 0xff; - r[8] = (a->n[7] >> 2) & 0xff; - r[9] = ((a->n[7] & 0x3) << 6) | ((a->n[6] >> 20) & 0x3f); - r[10] = (a->n[6] >> 12) & 0xff; - r[11] = (a->n[6] >> 4) & 0xff; - r[12] = ((a->n[6] & 0xf) << 4) | ((a->n[5] >> 22) & 0xf); - r[13] = (a->n[5] >> 14) & 0xff; - r[14] = (a->n[5] >> 6) & 0xff; - r[15] = ((a->n[5] & 0x3f) << 2) | ((a->n[4] >> 24) & 0x3); - r[16] = (a->n[4] >> 16) & 0xff; - r[17] = (a->n[4] >> 8) & 0xff; - r[18] = a->n[4] & 0xff; - r[19] = (a->n[3] >> 18) & 0xff; - r[20] = (a->n[3] >> 10) & 0xff; - r[21] = (a->n[3] >> 2) & 0xff; - r[22] = ((a->n[3] & 0x3) << 6) | ((a->n[2] >> 20) & 0x3f); - r[23] = (a->n[2] >> 12) & 0xff; - r[24] = (a->n[2] >> 4) & 0xff; - r[25] = ((a->n[2] & 0xf) << 4) | ((a->n[1] >> 22) & 0xf); - r[26] = (a->n[1] >> 14) & 0xff; - r[27] = (a->n[1] >> 6) & 0xff; - r[28] = ((a->n[1] & 0x3f) << 2) | ((a->n[0] >> 24) & 0x3); - r[29] = (a->n[0] >> 16) & 0xff; - r[30] = (a->n[0] >> 8) & 0xff; - r[31] = a->n[0] & 0xff; -} - -SECP256K1_INLINE static void secp256k1_fe_negate(secp256k1_fe *r, const secp256k1_fe *a, int m) { -#ifdef VERIFY - VERIFY_CHECK(a->magnitude <= m); - secp256k1_fe_verify(a); -#endif - r->n[0] = 0x3FFFC2FUL * 2 * (m + 1) - a->n[0]; - r->n[1] = 0x3FFFFBFUL * 2 * (m + 1) - a->n[1]; - r->n[2] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[2]; - r->n[3] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[3]; - r->n[4] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[4]; - r->n[5] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[5]; - r->n[6] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[6]; - r->n[7] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[7]; - r->n[8] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[8]; - r->n[9] = 0x03FFFFFUL * 2 * (m + 1) - a->n[9]; -#ifdef VERIFY - r->magnitude = m + 1; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static void secp256k1_fe_mul_int(secp256k1_fe *r, int a) { - r->n[0] *= a; - r->n[1] *= a; - r->n[2] *= a; - r->n[3] *= a; - r->n[4] *= a; - r->n[5] *= a; - r->n[6] *= a; - r->n[7] *= a; - r->n[8] *= a; - r->n[9] *= a; -#ifdef VERIFY - r->magnitude *= a; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static void secp256k1_fe_add(secp256k1_fe *r, const secp256k1_fe *a) { -#ifdef VERIFY - secp256k1_fe_verify(a); -#endif - r->n[0] += a->n[0]; - r->n[1] += a->n[1]; - r->n[2] += a->n[2]; - r->n[3] += a->n[3]; - r->n[4] += a->n[4]; - r->n[5] += a->n[5]; - r->n[6] += a->n[6]; - r->n[7] += a->n[7]; - r->n[8] += a->n[8]; - r->n[9] += a->n[9]; -#ifdef VERIFY - r->magnitude += a->magnitude; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -#if defined(USE_EXTERNAL_ASM) - -/* External assembler implementation */ -void secp256k1_fe_mul_inner(uint32_t *r, const uint32_t *a, const uint32_t * SECP256K1_RESTRICT b); -void secp256k1_fe_sqr_inner(uint32_t *r, const uint32_t *a); - -#else - -#ifdef VERIFY -#define VERIFY_BITS(x, n) VERIFY_CHECK(((x) >> (n)) == 0) -#else -#define VERIFY_BITS(x, n) do { } while(0) -#endif - -SECP256K1_INLINE static void secp256k1_fe_mul_inner(uint32_t *r, const uint32_t *a, const uint32_t * SECP256K1_RESTRICT b) { - uint64_t c, d; - uint64_t u0, u1, u2, u3, u4, u5, u6, u7, u8; - uint32_t t9, t1, t0, t2, t3, t4, t5, t6, t7; - const uint32_t M = 0x3FFFFFFUL, R0 = 0x3D10UL, R1 = 0x400UL; - - VERIFY_BITS(a[0], 30); - VERIFY_BITS(a[1], 30); - VERIFY_BITS(a[2], 30); - VERIFY_BITS(a[3], 30); - VERIFY_BITS(a[4], 30); - VERIFY_BITS(a[5], 30); - VERIFY_BITS(a[6], 30); - VERIFY_BITS(a[7], 30); - VERIFY_BITS(a[8], 30); - VERIFY_BITS(a[9], 26); - VERIFY_BITS(b[0], 30); - VERIFY_BITS(b[1], 30); - VERIFY_BITS(b[2], 30); - VERIFY_BITS(b[3], 30); - VERIFY_BITS(b[4], 30); - VERIFY_BITS(b[5], 30); - VERIFY_BITS(b[6], 30); - VERIFY_BITS(b[7], 30); - VERIFY_BITS(b[8], 30); - VERIFY_BITS(b[9], 26); - - /** [... a b c] is a shorthand for ... + a<<52 + b<<26 + c<<0 mod n. - * px is a shorthand for sum(a[i]*b[x-i], i=0..x). - * Note that [x 0 0 0 0 0 0 0 0 0 0] = [x*R1 x*R0]. - */ - - d = (uint64_t)a[0] * b[9] - + (uint64_t)a[1] * b[8] - + (uint64_t)a[2] * b[7] - + (uint64_t)a[3] * b[6] - + (uint64_t)a[4] * b[5] - + (uint64_t)a[5] * b[4] - + (uint64_t)a[6] * b[3] - + (uint64_t)a[7] * b[2] - + (uint64_t)a[8] * b[1] - + (uint64_t)a[9] * b[0]; - /* VERIFY_BITS(d, 64); */ - /* [d 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ - t9 = d & M; d >>= 26; - VERIFY_BITS(t9, 26); - VERIFY_BITS(d, 38); - /* [d t9 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ - - c = (uint64_t)a[0] * b[0]; - VERIFY_BITS(c, 60); - /* [d t9 0 0 0 0 0 0 0 0 c] = [p9 0 0 0 0 0 0 0 0 p0] */ - d += (uint64_t)a[1] * b[9] - + (uint64_t)a[2] * b[8] - + (uint64_t)a[3] * b[7] - + (uint64_t)a[4] * b[6] - + (uint64_t)a[5] * b[5] - + (uint64_t)a[6] * b[4] - + (uint64_t)a[7] * b[3] - + (uint64_t)a[8] * b[2] - + (uint64_t)a[9] * b[1]; - VERIFY_BITS(d, 63); - /* [d t9 0 0 0 0 0 0 0 0 c] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - u0 = d & M; d >>= 26; c += u0 * R0; - VERIFY_BITS(u0, 26); - VERIFY_BITS(d, 37); - VERIFY_BITS(c, 61); - /* [d u0 t9 0 0 0 0 0 0 0 0 c-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - t0 = c & M; c >>= 26; c += u0 * R1; - VERIFY_BITS(t0, 26); - VERIFY_BITS(c, 37); - /* [d u0 t9 0 0 0 0 0 0 0 c-u0*R1 t0-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - - c += (uint64_t)a[0] * b[1] - + (uint64_t)a[1] * b[0]; - VERIFY_BITS(c, 62); - /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 p1 p0] */ - d += (uint64_t)a[2] * b[9] - + (uint64_t)a[3] * b[8] - + (uint64_t)a[4] * b[7] - + (uint64_t)a[5] * b[6] - + (uint64_t)a[6] * b[5] - + (uint64_t)a[7] * b[4] - + (uint64_t)a[8] * b[3] - + (uint64_t)a[9] * b[2]; - VERIFY_BITS(d, 63); - /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - u1 = d & M; d >>= 26; c += u1 * R0; - VERIFY_BITS(u1, 26); - VERIFY_BITS(d, 37); - VERIFY_BITS(c, 63); - /* [d u1 0 t9 0 0 0 0 0 0 0 c-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - t1 = c & M; c >>= 26; c += u1 * R1; - VERIFY_BITS(t1, 26); - VERIFY_BITS(c, 38); - /* [d u1 0 t9 0 0 0 0 0 0 c-u1*R1 t1-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - - c += (uint64_t)a[0] * b[2] - + (uint64_t)a[1] * b[1] - + (uint64_t)a[2] * b[0]; - VERIFY_BITS(c, 62); - /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - d += (uint64_t)a[3] * b[9] - + (uint64_t)a[4] * b[8] - + (uint64_t)a[5] * b[7] - + (uint64_t)a[6] * b[6] - + (uint64_t)a[7] * b[5] - + (uint64_t)a[8] * b[4] - + (uint64_t)a[9] * b[3]; - VERIFY_BITS(d, 63); - /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - u2 = d & M; d >>= 26; c += u2 * R0; - VERIFY_BITS(u2, 26); - VERIFY_BITS(d, 37); - VERIFY_BITS(c, 63); - /* [d u2 0 0 t9 0 0 0 0 0 0 c-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - t2 = c & M; c >>= 26; c += u2 * R1; - VERIFY_BITS(t2, 26); - VERIFY_BITS(c, 38); - /* [d u2 0 0 t9 0 0 0 0 0 c-u2*R1 t2-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - - c += (uint64_t)a[0] * b[3] - + (uint64_t)a[1] * b[2] - + (uint64_t)a[2] * b[1] - + (uint64_t)a[3] * b[0]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - d += (uint64_t)a[4] * b[9] - + (uint64_t)a[5] * b[8] - + (uint64_t)a[6] * b[7] - + (uint64_t)a[7] * b[6] - + (uint64_t)a[8] * b[5] - + (uint64_t)a[9] * b[4]; - VERIFY_BITS(d, 63); - /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - u3 = d & M; d >>= 26; c += u3 * R0; - VERIFY_BITS(u3, 26); - VERIFY_BITS(d, 37); - /* VERIFY_BITS(c, 64); */ - /* [d u3 0 0 0 t9 0 0 0 0 0 c-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - t3 = c & M; c >>= 26; c += u3 * R1; - VERIFY_BITS(t3, 26); - VERIFY_BITS(c, 39); - /* [d u3 0 0 0 t9 0 0 0 0 c-u3*R1 t3-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - - c += (uint64_t)a[0] * b[4] - + (uint64_t)a[1] * b[3] - + (uint64_t)a[2] * b[2] - + (uint64_t)a[3] * b[1] - + (uint64_t)a[4] * b[0]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - d += (uint64_t)a[5] * b[9] - + (uint64_t)a[6] * b[8] - + (uint64_t)a[7] * b[7] - + (uint64_t)a[8] * b[6] - + (uint64_t)a[9] * b[5]; - VERIFY_BITS(d, 62); - /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - u4 = d & M; d >>= 26; c += u4 * R0; - VERIFY_BITS(u4, 26); - VERIFY_BITS(d, 36); - /* VERIFY_BITS(c, 64); */ - /* [d u4 0 0 0 0 t9 0 0 0 0 c-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - t4 = c & M; c >>= 26; c += u4 * R1; - VERIFY_BITS(t4, 26); - VERIFY_BITS(c, 39); - /* [d u4 0 0 0 0 t9 0 0 0 c-u4*R1 t4-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - - c += (uint64_t)a[0] * b[5] - + (uint64_t)a[1] * b[4] - + (uint64_t)a[2] * b[3] - + (uint64_t)a[3] * b[2] - + (uint64_t)a[4] * b[1] - + (uint64_t)a[5] * b[0]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)a[6] * b[9] - + (uint64_t)a[7] * b[8] - + (uint64_t)a[8] * b[7] - + (uint64_t)a[9] * b[6]; - VERIFY_BITS(d, 62); - /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - u5 = d & M; d >>= 26; c += u5 * R0; - VERIFY_BITS(u5, 26); - VERIFY_BITS(d, 36); - /* VERIFY_BITS(c, 64); */ - /* [d u5 0 0 0 0 0 t9 0 0 0 c-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - t5 = c & M; c >>= 26; c += u5 * R1; - VERIFY_BITS(t5, 26); - VERIFY_BITS(c, 39); - /* [d u5 0 0 0 0 0 t9 0 0 c-u5*R1 t5-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - - c += (uint64_t)a[0] * b[6] - + (uint64_t)a[1] * b[5] - + (uint64_t)a[2] * b[4] - + (uint64_t)a[3] * b[3] - + (uint64_t)a[4] * b[2] - + (uint64_t)a[5] * b[1] - + (uint64_t)a[6] * b[0]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)a[7] * b[9] - + (uint64_t)a[8] * b[8] - + (uint64_t)a[9] * b[7]; - VERIFY_BITS(d, 61); - /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - u6 = d & M; d >>= 26; c += u6 * R0; - VERIFY_BITS(u6, 26); - VERIFY_BITS(d, 35); - /* VERIFY_BITS(c, 64); */ - /* [d u6 0 0 0 0 0 0 t9 0 0 c-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - t6 = c & M; c >>= 26; c += u6 * R1; - VERIFY_BITS(t6, 26); - VERIFY_BITS(c, 39); - /* [d u6 0 0 0 0 0 0 t9 0 c-u6*R1 t6-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - - c += (uint64_t)a[0] * b[7] - + (uint64_t)a[1] * b[6] - + (uint64_t)a[2] * b[5] - + (uint64_t)a[3] * b[4] - + (uint64_t)a[4] * b[3] - + (uint64_t)a[5] * b[2] - + (uint64_t)a[6] * b[1] - + (uint64_t)a[7] * b[0]; - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x8000007C00000007ULL); - /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)a[8] * b[9] - + (uint64_t)a[9] * b[8]; - VERIFY_BITS(d, 58); - /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - u7 = d & M; d >>= 26; c += u7 * R0; - VERIFY_BITS(u7, 26); - VERIFY_BITS(d, 32); - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x800001703FFFC2F7ULL); - /* [d u7 0 0 0 0 0 0 0 t9 0 c-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - t7 = c & M; c >>= 26; c += u7 * R1; - VERIFY_BITS(t7, 26); - VERIFY_BITS(c, 38); - /* [d u7 0 0 0 0 0 0 0 t9 c-u7*R1 t7-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - - c += (uint64_t)a[0] * b[8] - + (uint64_t)a[1] * b[7] - + (uint64_t)a[2] * b[6] - + (uint64_t)a[3] * b[5] - + (uint64_t)a[4] * b[4] - + (uint64_t)a[5] * b[3] - + (uint64_t)a[6] * b[2] - + (uint64_t)a[7] * b[1] - + (uint64_t)a[8] * b[0]; - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x9000007B80000008ULL); - /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)a[9] * b[9]; - VERIFY_BITS(d, 57); - /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - u8 = d & M; d >>= 26; c += u8 * R0; - VERIFY_BITS(u8, 26); - VERIFY_BITS(d, 31); - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x9000016FBFFFC2F8ULL); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - r[3] = t3; - VERIFY_BITS(r[3], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[4] = t4; - VERIFY_BITS(r[4], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[5] = t5; - VERIFY_BITS(r[5], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[6] = t6; - VERIFY_BITS(r[6], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[7] = t7; - VERIFY_BITS(r[7], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - r[8] = c & M; c >>= 26; c += u8 * R1; - VERIFY_BITS(r[8], 26); - VERIFY_BITS(c, 39); - /* [d u8 0 0 0 0 0 0 0 0 t9+c-u8*R1 r8-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 0 0 t9+c r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += d * R0 + t9; - VERIFY_BITS(c, 45); - /* [d 0 0 0 0 0 0 0 0 0 c-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[9] = c & (M >> 4); c >>= 22; c += d * (R1 << 4); - VERIFY_BITS(r[9], 22); - VERIFY_BITS(c, 46); - /* [d 0 0 0 0 0 0 0 0 r9+((c-d*R1<<4)<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 -d*R1 r9+(c<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - d = c * (R0 >> 4) + t0; - VERIFY_BITS(d, 56); - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 d-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[0] = d & M; d >>= 26; - VERIFY_BITS(r[0], 26); - VERIFY_BITS(d, 30); - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1+d r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += c * (R1 >> 4) + t1; - VERIFY_BITS(d, 53); - VERIFY_CHECK(d <= 0x10000003FFFFBFULL); - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 d-c*R1>>4 r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [r9 r8 r7 r6 r5 r4 r3 t2 d r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[1] = d & M; d >>= 26; - VERIFY_BITS(r[1], 26); - VERIFY_BITS(d, 27); - VERIFY_CHECK(d <= 0x4000000ULL); - /* [r9 r8 r7 r6 r5 r4 r3 t2+d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += t2; - VERIFY_BITS(d, 27); - /* [r9 r8 r7 r6 r5 r4 r3 d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[2] = d; - VERIFY_BITS(r[2], 27); - /* [r9 r8 r7 r6 r5 r4 r3 r2 r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ -} - -SECP256K1_INLINE static void secp256k1_fe_sqr_inner(uint32_t *r, const uint32_t *a) { - uint64_t c, d; - uint64_t u0, u1, u2, u3, u4, u5, u6, u7, u8; - uint32_t t9, t0, t1, t2, t3, t4, t5, t6, t7; - const uint32_t M = 0x3FFFFFFUL, R0 = 0x3D10UL, R1 = 0x400UL; - - VERIFY_BITS(a[0], 30); - VERIFY_BITS(a[1], 30); - VERIFY_BITS(a[2], 30); - VERIFY_BITS(a[3], 30); - VERIFY_BITS(a[4], 30); - VERIFY_BITS(a[5], 30); - VERIFY_BITS(a[6], 30); - VERIFY_BITS(a[7], 30); - VERIFY_BITS(a[8], 30); - VERIFY_BITS(a[9], 26); - - /** [... a b c] is a shorthand for ... + a<<52 + b<<26 + c<<0 mod n. - * px is a shorthand for sum(a[i]*a[x-i], i=0..x). - * Note that [x 0 0 0 0 0 0 0 0 0 0] = [x*R1 x*R0]. - */ - - d = (uint64_t)(a[0]*2) * a[9] - + (uint64_t)(a[1]*2) * a[8] - + (uint64_t)(a[2]*2) * a[7] - + (uint64_t)(a[3]*2) * a[6] - + (uint64_t)(a[4]*2) * a[5]; - /* VERIFY_BITS(d, 64); */ - /* [d 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ - t9 = d & M; d >>= 26; - VERIFY_BITS(t9, 26); - VERIFY_BITS(d, 38); - /* [d t9 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ - - c = (uint64_t)a[0] * a[0]; - VERIFY_BITS(c, 60); - /* [d t9 0 0 0 0 0 0 0 0 c] = [p9 0 0 0 0 0 0 0 0 p0] */ - d += (uint64_t)(a[1]*2) * a[9] - + (uint64_t)(a[2]*2) * a[8] - + (uint64_t)(a[3]*2) * a[7] - + (uint64_t)(a[4]*2) * a[6] - + (uint64_t)a[5] * a[5]; - VERIFY_BITS(d, 63); - /* [d t9 0 0 0 0 0 0 0 0 c] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - u0 = d & M; d >>= 26; c += u0 * R0; - VERIFY_BITS(u0, 26); - VERIFY_BITS(d, 37); - VERIFY_BITS(c, 61); - /* [d u0 t9 0 0 0 0 0 0 0 0 c-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - t0 = c & M; c >>= 26; c += u0 * R1; - VERIFY_BITS(t0, 26); - VERIFY_BITS(c, 37); - /* [d u0 t9 0 0 0 0 0 0 0 c-u0*R1 t0-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - - c += (uint64_t)(a[0]*2) * a[1]; - VERIFY_BITS(c, 62); - /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 p1 p0] */ - d += (uint64_t)(a[2]*2) * a[9] - + (uint64_t)(a[3]*2) * a[8] - + (uint64_t)(a[4]*2) * a[7] - + (uint64_t)(a[5]*2) * a[6]; - VERIFY_BITS(d, 63); - /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - u1 = d & M; d >>= 26; c += u1 * R0; - VERIFY_BITS(u1, 26); - VERIFY_BITS(d, 37); - VERIFY_BITS(c, 63); - /* [d u1 0 t9 0 0 0 0 0 0 0 c-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - t1 = c & M; c >>= 26; c += u1 * R1; - VERIFY_BITS(t1, 26); - VERIFY_BITS(c, 38); - /* [d u1 0 t9 0 0 0 0 0 0 c-u1*R1 t1-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[2] - + (uint64_t)a[1] * a[1]; - VERIFY_BITS(c, 62); - /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - d += (uint64_t)(a[3]*2) * a[9] - + (uint64_t)(a[4]*2) * a[8] - + (uint64_t)(a[5]*2) * a[7] - + (uint64_t)a[6] * a[6]; - VERIFY_BITS(d, 63); - /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - u2 = d & M; d >>= 26; c += u2 * R0; - VERIFY_BITS(u2, 26); - VERIFY_BITS(d, 37); - VERIFY_BITS(c, 63); - /* [d u2 0 0 t9 0 0 0 0 0 0 c-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - t2 = c & M; c >>= 26; c += u2 * R1; - VERIFY_BITS(t2, 26); - VERIFY_BITS(c, 38); - /* [d u2 0 0 t9 0 0 0 0 0 c-u2*R1 t2-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[3] - + (uint64_t)(a[1]*2) * a[2]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - d += (uint64_t)(a[4]*2) * a[9] - + (uint64_t)(a[5]*2) * a[8] - + (uint64_t)(a[6]*2) * a[7]; - VERIFY_BITS(d, 63); - /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - u3 = d & M; d >>= 26; c += u3 * R0; - VERIFY_BITS(u3, 26); - VERIFY_BITS(d, 37); - /* VERIFY_BITS(c, 64); */ - /* [d u3 0 0 0 t9 0 0 0 0 0 c-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - t3 = c & M; c >>= 26; c += u3 * R1; - VERIFY_BITS(t3, 26); - VERIFY_BITS(c, 39); - /* [d u3 0 0 0 t9 0 0 0 0 c-u3*R1 t3-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[4] - + (uint64_t)(a[1]*2) * a[3] - + (uint64_t)a[2] * a[2]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - d += (uint64_t)(a[5]*2) * a[9] - + (uint64_t)(a[6]*2) * a[8] - + (uint64_t)a[7] * a[7]; - VERIFY_BITS(d, 62); - /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - u4 = d & M; d >>= 26; c += u4 * R0; - VERIFY_BITS(u4, 26); - VERIFY_BITS(d, 36); - /* VERIFY_BITS(c, 64); */ - /* [d u4 0 0 0 0 t9 0 0 0 0 c-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - t4 = c & M; c >>= 26; c += u4 * R1; - VERIFY_BITS(t4, 26); - VERIFY_BITS(c, 39); - /* [d u4 0 0 0 0 t9 0 0 0 c-u4*R1 t4-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[5] - + (uint64_t)(a[1]*2) * a[4] - + (uint64_t)(a[2]*2) * a[3]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)(a[6]*2) * a[9] - + (uint64_t)(a[7]*2) * a[8]; - VERIFY_BITS(d, 62); - /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - u5 = d & M; d >>= 26; c += u5 * R0; - VERIFY_BITS(u5, 26); - VERIFY_BITS(d, 36); - /* VERIFY_BITS(c, 64); */ - /* [d u5 0 0 0 0 0 t9 0 0 0 c-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - t5 = c & M; c >>= 26; c += u5 * R1; - VERIFY_BITS(t5, 26); - VERIFY_BITS(c, 39); - /* [d u5 0 0 0 0 0 t9 0 0 c-u5*R1 t5-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[6] - + (uint64_t)(a[1]*2) * a[5] - + (uint64_t)(a[2]*2) * a[4] - + (uint64_t)a[3] * a[3]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)(a[7]*2) * a[9] - + (uint64_t)a[8] * a[8]; - VERIFY_BITS(d, 61); - /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - u6 = d & M; d >>= 26; c += u6 * R0; - VERIFY_BITS(u6, 26); - VERIFY_BITS(d, 35); - /* VERIFY_BITS(c, 64); */ - /* [d u6 0 0 0 0 0 0 t9 0 0 c-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - t6 = c & M; c >>= 26; c += u6 * R1; - VERIFY_BITS(t6, 26); - VERIFY_BITS(c, 39); - /* [d u6 0 0 0 0 0 0 t9 0 c-u6*R1 t6-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[7] - + (uint64_t)(a[1]*2) * a[6] - + (uint64_t)(a[2]*2) * a[5] - + (uint64_t)(a[3]*2) * a[4]; - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x8000007C00000007ULL); - /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)(a[8]*2) * a[9]; - VERIFY_BITS(d, 58); - /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - u7 = d & M; d >>= 26; c += u7 * R0; - VERIFY_BITS(u7, 26); - VERIFY_BITS(d, 32); - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x800001703FFFC2F7ULL); - /* [d u7 0 0 0 0 0 0 0 t9 0 c-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - t7 = c & M; c >>= 26; c += u7 * R1; - VERIFY_BITS(t7, 26); - VERIFY_BITS(c, 38); - /* [d u7 0 0 0 0 0 0 0 t9 c-u7*R1 t7-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[8] - + (uint64_t)(a[1]*2) * a[7] - + (uint64_t)(a[2]*2) * a[6] - + (uint64_t)(a[3]*2) * a[5] - + (uint64_t)a[4] * a[4]; - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x9000007B80000008ULL); - /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)a[9] * a[9]; - VERIFY_BITS(d, 57); - /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - u8 = d & M; d >>= 26; c += u8 * R0; - VERIFY_BITS(u8, 26); - VERIFY_BITS(d, 31); - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x9000016FBFFFC2F8ULL); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - r[3] = t3; - VERIFY_BITS(r[3], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[4] = t4; - VERIFY_BITS(r[4], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[5] = t5; - VERIFY_BITS(r[5], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[6] = t6; - VERIFY_BITS(r[6], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[7] = t7; - VERIFY_BITS(r[7], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - r[8] = c & M; c >>= 26; c += u8 * R1; - VERIFY_BITS(r[8], 26); - VERIFY_BITS(c, 39); - /* [d u8 0 0 0 0 0 0 0 0 t9+c-u8*R1 r8-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 0 0 t9+c r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += d * R0 + t9; - VERIFY_BITS(c, 45); - /* [d 0 0 0 0 0 0 0 0 0 c-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[9] = c & (M >> 4); c >>= 22; c += d * (R1 << 4); - VERIFY_BITS(r[9], 22); - VERIFY_BITS(c, 46); - /* [d 0 0 0 0 0 0 0 0 r9+((c-d*R1<<4)<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 -d*R1 r9+(c<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - d = c * (R0 >> 4) + t0; - VERIFY_BITS(d, 56); - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 d-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[0] = d & M; d >>= 26; - VERIFY_BITS(r[0], 26); - VERIFY_BITS(d, 30); - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1+d r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += c * (R1 >> 4) + t1; - VERIFY_BITS(d, 53); - VERIFY_CHECK(d <= 0x10000003FFFFBFULL); - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 d-c*R1>>4 r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [r9 r8 r7 r6 r5 r4 r3 t2 d r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[1] = d & M; d >>= 26; - VERIFY_BITS(r[1], 26); - VERIFY_BITS(d, 27); - VERIFY_CHECK(d <= 0x4000000ULL); - /* [r9 r8 r7 r6 r5 r4 r3 t2+d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += t2; - VERIFY_BITS(d, 27); - /* [r9 r8 r7 r6 r5 r4 r3 d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[2] = d; - VERIFY_BITS(r[2], 27); - /* [r9 r8 r7 r6 r5 r4 r3 r2 r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ -} -#endif - -static void secp256k1_fe_mul(secp256k1_fe *r, const secp256k1_fe *a, const secp256k1_fe * SECP256K1_RESTRICT b) { -#ifdef VERIFY - VERIFY_CHECK(a->magnitude <= 8); - VERIFY_CHECK(b->magnitude <= 8); - secp256k1_fe_verify(a); - secp256k1_fe_verify(b); - VERIFY_CHECK(r != b); -#endif - secp256k1_fe_mul_inner(r->n, a->n, b->n); -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -static void secp256k1_fe_sqr(secp256k1_fe *r, const secp256k1_fe *a) { -#ifdef VERIFY - VERIFY_CHECK(a->magnitude <= 8); - secp256k1_fe_verify(a); -#endif - secp256k1_fe_sqr_inner(r->n, a->n); -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -static SECP256K1_INLINE void secp256k1_fe_cmov(secp256k1_fe *r, const secp256k1_fe *a, int flag) { - uint32_t mask0, mask1; - mask0 = flag + ~((uint32_t)0); - mask1 = ~mask0; - r->n[0] = (r->n[0] & mask0) | (a->n[0] & mask1); - r->n[1] = (r->n[1] & mask0) | (a->n[1] & mask1); - r->n[2] = (r->n[2] & mask0) | (a->n[2] & mask1); - r->n[3] = (r->n[3] & mask0) | (a->n[3] & mask1); - r->n[4] = (r->n[4] & mask0) | (a->n[4] & mask1); - r->n[5] = (r->n[5] & mask0) | (a->n[5] & mask1); - r->n[6] = (r->n[6] & mask0) | (a->n[6] & mask1); - r->n[7] = (r->n[7] & mask0) | (a->n[7] & mask1); - r->n[8] = (r->n[8] & mask0) | (a->n[8] & mask1); - r->n[9] = (r->n[9] & mask0) | (a->n[9] & mask1); -#ifdef VERIFY - if (a->magnitude > r->magnitude) { - r->magnitude = a->magnitude; - } - r->normalized &= a->normalized; -#endif -} - -static SECP256K1_INLINE void secp256k1_fe_storage_cmov(secp256k1_fe_storage *r, const secp256k1_fe_storage *a, int flag) { - uint32_t mask0, mask1; - mask0 = flag + ~((uint32_t)0); - mask1 = ~mask0; - r->n[0] = (r->n[0] & mask0) | (a->n[0] & mask1); - r->n[1] = (r->n[1] & mask0) | (a->n[1] & mask1); - r->n[2] = (r->n[2] & mask0) | (a->n[2] & mask1); - r->n[3] = (r->n[3] & mask0) | (a->n[3] & mask1); - r->n[4] = (r->n[4] & mask0) | (a->n[4] & mask1); - r->n[5] = (r->n[5] & mask0) | (a->n[5] & mask1); - r->n[6] = (r->n[6] & mask0) | (a->n[6] & mask1); - r->n[7] = (r->n[7] & mask0) | (a->n[7] & mask1); -} - -static void secp256k1_fe_to_storage(secp256k1_fe_storage *r, const secp256k1_fe *a) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); -#endif - r->n[0] = a->n[0] | a->n[1] << 26; - r->n[1] = a->n[1] >> 6 | a->n[2] << 20; - r->n[2] = a->n[2] >> 12 | a->n[3] << 14; - r->n[3] = a->n[3] >> 18 | a->n[4] << 8; - r->n[4] = a->n[4] >> 24 | a->n[5] << 2 | a->n[6] << 28; - r->n[5] = a->n[6] >> 4 | a->n[7] << 22; - r->n[6] = a->n[7] >> 10 | a->n[8] << 16; - r->n[7] = a->n[8] >> 16 | a->n[9] << 10; -} - -static SECP256K1_INLINE void secp256k1_fe_from_storage(secp256k1_fe *r, const secp256k1_fe_storage *a) { - r->n[0] = a->n[0] & 0x3FFFFFFUL; - r->n[1] = a->n[0] >> 26 | ((a->n[1] << 6) & 0x3FFFFFFUL); - r->n[2] = a->n[1] >> 20 | ((a->n[2] << 12) & 0x3FFFFFFUL); - r->n[3] = a->n[2] >> 14 | ((a->n[3] << 18) & 0x3FFFFFFUL); - r->n[4] = a->n[3] >> 8 | ((a->n[4] << 24) & 0x3FFFFFFUL); - r->n[5] = (a->n[4] >> 2) & 0x3FFFFFFUL; - r->n[6] = a->n[4] >> 28 | ((a->n[5] << 4) & 0x3FFFFFFUL); - r->n[7] = a->n[5] >> 22 | ((a->n[6] << 10) & 0x3FFFFFFUL); - r->n[8] = a->n[6] >> 16 | ((a->n[7] << 16) & 0x3FFFFFFUL); - r->n[9] = a->n[7] >> 10; -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; -#endif -} - -#endif /* SECP256K1_FIELD_REPR_IMPL_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52.h b/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52.h deleted file mode 100644 index bccd8feb4..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52.h +++ /dev/null @@ -1,47 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_FIELD_REPR_H -#define SECP256K1_FIELD_REPR_H - -#include - -typedef struct { - /* X = sum(i=0..4, elem[i]*2^52) mod n */ - uint64_t n[5]; -#ifdef VERIFY - int magnitude; - int normalized; -#endif -} secp256k1_fe; - -/* Unpacks a constant into a overlapping multi-limbed FE element. */ -#define SECP256K1_FE_CONST_INNER(d7, d6, d5, d4, d3, d2, d1, d0) { \ - (d0) | (((uint64_t)(d1) & 0xFFFFFUL) << 32), \ - ((uint64_t)(d1) >> 20) | (((uint64_t)(d2)) << 12) | (((uint64_t)(d3) & 0xFFUL) << 44), \ - ((uint64_t)(d3) >> 8) | (((uint64_t)(d4) & 0xFFFFFFFUL) << 24), \ - ((uint64_t)(d4) >> 28) | (((uint64_t)(d5)) << 4) | (((uint64_t)(d6) & 0xFFFFUL) << 36), \ - ((uint64_t)(d6) >> 16) | (((uint64_t)(d7)) << 16) \ -} - -#ifdef VERIFY -#define SECP256K1_FE_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {SECP256K1_FE_CONST_INNER((d7), (d6), (d5), (d4), (d3), (d2), (d1), (d0)), 1, 1} -#else -#define SECP256K1_FE_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {SECP256K1_FE_CONST_INNER((d7), (d6), (d5), (d4), (d3), (d2), (d1), (d0))} -#endif - -typedef struct { - uint64_t n[4]; -} secp256k1_fe_storage; - -#define SECP256K1_FE_STORAGE_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {{ \ - (d0) | (((uint64_t)(d1)) << 32), \ - (d2) | (((uint64_t)(d3)) << 32), \ - (d4) | (((uint64_t)(d5)) << 32), \ - (d6) | (((uint64_t)(d7)) << 32) \ -}} - -#endif /* SECP256K1_FIELD_REPR_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_asm_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_asm_impl.h deleted file mode 100644 index 1fc3171f6..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_asm_impl.h +++ /dev/null @@ -1,502 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013-2014 Diederik Huys, Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -/** - * Changelog: - * - March 2013, Diederik Huys: original version - * - November 2014, Pieter Wuille: updated to use Peter Dettman's parallel multiplication algorithm - * - December 2014, Pieter Wuille: converted from YASM to GCC inline assembly - */ - -#ifndef SECP256K1_FIELD_INNER5X52_IMPL_H -#define SECP256K1_FIELD_INNER5X52_IMPL_H - -SECP256K1_INLINE static void secp256k1_fe_mul_inner(uint64_t *r, const uint64_t *a, const uint64_t * SECP256K1_RESTRICT b) { -/** - * Registers: rdx:rax = multiplication accumulator - * r9:r8 = c - * r15:rcx = d - * r10-r14 = a0-a4 - * rbx = b - * rdi = r - * rsi = a / t? - */ - uint64_t tmp1, tmp2, tmp3; -__asm__ __volatile__( - "movq 0(%%rsi),%%r10\n" - "movq 8(%%rsi),%%r11\n" - "movq 16(%%rsi),%%r12\n" - "movq 24(%%rsi),%%r13\n" - "movq 32(%%rsi),%%r14\n" - - /* d += a3 * b0 */ - "movq 0(%%rbx),%%rax\n" - "mulq %%r13\n" - "movq %%rax,%%rcx\n" - "movq %%rdx,%%r15\n" - /* d += a2 * b1 */ - "movq 8(%%rbx),%%rax\n" - "mulq %%r12\n" - "addq %%rax,%%rcx\n" - "adcq %%rdx,%%r15\n" - /* d += a1 * b2 */ - "movq 16(%%rbx),%%rax\n" - "mulq %%r11\n" - "addq %%rax,%%rcx\n" - "adcq %%rdx,%%r15\n" - /* d = a0 * b3 */ - "movq 24(%%rbx),%%rax\n" - "mulq %%r10\n" - "addq %%rax,%%rcx\n" - "adcq %%rdx,%%r15\n" - /* c = a4 * b4 */ - "movq 32(%%rbx),%%rax\n" - "mulq %%r14\n" - "movq %%rax,%%r8\n" - "movq %%rdx,%%r9\n" - /* d += (c & M) * R */ - "movq $0xfffffffffffff,%%rdx\n" - "andq %%rdx,%%rax\n" - "movq $0x1000003d10,%%rdx\n" - "mulq %%rdx\n" - "addq %%rax,%%rcx\n" - "adcq %%rdx,%%r15\n" - /* c >>= 52 (%%r8 only) */ - "shrdq $52,%%r9,%%r8\n" - /* t3 (tmp1) = d & M */ - "movq %%rcx,%%rsi\n" - "movq $0xfffffffffffff,%%rdx\n" - "andq %%rdx,%%rsi\n" - "movq %%rsi,%q1\n" - /* d >>= 52 */ - "shrdq $52,%%r15,%%rcx\n" - "xorq %%r15,%%r15\n" - /* d += a4 * b0 */ - "movq 0(%%rbx),%%rax\n" - "mulq %%r14\n" - "addq %%rax,%%rcx\n" - "adcq %%rdx,%%r15\n" - /* d += a3 * b1 */ - "movq 8(%%rbx),%%rax\n" - "mulq %%r13\n" - "addq %%rax,%%rcx\n" - "adcq %%rdx,%%r15\n" - /* d += a2 * b2 */ - "movq 16(%%rbx),%%rax\n" - "mulq %%r12\n" - "addq %%rax,%%rcx\n" - "adcq %%rdx,%%r15\n" - /* d += a1 * b3 */ - "movq 24(%%rbx),%%rax\n" - "mulq %%r11\n" - "addq %%rax,%%rcx\n" - "adcq %%rdx,%%r15\n" - /* d += a0 * b4 */ - "movq 32(%%rbx),%%rax\n" - "mulq %%r10\n" - "addq %%rax,%%rcx\n" - "adcq %%rdx,%%r15\n" - /* d += c * R */ - "movq %%r8,%%rax\n" - "movq $0x1000003d10,%%rdx\n" - "mulq %%rdx\n" - "addq %%rax,%%rcx\n" - "adcq %%rdx,%%r15\n" - /* t4 = d & M (%%rsi) */ - "movq %%rcx,%%rsi\n" - "movq $0xfffffffffffff,%%rdx\n" - "andq %%rdx,%%rsi\n" - /* d >>= 52 */ - "shrdq $52,%%r15,%%rcx\n" - "xorq %%r15,%%r15\n" - /* tx = t4 >> 48 (tmp3) */ - "movq %%rsi,%%rax\n" - "shrq $48,%%rax\n" - "movq %%rax,%q3\n" - /* t4 &= (M >> 4) (tmp2) */ - "movq $0xffffffffffff,%%rax\n" - "andq %%rax,%%rsi\n" - "movq %%rsi,%q2\n" - /* c = a0 * b0 */ - "movq 0(%%rbx),%%rax\n" - "mulq %%r10\n" - "movq %%rax,%%r8\n" - "movq %%rdx,%%r9\n" - /* d += a4 * b1 */ - "movq 8(%%rbx),%%rax\n" - "mulq %%r14\n" - "addq %%rax,%%rcx\n" - "adcq %%rdx,%%r15\n" - /* d += a3 * b2 */ - "movq 16(%%rbx),%%rax\n" - "mulq %%r13\n" - "addq %%rax,%%rcx\n" - "adcq %%rdx,%%r15\n" - /* d += a2 * b3 */ - "movq 24(%%rbx),%%rax\n" - "mulq %%r12\n" - "addq %%rax,%%rcx\n" - "adcq %%rdx,%%r15\n" - /* d += a1 * b4 */ - "movq 32(%%rbx),%%rax\n" - "mulq %%r11\n" - "addq %%rax,%%rcx\n" - "adcq %%rdx,%%r15\n" - /* u0 = d & M (%%rsi) */ - "movq %%rcx,%%rsi\n" - "movq $0xfffffffffffff,%%rdx\n" - "andq %%rdx,%%rsi\n" - /* d >>= 52 */ - "shrdq $52,%%r15,%%rcx\n" - "xorq %%r15,%%r15\n" - /* u0 = (u0 << 4) | tx (%%rsi) */ - "shlq $4,%%rsi\n" - "movq %q3,%%rax\n" - "orq %%rax,%%rsi\n" - /* c += u0 * (R >> 4) */ - "movq $0x1000003d1,%%rax\n" - "mulq %%rsi\n" - "addq %%rax,%%r8\n" - "adcq %%rdx,%%r9\n" - /* r[0] = c & M */ - "movq %%r8,%%rax\n" - "movq $0xfffffffffffff,%%rdx\n" - "andq %%rdx,%%rax\n" - "movq %%rax,0(%%rdi)\n" - /* c >>= 52 */ - "shrdq $52,%%r9,%%r8\n" - "xorq %%r9,%%r9\n" - /* c += a1 * b0 */ - "movq 0(%%rbx),%%rax\n" - "mulq %%r11\n" - "addq %%rax,%%r8\n" - "adcq %%rdx,%%r9\n" - /* c += a0 * b1 */ - "movq 8(%%rbx),%%rax\n" - "mulq %%r10\n" - "addq %%rax,%%r8\n" - "adcq %%rdx,%%r9\n" - /* d += a4 * b2 */ - "movq 16(%%rbx),%%rax\n" - "mulq %%r14\n" - "addq %%rax,%%rcx\n" - "adcq %%rdx,%%r15\n" - /* d += a3 * b3 */ - "movq 24(%%rbx),%%rax\n" - "mulq %%r13\n" - "addq %%rax,%%rcx\n" - "adcq %%rdx,%%r15\n" - /* d += a2 * b4 */ - "movq 32(%%rbx),%%rax\n" - "mulq %%r12\n" - "addq %%rax,%%rcx\n" - "adcq %%rdx,%%r15\n" - /* c += (d & M) * R */ - "movq %%rcx,%%rax\n" - "movq $0xfffffffffffff,%%rdx\n" - "andq %%rdx,%%rax\n" - "movq $0x1000003d10,%%rdx\n" - "mulq %%rdx\n" - "addq %%rax,%%r8\n" - "adcq %%rdx,%%r9\n" - /* d >>= 52 */ - "shrdq $52,%%r15,%%rcx\n" - "xorq %%r15,%%r15\n" - /* r[1] = c & M */ - "movq %%r8,%%rax\n" - "movq $0xfffffffffffff,%%rdx\n" - "andq %%rdx,%%rax\n" - "movq %%rax,8(%%rdi)\n" - /* c >>= 52 */ - "shrdq $52,%%r9,%%r8\n" - "xorq %%r9,%%r9\n" - /* c += a2 * b0 */ - "movq 0(%%rbx),%%rax\n" - "mulq %%r12\n" - "addq %%rax,%%r8\n" - "adcq %%rdx,%%r9\n" - /* c += a1 * b1 */ - "movq 8(%%rbx),%%rax\n" - "mulq %%r11\n" - "addq %%rax,%%r8\n" - "adcq %%rdx,%%r9\n" - /* c += a0 * b2 (last use of %%r10 = a0) */ - "movq 16(%%rbx),%%rax\n" - "mulq %%r10\n" - "addq %%rax,%%r8\n" - "adcq %%rdx,%%r9\n" - /* fetch t3 (%%r10, overwrites a0), t4 (%%rsi) */ - "movq %q2,%%rsi\n" - "movq %q1,%%r10\n" - /* d += a4 * b3 */ - "movq 24(%%rbx),%%rax\n" - "mulq %%r14\n" - "addq %%rax,%%rcx\n" - "adcq %%rdx,%%r15\n" - /* d += a3 * b4 */ - "movq 32(%%rbx),%%rax\n" - "mulq %%r13\n" - "addq %%rax,%%rcx\n" - "adcq %%rdx,%%r15\n" - /* c += (d & M) * R */ - "movq %%rcx,%%rax\n" - "movq $0xfffffffffffff,%%rdx\n" - "andq %%rdx,%%rax\n" - "movq $0x1000003d10,%%rdx\n" - "mulq %%rdx\n" - "addq %%rax,%%r8\n" - "adcq %%rdx,%%r9\n" - /* d >>= 52 (%%rcx only) */ - "shrdq $52,%%r15,%%rcx\n" - /* r[2] = c & M */ - "movq %%r8,%%rax\n" - "movq $0xfffffffffffff,%%rdx\n" - "andq %%rdx,%%rax\n" - "movq %%rax,16(%%rdi)\n" - /* c >>= 52 */ - "shrdq $52,%%r9,%%r8\n" - "xorq %%r9,%%r9\n" - /* c += t3 */ - "addq %%r10,%%r8\n" - /* c += d * R */ - "movq %%rcx,%%rax\n" - "movq $0x1000003d10,%%rdx\n" - "mulq %%rdx\n" - "addq %%rax,%%r8\n" - "adcq %%rdx,%%r9\n" - /* r[3] = c & M */ - "movq %%r8,%%rax\n" - "movq $0xfffffffffffff,%%rdx\n" - "andq %%rdx,%%rax\n" - "movq %%rax,24(%%rdi)\n" - /* c >>= 52 (%%r8 only) */ - "shrdq $52,%%r9,%%r8\n" - /* c += t4 (%%r8 only) */ - "addq %%rsi,%%r8\n" - /* r[4] = c */ - "movq %%r8,32(%%rdi)\n" -: "+S"(a), "=m"(tmp1), "=m"(tmp2), "=m"(tmp3) -: "b"(b), "D"(r) -: "%rax", "%rcx", "%rdx", "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15", "cc", "memory" -); -} - -SECP256K1_INLINE static void secp256k1_fe_sqr_inner(uint64_t *r, const uint64_t *a) { -/** - * Registers: rdx:rax = multiplication accumulator - * r9:r8 = c - * rcx:rbx = d - * r10-r14 = a0-a4 - * r15 = M (0xfffffffffffff) - * rdi = r - * rsi = a / t? - */ - uint64_t tmp1, tmp2, tmp3; -__asm__ __volatile__( - "movq 0(%%rsi),%%r10\n" - "movq 8(%%rsi),%%r11\n" - "movq 16(%%rsi),%%r12\n" - "movq 24(%%rsi),%%r13\n" - "movq 32(%%rsi),%%r14\n" - "movq $0xfffffffffffff,%%r15\n" - - /* d = (a0*2) * a3 */ - "leaq (%%r10,%%r10,1),%%rax\n" - "mulq %%r13\n" - "movq %%rax,%%rbx\n" - "movq %%rdx,%%rcx\n" - /* d += (a1*2) * a2 */ - "leaq (%%r11,%%r11,1),%%rax\n" - "mulq %%r12\n" - "addq %%rax,%%rbx\n" - "adcq %%rdx,%%rcx\n" - /* c = a4 * a4 */ - "movq %%r14,%%rax\n" - "mulq %%r14\n" - "movq %%rax,%%r8\n" - "movq %%rdx,%%r9\n" - /* d += (c & M) * R */ - "andq %%r15,%%rax\n" - "movq $0x1000003d10,%%rdx\n" - "mulq %%rdx\n" - "addq %%rax,%%rbx\n" - "adcq %%rdx,%%rcx\n" - /* c >>= 52 (%%r8 only) */ - "shrdq $52,%%r9,%%r8\n" - /* t3 (tmp1) = d & M */ - "movq %%rbx,%%rsi\n" - "andq %%r15,%%rsi\n" - "movq %%rsi,%q1\n" - /* d >>= 52 */ - "shrdq $52,%%rcx,%%rbx\n" - "xorq %%rcx,%%rcx\n" - /* a4 *= 2 */ - "addq %%r14,%%r14\n" - /* d += a0 * a4 */ - "movq %%r10,%%rax\n" - "mulq %%r14\n" - "addq %%rax,%%rbx\n" - "adcq %%rdx,%%rcx\n" - /* d+= (a1*2) * a3 */ - "leaq (%%r11,%%r11,1),%%rax\n" - "mulq %%r13\n" - "addq %%rax,%%rbx\n" - "adcq %%rdx,%%rcx\n" - /* d += a2 * a2 */ - "movq %%r12,%%rax\n" - "mulq %%r12\n" - "addq %%rax,%%rbx\n" - "adcq %%rdx,%%rcx\n" - /* d += c * R */ - "movq %%r8,%%rax\n" - "movq $0x1000003d10,%%rdx\n" - "mulq %%rdx\n" - "addq %%rax,%%rbx\n" - "adcq %%rdx,%%rcx\n" - /* t4 = d & M (%%rsi) */ - "movq %%rbx,%%rsi\n" - "andq %%r15,%%rsi\n" - /* d >>= 52 */ - "shrdq $52,%%rcx,%%rbx\n" - "xorq %%rcx,%%rcx\n" - /* tx = t4 >> 48 (tmp3) */ - "movq %%rsi,%%rax\n" - "shrq $48,%%rax\n" - "movq %%rax,%q3\n" - /* t4 &= (M >> 4) (tmp2) */ - "movq $0xffffffffffff,%%rax\n" - "andq %%rax,%%rsi\n" - "movq %%rsi,%q2\n" - /* c = a0 * a0 */ - "movq %%r10,%%rax\n" - "mulq %%r10\n" - "movq %%rax,%%r8\n" - "movq %%rdx,%%r9\n" - /* d += a1 * a4 */ - "movq %%r11,%%rax\n" - "mulq %%r14\n" - "addq %%rax,%%rbx\n" - "adcq %%rdx,%%rcx\n" - /* d += (a2*2) * a3 */ - "leaq (%%r12,%%r12,1),%%rax\n" - "mulq %%r13\n" - "addq %%rax,%%rbx\n" - "adcq %%rdx,%%rcx\n" - /* u0 = d & M (%%rsi) */ - "movq %%rbx,%%rsi\n" - "andq %%r15,%%rsi\n" - /* d >>= 52 */ - "shrdq $52,%%rcx,%%rbx\n" - "xorq %%rcx,%%rcx\n" - /* u0 = (u0 << 4) | tx (%%rsi) */ - "shlq $4,%%rsi\n" - "movq %q3,%%rax\n" - "orq %%rax,%%rsi\n" - /* c += u0 * (R >> 4) */ - "movq $0x1000003d1,%%rax\n" - "mulq %%rsi\n" - "addq %%rax,%%r8\n" - "adcq %%rdx,%%r9\n" - /* r[0] = c & M */ - "movq %%r8,%%rax\n" - "andq %%r15,%%rax\n" - "movq %%rax,0(%%rdi)\n" - /* c >>= 52 */ - "shrdq $52,%%r9,%%r8\n" - "xorq %%r9,%%r9\n" - /* a0 *= 2 */ - "addq %%r10,%%r10\n" - /* c += a0 * a1 */ - "movq %%r10,%%rax\n" - "mulq %%r11\n" - "addq %%rax,%%r8\n" - "adcq %%rdx,%%r9\n" - /* d += a2 * a4 */ - "movq %%r12,%%rax\n" - "mulq %%r14\n" - "addq %%rax,%%rbx\n" - "adcq %%rdx,%%rcx\n" - /* d += a3 * a3 */ - "movq %%r13,%%rax\n" - "mulq %%r13\n" - "addq %%rax,%%rbx\n" - "adcq %%rdx,%%rcx\n" - /* c += (d & M) * R */ - "movq %%rbx,%%rax\n" - "andq %%r15,%%rax\n" - "movq $0x1000003d10,%%rdx\n" - "mulq %%rdx\n" - "addq %%rax,%%r8\n" - "adcq %%rdx,%%r9\n" - /* d >>= 52 */ - "shrdq $52,%%rcx,%%rbx\n" - "xorq %%rcx,%%rcx\n" - /* r[1] = c & M */ - "movq %%r8,%%rax\n" - "andq %%r15,%%rax\n" - "movq %%rax,8(%%rdi)\n" - /* c >>= 52 */ - "shrdq $52,%%r9,%%r8\n" - "xorq %%r9,%%r9\n" - /* c += a0 * a2 (last use of %%r10) */ - "movq %%r10,%%rax\n" - "mulq %%r12\n" - "addq %%rax,%%r8\n" - "adcq %%rdx,%%r9\n" - /* fetch t3 (%%r10, overwrites a0),t4 (%%rsi) */ - "movq %q2,%%rsi\n" - "movq %q1,%%r10\n" - /* c += a1 * a1 */ - "movq %%r11,%%rax\n" - "mulq %%r11\n" - "addq %%rax,%%r8\n" - "adcq %%rdx,%%r9\n" - /* d += a3 * a4 */ - "movq %%r13,%%rax\n" - "mulq %%r14\n" - "addq %%rax,%%rbx\n" - "adcq %%rdx,%%rcx\n" - /* c += (d & M) * R */ - "movq %%rbx,%%rax\n" - "andq %%r15,%%rax\n" - "movq $0x1000003d10,%%rdx\n" - "mulq %%rdx\n" - "addq %%rax,%%r8\n" - "adcq %%rdx,%%r9\n" - /* d >>= 52 (%%rbx only) */ - "shrdq $52,%%rcx,%%rbx\n" - /* r[2] = c & M */ - "movq %%r8,%%rax\n" - "andq %%r15,%%rax\n" - "movq %%rax,16(%%rdi)\n" - /* c >>= 52 */ - "shrdq $52,%%r9,%%r8\n" - "xorq %%r9,%%r9\n" - /* c += t3 */ - "addq %%r10,%%r8\n" - /* c += d * R */ - "movq %%rbx,%%rax\n" - "movq $0x1000003d10,%%rdx\n" - "mulq %%rdx\n" - "addq %%rax,%%r8\n" - "adcq %%rdx,%%r9\n" - /* r[3] = c & M */ - "movq %%r8,%%rax\n" - "andq %%r15,%%rax\n" - "movq %%rax,24(%%rdi)\n" - /* c >>= 52 (%%r8 only) */ - "shrdq $52,%%r9,%%r8\n" - /* c += t4 (%%r8 only) */ - "addq %%rsi,%%r8\n" - /* r[4] = c */ - "movq %%r8,32(%%rdi)\n" -: "+S"(a), "=m"(tmp1), "=m"(tmp2), "=m"(tmp3) -: "D"(r) -: "%rax", "%rbx", "%rcx", "%rdx", "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15", "cc", "memory" -); -} - -#endif /* SECP256K1_FIELD_INNER5X52_IMPL_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_impl.h deleted file mode 100644 index 957c61b01..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_impl.h +++ /dev/null @@ -1,496 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_FIELD_REPR_IMPL_H -#define SECP256K1_FIELD_REPR_IMPL_H - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#include "util.h" -#include "num.h" -#include "field.h" - -#if defined(USE_ASM_X86_64) -#include "field_5x52_asm_impl.h" -#else -#include "field_5x52_int128_impl.h" -#endif - -/** Implements arithmetic modulo FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F, - * represented as 5 uint64_t's in base 2^52. The values are allowed to contain >52 each. In particular, - * each FieldElem has a 'magnitude' associated with it. Internally, a magnitude M means each element - * is at most M*(2^53-1), except the most significant one, which is limited to M*(2^49-1). All operations - * accept any input with magnitude at most M, and have different rules for propagating magnitude to their - * output. - */ - -#ifdef VERIFY -static void secp256k1_fe_verify(const secp256k1_fe *a) { - const uint64_t *d = a->n; - int m = a->normalized ? 1 : 2 * a->magnitude, r = 1; - /* secp256k1 'p' value defined in "Standards for Efficient Cryptography" (SEC2) 2.7.1. */ - r &= (d[0] <= 0xFFFFFFFFFFFFFULL * m); - r &= (d[1] <= 0xFFFFFFFFFFFFFULL * m); - r &= (d[2] <= 0xFFFFFFFFFFFFFULL * m); - r &= (d[3] <= 0xFFFFFFFFFFFFFULL * m); - r &= (d[4] <= 0x0FFFFFFFFFFFFULL * m); - r &= (a->magnitude >= 0); - r &= (a->magnitude <= 2048); - if (a->normalized) { - r &= (a->magnitude <= 1); - if (r && (d[4] == 0x0FFFFFFFFFFFFULL) && ((d[3] & d[2] & d[1]) == 0xFFFFFFFFFFFFFULL)) { - r &= (d[0] < 0xFFFFEFFFFFC2FULL); - } - } - VERIFY_CHECK(r == 1); -} -#endif - -static void secp256k1_fe_normalize(secp256k1_fe *r) { - uint64_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4]; - - /* Reduce t4 at the start so there will be at most a single carry from the first pass */ - uint64_t m; - uint64_t x = t4 >> 48; t4 &= 0x0FFFFFFFFFFFFULL; - - /* The first pass ensures the magnitude is 1, ... */ - t0 += x * 0x1000003D1ULL; - t1 += (t0 >> 52); t0 &= 0xFFFFFFFFFFFFFULL; - t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; m = t1; - t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; m &= t2; - t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; m &= t3; - - /* ... except for a possible carry at bit 48 of t4 (i.e. bit 256 of the field element) */ - VERIFY_CHECK(t4 >> 49 == 0); - - /* At most a single final reduction is needed; check if the value is >= the field characteristic */ - x = (t4 >> 48) | ((t4 == 0x0FFFFFFFFFFFFULL) & (m == 0xFFFFFFFFFFFFFULL) - & (t0 >= 0xFFFFEFFFFFC2FULL)); - - /* Apply the final reduction (for constant-time behaviour, we do it always) */ - t0 += x * 0x1000003D1ULL; - t1 += (t0 >> 52); t0 &= 0xFFFFFFFFFFFFFULL; - t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; - t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; - t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; - - /* If t4 didn't carry to bit 48 already, then it should have after any final reduction */ - VERIFY_CHECK(t4 >> 48 == x); - - /* Mask off the possible multiple of 2^256 from the final reduction */ - t4 &= 0x0FFFFFFFFFFFFULL; - - r->n[0] = t0; r->n[1] = t1; r->n[2] = t2; r->n[3] = t3; r->n[4] = t4; - -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif -} - -static void secp256k1_fe_normalize_weak(secp256k1_fe *r) { - uint64_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4]; - - /* Reduce t4 at the start so there will be at most a single carry from the first pass */ - uint64_t x = t4 >> 48; t4 &= 0x0FFFFFFFFFFFFULL; - - /* The first pass ensures the magnitude is 1, ... */ - t0 += x * 0x1000003D1ULL; - t1 += (t0 >> 52); t0 &= 0xFFFFFFFFFFFFFULL; - t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; - t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; - t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; - - /* ... except for a possible carry at bit 48 of t4 (i.e. bit 256 of the field element) */ - VERIFY_CHECK(t4 >> 49 == 0); - - r->n[0] = t0; r->n[1] = t1; r->n[2] = t2; r->n[3] = t3; r->n[4] = t4; - -#ifdef VERIFY - r->magnitude = 1; - secp256k1_fe_verify(r); -#endif -} - -static void secp256k1_fe_normalize_var(secp256k1_fe *r) { - uint64_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4]; - - /* Reduce t4 at the start so there will be at most a single carry from the first pass */ - uint64_t m; - uint64_t x = t4 >> 48; t4 &= 0x0FFFFFFFFFFFFULL; - - /* The first pass ensures the magnitude is 1, ... */ - t0 += x * 0x1000003D1ULL; - t1 += (t0 >> 52); t0 &= 0xFFFFFFFFFFFFFULL; - t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; m = t1; - t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; m &= t2; - t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; m &= t3; - - /* ... except for a possible carry at bit 48 of t4 (i.e. bit 256 of the field element) */ - VERIFY_CHECK(t4 >> 49 == 0); - - /* At most a single final reduction is needed; check if the value is >= the field characteristic */ - x = (t4 >> 48) | ((t4 == 0x0FFFFFFFFFFFFULL) & (m == 0xFFFFFFFFFFFFFULL) - & (t0 >= 0xFFFFEFFFFFC2FULL)); - - if (x) { - t0 += 0x1000003D1ULL; - t1 += (t0 >> 52); t0 &= 0xFFFFFFFFFFFFFULL; - t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; - t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; - t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; - - /* If t4 didn't carry to bit 48 already, then it should have after any final reduction */ - VERIFY_CHECK(t4 >> 48 == x); - - /* Mask off the possible multiple of 2^256 from the final reduction */ - t4 &= 0x0FFFFFFFFFFFFULL; - } - - r->n[0] = t0; r->n[1] = t1; r->n[2] = t2; r->n[3] = t3; r->n[4] = t4; - -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif -} - -static int secp256k1_fe_normalizes_to_zero(secp256k1_fe *r) { - uint64_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4]; - - /* z0 tracks a possible raw value of 0, z1 tracks a possible raw value of P */ - uint64_t z0, z1; - - /* Reduce t4 at the start so there will be at most a single carry from the first pass */ - uint64_t x = t4 >> 48; t4 &= 0x0FFFFFFFFFFFFULL; - - /* The first pass ensures the magnitude is 1, ... */ - t0 += x * 0x1000003D1ULL; - t1 += (t0 >> 52); t0 &= 0xFFFFFFFFFFFFFULL; z0 = t0; z1 = t0 ^ 0x1000003D0ULL; - t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; z0 |= t1; z1 &= t1; - t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; z0 |= t2; z1 &= t2; - t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; z0 |= t3; z1 &= t3; - z0 |= t4; z1 &= t4 ^ 0xF000000000000ULL; - - /* ... except for a possible carry at bit 48 of t4 (i.e. bit 256 of the field element) */ - VERIFY_CHECK(t4 >> 49 == 0); - - return (z0 == 0) | (z1 == 0xFFFFFFFFFFFFFULL); -} - -static int secp256k1_fe_normalizes_to_zero_var(secp256k1_fe *r) { - uint64_t t0, t1, t2, t3, t4; - uint64_t z0, z1; - uint64_t x; - - t0 = r->n[0]; - t4 = r->n[4]; - - /* Reduce t4 at the start so there will be at most a single carry from the first pass */ - x = t4 >> 48; - - /* The first pass ensures the magnitude is 1, ... */ - t0 += x * 0x1000003D1ULL; - - /* z0 tracks a possible raw value of 0, z1 tracks a possible raw value of P */ - z0 = t0 & 0xFFFFFFFFFFFFFULL; - z1 = z0 ^ 0x1000003D0ULL; - - /* Fast return path should catch the majority of cases */ - if ((z0 != 0ULL) & (z1 != 0xFFFFFFFFFFFFFULL)) { - return 0; - } - - t1 = r->n[1]; - t2 = r->n[2]; - t3 = r->n[3]; - - t4 &= 0x0FFFFFFFFFFFFULL; - - t1 += (t0 >> 52); - t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; z0 |= t1; z1 &= t1; - t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; z0 |= t2; z1 &= t2; - t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; z0 |= t3; z1 &= t3; - z0 |= t4; z1 &= t4 ^ 0xF000000000000ULL; - - /* ... except for a possible carry at bit 48 of t4 (i.e. bit 256 of the field element) */ - VERIFY_CHECK(t4 >> 49 == 0); - - return (z0 == 0) | (z1 == 0xFFFFFFFFFFFFFULL); -} - -SECP256K1_INLINE static void secp256k1_fe_set_int(secp256k1_fe *r, int a) { - r->n[0] = a; - r->n[1] = r->n[2] = r->n[3] = r->n[4] = 0; -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static int secp256k1_fe_is_zero(const secp256k1_fe *a) { - const uint64_t *t = a->n; -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - secp256k1_fe_verify(a); -#endif - return (t[0] | t[1] | t[2] | t[3] | t[4]) == 0; -} - -SECP256K1_INLINE static int secp256k1_fe_is_odd(const secp256k1_fe *a) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - secp256k1_fe_verify(a); -#endif - return a->n[0] & 1; -} - -SECP256K1_INLINE static void secp256k1_fe_clear(secp256k1_fe *a) { - int i; -#ifdef VERIFY - a->magnitude = 0; - a->normalized = 1; -#endif - for (i=0; i<5; i++) { - a->n[i] = 0; - } -} - -static int secp256k1_fe_cmp_var(const secp256k1_fe *a, const secp256k1_fe *b) { - int i; -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - VERIFY_CHECK(b->normalized); - secp256k1_fe_verify(a); - secp256k1_fe_verify(b); -#endif - for (i = 4; i >= 0; i--) { - if (a->n[i] > b->n[i]) { - return 1; - } - if (a->n[i] < b->n[i]) { - return -1; - } - } - return 0; -} - -static int secp256k1_fe_set_b32(secp256k1_fe *r, const unsigned char *a) { - r->n[0] = (uint64_t)a[31] - | ((uint64_t)a[30] << 8) - | ((uint64_t)a[29] << 16) - | ((uint64_t)a[28] << 24) - | ((uint64_t)a[27] << 32) - | ((uint64_t)a[26] << 40) - | ((uint64_t)(a[25] & 0xF) << 48); - r->n[1] = (uint64_t)((a[25] >> 4) & 0xF) - | ((uint64_t)a[24] << 4) - | ((uint64_t)a[23] << 12) - | ((uint64_t)a[22] << 20) - | ((uint64_t)a[21] << 28) - | ((uint64_t)a[20] << 36) - | ((uint64_t)a[19] << 44); - r->n[2] = (uint64_t)a[18] - | ((uint64_t)a[17] << 8) - | ((uint64_t)a[16] << 16) - | ((uint64_t)a[15] << 24) - | ((uint64_t)a[14] << 32) - | ((uint64_t)a[13] << 40) - | ((uint64_t)(a[12] & 0xF) << 48); - r->n[3] = (uint64_t)((a[12] >> 4) & 0xF) - | ((uint64_t)a[11] << 4) - | ((uint64_t)a[10] << 12) - | ((uint64_t)a[9] << 20) - | ((uint64_t)a[8] << 28) - | ((uint64_t)a[7] << 36) - | ((uint64_t)a[6] << 44); - r->n[4] = (uint64_t)a[5] - | ((uint64_t)a[4] << 8) - | ((uint64_t)a[3] << 16) - | ((uint64_t)a[2] << 24) - | ((uint64_t)a[1] << 32) - | ((uint64_t)a[0] << 40); - if (r->n[4] == 0x0FFFFFFFFFFFFULL && (r->n[3] & r->n[2] & r->n[1]) == 0xFFFFFFFFFFFFFULL && r->n[0] >= 0xFFFFEFFFFFC2FULL) { - return 0; - } -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif - return 1; -} - -/** Convert a field element to a 32-byte big endian value. Requires the input to be normalized */ -static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe *a) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - secp256k1_fe_verify(a); -#endif - r[0] = (a->n[4] >> 40) & 0xFF; - r[1] = (a->n[4] >> 32) & 0xFF; - r[2] = (a->n[4] >> 24) & 0xFF; - r[3] = (a->n[4] >> 16) & 0xFF; - r[4] = (a->n[4] >> 8) & 0xFF; - r[5] = a->n[4] & 0xFF; - r[6] = (a->n[3] >> 44) & 0xFF; - r[7] = (a->n[3] >> 36) & 0xFF; - r[8] = (a->n[3] >> 28) & 0xFF; - r[9] = (a->n[3] >> 20) & 0xFF; - r[10] = (a->n[3] >> 12) & 0xFF; - r[11] = (a->n[3] >> 4) & 0xFF; - r[12] = ((a->n[2] >> 48) & 0xF) | ((a->n[3] & 0xF) << 4); - r[13] = (a->n[2] >> 40) & 0xFF; - r[14] = (a->n[2] >> 32) & 0xFF; - r[15] = (a->n[2] >> 24) & 0xFF; - r[16] = (a->n[2] >> 16) & 0xFF; - r[17] = (a->n[2] >> 8) & 0xFF; - r[18] = a->n[2] & 0xFF; - r[19] = (a->n[1] >> 44) & 0xFF; - r[20] = (a->n[1] >> 36) & 0xFF; - r[21] = (a->n[1] >> 28) & 0xFF; - r[22] = (a->n[1] >> 20) & 0xFF; - r[23] = (a->n[1] >> 12) & 0xFF; - r[24] = (a->n[1] >> 4) & 0xFF; - r[25] = ((a->n[0] >> 48) & 0xF) | ((a->n[1] & 0xF) << 4); - r[26] = (a->n[0] >> 40) & 0xFF; - r[27] = (a->n[0] >> 32) & 0xFF; - r[28] = (a->n[0] >> 24) & 0xFF; - r[29] = (a->n[0] >> 16) & 0xFF; - r[30] = (a->n[0] >> 8) & 0xFF; - r[31] = a->n[0] & 0xFF; -} - -SECP256K1_INLINE static void secp256k1_fe_negate(secp256k1_fe *r, const secp256k1_fe *a, int m) { -#ifdef VERIFY - VERIFY_CHECK(a->magnitude <= m); - secp256k1_fe_verify(a); -#endif - r->n[0] = 0xFFFFEFFFFFC2FULL * 2 * (m + 1) - a->n[0]; - r->n[1] = 0xFFFFFFFFFFFFFULL * 2 * (m + 1) - a->n[1]; - r->n[2] = 0xFFFFFFFFFFFFFULL * 2 * (m + 1) - a->n[2]; - r->n[3] = 0xFFFFFFFFFFFFFULL * 2 * (m + 1) - a->n[3]; - r->n[4] = 0x0FFFFFFFFFFFFULL * 2 * (m + 1) - a->n[4]; -#ifdef VERIFY - r->magnitude = m + 1; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static void secp256k1_fe_mul_int(secp256k1_fe *r, int a) { - r->n[0] *= a; - r->n[1] *= a; - r->n[2] *= a; - r->n[3] *= a; - r->n[4] *= a; -#ifdef VERIFY - r->magnitude *= a; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static void secp256k1_fe_add(secp256k1_fe *r, const secp256k1_fe *a) { -#ifdef VERIFY - secp256k1_fe_verify(a); -#endif - r->n[0] += a->n[0]; - r->n[1] += a->n[1]; - r->n[2] += a->n[2]; - r->n[3] += a->n[3]; - r->n[4] += a->n[4]; -#ifdef VERIFY - r->magnitude += a->magnitude; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -static void secp256k1_fe_mul(secp256k1_fe *r, const secp256k1_fe *a, const secp256k1_fe * SECP256K1_RESTRICT b) { -#ifdef VERIFY - VERIFY_CHECK(a->magnitude <= 8); - VERIFY_CHECK(b->magnitude <= 8); - secp256k1_fe_verify(a); - secp256k1_fe_verify(b); - VERIFY_CHECK(r != b); -#endif - secp256k1_fe_mul_inner(r->n, a->n, b->n); -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -static void secp256k1_fe_sqr(secp256k1_fe *r, const secp256k1_fe *a) { -#ifdef VERIFY - VERIFY_CHECK(a->magnitude <= 8); - secp256k1_fe_verify(a); -#endif - secp256k1_fe_sqr_inner(r->n, a->n); -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -static SECP256K1_INLINE void secp256k1_fe_cmov(secp256k1_fe *r, const secp256k1_fe *a, int flag) { - uint64_t mask0, mask1; - mask0 = flag + ~((uint64_t)0); - mask1 = ~mask0; - r->n[0] = (r->n[0] & mask0) | (a->n[0] & mask1); - r->n[1] = (r->n[1] & mask0) | (a->n[1] & mask1); - r->n[2] = (r->n[2] & mask0) | (a->n[2] & mask1); - r->n[3] = (r->n[3] & mask0) | (a->n[3] & mask1); - r->n[4] = (r->n[4] & mask0) | (a->n[4] & mask1); -#ifdef VERIFY - if (a->magnitude > r->magnitude) { - r->magnitude = a->magnitude; - } - r->normalized &= a->normalized; -#endif -} - -static SECP256K1_INLINE void secp256k1_fe_storage_cmov(secp256k1_fe_storage *r, const secp256k1_fe_storage *a, int flag) { - uint64_t mask0, mask1; - mask0 = flag + ~((uint64_t)0); - mask1 = ~mask0; - r->n[0] = (r->n[0] & mask0) | (a->n[0] & mask1); - r->n[1] = (r->n[1] & mask0) | (a->n[1] & mask1); - r->n[2] = (r->n[2] & mask0) | (a->n[2] & mask1); - r->n[3] = (r->n[3] & mask0) | (a->n[3] & mask1); -} - -static void secp256k1_fe_to_storage(secp256k1_fe_storage *r, const secp256k1_fe *a) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); -#endif - r->n[0] = a->n[0] | a->n[1] << 52; - r->n[1] = a->n[1] >> 12 | a->n[2] << 40; - r->n[2] = a->n[2] >> 24 | a->n[3] << 28; - r->n[3] = a->n[3] >> 36 | a->n[4] << 16; -} - -static SECP256K1_INLINE void secp256k1_fe_from_storage(secp256k1_fe *r, const secp256k1_fe_storage *a) { - r->n[0] = a->n[0] & 0xFFFFFFFFFFFFFULL; - r->n[1] = a->n[0] >> 52 | ((a->n[1] << 12) & 0xFFFFFFFFFFFFFULL); - r->n[2] = a->n[1] >> 40 | ((a->n[2] << 24) & 0xFFFFFFFFFFFFFULL); - r->n[3] = a->n[2] >> 28 | ((a->n[3] << 36) & 0xFFFFFFFFFFFFFULL); - r->n[4] = a->n[3] >> 16; -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; -#endif -} - -#endif /* SECP256K1_FIELD_REPR_IMPL_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_int128_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_int128_impl.h deleted file mode 100644 index 95a0d1791..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/field_5x52_int128_impl.h +++ /dev/null @@ -1,277 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_FIELD_INNER5X52_IMPL_H -#define SECP256K1_FIELD_INNER5X52_IMPL_H - -#include - -#ifdef VERIFY -#define VERIFY_BITS(x, n) VERIFY_CHECK(((x) >> (n)) == 0) -#else -#define VERIFY_BITS(x, n) do { } while(0) -#endif - -SECP256K1_INLINE static void secp256k1_fe_mul_inner(uint64_t *r, const uint64_t *a, const uint64_t * SECP256K1_RESTRICT b) { - uint128_t c, d; - uint64_t t3, t4, tx, u0; - uint64_t a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4]; - const uint64_t M = 0xFFFFFFFFFFFFFULL, R = 0x1000003D10ULL; - - VERIFY_BITS(a[0], 56); - VERIFY_BITS(a[1], 56); - VERIFY_BITS(a[2], 56); - VERIFY_BITS(a[3], 56); - VERIFY_BITS(a[4], 52); - VERIFY_BITS(b[0], 56); - VERIFY_BITS(b[1], 56); - VERIFY_BITS(b[2], 56); - VERIFY_BITS(b[3], 56); - VERIFY_BITS(b[4], 52); - VERIFY_CHECK(r != b); - - /* [... a b c] is a shorthand for ... + a<<104 + b<<52 + c<<0 mod n. - * px is a shorthand for sum(a[i]*b[x-i], i=0..x). - * Note that [x 0 0 0 0 0] = [x*R]. - */ - - d = (uint128_t)a0 * b[3] - + (uint128_t)a1 * b[2] - + (uint128_t)a2 * b[1] - + (uint128_t)a3 * b[0]; - VERIFY_BITS(d, 114); - /* [d 0 0 0] = [p3 0 0 0] */ - c = (uint128_t)a4 * b[4]; - VERIFY_BITS(c, 112); - /* [c 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ - d += (c & M) * R; c >>= 52; - VERIFY_BITS(d, 115); - VERIFY_BITS(c, 60); - /* [c 0 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ - t3 = d & M; d >>= 52; - VERIFY_BITS(t3, 52); - VERIFY_BITS(d, 63); - /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ - - d += (uint128_t)a0 * b[4] - + (uint128_t)a1 * b[3] - + (uint128_t)a2 * b[2] - + (uint128_t)a3 * b[1] - + (uint128_t)a4 * b[0]; - VERIFY_BITS(d, 115); - /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - d += c * R; - VERIFY_BITS(d, 116); - /* [d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - t4 = d & M; d >>= 52; - VERIFY_BITS(t4, 52); - VERIFY_BITS(d, 64); - /* [d t4 t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - tx = (t4 >> 48); t4 &= (M >> 4); - VERIFY_BITS(tx, 4); - VERIFY_BITS(t4, 48); - /* [d t4+(tx<<48) t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - - c = (uint128_t)a0 * b[0]; - VERIFY_BITS(c, 112); - /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 0 p4 p3 0 0 p0] */ - d += (uint128_t)a1 * b[4] - + (uint128_t)a2 * b[3] - + (uint128_t)a3 * b[2] - + (uint128_t)a4 * b[1]; - VERIFY_BITS(d, 115); - /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - u0 = d & M; d >>= 52; - VERIFY_BITS(u0, 52); - VERIFY_BITS(d, 63); - /* [d u0 t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - /* [d 0 t4+(tx<<48)+(u0<<52) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - u0 = (u0 << 4) | tx; - VERIFY_BITS(u0, 56); - /* [d 0 t4+(u0<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - c += (uint128_t)u0 * (R >> 4); - VERIFY_BITS(c, 115); - /* [d 0 t4 t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - r[0] = c & M; c >>= 52; - VERIFY_BITS(r[0], 52); - VERIFY_BITS(c, 61); - /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 0 p0] */ - - c += (uint128_t)a0 * b[1] - + (uint128_t)a1 * b[0]; - VERIFY_BITS(c, 114); - /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 p1 p0] */ - d += (uint128_t)a2 * b[4] - + (uint128_t)a3 * b[3] - + (uint128_t)a4 * b[2]; - VERIFY_BITS(d, 114); - /* [d 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ - c += (d & M) * R; d >>= 52; - VERIFY_BITS(c, 115); - VERIFY_BITS(d, 62); - /* [d 0 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ - r[1] = c & M; c >>= 52; - VERIFY_BITS(r[1], 52); - VERIFY_BITS(c, 63); - /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ - - c += (uint128_t)a0 * b[2] - + (uint128_t)a1 * b[1] - + (uint128_t)a2 * b[0]; - VERIFY_BITS(c, 114); - /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint128_t)a3 * b[4] - + (uint128_t)a4 * b[3]; - VERIFY_BITS(d, 114); - /* [d 0 0 t4 t3 c t1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += (d & M) * R; d >>= 52; - VERIFY_BITS(c, 115); - VERIFY_BITS(d, 62); - /* [d 0 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - /* [d 0 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[2] = c & M; c >>= 52; - VERIFY_BITS(r[2], 52); - VERIFY_BITS(c, 63); - /* [d 0 0 0 t4 t3+c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += d * R + t3; - VERIFY_BITS(c, 100); - /* [t4 c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[3] = c & M; c >>= 52; - VERIFY_BITS(r[3], 52); - VERIFY_BITS(c, 48); - /* [t4+c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += t4; - VERIFY_BITS(c, 49); - /* [c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[4] = c; - VERIFY_BITS(r[4], 49); - /* [r4 r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ -} - -SECP256K1_INLINE static void secp256k1_fe_sqr_inner(uint64_t *r, const uint64_t *a) { - uint128_t c, d; - uint64_t a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4]; - int64_t t3, t4, tx, u0; - const uint64_t M = 0xFFFFFFFFFFFFFULL, R = 0x1000003D10ULL; - - VERIFY_BITS(a[0], 56); - VERIFY_BITS(a[1], 56); - VERIFY_BITS(a[2], 56); - VERIFY_BITS(a[3], 56); - VERIFY_BITS(a[4], 52); - - /** [... a b c] is a shorthand for ... + a<<104 + b<<52 + c<<0 mod n. - * px is a shorthand for sum(a[i]*a[x-i], i=0..x). - * Note that [x 0 0 0 0 0] = [x*R]. - */ - - d = (uint128_t)(a0*2) * a3 - + (uint128_t)(a1*2) * a2; - VERIFY_BITS(d, 114); - /* [d 0 0 0] = [p3 0 0 0] */ - c = (uint128_t)a4 * a4; - VERIFY_BITS(c, 112); - /* [c 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ - d += (c & M) * R; c >>= 52; - VERIFY_BITS(d, 115); - VERIFY_BITS(c, 60); - /* [c 0 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ - t3 = d & M; d >>= 52; - VERIFY_BITS(t3, 52); - VERIFY_BITS(d, 63); - /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ - - a4 *= 2; - d += (uint128_t)a0 * a4 - + (uint128_t)(a1*2) * a3 - + (uint128_t)a2 * a2; - VERIFY_BITS(d, 115); - /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - d += c * R; - VERIFY_BITS(d, 116); - /* [d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - t4 = d & M; d >>= 52; - VERIFY_BITS(t4, 52); - VERIFY_BITS(d, 64); - /* [d t4 t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - tx = (t4 >> 48); t4 &= (M >> 4); - VERIFY_BITS(tx, 4); - VERIFY_BITS(t4, 48); - /* [d t4+(tx<<48) t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - - c = (uint128_t)a0 * a0; - VERIFY_BITS(c, 112); - /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 0 p4 p3 0 0 p0] */ - d += (uint128_t)a1 * a4 - + (uint128_t)(a2*2) * a3; - VERIFY_BITS(d, 114); - /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - u0 = d & M; d >>= 52; - VERIFY_BITS(u0, 52); - VERIFY_BITS(d, 62); - /* [d u0 t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - /* [d 0 t4+(tx<<48)+(u0<<52) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - u0 = (u0 << 4) | tx; - VERIFY_BITS(u0, 56); - /* [d 0 t4+(u0<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - c += (uint128_t)u0 * (R >> 4); - VERIFY_BITS(c, 113); - /* [d 0 t4 t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - r[0] = c & M; c >>= 52; - VERIFY_BITS(r[0], 52); - VERIFY_BITS(c, 61); - /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 0 p0] */ - - a0 *= 2; - c += (uint128_t)a0 * a1; - VERIFY_BITS(c, 114); - /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 p1 p0] */ - d += (uint128_t)a2 * a4 - + (uint128_t)a3 * a3; - VERIFY_BITS(d, 114); - /* [d 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ - c += (d & M) * R; d >>= 52; - VERIFY_BITS(c, 115); - VERIFY_BITS(d, 62); - /* [d 0 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ - r[1] = c & M; c >>= 52; - VERIFY_BITS(r[1], 52); - VERIFY_BITS(c, 63); - /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ - - c += (uint128_t)a0 * a2 - + (uint128_t)a1 * a1; - VERIFY_BITS(c, 114); - /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint128_t)a3 * a4; - VERIFY_BITS(d, 114); - /* [d 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += (d & M) * R; d >>= 52; - VERIFY_BITS(c, 115); - VERIFY_BITS(d, 62); - /* [d 0 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[2] = c & M; c >>= 52; - VERIFY_BITS(r[2], 52); - VERIFY_BITS(c, 63); - /* [d 0 0 0 t4 t3+c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - c += d * R + t3; - VERIFY_BITS(c, 100); - /* [t4 c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[3] = c & M; c >>= 52; - VERIFY_BITS(r[3], 52); - VERIFY_BITS(c, 48); - /* [t4+c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += t4; - VERIFY_BITS(c, 49); - /* [c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[4] = c; - VERIFY_BITS(r[4], 49); - /* [r4 r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ -} - -#endif /* SECP256K1_FIELD_INNER5X52_IMPL_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/field_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/field_impl.h deleted file mode 100644 index 20428648a..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/field_impl.h +++ /dev/null @@ -1,315 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_FIELD_IMPL_H -#define SECP256K1_FIELD_IMPL_H - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#include "util.h" - -#if defined(USE_FIELD_10X26) -#include "field_10x26_impl.h" -#elif defined(USE_FIELD_5X52) -#include "field_5x52_impl.h" -#else -#error "Please select field implementation" -#endif - -SECP256K1_INLINE static int secp256k1_fe_equal(const secp256k1_fe *a, const secp256k1_fe *b) { - secp256k1_fe na; - secp256k1_fe_negate(&na, a, 1); - secp256k1_fe_add(&na, b); - return secp256k1_fe_normalizes_to_zero(&na); -} - -SECP256K1_INLINE static int secp256k1_fe_equal_var(const secp256k1_fe *a, const secp256k1_fe *b) { - secp256k1_fe na; - secp256k1_fe_negate(&na, a, 1); - secp256k1_fe_add(&na, b); - return secp256k1_fe_normalizes_to_zero_var(&na); -} - -static int secp256k1_fe_sqrt(secp256k1_fe *r, const secp256k1_fe *a) { - /** Given that p is congruent to 3 mod 4, we can compute the square root of - * a mod p as the (p+1)/4'th power of a. - * - * As (p+1)/4 is an even number, it will have the same result for a and for - * (-a). Only one of these two numbers actually has a square root however, - * so we test at the end by squaring and comparing to the input. - * Also because (p+1)/4 is an even number, the computed square root is - * itself always a square (a ** ((p+1)/4) is the square of a ** ((p+1)/8)). - */ - secp256k1_fe x2, x3, x6, x9, x11, x22, x44, x88, x176, x220, x223, t1; - int j; - - /** The binary representation of (p + 1)/4 has 3 blocks of 1s, with lengths in - * { 2, 22, 223 }. Use an addition chain to calculate 2^n - 1 for each block: - * 1, [2], 3, 6, 9, 11, [22], 44, 88, 176, 220, [223] - */ - - secp256k1_fe_sqr(&x2, a); - secp256k1_fe_mul(&x2, &x2, a); - - secp256k1_fe_sqr(&x3, &x2); - secp256k1_fe_mul(&x3, &x3, a); - - x6 = x3; - for (j=0; j<3; j++) { - secp256k1_fe_sqr(&x6, &x6); - } - secp256k1_fe_mul(&x6, &x6, &x3); - - x9 = x6; - for (j=0; j<3; j++) { - secp256k1_fe_sqr(&x9, &x9); - } - secp256k1_fe_mul(&x9, &x9, &x3); - - x11 = x9; - for (j=0; j<2; j++) { - secp256k1_fe_sqr(&x11, &x11); - } - secp256k1_fe_mul(&x11, &x11, &x2); - - x22 = x11; - for (j=0; j<11; j++) { - secp256k1_fe_sqr(&x22, &x22); - } - secp256k1_fe_mul(&x22, &x22, &x11); - - x44 = x22; - for (j=0; j<22; j++) { - secp256k1_fe_sqr(&x44, &x44); - } - secp256k1_fe_mul(&x44, &x44, &x22); - - x88 = x44; - for (j=0; j<44; j++) { - secp256k1_fe_sqr(&x88, &x88); - } - secp256k1_fe_mul(&x88, &x88, &x44); - - x176 = x88; - for (j=0; j<88; j++) { - secp256k1_fe_sqr(&x176, &x176); - } - secp256k1_fe_mul(&x176, &x176, &x88); - - x220 = x176; - for (j=0; j<44; j++) { - secp256k1_fe_sqr(&x220, &x220); - } - secp256k1_fe_mul(&x220, &x220, &x44); - - x223 = x220; - for (j=0; j<3; j++) { - secp256k1_fe_sqr(&x223, &x223); - } - secp256k1_fe_mul(&x223, &x223, &x3); - - /* The final result is then assembled using a sliding window over the blocks. */ - - t1 = x223; - for (j=0; j<23; j++) { - secp256k1_fe_sqr(&t1, &t1); - } - secp256k1_fe_mul(&t1, &t1, &x22); - for (j=0; j<6; j++) { - secp256k1_fe_sqr(&t1, &t1); - } - secp256k1_fe_mul(&t1, &t1, &x2); - secp256k1_fe_sqr(&t1, &t1); - secp256k1_fe_sqr(r, &t1); - - /* Check that a square root was actually calculated */ - - secp256k1_fe_sqr(&t1, r); - return secp256k1_fe_equal(&t1, a); -} - -static void secp256k1_fe_inv(secp256k1_fe *r, const secp256k1_fe *a) { - secp256k1_fe x2, x3, x6, x9, x11, x22, x44, x88, x176, x220, x223, t1; - int j; - - /** The binary representation of (p - 2) has 5 blocks of 1s, with lengths in - * { 1, 2, 22, 223 }. Use an addition chain to calculate 2^n - 1 for each block: - * [1], [2], 3, 6, 9, 11, [22], 44, 88, 176, 220, [223] - */ - - secp256k1_fe_sqr(&x2, a); - secp256k1_fe_mul(&x2, &x2, a); - - secp256k1_fe_sqr(&x3, &x2); - secp256k1_fe_mul(&x3, &x3, a); - - x6 = x3; - for (j=0; j<3; j++) { - secp256k1_fe_sqr(&x6, &x6); - } - secp256k1_fe_mul(&x6, &x6, &x3); - - x9 = x6; - for (j=0; j<3; j++) { - secp256k1_fe_sqr(&x9, &x9); - } - secp256k1_fe_mul(&x9, &x9, &x3); - - x11 = x9; - for (j=0; j<2; j++) { - secp256k1_fe_sqr(&x11, &x11); - } - secp256k1_fe_mul(&x11, &x11, &x2); - - x22 = x11; - for (j=0; j<11; j++) { - secp256k1_fe_sqr(&x22, &x22); - } - secp256k1_fe_mul(&x22, &x22, &x11); - - x44 = x22; - for (j=0; j<22; j++) { - secp256k1_fe_sqr(&x44, &x44); - } - secp256k1_fe_mul(&x44, &x44, &x22); - - x88 = x44; - for (j=0; j<44; j++) { - secp256k1_fe_sqr(&x88, &x88); - } - secp256k1_fe_mul(&x88, &x88, &x44); - - x176 = x88; - for (j=0; j<88; j++) { - secp256k1_fe_sqr(&x176, &x176); - } - secp256k1_fe_mul(&x176, &x176, &x88); - - x220 = x176; - for (j=0; j<44; j++) { - secp256k1_fe_sqr(&x220, &x220); - } - secp256k1_fe_mul(&x220, &x220, &x44); - - x223 = x220; - for (j=0; j<3; j++) { - secp256k1_fe_sqr(&x223, &x223); - } - secp256k1_fe_mul(&x223, &x223, &x3); - - /* The final result is then assembled using a sliding window over the blocks. */ - - t1 = x223; - for (j=0; j<23; j++) { - secp256k1_fe_sqr(&t1, &t1); - } - secp256k1_fe_mul(&t1, &t1, &x22); - for (j=0; j<5; j++) { - secp256k1_fe_sqr(&t1, &t1); - } - secp256k1_fe_mul(&t1, &t1, a); - for (j=0; j<3; j++) { - secp256k1_fe_sqr(&t1, &t1); - } - secp256k1_fe_mul(&t1, &t1, &x2); - for (j=0; j<2; j++) { - secp256k1_fe_sqr(&t1, &t1); - } - secp256k1_fe_mul(r, a, &t1); -} - -static void secp256k1_fe_inv_var(secp256k1_fe *r, const secp256k1_fe *a) { -#if defined(USE_FIELD_INV_BUILTIN) - secp256k1_fe_inv(r, a); -#elif defined(USE_FIELD_INV_NUM) - secp256k1_num n, m; - static const secp256k1_fe negone = SECP256K1_FE_CONST( - 0xFFFFFFFFUL, 0xFFFFFFFFUL, 0xFFFFFFFFUL, 0xFFFFFFFFUL, - 0xFFFFFFFFUL, 0xFFFFFFFFUL, 0xFFFFFFFEUL, 0xFFFFFC2EUL - ); - /* secp256k1 field prime, value p defined in "Standards for Efficient Cryptography" (SEC2) 2.7.1. */ - static const unsigned char prime[32] = { - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFC,0x2F - }; - unsigned char b[32]; - int res; - secp256k1_fe c = *a; - secp256k1_fe_normalize_var(&c); - secp256k1_fe_get_b32(b, &c); - secp256k1_num_set_bin(&n, b, 32); - secp256k1_num_set_bin(&m, prime, 32); - secp256k1_num_mod_inverse(&n, &n, &m); - secp256k1_num_get_bin(b, 32, &n); - res = secp256k1_fe_set_b32(r, b); - (void)res; - VERIFY_CHECK(res); - /* Verify the result is the (unique) valid inverse using non-GMP code. */ - secp256k1_fe_mul(&c, &c, r); - secp256k1_fe_add(&c, &negone); - CHECK(secp256k1_fe_normalizes_to_zero_var(&c)); -#else -#error "Please select field inverse implementation" -#endif -} - -static void secp256k1_fe_inv_all_var(secp256k1_fe *r, const secp256k1_fe *a, size_t len) { - secp256k1_fe u; - size_t i; - if (len < 1) { - return; - } - - VERIFY_CHECK((r + len <= a) || (a + len <= r)); - - r[0] = a[0]; - - i = 0; - while (++i < len) { - secp256k1_fe_mul(&r[i], &r[i - 1], &a[i]); - } - - secp256k1_fe_inv_var(&u, &r[--i]); - - while (i > 0) { - size_t j = i--; - secp256k1_fe_mul(&r[j], &r[i], &u); - secp256k1_fe_mul(&u, &u, &a[j]); - } - - r[0] = u; -} - -static int secp256k1_fe_is_quad_var(const secp256k1_fe *a) { -#ifndef USE_NUM_NONE - unsigned char b[32]; - secp256k1_num n; - secp256k1_num m; - /* secp256k1 field prime, value p defined in "Standards for Efficient Cryptography" (SEC2) 2.7.1. */ - static const unsigned char prime[32] = { - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFC,0x2F - }; - - secp256k1_fe c = *a; - secp256k1_fe_normalize_var(&c); - secp256k1_fe_get_b32(b, &c); - secp256k1_num_set_bin(&n, b, 32); - secp256k1_num_set_bin(&m, prime, 32); - return secp256k1_num_jacobi(&n, &m) >= 0; -#else - secp256k1_fe r; - return secp256k1_fe_sqrt(&r, a); -#endif -} - -#endif /* SECP256K1_FIELD_IMPL_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/group.h b/Pods/secp256k1_ios/secp256k1_ios/src/group.h deleted file mode 100644 index 3947ea2dd..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/group.h +++ /dev/null @@ -1,147 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_GROUP_H -#define SECP256K1_GROUP_H - -#include "num.h" -#include "field.h" - -/** A group element of the secp256k1 curve, in affine coordinates. */ -typedef struct { - secp256k1_fe x; - secp256k1_fe y; - int infinity; /* whether this represents the point at infinity */ -} secp256k1_ge; - -#define SECP256K1_GE_CONST(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {SECP256K1_FE_CONST((a),(b),(c),(d),(e),(f),(g),(h)), SECP256K1_FE_CONST((i),(j),(k),(l),(m),(n),(o),(p)), 0} -#define SECP256K1_GE_CONST_INFINITY {SECP256K1_FE_CONST(0, 0, 0, 0, 0, 0, 0, 0), SECP256K1_FE_CONST(0, 0, 0, 0, 0, 0, 0, 0), 1} - -/** A group element of the secp256k1 curve, in jacobian coordinates. */ -typedef struct { - secp256k1_fe x; /* actual X: x/z^2 */ - secp256k1_fe y; /* actual Y: y/z^3 */ - secp256k1_fe z; - int infinity; /* whether this represents the point at infinity */ -} secp256k1_gej; - -#define SECP256K1_GEJ_CONST(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {SECP256K1_FE_CONST((a),(b),(c),(d),(e),(f),(g),(h)), SECP256K1_FE_CONST((i),(j),(k),(l),(m),(n),(o),(p)), SECP256K1_FE_CONST(0, 0, 0, 0, 0, 0, 0, 1), 0} -#define SECP256K1_GEJ_CONST_INFINITY {SECP256K1_FE_CONST(0, 0, 0, 0, 0, 0, 0, 0), SECP256K1_FE_CONST(0, 0, 0, 0, 0, 0, 0, 0), SECP256K1_FE_CONST(0, 0, 0, 0, 0, 0, 0, 0), 1} - -typedef struct { - secp256k1_fe_storage x; - secp256k1_fe_storage y; -} secp256k1_ge_storage; - -#define SECP256K1_GE_STORAGE_CONST(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {SECP256K1_FE_STORAGE_CONST((a),(b),(c),(d),(e),(f),(g),(h)), SECP256K1_FE_STORAGE_CONST((i),(j),(k),(l),(m),(n),(o),(p))} - -#define SECP256K1_GE_STORAGE_CONST_GET(t) SECP256K1_FE_STORAGE_CONST_GET(t.x), SECP256K1_FE_STORAGE_CONST_GET(t.y) - -/** Set a group element equal to the point with given X and Y coordinates */ -static void secp256k1_ge_set_xy(secp256k1_ge *r, const secp256k1_fe *x, const secp256k1_fe *y); - -/** Set a group element (affine) equal to the point with the given X coordinate - * and a Y coordinate that is a quadratic residue modulo p. The return value - * is true iff a coordinate with the given X coordinate exists. - */ -static int secp256k1_ge_set_xquad(secp256k1_ge *r, const secp256k1_fe *x); - -/** Set a group element (affine) equal to the point with the given X coordinate, and given oddness - * for Y. Return value indicates whether the result is valid. */ -static int secp256k1_ge_set_xo_var(secp256k1_ge *r, const secp256k1_fe *x, int odd); - -/** Check whether a group element is the point at infinity. */ -static int secp256k1_ge_is_infinity(const secp256k1_ge *a); - -/** Check whether a group element is valid (i.e., on the curve). */ -static int secp256k1_ge_is_valid_var(const secp256k1_ge *a); - -static void secp256k1_ge_neg(secp256k1_ge *r, const secp256k1_ge *a); - -/** Set a group element equal to another which is given in jacobian coordinates */ -static void secp256k1_ge_set_gej(secp256k1_ge *r, secp256k1_gej *a); - -/** Set a batch of group elements equal to the inputs given in jacobian coordinates */ -static void secp256k1_ge_set_all_gej_var(secp256k1_ge *r, const secp256k1_gej *a, size_t len, const secp256k1_callback *cb); - -/** Set a batch of group elements equal to the inputs given in jacobian - * coordinates (with known z-ratios). zr must contain the known z-ratios such - * that mul(a[i].z, zr[i+1]) == a[i+1].z. zr[0] is ignored. */ -static void secp256k1_ge_set_table_gej_var(secp256k1_ge *r, const secp256k1_gej *a, const secp256k1_fe *zr, size_t len); - -/** Bring a batch inputs given in jacobian coordinates (with known z-ratios) to - * the same global z "denominator". zr must contain the known z-ratios such - * that mul(a[i].z, zr[i+1]) == a[i+1].z. zr[0] is ignored. The x and y - * coordinates of the result are stored in r, the common z coordinate is - * stored in globalz. */ -static void secp256k1_ge_globalz_set_table_gej(size_t len, secp256k1_ge *r, secp256k1_fe *globalz, const secp256k1_gej *a, const secp256k1_fe *zr); - -/** Set a group element (affine) equal to the point at infinity. */ -static void secp256k1_ge_set_infinity(secp256k1_ge *r); - -/** Set a group element (jacobian) equal to the point at infinity. */ -static void secp256k1_gej_set_infinity(secp256k1_gej *r); - -/** Set a group element (jacobian) equal to another which is given in affine coordinates. */ -static void secp256k1_gej_set_ge(secp256k1_gej *r, const secp256k1_ge *a); - -/** Compare the X coordinate of a group element (jacobian). */ -static int secp256k1_gej_eq_x_var(const secp256k1_fe *x, const secp256k1_gej *a); - -/** Set r equal to the inverse of a (i.e., mirrored around the X axis) */ -static void secp256k1_gej_neg(secp256k1_gej *r, const secp256k1_gej *a); - -/** Check whether a group element is the point at infinity. */ -static int secp256k1_gej_is_infinity(const secp256k1_gej *a); - -/** Check whether a group element's y coordinate is a quadratic residue. */ -static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a); - -/** Set r equal to the double of a. If rzr is not-NULL, r->z = a->z * *rzr (where infinity means an implicit z = 0). - * a may not be zero. Constant time. */ -static void secp256k1_gej_double_nonzero(secp256k1_gej *r, const secp256k1_gej *a, secp256k1_fe *rzr); - -/** Set r equal to the double of a. If rzr is not-NULL, r->z = a->z * *rzr (where infinity means an implicit z = 0). */ -static void secp256k1_gej_double_var(secp256k1_gej *r, const secp256k1_gej *a, secp256k1_fe *rzr); - -/** Set r equal to the sum of a and b. If rzr is non-NULL, r->z = a->z * *rzr (a cannot be infinity in that case). */ -static void secp256k1_gej_add_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_gej *b, secp256k1_fe *rzr); - -/** Set r equal to the sum of a and b (with b given in affine coordinates, and not infinity). */ -static void secp256k1_gej_add_ge(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge *b); - -/** Set r equal to the sum of a and b (with b given in affine coordinates). This is more efficient - than secp256k1_gej_add_var. It is identical to secp256k1_gej_add_ge but without constant-time - guarantee, and b is allowed to be infinity. If rzr is non-NULL, r->z = a->z * *rzr (a cannot be infinity in that case). */ -static void secp256k1_gej_add_ge_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge *b, secp256k1_fe *rzr); - -/** Set r equal to the sum of a and b (with the inverse of b's Z coordinate passed as bzinv). */ -static void secp256k1_gej_add_zinv_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge *b, const secp256k1_fe *bzinv); - -#ifdef USE_ENDOMORPHISM -/** Set r to be equal to lambda times a, where lambda is chosen in a way such that this is very fast. */ -static void secp256k1_ge_mul_lambda(secp256k1_ge *r, const secp256k1_ge *a); -#endif - -/** Clear a secp256k1_gej to prevent leaking sensitive information. */ -static void secp256k1_gej_clear(secp256k1_gej *r); - -/** Clear a secp256k1_ge to prevent leaking sensitive information. */ -static void secp256k1_ge_clear(secp256k1_ge *r); - -/** Convert a group element to the storage type. */ -static void secp256k1_ge_to_storage(secp256k1_ge_storage *r, const secp256k1_ge *a); - -/** Convert a group element back from the storage type. */ -static void secp256k1_ge_from_storage(secp256k1_ge *r, const secp256k1_ge_storage *a); - -/** If flag is true, set *r equal to *a; otherwise leave it. Constant-time. */ -static void secp256k1_ge_storage_cmov(secp256k1_ge_storage *r, const secp256k1_ge_storage *a, int flag); - -/** Rescale a jacobian point by b which must be non-zero. Constant-time. */ -static void secp256k1_gej_rescale(secp256k1_gej *r, const secp256k1_fe *b); - -#endif /* SECP256K1_GROUP_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/group_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/group_impl.h deleted file mode 100644 index b1ace87b6..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/group_impl.h +++ /dev/null @@ -1,706 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_GROUP_IMPL_H -#define SECP256K1_GROUP_IMPL_H - -#include "num.h" -#include "field.h" -#include "group.h" - -/* These points can be generated in sage as follows: - * - * 0. Setup a worksheet with the following parameters. - * b = 4 # whatever CURVE_B will be set to - * F = FiniteField (0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F) - * C = EllipticCurve ([F (0), F (b)]) - * - * 1. Determine all the small orders available to you. (If there are - * no satisfactory ones, go back and change b.) - * print C.order().factor(limit=1000) - * - * 2. Choose an order as one of the prime factors listed in the above step. - * (You can also multiply some to get a composite order, though the - * tests will crash trying to invert scalars during signing.) We take a - * random point and scale it to drop its order to the desired value. - * There is some probability this won't work; just try again. - * order = 199 - * P = C.random_point() - * P = (int(P.order()) / int(order)) * P - * assert(P.order() == order) - * - * 3. Print the values. You'll need to use a vim macro or something to - * split the hex output into 4-byte chunks. - * print "%x %x" % P.xy() - */ -#if defined(EXHAUSTIVE_TEST_ORDER) -# if EXHAUSTIVE_TEST_ORDER == 199 -const secp256k1_ge secp256k1_ge_const_g = SECP256K1_GE_CONST( - 0xFA7CC9A7, 0x0737F2DB, 0xA749DD39, 0x2B4FB069, - 0x3B017A7D, 0xA808C2F1, 0xFB12940C, 0x9EA66C18, - 0x78AC123A, 0x5ED8AEF3, 0x8732BC91, 0x1F3A2868, - 0x48DF246C, 0x808DAE72, 0xCFE52572, 0x7F0501ED -); - -const int CURVE_B = 4; -# elif EXHAUSTIVE_TEST_ORDER == 13 -const secp256k1_ge secp256k1_ge_const_g = SECP256K1_GE_CONST( - 0xedc60018, 0xa51a786b, 0x2ea91f4d, 0x4c9416c0, - 0x9de54c3b, 0xa1316554, 0x6cf4345c, 0x7277ef15, - 0x54cb1b6b, 0xdc8c1273, 0x087844ea, 0x43f4603e, - 0x0eaf9a43, 0xf6effe55, 0x939f806d, 0x37adf8ac -); -const int CURVE_B = 2; -# else -# error No known generator for the specified exhaustive test group order. -# endif -#else -/** Generator for secp256k1, value 'g' defined in - * "Standards for Efficient Cryptography" (SEC2) 2.7.1. - */ -static const secp256k1_ge secp256k1_ge_const_g = SECP256K1_GE_CONST( - 0x79BE667EUL, 0xF9DCBBACUL, 0x55A06295UL, 0xCE870B07UL, - 0x029BFCDBUL, 0x2DCE28D9UL, 0x59F2815BUL, 0x16F81798UL, - 0x483ADA77UL, 0x26A3C465UL, 0x5DA4FBFCUL, 0x0E1108A8UL, - 0xFD17B448UL, 0xA6855419UL, 0x9C47D08FUL, 0xFB10D4B8UL -); - -const int CURVE_B = 7; -#endif - -static void secp256k1_ge_set_gej_zinv(secp256k1_ge *r, const secp256k1_gej *a, const secp256k1_fe *zi) { - secp256k1_fe zi2; - secp256k1_fe zi3; - secp256k1_fe_sqr(&zi2, zi); - secp256k1_fe_mul(&zi3, &zi2, zi); - secp256k1_fe_mul(&r->x, &a->x, &zi2); - secp256k1_fe_mul(&r->y, &a->y, &zi3); - r->infinity = a->infinity; -} - -static void secp256k1_ge_set_xy(secp256k1_ge *r, const secp256k1_fe *x, const secp256k1_fe *y) { - r->infinity = 0; - r->x = *x; - r->y = *y; -} - -static int secp256k1_ge_is_infinity(const secp256k1_ge *a) { - return a->infinity; -} - -static void secp256k1_ge_neg(secp256k1_ge *r, const secp256k1_ge *a) { - *r = *a; - secp256k1_fe_normalize_weak(&r->y); - secp256k1_fe_negate(&r->y, &r->y, 1); -} - -static void secp256k1_ge_set_gej(secp256k1_ge *r, secp256k1_gej *a) { - secp256k1_fe z2, z3; - r->infinity = a->infinity; - secp256k1_fe_inv(&a->z, &a->z); - secp256k1_fe_sqr(&z2, &a->z); - secp256k1_fe_mul(&z3, &a->z, &z2); - secp256k1_fe_mul(&a->x, &a->x, &z2); - secp256k1_fe_mul(&a->y, &a->y, &z3); - secp256k1_fe_set_int(&a->z, 1); - r->x = a->x; - r->y = a->y; -} - -static void secp256k1_ge_set_gej_var(secp256k1_ge *r, secp256k1_gej *a) { - secp256k1_fe z2, z3; - r->infinity = a->infinity; - if (a->infinity) { - return; - } - secp256k1_fe_inv_var(&a->z, &a->z); - secp256k1_fe_sqr(&z2, &a->z); - secp256k1_fe_mul(&z3, &a->z, &z2); - secp256k1_fe_mul(&a->x, &a->x, &z2); - secp256k1_fe_mul(&a->y, &a->y, &z3); - secp256k1_fe_set_int(&a->z, 1); - r->x = a->x; - r->y = a->y; -} - -static void secp256k1_ge_set_all_gej_var(secp256k1_ge *r, const secp256k1_gej *a, size_t len, const secp256k1_callback *cb) { - secp256k1_fe *az; - secp256k1_fe *azi; - size_t i; - size_t count = 0; - az = (secp256k1_fe *)checked_malloc(cb, sizeof(secp256k1_fe) * len); - for (i = 0; i < len; i++) { - if (!a[i].infinity) { - az[count++] = a[i].z; - } - } - - azi = (secp256k1_fe *)checked_malloc(cb, sizeof(secp256k1_fe) * count); - secp256k1_fe_inv_all_var(azi, az, count); - free(az); - - count = 0; - for (i = 0; i < len; i++) { - r[i].infinity = a[i].infinity; - if (!a[i].infinity) { - secp256k1_ge_set_gej_zinv(&r[i], &a[i], &azi[count++]); - } - } - free(azi); -} - -static void secp256k1_ge_set_table_gej_var(secp256k1_ge *r, const secp256k1_gej *a, const secp256k1_fe *zr, size_t len) { - size_t i = len - 1; - secp256k1_fe zi; - - if (len > 0) { - /* Compute the inverse of the last z coordinate, and use it to compute the last affine output. */ - secp256k1_fe_inv(&zi, &a[i].z); - secp256k1_ge_set_gej_zinv(&r[i], &a[i], &zi); - - /* Work out way backwards, using the z-ratios to scale the x/y values. */ - while (i > 0) { - secp256k1_fe_mul(&zi, &zi, &zr[i]); - i--; - secp256k1_ge_set_gej_zinv(&r[i], &a[i], &zi); - } - } -} - -static void secp256k1_ge_globalz_set_table_gej(size_t len, secp256k1_ge *r, secp256k1_fe *globalz, const secp256k1_gej *a, const secp256k1_fe *zr) { - size_t i = len - 1; - secp256k1_fe zs; - - if (len > 0) { - /* The z of the final point gives us the "global Z" for the table. */ - r[i].x = a[i].x; - r[i].y = a[i].y; - *globalz = a[i].z; - r[i].infinity = 0; - zs = zr[i]; - - /* Work our way backwards, using the z-ratios to scale the x/y values. */ - while (i > 0) { - if (i != len - 1) { - secp256k1_fe_mul(&zs, &zs, &zr[i]); - } - i--; - secp256k1_ge_set_gej_zinv(&r[i], &a[i], &zs); - } - } -} - -static void secp256k1_gej_set_infinity(secp256k1_gej *r) { - r->infinity = 1; - secp256k1_fe_clear(&r->x); - secp256k1_fe_clear(&r->y); - secp256k1_fe_clear(&r->z); -} - -static void secp256k1_ge_set_infinity(secp256k1_ge *r) { - r->infinity = 1; - secp256k1_fe_clear(&r->x); - secp256k1_fe_clear(&r->y); -} - -static void secp256k1_gej_clear(secp256k1_gej *r) { - r->infinity = 0; - secp256k1_fe_clear(&r->x); - secp256k1_fe_clear(&r->y); - secp256k1_fe_clear(&r->z); -} - -static void secp256k1_ge_clear(secp256k1_ge *r) { - r->infinity = 0; - secp256k1_fe_clear(&r->x); - secp256k1_fe_clear(&r->y); -} - -static int secp256k1_ge_set_xquad(secp256k1_ge *r, const secp256k1_fe *x) { - secp256k1_fe x2, x3, c; - r->x = *x; - secp256k1_fe_sqr(&x2, x); - secp256k1_fe_mul(&x3, x, &x2); - r->infinity = 0; - secp256k1_fe_set_int(&c, CURVE_B); - secp256k1_fe_add(&c, &x3); - return secp256k1_fe_sqrt(&r->y, &c); -} - -static int secp256k1_ge_set_xo_var(secp256k1_ge *r, const secp256k1_fe *x, int odd) { - if (!secp256k1_ge_set_xquad(r, x)) { - return 0; - } - secp256k1_fe_normalize_var(&r->y); - if (secp256k1_fe_is_odd(&r->y) != odd) { - secp256k1_fe_negate(&r->y, &r->y, 1); - } - return 1; - -} - -static void secp256k1_gej_set_ge(secp256k1_gej *r, const secp256k1_ge *a) { - r->infinity = a->infinity; - r->x = a->x; - r->y = a->y; - secp256k1_fe_set_int(&r->z, 1); -} - -static int secp256k1_gej_eq_x_var(const secp256k1_fe *x, const secp256k1_gej *a) { - secp256k1_fe r, r2; - VERIFY_CHECK(!a->infinity); - secp256k1_fe_sqr(&r, &a->z); secp256k1_fe_mul(&r, &r, x); - r2 = a->x; secp256k1_fe_normalize_weak(&r2); - return secp256k1_fe_equal_var(&r, &r2); -} - -static void secp256k1_gej_neg(secp256k1_gej *r, const secp256k1_gej *a) { - r->infinity = a->infinity; - r->x = a->x; - r->y = a->y; - r->z = a->z; - secp256k1_fe_normalize_weak(&r->y); - secp256k1_fe_negate(&r->y, &r->y, 1); -} - -static int secp256k1_gej_is_infinity(const secp256k1_gej *a) { - return a->infinity; -} - -static int secp256k1_gej_is_valid_var(const secp256k1_gej *a) { - secp256k1_fe y2, x3, z2, z6; - if (a->infinity) { - return 0; - } - /** y^2 = x^3 + 7 - * (Y/Z^3)^2 = (X/Z^2)^3 + 7 - * Y^2 / Z^6 = X^3 / Z^6 + 7 - * Y^2 = X^3 + 7*Z^6 - */ - secp256k1_fe_sqr(&y2, &a->y); - secp256k1_fe_sqr(&x3, &a->x); secp256k1_fe_mul(&x3, &x3, &a->x); - secp256k1_fe_sqr(&z2, &a->z); - secp256k1_fe_sqr(&z6, &z2); secp256k1_fe_mul(&z6, &z6, &z2); - secp256k1_fe_mul_int(&z6, CURVE_B); - secp256k1_fe_add(&x3, &z6); - secp256k1_fe_normalize_weak(&x3); - return secp256k1_fe_equal_var(&y2, &x3); -} - -static int secp256k1_ge_is_valid_var(const secp256k1_ge *a) { - secp256k1_fe y2, x3, c; - if (a->infinity) { - return 0; - } - /* y^2 = x^3 + 7 */ - secp256k1_fe_sqr(&y2, &a->y); - secp256k1_fe_sqr(&x3, &a->x); secp256k1_fe_mul(&x3, &x3, &a->x); - secp256k1_fe_set_int(&c, CURVE_B); - secp256k1_fe_add(&x3, &c); - secp256k1_fe_normalize_weak(&x3); - return secp256k1_fe_equal_var(&y2, &x3); -} - -static void secp256k1_gej_double_var(secp256k1_gej *r, const secp256k1_gej *a, secp256k1_fe *rzr) { - /* Operations: 3 mul, 4 sqr, 0 normalize, 12 mul_int/add/negate. - * - * Note that there is an implementation described at - * https://hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#doubling-dbl-2009-l - * which trades a multiply for a square, but in practice this is actually slower, - * mainly because it requires more normalizations. - */ - secp256k1_fe t1,t2,t3,t4; - /** For secp256k1, 2Q is infinity if and only if Q is infinity. This is because if 2Q = infinity, - * Q must equal -Q, or that Q.y == -(Q.y), or Q.y is 0. For a point on y^2 = x^3 + 7 to have - * y=0, x^3 must be -7 mod p. However, -7 has no cube root mod p. - * - * Having said this, if this function receives a point on a sextic twist, e.g. by - * a fault attack, it is possible for y to be 0. This happens for y^2 = x^3 + 6, - * since -6 does have a cube root mod p. For this point, this function will not set - * the infinity flag even though the point doubles to infinity, and the result - * point will be gibberish (z = 0 but infinity = 0). - */ - r->infinity = a->infinity; - if (r->infinity) { - if (rzr != NULL) { - secp256k1_fe_set_int(rzr, 1); - } - return; - } - - if (rzr != NULL) { - *rzr = a->y; - secp256k1_fe_normalize_weak(rzr); - secp256k1_fe_mul_int(rzr, 2); - } - - secp256k1_fe_mul(&r->z, &a->z, &a->y); - secp256k1_fe_mul_int(&r->z, 2); /* Z' = 2*Y*Z (2) */ - secp256k1_fe_sqr(&t1, &a->x); - secp256k1_fe_mul_int(&t1, 3); /* T1 = 3*X^2 (3) */ - secp256k1_fe_sqr(&t2, &t1); /* T2 = 9*X^4 (1) */ - secp256k1_fe_sqr(&t3, &a->y); - secp256k1_fe_mul_int(&t3, 2); /* T3 = 2*Y^2 (2) */ - secp256k1_fe_sqr(&t4, &t3); - secp256k1_fe_mul_int(&t4, 2); /* T4 = 8*Y^4 (2) */ - secp256k1_fe_mul(&t3, &t3, &a->x); /* T3 = 2*X*Y^2 (1) */ - r->x = t3; - secp256k1_fe_mul_int(&r->x, 4); /* X' = 8*X*Y^2 (4) */ - secp256k1_fe_negate(&r->x, &r->x, 4); /* X' = -8*X*Y^2 (5) */ - secp256k1_fe_add(&r->x, &t2); /* X' = 9*X^4 - 8*X*Y^2 (6) */ - secp256k1_fe_negate(&t2, &t2, 1); /* T2 = -9*X^4 (2) */ - secp256k1_fe_mul_int(&t3, 6); /* T3 = 12*X*Y^2 (6) */ - secp256k1_fe_add(&t3, &t2); /* T3 = 12*X*Y^2 - 9*X^4 (8) */ - secp256k1_fe_mul(&r->y, &t1, &t3); /* Y' = 36*X^3*Y^2 - 27*X^6 (1) */ - secp256k1_fe_negate(&t2, &t4, 2); /* T2 = -8*Y^4 (3) */ - secp256k1_fe_add(&r->y, &t2); /* Y' = 36*X^3*Y^2 - 27*X^6 - 8*Y^4 (4) */ -} - -static SECP256K1_INLINE void secp256k1_gej_double_nonzero(secp256k1_gej *r, const secp256k1_gej *a, secp256k1_fe *rzr) { - VERIFY_CHECK(!secp256k1_gej_is_infinity(a)); - secp256k1_gej_double_var(r, a, rzr); -} - -static void secp256k1_gej_add_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_gej *b, secp256k1_fe *rzr) { - /* Operations: 12 mul, 4 sqr, 2 normalize, 12 mul_int/add/negate */ - secp256k1_fe z22, z12, u1, u2, s1, s2, h, i, i2, h2, h3, t; - - if (a->infinity) { - VERIFY_CHECK(rzr == NULL); - *r = *b; - return; - } - - if (b->infinity) { - if (rzr != NULL) { - secp256k1_fe_set_int(rzr, 1); - } - *r = *a; - return; - } - - r->infinity = 0; - secp256k1_fe_sqr(&z22, &b->z); - secp256k1_fe_sqr(&z12, &a->z); - secp256k1_fe_mul(&u1, &a->x, &z22); - secp256k1_fe_mul(&u2, &b->x, &z12); - secp256k1_fe_mul(&s1, &a->y, &z22); secp256k1_fe_mul(&s1, &s1, &b->z); - secp256k1_fe_mul(&s2, &b->y, &z12); secp256k1_fe_mul(&s2, &s2, &a->z); - secp256k1_fe_negate(&h, &u1, 1); secp256k1_fe_add(&h, &u2); - secp256k1_fe_negate(&i, &s1, 1); secp256k1_fe_add(&i, &s2); - if (secp256k1_fe_normalizes_to_zero_var(&h)) { - if (secp256k1_fe_normalizes_to_zero_var(&i)) { - secp256k1_gej_double_var(r, a, rzr); - } else { - if (rzr != NULL) { - secp256k1_fe_set_int(rzr, 0); - } - r->infinity = 1; - } - return; - } - secp256k1_fe_sqr(&i2, &i); - secp256k1_fe_sqr(&h2, &h); - secp256k1_fe_mul(&h3, &h, &h2); - secp256k1_fe_mul(&h, &h, &b->z); - if (rzr != NULL) { - *rzr = h; - } - secp256k1_fe_mul(&r->z, &a->z, &h); - secp256k1_fe_mul(&t, &u1, &h2); - r->x = t; secp256k1_fe_mul_int(&r->x, 2); secp256k1_fe_add(&r->x, &h3); secp256k1_fe_negate(&r->x, &r->x, 3); secp256k1_fe_add(&r->x, &i2); - secp256k1_fe_negate(&r->y, &r->x, 5); secp256k1_fe_add(&r->y, &t); secp256k1_fe_mul(&r->y, &r->y, &i); - secp256k1_fe_mul(&h3, &h3, &s1); secp256k1_fe_negate(&h3, &h3, 1); - secp256k1_fe_add(&r->y, &h3); -} - -static void secp256k1_gej_add_ge_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge *b, secp256k1_fe *rzr) { - /* 8 mul, 3 sqr, 4 normalize, 12 mul_int/add/negate */ - secp256k1_fe z12, u1, u2, s1, s2, h, i, i2, h2, h3, t; - if (a->infinity) { - VERIFY_CHECK(rzr == NULL); - secp256k1_gej_set_ge(r, b); - return; - } - if (b->infinity) { - if (rzr != NULL) { - secp256k1_fe_set_int(rzr, 1); - } - *r = *a; - return; - } - r->infinity = 0; - - secp256k1_fe_sqr(&z12, &a->z); - u1 = a->x; secp256k1_fe_normalize_weak(&u1); - secp256k1_fe_mul(&u2, &b->x, &z12); - s1 = a->y; secp256k1_fe_normalize_weak(&s1); - secp256k1_fe_mul(&s2, &b->y, &z12); secp256k1_fe_mul(&s2, &s2, &a->z); - secp256k1_fe_negate(&h, &u1, 1); secp256k1_fe_add(&h, &u2); - secp256k1_fe_negate(&i, &s1, 1); secp256k1_fe_add(&i, &s2); - if (secp256k1_fe_normalizes_to_zero_var(&h)) { - if (secp256k1_fe_normalizes_to_zero_var(&i)) { - secp256k1_gej_double_var(r, a, rzr); - } else { - if (rzr != NULL) { - secp256k1_fe_set_int(rzr, 0); - } - r->infinity = 1; - } - return; - } - secp256k1_fe_sqr(&i2, &i); - secp256k1_fe_sqr(&h2, &h); - secp256k1_fe_mul(&h3, &h, &h2); - if (rzr != NULL) { - *rzr = h; - } - secp256k1_fe_mul(&r->z, &a->z, &h); - secp256k1_fe_mul(&t, &u1, &h2); - r->x = t; secp256k1_fe_mul_int(&r->x, 2); secp256k1_fe_add(&r->x, &h3); secp256k1_fe_negate(&r->x, &r->x, 3); secp256k1_fe_add(&r->x, &i2); - secp256k1_fe_negate(&r->y, &r->x, 5); secp256k1_fe_add(&r->y, &t); secp256k1_fe_mul(&r->y, &r->y, &i); - secp256k1_fe_mul(&h3, &h3, &s1); secp256k1_fe_negate(&h3, &h3, 1); - secp256k1_fe_add(&r->y, &h3); -} - -static void secp256k1_gej_add_zinv_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge *b, const secp256k1_fe *bzinv) { - /* 9 mul, 3 sqr, 4 normalize, 12 mul_int/add/negate */ - secp256k1_fe az, z12, u1, u2, s1, s2, h, i, i2, h2, h3, t; - - if (b->infinity) { - *r = *a; - return; - } - if (a->infinity) { - secp256k1_fe bzinv2, bzinv3; - r->infinity = b->infinity; - secp256k1_fe_sqr(&bzinv2, bzinv); - secp256k1_fe_mul(&bzinv3, &bzinv2, bzinv); - secp256k1_fe_mul(&r->x, &b->x, &bzinv2); - secp256k1_fe_mul(&r->y, &b->y, &bzinv3); - secp256k1_fe_set_int(&r->z, 1); - return; - } - r->infinity = 0; - - /** We need to calculate (rx,ry,rz) = (ax,ay,az) + (bx,by,1/bzinv). Due to - * secp256k1's isomorphism we can multiply the Z coordinates on both sides - * by bzinv, and get: (rx,ry,rz*bzinv) = (ax,ay,az*bzinv) + (bx,by,1). - * This means that (rx,ry,rz) can be calculated as - * (ax,ay,az*bzinv) + (bx,by,1), when not applying the bzinv factor to rz. - * The variable az below holds the modified Z coordinate for a, which is used - * for the computation of rx and ry, but not for rz. - */ - secp256k1_fe_mul(&az, &a->z, bzinv); - - secp256k1_fe_sqr(&z12, &az); - u1 = a->x; secp256k1_fe_normalize_weak(&u1); - secp256k1_fe_mul(&u2, &b->x, &z12); - s1 = a->y; secp256k1_fe_normalize_weak(&s1); - secp256k1_fe_mul(&s2, &b->y, &z12); secp256k1_fe_mul(&s2, &s2, &az); - secp256k1_fe_negate(&h, &u1, 1); secp256k1_fe_add(&h, &u2); - secp256k1_fe_negate(&i, &s1, 1); secp256k1_fe_add(&i, &s2); - if (secp256k1_fe_normalizes_to_zero_var(&h)) { - if (secp256k1_fe_normalizes_to_zero_var(&i)) { - secp256k1_gej_double_var(r, a, NULL); - } else { - r->infinity = 1; - } - return; - } - secp256k1_fe_sqr(&i2, &i); - secp256k1_fe_sqr(&h2, &h); - secp256k1_fe_mul(&h3, &h, &h2); - r->z = a->z; secp256k1_fe_mul(&r->z, &r->z, &h); - secp256k1_fe_mul(&t, &u1, &h2); - r->x = t; secp256k1_fe_mul_int(&r->x, 2); secp256k1_fe_add(&r->x, &h3); secp256k1_fe_negate(&r->x, &r->x, 3); secp256k1_fe_add(&r->x, &i2); - secp256k1_fe_negate(&r->y, &r->x, 5); secp256k1_fe_add(&r->y, &t); secp256k1_fe_mul(&r->y, &r->y, &i); - secp256k1_fe_mul(&h3, &h3, &s1); secp256k1_fe_negate(&h3, &h3, 1); - secp256k1_fe_add(&r->y, &h3); -} - - -static void secp256k1_gej_add_ge(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge *b) { - /* Operations: 7 mul, 5 sqr, 4 normalize, 21 mul_int/add/negate/cmov */ - static const secp256k1_fe fe_1 = SECP256K1_FE_CONST(0, 0, 0, 0, 0, 0, 0, 1); - secp256k1_fe zz, u1, u2, s1, s2, t, tt, m, n, q, rr; - secp256k1_fe m_alt, rr_alt; - int infinity, degenerate; - VERIFY_CHECK(!b->infinity); - VERIFY_CHECK(a->infinity == 0 || a->infinity == 1); - - /** In: - * Eric Brier and Marc Joye, Weierstrass Elliptic Curves and Side-Channel Attacks. - * In D. Naccache and P. Paillier, Eds., Public Key Cryptography, vol. 2274 of Lecture Notes in Computer Science, pages 335-345. Springer-Verlag, 2002. - * we find as solution for a unified addition/doubling formula: - * lambda = ((x1 + x2)^2 - x1 * x2 + a) / (y1 + y2), with a = 0 for secp256k1's curve equation. - * x3 = lambda^2 - (x1 + x2) - * 2*y3 = lambda * (x1 + x2 - 2 * x3) - (y1 + y2). - * - * Substituting x_i = Xi / Zi^2 and yi = Yi / Zi^3, for i=1,2,3, gives: - * U1 = X1*Z2^2, U2 = X2*Z1^2 - * S1 = Y1*Z2^3, S2 = Y2*Z1^3 - * Z = Z1*Z2 - * T = U1+U2 - * M = S1+S2 - * Q = T*M^2 - * R = T^2-U1*U2 - * X3 = 4*(R^2-Q) - * Y3 = 4*(R*(3*Q-2*R^2)-M^4) - * Z3 = 2*M*Z - * (Note that the paper uses xi = Xi / Zi and yi = Yi / Zi instead.) - * - * This formula has the benefit of being the same for both addition - * of distinct points and doubling. However, it breaks down in the - * case that either point is infinity, or that y1 = -y2. We handle - * these cases in the following ways: - * - * - If b is infinity we simply bail by means of a VERIFY_CHECK. - * - * - If a is infinity, we detect this, and at the end of the - * computation replace the result (which will be meaningless, - * but we compute to be constant-time) with b.x : b.y : 1. - * - * - If a = -b, we have y1 = -y2, which is a degenerate case. - * But here the answer is infinity, so we simply set the - * infinity flag of the result, overriding the computed values - * without even needing to cmov. - * - * - If y1 = -y2 but x1 != x2, which does occur thanks to certain - * properties of our curve (specifically, 1 has nontrivial cube - * roots in our field, and the curve equation has no x coefficient) - * then the answer is not infinity but also not given by the above - * equation. In this case, we cmov in place an alternate expression - * for lambda. Specifically (y1 - y2)/(x1 - x2). Where both these - * expressions for lambda are defined, they are equal, and can be - * obtained from each other by multiplication by (y1 + y2)/(y1 + y2) - * then substitution of x^3 + 7 for y^2 (using the curve equation). - * For all pairs of nonzero points (a, b) at least one is defined, - * so this covers everything. - */ - - secp256k1_fe_sqr(&zz, &a->z); /* z = Z1^2 */ - u1 = a->x; secp256k1_fe_normalize_weak(&u1); /* u1 = U1 = X1*Z2^2 (1) */ - secp256k1_fe_mul(&u2, &b->x, &zz); /* u2 = U2 = X2*Z1^2 (1) */ - s1 = a->y; secp256k1_fe_normalize_weak(&s1); /* s1 = S1 = Y1*Z2^3 (1) */ - secp256k1_fe_mul(&s2, &b->y, &zz); /* s2 = Y2*Z1^2 (1) */ - secp256k1_fe_mul(&s2, &s2, &a->z); /* s2 = S2 = Y2*Z1^3 (1) */ - t = u1; secp256k1_fe_add(&t, &u2); /* t = T = U1+U2 (2) */ - m = s1; secp256k1_fe_add(&m, &s2); /* m = M = S1+S2 (2) */ - secp256k1_fe_sqr(&rr, &t); /* rr = T^2 (1) */ - secp256k1_fe_negate(&m_alt, &u2, 1); /* Malt = -X2*Z1^2 */ - secp256k1_fe_mul(&tt, &u1, &m_alt); /* tt = -U1*U2 (2) */ - secp256k1_fe_add(&rr, &tt); /* rr = R = T^2-U1*U2 (3) */ - /** If lambda = R/M = 0/0 we have a problem (except in the "trivial" - * case that Z = z1z2 = 0, and this is special-cased later on). */ - degenerate = secp256k1_fe_normalizes_to_zero(&m) & - secp256k1_fe_normalizes_to_zero(&rr); - /* This only occurs when y1 == -y2 and x1^3 == x2^3, but x1 != x2. - * This means either x1 == beta*x2 or beta*x1 == x2, where beta is - * a nontrivial cube root of one. In either case, an alternate - * non-indeterminate expression for lambda is (y1 - y2)/(x1 - x2), - * so we set R/M equal to this. */ - rr_alt = s1; - secp256k1_fe_mul_int(&rr_alt, 2); /* rr = Y1*Z2^3 - Y2*Z1^3 (2) */ - secp256k1_fe_add(&m_alt, &u1); /* Malt = X1*Z2^2 - X2*Z1^2 */ - - secp256k1_fe_cmov(&rr_alt, &rr, !degenerate); - secp256k1_fe_cmov(&m_alt, &m, !degenerate); - /* Now Ralt / Malt = lambda and is guaranteed not to be 0/0. - * From here on out Ralt and Malt represent the numerator - * and denominator of lambda; R and M represent the explicit - * expressions x1^2 + x2^2 + x1x2 and y1 + y2. */ - secp256k1_fe_sqr(&n, &m_alt); /* n = Malt^2 (1) */ - secp256k1_fe_mul(&q, &n, &t); /* q = Q = T*Malt^2 (1) */ - /* These two lines use the observation that either M == Malt or M == 0, - * so M^3 * Malt is either Malt^4 (which is computed by squaring), or - * zero (which is "computed" by cmov). So the cost is one squaring - * versus two multiplications. */ - secp256k1_fe_sqr(&n, &n); - secp256k1_fe_cmov(&n, &m, degenerate); /* n = M^3 * Malt (2) */ - secp256k1_fe_sqr(&t, &rr_alt); /* t = Ralt^2 (1) */ - secp256k1_fe_mul(&r->z, &a->z, &m_alt); /* r->z = Malt*Z (1) */ - infinity = secp256k1_fe_normalizes_to_zero(&r->z) * (1 - a->infinity); - secp256k1_fe_mul_int(&r->z, 2); /* r->z = Z3 = 2*Malt*Z (2) */ - secp256k1_fe_negate(&q, &q, 1); /* q = -Q (2) */ - secp256k1_fe_add(&t, &q); /* t = Ralt^2-Q (3) */ - secp256k1_fe_normalize_weak(&t); - r->x = t; /* r->x = Ralt^2-Q (1) */ - secp256k1_fe_mul_int(&t, 2); /* t = 2*x3 (2) */ - secp256k1_fe_add(&t, &q); /* t = 2*x3 - Q: (4) */ - secp256k1_fe_mul(&t, &t, &rr_alt); /* t = Ralt*(2*x3 - Q) (1) */ - secp256k1_fe_add(&t, &n); /* t = Ralt*(2*x3 - Q) + M^3*Malt (3) */ - secp256k1_fe_negate(&r->y, &t, 3); /* r->y = Ralt*(Q - 2x3) - M^3*Malt (4) */ - secp256k1_fe_normalize_weak(&r->y); - secp256k1_fe_mul_int(&r->x, 4); /* r->x = X3 = 4*(Ralt^2-Q) */ - secp256k1_fe_mul_int(&r->y, 4); /* r->y = Y3 = 4*Ralt*(Q - 2x3) - 4*M^3*Malt (4) */ - - /** In case a->infinity == 1, replace r with (b->x, b->y, 1). */ - secp256k1_fe_cmov(&r->x, &b->x, a->infinity); - secp256k1_fe_cmov(&r->y, &b->y, a->infinity); - secp256k1_fe_cmov(&r->z, &fe_1, a->infinity); - r->infinity = infinity; -} - -static void secp256k1_gej_rescale(secp256k1_gej *r, const secp256k1_fe *s) { - /* Operations: 4 mul, 1 sqr */ - secp256k1_fe zz; - VERIFY_CHECK(!secp256k1_fe_is_zero(s)); - secp256k1_fe_sqr(&zz, s); - secp256k1_fe_mul(&r->x, &r->x, &zz); /* r->x *= s^2 */ - secp256k1_fe_mul(&r->y, &r->y, &zz); - secp256k1_fe_mul(&r->y, &r->y, s); /* r->y *= s^3 */ - secp256k1_fe_mul(&r->z, &r->z, s); /* r->z *= s */ -} - -static void secp256k1_ge_to_storage(secp256k1_ge_storage *r, const secp256k1_ge *a) { - secp256k1_fe x, y; - VERIFY_CHECK(!a->infinity); - x = a->x; - secp256k1_fe_normalize(&x); - y = a->y; - secp256k1_fe_normalize(&y); - secp256k1_fe_to_storage(&r->x, &x); - secp256k1_fe_to_storage(&r->y, &y); -} - -static void secp256k1_ge_from_storage(secp256k1_ge *r, const secp256k1_ge_storage *a) { - secp256k1_fe_from_storage(&r->x, &a->x); - secp256k1_fe_from_storage(&r->y, &a->y); - r->infinity = 0; -} - -static SECP256K1_INLINE void secp256k1_ge_storage_cmov(secp256k1_ge_storage *r, const secp256k1_ge_storage *a, int flag) { - secp256k1_fe_storage_cmov(&r->x, &a->x, flag); - secp256k1_fe_storage_cmov(&r->y, &a->y, flag); -} - -#ifdef USE_ENDOMORPHISM -static void secp256k1_ge_mul_lambda(secp256k1_ge *r, const secp256k1_ge *a) { - static const secp256k1_fe beta = SECP256K1_FE_CONST( - 0x7ae96a2bul, 0x657c0710ul, 0x6e64479eul, 0xac3434e9ul, - 0x9cf04975ul, 0x12f58995ul, 0xc1396c28ul, 0x719501eeul - ); - *r = *a; - secp256k1_fe_mul(&r->x, &r->x, &beta); -} -#endif - -static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a) { - secp256k1_fe yz; - - if (a->infinity) { - return 0; - } - - /* We rely on the fact that the Jacobi symbol of 1 / a->z^3 is the same as - * that of a->z. Thus a->y / a->z^3 is a quadratic residue iff a->y * a->z - is */ - secp256k1_fe_mul(&yz, &a->y, &a->z); - return secp256k1_fe_is_quad_var(&yz); -} - -#endif /* SECP256K1_GROUP_IMPL_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/hash.h b/Pods/secp256k1_ios/secp256k1_ios/src/hash.h deleted file mode 100644 index de26e4b89..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/hash.h +++ /dev/null @@ -1,41 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_HASH_H -#define SECP256K1_HASH_H - -#include -#include - -typedef struct { - uint32_t s[8]; - uint32_t buf[16]; /* In big endian */ - size_t bytes; -} secp256k1_sha256; - -static void secp256k1_sha256_initialize(secp256k1_sha256 *hash); -static void secp256k1_sha256_write(secp256k1_sha256 *hash, const unsigned char *data, size_t size); -static void secp256k1_sha256_finalize(secp256k1_sha256 *hash, unsigned char *out32); - -typedef struct { - secp256k1_sha256 inner, outer; -} secp256k1_hmac_sha256; - -static void secp256k1_hmac_sha256_initialize(secp256k1_hmac_sha256 *hash, const unsigned char *key, size_t size); -static void secp256k1_hmac_sha256_write(secp256k1_hmac_sha256 *hash, const unsigned char *data, size_t size); -static void secp256k1_hmac_sha256_finalize(secp256k1_hmac_sha256 *hash, unsigned char *out32); - -typedef struct { - unsigned char v[32]; - unsigned char k[32]; - int retry; -} secp256k1_rfc6979_hmac_sha256; - -static void secp256k1_rfc6979_hmac_sha256_initialize(secp256k1_rfc6979_hmac_sha256 *rng, const unsigned char *key, size_t keylen); -static void secp256k1_rfc6979_hmac_sha256_generate(secp256k1_rfc6979_hmac_sha256 *rng, unsigned char *out, size_t outlen); -static void secp256k1_rfc6979_hmac_sha256_finalize(secp256k1_rfc6979_hmac_sha256 *rng); - -#endif /* SECP256K1_HASH_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/hash_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/hash_impl.h deleted file mode 100644 index 009f26beb..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/hash_impl.h +++ /dev/null @@ -1,282 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_HASH_IMPL_H -#define SECP256K1_HASH_IMPL_H - -#include "hash.h" - -#include -#include -#include - -#define Ch(x,y,z) ((z) ^ ((x) & ((y) ^ (z)))) -#define Maj(x,y,z) (((x) & (y)) | ((z) & ((x) | (y)))) -#define Sigma0(x) (((x) >> 2 | (x) << 30) ^ ((x) >> 13 | (x) << 19) ^ ((x) >> 22 | (x) << 10)) -#define Sigma1(x) (((x) >> 6 | (x) << 26) ^ ((x) >> 11 | (x) << 21) ^ ((x) >> 25 | (x) << 7)) -#define sigma0(x) (((x) >> 7 | (x) << 25) ^ ((x) >> 18 | (x) << 14) ^ ((x) >> 3)) -#define sigma1(x) (((x) >> 17 | (x) << 15) ^ ((x) >> 19 | (x) << 13) ^ ((x) >> 10)) - -#define Round(a,b,c,d,e,f,g,h,k,w) do { \ - uint32_t t1 = (h) + Sigma1(e) + Ch((e), (f), (g)) + (k) + (w); \ - uint32_t t2 = Sigma0(a) + Maj((a), (b), (c)); \ - (d) += t1; \ - (h) = t1 + t2; \ -} while(0) - -#ifdef WORDS_BIGENDIAN -#define BE32(x) (x) -#else -#define BE32(p) ((((p) & 0xFF) << 24) | (((p) & 0xFF00) << 8) | (((p) & 0xFF0000) >> 8) | (((p) & 0xFF000000) >> 24)) -#endif - -static void secp256k1_sha256_initialize(secp256k1_sha256 *hash) { - hash->s[0] = 0x6a09e667ul; - hash->s[1] = 0xbb67ae85ul; - hash->s[2] = 0x3c6ef372ul; - hash->s[3] = 0xa54ff53aul; - hash->s[4] = 0x510e527ful; - hash->s[5] = 0x9b05688cul; - hash->s[6] = 0x1f83d9abul; - hash->s[7] = 0x5be0cd19ul; - hash->bytes = 0; -} - -/** Perform one SHA-256 transformation, processing 16 big endian 32-bit words. */ -static void secp256k1_sha256_transform(uint32_t* s, const uint32_t* chunk) { - uint32_t a = s[0], b = s[1], c = s[2], d = s[3], e = s[4], f = s[5], g = s[6], h = s[7]; - uint32_t w0, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15; - - Round(a, b, c, d, e, f, g, h, 0x428a2f98, w0 = BE32(chunk[0])); - Round(h, a, b, c, d, e, f, g, 0x71374491, w1 = BE32(chunk[1])); - Round(g, h, a, b, c, d, e, f, 0xb5c0fbcf, w2 = BE32(chunk[2])); - Round(f, g, h, a, b, c, d, e, 0xe9b5dba5, w3 = BE32(chunk[3])); - Round(e, f, g, h, a, b, c, d, 0x3956c25b, w4 = BE32(chunk[4])); - Round(d, e, f, g, h, a, b, c, 0x59f111f1, w5 = BE32(chunk[5])); - Round(c, d, e, f, g, h, a, b, 0x923f82a4, w6 = BE32(chunk[6])); - Round(b, c, d, e, f, g, h, a, 0xab1c5ed5, w7 = BE32(chunk[7])); - Round(a, b, c, d, e, f, g, h, 0xd807aa98, w8 = BE32(chunk[8])); - Round(h, a, b, c, d, e, f, g, 0x12835b01, w9 = BE32(chunk[9])); - Round(g, h, a, b, c, d, e, f, 0x243185be, w10 = BE32(chunk[10])); - Round(f, g, h, a, b, c, d, e, 0x550c7dc3, w11 = BE32(chunk[11])); - Round(e, f, g, h, a, b, c, d, 0x72be5d74, w12 = BE32(chunk[12])); - Round(d, e, f, g, h, a, b, c, 0x80deb1fe, w13 = BE32(chunk[13])); - Round(c, d, e, f, g, h, a, b, 0x9bdc06a7, w14 = BE32(chunk[14])); - Round(b, c, d, e, f, g, h, a, 0xc19bf174, w15 = BE32(chunk[15])); - - Round(a, b, c, d, e, f, g, h, 0xe49b69c1, w0 += sigma1(w14) + w9 + sigma0(w1)); - Round(h, a, b, c, d, e, f, g, 0xefbe4786, w1 += sigma1(w15) + w10 + sigma0(w2)); - Round(g, h, a, b, c, d, e, f, 0x0fc19dc6, w2 += sigma1(w0) + w11 + sigma0(w3)); - Round(f, g, h, a, b, c, d, e, 0x240ca1cc, w3 += sigma1(w1) + w12 + sigma0(w4)); - Round(e, f, g, h, a, b, c, d, 0x2de92c6f, w4 += sigma1(w2) + w13 + sigma0(w5)); - Round(d, e, f, g, h, a, b, c, 0x4a7484aa, w5 += sigma1(w3) + w14 + sigma0(w6)); - Round(c, d, e, f, g, h, a, b, 0x5cb0a9dc, w6 += sigma1(w4) + w15 + sigma0(w7)); - Round(b, c, d, e, f, g, h, a, 0x76f988da, w7 += sigma1(w5) + w0 + sigma0(w8)); - Round(a, b, c, d, e, f, g, h, 0x983e5152, w8 += sigma1(w6) + w1 + sigma0(w9)); - Round(h, a, b, c, d, e, f, g, 0xa831c66d, w9 += sigma1(w7) + w2 + sigma0(w10)); - Round(g, h, a, b, c, d, e, f, 0xb00327c8, w10 += sigma1(w8) + w3 + sigma0(w11)); - Round(f, g, h, a, b, c, d, e, 0xbf597fc7, w11 += sigma1(w9) + w4 + sigma0(w12)); - Round(e, f, g, h, a, b, c, d, 0xc6e00bf3, w12 += sigma1(w10) + w5 + sigma0(w13)); - Round(d, e, f, g, h, a, b, c, 0xd5a79147, w13 += sigma1(w11) + w6 + sigma0(w14)); - Round(c, d, e, f, g, h, a, b, 0x06ca6351, w14 += sigma1(w12) + w7 + sigma0(w15)); - Round(b, c, d, e, f, g, h, a, 0x14292967, w15 += sigma1(w13) + w8 + sigma0(w0)); - - Round(a, b, c, d, e, f, g, h, 0x27b70a85, w0 += sigma1(w14) + w9 + sigma0(w1)); - Round(h, a, b, c, d, e, f, g, 0x2e1b2138, w1 += sigma1(w15) + w10 + sigma0(w2)); - Round(g, h, a, b, c, d, e, f, 0x4d2c6dfc, w2 += sigma1(w0) + w11 + sigma0(w3)); - Round(f, g, h, a, b, c, d, e, 0x53380d13, w3 += sigma1(w1) + w12 + sigma0(w4)); - Round(e, f, g, h, a, b, c, d, 0x650a7354, w4 += sigma1(w2) + w13 + sigma0(w5)); - Round(d, e, f, g, h, a, b, c, 0x766a0abb, w5 += sigma1(w3) + w14 + sigma0(w6)); - Round(c, d, e, f, g, h, a, b, 0x81c2c92e, w6 += sigma1(w4) + w15 + sigma0(w7)); - Round(b, c, d, e, f, g, h, a, 0x92722c85, w7 += sigma1(w5) + w0 + sigma0(w8)); - Round(a, b, c, d, e, f, g, h, 0xa2bfe8a1, w8 += sigma1(w6) + w1 + sigma0(w9)); - Round(h, a, b, c, d, e, f, g, 0xa81a664b, w9 += sigma1(w7) + w2 + sigma0(w10)); - Round(g, h, a, b, c, d, e, f, 0xc24b8b70, w10 += sigma1(w8) + w3 + sigma0(w11)); - Round(f, g, h, a, b, c, d, e, 0xc76c51a3, w11 += sigma1(w9) + w4 + sigma0(w12)); - Round(e, f, g, h, a, b, c, d, 0xd192e819, w12 += sigma1(w10) + w5 + sigma0(w13)); - Round(d, e, f, g, h, a, b, c, 0xd6990624, w13 += sigma1(w11) + w6 + sigma0(w14)); - Round(c, d, e, f, g, h, a, b, 0xf40e3585, w14 += sigma1(w12) + w7 + sigma0(w15)); - Round(b, c, d, e, f, g, h, a, 0x106aa070, w15 += sigma1(w13) + w8 + sigma0(w0)); - - Round(a, b, c, d, e, f, g, h, 0x19a4c116, w0 += sigma1(w14) + w9 + sigma0(w1)); - Round(h, a, b, c, d, e, f, g, 0x1e376c08, w1 += sigma1(w15) + w10 + sigma0(w2)); - Round(g, h, a, b, c, d, e, f, 0x2748774c, w2 += sigma1(w0) + w11 + sigma0(w3)); - Round(f, g, h, a, b, c, d, e, 0x34b0bcb5, w3 += sigma1(w1) + w12 + sigma0(w4)); - Round(e, f, g, h, a, b, c, d, 0x391c0cb3, w4 += sigma1(w2) + w13 + sigma0(w5)); - Round(d, e, f, g, h, a, b, c, 0x4ed8aa4a, w5 += sigma1(w3) + w14 + sigma0(w6)); - Round(c, d, e, f, g, h, a, b, 0x5b9cca4f, w6 += sigma1(w4) + w15 + sigma0(w7)); - Round(b, c, d, e, f, g, h, a, 0x682e6ff3, w7 += sigma1(w5) + w0 + sigma0(w8)); - Round(a, b, c, d, e, f, g, h, 0x748f82ee, w8 += sigma1(w6) + w1 + sigma0(w9)); - Round(h, a, b, c, d, e, f, g, 0x78a5636f, w9 += sigma1(w7) + w2 + sigma0(w10)); - Round(g, h, a, b, c, d, e, f, 0x84c87814, w10 += sigma1(w8) + w3 + sigma0(w11)); - Round(f, g, h, a, b, c, d, e, 0x8cc70208, w11 += sigma1(w9) + w4 + sigma0(w12)); - Round(e, f, g, h, a, b, c, d, 0x90befffa, w12 += sigma1(w10) + w5 + sigma0(w13)); - Round(d, e, f, g, h, a, b, c, 0xa4506ceb, w13 += sigma1(w11) + w6 + sigma0(w14)); - Round(c, d, e, f, g, h, a, b, 0xbef9a3f7, w14 + sigma1(w12) + w7 + sigma0(w15)); - Round(b, c, d, e, f, g, h, a, 0xc67178f2, w15 + sigma1(w13) + w8 + sigma0(w0)); - - s[0] += a; - s[1] += b; - s[2] += c; - s[3] += d; - s[4] += e; - s[5] += f; - s[6] += g; - s[7] += h; -} - -static void secp256k1_sha256_write(secp256k1_sha256 *hash, const unsigned char *data, size_t len) { - size_t bufsize = hash->bytes & 0x3F; - hash->bytes += len; - while (bufsize + len >= 64) { - /* Fill the buffer, and process it. */ - size_t chunk_len = 64 - bufsize; - memcpy(((unsigned char*)hash->buf) + bufsize, data, chunk_len); - data += chunk_len; - len -= chunk_len; - secp256k1_sha256_transform(hash->s, hash->buf); - bufsize = 0; - } - if (len) { - /* Fill the buffer with what remains. */ - memcpy(((unsigned char*)hash->buf) + bufsize, data, len); - } -} - -static void secp256k1_sha256_finalize(secp256k1_sha256 *hash, unsigned char *out32) { - static const unsigned char pad[64] = {0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - uint32_t sizedesc[2]; - uint32_t out[8]; - int i = 0; - sizedesc[0] = BE32(hash->bytes >> 29); - sizedesc[1] = BE32(hash->bytes << 3); - secp256k1_sha256_write(hash, pad, 1 + ((119 - (hash->bytes % 64)) % 64)); - secp256k1_sha256_write(hash, (const unsigned char*)sizedesc, 8); - for (i = 0; i < 8; i++) { - out[i] = BE32(hash->s[i]); - hash->s[i] = 0; - } - memcpy(out32, (const unsigned char*)out, 32); -} - -static void secp256k1_hmac_sha256_initialize(secp256k1_hmac_sha256 *hash, const unsigned char *key, size_t keylen) { - size_t n; - unsigned char rkey[64]; - if (keylen <= sizeof(rkey)) { - memcpy(rkey, key, keylen); - memset(rkey + keylen, 0, sizeof(rkey) - keylen); - } else { - secp256k1_sha256 sha256; - secp256k1_sha256_initialize(&sha256); - secp256k1_sha256_write(&sha256, key, keylen); - secp256k1_sha256_finalize(&sha256, rkey); - memset(rkey + 32, 0, 32); - } - - secp256k1_sha256_initialize(&hash->outer); - for (n = 0; n < sizeof(rkey); n++) { - rkey[n] ^= 0x5c; - } - secp256k1_sha256_write(&hash->outer, rkey, sizeof(rkey)); - - secp256k1_sha256_initialize(&hash->inner); - for (n = 0; n < sizeof(rkey); n++) { - rkey[n] ^= 0x5c ^ 0x36; - } - secp256k1_sha256_write(&hash->inner, rkey, sizeof(rkey)); - memset(rkey, 0, sizeof(rkey)); -} - -static void secp256k1_hmac_sha256_write(secp256k1_hmac_sha256 *hash, const unsigned char *data, size_t size) { - secp256k1_sha256_write(&hash->inner, data, size); -} - -static void secp256k1_hmac_sha256_finalize(secp256k1_hmac_sha256 *hash, unsigned char *out32) { - unsigned char temp[32]; - secp256k1_sha256_finalize(&hash->inner, temp); - secp256k1_sha256_write(&hash->outer, temp, 32); - memset(temp, 0, 32); - secp256k1_sha256_finalize(&hash->outer, out32); -} - - -static void secp256k1_rfc6979_hmac_sha256_initialize(secp256k1_rfc6979_hmac_sha256 *rng, const unsigned char *key, size_t keylen) { - secp256k1_hmac_sha256 hmac; - static const unsigned char zero[1] = {0x00}; - static const unsigned char one[1] = {0x01}; - - memset(rng->v, 0x01, 32); /* RFC6979 3.2.b. */ - memset(rng->k, 0x00, 32); /* RFC6979 3.2.c. */ - - /* RFC6979 3.2.d. */ - secp256k1_hmac_sha256_initialize(&hmac, rng->k, 32); - secp256k1_hmac_sha256_write(&hmac, rng->v, 32); - secp256k1_hmac_sha256_write(&hmac, zero, 1); - secp256k1_hmac_sha256_write(&hmac, key, keylen); - secp256k1_hmac_sha256_finalize(&hmac, rng->k); - secp256k1_hmac_sha256_initialize(&hmac, rng->k, 32); - secp256k1_hmac_sha256_write(&hmac, rng->v, 32); - secp256k1_hmac_sha256_finalize(&hmac, rng->v); - - /* RFC6979 3.2.f. */ - secp256k1_hmac_sha256_initialize(&hmac, rng->k, 32); - secp256k1_hmac_sha256_write(&hmac, rng->v, 32); - secp256k1_hmac_sha256_write(&hmac, one, 1); - secp256k1_hmac_sha256_write(&hmac, key, keylen); - secp256k1_hmac_sha256_finalize(&hmac, rng->k); - secp256k1_hmac_sha256_initialize(&hmac, rng->k, 32); - secp256k1_hmac_sha256_write(&hmac, rng->v, 32); - secp256k1_hmac_sha256_finalize(&hmac, rng->v); - rng->retry = 0; -} - -static void secp256k1_rfc6979_hmac_sha256_generate(secp256k1_rfc6979_hmac_sha256 *rng, unsigned char *out, size_t outlen) { - /* RFC6979 3.2.h. */ - static const unsigned char zero[1] = {0x00}; - if (rng->retry) { - secp256k1_hmac_sha256 hmac; - secp256k1_hmac_sha256_initialize(&hmac, rng->k, 32); - secp256k1_hmac_sha256_write(&hmac, rng->v, 32); - secp256k1_hmac_sha256_write(&hmac, zero, 1); - secp256k1_hmac_sha256_finalize(&hmac, rng->k); - secp256k1_hmac_sha256_initialize(&hmac, rng->k, 32); - secp256k1_hmac_sha256_write(&hmac, rng->v, 32); - secp256k1_hmac_sha256_finalize(&hmac, rng->v); - } - - while (outlen > 0) { - secp256k1_hmac_sha256 hmac; - int now = outlen; - secp256k1_hmac_sha256_initialize(&hmac, rng->k, 32); - secp256k1_hmac_sha256_write(&hmac, rng->v, 32); - secp256k1_hmac_sha256_finalize(&hmac, rng->v); - if (now > 32) { - now = 32; - } - memcpy(out, rng->v, now); - out += now; - outlen -= now; - } - - rng->retry = 1; -} - -static void secp256k1_rfc6979_hmac_sha256_finalize(secp256k1_rfc6979_hmac_sha256 *rng) { - memset(rng->k, 0, 32); - memset(rng->v, 0, 32); - rng->retry = 0; -} - -#undef BE32 -#undef Round -#undef sigma1 -#undef sigma0 -#undef Sigma1 -#undef Sigma0 -#undef Maj -#undef Ch - -#endif /* SECP256K1_HASH_IMPL_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/modules/ecdh/main_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/modules/ecdh/main_impl.h deleted file mode 100644 index 85602208f..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/modules/ecdh/main_impl.h +++ /dev/null @@ -1,54 +0,0 @@ -/********************************************************************** - * Copyright (c) 2015 Andrew Poelstra * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_MODULE_ECDH_MAIN_H -#define SECP256K1_MODULE_ECDH_MAIN_H - -#include "secp256k1_ecdh.h" -#include "ecmult_const_impl.h" - -int secp256k1_ecdh(const secp256k1_context* ctx, unsigned char *result, const secp256k1_pubkey *point, const unsigned char *scalar) { - int ret = 0; - int overflow = 0; - secp256k1_gej res; - secp256k1_ge pt; - secp256k1_scalar s; - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(result != NULL); - ARG_CHECK(point != NULL); - ARG_CHECK(scalar != NULL); - - secp256k1_pubkey_load(ctx, &pt, point); - secp256k1_scalar_set_b32(&s, scalar, &overflow); - if (overflow || secp256k1_scalar_is_zero(&s)) { - ret = 0; - } else { - unsigned char x[32]; - unsigned char y[1]; - secp256k1_sha256 sha; - - secp256k1_ecmult_const(&res, &pt, &s, 256); - secp256k1_ge_set_gej(&pt, &res); - /* Compute a hash of the point in compressed form - * Note we cannot use secp256k1_eckey_pubkey_serialize here since it does not - * expect its output to be secret and has a timing sidechannel. */ - secp256k1_fe_normalize(&pt.x); - secp256k1_fe_normalize(&pt.y); - secp256k1_fe_get_b32(x, &pt.x); - y[0] = 0x02 | secp256k1_fe_is_odd(&pt.y); - - secp256k1_sha256_initialize(&sha); - secp256k1_sha256_write(&sha, y, sizeof(y)); - secp256k1_sha256_write(&sha, x, sizeof(x)); - secp256k1_sha256_finalize(&sha, result); - ret = 1; - } - - secp256k1_scalar_clear(&s); - return ret; -} - -#endif /* SECP256K1_MODULE_ECDH_MAIN_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/modules/recovery/main_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/modules/recovery/main_impl.h deleted file mode 100755 index 1abe509ff..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/modules/recovery/main_impl.h +++ /dev/null @@ -1,193 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013-2015 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_MODULE_RECOVERY_MAIN_H -#define SECP256K1_MODULE_RECOVERY_MAIN_H - -#include "secp256k1_recovery.h" - -static void secp256k1_ecdsa_recoverable_signature_load(const secp256k1_context* ctx, secp256k1_scalar* r, secp256k1_scalar* s, int* recid, const secp256k1_ecdsa_recoverable_signature* sig) { - (void)ctx; - if (sizeof(secp256k1_scalar) == 32) { - /* When the secp256k1_scalar type is exactly 32 byte, use its - * representation inside secp256k1_ecdsa_signature, as conversion is very fast. - * Note that secp256k1_ecdsa_signature_save must use the same representation. */ - memcpy(r, &sig->data[0], 32); - memcpy(s, &sig->data[32], 32); - } else { - secp256k1_scalar_set_b32(r, &sig->data[0], NULL); - secp256k1_scalar_set_b32(s, &sig->data[32], NULL); - } - *recid = sig->data[64]; -} - -static void secp256k1_ecdsa_recoverable_signature_save(secp256k1_ecdsa_recoverable_signature* sig, const secp256k1_scalar* r, const secp256k1_scalar* s, int recid) { - if (sizeof(secp256k1_scalar) == 32) { - memcpy(&sig->data[0], r, 32); - memcpy(&sig->data[32], s, 32); - } else { - secp256k1_scalar_get_b32(&sig->data[0], r); - secp256k1_scalar_get_b32(&sig->data[32], s); - } - sig->data[64] = recid; -} - -int secp256k1_ecdsa_recoverable_signature_parse_compact(const secp256k1_context* ctx, secp256k1_ecdsa_recoverable_signature* sig, const unsigned char *input64, int recid) { - secp256k1_scalar r, s; - int ret = 1; - int overflow = 0; - - (void)ctx; - ARG_CHECK(sig != NULL); - ARG_CHECK(input64 != NULL); - ARG_CHECK(recid >= 0 && recid <= 3); - - secp256k1_scalar_set_b32(&r, &input64[0], &overflow); - ret &= !overflow; - secp256k1_scalar_set_b32(&s, &input64[32], &overflow); - ret &= !overflow; - if (ret) { - secp256k1_ecdsa_recoverable_signature_save(sig, &r, &s, recid); - } else { - memset(sig, 0, sizeof(*sig)); - } - return ret; -} - -int secp256k1_ecdsa_recoverable_signature_serialize_compact(const secp256k1_context* ctx, unsigned char *output64, int *recid, const secp256k1_ecdsa_recoverable_signature* sig) { - secp256k1_scalar r, s; - - (void)ctx; - ARG_CHECK(output64 != NULL); - ARG_CHECK(sig != NULL); - ARG_CHECK(recid != NULL); - - secp256k1_ecdsa_recoverable_signature_load(ctx, &r, &s, recid, sig); - secp256k1_scalar_get_b32(&output64[0], &r); - secp256k1_scalar_get_b32(&output64[32], &s); - return 1; -} - -int secp256k1_ecdsa_recoverable_signature_convert(const secp256k1_context* ctx, secp256k1_ecdsa_signature* sig, const secp256k1_ecdsa_recoverable_signature* sigin) { - secp256k1_scalar r, s; - int recid; - - (void)ctx; - ARG_CHECK(sig != NULL); - ARG_CHECK(sigin != NULL); - - secp256k1_ecdsa_recoverable_signature_load(ctx, &r, &s, &recid, sigin); - secp256k1_ecdsa_signature_save(sig, &r, &s); - return 1; -} - -static int secp256k1_ecdsa_sig_recover(const secp256k1_ecmult_context *ctx, const secp256k1_scalar *sigr, const secp256k1_scalar* sigs, secp256k1_ge *pubkey, const secp256k1_scalar *message, int recid) { - unsigned char brx[32]; - secp256k1_fe fx; - secp256k1_ge x; - secp256k1_gej xj; - secp256k1_scalar rn, u1, u2; - secp256k1_gej qj; - int r; - - if (secp256k1_scalar_is_zero(sigr) || secp256k1_scalar_is_zero(sigs)) { - return 0; - } - - secp256k1_scalar_get_b32(brx, sigr); - r = secp256k1_fe_set_b32(&fx, brx); - (void)r; - VERIFY_CHECK(r); /* brx comes from a scalar, so is less than the order; certainly less than p */ - if (recid & 2) { - if (secp256k1_fe_cmp_var(&fx, &secp256k1_ecdsa_const_p_minus_order) >= 0) { - return 0; - } - secp256k1_fe_add(&fx, &secp256k1_ecdsa_const_order_as_fe); - } - if (!secp256k1_ge_set_xo_var(&x, &fx, recid & 1)) { - return 0; - } - secp256k1_gej_set_ge(&xj, &x); - secp256k1_scalar_inverse_var(&rn, sigr); - secp256k1_scalar_mul(&u1, &rn, message); - secp256k1_scalar_negate(&u1, &u1); - secp256k1_scalar_mul(&u2, &rn, sigs); - secp256k1_ecmult(ctx, &qj, &xj, &u2, &u1); - secp256k1_ge_set_gej_var(pubkey, &qj); - return !secp256k1_gej_is_infinity(&qj); -} - -int secp256k1_ecdsa_sign_recoverable(const secp256k1_context* ctx, secp256k1_ecdsa_recoverable_signature *signature, const unsigned char *msg32, const unsigned char *seckey, secp256k1_nonce_function noncefp, const void* noncedata) { - secp256k1_scalar r, s; - secp256k1_scalar sec, non, msg; - int recid; - int ret = 0; - int overflow = 0; - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(secp256k1_ecmult_gen_context_is_built(&ctx->ecmult_gen_ctx)); - ARG_CHECK(msg32 != NULL); - ARG_CHECK(signature != NULL); - ARG_CHECK(seckey != NULL); - if (noncefp == NULL) { - noncefp = secp256k1_nonce_function_default; - } - - secp256k1_scalar_set_b32(&sec, seckey, &overflow); - /* Fail if the secret key is invalid. */ - if (!overflow && !secp256k1_scalar_is_zero(&sec)) { - unsigned char nonce32[32]; - unsigned int count = 0; - secp256k1_scalar_set_b32(&msg, msg32, NULL); - while (1) { - ret = noncefp(nonce32, msg32, seckey, NULL, (void*)noncedata, count); - if (!ret) { - break; - } - secp256k1_scalar_set_b32(&non, nonce32, &overflow); - if (!secp256k1_scalar_is_zero(&non) && !overflow) { - if (secp256k1_ecdsa_sig_sign(&ctx->ecmult_gen_ctx, &r, &s, &sec, &msg, &non, &recid)) { - break; - } - } - count++; - } - memset(nonce32, 0, 32); - secp256k1_scalar_clear(&msg); - secp256k1_scalar_clear(&non); - secp256k1_scalar_clear(&sec); - } - if (ret) { - secp256k1_ecdsa_recoverable_signature_save(signature, &r, &s, recid); - } else { - memset(signature, 0, sizeof(*signature)); - } - return ret; -} - -int secp256k1_ecdsa_recover(const secp256k1_context* ctx, secp256k1_pubkey *pubkey, const secp256k1_ecdsa_recoverable_signature *signature, const unsigned char *msg32) { - secp256k1_ge q; - secp256k1_scalar r, s; - secp256k1_scalar m; - int recid; - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(secp256k1_ecmult_context_is_built(&ctx->ecmult_ctx)); - ARG_CHECK(msg32 != NULL); - ARG_CHECK(signature != NULL); - ARG_CHECK(pubkey != NULL); - - secp256k1_ecdsa_recoverable_signature_load(ctx, &r, &s, &recid, signature); - VERIFY_CHECK(recid >= 0 && recid < 4); /* should have been caught in parse_compact */ - secp256k1_scalar_set_b32(&m, msg32, NULL); - if (secp256k1_ecdsa_sig_recover(&ctx->ecmult_ctx, &r, &s, &q, &m, recid)) { - secp256k1_pubkey_save(pubkey, &q); - return 1; - } else { - memset(pubkey, 0, sizeof(*pubkey)); - return 0; - } -} - -#endif /* SECP256K1_MODULE_RECOVERY_MAIN_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/num.h b/Pods/secp256k1_ios/secp256k1_ios/src/num.h deleted file mode 100644 index 49f2dd791..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/num.h +++ /dev/null @@ -1,74 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_NUM_H -#define SECP256K1_NUM_H - -#ifndef USE_NUM_NONE - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#if defined(USE_NUM_GMP) -#include "num_gmp.h" -#else -#error "Please select num implementation" -#endif - -/** Copy a number. */ -static void secp256k1_num_copy(secp256k1_num *r, const secp256k1_num *a); - -/** Convert a number's absolute value to a binary big-endian string. - * There must be enough place. */ -static void secp256k1_num_get_bin(unsigned char *r, unsigned int rlen, const secp256k1_num *a); - -/** Set a number to the value of a binary big-endian string. */ -static void secp256k1_num_set_bin(secp256k1_num *r, const unsigned char *a, unsigned int alen); - -/** Compute a modular inverse. The input must be less than the modulus. */ -static void secp256k1_num_mod_inverse(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *m); - -/** Compute the jacobi symbol (a|b). b must be positive and odd. */ -static int secp256k1_num_jacobi(const secp256k1_num *a, const secp256k1_num *b); - -/** Compare the absolute value of two numbers. */ -static int secp256k1_num_cmp(const secp256k1_num *a, const secp256k1_num *b); - -/** Test whether two number are equal (including sign). */ -static int secp256k1_num_eq(const secp256k1_num *a, const secp256k1_num *b); - -/** Add two (signed) numbers. */ -static void secp256k1_num_add(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b); - -/** Subtract two (signed) numbers. */ -static void secp256k1_num_sub(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b); - -/** Multiply two (signed) numbers. */ -static void secp256k1_num_mul(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b); - -/** Replace a number by its remainder modulo m. M's sign is ignored. The result is a number between 0 and m-1, - even if r was negative. */ -static void secp256k1_num_mod(secp256k1_num *r, const secp256k1_num *m); - -/** Right-shift the passed number by bits bits. */ -static void secp256k1_num_shift(secp256k1_num *r, int bits); - -/** Check whether a number is zero. */ -static int secp256k1_num_is_zero(const secp256k1_num *a); - -/** Check whether a number is one. */ -static int secp256k1_num_is_one(const secp256k1_num *a); - -/** Check whether a number is strictly negative. */ -static int secp256k1_num_is_neg(const secp256k1_num *a); - -/** Change a number's sign. */ -static void secp256k1_num_negate(secp256k1_num *r); - -#endif - -#endif /* SECP256K1_NUM_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/num_gmp.h b/Pods/secp256k1_ios/secp256k1_ios/src/num_gmp.h deleted file mode 100644 index 3619844bd..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/num_gmp.h +++ /dev/null @@ -1,20 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_NUM_REPR_H -#define SECP256K1_NUM_REPR_H - -#include - -#define NUM_LIMBS ((256+GMP_NUMB_BITS-1)/GMP_NUMB_BITS) - -typedef struct { - mp_limb_t data[2*NUM_LIMBS]; - int neg; - int limbs; -} secp256k1_num; - -#endif /* SECP256K1_NUM_REPR_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/num_gmp_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/num_gmp_impl.h deleted file mode 100644 index 0ae2a8ba0..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/num_gmp_impl.h +++ /dev/null @@ -1,288 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_NUM_REPR_IMPL_H -#define SECP256K1_NUM_REPR_IMPL_H - -#include -#include -#include - -#include "util.h" -#include "num.h" - -#ifdef VERIFY -static void secp256k1_num_sanity(const secp256k1_num *a) { - VERIFY_CHECK(a->limbs == 1 || (a->limbs > 1 && a->data[a->limbs-1] != 0)); -} -#else -#define secp256k1_num_sanity(a) do { } while(0) -#endif - -static void secp256k1_num_copy(secp256k1_num *r, const secp256k1_num *a) { - *r = *a; -} - -static void secp256k1_num_get_bin(unsigned char *r, unsigned int rlen, const secp256k1_num *a) { - unsigned char tmp[65]; - int len = 0; - int shift = 0; - if (a->limbs>1 || a->data[0] != 0) { - len = mpn_get_str(tmp, 256, (mp_limb_t*)a->data, a->limbs); - } - while (shift < len && tmp[shift] == 0) shift++; - VERIFY_CHECK(len-shift <= (int)rlen); - memset(r, 0, rlen - len + shift); - if (len > shift) { - memcpy(r + rlen - len + shift, tmp + shift, len - shift); - } - memset(tmp, 0, sizeof(tmp)); -} - -static void secp256k1_num_set_bin(secp256k1_num *r, const unsigned char *a, unsigned int alen) { - int len; - VERIFY_CHECK(alen > 0); - VERIFY_CHECK(alen <= 64); - len = mpn_set_str(r->data, a, alen, 256); - if (len == 0) { - r->data[0] = 0; - len = 1; - } - VERIFY_CHECK(len <= NUM_LIMBS*2); - r->limbs = len; - r->neg = 0; - while (r->limbs > 1 && r->data[r->limbs-1]==0) { - r->limbs--; - } -} - -static void secp256k1_num_add_abs(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b) { - mp_limb_t c = mpn_add(r->data, a->data, a->limbs, b->data, b->limbs); - r->limbs = a->limbs; - if (c != 0) { - VERIFY_CHECK(r->limbs < 2*NUM_LIMBS); - r->data[r->limbs++] = c; - } -} - -static void secp256k1_num_sub_abs(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b) { - mp_limb_t c = mpn_sub(r->data, a->data, a->limbs, b->data, b->limbs); - (void)c; - VERIFY_CHECK(c == 0); - r->limbs = a->limbs; - while (r->limbs > 1 && r->data[r->limbs-1]==0) { - r->limbs--; - } -} - -static void secp256k1_num_mod(secp256k1_num *r, const secp256k1_num *m) { - secp256k1_num_sanity(r); - secp256k1_num_sanity(m); - - if (r->limbs >= m->limbs) { - mp_limb_t t[2*NUM_LIMBS]; - mpn_tdiv_qr(t, r->data, 0, r->data, r->limbs, m->data, m->limbs); - memset(t, 0, sizeof(t)); - r->limbs = m->limbs; - while (r->limbs > 1 && r->data[r->limbs-1]==0) { - r->limbs--; - } - } - - if (r->neg && (r->limbs > 1 || r->data[0] != 0)) { - secp256k1_num_sub_abs(r, m, r); - r->neg = 0; - } -} - -static void secp256k1_num_mod_inverse(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *m) { - int i; - mp_limb_t g[NUM_LIMBS+1]; - mp_limb_t u[NUM_LIMBS+1]; - mp_limb_t v[NUM_LIMBS+1]; - mp_size_t sn; - mp_size_t gn; - secp256k1_num_sanity(a); - secp256k1_num_sanity(m); - - /** mpn_gcdext computes: (G,S) = gcdext(U,V), where - * * G = gcd(U,V) - * * G = U*S + V*T - * * U has equal or more limbs than V, and V has no padding - * If we set U to be (a padded version of) a, and V = m: - * G = a*S + m*T - * G = a*S mod m - * Assuming G=1: - * S = 1/a mod m - */ - VERIFY_CHECK(m->limbs <= NUM_LIMBS); - VERIFY_CHECK(m->data[m->limbs-1] != 0); - for (i = 0; i < m->limbs; i++) { - u[i] = (i < a->limbs) ? a->data[i] : 0; - v[i] = m->data[i]; - } - sn = NUM_LIMBS+1; - gn = mpn_gcdext(g, r->data, &sn, u, m->limbs, v, m->limbs); - (void)gn; - VERIFY_CHECK(gn == 1); - VERIFY_CHECK(g[0] == 1); - r->neg = a->neg ^ m->neg; - if (sn < 0) { - mpn_sub(r->data, m->data, m->limbs, r->data, -sn); - r->limbs = m->limbs; - while (r->limbs > 1 && r->data[r->limbs-1]==0) { - r->limbs--; - } - } else { - r->limbs = sn; - } - memset(g, 0, sizeof(g)); - memset(u, 0, sizeof(u)); - memset(v, 0, sizeof(v)); -} - -static int secp256k1_num_jacobi(const secp256k1_num *a, const secp256k1_num *b) { - int ret; - mpz_t ga, gb; - secp256k1_num_sanity(a); - secp256k1_num_sanity(b); - VERIFY_CHECK(!b->neg && (b->limbs > 0) && (b->data[0] & 1)); - - mpz_inits(ga, gb, NULL); - - mpz_import(gb, b->limbs, -1, sizeof(mp_limb_t), 0, 0, b->data); - mpz_import(ga, a->limbs, -1, sizeof(mp_limb_t), 0, 0, a->data); - if (a->neg) { - mpz_neg(ga, ga); - } - - ret = mpz_jacobi(ga, gb); - - mpz_clears(ga, gb, NULL); - - return ret; -} - -static int secp256k1_num_is_one(const secp256k1_num *a) { - return (a->limbs == 1 && a->data[0] == 1); -} - -static int secp256k1_num_is_zero(const secp256k1_num *a) { - return (a->limbs == 1 && a->data[0] == 0); -} - -static int secp256k1_num_is_neg(const secp256k1_num *a) { - return (a->limbs > 1 || a->data[0] != 0) && a->neg; -} - -static int secp256k1_num_cmp(const secp256k1_num *a, const secp256k1_num *b) { - if (a->limbs > b->limbs) { - return 1; - } - if (a->limbs < b->limbs) { - return -1; - } - return mpn_cmp(a->data, b->data, a->limbs); -} - -static int secp256k1_num_eq(const secp256k1_num *a, const secp256k1_num *b) { - if (a->limbs > b->limbs) { - return 0; - } - if (a->limbs < b->limbs) { - return 0; - } - if ((a->neg && !secp256k1_num_is_zero(a)) != (b->neg && !secp256k1_num_is_zero(b))) { - return 0; - } - return mpn_cmp(a->data, b->data, a->limbs) == 0; -} - -static void secp256k1_num_subadd(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b, int bneg) { - if (!(b->neg ^ bneg ^ a->neg)) { /* a and b have the same sign */ - r->neg = a->neg; - if (a->limbs >= b->limbs) { - secp256k1_num_add_abs(r, a, b); - } else { - secp256k1_num_add_abs(r, b, a); - } - } else { - if (secp256k1_num_cmp(a, b) > 0) { - r->neg = a->neg; - secp256k1_num_sub_abs(r, a, b); - } else { - r->neg = b->neg ^ bneg; - secp256k1_num_sub_abs(r, b, a); - } - } -} - -static void secp256k1_num_add(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b) { - secp256k1_num_sanity(a); - secp256k1_num_sanity(b); - secp256k1_num_subadd(r, a, b, 0); -} - -static void secp256k1_num_sub(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b) { - secp256k1_num_sanity(a); - secp256k1_num_sanity(b); - secp256k1_num_subadd(r, a, b, 1); -} - -static void secp256k1_num_mul(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b) { - mp_limb_t tmp[2*NUM_LIMBS+1]; - secp256k1_num_sanity(a); - secp256k1_num_sanity(b); - - VERIFY_CHECK(a->limbs + b->limbs <= 2*NUM_LIMBS+1); - if ((a->limbs==1 && a->data[0]==0) || (b->limbs==1 && b->data[0]==0)) { - r->limbs = 1; - r->neg = 0; - r->data[0] = 0; - return; - } - if (a->limbs >= b->limbs) { - mpn_mul(tmp, a->data, a->limbs, b->data, b->limbs); - } else { - mpn_mul(tmp, b->data, b->limbs, a->data, a->limbs); - } - r->limbs = a->limbs + b->limbs; - if (r->limbs > 1 && tmp[r->limbs - 1]==0) { - r->limbs--; - } - VERIFY_CHECK(r->limbs <= 2*NUM_LIMBS); - mpn_copyi(r->data, tmp, r->limbs); - r->neg = a->neg ^ b->neg; - memset(tmp, 0, sizeof(tmp)); -} - -static void secp256k1_num_shift(secp256k1_num *r, int bits) { - if (bits % GMP_NUMB_BITS) { - /* Shift within limbs. */ - mpn_rshift(r->data, r->data, r->limbs, bits % GMP_NUMB_BITS); - } - if (bits >= GMP_NUMB_BITS) { - int i; - /* Shift full limbs. */ - for (i = 0; i < r->limbs; i++) { - int index = i + (bits / GMP_NUMB_BITS); - if (index < r->limbs && index < 2*NUM_LIMBS) { - r->data[i] = r->data[index]; - } else { - r->data[i] = 0; - } - } - } - while (r->limbs>1 && r->data[r->limbs-1]==0) { - r->limbs--; - } -} - -static void secp256k1_num_negate(secp256k1_num *r) { - r->neg ^= 1; -} - -#endif /* SECP256K1_NUM_REPR_IMPL_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/num_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/num_impl.h deleted file mode 100644 index c45193b03..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/num_impl.h +++ /dev/null @@ -1,24 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_NUM_IMPL_H -#define SECP256K1_NUM_IMPL_H - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#include "num.h" - -#if defined(USE_NUM_GMP) -#include "num_gmp_impl.h" -#elif defined(USE_NUM_NONE) -/* Nothing. */ -#else -#error "Please select num implementation" -#endif - -#endif /* SECP256K1_NUM_IMPL_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/scalar.h b/Pods/secp256k1_ios/secp256k1_ios/src/scalar.h deleted file mode 100644 index 59304cb66..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/scalar.h +++ /dev/null @@ -1,106 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_SCALAR_H -#define SECP256K1_SCALAR_H - -#include "num.h" - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#if defined(EXHAUSTIVE_TEST_ORDER) -#include "scalar_low.h" -#elif defined(USE_SCALAR_4X64) -#include "scalar_4x64.h" -#elif defined(USE_SCALAR_8X32) -#include "scalar_8x32.h" -#else -#error "Please select scalar implementation" -#endif - -/** Clear a scalar to prevent the leak of sensitive data. */ -static void secp256k1_scalar_clear(secp256k1_scalar *r); - -/** Access bits from a scalar. All requested bits must belong to the same 32-bit limb. */ -static unsigned int secp256k1_scalar_get_bits(const secp256k1_scalar *a, unsigned int offset, unsigned int count); - -/** Access bits from a scalar. Not constant time. */ -static unsigned int secp256k1_scalar_get_bits_var(const secp256k1_scalar *a, unsigned int offset, unsigned int count); - -/** Set a scalar from a big endian byte array. */ -static void secp256k1_scalar_set_b32(secp256k1_scalar *r, const unsigned char *bin, int *overflow); - -/** Set a scalar to an unsigned integer. */ -static void secp256k1_scalar_set_int(secp256k1_scalar *r, unsigned int v); - -/** Convert a scalar to a byte array. */ -static void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar* a); - -/** Add two scalars together (modulo the group order). Returns whether it overflowed. */ -static int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b); - -/** Conditionally add a power of two to a scalar. The result is not allowed to overflow. */ -static void secp256k1_scalar_cadd_bit(secp256k1_scalar *r, unsigned int bit, int flag); - -/** Multiply two scalars (modulo the group order). */ -static void secp256k1_scalar_mul(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b); - -/** Shift a scalar right by some amount strictly between 0 and 16, returning - * the low bits that were shifted off */ -static int secp256k1_scalar_shr_int(secp256k1_scalar *r, int n); - -/** Compute the square of a scalar (modulo the group order). */ -static void secp256k1_scalar_sqr(secp256k1_scalar *r, const secp256k1_scalar *a); - -/** Compute the inverse of a scalar (modulo the group order). */ -static void secp256k1_scalar_inverse(secp256k1_scalar *r, const secp256k1_scalar *a); - -/** Compute the inverse of a scalar (modulo the group order), without constant-time guarantee. */ -static void secp256k1_scalar_inverse_var(secp256k1_scalar *r, const secp256k1_scalar *a); - -/** Compute the complement of a scalar (modulo the group order). */ -static void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1_scalar *a); - -/** Check whether a scalar equals zero. */ -static int secp256k1_scalar_is_zero(const secp256k1_scalar *a); - -/** Check whether a scalar equals one. */ -static int secp256k1_scalar_is_one(const secp256k1_scalar *a); - -/** Check whether a scalar, considered as an nonnegative integer, is even. */ -static int secp256k1_scalar_is_even(const secp256k1_scalar *a); - -/** Check whether a scalar is higher than the group order divided by 2. */ -static int secp256k1_scalar_is_high(const secp256k1_scalar *a); - -/** Conditionally negate a number, in constant time. - * Returns -1 if the number was negated, 1 otherwise */ -static int secp256k1_scalar_cond_negate(secp256k1_scalar *a, int flag); - -#ifndef USE_NUM_NONE -/** Convert a scalar to a number. */ -static void secp256k1_scalar_get_num(secp256k1_num *r, const secp256k1_scalar *a); - -/** Get the order of the group as a number. */ -static void secp256k1_scalar_order_get_num(secp256k1_num *r); -#endif - -/** Compare two scalars. */ -static int secp256k1_scalar_eq(const secp256k1_scalar *a, const secp256k1_scalar *b); - -#ifdef USE_ENDOMORPHISM -/** Find r1 and r2 such that r1+r2*2^128 = a. */ -static void secp256k1_scalar_split_128(secp256k1_scalar *r1, secp256k1_scalar *r2, const secp256k1_scalar *a); -/** Find r1 and r2 such that r1+r2*lambda = a, and r1 and r2 are maximum 128 bits long (see secp256k1_gej_mul_lambda). */ -static void secp256k1_scalar_split_lambda(secp256k1_scalar *r1, secp256k1_scalar *r2, const secp256k1_scalar *a); -#endif - -/** Multiply a and b (without taking the modulus!), divide by 2**shift, and round to the nearest integer. Shift must be at least 256. */ -static void secp256k1_scalar_mul_shift_var(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b, unsigned int shift); - -#endif /* SECP256K1_SCALAR_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/scalar_4x64.h b/Pods/secp256k1_ios/secp256k1_ios/src/scalar_4x64.h deleted file mode 100644 index 19c7495d1..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/scalar_4x64.h +++ /dev/null @@ -1,19 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_SCALAR_REPR_H -#define SECP256K1_SCALAR_REPR_H - -#include - -/** A scalar modulo the group order of the secp256k1 curve. */ -typedef struct { - uint64_t d[4]; -} secp256k1_scalar; - -#define SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {{((uint64_t)(d1)) << 32 | (d0), ((uint64_t)(d3)) << 32 | (d2), ((uint64_t)(d5)) << 32 | (d4), ((uint64_t)(d7)) << 32 | (d6)}} - -#endif /* SECP256K1_SCALAR_REPR_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/scalar_4x64_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/scalar_4x64_impl.h deleted file mode 100644 index db1ebf94b..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/scalar_4x64_impl.h +++ /dev/null @@ -1,949 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_SCALAR_REPR_IMPL_H -#define SECP256K1_SCALAR_REPR_IMPL_H - -/* Limbs of the secp256k1 order. */ -#define SECP256K1_N_0 ((uint64_t)0xBFD25E8CD0364141ULL) -#define SECP256K1_N_1 ((uint64_t)0xBAAEDCE6AF48A03BULL) -#define SECP256K1_N_2 ((uint64_t)0xFFFFFFFFFFFFFFFEULL) -#define SECP256K1_N_3 ((uint64_t)0xFFFFFFFFFFFFFFFFULL) - -/* Limbs of 2^256 minus the secp256k1 order. */ -#define SECP256K1_N_C_0 (~SECP256K1_N_0 + 1) -#define SECP256K1_N_C_1 (~SECP256K1_N_1) -#define SECP256K1_N_C_2 (1) - -/* Limbs of half the secp256k1 order. */ -#define SECP256K1_N_H_0 ((uint64_t)0xDFE92F46681B20A0ULL) -#define SECP256K1_N_H_1 ((uint64_t)0x5D576E7357A4501DULL) -#define SECP256K1_N_H_2 ((uint64_t)0xFFFFFFFFFFFFFFFFULL) -#define SECP256K1_N_H_3 ((uint64_t)0x7FFFFFFFFFFFFFFFULL) - -SECP256K1_INLINE static void secp256k1_scalar_clear(secp256k1_scalar *r) { - r->d[0] = 0; - r->d[1] = 0; - r->d[2] = 0; - r->d[3] = 0; -} - -SECP256K1_INLINE static void secp256k1_scalar_set_int(secp256k1_scalar *r, unsigned int v) { - r->d[0] = v; - r->d[1] = 0; - r->d[2] = 0; - r->d[3] = 0; -} - -SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits(const secp256k1_scalar *a, unsigned int offset, unsigned int count) { - VERIFY_CHECK((offset + count - 1) >> 6 == offset >> 6); - return (a->d[offset >> 6] >> (offset & 0x3F)) & ((((uint64_t)1) << count) - 1); -} - -SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits_var(const secp256k1_scalar *a, unsigned int offset, unsigned int count) { - VERIFY_CHECK(count < 32); - VERIFY_CHECK(offset + count <= 256); - if ((offset + count - 1) >> 6 == offset >> 6) { - return secp256k1_scalar_get_bits(a, offset, count); - } else { - VERIFY_CHECK((offset >> 6) + 1 < 4); - return ((a->d[offset >> 6] >> (offset & 0x3F)) | (a->d[(offset >> 6) + 1] << (64 - (offset & 0x3F)))) & ((((uint64_t)1) << count) - 1); - } -} - -SECP256K1_INLINE static int secp256k1_scalar_check_overflow(const secp256k1_scalar *a) { - int yes = 0; - int no = 0; - no |= (a->d[3] < SECP256K1_N_3); /* No need for a > check. */ - no |= (a->d[2] < SECP256K1_N_2); - yes |= (a->d[2] > SECP256K1_N_2) & ~no; - no |= (a->d[1] < SECP256K1_N_1); - yes |= (a->d[1] > SECP256K1_N_1) & ~no; - yes |= (a->d[0] >= SECP256K1_N_0) & ~no; - return yes; -} - -SECP256K1_INLINE static int secp256k1_scalar_reduce(secp256k1_scalar *r, unsigned int overflow) { - uint128_t t; - VERIFY_CHECK(overflow <= 1); - t = (uint128_t)r->d[0] + overflow * SECP256K1_N_C_0; - r->d[0] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)r->d[1] + overflow * SECP256K1_N_C_1; - r->d[1] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)r->d[2] + overflow * SECP256K1_N_C_2; - r->d[2] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint64_t)r->d[3]; - r->d[3] = t & 0xFFFFFFFFFFFFFFFFULL; - return overflow; -} - -static int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b) { - int overflow; - uint128_t t = (uint128_t)a->d[0] + b->d[0]; - r->d[0] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)a->d[1] + b->d[1]; - r->d[1] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)a->d[2] + b->d[2]; - r->d[2] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)a->d[3] + b->d[3]; - r->d[3] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - overflow = t + secp256k1_scalar_check_overflow(r); - VERIFY_CHECK(overflow == 0 || overflow == 1); - secp256k1_scalar_reduce(r, overflow); - return overflow; -} - -static void secp256k1_scalar_cadd_bit(secp256k1_scalar *r, unsigned int bit, int flag) { - uint128_t t; - VERIFY_CHECK(bit < 256); - bit += ((uint32_t) flag - 1) & 0x100; /* forcing (bit >> 6) > 3 makes this a noop */ - t = (uint128_t)r->d[0] + (((uint64_t)((bit >> 6) == 0)) << (bit & 0x3F)); - r->d[0] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)r->d[1] + (((uint64_t)((bit >> 6) == 1)) << (bit & 0x3F)); - r->d[1] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)r->d[2] + (((uint64_t)((bit >> 6) == 2)) << (bit & 0x3F)); - r->d[2] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)r->d[3] + (((uint64_t)((bit >> 6) == 3)) << (bit & 0x3F)); - r->d[3] = t & 0xFFFFFFFFFFFFFFFFULL; -#ifdef VERIFY - VERIFY_CHECK((t >> 64) == 0); - VERIFY_CHECK(secp256k1_scalar_check_overflow(r) == 0); -#endif -} - -static void secp256k1_scalar_set_b32(secp256k1_scalar *r, const unsigned char *b32, int *overflow) { - int over; - r->d[0] = (uint64_t)b32[31] | (uint64_t)b32[30] << 8 | (uint64_t)b32[29] << 16 | (uint64_t)b32[28] << 24 | (uint64_t)b32[27] << 32 | (uint64_t)b32[26] << 40 | (uint64_t)b32[25] << 48 | (uint64_t)b32[24] << 56; - r->d[1] = (uint64_t)b32[23] | (uint64_t)b32[22] << 8 | (uint64_t)b32[21] << 16 | (uint64_t)b32[20] << 24 | (uint64_t)b32[19] << 32 | (uint64_t)b32[18] << 40 | (uint64_t)b32[17] << 48 | (uint64_t)b32[16] << 56; - r->d[2] = (uint64_t)b32[15] | (uint64_t)b32[14] << 8 | (uint64_t)b32[13] << 16 | (uint64_t)b32[12] << 24 | (uint64_t)b32[11] << 32 | (uint64_t)b32[10] << 40 | (uint64_t)b32[9] << 48 | (uint64_t)b32[8] << 56; - r->d[3] = (uint64_t)b32[7] | (uint64_t)b32[6] << 8 | (uint64_t)b32[5] << 16 | (uint64_t)b32[4] << 24 | (uint64_t)b32[3] << 32 | (uint64_t)b32[2] << 40 | (uint64_t)b32[1] << 48 | (uint64_t)b32[0] << 56; - over = secp256k1_scalar_reduce(r, secp256k1_scalar_check_overflow(r)); - if (overflow) { - *overflow = over; - } -} - -static void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar* a) { - bin[0] = a->d[3] >> 56; bin[1] = a->d[3] >> 48; bin[2] = a->d[3] >> 40; bin[3] = a->d[3] >> 32; bin[4] = a->d[3] >> 24; bin[5] = a->d[3] >> 16; bin[6] = a->d[3] >> 8; bin[7] = a->d[3]; - bin[8] = a->d[2] >> 56; bin[9] = a->d[2] >> 48; bin[10] = a->d[2] >> 40; bin[11] = a->d[2] >> 32; bin[12] = a->d[2] >> 24; bin[13] = a->d[2] >> 16; bin[14] = a->d[2] >> 8; bin[15] = a->d[2]; - bin[16] = a->d[1] >> 56; bin[17] = a->d[1] >> 48; bin[18] = a->d[1] >> 40; bin[19] = a->d[1] >> 32; bin[20] = a->d[1] >> 24; bin[21] = a->d[1] >> 16; bin[22] = a->d[1] >> 8; bin[23] = a->d[1]; - bin[24] = a->d[0] >> 56; bin[25] = a->d[0] >> 48; bin[26] = a->d[0] >> 40; bin[27] = a->d[0] >> 32; bin[28] = a->d[0] >> 24; bin[29] = a->d[0] >> 16; bin[30] = a->d[0] >> 8; bin[31] = a->d[0]; -} - -SECP256K1_INLINE static int secp256k1_scalar_is_zero(const secp256k1_scalar *a) { - return (a->d[0] | a->d[1] | a->d[2] | a->d[3]) == 0; -} - -static void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1_scalar *a) { - uint64_t nonzero = 0xFFFFFFFFFFFFFFFFULL * (secp256k1_scalar_is_zero(a) == 0); - uint128_t t = (uint128_t)(~a->d[0]) + SECP256K1_N_0 + 1; - r->d[0] = t & nonzero; t >>= 64; - t += (uint128_t)(~a->d[1]) + SECP256K1_N_1; - r->d[1] = t & nonzero; t >>= 64; - t += (uint128_t)(~a->d[2]) + SECP256K1_N_2; - r->d[2] = t & nonzero; t >>= 64; - t += (uint128_t)(~a->d[3]) + SECP256K1_N_3; - r->d[3] = t & nonzero; -} - -SECP256K1_INLINE static int secp256k1_scalar_is_one(const secp256k1_scalar *a) { - return ((a->d[0] ^ 1) | a->d[1] | a->d[2] | a->d[3]) == 0; -} - -static int secp256k1_scalar_is_high(const secp256k1_scalar *a) { - int yes = 0; - int no = 0; - no |= (a->d[3] < SECP256K1_N_H_3); - yes |= (a->d[3] > SECP256K1_N_H_3) & ~no; - no |= (a->d[2] < SECP256K1_N_H_2) & ~yes; /* No need for a > check. */ - no |= (a->d[1] < SECP256K1_N_H_1) & ~yes; - yes |= (a->d[1] > SECP256K1_N_H_1) & ~no; - yes |= (a->d[0] > SECP256K1_N_H_0) & ~no; - return yes; -} - -static int secp256k1_scalar_cond_negate(secp256k1_scalar *r, int flag) { - /* If we are flag = 0, mask = 00...00 and this is a no-op; - * if we are flag = 1, mask = 11...11 and this is identical to secp256k1_scalar_negate */ - uint64_t mask = !flag - 1; - uint64_t nonzero = (secp256k1_scalar_is_zero(r) != 0) - 1; - uint128_t t = (uint128_t)(r->d[0] ^ mask) + ((SECP256K1_N_0 + 1) & mask); - r->d[0] = t & nonzero; t >>= 64; - t += (uint128_t)(r->d[1] ^ mask) + (SECP256K1_N_1 & mask); - r->d[1] = t & nonzero; t >>= 64; - t += (uint128_t)(r->d[2] ^ mask) + (SECP256K1_N_2 & mask); - r->d[2] = t & nonzero; t >>= 64; - t += (uint128_t)(r->d[3] ^ mask) + (SECP256K1_N_3 & mask); - r->d[3] = t & nonzero; - return 2 * (mask == 0) - 1; -} - -/* Inspired by the macros in OpenSSL's crypto/bn/asm/x86_64-gcc.c. */ - -/** Add a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ -#define muladd(a,b) { \ - uint64_t tl, th; \ - { \ - uint128_t t = (uint128_t)a * b; \ - th = t >> 64; /* at most 0xFFFFFFFFFFFFFFFE */ \ - tl = t; \ - } \ - c0 += tl; /* overflow is handled on the next line */ \ - th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFFFFFFFFFF */ \ - c1 += th; /* overflow is handled on the next line */ \ - c2 += (c1 < th) ? 1 : 0; /* never overflows by contract (verified in the next line) */ \ - VERIFY_CHECK((c1 >= th) || (c2 != 0)); \ -} - -/** Add a*b to the number defined by (c0,c1). c1 must never overflow. */ -#define muladd_fast(a,b) { \ - uint64_t tl, th; \ - { \ - uint128_t t = (uint128_t)a * b; \ - th = t >> 64; /* at most 0xFFFFFFFFFFFFFFFE */ \ - tl = t; \ - } \ - c0 += tl; /* overflow is handled on the next line */ \ - th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFFFFFFFFFF */ \ - c1 += th; /* never overflows by contract (verified in the next line) */ \ - VERIFY_CHECK(c1 >= th); \ -} - -/** Add 2*a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ -#define muladd2(a,b) { \ - uint64_t tl, th, th2, tl2; \ - { \ - uint128_t t = (uint128_t)a * b; \ - th = t >> 64; /* at most 0xFFFFFFFFFFFFFFFE */ \ - tl = t; \ - } \ - th2 = th + th; /* at most 0xFFFFFFFFFFFFFFFE (in case th was 0x7FFFFFFFFFFFFFFF) */ \ - c2 += (th2 < th) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((th2 >= th) || (c2 != 0)); \ - tl2 = tl + tl; /* at most 0xFFFFFFFFFFFFFFFE (in case the lowest 63 bits of tl were 0x7FFFFFFFFFFFFFFF) */ \ - th2 += (tl2 < tl) ? 1 : 0; /* at most 0xFFFFFFFFFFFFFFFF */ \ - c0 += tl2; /* overflow is handled on the next line */ \ - th2 += (c0 < tl2) ? 1 : 0; /* second overflow is handled on the next line */ \ - c2 += (c0 < tl2) & (th2 == 0); /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((c0 >= tl2) || (th2 != 0) || (c2 != 0)); \ - c1 += th2; /* overflow is handled on the next line */ \ - c2 += (c1 < th2) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((c1 >= th2) || (c2 != 0)); \ -} - -/** Add a to the number defined by (c0,c1,c2). c2 must never overflow. */ -#define sumadd(a) { \ - unsigned int over; \ - c0 += (a); /* overflow is handled on the next line */ \ - over = (c0 < (a)) ? 1 : 0; \ - c1 += over; /* overflow is handled on the next line */ \ - c2 += (c1 < over) ? 1 : 0; /* never overflows by contract */ \ -} - -/** Add a to the number defined by (c0,c1). c1 must never overflow, c2 must be zero. */ -#define sumadd_fast(a) { \ - c0 += (a); /* overflow is handled on the next line */ \ - c1 += (c0 < (a)) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((c1 != 0) | (c0 >= (a))); \ - VERIFY_CHECK(c2 == 0); \ -} - -/** Extract the lowest 64 bits of (c0,c1,c2) into n, and left shift the number 64 bits. */ -#define extract(n) { \ - (n) = c0; \ - c0 = c1; \ - c1 = c2; \ - c2 = 0; \ -} - -/** Extract the lowest 64 bits of (c0,c1,c2) into n, and left shift the number 64 bits. c2 is required to be zero. */ -#define extract_fast(n) { \ - (n) = c0; \ - c0 = c1; \ - c1 = 0; \ - VERIFY_CHECK(c2 == 0); \ -} - -static void secp256k1_scalar_reduce_512(secp256k1_scalar *r, const uint64_t *l) { -#ifdef USE_ASM_X86_64 - /* Reduce 512 bits into 385. */ - uint64_t m0, m1, m2, m3, m4, m5, m6; - uint64_t p0, p1, p2, p3, p4; - uint64_t c; - - __asm__ __volatile__( - /* Preload. */ - "movq 32(%%rsi), %%r11\n" - "movq 40(%%rsi), %%r12\n" - "movq 48(%%rsi), %%r13\n" - "movq 56(%%rsi), %%r14\n" - /* Initialize r8,r9,r10 */ - "movq 0(%%rsi), %%r8\n" - "xorq %%r9, %%r9\n" - "xorq %%r10, %%r10\n" - /* (r8,r9) += n0 * c0 */ - "movq %8, %%rax\n" - "mulq %%r11\n" - "addq %%rax, %%r8\n" - "adcq %%rdx, %%r9\n" - /* extract m0 */ - "movq %%r8, %q0\n" - "xorq %%r8, %%r8\n" - /* (r9,r10) += l1 */ - "addq 8(%%rsi), %%r9\n" - "adcq $0, %%r10\n" - /* (r9,r10,r8) += n1 * c0 */ - "movq %8, %%rax\n" - "mulq %%r12\n" - "addq %%rax, %%r9\n" - "adcq %%rdx, %%r10\n" - "adcq $0, %%r8\n" - /* (r9,r10,r8) += n0 * c1 */ - "movq %9, %%rax\n" - "mulq %%r11\n" - "addq %%rax, %%r9\n" - "adcq %%rdx, %%r10\n" - "adcq $0, %%r8\n" - /* extract m1 */ - "movq %%r9, %q1\n" - "xorq %%r9, %%r9\n" - /* (r10,r8,r9) += l2 */ - "addq 16(%%rsi), %%r10\n" - "adcq $0, %%r8\n" - "adcq $0, %%r9\n" - /* (r10,r8,r9) += n2 * c0 */ - "movq %8, %%rax\n" - "mulq %%r13\n" - "addq %%rax, %%r10\n" - "adcq %%rdx, %%r8\n" - "adcq $0, %%r9\n" - /* (r10,r8,r9) += n1 * c1 */ - "movq %9, %%rax\n" - "mulq %%r12\n" - "addq %%rax, %%r10\n" - "adcq %%rdx, %%r8\n" - "adcq $0, %%r9\n" - /* (r10,r8,r9) += n0 */ - "addq %%r11, %%r10\n" - "adcq $0, %%r8\n" - "adcq $0, %%r9\n" - /* extract m2 */ - "movq %%r10, %q2\n" - "xorq %%r10, %%r10\n" - /* (r8,r9,r10) += l3 */ - "addq 24(%%rsi), %%r8\n" - "adcq $0, %%r9\n" - "adcq $0, %%r10\n" - /* (r8,r9,r10) += n3 * c0 */ - "movq %8, %%rax\n" - "mulq %%r14\n" - "addq %%rax, %%r8\n" - "adcq %%rdx, %%r9\n" - "adcq $0, %%r10\n" - /* (r8,r9,r10) += n2 * c1 */ - "movq %9, %%rax\n" - "mulq %%r13\n" - "addq %%rax, %%r8\n" - "adcq %%rdx, %%r9\n" - "adcq $0, %%r10\n" - /* (r8,r9,r10) += n1 */ - "addq %%r12, %%r8\n" - "adcq $0, %%r9\n" - "adcq $0, %%r10\n" - /* extract m3 */ - "movq %%r8, %q3\n" - "xorq %%r8, %%r8\n" - /* (r9,r10,r8) += n3 * c1 */ - "movq %9, %%rax\n" - "mulq %%r14\n" - "addq %%rax, %%r9\n" - "adcq %%rdx, %%r10\n" - "adcq $0, %%r8\n" - /* (r9,r10,r8) += n2 */ - "addq %%r13, %%r9\n" - "adcq $0, %%r10\n" - "adcq $0, %%r8\n" - /* extract m4 */ - "movq %%r9, %q4\n" - /* (r10,r8) += n3 */ - "addq %%r14, %%r10\n" - "adcq $0, %%r8\n" - /* extract m5 */ - "movq %%r10, %q5\n" - /* extract m6 */ - "movq %%r8, %q6\n" - : "=g"(m0), "=g"(m1), "=g"(m2), "=g"(m3), "=g"(m4), "=g"(m5), "=g"(m6) - : "S"(l), "n"(SECP256K1_N_C_0), "n"(SECP256K1_N_C_1) - : "rax", "rdx", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "cc"); - - /* Reduce 385 bits into 258. */ - __asm__ __volatile__( - /* Preload */ - "movq %q9, %%r11\n" - "movq %q10, %%r12\n" - "movq %q11, %%r13\n" - /* Initialize (r8,r9,r10) */ - "movq %q5, %%r8\n" - "xorq %%r9, %%r9\n" - "xorq %%r10, %%r10\n" - /* (r8,r9) += m4 * c0 */ - "movq %12, %%rax\n" - "mulq %%r11\n" - "addq %%rax, %%r8\n" - "adcq %%rdx, %%r9\n" - /* extract p0 */ - "movq %%r8, %q0\n" - "xorq %%r8, %%r8\n" - /* (r9,r10) += m1 */ - "addq %q6, %%r9\n" - "adcq $0, %%r10\n" - /* (r9,r10,r8) += m5 * c0 */ - "movq %12, %%rax\n" - "mulq %%r12\n" - "addq %%rax, %%r9\n" - "adcq %%rdx, %%r10\n" - "adcq $0, %%r8\n" - /* (r9,r10,r8) += m4 * c1 */ - "movq %13, %%rax\n" - "mulq %%r11\n" - "addq %%rax, %%r9\n" - "adcq %%rdx, %%r10\n" - "adcq $0, %%r8\n" - /* extract p1 */ - "movq %%r9, %q1\n" - "xorq %%r9, %%r9\n" - /* (r10,r8,r9) += m2 */ - "addq %q7, %%r10\n" - "adcq $0, %%r8\n" - "adcq $0, %%r9\n" - /* (r10,r8,r9) += m6 * c0 */ - "movq %12, %%rax\n" - "mulq %%r13\n" - "addq %%rax, %%r10\n" - "adcq %%rdx, %%r8\n" - "adcq $0, %%r9\n" - /* (r10,r8,r9) += m5 * c1 */ - "movq %13, %%rax\n" - "mulq %%r12\n" - "addq %%rax, %%r10\n" - "adcq %%rdx, %%r8\n" - "adcq $0, %%r9\n" - /* (r10,r8,r9) += m4 */ - "addq %%r11, %%r10\n" - "adcq $0, %%r8\n" - "adcq $0, %%r9\n" - /* extract p2 */ - "movq %%r10, %q2\n" - /* (r8,r9) += m3 */ - "addq %q8, %%r8\n" - "adcq $0, %%r9\n" - /* (r8,r9) += m6 * c1 */ - "movq %13, %%rax\n" - "mulq %%r13\n" - "addq %%rax, %%r8\n" - "adcq %%rdx, %%r9\n" - /* (r8,r9) += m5 */ - "addq %%r12, %%r8\n" - "adcq $0, %%r9\n" - /* extract p3 */ - "movq %%r8, %q3\n" - /* (r9) += m6 */ - "addq %%r13, %%r9\n" - /* extract p4 */ - "movq %%r9, %q4\n" - : "=&g"(p0), "=&g"(p1), "=&g"(p2), "=g"(p3), "=g"(p4) - : "g"(m0), "g"(m1), "g"(m2), "g"(m3), "g"(m4), "g"(m5), "g"(m6), "n"(SECP256K1_N_C_0), "n"(SECP256K1_N_C_1) - : "rax", "rdx", "r8", "r9", "r10", "r11", "r12", "r13", "cc"); - - /* Reduce 258 bits into 256. */ - __asm__ __volatile__( - /* Preload */ - "movq %q5, %%r10\n" - /* (rax,rdx) = p4 * c0 */ - "movq %7, %%rax\n" - "mulq %%r10\n" - /* (rax,rdx) += p0 */ - "addq %q1, %%rax\n" - "adcq $0, %%rdx\n" - /* extract r0 */ - "movq %%rax, 0(%q6)\n" - /* Move to (r8,r9) */ - "movq %%rdx, %%r8\n" - "xorq %%r9, %%r9\n" - /* (r8,r9) += p1 */ - "addq %q2, %%r8\n" - "adcq $0, %%r9\n" - /* (r8,r9) += p4 * c1 */ - "movq %8, %%rax\n" - "mulq %%r10\n" - "addq %%rax, %%r8\n" - "adcq %%rdx, %%r9\n" - /* Extract r1 */ - "movq %%r8, 8(%q6)\n" - "xorq %%r8, %%r8\n" - /* (r9,r8) += p4 */ - "addq %%r10, %%r9\n" - "adcq $0, %%r8\n" - /* (r9,r8) += p2 */ - "addq %q3, %%r9\n" - "adcq $0, %%r8\n" - /* Extract r2 */ - "movq %%r9, 16(%q6)\n" - "xorq %%r9, %%r9\n" - /* (r8,r9) += p3 */ - "addq %q4, %%r8\n" - "adcq $0, %%r9\n" - /* Extract r3 */ - "movq %%r8, 24(%q6)\n" - /* Extract c */ - "movq %%r9, %q0\n" - : "=g"(c) - : "g"(p0), "g"(p1), "g"(p2), "g"(p3), "g"(p4), "D"(r), "n"(SECP256K1_N_C_0), "n"(SECP256K1_N_C_1) - : "rax", "rdx", "r8", "r9", "r10", "cc", "memory"); -#else - uint128_t c; - uint64_t c0, c1, c2; - uint64_t n0 = l[4], n1 = l[5], n2 = l[6], n3 = l[7]; - uint64_t m0, m1, m2, m3, m4, m5; - uint32_t m6; - uint64_t p0, p1, p2, p3; - uint32_t p4; - - /* Reduce 512 bits into 385. */ - /* m[0..6] = l[0..3] + n[0..3] * SECP256K1_N_C. */ - c0 = l[0]; c1 = 0; c2 = 0; - muladd_fast(n0, SECP256K1_N_C_0); - extract_fast(m0); - sumadd_fast(l[1]); - muladd(n1, SECP256K1_N_C_0); - muladd(n0, SECP256K1_N_C_1); - extract(m1); - sumadd(l[2]); - muladd(n2, SECP256K1_N_C_0); - muladd(n1, SECP256K1_N_C_1); - sumadd(n0); - extract(m2); - sumadd(l[3]); - muladd(n3, SECP256K1_N_C_0); - muladd(n2, SECP256K1_N_C_1); - sumadd(n1); - extract(m3); - muladd(n3, SECP256K1_N_C_1); - sumadd(n2); - extract(m4); - sumadd_fast(n3); - extract_fast(m5); - VERIFY_CHECK(c0 <= 1); - m6 = c0; - - /* Reduce 385 bits into 258. */ - /* p[0..4] = m[0..3] + m[4..6] * SECP256K1_N_C. */ - c0 = m0; c1 = 0; c2 = 0; - muladd_fast(m4, SECP256K1_N_C_0); - extract_fast(p0); - sumadd_fast(m1); - muladd(m5, SECP256K1_N_C_0); - muladd(m4, SECP256K1_N_C_1); - extract(p1); - sumadd(m2); - muladd(m6, SECP256K1_N_C_0); - muladd(m5, SECP256K1_N_C_1); - sumadd(m4); - extract(p2); - sumadd_fast(m3); - muladd_fast(m6, SECP256K1_N_C_1); - sumadd_fast(m5); - extract_fast(p3); - p4 = c0 + m6; - VERIFY_CHECK(p4 <= 2); - - /* Reduce 258 bits into 256. */ - /* r[0..3] = p[0..3] + p[4] * SECP256K1_N_C. */ - c = p0 + (uint128_t)SECP256K1_N_C_0 * p4; - r->d[0] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; - c += p1 + (uint128_t)SECP256K1_N_C_1 * p4; - r->d[1] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; - c += p2 + (uint128_t)p4; - r->d[2] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; - c += p3; - r->d[3] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; -#endif - - /* Final reduction of r. */ - secp256k1_scalar_reduce(r, c + secp256k1_scalar_check_overflow(r)); -} - -static void secp256k1_scalar_mul_512(uint64_t l[8], const secp256k1_scalar *a, const secp256k1_scalar *b) { -#ifdef USE_ASM_X86_64 - const uint64_t *pb = b->d; - __asm__ __volatile__( - /* Preload */ - "movq 0(%%rdi), %%r15\n" - "movq 8(%%rdi), %%rbx\n" - "movq 16(%%rdi), %%rcx\n" - "movq 0(%%rdx), %%r11\n" - "movq 8(%%rdx), %%r12\n" - "movq 16(%%rdx), %%r13\n" - "movq 24(%%rdx), %%r14\n" - /* (rax,rdx) = a0 * b0 */ - "movq %%r15, %%rax\n" - "mulq %%r11\n" - /* Extract l0 */ - "movq %%rax, 0(%%rsi)\n" - /* (r8,r9,r10) = (rdx) */ - "movq %%rdx, %%r8\n" - "xorq %%r9, %%r9\n" - "xorq %%r10, %%r10\n" - /* (r8,r9,r10) += a0 * b1 */ - "movq %%r15, %%rax\n" - "mulq %%r12\n" - "addq %%rax, %%r8\n" - "adcq %%rdx, %%r9\n" - "adcq $0, %%r10\n" - /* (r8,r9,r10) += a1 * b0 */ - "movq %%rbx, %%rax\n" - "mulq %%r11\n" - "addq %%rax, %%r8\n" - "adcq %%rdx, %%r9\n" - "adcq $0, %%r10\n" - /* Extract l1 */ - "movq %%r8, 8(%%rsi)\n" - "xorq %%r8, %%r8\n" - /* (r9,r10,r8) += a0 * b2 */ - "movq %%r15, %%rax\n" - "mulq %%r13\n" - "addq %%rax, %%r9\n" - "adcq %%rdx, %%r10\n" - "adcq $0, %%r8\n" - /* (r9,r10,r8) += a1 * b1 */ - "movq %%rbx, %%rax\n" - "mulq %%r12\n" - "addq %%rax, %%r9\n" - "adcq %%rdx, %%r10\n" - "adcq $0, %%r8\n" - /* (r9,r10,r8) += a2 * b0 */ - "movq %%rcx, %%rax\n" - "mulq %%r11\n" - "addq %%rax, %%r9\n" - "adcq %%rdx, %%r10\n" - "adcq $0, %%r8\n" - /* Extract l2 */ - "movq %%r9, 16(%%rsi)\n" - "xorq %%r9, %%r9\n" - /* (r10,r8,r9) += a0 * b3 */ - "movq %%r15, %%rax\n" - "mulq %%r14\n" - "addq %%rax, %%r10\n" - "adcq %%rdx, %%r8\n" - "adcq $0, %%r9\n" - /* Preload a3 */ - "movq 24(%%rdi), %%r15\n" - /* (r10,r8,r9) += a1 * b2 */ - "movq %%rbx, %%rax\n" - "mulq %%r13\n" - "addq %%rax, %%r10\n" - "adcq %%rdx, %%r8\n" - "adcq $0, %%r9\n" - /* (r10,r8,r9) += a2 * b1 */ - "movq %%rcx, %%rax\n" - "mulq %%r12\n" - "addq %%rax, %%r10\n" - "adcq %%rdx, %%r8\n" - "adcq $0, %%r9\n" - /* (r10,r8,r9) += a3 * b0 */ - "movq %%r15, %%rax\n" - "mulq %%r11\n" - "addq %%rax, %%r10\n" - "adcq %%rdx, %%r8\n" - "adcq $0, %%r9\n" - /* Extract l3 */ - "movq %%r10, 24(%%rsi)\n" - "xorq %%r10, %%r10\n" - /* (r8,r9,r10) += a1 * b3 */ - "movq %%rbx, %%rax\n" - "mulq %%r14\n" - "addq %%rax, %%r8\n" - "adcq %%rdx, %%r9\n" - "adcq $0, %%r10\n" - /* (r8,r9,r10) += a2 * b2 */ - "movq %%rcx, %%rax\n" - "mulq %%r13\n" - "addq %%rax, %%r8\n" - "adcq %%rdx, %%r9\n" - "adcq $0, %%r10\n" - /* (r8,r9,r10) += a3 * b1 */ - "movq %%r15, %%rax\n" - "mulq %%r12\n" - "addq %%rax, %%r8\n" - "adcq %%rdx, %%r9\n" - "adcq $0, %%r10\n" - /* Extract l4 */ - "movq %%r8, 32(%%rsi)\n" - "xorq %%r8, %%r8\n" - /* (r9,r10,r8) += a2 * b3 */ - "movq %%rcx, %%rax\n" - "mulq %%r14\n" - "addq %%rax, %%r9\n" - "adcq %%rdx, %%r10\n" - "adcq $0, %%r8\n" - /* (r9,r10,r8) += a3 * b2 */ - "movq %%r15, %%rax\n" - "mulq %%r13\n" - "addq %%rax, %%r9\n" - "adcq %%rdx, %%r10\n" - "adcq $0, %%r8\n" - /* Extract l5 */ - "movq %%r9, 40(%%rsi)\n" - /* (r10,r8) += a3 * b3 */ - "movq %%r15, %%rax\n" - "mulq %%r14\n" - "addq %%rax, %%r10\n" - "adcq %%rdx, %%r8\n" - /* Extract l6 */ - "movq %%r10, 48(%%rsi)\n" - /* Extract l7 */ - "movq %%r8, 56(%%rsi)\n" - : "+d"(pb) - : "S"(l), "D"(a->d) - : "rax", "rbx", "rcx", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", "cc", "memory"); -#else - /* 160 bit accumulator. */ - uint64_t c0 = 0, c1 = 0; - uint32_t c2 = 0; - - /* l[0..7] = a[0..3] * b[0..3]. */ - muladd_fast(a->d[0], b->d[0]); - extract_fast(l[0]); - muladd(a->d[0], b->d[1]); - muladd(a->d[1], b->d[0]); - extract(l[1]); - muladd(a->d[0], b->d[2]); - muladd(a->d[1], b->d[1]); - muladd(a->d[2], b->d[0]); - extract(l[2]); - muladd(a->d[0], b->d[3]); - muladd(a->d[1], b->d[2]); - muladd(a->d[2], b->d[1]); - muladd(a->d[3], b->d[0]); - extract(l[3]); - muladd(a->d[1], b->d[3]); - muladd(a->d[2], b->d[2]); - muladd(a->d[3], b->d[1]); - extract(l[4]); - muladd(a->d[2], b->d[3]); - muladd(a->d[3], b->d[2]); - extract(l[5]); - muladd_fast(a->d[3], b->d[3]); - extract_fast(l[6]); - VERIFY_CHECK(c1 == 0); - l[7] = c0; -#endif -} - -static void secp256k1_scalar_sqr_512(uint64_t l[8], const secp256k1_scalar *a) { -#ifdef USE_ASM_X86_64 - __asm__ __volatile__( - /* Preload */ - "movq 0(%%rdi), %%r11\n" - "movq 8(%%rdi), %%r12\n" - "movq 16(%%rdi), %%r13\n" - "movq 24(%%rdi), %%r14\n" - /* (rax,rdx) = a0 * a0 */ - "movq %%r11, %%rax\n" - "mulq %%r11\n" - /* Extract l0 */ - "movq %%rax, 0(%%rsi)\n" - /* (r8,r9,r10) = (rdx,0) */ - "movq %%rdx, %%r8\n" - "xorq %%r9, %%r9\n" - "xorq %%r10, %%r10\n" - /* (r8,r9,r10) += 2 * a0 * a1 */ - "movq %%r11, %%rax\n" - "mulq %%r12\n" - "addq %%rax, %%r8\n" - "adcq %%rdx, %%r9\n" - "adcq $0, %%r10\n" - "addq %%rax, %%r8\n" - "adcq %%rdx, %%r9\n" - "adcq $0, %%r10\n" - /* Extract l1 */ - "movq %%r8, 8(%%rsi)\n" - "xorq %%r8, %%r8\n" - /* (r9,r10,r8) += 2 * a0 * a2 */ - "movq %%r11, %%rax\n" - "mulq %%r13\n" - "addq %%rax, %%r9\n" - "adcq %%rdx, %%r10\n" - "adcq $0, %%r8\n" - "addq %%rax, %%r9\n" - "adcq %%rdx, %%r10\n" - "adcq $0, %%r8\n" - /* (r9,r10,r8) += a1 * a1 */ - "movq %%r12, %%rax\n" - "mulq %%r12\n" - "addq %%rax, %%r9\n" - "adcq %%rdx, %%r10\n" - "adcq $0, %%r8\n" - /* Extract l2 */ - "movq %%r9, 16(%%rsi)\n" - "xorq %%r9, %%r9\n" - /* (r10,r8,r9) += 2 * a0 * a3 */ - "movq %%r11, %%rax\n" - "mulq %%r14\n" - "addq %%rax, %%r10\n" - "adcq %%rdx, %%r8\n" - "adcq $0, %%r9\n" - "addq %%rax, %%r10\n" - "adcq %%rdx, %%r8\n" - "adcq $0, %%r9\n" - /* (r10,r8,r9) += 2 * a1 * a2 */ - "movq %%r12, %%rax\n" - "mulq %%r13\n" - "addq %%rax, %%r10\n" - "adcq %%rdx, %%r8\n" - "adcq $0, %%r9\n" - "addq %%rax, %%r10\n" - "adcq %%rdx, %%r8\n" - "adcq $0, %%r9\n" - /* Extract l3 */ - "movq %%r10, 24(%%rsi)\n" - "xorq %%r10, %%r10\n" - /* (r8,r9,r10) += 2 * a1 * a3 */ - "movq %%r12, %%rax\n" - "mulq %%r14\n" - "addq %%rax, %%r8\n" - "adcq %%rdx, %%r9\n" - "adcq $0, %%r10\n" - "addq %%rax, %%r8\n" - "adcq %%rdx, %%r9\n" - "adcq $0, %%r10\n" - /* (r8,r9,r10) += a2 * a2 */ - "movq %%r13, %%rax\n" - "mulq %%r13\n" - "addq %%rax, %%r8\n" - "adcq %%rdx, %%r9\n" - "adcq $0, %%r10\n" - /* Extract l4 */ - "movq %%r8, 32(%%rsi)\n" - "xorq %%r8, %%r8\n" - /* (r9,r10,r8) += 2 * a2 * a3 */ - "movq %%r13, %%rax\n" - "mulq %%r14\n" - "addq %%rax, %%r9\n" - "adcq %%rdx, %%r10\n" - "adcq $0, %%r8\n" - "addq %%rax, %%r9\n" - "adcq %%rdx, %%r10\n" - "adcq $0, %%r8\n" - /* Extract l5 */ - "movq %%r9, 40(%%rsi)\n" - /* (r10,r8) += a3 * a3 */ - "movq %%r14, %%rax\n" - "mulq %%r14\n" - "addq %%rax, %%r10\n" - "adcq %%rdx, %%r8\n" - /* Extract l6 */ - "movq %%r10, 48(%%rsi)\n" - /* Extract l7 */ - "movq %%r8, 56(%%rsi)\n" - : - : "S"(l), "D"(a->d) - : "rax", "rdx", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "cc", "memory"); -#else - /* 160 bit accumulator. */ - uint64_t c0 = 0, c1 = 0; - uint32_t c2 = 0; - - /* l[0..7] = a[0..3] * b[0..3]. */ - muladd_fast(a->d[0], a->d[0]); - extract_fast(l[0]); - muladd2(a->d[0], a->d[1]); - extract(l[1]); - muladd2(a->d[0], a->d[2]); - muladd(a->d[1], a->d[1]); - extract(l[2]); - muladd2(a->d[0], a->d[3]); - muladd2(a->d[1], a->d[2]); - extract(l[3]); - muladd2(a->d[1], a->d[3]); - muladd(a->d[2], a->d[2]); - extract(l[4]); - muladd2(a->d[2], a->d[3]); - extract(l[5]); - muladd_fast(a->d[3], a->d[3]); - extract_fast(l[6]); - VERIFY_CHECK(c1 == 0); - l[7] = c0; -#endif -} - -#undef sumadd -#undef sumadd_fast -#undef muladd -#undef muladd_fast -#undef muladd2 -#undef extract -#undef extract_fast - -static void secp256k1_scalar_mul(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b) { - uint64_t l[8]; - secp256k1_scalar_mul_512(l, a, b); - secp256k1_scalar_reduce_512(r, l); -} - -static int secp256k1_scalar_shr_int(secp256k1_scalar *r, int n) { - int ret; - VERIFY_CHECK(n > 0); - VERIFY_CHECK(n < 16); - ret = r->d[0] & ((1 << n) - 1); - r->d[0] = (r->d[0] >> n) + (r->d[1] << (64 - n)); - r->d[1] = (r->d[1] >> n) + (r->d[2] << (64 - n)); - r->d[2] = (r->d[2] >> n) + (r->d[3] << (64 - n)); - r->d[3] = (r->d[3] >> n); - return ret; -} - -static void secp256k1_scalar_sqr(secp256k1_scalar *r, const secp256k1_scalar *a) { - uint64_t l[8]; - secp256k1_scalar_sqr_512(l, a); - secp256k1_scalar_reduce_512(r, l); -} - -#ifdef USE_ENDOMORPHISM -static void secp256k1_scalar_split_128(secp256k1_scalar *r1, secp256k1_scalar *r2, const secp256k1_scalar *a) { - r1->d[0] = a->d[0]; - r1->d[1] = a->d[1]; - r1->d[2] = 0; - r1->d[3] = 0; - r2->d[0] = a->d[2]; - r2->d[1] = a->d[3]; - r2->d[2] = 0; - r2->d[3] = 0; -} -#endif - -SECP256K1_INLINE static int secp256k1_scalar_eq(const secp256k1_scalar *a, const secp256k1_scalar *b) { - return ((a->d[0] ^ b->d[0]) | (a->d[1] ^ b->d[1]) | (a->d[2] ^ b->d[2]) | (a->d[3] ^ b->d[3])) == 0; -} - -SECP256K1_INLINE static void secp256k1_scalar_mul_shift_var(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b, unsigned int shift) { - uint64_t l[8]; - unsigned int shiftlimbs; - unsigned int shiftlow; - unsigned int shifthigh; - VERIFY_CHECK(shift >= 256); - secp256k1_scalar_mul_512(l, a, b); - shiftlimbs = shift >> 6; - shiftlow = shift & 0x3F; - shifthigh = 64 - shiftlow; - r->d[0] = shift < 512 ? (l[0 + shiftlimbs] >> shiftlow | (shift < 448 && shiftlow ? (l[1 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[1] = shift < 448 ? (l[1 + shiftlimbs] >> shiftlow | (shift < 384 && shiftlow ? (l[2 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[2] = shift < 384 ? (l[2 + shiftlimbs] >> shiftlow | (shift < 320 && shiftlow ? (l[3 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[3] = shift < 320 ? (l[3 + shiftlimbs] >> shiftlow) : 0; - secp256k1_scalar_cadd_bit(r, 0, (l[(shift - 1) >> 6] >> ((shift - 1) & 0x3f)) & 1); -} - -#endif /* SECP256K1_SCALAR_REPR_IMPL_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/scalar_8x32.h b/Pods/secp256k1_ios/secp256k1_ios/src/scalar_8x32.h deleted file mode 100644 index 2c9a348e2..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/scalar_8x32.h +++ /dev/null @@ -1,19 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_SCALAR_REPR_H -#define SECP256K1_SCALAR_REPR_H - -#include - -/** A scalar modulo the group order of the secp256k1 curve. */ -typedef struct { - uint32_t d[8]; -} secp256k1_scalar; - -#define SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {{(d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7)}} - -#endif /* SECP256K1_SCALAR_REPR_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/scalar_8x32_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/scalar_8x32_impl.h deleted file mode 100644 index 4f9ed61fe..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/scalar_8x32_impl.h +++ /dev/null @@ -1,721 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_SCALAR_REPR_IMPL_H -#define SECP256K1_SCALAR_REPR_IMPL_H - -/* Limbs of the secp256k1 order. */ -#define SECP256K1_N_0 ((uint32_t)0xD0364141UL) -#define SECP256K1_N_1 ((uint32_t)0xBFD25E8CUL) -#define SECP256K1_N_2 ((uint32_t)0xAF48A03BUL) -#define SECP256K1_N_3 ((uint32_t)0xBAAEDCE6UL) -#define SECP256K1_N_4 ((uint32_t)0xFFFFFFFEUL) -#define SECP256K1_N_5 ((uint32_t)0xFFFFFFFFUL) -#define SECP256K1_N_6 ((uint32_t)0xFFFFFFFFUL) -#define SECP256K1_N_7 ((uint32_t)0xFFFFFFFFUL) - -/* Limbs of 2^256 minus the secp256k1 order. */ -#define SECP256K1_N_C_0 (~SECP256K1_N_0 + 1) -#define SECP256K1_N_C_1 (~SECP256K1_N_1) -#define SECP256K1_N_C_2 (~SECP256K1_N_2) -#define SECP256K1_N_C_3 (~SECP256K1_N_3) -#define SECP256K1_N_C_4 (1) - -/* Limbs of half the secp256k1 order. */ -#define SECP256K1_N_H_0 ((uint32_t)0x681B20A0UL) -#define SECP256K1_N_H_1 ((uint32_t)0xDFE92F46UL) -#define SECP256K1_N_H_2 ((uint32_t)0x57A4501DUL) -#define SECP256K1_N_H_3 ((uint32_t)0x5D576E73UL) -#define SECP256K1_N_H_4 ((uint32_t)0xFFFFFFFFUL) -#define SECP256K1_N_H_5 ((uint32_t)0xFFFFFFFFUL) -#define SECP256K1_N_H_6 ((uint32_t)0xFFFFFFFFUL) -#define SECP256K1_N_H_7 ((uint32_t)0x7FFFFFFFUL) - -SECP256K1_INLINE static void secp256k1_scalar_clear(secp256k1_scalar *r) { - r->d[0] = 0; - r->d[1] = 0; - r->d[2] = 0; - r->d[3] = 0; - r->d[4] = 0; - r->d[5] = 0; - r->d[6] = 0; - r->d[7] = 0; -} - -SECP256K1_INLINE static void secp256k1_scalar_set_int(secp256k1_scalar *r, unsigned int v) { - r->d[0] = v; - r->d[1] = 0; - r->d[2] = 0; - r->d[3] = 0; - r->d[4] = 0; - r->d[5] = 0; - r->d[6] = 0; - r->d[7] = 0; -} - -SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits(const secp256k1_scalar *a, unsigned int offset, unsigned int count) { - VERIFY_CHECK((offset + count - 1) >> 5 == offset >> 5); - return (a->d[offset >> 5] >> (offset & 0x1F)) & ((1 << count) - 1); -} - -SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits_var(const secp256k1_scalar *a, unsigned int offset, unsigned int count) { - VERIFY_CHECK(count < 32); - VERIFY_CHECK(offset + count <= 256); - if ((offset + count - 1) >> 5 == offset >> 5) { - return secp256k1_scalar_get_bits(a, offset, count); - } else { - VERIFY_CHECK((offset >> 5) + 1 < 8); - return ((a->d[offset >> 5] >> (offset & 0x1F)) | (a->d[(offset >> 5) + 1] << (32 - (offset & 0x1F)))) & ((((uint32_t)1) << count) - 1); - } -} - -SECP256K1_INLINE static int secp256k1_scalar_check_overflow(const secp256k1_scalar *a) { - int yes = 0; - int no = 0; - no |= (a->d[7] < SECP256K1_N_7); /* No need for a > check. */ - no |= (a->d[6] < SECP256K1_N_6); /* No need for a > check. */ - no |= (a->d[5] < SECP256K1_N_5); /* No need for a > check. */ - no |= (a->d[4] < SECP256K1_N_4); - yes |= (a->d[4] > SECP256K1_N_4) & ~no; - no |= (a->d[3] < SECP256K1_N_3) & ~yes; - yes |= (a->d[3] > SECP256K1_N_3) & ~no; - no |= (a->d[2] < SECP256K1_N_2) & ~yes; - yes |= (a->d[2] > SECP256K1_N_2) & ~no; - no |= (a->d[1] < SECP256K1_N_1) & ~yes; - yes |= (a->d[1] > SECP256K1_N_1) & ~no; - yes |= (a->d[0] >= SECP256K1_N_0) & ~no; - return yes; -} - -SECP256K1_INLINE static int secp256k1_scalar_reduce(secp256k1_scalar *r, uint32_t overflow) { - uint64_t t; - VERIFY_CHECK(overflow <= 1); - t = (uint64_t)r->d[0] + overflow * SECP256K1_N_C_0; - r->d[0] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[1] + overflow * SECP256K1_N_C_1; - r->d[1] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[2] + overflow * SECP256K1_N_C_2; - r->d[2] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[3] + overflow * SECP256K1_N_C_3; - r->d[3] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[4] + overflow * SECP256K1_N_C_4; - r->d[4] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[5]; - r->d[5] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[6]; - r->d[6] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[7]; - r->d[7] = t & 0xFFFFFFFFUL; - return overflow; -} - -static int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b) { - int overflow; - uint64_t t = (uint64_t)a->d[0] + b->d[0]; - r->d[0] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[1] + b->d[1]; - r->d[1] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[2] + b->d[2]; - r->d[2] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[3] + b->d[3]; - r->d[3] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[4] + b->d[4]; - r->d[4] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[5] + b->d[5]; - r->d[5] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[6] + b->d[6]; - r->d[6] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[7] + b->d[7]; - r->d[7] = t & 0xFFFFFFFFULL; t >>= 32; - overflow = t + secp256k1_scalar_check_overflow(r); - VERIFY_CHECK(overflow == 0 || overflow == 1); - secp256k1_scalar_reduce(r, overflow); - return overflow; -} - -static void secp256k1_scalar_cadd_bit(secp256k1_scalar *r, unsigned int bit, int flag) { - uint64_t t; - VERIFY_CHECK(bit < 256); - bit += ((uint32_t) flag - 1) & 0x100; /* forcing (bit >> 5) > 7 makes this a noop */ - t = (uint64_t)r->d[0] + (((uint32_t)((bit >> 5) == 0)) << (bit & 0x1F)); - r->d[0] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[1] + (((uint32_t)((bit >> 5) == 1)) << (bit & 0x1F)); - r->d[1] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[2] + (((uint32_t)((bit >> 5) == 2)) << (bit & 0x1F)); - r->d[2] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[3] + (((uint32_t)((bit >> 5) == 3)) << (bit & 0x1F)); - r->d[3] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[4] + (((uint32_t)((bit >> 5) == 4)) << (bit & 0x1F)); - r->d[4] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[5] + (((uint32_t)((bit >> 5) == 5)) << (bit & 0x1F)); - r->d[5] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[6] + (((uint32_t)((bit >> 5) == 6)) << (bit & 0x1F)); - r->d[6] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[7] + (((uint32_t)((bit >> 5) == 7)) << (bit & 0x1F)); - r->d[7] = t & 0xFFFFFFFFULL; -#ifdef VERIFY - VERIFY_CHECK((t >> 32) == 0); - VERIFY_CHECK(secp256k1_scalar_check_overflow(r) == 0); -#endif -} - -static void secp256k1_scalar_set_b32(secp256k1_scalar *r, const unsigned char *b32, int *overflow) { - int over; - r->d[0] = (uint32_t)b32[31] | (uint32_t)b32[30] << 8 | (uint32_t)b32[29] << 16 | (uint32_t)b32[28] << 24; - r->d[1] = (uint32_t)b32[27] | (uint32_t)b32[26] << 8 | (uint32_t)b32[25] << 16 | (uint32_t)b32[24] << 24; - r->d[2] = (uint32_t)b32[23] | (uint32_t)b32[22] << 8 | (uint32_t)b32[21] << 16 | (uint32_t)b32[20] << 24; - r->d[3] = (uint32_t)b32[19] | (uint32_t)b32[18] << 8 | (uint32_t)b32[17] << 16 | (uint32_t)b32[16] << 24; - r->d[4] = (uint32_t)b32[15] | (uint32_t)b32[14] << 8 | (uint32_t)b32[13] << 16 | (uint32_t)b32[12] << 24; - r->d[5] = (uint32_t)b32[11] | (uint32_t)b32[10] << 8 | (uint32_t)b32[9] << 16 | (uint32_t)b32[8] << 24; - r->d[6] = (uint32_t)b32[7] | (uint32_t)b32[6] << 8 | (uint32_t)b32[5] << 16 | (uint32_t)b32[4] << 24; - r->d[7] = (uint32_t)b32[3] | (uint32_t)b32[2] << 8 | (uint32_t)b32[1] << 16 | (uint32_t)b32[0] << 24; - over = secp256k1_scalar_reduce(r, secp256k1_scalar_check_overflow(r)); - if (overflow) { - *overflow = over; - } -} - -static void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar* a) { - bin[0] = a->d[7] >> 24; bin[1] = a->d[7] >> 16; bin[2] = a->d[7] >> 8; bin[3] = a->d[7]; - bin[4] = a->d[6] >> 24; bin[5] = a->d[6] >> 16; bin[6] = a->d[6] >> 8; bin[7] = a->d[6]; - bin[8] = a->d[5] >> 24; bin[9] = a->d[5] >> 16; bin[10] = a->d[5] >> 8; bin[11] = a->d[5]; - bin[12] = a->d[4] >> 24; bin[13] = a->d[4] >> 16; bin[14] = a->d[4] >> 8; bin[15] = a->d[4]; - bin[16] = a->d[3] >> 24; bin[17] = a->d[3] >> 16; bin[18] = a->d[3] >> 8; bin[19] = a->d[3]; - bin[20] = a->d[2] >> 24; bin[21] = a->d[2] >> 16; bin[22] = a->d[2] >> 8; bin[23] = a->d[2]; - bin[24] = a->d[1] >> 24; bin[25] = a->d[1] >> 16; bin[26] = a->d[1] >> 8; bin[27] = a->d[1]; - bin[28] = a->d[0] >> 24; bin[29] = a->d[0] >> 16; bin[30] = a->d[0] >> 8; bin[31] = a->d[0]; -} - -SECP256K1_INLINE static int secp256k1_scalar_is_zero(const secp256k1_scalar *a) { - return (a->d[0] | a->d[1] | a->d[2] | a->d[3] | a->d[4] | a->d[5] | a->d[6] | a->d[7]) == 0; -} - -static void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1_scalar *a) { - uint32_t nonzero = 0xFFFFFFFFUL * (secp256k1_scalar_is_zero(a) == 0); - uint64_t t = (uint64_t)(~a->d[0]) + SECP256K1_N_0 + 1; - r->d[0] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[1]) + SECP256K1_N_1; - r->d[1] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[2]) + SECP256K1_N_2; - r->d[2] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[3]) + SECP256K1_N_3; - r->d[3] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[4]) + SECP256K1_N_4; - r->d[4] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[5]) + SECP256K1_N_5; - r->d[5] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[6]) + SECP256K1_N_6; - r->d[6] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[7]) + SECP256K1_N_7; - r->d[7] = t & nonzero; -} - -SECP256K1_INLINE static int secp256k1_scalar_is_one(const secp256k1_scalar *a) { - return ((a->d[0] ^ 1) | a->d[1] | a->d[2] | a->d[3] | a->d[4] | a->d[5] | a->d[6] | a->d[7]) == 0; -} - -static int secp256k1_scalar_is_high(const secp256k1_scalar *a) { - int yes = 0; - int no = 0; - no |= (a->d[7] < SECP256K1_N_H_7); - yes |= (a->d[7] > SECP256K1_N_H_7) & ~no; - no |= (a->d[6] < SECP256K1_N_H_6) & ~yes; /* No need for a > check. */ - no |= (a->d[5] < SECP256K1_N_H_5) & ~yes; /* No need for a > check. */ - no |= (a->d[4] < SECP256K1_N_H_4) & ~yes; /* No need for a > check. */ - no |= (a->d[3] < SECP256K1_N_H_3) & ~yes; - yes |= (a->d[3] > SECP256K1_N_H_3) & ~no; - no |= (a->d[2] < SECP256K1_N_H_2) & ~yes; - yes |= (a->d[2] > SECP256K1_N_H_2) & ~no; - no |= (a->d[1] < SECP256K1_N_H_1) & ~yes; - yes |= (a->d[1] > SECP256K1_N_H_1) & ~no; - yes |= (a->d[0] > SECP256K1_N_H_0) & ~no; - return yes; -} - -static int secp256k1_scalar_cond_negate(secp256k1_scalar *r, int flag) { - /* If we are flag = 0, mask = 00...00 and this is a no-op; - * if we are flag = 1, mask = 11...11 and this is identical to secp256k1_scalar_negate */ - uint32_t mask = !flag - 1; - uint32_t nonzero = 0xFFFFFFFFUL * (secp256k1_scalar_is_zero(r) == 0); - uint64_t t = (uint64_t)(r->d[0] ^ mask) + ((SECP256K1_N_0 + 1) & mask); - r->d[0] = t & nonzero; t >>= 32; - t += (uint64_t)(r->d[1] ^ mask) + (SECP256K1_N_1 & mask); - r->d[1] = t & nonzero; t >>= 32; - t += (uint64_t)(r->d[2] ^ mask) + (SECP256K1_N_2 & mask); - r->d[2] = t & nonzero; t >>= 32; - t += (uint64_t)(r->d[3] ^ mask) + (SECP256K1_N_3 & mask); - r->d[3] = t & nonzero; t >>= 32; - t += (uint64_t)(r->d[4] ^ mask) + (SECP256K1_N_4 & mask); - r->d[4] = t & nonzero; t >>= 32; - t += (uint64_t)(r->d[5] ^ mask) + (SECP256K1_N_5 & mask); - r->d[5] = t & nonzero; t >>= 32; - t += (uint64_t)(r->d[6] ^ mask) + (SECP256K1_N_6 & mask); - r->d[6] = t & nonzero; t >>= 32; - t += (uint64_t)(r->d[7] ^ mask) + (SECP256K1_N_7 & mask); - r->d[7] = t & nonzero; - return 2 * (mask == 0) - 1; -} - - -/* Inspired by the macros in OpenSSL's crypto/bn/asm/x86_64-gcc.c. */ - -/** Add a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ -#define muladd(a,b) { \ - uint32_t tl, th; \ - { \ - uint64_t t = (uint64_t)a * b; \ - th = t >> 32; /* at most 0xFFFFFFFE */ \ - tl = t; \ - } \ - c0 += tl; /* overflow is handled on the next line */ \ - th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFF */ \ - c1 += th; /* overflow is handled on the next line */ \ - c2 += (c1 < th) ? 1 : 0; /* never overflows by contract (verified in the next line) */ \ - VERIFY_CHECK((c1 >= th) || (c2 != 0)); \ -} - -/** Add a*b to the number defined by (c0,c1). c1 must never overflow. */ -#define muladd_fast(a,b) { \ - uint32_t tl, th; \ - { \ - uint64_t t = (uint64_t)a * b; \ - th = t >> 32; /* at most 0xFFFFFFFE */ \ - tl = t; \ - } \ - c0 += tl; /* overflow is handled on the next line */ \ - th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFF */ \ - c1 += th; /* never overflows by contract (verified in the next line) */ \ - VERIFY_CHECK(c1 >= th); \ -} - -/** Add 2*a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ -#define muladd2(a,b) { \ - uint32_t tl, th, th2, tl2; \ - { \ - uint64_t t = (uint64_t)a * b; \ - th = t >> 32; /* at most 0xFFFFFFFE */ \ - tl = t; \ - } \ - th2 = th + th; /* at most 0xFFFFFFFE (in case th was 0x7FFFFFFF) */ \ - c2 += (th2 < th) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((th2 >= th) || (c2 != 0)); \ - tl2 = tl + tl; /* at most 0xFFFFFFFE (in case the lowest 63 bits of tl were 0x7FFFFFFF) */ \ - th2 += (tl2 < tl) ? 1 : 0; /* at most 0xFFFFFFFF */ \ - c0 += tl2; /* overflow is handled on the next line */ \ - th2 += (c0 < tl2) ? 1 : 0; /* second overflow is handled on the next line */ \ - c2 += (c0 < tl2) & (th2 == 0); /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((c0 >= tl2) || (th2 != 0) || (c2 != 0)); \ - c1 += th2; /* overflow is handled on the next line */ \ - c2 += (c1 < th2) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((c1 >= th2) || (c2 != 0)); \ -} - -/** Add a to the number defined by (c0,c1,c2). c2 must never overflow. */ -#define sumadd(a) { \ - unsigned int over; \ - c0 += (a); /* overflow is handled on the next line */ \ - over = (c0 < (a)) ? 1 : 0; \ - c1 += over; /* overflow is handled on the next line */ \ - c2 += (c1 < over) ? 1 : 0; /* never overflows by contract */ \ -} - -/** Add a to the number defined by (c0,c1). c1 must never overflow, c2 must be zero. */ -#define sumadd_fast(a) { \ - c0 += (a); /* overflow is handled on the next line */ \ - c1 += (c0 < (a)) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((c1 != 0) | (c0 >= (a))); \ - VERIFY_CHECK(c2 == 0); \ -} - -/** Extract the lowest 32 bits of (c0,c1,c2) into n, and left shift the number 32 bits. */ -#define extract(n) { \ - (n) = c0; \ - c0 = c1; \ - c1 = c2; \ - c2 = 0; \ -} - -/** Extract the lowest 32 bits of (c0,c1,c2) into n, and left shift the number 32 bits. c2 is required to be zero. */ -#define extract_fast(n) { \ - (n) = c0; \ - c0 = c1; \ - c1 = 0; \ - VERIFY_CHECK(c2 == 0); \ -} - -static void secp256k1_scalar_reduce_512(secp256k1_scalar *r, const uint32_t *l) { - uint64_t c; - uint32_t n0 = l[8], n1 = l[9], n2 = l[10], n3 = l[11], n4 = l[12], n5 = l[13], n6 = l[14], n7 = l[15]; - uint32_t m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12; - uint32_t p0, p1, p2, p3, p4, p5, p6, p7, p8; - - /* 96 bit accumulator. */ - uint32_t c0, c1, c2; - - /* Reduce 512 bits into 385. */ - /* m[0..12] = l[0..7] + n[0..7] * SECP256K1_N_C. */ - c0 = l[0]; c1 = 0; c2 = 0; - muladd_fast(n0, SECP256K1_N_C_0); - extract_fast(m0); - sumadd_fast(l[1]); - muladd(n1, SECP256K1_N_C_0); - muladd(n0, SECP256K1_N_C_1); - extract(m1); - sumadd(l[2]); - muladd(n2, SECP256K1_N_C_0); - muladd(n1, SECP256K1_N_C_1); - muladd(n0, SECP256K1_N_C_2); - extract(m2); - sumadd(l[3]); - muladd(n3, SECP256K1_N_C_0); - muladd(n2, SECP256K1_N_C_1); - muladd(n1, SECP256K1_N_C_2); - muladd(n0, SECP256K1_N_C_3); - extract(m3); - sumadd(l[4]); - muladd(n4, SECP256K1_N_C_0); - muladd(n3, SECP256K1_N_C_1); - muladd(n2, SECP256K1_N_C_2); - muladd(n1, SECP256K1_N_C_3); - sumadd(n0); - extract(m4); - sumadd(l[5]); - muladd(n5, SECP256K1_N_C_0); - muladd(n4, SECP256K1_N_C_1); - muladd(n3, SECP256K1_N_C_2); - muladd(n2, SECP256K1_N_C_3); - sumadd(n1); - extract(m5); - sumadd(l[6]); - muladd(n6, SECP256K1_N_C_0); - muladd(n5, SECP256K1_N_C_1); - muladd(n4, SECP256K1_N_C_2); - muladd(n3, SECP256K1_N_C_3); - sumadd(n2); - extract(m6); - sumadd(l[7]); - muladd(n7, SECP256K1_N_C_0); - muladd(n6, SECP256K1_N_C_1); - muladd(n5, SECP256K1_N_C_2); - muladd(n4, SECP256K1_N_C_3); - sumadd(n3); - extract(m7); - muladd(n7, SECP256K1_N_C_1); - muladd(n6, SECP256K1_N_C_2); - muladd(n5, SECP256K1_N_C_3); - sumadd(n4); - extract(m8); - muladd(n7, SECP256K1_N_C_2); - muladd(n6, SECP256K1_N_C_3); - sumadd(n5); - extract(m9); - muladd(n7, SECP256K1_N_C_3); - sumadd(n6); - extract(m10); - sumadd_fast(n7); - extract_fast(m11); - VERIFY_CHECK(c0 <= 1); - m12 = c0; - - /* Reduce 385 bits into 258. */ - /* p[0..8] = m[0..7] + m[8..12] * SECP256K1_N_C. */ - c0 = m0; c1 = 0; c2 = 0; - muladd_fast(m8, SECP256K1_N_C_0); - extract_fast(p0); - sumadd_fast(m1); - muladd(m9, SECP256K1_N_C_0); - muladd(m8, SECP256K1_N_C_1); - extract(p1); - sumadd(m2); - muladd(m10, SECP256K1_N_C_0); - muladd(m9, SECP256K1_N_C_1); - muladd(m8, SECP256K1_N_C_2); - extract(p2); - sumadd(m3); - muladd(m11, SECP256K1_N_C_0); - muladd(m10, SECP256K1_N_C_1); - muladd(m9, SECP256K1_N_C_2); - muladd(m8, SECP256K1_N_C_3); - extract(p3); - sumadd(m4); - muladd(m12, SECP256K1_N_C_0); - muladd(m11, SECP256K1_N_C_1); - muladd(m10, SECP256K1_N_C_2); - muladd(m9, SECP256K1_N_C_3); - sumadd(m8); - extract(p4); - sumadd(m5); - muladd(m12, SECP256K1_N_C_1); - muladd(m11, SECP256K1_N_C_2); - muladd(m10, SECP256K1_N_C_3); - sumadd(m9); - extract(p5); - sumadd(m6); - muladd(m12, SECP256K1_N_C_2); - muladd(m11, SECP256K1_N_C_3); - sumadd(m10); - extract(p6); - sumadd_fast(m7); - muladd_fast(m12, SECP256K1_N_C_3); - sumadd_fast(m11); - extract_fast(p7); - p8 = c0 + m12; - VERIFY_CHECK(p8 <= 2); - - /* Reduce 258 bits into 256. */ - /* r[0..7] = p[0..7] + p[8] * SECP256K1_N_C. */ - c = p0 + (uint64_t)SECP256K1_N_C_0 * p8; - r->d[0] = c & 0xFFFFFFFFUL; c >>= 32; - c += p1 + (uint64_t)SECP256K1_N_C_1 * p8; - r->d[1] = c & 0xFFFFFFFFUL; c >>= 32; - c += p2 + (uint64_t)SECP256K1_N_C_2 * p8; - r->d[2] = c & 0xFFFFFFFFUL; c >>= 32; - c += p3 + (uint64_t)SECP256K1_N_C_3 * p8; - r->d[3] = c & 0xFFFFFFFFUL; c >>= 32; - c += p4 + (uint64_t)p8; - r->d[4] = c & 0xFFFFFFFFUL; c >>= 32; - c += p5; - r->d[5] = c & 0xFFFFFFFFUL; c >>= 32; - c += p6; - r->d[6] = c & 0xFFFFFFFFUL; c >>= 32; - c += p7; - r->d[7] = c & 0xFFFFFFFFUL; c >>= 32; - - /* Final reduction of r. */ - secp256k1_scalar_reduce(r, c + secp256k1_scalar_check_overflow(r)); -} - -static void secp256k1_scalar_mul_512(uint32_t *l, const secp256k1_scalar *a, const secp256k1_scalar *b) { - /* 96 bit accumulator. */ - uint32_t c0 = 0, c1 = 0, c2 = 0; - - /* l[0..15] = a[0..7] * b[0..7]. */ - muladd_fast(a->d[0], b->d[0]); - extract_fast(l[0]); - muladd(a->d[0], b->d[1]); - muladd(a->d[1], b->d[0]); - extract(l[1]); - muladd(a->d[0], b->d[2]); - muladd(a->d[1], b->d[1]); - muladd(a->d[2], b->d[0]); - extract(l[2]); - muladd(a->d[0], b->d[3]); - muladd(a->d[1], b->d[2]); - muladd(a->d[2], b->d[1]); - muladd(a->d[3], b->d[0]); - extract(l[3]); - muladd(a->d[0], b->d[4]); - muladd(a->d[1], b->d[3]); - muladd(a->d[2], b->d[2]); - muladd(a->d[3], b->d[1]); - muladd(a->d[4], b->d[0]); - extract(l[4]); - muladd(a->d[0], b->d[5]); - muladd(a->d[1], b->d[4]); - muladd(a->d[2], b->d[3]); - muladd(a->d[3], b->d[2]); - muladd(a->d[4], b->d[1]); - muladd(a->d[5], b->d[0]); - extract(l[5]); - muladd(a->d[0], b->d[6]); - muladd(a->d[1], b->d[5]); - muladd(a->d[2], b->d[4]); - muladd(a->d[3], b->d[3]); - muladd(a->d[4], b->d[2]); - muladd(a->d[5], b->d[1]); - muladd(a->d[6], b->d[0]); - extract(l[6]); - muladd(a->d[0], b->d[7]); - muladd(a->d[1], b->d[6]); - muladd(a->d[2], b->d[5]); - muladd(a->d[3], b->d[4]); - muladd(a->d[4], b->d[3]); - muladd(a->d[5], b->d[2]); - muladd(a->d[6], b->d[1]); - muladd(a->d[7], b->d[0]); - extract(l[7]); - muladd(a->d[1], b->d[7]); - muladd(a->d[2], b->d[6]); - muladd(a->d[3], b->d[5]); - muladd(a->d[4], b->d[4]); - muladd(a->d[5], b->d[3]); - muladd(a->d[6], b->d[2]); - muladd(a->d[7], b->d[1]); - extract(l[8]); - muladd(a->d[2], b->d[7]); - muladd(a->d[3], b->d[6]); - muladd(a->d[4], b->d[5]); - muladd(a->d[5], b->d[4]); - muladd(a->d[6], b->d[3]); - muladd(a->d[7], b->d[2]); - extract(l[9]); - muladd(a->d[3], b->d[7]); - muladd(a->d[4], b->d[6]); - muladd(a->d[5], b->d[5]); - muladd(a->d[6], b->d[4]); - muladd(a->d[7], b->d[3]); - extract(l[10]); - muladd(a->d[4], b->d[7]); - muladd(a->d[5], b->d[6]); - muladd(a->d[6], b->d[5]); - muladd(a->d[7], b->d[4]); - extract(l[11]); - muladd(a->d[5], b->d[7]); - muladd(a->d[6], b->d[6]); - muladd(a->d[7], b->d[5]); - extract(l[12]); - muladd(a->d[6], b->d[7]); - muladd(a->d[7], b->d[6]); - extract(l[13]); - muladd_fast(a->d[7], b->d[7]); - extract_fast(l[14]); - VERIFY_CHECK(c1 == 0); - l[15] = c0; -} - -static void secp256k1_scalar_sqr_512(uint32_t *l, const secp256k1_scalar *a) { - /* 96 bit accumulator. */ - uint32_t c0 = 0, c1 = 0, c2 = 0; - - /* l[0..15] = a[0..7]^2. */ - muladd_fast(a->d[0], a->d[0]); - extract_fast(l[0]); - muladd2(a->d[0], a->d[1]); - extract(l[1]); - muladd2(a->d[0], a->d[2]); - muladd(a->d[1], a->d[1]); - extract(l[2]); - muladd2(a->d[0], a->d[3]); - muladd2(a->d[1], a->d[2]); - extract(l[3]); - muladd2(a->d[0], a->d[4]); - muladd2(a->d[1], a->d[3]); - muladd(a->d[2], a->d[2]); - extract(l[4]); - muladd2(a->d[0], a->d[5]); - muladd2(a->d[1], a->d[4]); - muladd2(a->d[2], a->d[3]); - extract(l[5]); - muladd2(a->d[0], a->d[6]); - muladd2(a->d[1], a->d[5]); - muladd2(a->d[2], a->d[4]); - muladd(a->d[3], a->d[3]); - extract(l[6]); - muladd2(a->d[0], a->d[7]); - muladd2(a->d[1], a->d[6]); - muladd2(a->d[2], a->d[5]); - muladd2(a->d[3], a->d[4]); - extract(l[7]); - muladd2(a->d[1], a->d[7]); - muladd2(a->d[2], a->d[6]); - muladd2(a->d[3], a->d[5]); - muladd(a->d[4], a->d[4]); - extract(l[8]); - muladd2(a->d[2], a->d[7]); - muladd2(a->d[3], a->d[6]); - muladd2(a->d[4], a->d[5]); - extract(l[9]); - muladd2(a->d[3], a->d[7]); - muladd2(a->d[4], a->d[6]); - muladd(a->d[5], a->d[5]); - extract(l[10]); - muladd2(a->d[4], a->d[7]); - muladd2(a->d[5], a->d[6]); - extract(l[11]); - muladd2(a->d[5], a->d[7]); - muladd(a->d[6], a->d[6]); - extract(l[12]); - muladd2(a->d[6], a->d[7]); - extract(l[13]); - muladd_fast(a->d[7], a->d[7]); - extract_fast(l[14]); - VERIFY_CHECK(c1 == 0); - l[15] = c0; -} - -#undef sumadd -#undef sumadd_fast -#undef muladd -#undef muladd_fast -#undef muladd2 -#undef extract -#undef extract_fast - -static void secp256k1_scalar_mul(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b) { - uint32_t l[16]; - secp256k1_scalar_mul_512(l, a, b); - secp256k1_scalar_reduce_512(r, l); -} - -static int secp256k1_scalar_shr_int(secp256k1_scalar *r, int n) { - int ret; - VERIFY_CHECK(n > 0); - VERIFY_CHECK(n < 16); - ret = r->d[0] & ((1 << n) - 1); - r->d[0] = (r->d[0] >> n) + (r->d[1] << (32 - n)); - r->d[1] = (r->d[1] >> n) + (r->d[2] << (32 - n)); - r->d[2] = (r->d[2] >> n) + (r->d[3] << (32 - n)); - r->d[3] = (r->d[3] >> n) + (r->d[4] << (32 - n)); - r->d[4] = (r->d[4] >> n) + (r->d[5] << (32 - n)); - r->d[5] = (r->d[5] >> n) + (r->d[6] << (32 - n)); - r->d[6] = (r->d[6] >> n) + (r->d[7] << (32 - n)); - r->d[7] = (r->d[7] >> n); - return ret; -} - -static void secp256k1_scalar_sqr(secp256k1_scalar *r, const secp256k1_scalar *a) { - uint32_t l[16]; - secp256k1_scalar_sqr_512(l, a); - secp256k1_scalar_reduce_512(r, l); -} - -#ifdef USE_ENDOMORPHISM -static void secp256k1_scalar_split_128(secp256k1_scalar *r1, secp256k1_scalar *r2, const secp256k1_scalar *a) { - r1->d[0] = a->d[0]; - r1->d[1] = a->d[1]; - r1->d[2] = a->d[2]; - r1->d[3] = a->d[3]; - r1->d[4] = 0; - r1->d[5] = 0; - r1->d[6] = 0; - r1->d[7] = 0; - r2->d[0] = a->d[4]; - r2->d[1] = a->d[5]; - r2->d[2] = a->d[6]; - r2->d[3] = a->d[7]; - r2->d[4] = 0; - r2->d[5] = 0; - r2->d[6] = 0; - r2->d[7] = 0; -} -#endif - -SECP256K1_INLINE static int secp256k1_scalar_eq(const secp256k1_scalar *a, const secp256k1_scalar *b) { - return ((a->d[0] ^ b->d[0]) | (a->d[1] ^ b->d[1]) | (a->d[2] ^ b->d[2]) | (a->d[3] ^ b->d[3]) | (a->d[4] ^ b->d[4]) | (a->d[5] ^ b->d[5]) | (a->d[6] ^ b->d[6]) | (a->d[7] ^ b->d[7])) == 0; -} - -SECP256K1_INLINE static void secp256k1_scalar_mul_shift_var(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b, unsigned int shift) { - uint32_t l[16]; - unsigned int shiftlimbs; - unsigned int shiftlow; - unsigned int shifthigh; - VERIFY_CHECK(shift >= 256); - secp256k1_scalar_mul_512(l, a, b); - shiftlimbs = shift >> 5; - shiftlow = shift & 0x1F; - shifthigh = 32 - shiftlow; - r->d[0] = shift < 512 ? (l[0 + shiftlimbs] >> shiftlow | (shift < 480 && shiftlow ? (l[1 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[1] = shift < 480 ? (l[1 + shiftlimbs] >> shiftlow | (shift < 448 && shiftlow ? (l[2 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[2] = shift < 448 ? (l[2 + shiftlimbs] >> shiftlow | (shift < 416 && shiftlow ? (l[3 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[3] = shift < 416 ? (l[3 + shiftlimbs] >> shiftlow | (shift < 384 && shiftlow ? (l[4 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[4] = shift < 384 ? (l[4 + shiftlimbs] >> shiftlow | (shift < 352 && shiftlow ? (l[5 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[5] = shift < 352 ? (l[5 + shiftlimbs] >> shiftlow | (shift < 320 && shiftlow ? (l[6 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[6] = shift < 320 ? (l[6 + shiftlimbs] >> shiftlow | (shift < 288 && shiftlow ? (l[7 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[7] = shift < 288 ? (l[7 + shiftlimbs] >> shiftlow) : 0; - secp256k1_scalar_cadd_bit(r, 0, (l[(shift - 1) >> 5] >> ((shift - 1) & 0x1f)) & 1); -} - -#endif /* SECP256K1_SCALAR_REPR_IMPL_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/scalar_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/scalar_impl.h deleted file mode 100644 index fa790570f..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/scalar_impl.h +++ /dev/null @@ -1,333 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_SCALAR_IMPL_H -#define SECP256K1_SCALAR_IMPL_H - -#include "group.h" -#include "scalar.h" - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#if defined(EXHAUSTIVE_TEST_ORDER) -#include "scalar_low_impl.h" -#elif defined(USE_SCALAR_4X64) -#include "scalar_4x64_impl.h" -#elif defined(USE_SCALAR_8X32) -#include "scalar_8x32_impl.h" -#else -#error "Please select scalar implementation" -#endif - -#ifndef USE_NUM_NONE -static void secp256k1_scalar_get_num(secp256k1_num *r, const secp256k1_scalar *a) { - unsigned char c[32]; - secp256k1_scalar_get_b32(c, a); - secp256k1_num_set_bin(r, c, 32); -} - -/** secp256k1 curve order, see secp256k1_ecdsa_const_order_as_fe in ecdsa_impl.h */ -static void secp256k1_scalar_order_get_num(secp256k1_num *r) { -#if defined(EXHAUSTIVE_TEST_ORDER) - static const unsigned char order[32] = { - 0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,EXHAUSTIVE_TEST_ORDER - }; -#else - static const unsigned char order[32] = { - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, - 0xBA,0xAE,0xDC,0xE6,0xAF,0x48,0xA0,0x3B, - 0xBF,0xD2,0x5E,0x8C,0xD0,0x36,0x41,0x41 - }; -#endif - secp256k1_num_set_bin(r, order, 32); -} -#endif - -static void secp256k1_scalar_inverse(secp256k1_scalar *r, const secp256k1_scalar *x) { -#if defined(EXHAUSTIVE_TEST_ORDER) - int i; - *r = 0; - for (i = 0; i < EXHAUSTIVE_TEST_ORDER; i++) - if ((i * *x) % EXHAUSTIVE_TEST_ORDER == 1) - *r = i; - /* If this VERIFY_CHECK triggers we were given a noninvertible scalar (and thus - * have a composite group order; fix it in exhaustive_tests.c). */ - VERIFY_CHECK(*r != 0); -} -#else - secp256k1_scalar *t; - int i; - /* First compute xN as x ^ (2^N - 1) for some values of N, - * and uM as x ^ M for some values of M. */ - secp256k1_scalar x2, x3, x6, x8, x14, x28, x56, x112, x126; - secp256k1_scalar u2, u5, u9, u11, u13; - - secp256k1_scalar_sqr(&u2, x); - secp256k1_scalar_mul(&x2, &u2, x); - secp256k1_scalar_mul(&u5, &u2, &x2); - secp256k1_scalar_mul(&x3, &u5, &u2); - secp256k1_scalar_mul(&u9, &x3, &u2); - secp256k1_scalar_mul(&u11, &u9, &u2); - secp256k1_scalar_mul(&u13, &u11, &u2); - - secp256k1_scalar_sqr(&x6, &u13); - secp256k1_scalar_sqr(&x6, &x6); - secp256k1_scalar_mul(&x6, &x6, &u11); - - secp256k1_scalar_sqr(&x8, &x6); - secp256k1_scalar_sqr(&x8, &x8); - secp256k1_scalar_mul(&x8, &x8, &x2); - - secp256k1_scalar_sqr(&x14, &x8); - for (i = 0; i < 5; i++) { - secp256k1_scalar_sqr(&x14, &x14); - } - secp256k1_scalar_mul(&x14, &x14, &x6); - - secp256k1_scalar_sqr(&x28, &x14); - for (i = 0; i < 13; i++) { - secp256k1_scalar_sqr(&x28, &x28); - } - secp256k1_scalar_mul(&x28, &x28, &x14); - - secp256k1_scalar_sqr(&x56, &x28); - for (i = 0; i < 27; i++) { - secp256k1_scalar_sqr(&x56, &x56); - } - secp256k1_scalar_mul(&x56, &x56, &x28); - - secp256k1_scalar_sqr(&x112, &x56); - for (i = 0; i < 55; i++) { - secp256k1_scalar_sqr(&x112, &x112); - } - secp256k1_scalar_mul(&x112, &x112, &x56); - - secp256k1_scalar_sqr(&x126, &x112); - for (i = 0; i < 13; i++) { - secp256k1_scalar_sqr(&x126, &x126); - } - secp256k1_scalar_mul(&x126, &x126, &x14); - - /* Then accumulate the final result (t starts at x126). */ - t = &x126; - for (i = 0; i < 3; i++) { - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &u5); /* 101 */ - for (i = 0; i < 4; i++) { /* 0 */ - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &x3); /* 111 */ - for (i = 0; i < 4; i++) { /* 0 */ - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &u5); /* 101 */ - for (i = 0; i < 5; i++) { /* 0 */ - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &u11); /* 1011 */ - for (i = 0; i < 4; i++) { - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &u11); /* 1011 */ - for (i = 0; i < 4; i++) { /* 0 */ - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &x3); /* 111 */ - for (i = 0; i < 5; i++) { /* 00 */ - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &x3); /* 111 */ - for (i = 0; i < 6; i++) { /* 00 */ - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &u13); /* 1101 */ - for (i = 0; i < 4; i++) { /* 0 */ - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &u5); /* 101 */ - for (i = 0; i < 3; i++) { - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &x3); /* 111 */ - for (i = 0; i < 5; i++) { /* 0 */ - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &u9); /* 1001 */ - for (i = 0; i < 6; i++) { /* 000 */ - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &u5); /* 101 */ - for (i = 0; i < 10; i++) { /* 0000000 */ - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &x3); /* 111 */ - for (i = 0; i < 4; i++) { /* 0 */ - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &x3); /* 111 */ - for (i = 0; i < 9; i++) { /* 0 */ - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &x8); /* 11111111 */ - for (i = 0; i < 5; i++) { /* 0 */ - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &u9); /* 1001 */ - for (i = 0; i < 6; i++) { /* 00 */ - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &u11); /* 1011 */ - for (i = 0; i < 4; i++) { - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &u13); /* 1101 */ - for (i = 0; i < 5; i++) { - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &x2); /* 11 */ - for (i = 0; i < 6; i++) { /* 00 */ - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &u13); /* 1101 */ - for (i = 0; i < 10; i++) { /* 000000 */ - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &u13); /* 1101 */ - for (i = 0; i < 4; i++) { - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, &u9); /* 1001 */ - for (i = 0; i < 6; i++) { /* 00000 */ - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (i = 0; i < 8; i++) { /* 00 */ - secp256k1_scalar_sqr(t, t); - } - secp256k1_scalar_mul(r, t, &x6); /* 111111 */ -} - -SECP256K1_INLINE static int secp256k1_scalar_is_even(const secp256k1_scalar *a) { - return !(a->d[0] & 1); -} -#endif - -static void secp256k1_scalar_inverse_var(secp256k1_scalar *r, const secp256k1_scalar *x) { -#if defined(USE_SCALAR_INV_BUILTIN) - secp256k1_scalar_inverse(r, x); -#elif defined(USE_SCALAR_INV_NUM) - unsigned char b[32]; - secp256k1_num n, m; - secp256k1_scalar t = *x; - secp256k1_scalar_get_b32(b, &t); - secp256k1_num_set_bin(&n, b, 32); - secp256k1_scalar_order_get_num(&m); - secp256k1_num_mod_inverse(&n, &n, &m); - secp256k1_num_get_bin(b, 32, &n); - secp256k1_scalar_set_b32(r, b, NULL); - /* Verify that the inverse was computed correctly, without GMP code. */ - secp256k1_scalar_mul(&t, &t, r); - CHECK(secp256k1_scalar_is_one(&t)); -#else -#error "Please select scalar inverse implementation" -#endif -} - -#ifdef USE_ENDOMORPHISM -#if defined(EXHAUSTIVE_TEST_ORDER) -/** - * Find k1 and k2 given k, such that k1 + k2 * lambda == k mod n; unlike in the - * full case we don't bother making k1 and k2 be small, we just want them to be - * nontrivial to get full test coverage for the exhaustive tests. We therefore - * (arbitrarily) set k2 = k + 5 and k1 = k - k2 * lambda. - */ -static void secp256k1_scalar_split_lambda(secp256k1_scalar *r1, secp256k1_scalar *r2, const secp256k1_scalar *a) { - *r2 = (*a + 5) % EXHAUSTIVE_TEST_ORDER; - *r1 = (*a + (EXHAUSTIVE_TEST_ORDER - *r2) * EXHAUSTIVE_TEST_LAMBDA) % EXHAUSTIVE_TEST_ORDER; -} -#else -/** - * The Secp256k1 curve has an endomorphism, where lambda * (x, y) = (beta * x, y), where - * lambda is {0x53,0x63,0xad,0x4c,0xc0,0x5c,0x30,0xe0,0xa5,0x26,0x1c,0x02,0x88,0x12,0x64,0x5a, - * 0x12,0x2e,0x22,0xea,0x20,0x81,0x66,0x78,0xdf,0x02,0x96,0x7c,0x1b,0x23,0xbd,0x72} - * - * "Guide to Elliptic Curve Cryptography" (Hankerson, Menezes, Vanstone) gives an algorithm - * (algorithm 3.74) to find k1 and k2 given k, such that k1 + k2 * lambda == k mod n, and k1 - * and k2 have a small size. - * It relies on constants a1, b1, a2, b2. These constants for the value of lambda above are: - * - * - a1 = {0x30,0x86,0xd2,0x21,0xa7,0xd4,0x6b,0xcd,0xe8,0x6c,0x90,0xe4,0x92,0x84,0xeb,0x15} - * - b1 = -{0xe4,0x43,0x7e,0xd6,0x01,0x0e,0x88,0x28,0x6f,0x54,0x7f,0xa9,0x0a,0xbf,0xe4,0xc3} - * - a2 = {0x01,0x14,0xca,0x50,0xf7,0xa8,0xe2,0xf3,0xf6,0x57,0xc1,0x10,0x8d,0x9d,0x44,0xcf,0xd8} - * - b2 = {0x30,0x86,0xd2,0x21,0xa7,0xd4,0x6b,0xcd,0xe8,0x6c,0x90,0xe4,0x92,0x84,0xeb,0x15} - * - * The algorithm then computes c1 = round(b1 * k / n) and c2 = round(b2 * k / n), and gives - * k1 = k - (c1*a1 + c2*a2) and k2 = -(c1*b1 + c2*b2). Instead, we use modular arithmetic, and - * compute k1 as k - k2 * lambda, avoiding the need for constants a1 and a2. - * - * g1, g2 are precomputed constants used to replace division with a rounded multiplication - * when decomposing the scalar for an endomorphism-based point multiplication. - * - * The possibility of using precomputed estimates is mentioned in "Guide to Elliptic Curve - * Cryptography" (Hankerson, Menezes, Vanstone) in section 3.5. - * - * The derivation is described in the paper "Efficient Software Implementation of Public-Key - * Cryptography on Sensor Networks Using the MSP430X Microcontroller" (Gouvea, Oliveira, Lopez), - * Section 4.3 (here we use a somewhat higher-precision estimate): - * d = a1*b2 - b1*a2 - * g1 = round((2^272)*b2/d) - * g2 = round((2^272)*b1/d) - * - * (Note that 'd' is also equal to the curve order here because [a1,b1] and [a2,b2] are found - * as outputs of the Extended Euclidean Algorithm on inputs 'order' and 'lambda'). - * - * The function below splits a in r1 and r2, such that r1 + lambda * r2 == a (mod order). - */ - -static void secp256k1_scalar_split_lambda(secp256k1_scalar *r1, secp256k1_scalar *r2, const secp256k1_scalar *a) { - secp256k1_scalar c1, c2; - static const secp256k1_scalar minus_lambda = SECP256K1_SCALAR_CONST( - 0xAC9C52B3UL, 0x3FA3CF1FUL, 0x5AD9E3FDUL, 0x77ED9BA4UL, - 0xA880B9FCUL, 0x8EC739C2UL, 0xE0CFC810UL, 0xB51283CFUL - ); - static const secp256k1_scalar minus_b1 = SECP256K1_SCALAR_CONST( - 0x00000000UL, 0x00000000UL, 0x00000000UL, 0x00000000UL, - 0xE4437ED6UL, 0x010E8828UL, 0x6F547FA9UL, 0x0ABFE4C3UL - ); - static const secp256k1_scalar minus_b2 = SECP256K1_SCALAR_CONST( - 0xFFFFFFFFUL, 0xFFFFFFFFUL, 0xFFFFFFFFUL, 0xFFFFFFFEUL, - 0x8A280AC5UL, 0x0774346DUL, 0xD765CDA8UL, 0x3DB1562CUL - ); - static const secp256k1_scalar g1 = SECP256K1_SCALAR_CONST( - 0x00000000UL, 0x00000000UL, 0x00000000UL, 0x00003086UL, - 0xD221A7D4UL, 0x6BCDE86CUL, 0x90E49284UL, 0xEB153DABUL - ); - static const secp256k1_scalar g2 = SECP256K1_SCALAR_CONST( - 0x00000000UL, 0x00000000UL, 0x00000000UL, 0x0000E443UL, - 0x7ED6010EUL, 0x88286F54UL, 0x7FA90ABFUL, 0xE4C42212UL - ); - VERIFY_CHECK(r1 != a); - VERIFY_CHECK(r2 != a); - /* these _var calls are constant time since the shift amount is constant */ - secp256k1_scalar_mul_shift_var(&c1, a, &g1, 272); - secp256k1_scalar_mul_shift_var(&c2, a, &g2, 272); - secp256k1_scalar_mul(&c1, &c1, &minus_b1); - secp256k1_scalar_mul(&c2, &c2, &minus_b2); - secp256k1_scalar_add(r2, &c1, &c2); - secp256k1_scalar_mul(r1, r2, &minus_lambda); - secp256k1_scalar_add(r1, r1, a); -} -#endif -#endif - -#endif /* SECP256K1_SCALAR_IMPL_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/scalar_low.h b/Pods/secp256k1_ios/secp256k1_ios/src/scalar_low.h deleted file mode 100644 index 5836febc5..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/scalar_low.h +++ /dev/null @@ -1,15 +0,0 @@ -/********************************************************************** - * Copyright (c) 2015 Andrew Poelstra * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_SCALAR_REPR_H -#define SECP256K1_SCALAR_REPR_H - -#include - -/** A scalar modulo the group order of the secp256k1 curve. */ -typedef uint32_t secp256k1_scalar; - -#endif /* SECP256K1_SCALAR_REPR_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/scalar_low_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/scalar_low_impl.h deleted file mode 100644 index c80e70c5a..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/scalar_low_impl.h +++ /dev/null @@ -1,114 +0,0 @@ -/********************************************************************** - * Copyright (c) 2015 Andrew Poelstra * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_SCALAR_REPR_IMPL_H -#define SECP256K1_SCALAR_REPR_IMPL_H - -#include "scalar.h" - -#include - -SECP256K1_INLINE static int secp256k1_scalar_is_even(const secp256k1_scalar *a) { - return !(*a & 1); -} - -SECP256K1_INLINE static void secp256k1_scalar_clear(secp256k1_scalar *r) { *r = 0; } -SECP256K1_INLINE static void secp256k1_scalar_set_int(secp256k1_scalar *r, unsigned int v) { *r = v; } - -SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits(const secp256k1_scalar *a, unsigned int offset, unsigned int count) { - if (offset < 32) - return ((*a >> offset) & ((((uint32_t)1) << count) - 1)); - else - return 0; -} - -SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits_var(const secp256k1_scalar *a, unsigned int offset, unsigned int count) { - return secp256k1_scalar_get_bits(a, offset, count); -} - -SECP256K1_INLINE static int secp256k1_scalar_check_overflow(const secp256k1_scalar *a) { return *a >= EXHAUSTIVE_TEST_ORDER; } - -static int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b) { - *r = (*a + *b) % EXHAUSTIVE_TEST_ORDER; - return *r < *b; -} - -static void secp256k1_scalar_cadd_bit(secp256k1_scalar *r, unsigned int bit, int flag) { - if (flag && bit < 32) - *r += (1 << bit); -#ifdef VERIFY - VERIFY_CHECK(secp256k1_scalar_check_overflow(r) == 0); -#endif -} - -static void secp256k1_scalar_set_b32(secp256k1_scalar *r, const unsigned char *b32, int *overflow) { - const int base = 0x100 % EXHAUSTIVE_TEST_ORDER; - int i; - *r = 0; - for (i = 0; i < 32; i++) { - *r = ((*r * base) + b32[i]) % EXHAUSTIVE_TEST_ORDER; - } - /* just deny overflow, it basically always happens */ - if (overflow) *overflow = 0; -} - -static void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar* a) { - memset(bin, 0, 32); - bin[28] = *a >> 24; bin[29] = *a >> 16; bin[30] = *a >> 8; bin[31] = *a; -} - -SECP256K1_INLINE static int secp256k1_scalar_is_zero(const secp256k1_scalar *a) { - return *a == 0; -} - -static void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1_scalar *a) { - if (*a == 0) { - *r = 0; - } else { - *r = EXHAUSTIVE_TEST_ORDER - *a; - } -} - -SECP256K1_INLINE static int secp256k1_scalar_is_one(const secp256k1_scalar *a) { - return *a == 1; -} - -static int secp256k1_scalar_is_high(const secp256k1_scalar *a) { - return *a > EXHAUSTIVE_TEST_ORDER / 2; -} - -static int secp256k1_scalar_cond_negate(secp256k1_scalar *r, int flag) { - if (flag) secp256k1_scalar_negate(r, r); - return flag ? -1 : 1; -} - -static void secp256k1_scalar_mul(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b) { - *r = (*a * *b) % EXHAUSTIVE_TEST_ORDER; -} - -static int secp256k1_scalar_shr_int(secp256k1_scalar *r, int n) { - int ret; - VERIFY_CHECK(n > 0); - VERIFY_CHECK(n < 16); - ret = *r & ((1 << n) - 1); - *r >>= n; - return ret; -} - -static void secp256k1_scalar_sqr(secp256k1_scalar *r, const secp256k1_scalar *a) { - *r = (*a * *a) % EXHAUSTIVE_TEST_ORDER; -} - -static void secp256k1_scalar_split_128(secp256k1_scalar *r1, secp256k1_scalar *r2, const secp256k1_scalar *a) { - *r1 = *a; - *r2 = 0; -} - -SECP256K1_INLINE static int secp256k1_scalar_eq(const secp256k1_scalar *a, const secp256k1_scalar *b) { - return *a == *b; -} - -#endif /* SECP256K1_SCALAR_REPR_IMPL_H */ diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/scratch.h b/Pods/secp256k1_ios/secp256k1_ios/src/scratch.h deleted file mode 100644 index fef377af0..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/scratch.h +++ /dev/null @@ -1,39 +0,0 @@ -/********************************************************************** - * Copyright (c) 2017 Andrew Poelstra * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_SCRATCH_ -#define _SECP256K1_SCRATCH_ - -#define SECP256K1_SCRATCH_MAX_FRAMES 5 - -/* The typedef is used internally; the struct name is used in the public API - * (where it is exposed as a different typedef) */ -typedef struct secp256k1_scratch_space_struct { - void *data[SECP256K1_SCRATCH_MAX_FRAMES]; - size_t offset[SECP256K1_SCRATCH_MAX_FRAMES]; - size_t frame_size[SECP256K1_SCRATCH_MAX_FRAMES]; - size_t frame; - size_t max_size; - const secp256k1_callback* error_callback; -} secp256k1_scratch; - -static secp256k1_scratch* secp256k1_scratch_create(const secp256k1_callback* error_callback, size_t max_size); - -static void secp256k1_scratch_destroy(secp256k1_scratch* scratch); - -/** Attempts to allocate a new stack frame with `n` available bytes. Returns 1 on success, 0 on failure */ -static int secp256k1_scratch_allocate_frame(secp256k1_scratch* scratch, size_t n, size_t objects); - -/** Deallocates a stack frame */ -static void secp256k1_scratch_deallocate_frame(secp256k1_scratch* scratch); - -/** Returns the maximum allocation the scratch space will allow */ -static size_t secp256k1_scratch_max_allocation(const secp256k1_scratch* scratch, size_t n_objects); - -/** Returns a pointer into the most recently allocated frame, or NULL if there is insufficient available space */ -static void *secp256k1_scratch_alloc(secp256k1_scratch* scratch, size_t n); - -#endif diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/scratch_impl.h b/Pods/secp256k1_ios/secp256k1_ios/src/scratch_impl.h deleted file mode 100644 index abed713b2..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/scratch_impl.h +++ /dev/null @@ -1,86 +0,0 @@ -/********************************************************************** - * Copyright (c) 2017 Andrew Poelstra * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_SCRATCH_IMPL_H_ -#define _SECP256K1_SCRATCH_IMPL_H_ - -#include "scratch.h" - -/* Using 16 bytes alignment because common architectures never have alignment - * requirements above 8 for any of the types we care about. In addition we - * leave some room because currently we don't care about a few bytes. - * TODO: Determine this at configure time. */ -#define ALIGNMENT 16 - -static secp256k1_scratch* secp256k1_scratch_create(const secp256k1_callback* error_callback, size_t max_size) { - secp256k1_scratch* ret = (secp256k1_scratch*)checked_malloc(error_callback, sizeof(*ret)); - if (ret != NULL) { - memset(ret, 0, sizeof(*ret)); - ret->max_size = max_size; - ret->error_callback = error_callback; - } - return ret; -} - -static void secp256k1_scratch_destroy(secp256k1_scratch* scratch) { - if (scratch != NULL) { - VERIFY_CHECK(scratch->frame == 0); - free(scratch); - } -} - -static size_t secp256k1_scratch_max_allocation(const secp256k1_scratch* scratch, size_t objects) { - size_t i = 0; - size_t allocated = 0; - for (i = 0; i < scratch->frame; i++) { - allocated += scratch->frame_size[i]; - } - if (scratch->max_size - allocated <= objects * ALIGNMENT) { - return 0; - } - return scratch->max_size - allocated - objects * ALIGNMENT; -} - -static int secp256k1_scratch_allocate_frame(secp256k1_scratch* scratch, size_t n, size_t objects) { - VERIFY_CHECK(scratch->frame < SECP256K1_SCRATCH_MAX_FRAMES); - - if (n <= secp256k1_scratch_max_allocation(scratch, objects)) { - n += objects * ALIGNMENT; - scratch->data[scratch->frame] = checked_malloc(scratch->error_callback, n); - if (scratch->data[scratch->frame] == NULL) { - return 0; - } - scratch->frame_size[scratch->frame] = n; - scratch->offset[scratch->frame] = 0; - scratch->frame++; - return 1; - } else { - return 0; - } -} - -static void secp256k1_scratch_deallocate_frame(secp256k1_scratch* scratch) { - VERIFY_CHECK(scratch->frame > 0); - scratch->frame -= 1; - free(scratch->data[scratch->frame]); -} - -static void *secp256k1_scratch_alloc(secp256k1_scratch* scratch, size_t size) { - void *ret; - size_t frame = scratch->frame - 1; - size = ((size + ALIGNMENT - 1) / ALIGNMENT) * ALIGNMENT; - - if (scratch->frame == 0 || size + scratch->offset[frame] > scratch->frame_size[frame]) { - return NULL; - } - ret = (void *) ((unsigned char *) scratch->data[frame] + scratch->offset[frame]); - memset(ret, 0, size); - scratch->offset[frame] += size; - - return ret; -} - -#endif diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/secp256k1.c b/Pods/secp256k1_ios/secp256k1_ios/src/secp256k1.c deleted file mode 100644 index 5262e121d..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/secp256k1.c +++ /dev/null @@ -1,597 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013-2015 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#include "secp256k1.h" - -#include "util.h" -#include "num_impl.h" -#include "field_impl.h" -#include "scalar_impl.h" -#include "group_impl.h" -#include "ecmult_impl.h" -#include "ecmult_const_impl.h" -#include "ecmult_gen_impl.h" -#include "ecdsa_impl.h" -#include "eckey_impl.h" -#include "hash_impl.h" -#include "scratch_impl.h" - -#define ARG_CHECK(cond) do { \ - if (EXPECT(!(cond), 0)) { \ - secp256k1_callback_call(&ctx->illegal_callback, #cond); \ - return 0; \ - } \ -} while(0) - -static void default_illegal_callback_fn(const char* str, void* data) { - (void)data; - fprintf(stderr, "[libsecp256k1] illegal argument: %s\n", str); - abort(); -} - -static const secp256k1_callback default_illegal_callback = { - default_illegal_callback_fn, - NULL -}; - -static void default_error_callback_fn(const char* str, void* data) { - (void)data; - fprintf(stderr, "[libsecp256k1] internal consistency check failed: %s\n", str); - abort(); -} - -static const secp256k1_callback default_error_callback = { - default_error_callback_fn, - NULL -}; - - -struct secp256k1_context_struct { - secp256k1_ecmult_context ecmult_ctx; - secp256k1_ecmult_gen_context ecmult_gen_ctx; - secp256k1_callback illegal_callback; - secp256k1_callback error_callback; -}; - -secp256k1_context* secp256k1_context_create(unsigned int flags) { - secp256k1_context* ret = (secp256k1_context*)checked_malloc(&default_error_callback, sizeof(secp256k1_context)); - ret->illegal_callback = default_illegal_callback; - ret->error_callback = default_error_callback; - - if (EXPECT((flags & SECP256K1_FLAGS_TYPE_MASK) != SECP256K1_FLAGS_TYPE_CONTEXT, 0)) { - secp256k1_callback_call(&ret->illegal_callback, - "Invalid flags"); - free(ret); - return NULL; - } - - secp256k1_ecmult_context_init(&ret->ecmult_ctx); - secp256k1_ecmult_gen_context_init(&ret->ecmult_gen_ctx); - - if (flags & SECP256K1_FLAGS_BIT_CONTEXT_SIGN) { - secp256k1_ecmult_gen_context_build(&ret->ecmult_gen_ctx, &ret->error_callback); - } - if (flags & SECP256K1_FLAGS_BIT_CONTEXT_VERIFY) { - secp256k1_ecmult_context_build(&ret->ecmult_ctx, &ret->error_callback); - } - - return ret; -} - -secp256k1_context* secp256k1_context_clone(const secp256k1_context* ctx) { - secp256k1_context* ret = (secp256k1_context*)checked_malloc(&ctx->error_callback, sizeof(secp256k1_context)); - ret->illegal_callback = ctx->illegal_callback; - ret->error_callback = ctx->error_callback; - secp256k1_ecmult_context_clone(&ret->ecmult_ctx, &ctx->ecmult_ctx, &ctx->error_callback); - secp256k1_ecmult_gen_context_clone(&ret->ecmult_gen_ctx, &ctx->ecmult_gen_ctx, &ctx->error_callback); - return ret; -} - -void secp256k1_context_destroy(secp256k1_context* ctx) { - if (ctx != NULL) { - secp256k1_ecmult_context_clear(&ctx->ecmult_ctx); - secp256k1_ecmult_gen_context_clear(&ctx->ecmult_gen_ctx); - - free(ctx); - } -} - -void secp256k1_context_set_illegal_callback(secp256k1_context* ctx, void (*fun)(const char* message, void* data), const void* data) { - if (fun == NULL) { - fun = default_illegal_callback_fn; - } - ctx->illegal_callback.fn = fun; - ctx->illegal_callback.data = data; -} - -void secp256k1_context_set_error_callback(secp256k1_context* ctx, void (*fun)(const char* message, void* data), const void* data) { - if (fun == NULL) { - fun = default_error_callback_fn; - } - ctx->error_callback.fn = fun; - ctx->error_callback.data = data; -} - -secp256k1_scratch_space* secp256k1_scratch_space_create(const secp256k1_context* ctx, size_t max_size) { - VERIFY_CHECK(ctx != NULL); - return secp256k1_scratch_create(&ctx->error_callback, max_size); -} - -void secp256k1_scratch_space_destroy(secp256k1_scratch_space* scratch) { - secp256k1_scratch_destroy(scratch); -} - -static int secp256k1_pubkey_load(const secp256k1_context* ctx, secp256k1_ge* ge, const secp256k1_pubkey* pubkey) { - if (sizeof(secp256k1_ge_storage) == 64) { - /* When the secp256k1_ge_storage type is exactly 64 byte, use its - * representation inside secp256k1_pubkey, as conversion is very fast. - * Note that secp256k1_pubkey_save must use the same representation. */ - secp256k1_ge_storage s; - memcpy(&s, &pubkey->data[0], sizeof(s)); - secp256k1_ge_from_storage(ge, &s); - } else { - /* Otherwise, fall back to 32-byte big endian for X and Y. */ - secp256k1_fe x, y; - secp256k1_fe_set_b32(&x, pubkey->data); - secp256k1_fe_set_b32(&y, pubkey->data + 32); - secp256k1_ge_set_xy(ge, &x, &y); - } - ARG_CHECK(!secp256k1_fe_is_zero(&ge->x)); - return 1; -} - -static void secp256k1_pubkey_save(secp256k1_pubkey* pubkey, secp256k1_ge* ge) { - if (sizeof(secp256k1_ge_storage) == 64) { - secp256k1_ge_storage s; - secp256k1_ge_to_storage(&s, ge); - memcpy(&pubkey->data[0], &s, sizeof(s)); - } else { - VERIFY_CHECK(!secp256k1_ge_is_infinity(ge)); - secp256k1_fe_normalize_var(&ge->x); - secp256k1_fe_normalize_var(&ge->y); - secp256k1_fe_get_b32(pubkey->data, &ge->x); - secp256k1_fe_get_b32(pubkey->data + 32, &ge->y); - } -} - -int secp256k1_ec_pubkey_parse(const secp256k1_context* ctx, secp256k1_pubkey* pubkey, const unsigned char *input, size_t inputlen) { - secp256k1_ge Q; - - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(pubkey != NULL); - memset(pubkey, 0, sizeof(*pubkey)); - ARG_CHECK(input != NULL); - if (!secp256k1_eckey_pubkey_parse(&Q, input, inputlen)) { - return 0; - } - secp256k1_pubkey_save(pubkey, &Q); - secp256k1_ge_clear(&Q); - return 1; -} - -int secp256k1_ec_pubkey_serialize(const secp256k1_context* ctx, unsigned char *output, size_t *outputlen, const secp256k1_pubkey* pubkey, unsigned int flags) { - secp256k1_ge Q; - size_t len; - int ret = 0; - - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(outputlen != NULL); - ARG_CHECK(*outputlen >= ((flags & SECP256K1_FLAGS_BIT_COMPRESSION) ? 33 : 65)); - len = *outputlen; - *outputlen = 0; - ARG_CHECK(output != NULL); - memset(output, 0, len); - ARG_CHECK(pubkey != NULL); - ARG_CHECK((flags & SECP256K1_FLAGS_TYPE_MASK) == SECP256K1_FLAGS_TYPE_COMPRESSION); - if (secp256k1_pubkey_load(ctx, &Q, pubkey)) { - ret = secp256k1_eckey_pubkey_serialize(&Q, output, &len, flags & SECP256K1_FLAGS_BIT_COMPRESSION); - if (ret) { - *outputlen = len; - } - } - return ret; -} - -static void secp256k1_ecdsa_signature_load(const secp256k1_context* ctx, secp256k1_scalar* r, secp256k1_scalar* s, const secp256k1_ecdsa_signature* sig) { - (void)ctx; - if (sizeof(secp256k1_scalar) == 32) { - /* When the secp256k1_scalar type is exactly 32 byte, use its - * representation inside secp256k1_ecdsa_signature, as conversion is very fast. - * Note that secp256k1_ecdsa_signature_save must use the same representation. */ - memcpy(r, &sig->data[0], 32); - memcpy(s, &sig->data[32], 32); - } else { - secp256k1_scalar_set_b32(r, &sig->data[0], NULL); - secp256k1_scalar_set_b32(s, &sig->data[32], NULL); - } -} - -static void secp256k1_ecdsa_signature_save(secp256k1_ecdsa_signature* sig, const secp256k1_scalar* r, const secp256k1_scalar* s) { - if (sizeof(secp256k1_scalar) == 32) { - memcpy(&sig->data[0], r, 32); - memcpy(&sig->data[32], s, 32); - } else { - secp256k1_scalar_get_b32(&sig->data[0], r); - secp256k1_scalar_get_b32(&sig->data[32], s); - } -} - -int secp256k1_ecdsa_signature_parse_der(const secp256k1_context* ctx, secp256k1_ecdsa_signature* sig, const unsigned char *input, size_t inputlen) { - secp256k1_scalar r, s; - - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(sig != NULL); - ARG_CHECK(input != NULL); - - if (secp256k1_ecdsa_sig_parse(&r, &s, input, inputlen)) { - secp256k1_ecdsa_signature_save(sig, &r, &s); - return 1; - } else { - memset(sig, 0, sizeof(*sig)); - return 0; - } -} - -int secp256k1_ecdsa_signature_parse_compact(const secp256k1_context* ctx, secp256k1_ecdsa_signature* sig, const unsigned char *input64) { - secp256k1_scalar r, s; - int ret = 1; - int overflow = 0; - - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(sig != NULL); - ARG_CHECK(input64 != NULL); - - secp256k1_scalar_set_b32(&r, &input64[0], &overflow); - ret &= !overflow; - secp256k1_scalar_set_b32(&s, &input64[32], &overflow); - ret &= !overflow; - if (ret) { - secp256k1_ecdsa_signature_save(sig, &r, &s); - } else { - memset(sig, 0, sizeof(*sig)); - } - return ret; -} - -int secp256k1_ecdsa_signature_serialize_der(const secp256k1_context* ctx, unsigned char *output, size_t *outputlen, const secp256k1_ecdsa_signature* sig) { - secp256k1_scalar r, s; - - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(output != NULL); - ARG_CHECK(outputlen != NULL); - ARG_CHECK(sig != NULL); - - secp256k1_ecdsa_signature_load(ctx, &r, &s, sig); - return secp256k1_ecdsa_sig_serialize(output, outputlen, &r, &s); -} - -int secp256k1_ecdsa_signature_serialize_compact(const secp256k1_context* ctx, unsigned char *output64, const secp256k1_ecdsa_signature* sig) { - secp256k1_scalar r, s; - - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(output64 != NULL); - ARG_CHECK(sig != NULL); - - secp256k1_ecdsa_signature_load(ctx, &r, &s, sig); - secp256k1_scalar_get_b32(&output64[0], &r); - secp256k1_scalar_get_b32(&output64[32], &s); - return 1; -} - -int secp256k1_ecdsa_signature_normalize(const secp256k1_context* ctx, secp256k1_ecdsa_signature *sigout, const secp256k1_ecdsa_signature *sigin) { - secp256k1_scalar r, s; - int ret = 0; - - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(sigin != NULL); - - secp256k1_ecdsa_signature_load(ctx, &r, &s, sigin); - ret = secp256k1_scalar_is_high(&s); - if (sigout != NULL) { - if (ret) { - secp256k1_scalar_negate(&s, &s); - } - secp256k1_ecdsa_signature_save(sigout, &r, &s); - } - - return ret; -} - -int secp256k1_ecdsa_verify(const secp256k1_context* ctx, const secp256k1_ecdsa_signature *sig, const unsigned char *msg32, const secp256k1_pubkey *pubkey) { - secp256k1_ge q; - secp256k1_scalar r, s; - secp256k1_scalar m; - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(secp256k1_ecmult_context_is_built(&ctx->ecmult_ctx)); - ARG_CHECK(msg32 != NULL); - ARG_CHECK(sig != NULL); - ARG_CHECK(pubkey != NULL); - - secp256k1_scalar_set_b32(&m, msg32, NULL); - secp256k1_ecdsa_signature_load(ctx, &r, &s, sig); - return (!secp256k1_scalar_is_high(&s) && - secp256k1_pubkey_load(ctx, &q, pubkey) && - secp256k1_ecdsa_sig_verify(&ctx->ecmult_ctx, &r, &s, &q, &m)); -} - -static SECP256K1_INLINE void buffer_append(unsigned char *buf, unsigned int *offset, const void *data, unsigned int len) { - memcpy(buf + *offset, data, len); - *offset += len; -} - -static int nonce_function_rfc6979(unsigned char *nonce32, const unsigned char *msg32, const unsigned char *key32, const unsigned char *algo16, void *data, unsigned int counter) { - unsigned char keydata[112]; - unsigned int offset = 0; - secp256k1_rfc6979_hmac_sha256 rng; - unsigned int i; - /* We feed a byte array to the PRNG as input, consisting of: - * - the private key (32 bytes) and message (32 bytes), see RFC 6979 3.2d. - * - optionally 32 extra bytes of data, see RFC 6979 3.6 Additional Data. - * - optionally 16 extra bytes with the algorithm name. - * Because the arguments have distinct fixed lengths it is not possible for - * different argument mixtures to emulate each other and result in the same - * nonces. - */ - buffer_append(keydata, &offset, key32, 32); - buffer_append(keydata, &offset, msg32, 32); - if (data != NULL) { - buffer_append(keydata, &offset, data, 32); - } - if (algo16 != NULL) { - buffer_append(keydata, &offset, algo16, 16); - } - secp256k1_rfc6979_hmac_sha256_initialize(&rng, keydata, offset); - memset(keydata, 0, sizeof(keydata)); - for (i = 0; i <= counter; i++) { - secp256k1_rfc6979_hmac_sha256_generate(&rng, nonce32, 32); - } - secp256k1_rfc6979_hmac_sha256_finalize(&rng); - return 1; -} - -const secp256k1_nonce_function secp256k1_nonce_function_rfc6979 = nonce_function_rfc6979; -const secp256k1_nonce_function secp256k1_nonce_function_default = nonce_function_rfc6979; - -int secp256k1_ecdsa_sign(const secp256k1_context* ctx, secp256k1_ecdsa_signature *signature, const unsigned char *msg32, const unsigned char *seckey, secp256k1_nonce_function noncefp, const void* noncedata) { - secp256k1_scalar r, s; - secp256k1_scalar sec, non, msg; - int ret = 0; - int overflow = 0; - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(secp256k1_ecmult_gen_context_is_built(&ctx->ecmult_gen_ctx)); - ARG_CHECK(msg32 != NULL); - ARG_CHECK(signature != NULL); - ARG_CHECK(seckey != NULL); - if (noncefp == NULL) { - noncefp = secp256k1_nonce_function_default; - } - - secp256k1_scalar_set_b32(&sec, seckey, &overflow); - /* Fail if the secret key is invalid. */ - if (!overflow && !secp256k1_scalar_is_zero(&sec)) { - unsigned char nonce32[32]; - unsigned int count = 0; - secp256k1_scalar_set_b32(&msg, msg32, NULL); - while (1) { - ret = noncefp(nonce32, msg32, seckey, NULL, (void*)noncedata, count); - if (!ret) { - break; - } - secp256k1_scalar_set_b32(&non, nonce32, &overflow); - if (!overflow && !secp256k1_scalar_is_zero(&non)) { - if (secp256k1_ecdsa_sig_sign(&ctx->ecmult_gen_ctx, &r, &s, &sec, &msg, &non, NULL)) { - break; - } - } - count++; - } - memset(nonce32, 0, 32); - secp256k1_scalar_clear(&msg); - secp256k1_scalar_clear(&non); - secp256k1_scalar_clear(&sec); - } - if (ret) { - secp256k1_ecdsa_signature_save(signature, &r, &s); - } else { - memset(signature, 0, sizeof(*signature)); - } - return ret; -} - -int secp256k1_ec_seckey_verify(const secp256k1_context* ctx, const unsigned char *seckey) { - secp256k1_scalar sec; - int ret; - int overflow; - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(seckey != NULL); - - secp256k1_scalar_set_b32(&sec, seckey, &overflow); - ret = !overflow && !secp256k1_scalar_is_zero(&sec); - secp256k1_scalar_clear(&sec); - return ret; -} - -int secp256k1_ec_pubkey_create(const secp256k1_context* ctx, secp256k1_pubkey *pubkey, const unsigned char *seckey) { - secp256k1_gej pj; - secp256k1_ge p; - secp256k1_scalar sec; - int overflow; - int ret = 0; - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(pubkey != NULL); - memset(pubkey, 0, sizeof(*pubkey)); - ARG_CHECK(secp256k1_ecmult_gen_context_is_built(&ctx->ecmult_gen_ctx)); - ARG_CHECK(seckey != NULL); - - secp256k1_scalar_set_b32(&sec, seckey, &overflow); - ret = (!overflow) & (!secp256k1_scalar_is_zero(&sec)); - if (ret) { - secp256k1_ecmult_gen(&ctx->ecmult_gen_ctx, &pj, &sec); - secp256k1_ge_set_gej(&p, &pj); - secp256k1_pubkey_save(pubkey, &p); - } - secp256k1_scalar_clear(&sec); - return ret; -} - -int secp256k1_ec_privkey_negate(const secp256k1_context* ctx, unsigned char *seckey) { - secp256k1_scalar sec; - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(seckey != NULL); - - secp256k1_scalar_set_b32(&sec, seckey, NULL); - secp256k1_scalar_negate(&sec, &sec); - secp256k1_scalar_get_b32(seckey, &sec); - - return 1; -} - -int secp256k1_ec_pubkey_negate(const secp256k1_context* ctx, secp256k1_pubkey *pubkey) { - int ret = 0; - secp256k1_ge p; - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(pubkey != NULL); - - ret = secp256k1_pubkey_load(ctx, &p, pubkey); - memset(pubkey, 0, sizeof(*pubkey)); - if (ret) { - secp256k1_ge_neg(&p, &p); - secp256k1_pubkey_save(pubkey, &p); - } - return ret; -} - -int secp256k1_ec_privkey_tweak_add(const secp256k1_context* ctx, unsigned char *seckey, const unsigned char *tweak) { - secp256k1_scalar term; - secp256k1_scalar sec; - int ret = 0; - int overflow = 0; - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(seckey != NULL); - ARG_CHECK(tweak != NULL); - - secp256k1_scalar_set_b32(&term, tweak, &overflow); - secp256k1_scalar_set_b32(&sec, seckey, NULL); - - ret = !overflow && secp256k1_eckey_privkey_tweak_add(&sec, &term); - memset(seckey, 0, 32); - if (ret) { - secp256k1_scalar_get_b32(seckey, &sec); - } - - secp256k1_scalar_clear(&sec); - secp256k1_scalar_clear(&term); - return ret; -} - -int secp256k1_ec_pubkey_tweak_add(const secp256k1_context* ctx, secp256k1_pubkey *pubkey, const unsigned char *tweak) { - secp256k1_ge p; - secp256k1_scalar term; - int ret = 0; - int overflow = 0; - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(secp256k1_ecmult_context_is_built(&ctx->ecmult_ctx)); - ARG_CHECK(pubkey != NULL); - ARG_CHECK(tweak != NULL); - - secp256k1_scalar_set_b32(&term, tweak, &overflow); - ret = !overflow && secp256k1_pubkey_load(ctx, &p, pubkey); - memset(pubkey, 0, sizeof(*pubkey)); - if (ret) { - if (secp256k1_eckey_pubkey_tweak_add(&ctx->ecmult_ctx, &p, &term)) { - secp256k1_pubkey_save(pubkey, &p); - } else { - ret = 0; - } - } - - return ret; -} - -int secp256k1_ec_privkey_tweak_mul(const secp256k1_context* ctx, unsigned char *seckey, const unsigned char *tweak) { - secp256k1_scalar factor; - secp256k1_scalar sec; - int ret = 0; - int overflow = 0; - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(seckey != NULL); - ARG_CHECK(tweak != NULL); - - secp256k1_scalar_set_b32(&factor, tweak, &overflow); - secp256k1_scalar_set_b32(&sec, seckey, NULL); - ret = !overflow && secp256k1_eckey_privkey_tweak_mul(&sec, &factor); - memset(seckey, 0, 32); - if (ret) { - secp256k1_scalar_get_b32(seckey, &sec); - } - - secp256k1_scalar_clear(&sec); - secp256k1_scalar_clear(&factor); - return ret; -} - -int secp256k1_ec_pubkey_tweak_mul(const secp256k1_context* ctx, secp256k1_pubkey *pubkey, const unsigned char *tweak) { - secp256k1_ge p; - secp256k1_scalar factor; - int ret = 0; - int overflow = 0; - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(secp256k1_ecmult_context_is_built(&ctx->ecmult_ctx)); - ARG_CHECK(pubkey != NULL); - ARG_CHECK(tweak != NULL); - - secp256k1_scalar_set_b32(&factor, tweak, &overflow); - ret = !overflow && secp256k1_pubkey_load(ctx, &p, pubkey); - memset(pubkey, 0, sizeof(*pubkey)); - if (ret) { - if (secp256k1_eckey_pubkey_tweak_mul(&ctx->ecmult_ctx, &p, &factor)) { - secp256k1_pubkey_save(pubkey, &p); - } else { - ret = 0; - } - } - - return ret; -} - -int secp256k1_context_randomize(secp256k1_context* ctx, const unsigned char *seed32) { - VERIFY_CHECK(ctx != NULL); - ARG_CHECK(secp256k1_ecmult_gen_context_is_built(&ctx->ecmult_gen_ctx)); - secp256k1_ecmult_gen_blind(&ctx->ecmult_gen_ctx, seed32); - return 1; -} - -int secp256k1_ec_pubkey_combine(const secp256k1_context* ctx, secp256k1_pubkey *pubnonce, const secp256k1_pubkey * const *pubnonces, size_t n) { - size_t i; - secp256k1_gej Qj; - secp256k1_ge Q; - - ARG_CHECK(pubnonce != NULL); - memset(pubnonce, 0, sizeof(*pubnonce)); - ARG_CHECK(n >= 1); - ARG_CHECK(pubnonces != NULL); - - secp256k1_gej_set_infinity(&Qj); - - for (i = 0; i < n; i++) { - secp256k1_pubkey_load(ctx, &Q, pubnonces[i]); - secp256k1_gej_add_ge(&Qj, &Qj, &Q); - } - if (secp256k1_gej_is_infinity(&Qj)) { - return 0; - } - secp256k1_ge_set_gej(&Q, &Qj); - secp256k1_pubkey_save(pubnonce, &Q); - return 1; -} - -#ifdef ENABLE_MODULE_ECDH -# include "modules/ecdh/main_impl.h" -#endif - -#ifdef ENABLE_MODULE_RECOVERY -# include "modules/recovery/main_impl.h" -#endif diff --git a/Pods/secp256k1_ios/secp256k1_ios/src/util.h b/Pods/secp256k1_ios/secp256k1_ios/src/util.h deleted file mode 100644 index e0147500f..000000000 --- a/Pods/secp256k1_ios/secp256k1_ios/src/util.h +++ /dev/null @@ -1,121 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_UTIL_H -#define SECP256K1_UTIL_H - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#include -#include -#include - -typedef struct { - void (*fn)(const char *text, void* data); - const void* data; -} secp256k1_callback; - -static SECP256K1_INLINE void secp256k1_callback_call(const secp256k1_callback * const cb, const char * const text) { - cb->fn(text, (void*)cb->data); -} - -#ifdef DETERMINISTIC -#define TEST_FAILURE(msg) do { \ - fprintf(stderr, "%s\n", msg); \ - abort(); \ -} while(0); -#else -#define TEST_FAILURE(msg) do { \ - fprintf(stderr, "%s:%d: %s\n", __FILE__, __LINE__, msg); \ - abort(); \ -} while(0) -#endif - -#ifdef HAVE_BUILTIN_EXPECT -#define EXPECT(x,c) __builtin_expect((x),(c)) -#else -#define EXPECT(x,c) (x) -#endif - -#ifdef DETERMINISTIC -#define CHECK(cond) do { \ - if (EXPECT(!(cond), 0)) { \ - TEST_FAILURE("test condition failed"); \ - } \ -} while(0) -#else -#define CHECK(cond) do { \ - if (EXPECT(!(cond), 0)) { \ - TEST_FAILURE("test condition failed: " #cond); \ - } \ -} while(0) -#endif - -/* Like assert(), but when VERIFY is defined, and side-effect safe. */ -#if defined(COVERAGE) -#define VERIFY_CHECK(check) -#define VERIFY_SETUP(stmt) -#elif defined(VERIFY) -#define VERIFY_CHECK CHECK -#define VERIFY_SETUP(stmt) do { stmt; } while(0) -#else -#define VERIFY_CHECK(cond) do { (void)(cond); } while(0) -#define VERIFY_SETUP(stmt) -#endif - -static SECP256K1_INLINE void *checked_malloc(const secp256k1_callback* cb, size_t size) { - void *ret = malloc(size); - if (ret == NULL) { - secp256k1_callback_call(cb, "Out of memory"); - } - return ret; -} - -static SECP256K1_INLINE void *checked_realloc(const secp256k1_callback* cb, void *ptr, size_t size) { - void *ret = realloc(ptr, size); - if (ret == NULL) { - secp256k1_callback_call(cb, "Out of memory"); - } - return ret; -} - -/* Macro for restrict, when available and not in a VERIFY build. */ -#if defined(SECP256K1_BUILD) && defined(VERIFY) -# define SECP256K1_RESTRICT -#else -# if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) ) -# if SECP256K1_GNUC_PREREQ(3,0) -# define SECP256K1_RESTRICT __restrict__ -# elif (defined(_MSC_VER) && _MSC_VER >= 1400) -# define SECP256K1_RESTRICT __restrict -# else -# define SECP256K1_RESTRICT -# endif -# else -# define SECP256K1_RESTRICT restrict -# endif -#endif - -#if defined(_WIN32) -# define I64FORMAT "I64d" -# define I64uFORMAT "I64u" -#else -# define I64FORMAT "lld" -# define I64uFORMAT "llu" -#endif - -#if defined(HAVE___INT128) -# if defined(__GNUC__) -# define SECP256K1_GNUC_EXT __extension__ -# else -# define SECP256K1_GNUC_EXT -# endif -SECP256K1_GNUC_EXT typedef unsigned __int128 uint128_t; -#endif - -#endif /* SECP256K1_UTIL_H */ diff --git a/web3swift/Convenience/Classes/LibSecp256k1Extension.swift b/web3swift/Convenience/Classes/LibSecp256k1Extension.swift deleted file mode 100755 index bf41816f3..000000000 --- a/web3swift/Convenience/Classes/LibSecp256k1Extension.swift +++ /dev/null @@ -1,307 +0,0 @@ -// -// LibSecp256k1Extension.swift -// web3swift-iOS -// -// Created by Alexander Vlasov. -// Copyright © 2018 Bankex Foundation. All rights reserved. -// - - -import Foundation -import secp256k1_ios -import BigInt - - - -public struct SECP256K1 { - public struct UnmarshaledSignature{ - var v: UInt8 - var r = [UInt8](repeating: 0, count: 32) - var s = [UInt8](repeating: 0, count: 32) - } - - static var secp256k1_N = BigUInt("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141", radix: 16)! - static var secp256k1_halfN = secp256k1_N >> 2 -} - -extension SECP256K1 { - static var context = secp256k1_context_create(UInt32(SECP256K1_CONTEXT_SIGN|SECP256K1_CONTEXT_VERIFY)) - - static func signForRecovery(hash: Data, privateKey: Data, useExtraEntropy: Bool = false) -> (serializedSignature:Data?, rawSignature: Data?) { - if (hash.count != 32 || privateKey.count != 32) {return (nil, nil)} - if !SECP256K1.verifyPrivateKey(privateKey: privateKey) { - return (nil, nil) - } - for _ in 0...1024 { - guard var recoverableSignature = SECP256K1.recoverableSign(hash: hash, privateKey: privateKey, useExtraEntropy: useExtraEntropy) else { - continue - } - guard let truePublicKey = SECP256K1.privateKeyToPublicKey(privateKey: privateKey) else {continue} - guard let recoveredPublicKey = SECP256K1.recoverPublicKey(hash: hash, recoverableSignature: &recoverableSignature) else {continue} - if Data(toByteArray(truePublicKey.data)) != Data(toByteArray(recoveredPublicKey.data)) { -// print("Didn't recover correctly!") - continue - } - guard let serializedSignature = SECP256K1.serializeSignature(recoverableSignature: &recoverableSignature) else {continue} - let rawSignature = Data(toByteArray(recoverableSignature)) - return (serializedSignature, rawSignature) -// print("Signature required \(rounds) rounds") - } - print("Signature required 1024 rounds and failed") - return (nil, nil) - } - - static func privateToPublic(privateKey: Data, compressed: Bool = false) -> Data? { - if (privateKey.count != 32) {return nil} - guard var publicKey = SECP256K1.privateKeyToPublicKey(privateKey: privateKey) else {return nil} - guard let serializedKey = serializePublicKey(publicKey: &publicKey, compressed: compressed) else {return nil} - return serializedKey - } - - static func combineSerializedPublicKeys(keys: [Data], outputCompressed: Bool = false) -> Data? { - let numToCombine = keys.count - guard numToCombine >= 1 else { return nil} - var storage = ContiguousArray() - let arrayOfPointers = UnsafeMutablePointer< UnsafePointer? >.allocate(capacity: numToCombine) - defer { - arrayOfPointers.deinitialize(count: numToCombine) - arrayOfPointers.deallocate() - } - for i in 0 ..< numToCombine { - let key = keys[i] - guard let pubkey = SECP256K1.parsePublicKey(serializedKey: key) else {return nil} - storage.append(pubkey) - } - for i in 0 ..< numToCombine { - withUnsafePointer(to: &storage[i]) { (ptr) -> Void in - arrayOfPointers.advanced(by: i).pointee = ptr - } - } - let immutablePointer = UnsafePointer(arrayOfPointers) - var publicKey: secp256k1_pubkey = secp256k1_pubkey() - -// let bufferPointer = UnsafeBufferPointer(start: immutablePointer, count: numToCombine) -// for (index, value) in bufferPointer.enumerated() { -// print("pointer value \(index): \(value!)") -// let val = value?.pointee -// print("value \(index): \(val!)") -// } -// - let result = withUnsafeMutablePointer(to: &publicKey) { (pubKeyPtr: UnsafeMutablePointer) -> Int32 in - let res = secp256k1_ec_pubkey_combine(context!, pubKeyPtr, immutablePointer, numToCombine) - return res - } - if result == 0 { - return nil - } - let serializedKey = SECP256K1.serializePublicKey(publicKey: &publicKey, compressed: outputCompressed) - return serializedKey - } - - - static func recoverPublicKey(hash: Data, recoverableSignature: inout secp256k1_ecdsa_recoverable_signature) -> secp256k1_pubkey? { - guard hash.count == 32 else {return nil} - var publicKey: secp256k1_pubkey = secp256k1_pubkey() - let result = hash.withUnsafeBytes { (hashPointer:UnsafePointer) -> Int32 in - withUnsafePointer(to: &recoverableSignature, { (signaturePointer:UnsafePointer) -> Int32 in - withUnsafeMutablePointer(to: &publicKey, { (pubKeyPtr: UnsafeMutablePointer) -> Int32 in - let res = secp256k1_ecdsa_recover(context!, pubKeyPtr, - signaturePointer, hashPointer) - return res - }) - }) - } - if result == 0 { - return nil - } - return publicKey - } - - static func privateKeyToPublicKey(privateKey: Data) -> secp256k1_pubkey? { - if (privateKey.count != 32) {return nil} - var publicKey = secp256k1_pubkey() - let result = privateKey.withUnsafeBytes { (privateKeyPointer:UnsafePointer) -> Int32 in - let res = secp256k1_ec_pubkey_create(context!, UnsafeMutablePointer(&publicKey), privateKeyPointer) - return res - } - if result == 0 { - return nil - } - return publicKey - } - - static func serializePublicKey(publicKey: inout secp256k1_pubkey, compressed: Bool = false) -> Data? { - var keyLength = compressed ? 33 : 65 - var serializedPubkey = Data(repeating: 0x00, count: keyLength) - let result = serializedPubkey.withUnsafeMutableBytes { (serializedPubkeyPointer:UnsafeMutablePointer) -> Int32 in - withUnsafeMutablePointer(to: &keyLength, { (keyPtr:UnsafeMutablePointer) -> Int32 in - withUnsafeMutablePointer(to: &publicKey, { (pubKeyPtr:UnsafeMutablePointer) -> Int32 in - let res = secp256k1_ec_pubkey_serialize(context!, - serializedPubkeyPointer, - keyPtr, - pubKeyPtr, - UInt32(compressed ? SECP256K1_EC_COMPRESSED : SECP256K1_EC_UNCOMPRESSED)) - return res - }) - }) - } - - if result == 0 { - return nil - } - return Data(serializedPubkey) - } - - static func parsePublicKey(serializedKey: Data) -> secp256k1_pubkey? { - guard serializedKey.count == 33 || serializedKey.count == 65 else { - return nil - } - let keyLen: Int = Int(serializedKey.count) - var publicKey = secp256k1_pubkey() - let result = serializedKey.withUnsafeBytes { (serializedKeyPointer:UnsafePointer) -> Int32 in - let res = secp256k1_ec_pubkey_parse(context!, UnsafeMutablePointer(&publicKey), serializedKeyPointer, keyLen) - return res - } - if result == 0 { - return nil - } - return publicKey - } - - static func parseSignature(signature: Data) -> secp256k1_ecdsa_recoverable_signature? { - guard signature.count == 65 else {return nil} - var recoverableSignature: secp256k1_ecdsa_recoverable_signature = secp256k1_ecdsa_recoverable_signature() - let serializedSignature = Data(signature[0..<64]) - let v = Int32(signature[64]) - let result = serializedSignature.withUnsafeBytes{ (serPtr: UnsafePointer) -> Int32 in - withUnsafeMutablePointer(to: &recoverableSignature, { (signaturePointer:UnsafeMutablePointer) -> Int32 in - let res = secp256k1_ecdsa_recoverable_signature_parse_compact(context!, signaturePointer, serPtr, v) - return res - }) - } - if result == 0 { - return nil - } - return recoverableSignature - } - - static func serializeSignature(recoverableSignature: inout secp256k1_ecdsa_recoverable_signature) -> Data? { - var serializedSignature = Data(repeating: 0x00, count: 64) - var v: Int32 = 0 - let result = serializedSignature.withUnsafeMutableBytes { (serSignaturePointer:UnsafeMutablePointer) -> Int32 in - withUnsafePointer(to: &recoverableSignature) { (signaturePointer:UnsafePointer) -> Int32 in - withUnsafeMutablePointer(to: &v, { (vPtr: UnsafeMutablePointer) -> Int32 in - let res = secp256k1_ecdsa_recoverable_signature_serialize_compact(context!, serSignaturePointer, vPtr, signaturePointer) - return res - }) - } - } - if result == 0 { - return nil - } - if (v == 0) { - serializedSignature.append(0x00) - } else if (v == 1) { - serializedSignature.append(0x01) - } else { - return nil - } - return Data(serializedSignature) - } - - static func recoverableSign(hash: Data, privateKey: Data, useExtraEntropy: Bool = true) -> secp256k1_ecdsa_recoverable_signature? { - if (hash.count != 32 || privateKey.count != 32) { - return nil - } - if !SECP256K1.verifyPrivateKey(privateKey: privateKey) { - return nil - } - var recoverableSignature: secp256k1_ecdsa_recoverable_signature = secp256k1_ecdsa_recoverable_signature(); - guard let extraEntropy = Data.randomBytes(length: 32) else {return nil} - let result = hash.withUnsafeBytes { (hashPointer:UnsafePointer) -> Int32 in - privateKey.withUnsafeBytes { (privateKeyPointer:UnsafePointer) -> Int32 in - extraEntropy.withUnsafeBytes { (extraEntropyPointer:UnsafePointer) -> Int32 in - withUnsafeMutablePointer(to: &recoverableSignature, { (recSignaturePtr: UnsafeMutablePointer) -> Int32 in - let res = secp256k1_ecdsa_sign_recoverable(context!, recSignaturePtr, hashPointer, privateKeyPointer, nil, useExtraEntropy ? extraEntropyPointer : nil) - return res - }) - } - } - } - if result == 0 { - return nil - } - return recoverableSignature - } - - static func recoverPublicKey(hash: Data, signature: Data, compressed: Bool = false) -> Data? { - guard hash.count == 32, signature.count == 65 else {return nil} - guard var recoverableSignature = parseSignature(signature: signature) else {return nil} - guard var publicKey = SECP256K1.recoverPublicKey(hash: hash, recoverableSignature: &recoverableSignature) else {return nil} - guard let serializedKey = SECP256K1.serializePublicKey(publicKey: &publicKey, compressed: compressed) else {return nil} - return serializedKey - } - - static func recoverSender(hash: Data, signature: Data) -> EthereumAddress? { - guard let pubKey = SECP256K1.recoverPublicKey(hash:hash, signature:signature, compressed: false) else {return nil} - guard pubKey.count == 65 else {return nil} - let addressData = Data(pubKey.sha3(.keccak256)[12..<32]) - return EthereumAddress(addressData) - } - - static func verifyPrivateKey(privateKey: Data) -> Bool { - if (privateKey.count != 32) {return false} - let result = privateKey.withUnsafeBytes { (privateKeyPointer:UnsafePointer) -> Int32 in - let res = secp256k1_ec_seckey_verify(context!, privateKeyPointer) - return res - } - return result == 1 - } - - static func generatePrivateKey() -> Data? { - for _ in 0...1024 { - guard let keyData = Data.randomBytes(length: 32) else { - continue - } - return keyData - } - return nil - } - - static func unmarshalSignature(signatureData:Data) -> UnmarshaledSignature? { - if (signatureData.count != 65) {return nil} - let bytes = signatureData.bytes - let r = Array(bytes[0..<32]) - let s = Array(bytes[32..<64]) - var v = bytes[64] - if v >= 27 { - v = v - 27 - } - if v > 3 { - return nil - } - return UnmarshaledSignature(v: v, r: r, s: s) - } - - static func marshalSignature(v: UInt8, r: [UInt8], s: [UInt8]) -> Data? { - guard r.count == 32, s.count == 32 else {return nil} - var completeSignature = Data(bytes: r) - completeSignature.append(Data(bytes: s)) - completeSignature.append(Data(bytes: [v])) - return completeSignature - } - - static func marshalSignature(v: Data, r: Data, s: Data) -> Data? { - guard r.count == 32, s.count == 32, v.count == 1 else {return nil} - var completeSignature = Data(r) - completeSignature.append(s) - completeSignature.append(v) - return completeSignature - } -} - - - - - - From 202d5937915261f33df8555c1fe1b9d4d4307a0d Mon Sep 17 00:00:00 2001 From: Alex Vlasov Date: Thu, 4 Oct 2018 16:25:54 +0300 Subject: [PATCH 64/66] add new pod files --- .../SwiftRLP-iOS/SwiftRLP-iOS-prefix.pch | 12 + .../SwiftRLP-macOS/SwiftRLP-macOS-prefix.pch | 12 + .../secp256k1_swift-iOS.xcconfig | 12 + .../secp256k1_swift-macOS-umbrella.h | 19 + .../secp256k1_swift-macOS.xcconfig | 12 + .../Classes/libsecp256k1-config.h | 46 + Pods/secp256k1_swift/Classes/secp256k1.swift | 321 +++++ .../secp256k1/contrib/lax_der_parsing.c | 150 +++ .../secp256k1/contrib/lax_der_parsing.h | 91 ++ .../contrib/lax_der_privatekey_parsing.c | 113 ++ .../contrib/lax_der_privatekey_parsing.h | 90 ++ .../Classes/secp256k1/include/secp256k1.h | 654 ++++++++++ .../secp256k1/include/secp256k1_ecdh.h | 31 + .../secp256k1/include/secp256k1_recovery.h | 110 ++ .../Classes/secp256k1/src/basic-config.h | 33 + .../Classes/secp256k1/src/ecdsa.h | 21 + .../Classes/secp256k1/src/ecdsa_impl.h | 313 +++++ .../Classes/secp256k1/src/eckey.h | 25 + .../Classes/secp256k1/src/eckey_impl.h | 100 ++ .../Classes/secp256k1/src/ecmult.h | 47 + .../Classes/secp256k1/src/ecmult_const.h | 17 + .../Classes/secp256k1/src/ecmult_const_impl.h | 257 ++++ .../Classes/secp256k1/src/ecmult_gen.h | 43 + .../Classes/secp256k1/src/ecmult_gen_impl.h | 210 +++ .../Classes/secp256k1/src/ecmult_impl.h | 1027 +++++++++++++++ .../Classes/secp256k1/src/field.h | 132 ++ .../Classes/secp256k1/src/field_10x26.h | 48 + .../Classes/secp256k1/src/field_10x26_impl.h | 1161 +++++++++++++++++ .../Classes/secp256k1/src/field_5x52.h | 47 + .../secp256k1/src/field_5x52_asm_impl.h | 502 +++++++ .../Classes/secp256k1/src/field_5x52_impl.h | 496 +++++++ .../secp256k1/src/field_5x52_int128_impl.h | 277 ++++ .../Classes/secp256k1/src/field_impl.h | 315 +++++ .../Classes/secp256k1/src/group.h | 147 +++ .../Classes/secp256k1/src/group_impl.h | 706 ++++++++++ .../Classes/secp256k1/src/hash.h | 41 + .../Classes/secp256k1/src/hash_impl.h | 282 ++++ .../secp256k1/src/modules/ecdh/main_impl.h | 54 + .../src/modules/recovery/main_impl.h | 193 +++ .../Classes/secp256k1/src/num.h | 74 ++ .../Classes/secp256k1/src/num_gmp.h | 20 + .../Classes/secp256k1/src/num_gmp_impl.h | 288 ++++ .../Classes/secp256k1/src/num_impl.h | 24 + .../Classes/secp256k1/src/scalar.h | 106 ++ .../Classes/secp256k1/src/scalar_4x64.h | 19 + .../Classes/secp256k1/src/scalar_4x64_impl.h | 949 ++++++++++++++ .../Classes/secp256k1/src/scalar_8x32.h | 19 + .../Classes/secp256k1/src/scalar_8x32_impl.h | 721 ++++++++++ .../Classes/secp256k1/src/scalar_impl.h | 333 +++++ .../Classes/secp256k1/src/scalar_low.h | 15 + .../Classes/secp256k1/src/scalar_low_impl.h | 114 ++ .../Classes/secp256k1/src/scratch.h | 39 + .../Classes/secp256k1/src/scratch_impl.h | 86 ++ .../Classes/secp256k1/src/secp256k1.c | 597 +++++++++ .../Classes/secp256k1/src/util.h | 121 ++ 55 files changed, 11692 insertions(+) create mode 100644 Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS-prefix.pch create mode 100644 Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS-prefix.pch create mode 100644 Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS.xcconfig create mode 100644 Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS-umbrella.h create mode 100644 Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS.xcconfig create mode 100755 Pods/secp256k1_swift/Classes/libsecp256k1-config.h create mode 100755 Pods/secp256k1_swift/Classes/secp256k1.swift create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/contrib/lax_der_parsing.c create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/contrib/lax_der_parsing.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/contrib/lax_der_privatekey_parsing.c create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/contrib/lax_der_privatekey_parsing.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/include/secp256k1.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/include/secp256k1_ecdh.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/include/secp256k1_recovery.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/basic-config.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/ecdsa.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/ecdsa_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/eckey.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/eckey_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/ecmult.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_const.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_const_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_gen.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_gen_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/field.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/field_10x26.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/field_10x26_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/field_5x52.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/field_5x52_asm_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/field_5x52_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/field_5x52_int128_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/field_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/group.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/group_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/hash.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/hash_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/modules/ecdh/main_impl.h create mode 100755 Pods/secp256k1_swift/Classes/secp256k1/src/modules/recovery/main_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/num.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/num_gmp.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/num_gmp_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/num_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/scalar.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/scalar_4x64.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/scalar_4x64_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/scalar_8x32.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/scalar_8x32_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/scalar_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/scalar_low.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/scalar_low_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/scratch.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/scratch_impl.h create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/secp256k1.c create mode 100644 Pods/secp256k1_swift/Classes/secp256k1/src/util.h diff --git a/Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS-prefix.pch b/Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS-prefix.pch new file mode 100644 index 000000000..beb2a2441 --- /dev/null +++ b/Pods/Target Support Files/SwiftRLP-iOS/SwiftRLP-iOS-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS-prefix.pch b/Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS-prefix.pch new file mode 100644 index 000000000..082f8af22 --- /dev/null +++ b/Pods/Target Support Files/SwiftRLP-macOS/SwiftRLP-macOS-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS.xcconfig b/Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS.xcconfig new file mode 100644 index 000000000..d06a727b8 --- /dev/null +++ b/Pods/Target Support Files/secp256k1_swift-iOS/secp256k1_swift-iOS.xcconfig @@ -0,0 +1,12 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-iOS +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/secp256k1_swift" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/secp256k1" +OTHER_CFLAGS = -DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3 +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/secp256k1_swift +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +SWIFT_INCLUDE_PATHS = ${PODS_ROOT} diff --git a/Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS-umbrella.h b/Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS-umbrella.h new file mode 100644 index 000000000..0b120cf70 --- /dev/null +++ b/Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS-umbrella.h @@ -0,0 +1,19 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "secp256k1.h" +#import "secp256k1_ecdh.h" +#import "secp256k1_recovery.h" + +FOUNDATION_EXPORT double secp256k1_swiftVersionNumber; +FOUNDATION_EXPORT const unsigned char secp256k1_swiftVersionString[]; + diff --git a/Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS.xcconfig b/Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS.xcconfig new file mode 100644 index 000000000..a9de3f41e --- /dev/null +++ b/Pods/Target Support Files/secp256k1_swift-macOS/secp256k1_swift-macOS.xcconfig @@ -0,0 +1,12 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/secp256k1_swift-macOS +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/secp256k1_swift" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/secp256k1" +OTHER_CFLAGS = -DHAVE_CONFIG_H=1 -pedantic -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-shorten-64-to-32 -Wno-conditional-uninitialized -Wno-unused-function -Wno-long-long -Wno-overlength-strings -O3 +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fmodule-map-file="${SRCROOT}/${MODULEMAP_FILE}" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/secp256k1_swift +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +SWIFT_INCLUDE_PATHS = ${PODS_ROOT} diff --git a/Pods/secp256k1_swift/Classes/libsecp256k1-config.h b/Pods/secp256k1_swift/Classes/libsecp256k1-config.h new file mode 100755 index 000000000..2b55bd620 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/libsecp256k1-config.h @@ -0,0 +1,46 @@ +// +// libsecp256k1-config.h +// secp256k1_ios +// +// Created by Alexander Vlasov on 27.02.2018. +// Copyright © 2018 Alexander Vlasov. All rights reserved. +// + +#ifndef libsecp256k1_config_h +#define libsecp256k1_config_h + +#undef USE_NUM_GMP +#define USE_NUM_NONE 1 +#define USE_FIELD_INV_BUILTIN 1 +#define USE_SCALAR_INV_BUILTIN 1 + +#define HAVE_BUILTIN_EXPECT 1 +//#define USE_ECMULT_STATIC_PRECOMPUTATION 1 +#define ENABLE_MODULE_RECOVERY 1 + +#define STDC_HEADERS 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRING_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_DLFCN_H 1 + +#if defined(__LP64__) +#if defined(__SIZEOF_INT128__) +#define HAVE___INT128 1 +#endif +#define USE_FIELD_5X52 1 +#define USE_SCALAR_4X64 1 + +#else +#define USE_FIELD_10X26 1 +#define USE_SCALAR_8X32 1 +#endif + + +#endif /* libsecp256k1_config_h */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1.swift b/Pods/secp256k1_swift/Classes/secp256k1.swift new file mode 100755 index 000000000..07283f85e --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1.swift @@ -0,0 +1,321 @@ +// +// secp256k1.swift +// secp256k1_swift +// +// Created by Alexander Vlasov on 30.05.2018. +// Copyright © 2018 Alexander Vlasov. All rights reserved. +// + +import Foundation +#if CARTHAGE +import libsecp256k1 +#endif +public struct SECP256K1 { + public struct UnmarshaledSignature{ + public var v: UInt8 = 0 + public var r = Data(repeating: 0, count: 32) + public var s = Data(repeating: 0, count: 32) + + public init(v: UInt8, r: Data, s: Data) { + self.v = v + self.r = r + self.s = s + } + } +} + +extension SECP256K1 { + static let context = secp256k1_context_create(UInt32(SECP256K1_CONTEXT_SIGN|SECP256K1_CONTEXT_VERIFY)) + + public static func signForRecovery(hash: Data, privateKey: Data, useExtraEntropy: Bool = true) -> (serializedSignature:Data?, rawSignature: Data?) { + if (hash.count != 32 || privateKey.count != 32) {return (nil, nil)} + if !SECP256K1.verifyPrivateKey(privateKey: privateKey) { + return (nil, nil) + } + for _ in 0...1024 { + guard var recoverableSignature = SECP256K1.recoverableSign(hash: hash, privateKey: privateKey, useExtraEntropy: useExtraEntropy) else { + continue + } + guard let truePublicKey = SECP256K1.privateKeyToPublicKey(privateKey: privateKey) else {continue} + guard let recoveredPublicKey = SECP256K1.recoverPublicKey(hash: hash, recoverableSignature: &recoverableSignature) else {continue} + if !SECP256K1.constantTimeComparison(Data(toByteArray(truePublicKey.data)), Data(toByteArray(recoveredPublicKey.data))) { + continue + } + guard let serializedSignature = SECP256K1.serializeSignature(recoverableSignature: &recoverableSignature) else {continue} + let rawSignature = Data(toByteArray(recoverableSignature)) + return (serializedSignature, rawSignature) + } + return (nil, nil) + } + + public static func privateToPublic(privateKey: Data, compressed: Bool = false) -> Data? { + if (privateKey.count != 32) {return nil} + guard var publicKey = SECP256K1.privateKeyToPublicKey(privateKey: privateKey) else {return nil} + guard let serializedKey = serializePublicKey(publicKey: &publicKey, compressed: compressed) else {return nil} + return serializedKey + } + + public static func combineSerializedPublicKeys(keys: [Data], outputCompressed: Bool = false) -> Data? { + let numToCombine = keys.count + guard numToCombine >= 1 else { return nil} + var storage = ContiguousArray() + let arrayOfPointers = UnsafeMutablePointer< UnsafePointer? >.allocate(capacity: numToCombine) + defer { + arrayOfPointers.deinitialize(count: numToCombine) + arrayOfPointers.deallocate() + } + for i in 0 ..< numToCombine { + let key = keys[i] + guard let pubkey = SECP256K1.parsePublicKey(serializedKey: key) else {return nil} + storage.append(pubkey) + } + for i in 0 ..< numToCombine { + withUnsafePointer(to: &storage[i]) { (ptr) -> Void in + arrayOfPointers.advanced(by: i).pointee = ptr + } + } + let immutablePointer = UnsafePointer(arrayOfPointers) + var publicKey: secp256k1_pubkey = secp256k1_pubkey() + let result = withUnsafeMutablePointer(to: &publicKey) { (pubKeyPtr: UnsafeMutablePointer) -> Int32 in + let res = secp256k1_ec_pubkey_combine(context!, pubKeyPtr, immutablePointer, numToCombine) + return res + } + if result == 0 { + return nil + } + let serializedKey = SECP256K1.serializePublicKey(publicKey: &publicKey, compressed: outputCompressed) + return serializedKey + } + + + internal static func recoverPublicKey(hash: Data, recoverableSignature: inout secp256k1_ecdsa_recoverable_signature) -> secp256k1_pubkey? { + guard hash.count == 32 else {return nil} + var publicKey: secp256k1_pubkey = secp256k1_pubkey() + let result = hash.withUnsafeBytes { (hashPointer:UnsafePointer) -> Int32 in + withUnsafePointer(to: &recoverableSignature, { (signaturePointer:UnsafePointer) -> Int32 in + withUnsafeMutablePointer(to: &publicKey, { (pubKeyPtr: UnsafeMutablePointer) -> Int32 in + let res = secp256k1_ecdsa_recover(context!, pubKeyPtr, + signaturePointer, hashPointer) + return res + }) + }) + } + if result == 0 { + return nil + } + return publicKey + } + + internal static func privateKeyToPublicKey(privateKey: Data) -> secp256k1_pubkey? { + if (privateKey.count != 32) {return nil} + var publicKey = secp256k1_pubkey() + let result = privateKey.withUnsafeBytes { (privateKeyPointer:UnsafePointer) -> Int32 in + let res = secp256k1_ec_pubkey_create(context!, UnsafeMutablePointer(&publicKey), privateKeyPointer) + return res + } + if result == 0 { + return nil + } + return publicKey + } + + public static func serializePublicKey(publicKey: inout secp256k1_pubkey, compressed: Bool = false) -> Data? { + var keyLength = compressed ? 33 : 65 + var serializedPubkey = Data(repeating: 0x00, count: keyLength) + let result = serializedPubkey.withUnsafeMutableBytes { (serializedPubkeyPointer:UnsafeMutablePointer) -> Int32 in + withUnsafeMutablePointer(to: &keyLength, { (keyPtr:UnsafeMutablePointer) -> Int32 in + withUnsafeMutablePointer(to: &publicKey, { (pubKeyPtr:UnsafeMutablePointer) -> Int32 in + let res = secp256k1_ec_pubkey_serialize(context!, + serializedPubkeyPointer, + keyPtr, + pubKeyPtr, + UInt32(compressed ? SECP256K1_EC_COMPRESSED : SECP256K1_EC_UNCOMPRESSED)) + return res + }) + }) + } + + if result == 0 { + return nil + } + return Data(serializedPubkey) + } + + internal static func parsePublicKey(serializedKey: Data) -> secp256k1_pubkey? { + guard serializedKey.count == 33 || serializedKey.count == 65 else { + return nil + } + let keyLen: Int = Int(serializedKey.count) + var publicKey = secp256k1_pubkey() + let result = serializedKey.withUnsafeBytes { (serializedKeyPointer:UnsafePointer) -> Int32 in + let res = secp256k1_ec_pubkey_parse(context!, UnsafeMutablePointer(&publicKey), serializedKeyPointer, keyLen) + return res + } + if result == 0 { + return nil + } + return publicKey + } + + public static func parseSignature(signature: Data) -> secp256k1_ecdsa_recoverable_signature? { + guard signature.count == 65 else {return nil} + var recoverableSignature: secp256k1_ecdsa_recoverable_signature = secp256k1_ecdsa_recoverable_signature() + let serializedSignature = Data(signature[0..<64]) + let v = Int32(signature[64]) + let result = serializedSignature.withUnsafeBytes{ (serPtr: UnsafePointer) -> Int32 in + withUnsafeMutablePointer(to: &recoverableSignature, { (signaturePointer:UnsafeMutablePointer) -> Int32 in + let res = secp256k1_ecdsa_recoverable_signature_parse_compact(context!, signaturePointer, serPtr, v) + return res + }) + } + if result == 0 { + return nil + } + return recoverableSignature + } + + internal static func serializeSignature(recoverableSignature: inout secp256k1_ecdsa_recoverable_signature) -> Data? { + var serializedSignature = Data(repeating: 0x00, count: 64) + var v: Int32 = 0 + let result = serializedSignature.withUnsafeMutableBytes { (serSignaturePointer:UnsafeMutablePointer) -> Int32 in + withUnsafePointer(to: &recoverableSignature) { (signaturePointer:UnsafePointer) -> Int32 in + withUnsafeMutablePointer(to: &v, { (vPtr: UnsafeMutablePointer) -> Int32 in + let res = secp256k1_ecdsa_recoverable_signature_serialize_compact(context!, serSignaturePointer, vPtr, signaturePointer) + return res + }) + } + } + if result == 0 { + return nil + } + if (v == 0) { + serializedSignature.append(0x00) + } else if (v == 1) { + serializedSignature.append(0x01) + } else { + return nil + } + return Data(serializedSignature) + } + + public static func recoverableSign(hash: Data, privateKey: Data, useExtraEntropy: Bool = false) -> secp256k1_ecdsa_recoverable_signature? { + if (hash.count != 32 || privateKey.count != 32) { + return nil + } + if !SECP256K1.verifyPrivateKey(privateKey: privateKey) { + return nil + } + var recoverableSignature: secp256k1_ecdsa_recoverable_signature = secp256k1_ecdsa_recoverable_signature(); + guard let extraEntropy = SECP256K1.randomBytes(length: 32) else {return nil} + let result = hash.withUnsafeBytes { (hashPointer:UnsafePointer) -> Int32 in + privateKey.withUnsafeBytes { (privateKeyPointer:UnsafePointer) -> Int32 in + extraEntropy.withUnsafeBytes { (extraEntropyPointer:UnsafePointer) -> Int32 in + withUnsafeMutablePointer(to: &recoverableSignature, { (recSignaturePtr: UnsafeMutablePointer) -> Int32 in + let res = secp256k1_ecdsa_sign_recoverable(context!, recSignaturePtr, hashPointer, privateKeyPointer, nil, useExtraEntropy ? extraEntropyPointer : nil) + return res + }) + } + } + } + if result == 0 { + print("Failed to sign!") + return nil + } + return recoverableSignature + } + + public static func recoverPublicKey(hash: Data, signature: Data, compressed: Bool = false) -> Data? { + guard hash.count == 32, signature.count == 65 else {return nil} + guard var recoverableSignature = parseSignature(signature: signature) else {return nil} + guard var publicKey = SECP256K1.recoverPublicKey(hash: hash, recoverableSignature: &recoverableSignature) else {return nil} + guard let serializedKey = SECP256K1.serializePublicKey(publicKey: &publicKey, compressed: compressed) else {return nil} + return serializedKey + } + + + public static func verifyPrivateKey(privateKey: Data) -> Bool { + if (privateKey.count != 32) {return false} + let result = privateKey.withUnsafeBytes { (privateKeyPointer:UnsafePointer) -> Int32 in + let res = secp256k1_ec_seckey_verify(context!, privateKeyPointer) + return res + } + return result == 1 + } + + public static func generatePrivateKey() -> Data? { + for _ in 0...1024 { + guard let keyData = SECP256K1.randomBytes(length: 32) else { + continue + } + guard SECP256K1.verifyPrivateKey(privateKey: keyData) else { + continue + } + return keyData + } + return nil + } + + public static func unmarshalSignature(signatureData:Data) -> UnmarshaledSignature? { + if (signatureData.count != 65) {return nil} + let v = signatureData[64] + let r = Data(signatureData[0..<32]) + let s = Data(signatureData[32..<64]) + return UnmarshaledSignature(v: v, r: r, s: s) + } + + public static func marshalSignature(v: UInt8, r: [UInt8], s: [UInt8]) -> Data? { + guard r.count == 32, s.count == 32 else {return nil} + var completeSignature = Data(bytes: r) + completeSignature.append(Data(bytes: s)) + completeSignature.append(Data(bytes: [v])) + return completeSignature + } + + public static func marshalSignature(v: Data, r: Data, s: Data) -> Data? { + guard r.count == 32, s.count == 32 else {return nil} + var completeSignature = Data(r) + completeSignature.append(s) + completeSignature.append(v) + return completeSignature + } + + internal static func randomBytes(length: Int) -> Data? { + for _ in 0...1024 { + var data = Data(repeating: 0, count: length) + let result = data.withUnsafeMutableBytes { + (mutableBytes: UnsafeMutablePointer) -> Int32 in + SecRandomCopyBytes(kSecRandomDefault, 32, mutableBytes) + } + if result == errSecSuccess { + return data + } + } + return nil + } + + internal static func toByteArray(_ value: T) -> [UInt8] { + var value = value + return withUnsafeBytes(of: &value) { Array($0) } + } + + internal static func fromByteArray(_ value: [UInt8], _: T.Type) -> T { + return value.withUnsafeBytes { + $0.baseAddress!.load(as: T.self) + } + } + + internal static func constantTimeComparison(_ lhs: Data, _ rhs:Data) -> Bool { + guard lhs.count == rhs.count else {return false} + var difference = UInt8(0x00) + for i in 0.. +#include + +#include "lax_der_parsing.h" + +int ecdsa_signature_parse_der_lax(const secp256k1_context* ctx, secp256k1_ecdsa_signature* sig, const unsigned char *input, size_t inputlen) { + size_t rpos, rlen, spos, slen; + size_t pos = 0; + size_t lenbyte; + unsigned char tmpsig[64] = {0}; + int overflow = 0; + + /* Hack to initialize sig with a correctly-parsed but invalid signature. */ + secp256k1_ecdsa_signature_parse_compact(ctx, sig, tmpsig); + + /* Sequence tag byte */ + if (pos == inputlen || input[pos] != 0x30) { + return 0; + } + pos++; + + /* Sequence length bytes */ + if (pos == inputlen) { + return 0; + } + lenbyte = input[pos++]; + if (lenbyte & 0x80) { + lenbyte -= 0x80; + if (pos + lenbyte > inputlen) { + return 0; + } + pos += lenbyte; + } + + /* Integer tag byte for R */ + if (pos == inputlen || input[pos] != 0x02) { + return 0; + } + pos++; + + /* Integer length for R */ + if (pos == inputlen) { + return 0; + } + lenbyte = input[pos++]; + if (lenbyte & 0x80) { + lenbyte -= 0x80; + if (pos + lenbyte > inputlen) { + return 0; + } + while (lenbyte > 0 && input[pos] == 0) { + pos++; + lenbyte--; + } + if (lenbyte >= sizeof(size_t)) { + return 0; + } + rlen = 0; + while (lenbyte > 0) { + rlen = (rlen << 8) + input[pos]; + pos++; + lenbyte--; + } + } else { + rlen = lenbyte; + } + if (rlen > inputlen - pos) { + return 0; + } + rpos = pos; + pos += rlen; + + /* Integer tag byte for S */ + if (pos == inputlen || input[pos] != 0x02) { + return 0; + } + pos++; + + /* Integer length for S */ + if (pos == inputlen) { + return 0; + } + lenbyte = input[pos++]; + if (lenbyte & 0x80) { + lenbyte -= 0x80; + if (pos + lenbyte > inputlen) { + return 0; + } + while (lenbyte > 0 && input[pos] == 0) { + pos++; + lenbyte--; + } + if (lenbyte >= sizeof(size_t)) { + return 0; + } + slen = 0; + while (lenbyte > 0) { + slen = (slen << 8) + input[pos]; + pos++; + lenbyte--; + } + } else { + slen = lenbyte; + } + if (slen > inputlen - pos) { + return 0; + } + spos = pos; + pos += slen; + + /* Ignore leading zeroes in R */ + while (rlen > 0 && input[rpos] == 0) { + rlen--; + rpos++; + } + /* Copy R value */ + if (rlen > 32) { + overflow = 1; + } else { + memcpy(tmpsig + 32 - rlen, input + rpos, rlen); + } + + /* Ignore leading zeroes in S */ + while (slen > 0 && input[spos] == 0) { + slen--; + spos++; + } + /* Copy S value */ + if (slen > 32) { + overflow = 1; + } else { + memcpy(tmpsig + 64 - slen, input + spos, slen); + } + + if (!overflow) { + overflow = !secp256k1_ecdsa_signature_parse_compact(ctx, sig, tmpsig); + } + if (overflow) { + memset(tmpsig, 0, 64); + secp256k1_ecdsa_signature_parse_compact(ctx, sig, tmpsig); + } + return 1; +} + diff --git a/Pods/secp256k1_swift/Classes/secp256k1/contrib/lax_der_parsing.h b/Pods/secp256k1_swift/Classes/secp256k1/contrib/lax_der_parsing.h new file mode 100644 index 000000000..7eaf63bf6 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/contrib/lax_der_parsing.h @@ -0,0 +1,91 @@ +/********************************************************************** + * Copyright (c) 2015 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +/**** + * Please do not link this file directly. It is not part of the libsecp256k1 + * project and does not promise any stability in its API, functionality or + * presence. Projects which use this code should instead copy this header + * and its accompanying .c file directly into their codebase. + ****/ + +/* This file defines a function that parses DER with various errors and + * violations. This is not a part of the library itself, because the allowed + * violations are chosen arbitrarily and do not follow or establish any + * standard. + * + * In many places it matters that different implementations do not only accept + * the same set of valid signatures, but also reject the same set of signatures. + * The only means to accomplish that is by strictly obeying a standard, and not + * accepting anything else. + * + * Nonetheless, sometimes there is a need for compatibility with systems that + * use signatures which do not strictly obey DER. The snippet below shows how + * certain violations are easily supported. You may need to adapt it. + * + * Do not use this for new systems. Use well-defined DER or compact signatures + * instead if you have the choice (see secp256k1_ecdsa_signature_parse_der and + * secp256k1_ecdsa_signature_parse_compact). + * + * The supported violations are: + * - All numbers are parsed as nonnegative integers, even though X.609-0207 + * section 8.3.3 specifies that integers are always encoded as two's + * complement. + * - Integers can have length 0, even though section 8.3.1 says they can't. + * - Integers with overly long padding are accepted, violation section + * 8.3.2. + * - 127-byte long length descriptors are accepted, even though section + * 8.1.3.5.c says that they are not. + * - Trailing garbage data inside or after the signature is ignored. + * - The length descriptor of the sequence is ignored. + * + * Compared to for example OpenSSL, many violations are NOT supported: + * - Using overly long tag descriptors for the sequence or integers inside, + * violating section 8.1.2.2. + * - Encoding primitive integers as constructed values, violating section + * 8.3.1. + */ + +#ifndef SECP256K1_CONTRIB_LAX_DER_PARSING_H +#define SECP256K1_CONTRIB_LAX_DER_PARSING_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** Parse a signature in "lax DER" format + * + * Returns: 1 when the signature could be parsed, 0 otherwise. + * Args: ctx: a secp256k1 context object + * Out: sig: a pointer to a signature object + * In: input: a pointer to the signature to be parsed + * inputlen: the length of the array pointed to be input + * + * This function will accept any valid DER encoded signature, even if the + * encoded numbers are out of range. In addition, it will accept signatures + * which violate the DER spec in various ways. Its purpose is to allow + * validation of the Bitcoin blockchain, which includes non-DER signatures + * from before the network rules were updated to enforce DER. Note that + * the set of supported violations is a strict subset of what OpenSSL will + * accept. + * + * After the call, sig will always be initialized. If parsing failed or the + * encoded numbers are out of range, signature validation with it is + * guaranteed to fail for every message and public key. + */ +int ecdsa_signature_parse_der_lax( + const secp256k1_context* ctx, + secp256k1_ecdsa_signature* sig, + const unsigned char *input, + size_t inputlen +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); + +#ifdef __cplusplus +} +#endif + +#endif /* SECP256K1_CONTRIB_LAX_DER_PARSING_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/contrib/lax_der_privatekey_parsing.c b/Pods/secp256k1_swift/Classes/secp256k1/contrib/lax_der_privatekey_parsing.c new file mode 100644 index 000000000..c2e63b4b8 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/contrib/lax_der_privatekey_parsing.c @@ -0,0 +1,113 @@ +/********************************************************************** + * Copyright (c) 2014, 2015 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#include +#include + +#include "lax_der_privatekey_parsing.h" + +int ec_privkey_import_der(const secp256k1_context* ctx, unsigned char *out32, const unsigned char *privkey, size_t privkeylen) { + const unsigned char *end = privkey + privkeylen; + int lenb = 0; + int len = 0; + memset(out32, 0, 32); + /* sequence header */ + if (end < privkey+1 || *privkey != 0x30) { + return 0; + } + privkey++; + /* sequence length constructor */ + if (end < privkey+1 || !(*privkey & 0x80)) { + return 0; + } + lenb = *privkey & ~0x80; privkey++; + if (lenb < 1 || lenb > 2) { + return 0; + } + if (end < privkey+lenb) { + return 0; + } + /* sequence length */ + len = privkey[lenb-1] | (lenb > 1 ? privkey[lenb-2] << 8 : 0); + privkey += lenb; + if (end < privkey+len) { + return 0; + } + /* sequence element 0: version number (=1) */ + if (end < privkey+3 || privkey[0] != 0x02 || privkey[1] != 0x01 || privkey[2] != 0x01) { + return 0; + } + privkey += 3; + /* sequence element 1: octet string, up to 32 bytes */ + if (end < privkey+2 || privkey[0] != 0x04 || privkey[1] > 0x20 || end < privkey+2+privkey[1]) { + return 0; + } + memcpy(out32 + 32 - privkey[1], privkey + 2, privkey[1]); + if (!secp256k1_ec_seckey_verify(ctx, out32)) { + memset(out32, 0, 32); + return 0; + } + return 1; +} + +int ec_privkey_export_der(const secp256k1_context *ctx, unsigned char *privkey, size_t *privkeylen, const unsigned char *key32, int compressed) { + secp256k1_pubkey pubkey; + size_t pubkeylen = 0; + if (!secp256k1_ec_pubkey_create(ctx, &pubkey, key32)) { + *privkeylen = 0; + return 0; + } + if (compressed) { + static const unsigned char begin[] = { + 0x30,0x81,0xD3,0x02,0x01,0x01,0x04,0x20 + }; + static const unsigned char middle[] = { + 0xA0,0x81,0x85,0x30,0x81,0x82,0x02,0x01,0x01,0x30,0x2C,0x06,0x07,0x2A,0x86,0x48, + 0xCE,0x3D,0x01,0x01,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFE,0xFF,0xFF,0xFC,0x2F,0x30,0x06,0x04,0x01,0x00,0x04,0x01,0x07,0x04, + 0x21,0x02,0x79,0xBE,0x66,0x7E,0xF9,0xDC,0xBB,0xAC,0x55,0xA0,0x62,0x95,0xCE,0x87, + 0x0B,0x07,0x02,0x9B,0xFC,0xDB,0x2D,0xCE,0x28,0xD9,0x59,0xF2,0x81,0x5B,0x16,0xF8, + 0x17,0x98,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFE,0xBA,0xAE,0xDC,0xE6,0xAF,0x48,0xA0,0x3B,0xBF,0xD2,0x5E, + 0x8C,0xD0,0x36,0x41,0x41,0x02,0x01,0x01,0xA1,0x24,0x03,0x22,0x00 + }; + unsigned char *ptr = privkey; + memcpy(ptr, begin, sizeof(begin)); ptr += sizeof(begin); + memcpy(ptr, key32, 32); ptr += 32; + memcpy(ptr, middle, sizeof(middle)); ptr += sizeof(middle); + pubkeylen = 33; + secp256k1_ec_pubkey_serialize(ctx, ptr, &pubkeylen, &pubkey, SECP256K1_EC_COMPRESSED); + ptr += pubkeylen; + *privkeylen = ptr - privkey; + } else { + static const unsigned char begin[] = { + 0x30,0x82,0x01,0x13,0x02,0x01,0x01,0x04,0x20 + }; + static const unsigned char middle[] = { + 0xA0,0x81,0xA5,0x30,0x81,0xA2,0x02,0x01,0x01,0x30,0x2C,0x06,0x07,0x2A,0x86,0x48, + 0xCE,0x3D,0x01,0x01,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFE,0xFF,0xFF,0xFC,0x2F,0x30,0x06,0x04,0x01,0x00,0x04,0x01,0x07,0x04, + 0x41,0x04,0x79,0xBE,0x66,0x7E,0xF9,0xDC,0xBB,0xAC,0x55,0xA0,0x62,0x95,0xCE,0x87, + 0x0B,0x07,0x02,0x9B,0xFC,0xDB,0x2D,0xCE,0x28,0xD9,0x59,0xF2,0x81,0x5B,0x16,0xF8, + 0x17,0x98,0x48,0x3A,0xDA,0x77,0x26,0xA3,0xC4,0x65,0x5D,0xA4,0xFB,0xFC,0x0E,0x11, + 0x08,0xA8,0xFD,0x17,0xB4,0x48,0xA6,0x85,0x54,0x19,0x9C,0x47,0xD0,0x8F,0xFB,0x10, + 0xD4,0xB8,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFE,0xBA,0xAE,0xDC,0xE6,0xAF,0x48,0xA0,0x3B,0xBF,0xD2,0x5E, + 0x8C,0xD0,0x36,0x41,0x41,0x02,0x01,0x01,0xA1,0x44,0x03,0x42,0x00 + }; + unsigned char *ptr = privkey; + memcpy(ptr, begin, sizeof(begin)); ptr += sizeof(begin); + memcpy(ptr, key32, 32); ptr += 32; + memcpy(ptr, middle, sizeof(middle)); ptr += sizeof(middle); + pubkeylen = 65; + secp256k1_ec_pubkey_serialize(ctx, ptr, &pubkeylen, &pubkey, SECP256K1_EC_UNCOMPRESSED); + ptr += pubkeylen; + *privkeylen = ptr - privkey; + } + return 1; +} diff --git a/Pods/secp256k1_swift/Classes/secp256k1/contrib/lax_der_privatekey_parsing.h b/Pods/secp256k1_swift/Classes/secp256k1/contrib/lax_der_privatekey_parsing.h new file mode 100644 index 000000000..fece261fb --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/contrib/lax_der_privatekey_parsing.h @@ -0,0 +1,90 @@ +/********************************************************************** + * Copyright (c) 2014, 2015 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +/**** + * Please do not link this file directly. It is not part of the libsecp256k1 + * project and does not promise any stability in its API, functionality or + * presence. Projects which use this code should instead copy this header + * and its accompanying .c file directly into their codebase. + ****/ + +/* This file contains code snippets that parse DER private keys with + * various errors and violations. This is not a part of the library + * itself, because the allowed violations are chosen arbitrarily and + * do not follow or establish any standard. + * + * It also contains code to serialize private keys in a compatible + * manner. + * + * These functions are meant for compatibility with applications + * that require BER encoded keys. When working with secp256k1-specific + * code, the simple 32-byte private keys normally used by the + * library are sufficient. + */ + +#ifndef SECP256K1_CONTRIB_BER_PRIVATEKEY_H +#define SECP256K1_CONTRIB_BER_PRIVATEKEY_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** Export a private key in DER format. + * + * Returns: 1 if the private key was valid. + * Args: ctx: pointer to a context object, initialized for signing (cannot + * be NULL) + * Out: privkey: pointer to an array for storing the private key in BER. + * Should have space for 279 bytes, and cannot be NULL. + * privkeylen: Pointer to an int where the length of the private key in + * privkey will be stored. + * In: seckey: pointer to a 32-byte secret key to export. + * compressed: 1 if the key should be exported in + * compressed format, 0 otherwise + * + * This function is purely meant for compatibility with applications that + * require BER encoded keys. When working with secp256k1-specific code, the + * simple 32-byte private keys are sufficient. + * + * Note that this function does not guarantee correct DER output. It is + * guaranteed to be parsable by secp256k1_ec_privkey_import_der + */ +SECP256K1_WARN_UNUSED_RESULT int ec_privkey_export_der( + const secp256k1_context* ctx, + unsigned char *privkey, + size_t *privkeylen, + const unsigned char *seckey, + int compressed +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); + +/** Import a private key in DER format. + * Returns: 1 if a private key was extracted. + * Args: ctx: pointer to a context object (cannot be NULL). + * Out: seckey: pointer to a 32-byte array for storing the private key. + * (cannot be NULL). + * In: privkey: pointer to a private key in DER format (cannot be NULL). + * privkeylen: length of the DER private key pointed to be privkey. + * + * This function will accept more than just strict DER, and even allow some BER + * violations. The public key stored inside the DER-encoded private key is not + * verified for correctness, nor are the curve parameters. Use this function + * only if you know in advance it is supposed to contain a secp256k1 private + * key. + */ +SECP256K1_WARN_UNUSED_RESULT int ec_privkey_import_der( + const secp256k1_context* ctx, + unsigned char *seckey, + const unsigned char *privkey, + size_t privkeylen +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); + +#ifdef __cplusplus +} +#endif + +#endif /* SECP256K1_CONTRIB_BER_PRIVATEKEY_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/include/secp256k1.h b/Pods/secp256k1_swift/Classes/secp256k1/include/secp256k1.h new file mode 100644 index 000000000..3c4a311a0 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/include/secp256k1.h @@ -0,0 +1,654 @@ +#ifndef SECP256K1_H +#define SECP256K1_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +/* These rules specify the order of arguments in API calls: + * + * 1. Context pointers go first, followed by output arguments, combined + * output/input arguments, and finally input-only arguments. + * 2. Array lengths always immediately the follow the argument whose length + * they describe, even if this violates rule 1. + * 3. Within the OUT/OUTIN/IN groups, pointers to data that is typically generated + * later go first. This means: signatures, public nonces, private nonces, + * messages, public keys, secret keys, tweaks. + * 4. Arguments that are not data pointers go last, from more complex to less + * complex: function pointers, algorithm names, messages, void pointers, + * counts, flags, booleans. + * 5. Opaque data pointers follow the function pointer they are to be passed to. + */ + +/** Opaque data structure that holds context information (precomputed tables etc.). + * + * The purpose of context structures is to cache large precomputed data tables + * that are expensive to construct, and also to maintain the randomization data + * for blinding. + * + * Do not create a new context object for each operation, as construction is + * far slower than all other API calls (~100 times slower than an ECDSA + * verification). + * + * A constructed context can safely be used from multiple threads + * simultaneously, but API call that take a non-const pointer to a context + * need exclusive access to it. In particular this is the case for + * secp256k1_context_destroy and secp256k1_context_randomize. + * + * Regarding randomization, either do it once at creation time (in which case + * you do not need any locking for the other calls), or use a read-write lock. + */ +typedef struct secp256k1_context_struct secp256k1_context; + +/** Opaque data structure that holds rewriteable "scratch space" + * + * The purpose of this structure is to replace dynamic memory allocations, + * because we target architectures where this may not be available. It is + * essentially a resizable (within specified parameters) block of bytes, + * which is initially created either by memory allocation or TODO as a pointer + * into some fixed rewritable space. + * + * Unlike the context object, this cannot safely be shared between threads + * without additional synchronization logic. + */ +typedef struct secp256k1_scratch_space_struct secp256k1_scratch_space; + +/** Opaque data structure that holds a parsed and valid public key. + * + * The exact representation of data inside is implementation defined and not + * guaranteed to be portable between different platforms or versions. It is + * however guaranteed to be 64 bytes in size, and can be safely copied/moved. + * If you need to convert to a format suitable for storage, transmission, or + * comparison, use secp256k1_ec_pubkey_serialize and secp256k1_ec_pubkey_parse. + */ +typedef struct { + unsigned char data[64]; +} secp256k1_pubkey; + +/** Opaque data structured that holds a parsed ECDSA signature. + * + * The exact representation of data inside is implementation defined and not + * guaranteed to be portable between different platforms or versions. It is + * however guaranteed to be 64 bytes in size, and can be safely copied/moved. + * If you need to convert to a format suitable for storage, transmission, or + * comparison, use the secp256k1_ecdsa_signature_serialize_* and + * secp256k1_ecdsa_signature_parse_* functions. + */ +typedef struct { + unsigned char data[64]; +} secp256k1_ecdsa_signature; + +/** A pointer to a function to deterministically generate a nonce. + * + * Returns: 1 if a nonce was successfully generated. 0 will cause signing to fail. + * Out: nonce32: pointer to a 32-byte array to be filled by the function. + * In: msg32: the 32-byte message hash being verified (will not be NULL) + * key32: pointer to a 32-byte secret key (will not be NULL) + * algo16: pointer to a 16-byte array describing the signature + * algorithm (will be NULL for ECDSA for compatibility). + * data: Arbitrary data pointer that is passed through. + * attempt: how many iterations we have tried to find a nonce. + * This will almost always be 0, but different attempt values + * are required to result in a different nonce. + * + * Except for test cases, this function should compute some cryptographic hash of + * the message, the algorithm, the key and the attempt. + */ +typedef int (*secp256k1_nonce_function)( + unsigned char *nonce32, + const unsigned char *msg32, + const unsigned char *key32, + const unsigned char *algo16, + void *data, + unsigned int attempt +); + +# if !defined(SECP256K1_GNUC_PREREQ) +# if defined(__GNUC__)&&defined(__GNUC_MINOR__) +# define SECP256K1_GNUC_PREREQ(_maj,_min) \ + ((__GNUC__<<16)+__GNUC_MINOR__>=((_maj)<<16)+(_min)) +# else +# define SECP256K1_GNUC_PREREQ(_maj,_min) 0 +# endif +# endif + +# if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) ) +# if SECP256K1_GNUC_PREREQ(2,7) +# define SECP256K1_INLINE __inline__ +# elif (defined(_MSC_VER)) +# define SECP256K1_INLINE __inline +# else +# define SECP256K1_INLINE +# endif +# else +# define SECP256K1_INLINE inline +# endif + +#ifndef SECP256K1_API +# if defined(_WIN32) +# ifdef SECP256K1_BUILD +# define SECP256K1_API __declspec(dllexport) +# else +# define SECP256K1_API +# endif +# elif defined(__GNUC__) && defined(SECP256K1_BUILD) +# define SECP256K1_API __attribute__ ((visibility ("default"))) +# else +# define SECP256K1_API +# endif +#endif + +/**Warning attributes + * NONNULL is not used if SECP256K1_BUILD is set to avoid the compiler optimizing out + * some paranoid null checks. */ +# if defined(__GNUC__) && SECP256K1_GNUC_PREREQ(3, 4) +# define SECP256K1_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__)) +# else +# define SECP256K1_WARN_UNUSED_RESULT +# endif +# if !defined(SECP256K1_BUILD) && defined(__GNUC__) && SECP256K1_GNUC_PREREQ(3, 4) +# define SECP256K1_ARG_NONNULL(_x) __attribute__ ((__nonnull__(_x))) +# else +# define SECP256K1_ARG_NONNULL(_x) +# endif + +/** All flags' lower 8 bits indicate what they're for. Do not use directly. */ +#define SECP256K1_FLAGS_TYPE_MASK ((1 << 8) - 1) +#define SECP256K1_FLAGS_TYPE_CONTEXT (1 << 0) +#define SECP256K1_FLAGS_TYPE_COMPRESSION (1 << 1) +/** The higher bits contain the actual data. Do not use directly. */ +#define SECP256K1_FLAGS_BIT_CONTEXT_VERIFY (1 << 8) +#define SECP256K1_FLAGS_BIT_CONTEXT_SIGN (1 << 9) +#define SECP256K1_FLAGS_BIT_COMPRESSION (1 << 8) + +/** Flags to pass to secp256k1_context_create. */ +#define SECP256K1_CONTEXT_VERIFY (SECP256K1_FLAGS_TYPE_CONTEXT | SECP256K1_FLAGS_BIT_CONTEXT_VERIFY) +#define SECP256K1_CONTEXT_SIGN (SECP256K1_FLAGS_TYPE_CONTEXT | SECP256K1_FLAGS_BIT_CONTEXT_SIGN) +#define SECP256K1_CONTEXT_NONE (SECP256K1_FLAGS_TYPE_CONTEXT) + +/** Flag to pass to secp256k1_ec_pubkey_serialize and secp256k1_ec_privkey_export. */ +#define SECP256K1_EC_COMPRESSED (SECP256K1_FLAGS_TYPE_COMPRESSION | SECP256K1_FLAGS_BIT_COMPRESSION) +#define SECP256K1_EC_UNCOMPRESSED (SECP256K1_FLAGS_TYPE_COMPRESSION) + +/** Prefix byte used to tag various encoded curvepoints for specific purposes */ +#define SECP256K1_TAG_PUBKEY_EVEN 0x02 +#define SECP256K1_TAG_PUBKEY_ODD 0x03 +#define SECP256K1_TAG_PUBKEY_UNCOMPRESSED 0x04 +#define SECP256K1_TAG_PUBKEY_HYBRID_EVEN 0x06 +#define SECP256K1_TAG_PUBKEY_HYBRID_ODD 0x07 + +/** Create a secp256k1 context object. + * + * Returns: a newly created context object. + * In: flags: which parts of the context to initialize. + * + * See also secp256k1_context_randomize. + */ +SECP256K1_API secp256k1_context* secp256k1_context_create( + unsigned int flags +) SECP256K1_WARN_UNUSED_RESULT; + +/** Copies a secp256k1 context object. + * + * Returns: a newly created context object. + * Args: ctx: an existing context to copy (cannot be NULL) + */ +SECP256K1_API secp256k1_context* secp256k1_context_clone( + const secp256k1_context* ctx +) SECP256K1_ARG_NONNULL(1) SECP256K1_WARN_UNUSED_RESULT; + +/** Destroy a secp256k1 context object. + * + * The context pointer may not be used afterwards. + * Args: ctx: an existing context to destroy (cannot be NULL) + */ +SECP256K1_API void secp256k1_context_destroy( + secp256k1_context* ctx +); + +/** Set a callback function to be called when an illegal argument is passed to + * an API call. It will only trigger for violations that are mentioned + * explicitly in the header. + * + * The philosophy is that these shouldn't be dealt with through a + * specific return value, as calling code should not have branches to deal with + * the case that this code itself is broken. + * + * On the other hand, during debug stage, one would want to be informed about + * such mistakes, and the default (crashing) may be inadvisable. + * When this callback is triggered, the API function called is guaranteed not + * to cause a crash, though its return value and output arguments are + * undefined. + * + * Args: ctx: an existing context object (cannot be NULL) + * In: fun: a pointer to a function to call when an illegal argument is + * passed to the API, taking a message and an opaque pointer + * (NULL restores a default handler that calls abort). + * data: the opaque pointer to pass to fun above. + */ +SECP256K1_API void secp256k1_context_set_illegal_callback( + secp256k1_context* ctx, + void (*fun)(const char* message, void* data), + const void* data +) SECP256K1_ARG_NONNULL(1); + +/** Set a callback function to be called when an internal consistency check + * fails. The default is crashing. + * + * This can only trigger in case of a hardware failure, miscompilation, + * memory corruption, serious bug in the library, or other error would can + * otherwise result in undefined behaviour. It will not trigger due to mere + * incorrect usage of the API (see secp256k1_context_set_illegal_callback + * for that). After this callback returns, anything may happen, including + * crashing. + * + * Args: ctx: an existing context object (cannot be NULL) + * In: fun: a pointer to a function to call when an internal error occurs, + * taking a message and an opaque pointer (NULL restores a default + * handler that calls abort). + * data: the opaque pointer to pass to fun above. + */ +SECP256K1_API void secp256k1_context_set_error_callback( + secp256k1_context* ctx, + void (*fun)(const char* message, void* data), + const void* data +) SECP256K1_ARG_NONNULL(1); + +/** Create a secp256k1 scratch space object. + * + * Returns: a newly created scratch space. + * Args: ctx: an existing context object (cannot be NULL) + * In: max_size: maximum amount of memory to allocate + */ +SECP256K1_API SECP256K1_WARN_UNUSED_RESULT secp256k1_scratch_space* secp256k1_scratch_space_create( + const secp256k1_context* ctx, + size_t max_size +) SECP256K1_ARG_NONNULL(1); + +/** Destroy a secp256k1 scratch space. + * + * The pointer may not be used afterwards. + * Args: scratch: space to destroy + */ +SECP256K1_API void secp256k1_scratch_space_destroy( + secp256k1_scratch_space* scratch +); + +/** Parse a variable-length public key into the pubkey object. + * + * Returns: 1 if the public key was fully valid. + * 0 if the public key could not be parsed or is invalid. + * Args: ctx: a secp256k1 context object. + * Out: pubkey: pointer to a pubkey object. If 1 is returned, it is set to a + * parsed version of input. If not, its value is undefined. + * In: input: pointer to a serialized public key + * inputlen: length of the array pointed to by input + * + * This function supports parsing compressed (33 bytes, header byte 0x02 or + * 0x03), uncompressed (65 bytes, header byte 0x04), or hybrid (65 bytes, header + * byte 0x06 or 0x07) format public keys. + */ +SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_parse( + const secp256k1_context* ctx, + secp256k1_pubkey* pubkey, + const unsigned char *input, + size_t inputlen +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); + +/** Serialize a pubkey object into a serialized byte sequence. + * + * Returns: 1 always. + * Args: ctx: a secp256k1 context object. + * Out: output: a pointer to a 65-byte (if compressed==0) or 33-byte (if + * compressed==1) byte array to place the serialized key + * in. + * In/Out: outputlen: a pointer to an integer which is initially set to the + * size of output, and is overwritten with the written + * size. + * In: pubkey: a pointer to a secp256k1_pubkey containing an + * initialized public key. + * flags: SECP256K1_EC_COMPRESSED if serialization should be in + * compressed format, otherwise SECP256K1_EC_UNCOMPRESSED. + */ +SECP256K1_API int secp256k1_ec_pubkey_serialize( + const secp256k1_context* ctx, + unsigned char *output, + size_t *outputlen, + const secp256k1_pubkey* pubkey, + unsigned int flags +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); + +/** Parse an ECDSA signature in compact (64 bytes) format. + * + * Returns: 1 when the signature could be parsed, 0 otherwise. + * Args: ctx: a secp256k1 context object + * Out: sig: a pointer to a signature object + * In: input64: a pointer to the 64-byte array to parse + * + * The signature must consist of a 32-byte big endian R value, followed by a + * 32-byte big endian S value. If R or S fall outside of [0..order-1], the + * encoding is invalid. R and S with value 0 are allowed in the encoding. + * + * After the call, sig will always be initialized. If parsing failed or R or + * S are zero, the resulting sig value is guaranteed to fail validation for any + * message and public key. + */ +SECP256K1_API int secp256k1_ecdsa_signature_parse_compact( + const secp256k1_context* ctx, + secp256k1_ecdsa_signature* sig, + const unsigned char *input64 +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); + +/** Parse a DER ECDSA signature. + * + * Returns: 1 when the signature could be parsed, 0 otherwise. + * Args: ctx: a secp256k1 context object + * Out: sig: a pointer to a signature object + * In: input: a pointer to the signature to be parsed + * inputlen: the length of the array pointed to be input + * + * This function will accept any valid DER encoded signature, even if the + * encoded numbers are out of range. + * + * After the call, sig will always be initialized. If parsing failed or the + * encoded numbers are out of range, signature validation with it is + * guaranteed to fail for every message and public key. + */ +SECP256K1_API int secp256k1_ecdsa_signature_parse_der( + const secp256k1_context* ctx, + secp256k1_ecdsa_signature* sig, + const unsigned char *input, + size_t inputlen +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); + +/** Serialize an ECDSA signature in DER format. + * + * Returns: 1 if enough space was available to serialize, 0 otherwise + * Args: ctx: a secp256k1 context object + * Out: output: a pointer to an array to store the DER serialization + * In/Out: outputlen: a pointer to a length integer. Initially, this integer + * should be set to the length of output. After the call + * it will be set to the length of the serialization (even + * if 0 was returned). + * In: sig: a pointer to an initialized signature object + */ +SECP256K1_API int secp256k1_ecdsa_signature_serialize_der( + const secp256k1_context* ctx, + unsigned char *output, + size_t *outputlen, + const secp256k1_ecdsa_signature* sig +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); + +/** Serialize an ECDSA signature in compact (64 byte) format. + * + * Returns: 1 + * Args: ctx: a secp256k1 context object + * Out: output64: a pointer to a 64-byte array to store the compact serialization + * In: sig: a pointer to an initialized signature object + * + * See secp256k1_ecdsa_signature_parse_compact for details about the encoding. + */ +SECP256K1_API int secp256k1_ecdsa_signature_serialize_compact( + const secp256k1_context* ctx, + unsigned char *output64, + const secp256k1_ecdsa_signature* sig +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); + +/** Verify an ECDSA signature. + * + * Returns: 1: correct signature + * 0: incorrect or unparseable signature + * Args: ctx: a secp256k1 context object, initialized for verification. + * In: sig: the signature being verified (cannot be NULL) + * msg32: the 32-byte message hash being verified (cannot be NULL) + * pubkey: pointer to an initialized public key to verify with (cannot be NULL) + * + * To avoid accepting malleable signatures, only ECDSA signatures in lower-S + * form are accepted. + * + * If you need to accept ECDSA signatures from sources that do not obey this + * rule, apply secp256k1_ecdsa_signature_normalize to the signature prior to + * validation, but be aware that doing so results in malleable signatures. + * + * For details, see the comments for that function. + */ +SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdsa_verify( + const secp256k1_context* ctx, + const secp256k1_ecdsa_signature *sig, + const unsigned char *msg32, + const secp256k1_pubkey *pubkey +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); + +/** Convert a signature to a normalized lower-S form. + * + * Returns: 1 if sigin was not normalized, 0 if it already was. + * Args: ctx: a secp256k1 context object + * Out: sigout: a pointer to a signature to fill with the normalized form, + * or copy if the input was already normalized. (can be NULL if + * you're only interested in whether the input was already + * normalized). + * In: sigin: a pointer to a signature to check/normalize (cannot be NULL, + * can be identical to sigout) + * + * With ECDSA a third-party can forge a second distinct signature of the same + * message, given a single initial signature, but without knowing the key. This + * is done by negating the S value modulo the order of the curve, 'flipping' + * the sign of the random point R which is not included in the signature. + * + * Forgery of the same message isn't universally problematic, but in systems + * where message malleability or uniqueness of signatures is important this can + * cause issues. This forgery can be blocked by all verifiers forcing signers + * to use a normalized form. + * + * The lower-S form reduces the size of signatures slightly on average when + * variable length encodings (such as DER) are used and is cheap to verify, + * making it a good choice. Security of always using lower-S is assured because + * anyone can trivially modify a signature after the fact to enforce this + * property anyway. + * + * The lower S value is always between 0x1 and + * 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0, + * inclusive. + * + * No other forms of ECDSA malleability are known and none seem likely, but + * there is no formal proof that ECDSA, even with this additional restriction, + * is free of other malleability. Commonly used serialization schemes will also + * accept various non-unique encodings, so care should be taken when this + * property is required for an application. + * + * The secp256k1_ecdsa_sign function will by default create signatures in the + * lower-S form, and secp256k1_ecdsa_verify will not accept others. In case + * signatures come from a system that cannot enforce this property, + * secp256k1_ecdsa_signature_normalize must be called before verification. + */ +SECP256K1_API int secp256k1_ecdsa_signature_normalize( + const secp256k1_context* ctx, + secp256k1_ecdsa_signature *sigout, + const secp256k1_ecdsa_signature *sigin +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3); + +/** An implementation of RFC6979 (using HMAC-SHA256) as nonce generation function. + * If a data pointer is passed, it is assumed to be a pointer to 32 bytes of + * extra entropy. + */ +SECP256K1_API extern const secp256k1_nonce_function secp256k1_nonce_function_rfc6979; + +/** A default safe nonce generation function (currently equal to secp256k1_nonce_function_rfc6979). */ +SECP256K1_API extern const secp256k1_nonce_function secp256k1_nonce_function_default; + +/** Create an ECDSA signature. + * + * Returns: 1: signature created + * 0: the nonce generation function failed, or the private key was invalid. + * Args: ctx: pointer to a context object, initialized for signing (cannot be NULL) + * Out: sig: pointer to an array where the signature will be placed (cannot be NULL) + * In: msg32: the 32-byte message hash being signed (cannot be NULL) + * seckey: pointer to a 32-byte secret key (cannot be NULL) + * noncefp:pointer to a nonce generation function. If NULL, secp256k1_nonce_function_default is used + * ndata: pointer to arbitrary data used by the nonce generation function (can be NULL) + * + * The created signature is always in lower-S form. See + * secp256k1_ecdsa_signature_normalize for more details. + */ +SECP256K1_API int secp256k1_ecdsa_sign( + const secp256k1_context* ctx, + secp256k1_ecdsa_signature *sig, + const unsigned char *msg32, + const unsigned char *seckey, + secp256k1_nonce_function noncefp, + const void *ndata +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); + +/** Verify an ECDSA secret key. + * + * Returns: 1: secret key is valid + * 0: secret key is invalid + * Args: ctx: pointer to a context object (cannot be NULL) + * In: seckey: pointer to a 32-byte secret key (cannot be NULL) + */ +SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_seckey_verify( + const secp256k1_context* ctx, + const unsigned char *seckey +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2); + +/** Compute the public key for a secret key. + * + * Returns: 1: secret was valid, public key stores + * 0: secret was invalid, try again + * Args: ctx: pointer to a context object, initialized for signing (cannot be NULL) + * Out: pubkey: pointer to the created public key (cannot be NULL) + * In: seckey: pointer to a 32-byte private key (cannot be NULL) + */ +SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_create( + const secp256k1_context* ctx, + secp256k1_pubkey *pubkey, + const unsigned char *seckey +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); + +/** Negates a private key in place. + * + * Returns: 1 always + * Args: ctx: pointer to a context object + * In/Out: seckey: pointer to the 32-byte private key to be negated (cannot be NULL) + */ +SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_negate( + const secp256k1_context* ctx, + unsigned char *seckey +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2); + +/** Negates a public key in place. + * + * Returns: 1 always + * Args: ctx: pointer to a context object + * In/Out: pubkey: pointer to the public key to be negated (cannot be NULL) + */ +SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_negate( + const secp256k1_context* ctx, + secp256k1_pubkey *pubkey +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2); + +/** Tweak a private key by adding tweak to it. + * Returns: 0 if the tweak was out of range (chance of around 1 in 2^128 for + * uniformly random 32-byte arrays, or if the resulting private key + * would be invalid (only when the tweak is the complement of the + * private key). 1 otherwise. + * Args: ctx: pointer to a context object (cannot be NULL). + * In/Out: seckey: pointer to a 32-byte private key. + * In: tweak: pointer to a 32-byte tweak. + */ +SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_add( + const secp256k1_context* ctx, + unsigned char *seckey, + const unsigned char *tweak +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); + +/** Tweak a public key by adding tweak times the generator to it. + * Returns: 0 if the tweak was out of range (chance of around 1 in 2^128 for + * uniformly random 32-byte arrays, or if the resulting public key + * would be invalid (only when the tweak is the complement of the + * corresponding private key). 1 otherwise. + * Args: ctx: pointer to a context object initialized for validation + * (cannot be NULL). + * In/Out: pubkey: pointer to a public key object. + * In: tweak: pointer to a 32-byte tweak. + */ +SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_add( + const secp256k1_context* ctx, + secp256k1_pubkey *pubkey, + const unsigned char *tweak +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); + +/** Tweak a private key by multiplying it by a tweak. + * Returns: 0 if the tweak was out of range (chance of around 1 in 2^128 for + * uniformly random 32-byte arrays, or equal to zero. 1 otherwise. + * Args: ctx: pointer to a context object (cannot be NULL). + * In/Out: seckey: pointer to a 32-byte private key. + * In: tweak: pointer to a 32-byte tweak. + */ +SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_mul( + const secp256k1_context* ctx, + unsigned char *seckey, + const unsigned char *tweak +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); + +/** Tweak a public key by multiplying it by a tweak value. + * Returns: 0 if the tweak was out of range (chance of around 1 in 2^128 for + * uniformly random 32-byte arrays, or equal to zero. 1 otherwise. + * Args: ctx: pointer to a context object initialized for validation + * (cannot be NULL). + * In/Out: pubkey: pointer to a public key obkect. + * In: tweak: pointer to a 32-byte tweak. + */ +SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_mul( + const secp256k1_context* ctx, + secp256k1_pubkey *pubkey, + const unsigned char *tweak +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); + +/** Updates the context randomization to protect against side-channel leakage. + * Returns: 1: randomization successfully updated + * 0: error + * Args: ctx: pointer to a context object (cannot be NULL) + * In: seed32: pointer to a 32-byte random seed (NULL resets to initial state) + * + * While secp256k1 code is written to be constant-time no matter what secret + * values are, it's possible that a future compiler may output code which isn't, + * and also that the CPU may not emit the same radio frequencies or draw the same + * amount power for all values. + * + * This function provides a seed which is combined into the blinding value: that + * blinding value is added before each multiplication (and removed afterwards) so + * that it does not affect function results, but shields against attacks which + * rely on any input-dependent behaviour. + * + * You should call this after secp256k1_context_create or + * secp256k1_context_clone, and may call this repeatedly afterwards. + */ +SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_context_randomize( + secp256k1_context* ctx, + const unsigned char *seed32 +) SECP256K1_ARG_NONNULL(1); + +/** Add a number of public keys together. + * Returns: 1: the sum of the public keys is valid. + * 0: the sum of the public keys is not valid. + * Args: ctx: pointer to a context object + * Out: out: pointer to a public key object for placing the resulting public key + * (cannot be NULL) + * In: ins: pointer to array of pointers to public keys (cannot be NULL) + * n: the number of public keys to add together (must be at least 1) + */ +SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_combine( + const secp256k1_context* ctx, + secp256k1_pubkey *out, + const secp256k1_pubkey * const * ins, + size_t n +) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); + +#ifdef __cplusplus +} +#endif + +#endif /* SECP256K1_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/include/secp256k1_ecdh.h b/Pods/secp256k1_swift/Classes/secp256k1/include/secp256k1_ecdh.h new file mode 100644 index 000000000..88492dc1a --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/include/secp256k1_ecdh.h @@ -0,0 +1,31 @@ +#ifndef SECP256K1_ECDH_H +#define SECP256K1_ECDH_H + +#include "secp256k1.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** Compute an EC Diffie-Hellman secret in constant time + * Returns: 1: exponentiation was successful + * 0: scalar was invalid (zero or overflow) + * Args: ctx: pointer to a context object (cannot be NULL) + * Out: result: a 32-byte array which will be populated by an ECDH + * secret computed from the point and scalar + * In: pubkey: a pointer to a secp256k1_pubkey containing an + * initialized public key + * privkey: a 32-byte scalar with which to multiply the point + */ +SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdh( + const secp256k1_context* ctx, + unsigned char *result, + const secp256k1_pubkey *pubkey, + const unsigned char *privkey +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); + +#ifdef __cplusplus +} +#endif + +#endif /* SECP256K1_ECDH_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/include/secp256k1_recovery.h b/Pods/secp256k1_swift/Classes/secp256k1/include/secp256k1_recovery.h new file mode 100644 index 000000000..cf6c5ed7f --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/include/secp256k1_recovery.h @@ -0,0 +1,110 @@ +#ifndef SECP256K1_RECOVERY_H +#define SECP256K1_RECOVERY_H + +#include "secp256k1.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** Opaque data structured that holds a parsed ECDSA signature, + * supporting pubkey recovery. + * + * The exact representation of data inside is implementation defined and not + * guaranteed to be portable between different platforms or versions. It is + * however guaranteed to be 65 bytes in size, and can be safely copied/moved. + * If you need to convert to a format suitable for storage or transmission, use + * the secp256k1_ecdsa_signature_serialize_* and + * secp256k1_ecdsa_signature_parse_* functions. + * + * Furthermore, it is guaranteed that identical signatures (including their + * recoverability) will have identical representation, so they can be + * memcmp'ed. + */ +typedef struct { + unsigned char data[65]; +} secp256k1_ecdsa_recoverable_signature; + +/** Parse a compact ECDSA signature (64 bytes + recovery id). + * + * Returns: 1 when the signature could be parsed, 0 otherwise + * Args: ctx: a secp256k1 context object + * Out: sig: a pointer to a signature object + * In: input64: a pointer to a 64-byte compact signature + * recid: the recovery id (0, 1, 2 or 3) + */ +SECP256K1_API int secp256k1_ecdsa_recoverable_signature_parse_compact( + const secp256k1_context* ctx, + secp256k1_ecdsa_recoverable_signature* sig, + const unsigned char *input64, + int recid +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); + +/** Convert a recoverable signature into a normal signature. + * + * Returns: 1 + * Out: sig: a pointer to a normal signature (cannot be NULL). + * In: sigin: a pointer to a recoverable signature (cannot be NULL). + */ +SECP256K1_API int secp256k1_ecdsa_recoverable_signature_convert( + const secp256k1_context* ctx, + secp256k1_ecdsa_signature* sig, + const secp256k1_ecdsa_recoverable_signature* sigin +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); + +/** Serialize an ECDSA signature in compact format (64 bytes + recovery id). + * + * Returns: 1 + * Args: ctx: a secp256k1 context object + * Out: output64: a pointer to a 64-byte array of the compact signature (cannot be NULL) + * recid: a pointer to an integer to hold the recovery id (can be NULL). + * In: sig: a pointer to an initialized signature object (cannot be NULL) + */ +SECP256K1_API int secp256k1_ecdsa_recoverable_signature_serialize_compact( + const secp256k1_context* ctx, + unsigned char *output64, + int *recid, + const secp256k1_ecdsa_recoverable_signature* sig +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); + +/** Create a recoverable ECDSA signature. + * + * Returns: 1: signature created + * 0: the nonce generation function failed, or the private key was invalid. + * Args: ctx: pointer to a context object, initialized for signing (cannot be NULL) + * Out: sig: pointer to an array where the signature will be placed (cannot be NULL) + * In: msg32: the 32-byte message hash being signed (cannot be NULL) + * seckey: pointer to a 32-byte secret key (cannot be NULL) + * noncefp:pointer to a nonce generation function. If NULL, secp256k1_nonce_function_default is used + * ndata: pointer to arbitrary data used by the nonce generation function (can be NULL) + */ +SECP256K1_API int secp256k1_ecdsa_sign_recoverable( + const secp256k1_context* ctx, + secp256k1_ecdsa_recoverable_signature *sig, + const unsigned char *msg32, + const unsigned char *seckey, + secp256k1_nonce_function noncefp, + const void *ndata +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); + +/** Recover an ECDSA public key from a signature. + * + * Returns: 1: public key successfully recovered (which guarantees a correct signature). + * 0: otherwise. + * Args: ctx: pointer to a context object, initialized for verification (cannot be NULL) + * Out: pubkey: pointer to the recovered public key (cannot be NULL) + * In: sig: pointer to initialized signature that supports pubkey recovery (cannot be NULL) + * msg32: the 32-byte message hash assumed to be signed (cannot be NULL) + */ +SECP256K1_API SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdsa_recover( + const secp256k1_context* ctx, + secp256k1_pubkey *pubkey, + const secp256k1_ecdsa_recoverable_signature *sig, + const unsigned char *msg32 +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4); + +#ifdef __cplusplus +} +#endif + +#endif /* SECP256K1_RECOVERY_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/basic-config.h b/Pods/secp256k1_swift/Classes/secp256k1/src/basic-config.h new file mode 100644 index 000000000..fc588061c --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/basic-config.h @@ -0,0 +1,33 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_BASIC_CONFIG_H +#define SECP256K1_BASIC_CONFIG_H + +#ifdef USE_BASIC_CONFIG + +#undef USE_ASM_X86_64 +#undef USE_ENDOMORPHISM +#undef USE_FIELD_10X26 +#undef USE_FIELD_5X52 +#undef USE_FIELD_INV_BUILTIN +#undef USE_FIELD_INV_NUM +#undef USE_NUM_GMP +#undef USE_NUM_NONE +#undef USE_SCALAR_4X64 +#undef USE_SCALAR_8X32 +#undef USE_SCALAR_INV_BUILTIN +#undef USE_SCALAR_INV_NUM + +#define USE_NUM_NONE 1 +#define USE_FIELD_INV_BUILTIN 1 +#define USE_SCALAR_INV_BUILTIN 1 +#define USE_FIELD_10X26 1 +#define USE_SCALAR_8X32 1 + +#endif /* USE_BASIC_CONFIG */ + +#endif /* SECP256K1_BASIC_CONFIG_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/ecdsa.h b/Pods/secp256k1_swift/Classes/secp256k1/src/ecdsa.h new file mode 100644 index 000000000..80590c7cc --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/ecdsa.h @@ -0,0 +1,21 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_ECDSA_H +#define SECP256K1_ECDSA_H + +#include + +#include "scalar.h" +#include "group.h" +#include "ecmult.h" + +static int secp256k1_ecdsa_sig_parse(secp256k1_scalar *r, secp256k1_scalar *s, const unsigned char *sig, size_t size); +static int secp256k1_ecdsa_sig_serialize(unsigned char *sig, size_t *size, const secp256k1_scalar *r, const secp256k1_scalar *s); +static int secp256k1_ecdsa_sig_verify(const secp256k1_ecmult_context *ctx, const secp256k1_scalar* r, const secp256k1_scalar* s, const secp256k1_ge *pubkey, const secp256k1_scalar *message); +static int secp256k1_ecdsa_sig_sign(const secp256k1_ecmult_gen_context *ctx, secp256k1_scalar* r, secp256k1_scalar* s, const secp256k1_scalar *seckey, const secp256k1_scalar *message, const secp256k1_scalar *nonce, int *recid); + +#endif /* SECP256K1_ECDSA_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/ecdsa_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/ecdsa_impl.h new file mode 100644 index 000000000..c3400042d --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/ecdsa_impl.h @@ -0,0 +1,313 @@ +/********************************************************************** + * Copyright (c) 2013-2015 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + + +#ifndef SECP256K1_ECDSA_IMPL_H +#define SECP256K1_ECDSA_IMPL_H + +#include "scalar.h" +#include "field.h" +#include "group.h" +#include "ecmult.h" +#include "ecmult_gen.h" +#include "ecdsa.h" + +/** Group order for secp256k1 defined as 'n' in "Standards for Efficient Cryptography" (SEC2) 2.7.1 + * sage: for t in xrange(1023, -1, -1): + * .. p = 2**256 - 2**32 - t + * .. if p.is_prime(): + * .. print '%x'%p + * .. break + * 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f' + * sage: a = 0 + * sage: b = 7 + * sage: F = FiniteField (p) + * sage: '%x' % (EllipticCurve ([F (a), F (b)]).order()) + * 'fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141' + */ +static const secp256k1_fe secp256k1_ecdsa_const_order_as_fe = SECP256K1_FE_CONST( + 0xFFFFFFFFUL, 0xFFFFFFFFUL, 0xFFFFFFFFUL, 0xFFFFFFFEUL, + 0xBAAEDCE6UL, 0xAF48A03BUL, 0xBFD25E8CUL, 0xD0364141UL +); + +/** Difference between field and order, values 'p' and 'n' values defined in + * "Standards for Efficient Cryptography" (SEC2) 2.7.1. + * sage: p = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F + * sage: a = 0 + * sage: b = 7 + * sage: F = FiniteField (p) + * sage: '%x' % (p - EllipticCurve ([F (a), F (b)]).order()) + * '14551231950b75fc4402da1722fc9baee' + */ +static const secp256k1_fe secp256k1_ecdsa_const_p_minus_order = SECP256K1_FE_CONST( + 0, 0, 0, 1, 0x45512319UL, 0x50B75FC4UL, 0x402DA172UL, 0x2FC9BAEEUL +); + +static int secp256k1_der_read_len(const unsigned char **sigp, const unsigned char *sigend) { + int lenleft, b1; + size_t ret = 0; + if (*sigp >= sigend) { + return -1; + } + b1 = *((*sigp)++); + if (b1 == 0xFF) { + /* X.690-0207 8.1.3.5.c the value 0xFF shall not be used. */ + return -1; + } + if ((b1 & 0x80) == 0) { + /* X.690-0207 8.1.3.4 short form length octets */ + return b1; + } + if (b1 == 0x80) { + /* Indefinite length is not allowed in DER. */ + return -1; + } + /* X.690-207 8.1.3.5 long form length octets */ + lenleft = b1 & 0x7F; + if (lenleft > sigend - *sigp) { + return -1; + } + if (**sigp == 0) { + /* Not the shortest possible length encoding. */ + return -1; + } + if ((size_t)lenleft > sizeof(size_t)) { + /* The resulting length would exceed the range of a size_t, so + * certainly longer than the passed array size. + */ + return -1; + } + while (lenleft > 0) { + ret = (ret << 8) | **sigp; + if (ret + lenleft > (size_t)(sigend - *sigp)) { + /* Result exceeds the length of the passed array. */ + return -1; + } + (*sigp)++; + lenleft--; + } + if (ret < 128) { + /* Not the shortest possible length encoding. */ + return -1; + } + return ret; +} + +static int secp256k1_der_parse_integer(secp256k1_scalar *r, const unsigned char **sig, const unsigned char *sigend) { + int overflow = 0; + unsigned char ra[32] = {0}; + int rlen; + + if (*sig == sigend || **sig != 0x02) { + /* Not a primitive integer (X.690-0207 8.3.1). */ + return 0; + } + (*sig)++; + rlen = secp256k1_der_read_len(sig, sigend); + if (rlen <= 0 || (*sig) + rlen > sigend) { + /* Exceeds bounds or not at least length 1 (X.690-0207 8.3.1). */ + return 0; + } + if (**sig == 0x00 && rlen > 1 && (((*sig)[1]) & 0x80) == 0x00) { + /* Excessive 0x00 padding. */ + return 0; + } + if (**sig == 0xFF && rlen > 1 && (((*sig)[1]) & 0x80) == 0x80) { + /* Excessive 0xFF padding. */ + return 0; + } + if ((**sig & 0x80) == 0x80) { + /* Negative. */ + overflow = 1; + } + while (rlen > 0 && **sig == 0) { + /* Skip leading zero bytes */ + rlen--; + (*sig)++; + } + if (rlen > 32) { + overflow = 1; + } + if (!overflow) { + memcpy(ra + 32 - rlen, *sig, rlen); + secp256k1_scalar_set_b32(r, ra, &overflow); + } + if (overflow) { + secp256k1_scalar_set_int(r, 0); + } + (*sig) += rlen; + return 1; +} + +static int secp256k1_ecdsa_sig_parse(secp256k1_scalar *rr, secp256k1_scalar *rs, const unsigned char *sig, size_t size) { + const unsigned char *sigend = sig + size; + int rlen; + if (sig == sigend || *(sig++) != 0x30) { + /* The encoding doesn't start with a constructed sequence (X.690-0207 8.9.1). */ + return 0; + } + rlen = secp256k1_der_read_len(&sig, sigend); + if (rlen < 0 || sig + rlen > sigend) { + /* Tuple exceeds bounds */ + return 0; + } + if (sig + rlen != sigend) { + /* Garbage after tuple. */ + return 0; + } + + if (!secp256k1_der_parse_integer(rr, &sig, sigend)) { + return 0; + } + if (!secp256k1_der_parse_integer(rs, &sig, sigend)) { + return 0; + } + + if (sig != sigend) { + /* Trailing garbage inside tuple. */ + return 0; + } + + return 1; +} + +static int secp256k1_ecdsa_sig_serialize(unsigned char *sig, size_t *size, const secp256k1_scalar* ar, const secp256k1_scalar* as) { + unsigned char r[33] = {0}, s[33] = {0}; + unsigned char *rp = r, *sp = s; + size_t lenR = 33, lenS = 33; + secp256k1_scalar_get_b32(&r[1], ar); + secp256k1_scalar_get_b32(&s[1], as); + while (lenR > 1 && rp[0] == 0 && rp[1] < 0x80) { lenR--; rp++; } + while (lenS > 1 && sp[0] == 0 && sp[1] < 0x80) { lenS--; sp++; } + if (*size < 6+lenS+lenR) { + *size = 6 + lenS + lenR; + return 0; + } + *size = 6 + lenS + lenR; + sig[0] = 0x30; + sig[1] = 4 + lenS + lenR; + sig[2] = 0x02; + sig[3] = lenR; + memcpy(sig+4, rp, lenR); + sig[4+lenR] = 0x02; + sig[5+lenR] = lenS; + memcpy(sig+lenR+6, sp, lenS); + return 1; +} + +static int secp256k1_ecdsa_sig_verify(const secp256k1_ecmult_context *ctx, const secp256k1_scalar *sigr, const secp256k1_scalar *sigs, const secp256k1_ge *pubkey, const secp256k1_scalar *message) { + unsigned char c[32]; + secp256k1_scalar sn, u1, u2; +#if !defined(EXHAUSTIVE_TEST_ORDER) + secp256k1_fe xr; +#endif + secp256k1_gej pubkeyj; + secp256k1_gej pr; + + if (secp256k1_scalar_is_zero(sigr) || secp256k1_scalar_is_zero(sigs)) { + return 0; + } + + secp256k1_scalar_inverse_var(&sn, sigs); + secp256k1_scalar_mul(&u1, &sn, message); + secp256k1_scalar_mul(&u2, &sn, sigr); + secp256k1_gej_set_ge(&pubkeyj, pubkey); + secp256k1_ecmult(ctx, &pr, &pubkeyj, &u2, &u1); + if (secp256k1_gej_is_infinity(&pr)) { + return 0; + } + +#if defined(EXHAUSTIVE_TEST_ORDER) +{ + secp256k1_scalar computed_r; + secp256k1_ge pr_ge; + secp256k1_ge_set_gej(&pr_ge, &pr); + secp256k1_fe_normalize(&pr_ge.x); + + secp256k1_fe_get_b32(c, &pr_ge.x); + secp256k1_scalar_set_b32(&computed_r, c, NULL); + return secp256k1_scalar_eq(sigr, &computed_r); +} +#else + secp256k1_scalar_get_b32(c, sigr); + secp256k1_fe_set_b32(&xr, c); + + /** We now have the recomputed R point in pr, and its claimed x coordinate (modulo n) + * in xr. Naively, we would extract the x coordinate from pr (requiring a inversion modulo p), + * compute the remainder modulo n, and compare it to xr. However: + * + * xr == X(pr) mod n + * <=> exists h. (xr + h * n < p && xr + h * n == X(pr)) + * [Since 2 * n > p, h can only be 0 or 1] + * <=> (xr == X(pr)) || (xr + n < p && xr + n == X(pr)) + * [In Jacobian coordinates, X(pr) is pr.x / pr.z^2 mod p] + * <=> (xr == pr.x / pr.z^2 mod p) || (xr + n < p && xr + n == pr.x / pr.z^2 mod p) + * [Multiplying both sides of the equations by pr.z^2 mod p] + * <=> (xr * pr.z^2 mod p == pr.x) || (xr + n < p && (xr + n) * pr.z^2 mod p == pr.x) + * + * Thus, we can avoid the inversion, but we have to check both cases separately. + * secp256k1_gej_eq_x implements the (xr * pr.z^2 mod p == pr.x) test. + */ + if (secp256k1_gej_eq_x_var(&xr, &pr)) { + /* xr * pr.z^2 mod p == pr.x, so the signature is valid. */ + return 1; + } + if (secp256k1_fe_cmp_var(&xr, &secp256k1_ecdsa_const_p_minus_order) >= 0) { + /* xr + n >= p, so we can skip testing the second case. */ + return 0; + } + secp256k1_fe_add(&xr, &secp256k1_ecdsa_const_order_as_fe); + if (secp256k1_gej_eq_x_var(&xr, &pr)) { + /* (xr + n) * pr.z^2 mod p == pr.x, so the signature is valid. */ + return 1; + } + return 0; +#endif +} + +static int secp256k1_ecdsa_sig_sign(const secp256k1_ecmult_gen_context *ctx, secp256k1_scalar *sigr, secp256k1_scalar *sigs, const secp256k1_scalar *seckey, const secp256k1_scalar *message, const secp256k1_scalar *nonce, int *recid) { + unsigned char b[32]; + secp256k1_gej rp; + secp256k1_ge r; + secp256k1_scalar n; + int overflow = 0; + + secp256k1_ecmult_gen(ctx, &rp, nonce); + secp256k1_ge_set_gej(&r, &rp); + secp256k1_fe_normalize(&r.x); + secp256k1_fe_normalize(&r.y); + secp256k1_fe_get_b32(b, &r.x); + secp256k1_scalar_set_b32(sigr, b, &overflow); + /* These two conditions should be checked before calling */ + VERIFY_CHECK(!secp256k1_scalar_is_zero(sigr)); + VERIFY_CHECK(overflow == 0); + + if (recid) { + /* The overflow condition is cryptographically unreachable as hitting it requires finding the discrete log + * of some P where P.x >= order, and only 1 in about 2^127 points meet this criteria. + */ + *recid = (overflow ? 2 : 0) | (secp256k1_fe_is_odd(&r.y) ? 1 : 0); + } + secp256k1_scalar_mul(&n, sigr, seckey); + secp256k1_scalar_add(&n, &n, message); + secp256k1_scalar_inverse(sigs, nonce); + secp256k1_scalar_mul(sigs, sigs, &n); + secp256k1_scalar_clear(&n); + secp256k1_gej_clear(&rp); + secp256k1_ge_clear(&r); + if (secp256k1_scalar_is_zero(sigs)) { + return 0; + } + if (secp256k1_scalar_is_high(sigs)) { + secp256k1_scalar_negate(sigs, sigs); + if (recid) { + *recid ^= 1; + } + } + return 1; +} + +#endif /* SECP256K1_ECDSA_IMPL_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/eckey.h b/Pods/secp256k1_swift/Classes/secp256k1/src/eckey.h new file mode 100644 index 000000000..b621f1e6c --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/eckey.h @@ -0,0 +1,25 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_ECKEY_H +#define SECP256K1_ECKEY_H + +#include + +#include "group.h" +#include "scalar.h" +#include "ecmult.h" +#include "ecmult_gen.h" + +static int secp256k1_eckey_pubkey_parse(secp256k1_ge *elem, const unsigned char *pub, size_t size); +static int secp256k1_eckey_pubkey_serialize(secp256k1_ge *elem, unsigned char *pub, size_t *size, int compressed); + +static int secp256k1_eckey_privkey_tweak_add(secp256k1_scalar *key, const secp256k1_scalar *tweak); +static int secp256k1_eckey_pubkey_tweak_add(const secp256k1_ecmult_context *ctx, secp256k1_ge *key, const secp256k1_scalar *tweak); +static int secp256k1_eckey_privkey_tweak_mul(secp256k1_scalar *key, const secp256k1_scalar *tweak); +static int secp256k1_eckey_pubkey_tweak_mul(const secp256k1_ecmult_context *ctx, secp256k1_ge *key, const secp256k1_scalar *tweak); + +#endif /* SECP256K1_ECKEY_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/eckey_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/eckey_impl.h new file mode 100644 index 000000000..1ab9a68ec --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/eckey_impl.h @@ -0,0 +1,100 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_ECKEY_IMPL_H +#define SECP256K1_ECKEY_IMPL_H + +#include "eckey.h" + +#include "scalar.h" +#include "field.h" +#include "group.h" +#include "ecmult_gen.h" + +static int secp256k1_eckey_pubkey_parse(secp256k1_ge *elem, const unsigned char *pub, size_t size) { + if (size == 33 && (pub[0] == SECP256K1_TAG_PUBKEY_EVEN || pub[0] == SECP256K1_TAG_PUBKEY_ODD)) { + secp256k1_fe x; + return secp256k1_fe_set_b32(&x, pub+1) && secp256k1_ge_set_xo_var(elem, &x, pub[0] == SECP256K1_TAG_PUBKEY_ODD); + } else if (size == 65 && (pub[0] == 0x04 || pub[0] == 0x06 || pub[0] == 0x07)) { + secp256k1_fe x, y; + if (!secp256k1_fe_set_b32(&x, pub+1) || !secp256k1_fe_set_b32(&y, pub+33)) { + return 0; + } + secp256k1_ge_set_xy(elem, &x, &y); + if ((pub[0] == SECP256K1_TAG_PUBKEY_HYBRID_EVEN || pub[0] == SECP256K1_TAG_PUBKEY_HYBRID_ODD) && + secp256k1_fe_is_odd(&y) != (pub[0] == SECP256K1_TAG_PUBKEY_HYBRID_ODD)) { + return 0; + } + return secp256k1_ge_is_valid_var(elem); + } else { + return 0; + } +} + +static int secp256k1_eckey_pubkey_serialize(secp256k1_ge *elem, unsigned char *pub, size_t *size, int compressed) { + if (secp256k1_ge_is_infinity(elem)) { + return 0; + } + secp256k1_fe_normalize_var(&elem->x); + secp256k1_fe_normalize_var(&elem->y); + secp256k1_fe_get_b32(&pub[1], &elem->x); + if (compressed) { + *size = 33; + pub[0] = secp256k1_fe_is_odd(&elem->y) ? SECP256K1_TAG_PUBKEY_ODD : SECP256K1_TAG_PUBKEY_EVEN; + } else { + *size = 65; + pub[0] = SECP256K1_TAG_PUBKEY_UNCOMPRESSED; + secp256k1_fe_get_b32(&pub[33], &elem->y); + } + return 1; +} + +static int secp256k1_eckey_privkey_tweak_add(secp256k1_scalar *key, const secp256k1_scalar *tweak) { + secp256k1_scalar_add(key, key, tweak); + if (secp256k1_scalar_is_zero(key)) { + return 0; + } + return 1; +} + +static int secp256k1_eckey_pubkey_tweak_add(const secp256k1_ecmult_context *ctx, secp256k1_ge *key, const secp256k1_scalar *tweak) { + secp256k1_gej pt; + secp256k1_scalar one; + secp256k1_gej_set_ge(&pt, key); + secp256k1_scalar_set_int(&one, 1); + secp256k1_ecmult(ctx, &pt, &pt, &one, tweak); + + if (secp256k1_gej_is_infinity(&pt)) { + return 0; + } + secp256k1_ge_set_gej(key, &pt); + return 1; +} + +static int secp256k1_eckey_privkey_tweak_mul(secp256k1_scalar *key, const secp256k1_scalar *tweak) { + if (secp256k1_scalar_is_zero(tweak)) { + return 0; + } + + secp256k1_scalar_mul(key, key, tweak); + return 1; +} + +static int secp256k1_eckey_pubkey_tweak_mul(const secp256k1_ecmult_context *ctx, secp256k1_ge *key, const secp256k1_scalar *tweak) { + secp256k1_scalar zero; + secp256k1_gej pt; + if (secp256k1_scalar_is_zero(tweak)) { + return 0; + } + + secp256k1_scalar_set_int(&zero, 0); + secp256k1_gej_set_ge(&pt, key); + secp256k1_ecmult(ctx, &pt, &pt, tweak, &zero); + secp256k1_ge_set_gej(key, &pt); + return 1; +} + +#endif /* SECP256K1_ECKEY_IMPL_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/ecmult.h b/Pods/secp256k1_swift/Classes/secp256k1/src/ecmult.h new file mode 100644 index 000000000..ea1cd8a21 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/ecmult.h @@ -0,0 +1,47 @@ +/********************************************************************** + * Copyright (c) 2013, 2014, 2017 Pieter Wuille, Andrew Poelstra * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_ECMULT_H +#define SECP256K1_ECMULT_H + +#include "num.h" +#include "group.h" +#include "scalar.h" +#include "scratch.h" + +typedef struct { + /* For accelerating the computation of a*P + b*G: */ + secp256k1_ge_storage (*pre_g)[]; /* odd multiples of the generator */ +#ifdef USE_ENDOMORPHISM + secp256k1_ge_storage (*pre_g_128)[]; /* odd multiples of 2^128*generator */ +#endif +} secp256k1_ecmult_context; + +static void secp256k1_ecmult_context_init(secp256k1_ecmult_context *ctx); +static void secp256k1_ecmult_context_build(secp256k1_ecmult_context *ctx, const secp256k1_callback *cb); +static void secp256k1_ecmult_context_clone(secp256k1_ecmult_context *dst, + const secp256k1_ecmult_context *src, const secp256k1_callback *cb); +static void secp256k1_ecmult_context_clear(secp256k1_ecmult_context *ctx); +static int secp256k1_ecmult_context_is_built(const secp256k1_ecmult_context *ctx); + +/** Double multiply: R = na*A + ng*G */ +static void secp256k1_ecmult(const secp256k1_ecmult_context *ctx, secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_scalar *na, const secp256k1_scalar *ng); + +typedef int (secp256k1_ecmult_multi_callback)(secp256k1_scalar *sc, secp256k1_ge *pt, size_t idx, void *data); + +/** + * Multi-multiply: R = inp_g_sc * G + sum_i ni * Ai. + * Chooses the right algorithm for a given number of points and scratch space + * size. Resets and overwrites the given scratch space. If the points do not + * fit in the scratch space the algorithm is repeatedly run with batches of + * points. + * Returns: 1 on success (including when inp_g_sc is NULL and n is 0) + * 0 if there is not enough scratch space for a single point or + * callback returns 0 + */ +static int secp256k1_ecmult_multi_var(const secp256k1_ecmult_context *ctx, secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n); + +#endif /* SECP256K1_ECMULT_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_const.h b/Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_const.h new file mode 100644 index 000000000..d4804b8b6 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_const.h @@ -0,0 +1,17 @@ +/********************************************************************** + * Copyright (c) 2015 Andrew Poelstra * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_ECMULT_CONST_H +#define SECP256K1_ECMULT_CONST_H + +#include "scalar.h" +#include "group.h" + +/* Here `bits` should be set to the maximum bitlength of the _absolute value_ of `q`, plus + * one because we internally sometimes add 2 to the number during the WNAF conversion. */ +static void secp256k1_ecmult_const(secp256k1_gej *r, const secp256k1_ge *a, const secp256k1_scalar *q, int bits); + +#endif /* SECP256K1_ECMULT_CONST_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_const_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_const_impl.h new file mode 100644 index 000000000..8411752eb --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_const_impl.h @@ -0,0 +1,257 @@ +/********************************************************************** + * Copyright (c) 2015 Pieter Wuille, Andrew Poelstra * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_ECMULT_CONST_IMPL_H +#define SECP256K1_ECMULT_CONST_IMPL_H + +#include "scalar.h" +#include "group.h" +#include "ecmult_const.h" +#include "ecmult_impl.h" + +/* This is like `ECMULT_TABLE_GET_GE` but is constant time */ +#define ECMULT_CONST_TABLE_GET_GE(r,pre,n,w) do { \ + int m; \ + int abs_n = (n) * (((n) > 0) * 2 - 1); \ + int idx_n = abs_n / 2; \ + secp256k1_fe neg_y; \ + VERIFY_CHECK(((n) & 1) == 1); \ + VERIFY_CHECK((n) >= -((1 << ((w)-1)) - 1)); \ + VERIFY_CHECK((n) <= ((1 << ((w)-1)) - 1)); \ + VERIFY_SETUP(secp256k1_fe_clear(&(r)->x)); \ + VERIFY_SETUP(secp256k1_fe_clear(&(r)->y)); \ + for (m = 0; m < ECMULT_TABLE_SIZE(w); m++) { \ + /* This loop is used to avoid secret data in array indices. See + * the comment in ecmult_gen_impl.h for rationale. */ \ + secp256k1_fe_cmov(&(r)->x, &(pre)[m].x, m == idx_n); \ + secp256k1_fe_cmov(&(r)->y, &(pre)[m].y, m == idx_n); \ + } \ + (r)->infinity = 0; \ + secp256k1_fe_negate(&neg_y, &(r)->y, 1); \ + secp256k1_fe_cmov(&(r)->y, &neg_y, (n) != abs_n); \ +} while(0) + + +/** Convert a number to WNAF notation. + * The number becomes represented by sum(2^{wi} * wnaf[i], i=0..WNAF_SIZE(w)+1) - return_val. + * It has the following guarantees: + * - each wnaf[i] an odd integer between -(1 << w) and (1 << w) + * - each wnaf[i] is nonzero + * - the number of words set is always WNAF_SIZE(w) + 1 + * + * Adapted from `The Width-w NAF Method Provides Small Memory and Fast Elliptic Scalar + * Multiplications Secure against Side Channel Attacks`, Okeya and Tagaki. M. Joye (Ed.) + * CT-RSA 2003, LNCS 2612, pp. 328-443, 2003. Springer-Verlagy Berlin Heidelberg 2003 + * + * Numbers reference steps of `Algorithm SPA-resistant Width-w NAF with Odd Scalar` on pp. 335 + */ +static int secp256k1_wnaf_const(int *wnaf, secp256k1_scalar s, int w, int size) { + int global_sign; + int skew = 0; + int word = 0; + + /* 1 2 3 */ + int u_last; + int u; + + int flip; + int bit; + secp256k1_scalar neg_s; + int not_neg_one; + /* Note that we cannot handle even numbers by negating them to be odd, as is + * done in other implementations, since if our scalars were specified to have + * width < 256 for performance reasons, their negations would have width 256 + * and we'd lose any performance benefit. Instead, we use a technique from + * Section 4.2 of the Okeya/Tagaki paper, which is to add either 1 (for even) + * or 2 (for odd) to the number we are encoding, returning a skew value indicating + * this, and having the caller compensate after doing the multiplication. + * + * In fact, we _do_ want to negate numbers to minimize their bit-lengths (and in + * particular, to ensure that the outputs from the endomorphism-split fit into + * 128 bits). If we negate, the parity of our number flips, inverting which of + * {1, 2} we want to add to the scalar when ensuring that it's odd. Further + * complicating things, -1 interacts badly with `secp256k1_scalar_cadd_bit` and + * we need to special-case it in this logic. */ + flip = secp256k1_scalar_is_high(&s); + /* We add 1 to even numbers, 2 to odd ones, noting that negation flips parity */ + bit = flip ^ !secp256k1_scalar_is_even(&s); + /* We check for negative one, since adding 2 to it will cause an overflow */ + secp256k1_scalar_negate(&neg_s, &s); + not_neg_one = !secp256k1_scalar_is_one(&neg_s); + secp256k1_scalar_cadd_bit(&s, bit, not_neg_one); + /* If we had negative one, flip == 1, s.d[0] == 0, bit == 1, so caller expects + * that we added two to it and flipped it. In fact for -1 these operations are + * identical. We only flipped, but since skewing is required (in the sense that + * the skew must be 1 or 2, never zero) and flipping is not, we need to change + * our flags to claim that we only skewed. */ + global_sign = secp256k1_scalar_cond_negate(&s, flip); + global_sign *= not_neg_one * 2 - 1; + skew = 1 << bit; + + /* 4 */ + u_last = secp256k1_scalar_shr_int(&s, w); + while (word * w < size) { + int sign; + int even; + + /* 4.1 4.4 */ + u = secp256k1_scalar_shr_int(&s, w); + /* 4.2 */ + even = ((u & 1) == 0); + sign = 2 * (u_last > 0) - 1; + u += sign * even; + u_last -= sign * even * (1 << w); + + /* 4.3, adapted for global sign change */ + wnaf[word++] = u_last * global_sign; + + u_last = u; + } + wnaf[word] = u * global_sign; + + VERIFY_CHECK(secp256k1_scalar_is_zero(&s)); + VERIFY_CHECK(word == WNAF_SIZE_BITS(size, w)); + return skew; +} + +static void secp256k1_ecmult_const(secp256k1_gej *r, const secp256k1_ge *a, const secp256k1_scalar *scalar, int size) { + secp256k1_ge pre_a[ECMULT_TABLE_SIZE(WINDOW_A)]; + secp256k1_ge tmpa; + secp256k1_fe Z; + + int skew_1; +#ifdef USE_ENDOMORPHISM + secp256k1_ge pre_a_lam[ECMULT_TABLE_SIZE(WINDOW_A)]; + int wnaf_lam[1 + WNAF_SIZE(WINDOW_A - 1)]; + int skew_lam; + secp256k1_scalar q_1, q_lam; +#endif + int wnaf_1[1 + WNAF_SIZE(WINDOW_A - 1)]; + + int i; + secp256k1_scalar sc = *scalar; + + /* build wnaf representation for q. */ + int rsize = size; +#ifdef USE_ENDOMORPHISM + if (size > 128) { + rsize = 128; + /* split q into q_1 and q_lam (where q = q_1 + q_lam*lambda, and q_1 and q_lam are ~128 bit) */ + secp256k1_scalar_split_lambda(&q_1, &q_lam, &sc); + skew_1 = secp256k1_wnaf_const(wnaf_1, q_1, WINDOW_A - 1, 128); + skew_lam = secp256k1_wnaf_const(wnaf_lam, q_lam, WINDOW_A - 1, 128); + } else +#endif + { + skew_1 = secp256k1_wnaf_const(wnaf_1, sc, WINDOW_A - 1, size); +#ifdef USE_ENDOMORPHISM + skew_lam = 0; +#endif + } + + /* Calculate odd multiples of a. + * All multiples are brought to the same Z 'denominator', which is stored + * in Z. Due to secp256k1' isomorphism we can do all operations pretending + * that the Z coordinate was 1, use affine addition formulae, and correct + * the Z coordinate of the result once at the end. + */ + secp256k1_gej_set_ge(r, a); + secp256k1_ecmult_odd_multiples_table_globalz_windowa(pre_a, &Z, r); + for (i = 0; i < ECMULT_TABLE_SIZE(WINDOW_A); i++) { + secp256k1_fe_normalize_weak(&pre_a[i].y); + } +#ifdef USE_ENDOMORPHISM + if (size > 128) { + for (i = 0; i < ECMULT_TABLE_SIZE(WINDOW_A); i++) { + secp256k1_ge_mul_lambda(&pre_a_lam[i], &pre_a[i]); + } + } +#endif + + /* first loop iteration (separated out so we can directly set r, rather + * than having it start at infinity, get doubled several times, then have + * its new value added to it) */ + i = wnaf_1[WNAF_SIZE_BITS(rsize, WINDOW_A - 1)]; + VERIFY_CHECK(i != 0); + ECMULT_CONST_TABLE_GET_GE(&tmpa, pre_a, i, WINDOW_A); + secp256k1_gej_set_ge(r, &tmpa); +#ifdef USE_ENDOMORPHISM + if (size > 128) { + i = wnaf_lam[WNAF_SIZE_BITS(rsize, WINDOW_A - 1)]; + VERIFY_CHECK(i != 0); + ECMULT_CONST_TABLE_GET_GE(&tmpa, pre_a_lam, i, WINDOW_A); + secp256k1_gej_add_ge(r, r, &tmpa); + } +#endif + /* remaining loop iterations */ + for (i = WNAF_SIZE_BITS(rsize, WINDOW_A - 1) - 1; i >= 0; i--) { + int n; + int j; + for (j = 0; j < WINDOW_A - 1; ++j) { + secp256k1_gej_double_nonzero(r, r, NULL); + } + + n = wnaf_1[i]; + ECMULT_CONST_TABLE_GET_GE(&tmpa, pre_a, n, WINDOW_A); + VERIFY_CHECK(n != 0); + secp256k1_gej_add_ge(r, r, &tmpa); +#ifdef USE_ENDOMORPHISM + if (size > 128) { + n = wnaf_lam[i]; + ECMULT_CONST_TABLE_GET_GE(&tmpa, pre_a_lam, n, WINDOW_A); + VERIFY_CHECK(n != 0); + secp256k1_gej_add_ge(r, r, &tmpa); + } +#endif + } + + secp256k1_fe_mul(&r->z, &r->z, &Z); + + { + /* Correct for wNAF skew */ + secp256k1_ge correction = *a; + secp256k1_ge_storage correction_1_stor; +#ifdef USE_ENDOMORPHISM + secp256k1_ge_storage correction_lam_stor; +#endif + secp256k1_ge_storage a2_stor; + secp256k1_gej tmpj; + secp256k1_gej_set_ge(&tmpj, &correction); + secp256k1_gej_double_var(&tmpj, &tmpj, NULL); + secp256k1_ge_set_gej(&correction, &tmpj); + secp256k1_ge_to_storage(&correction_1_stor, a); +#ifdef USE_ENDOMORPHISM + if (size > 128) { + secp256k1_ge_to_storage(&correction_lam_stor, a); + } +#endif + secp256k1_ge_to_storage(&a2_stor, &correction); + + /* For odd numbers this is 2a (so replace it), for even ones a (so no-op) */ + secp256k1_ge_storage_cmov(&correction_1_stor, &a2_stor, skew_1 == 2); +#ifdef USE_ENDOMORPHISM + if (size > 128) { + secp256k1_ge_storage_cmov(&correction_lam_stor, &a2_stor, skew_lam == 2); + } +#endif + + /* Apply the correction */ + secp256k1_ge_from_storage(&correction, &correction_1_stor); + secp256k1_ge_neg(&correction, &correction); + secp256k1_gej_add_ge(r, r, &correction); + +#ifdef USE_ENDOMORPHISM + if (size > 128) { + secp256k1_ge_from_storage(&correction, &correction_lam_stor); + secp256k1_ge_neg(&correction, &correction); + secp256k1_ge_mul_lambda(&correction, &correction); + secp256k1_gej_add_ge(r, r, &correction); + } +#endif + } +} + +#endif /* SECP256K1_ECMULT_CONST_IMPL_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_gen.h b/Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_gen.h new file mode 100644 index 000000000..7564b7015 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_gen.h @@ -0,0 +1,43 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_ECMULT_GEN_H +#define SECP256K1_ECMULT_GEN_H + +#include "scalar.h" +#include "group.h" + +typedef struct { + /* For accelerating the computation of a*G: + * To harden against timing attacks, use the following mechanism: + * * Break up the multiplicand into groups of 4 bits, called n_0, n_1, n_2, ..., n_63. + * * Compute sum(n_i * 16^i * G + U_i, i=0..63), where: + * * U_i = U * 2^i (for i=0..62) + * * U_i = U * (1-2^63) (for i=63) + * where U is a point with no known corresponding scalar. Note that sum(U_i, i=0..63) = 0. + * For each i, and each of the 16 possible values of n_i, (n_i * 16^i * G + U_i) is + * precomputed (call it prec(i, n_i)). The formula now becomes sum(prec(i, n_i), i=0..63). + * None of the resulting prec group elements have a known scalar, and neither do any of + * the intermediate sums while computing a*G. + */ + secp256k1_ge_storage (*prec)[64][16]; /* prec[j][i] = 16^j * i * G + U_i */ + secp256k1_scalar blind; + secp256k1_gej initial; +} secp256k1_ecmult_gen_context; + +static void secp256k1_ecmult_gen_context_init(secp256k1_ecmult_gen_context* ctx); +static void secp256k1_ecmult_gen_context_build(secp256k1_ecmult_gen_context* ctx, const secp256k1_callback* cb); +static void secp256k1_ecmult_gen_context_clone(secp256k1_ecmult_gen_context *dst, + const secp256k1_ecmult_gen_context* src, const secp256k1_callback* cb); +static void secp256k1_ecmult_gen_context_clear(secp256k1_ecmult_gen_context* ctx); +static int secp256k1_ecmult_gen_context_is_built(const secp256k1_ecmult_gen_context* ctx); + +/** Multiply with the generator: R = a*G */ +static void secp256k1_ecmult_gen(const secp256k1_ecmult_gen_context* ctx, secp256k1_gej *r, const secp256k1_scalar *a); + +static void secp256k1_ecmult_gen_blind(secp256k1_ecmult_gen_context *ctx, const unsigned char *seed32); + +#endif /* SECP256K1_ECMULT_GEN_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_gen_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_gen_impl.h new file mode 100644 index 000000000..714f02e94 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_gen_impl.h @@ -0,0 +1,210 @@ +/********************************************************************** + * Copyright (c) 2013, 2014, 2015 Pieter Wuille, Gregory Maxwell * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_ECMULT_GEN_IMPL_H +#define SECP256K1_ECMULT_GEN_IMPL_H + +#include "scalar.h" +#include "group.h" +#include "ecmult_gen.h" +#include "hash_impl.h" +#ifdef USE_ECMULT_STATIC_PRECOMPUTATION +#include "ecmult_static_context.h" +#endif +static void secp256k1_ecmult_gen_context_init(secp256k1_ecmult_gen_context *ctx) { + ctx->prec = NULL; +} + +static void secp256k1_ecmult_gen_context_build(secp256k1_ecmult_gen_context *ctx, const secp256k1_callback* cb) { +#ifndef USE_ECMULT_STATIC_PRECOMPUTATION + secp256k1_ge prec[1024]; + secp256k1_gej gj; + secp256k1_gej nums_gej; + int i, j; +#endif + + if (ctx->prec != NULL) { + return; + } +#ifndef USE_ECMULT_STATIC_PRECOMPUTATION + ctx->prec = (secp256k1_ge_storage (*)[64][16])checked_malloc(cb, sizeof(*ctx->prec)); + + /* get the generator */ + secp256k1_gej_set_ge(&gj, &secp256k1_ge_const_g); + + /* Construct a group element with no known corresponding scalar (nothing up my sleeve). */ + { + static const unsigned char nums_b32[33] = "The scalar for this x is unknown"; + secp256k1_fe nums_x; + secp256k1_ge nums_ge; + int r; + r = secp256k1_fe_set_b32(&nums_x, nums_b32); + (void)r; + VERIFY_CHECK(r); + r = secp256k1_ge_set_xo_var(&nums_ge, &nums_x, 0); + (void)r; + VERIFY_CHECK(r); + secp256k1_gej_set_ge(&nums_gej, &nums_ge); + /* Add G to make the bits in x uniformly distributed. */ + secp256k1_gej_add_ge_var(&nums_gej, &nums_gej, &secp256k1_ge_const_g, NULL); + } + + /* compute prec. */ + { + secp256k1_gej precj[1024]; /* Jacobian versions of prec. */ + secp256k1_gej gbase; + secp256k1_gej numsbase; + gbase = gj; /* 16^j * G */ + numsbase = nums_gej; /* 2^j * nums. */ + for (j = 0; j < 64; j++) { + /* Set precj[j*16 .. j*16+15] to (numsbase, numsbase + gbase, ..., numsbase + 15*gbase). */ + precj[j*16] = numsbase; + for (i = 1; i < 16; i++) { + secp256k1_gej_add_var(&precj[j*16 + i], &precj[j*16 + i - 1], &gbase, NULL); + } + /* Multiply gbase by 16. */ + for (i = 0; i < 4; i++) { + secp256k1_gej_double_var(&gbase, &gbase, NULL); + } + /* Multiply numbase by 2. */ + secp256k1_gej_double_var(&numsbase, &numsbase, NULL); + if (j == 62) { + /* In the last iteration, numsbase is (1 - 2^j) * nums instead. */ + secp256k1_gej_neg(&numsbase, &numsbase); + secp256k1_gej_add_var(&numsbase, &numsbase, &nums_gej, NULL); + } + } + secp256k1_ge_set_all_gej_var(prec, precj, 1024, cb); + } + for (j = 0; j < 64; j++) { + for (i = 0; i < 16; i++) { + secp256k1_ge_to_storage(&(*ctx->prec)[j][i], &prec[j*16 + i]); + } + } +#else + (void)cb; + ctx->prec = (secp256k1_ge_storage (*)[64][16])secp256k1_ecmult_static_context; +#endif + secp256k1_ecmult_gen_blind(ctx, NULL); +} + +static int secp256k1_ecmult_gen_context_is_built(const secp256k1_ecmult_gen_context* ctx) { + return ctx->prec != NULL; +} + +static void secp256k1_ecmult_gen_context_clone(secp256k1_ecmult_gen_context *dst, + const secp256k1_ecmult_gen_context *src, const secp256k1_callback* cb) { + if (src->prec == NULL) { + dst->prec = NULL; + } else { +#ifndef USE_ECMULT_STATIC_PRECOMPUTATION + dst->prec = (secp256k1_ge_storage (*)[64][16])checked_malloc(cb, sizeof(*dst->prec)); + memcpy(dst->prec, src->prec, sizeof(*dst->prec)); +#else + (void)cb; + dst->prec = src->prec; +#endif + dst->initial = src->initial; + dst->blind = src->blind; + } +} + +static void secp256k1_ecmult_gen_context_clear(secp256k1_ecmult_gen_context *ctx) { +#ifndef USE_ECMULT_STATIC_PRECOMPUTATION + free(ctx->prec); +#endif + secp256k1_scalar_clear(&ctx->blind); + secp256k1_gej_clear(&ctx->initial); + ctx->prec = NULL; +} + +static void secp256k1_ecmult_gen(const secp256k1_ecmult_gen_context *ctx, secp256k1_gej *r, const secp256k1_scalar *gn) { + secp256k1_ge add; + secp256k1_ge_storage adds; + secp256k1_scalar gnb; + int bits; + int i, j; + memset(&adds, 0, sizeof(adds)); + *r = ctx->initial; + /* Blind scalar/point multiplication by computing (n-b)G + bG instead of nG. */ + secp256k1_scalar_add(&gnb, gn, &ctx->blind); + add.infinity = 0; + for (j = 0; j < 64; j++) { + bits = secp256k1_scalar_get_bits(&gnb, j * 4, 4); + for (i = 0; i < 16; i++) { + /** This uses a conditional move to avoid any secret data in array indexes. + * _Any_ use of secret indexes has been demonstrated to result in timing + * sidechannels, even when the cache-line access patterns are uniform. + * See also: + * "A word of warning", CHES 2013 Rump Session, by Daniel J. Bernstein and Peter Schwabe + * (https://cryptojedi.org/peter/data/chesrump-20130822.pdf) and + * "Cache Attacks and Countermeasures: the Case of AES", RSA 2006, + * by Dag Arne Osvik, Adi Shamir, and Eran Tromer + * (http://www.tau.ac.il/~tromer/papers/cache.pdf) + */ + secp256k1_ge_storage_cmov(&adds, &(*ctx->prec)[j][i], i == bits); + } + secp256k1_ge_from_storage(&add, &adds); + secp256k1_gej_add_ge(r, r, &add); + } + bits = 0; + secp256k1_ge_clear(&add); + secp256k1_scalar_clear(&gnb); +} + +/* Setup blinding values for secp256k1_ecmult_gen. */ +static void secp256k1_ecmult_gen_blind(secp256k1_ecmult_gen_context *ctx, const unsigned char *seed32) { + secp256k1_scalar b; + secp256k1_gej gb; + secp256k1_fe s; + unsigned char nonce32[32]; + secp256k1_rfc6979_hmac_sha256 rng; + int retry; + unsigned char keydata[64] = {0}; + if (seed32 == NULL) { + /* When seed is NULL, reset the initial point and blinding value. */ + secp256k1_gej_set_ge(&ctx->initial, &secp256k1_ge_const_g); + secp256k1_gej_neg(&ctx->initial, &ctx->initial); + secp256k1_scalar_set_int(&ctx->blind, 1); + } + /* The prior blinding value (if not reset) is chained forward by including it in the hash. */ + secp256k1_scalar_get_b32(nonce32, &ctx->blind); + /** Using a CSPRNG allows a failure free interface, avoids needing large amounts of random data, + * and guards against weak or adversarial seeds. This is a simpler and safer interface than + * asking the caller for blinding values directly and expecting them to retry on failure. + */ + memcpy(keydata, nonce32, 32); + if (seed32 != NULL) { + memcpy(keydata + 32, seed32, 32); + } + secp256k1_rfc6979_hmac_sha256_initialize(&rng, keydata, seed32 ? 64 : 32); + memset(keydata, 0, sizeof(keydata)); + /* Retry for out of range results to achieve uniformity. */ + do { + secp256k1_rfc6979_hmac_sha256_generate(&rng, nonce32, 32); + retry = !secp256k1_fe_set_b32(&s, nonce32); + retry |= secp256k1_fe_is_zero(&s); + } while (retry); /* This branch true is cryptographically unreachable. Requires sha256_hmac output > Fp. */ + /* Randomize the projection to defend against multiplier sidechannels. */ + secp256k1_gej_rescale(&ctx->initial, &s); + secp256k1_fe_clear(&s); + do { + secp256k1_rfc6979_hmac_sha256_generate(&rng, nonce32, 32); + secp256k1_scalar_set_b32(&b, nonce32, &retry); + /* A blinding value of 0 works, but would undermine the projection hardening. */ + retry |= secp256k1_scalar_is_zero(&b); + } while (retry); /* This branch true is cryptographically unreachable. Requires sha256_hmac output > order. */ + secp256k1_rfc6979_hmac_sha256_finalize(&rng); + memset(nonce32, 0, 32); + secp256k1_ecmult_gen(ctx, &gb, &b); + secp256k1_scalar_negate(&b, &b); + ctx->blind = b; + ctx->initial = gb; + secp256k1_scalar_clear(&b); + secp256k1_gej_clear(&gb); +} + +#endif /* SECP256K1_ECMULT_GEN_IMPL_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_impl.h new file mode 100644 index 000000000..d5fb6c5b6 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/ecmult_impl.h @@ -0,0 +1,1027 @@ +/***************************************************************************** + * Copyright (c) 2013, 2014, 2017 Pieter Wuille, Andrew Poelstra, Jonas Nick * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php. * + *****************************************************************************/ + +#ifndef SECP256K1_ECMULT_IMPL_H +#define SECP256K1_ECMULT_IMPL_H + +#include +#include + +#include "group.h" +#include "scalar.h" +#include "ecmult.h" + +#if defined(EXHAUSTIVE_TEST_ORDER) +/* We need to lower these values for exhaustive tests because + * the tables cannot have infinities in them (this breaks the + * affine-isomorphism stuff which tracks z-ratios) */ +# if EXHAUSTIVE_TEST_ORDER > 128 +# define WINDOW_A 5 +# define WINDOW_G 8 +# elif EXHAUSTIVE_TEST_ORDER > 8 +# define WINDOW_A 4 +# define WINDOW_G 4 +# else +# define WINDOW_A 2 +# define WINDOW_G 2 +# endif +#else +/* optimal for 128-bit and 256-bit exponents. */ +#define WINDOW_A 5 +/** larger numbers may result in slightly better performance, at the cost of + exponentially larger precomputed tables. */ +#ifdef USE_ENDOMORPHISM +/** Two tables for window size 15: 1.375 MiB. */ +#define WINDOW_G 15 +#else +/** One table for window size 16: 1.375 MiB. */ +#define WINDOW_G 16 +#endif +#endif + +#ifdef USE_ENDOMORPHISM + #define WNAF_BITS 128 +#else + #define WNAF_BITS 256 +#endif +#define WNAF_SIZE_BITS(bits, w) (((bits) + (w) - 1) / (w)) +#define WNAF_SIZE(w) WNAF_SIZE_BITS(WNAF_BITS, w) + +/** The number of entries a table with precomputed multiples needs to have. */ +#define ECMULT_TABLE_SIZE(w) (1 << ((w)-2)) + +/* The number of objects allocated on the scratch space for ecmult_multi algorithms */ +#define PIPPENGER_SCRATCH_OBJECTS 6 +#define STRAUSS_SCRATCH_OBJECTS 6 + +#define PIPPENGER_MAX_BUCKET_WINDOW 12 + +/* Minimum number of points for which pippenger_wnaf is faster than strauss wnaf */ +#ifdef USE_ENDOMORPHISM + #define ECMULT_PIPPENGER_THRESHOLD 88 +#else + #define ECMULT_PIPPENGER_THRESHOLD 160 +#endif + +#ifdef USE_ENDOMORPHISM + #define ECMULT_MAX_POINTS_PER_BATCH 5000000 +#else + #define ECMULT_MAX_POINTS_PER_BATCH 10000000 +#endif + +/** Fill a table 'prej' with precomputed odd multiples of a. Prej will contain + * the values [1*a,3*a,...,(2*n-1)*a], so it space for n values. zr[0] will + * contain prej[0].z / a.z. The other zr[i] values = prej[i].z / prej[i-1].z. + * Prej's Z values are undefined, except for the last value. + */ +static void secp256k1_ecmult_odd_multiples_table(int n, secp256k1_gej *prej, secp256k1_fe *zr, const secp256k1_gej *a) { + secp256k1_gej d; + secp256k1_ge a_ge, d_ge; + int i; + + VERIFY_CHECK(!a->infinity); + + secp256k1_gej_double_var(&d, a, NULL); + + /* + * Perform the additions on an isomorphism where 'd' is affine: drop the z coordinate + * of 'd', and scale the 1P starting value's x/y coordinates without changing its z. + */ + d_ge.x = d.x; + d_ge.y = d.y; + d_ge.infinity = 0; + + secp256k1_ge_set_gej_zinv(&a_ge, a, &d.z); + prej[0].x = a_ge.x; + prej[0].y = a_ge.y; + prej[0].z = a->z; + prej[0].infinity = 0; + + zr[0] = d.z; + for (i = 1; i < n; i++) { + secp256k1_gej_add_ge_var(&prej[i], &prej[i-1], &d_ge, &zr[i]); + } + + /* + * Each point in 'prej' has a z coordinate too small by a factor of 'd.z'. Only + * the final point's z coordinate is actually used though, so just update that. + */ + secp256k1_fe_mul(&prej[n-1].z, &prej[n-1].z, &d.z); +} + +/** Fill a table 'pre' with precomputed odd multiples of a. + * + * There are two versions of this function: + * - secp256k1_ecmult_odd_multiples_table_globalz_windowa which brings its + * resulting point set to a single constant Z denominator, stores the X and Y + * coordinates as ge_storage points in pre, and stores the global Z in rz. + * It only operates on tables sized for WINDOW_A wnaf multiples. + * - secp256k1_ecmult_odd_multiples_table_storage_var, which converts its + * resulting point set to actually affine points, and stores those in pre. + * It operates on tables of any size, but uses heap-allocated temporaries. + * + * To compute a*P + b*G, we compute a table for P using the first function, + * and for G using the second (which requires an inverse, but it only needs to + * happen once). + */ +static void secp256k1_ecmult_odd_multiples_table_globalz_windowa(secp256k1_ge *pre, secp256k1_fe *globalz, const secp256k1_gej *a) { + secp256k1_gej prej[ECMULT_TABLE_SIZE(WINDOW_A)]; + secp256k1_fe zr[ECMULT_TABLE_SIZE(WINDOW_A)]; + + /* Compute the odd multiples in Jacobian form. */ + secp256k1_ecmult_odd_multiples_table(ECMULT_TABLE_SIZE(WINDOW_A), prej, zr, a); + /* Bring them to the same Z denominator. */ + secp256k1_ge_globalz_set_table_gej(ECMULT_TABLE_SIZE(WINDOW_A), pre, globalz, prej, zr); +} + +static void secp256k1_ecmult_odd_multiples_table_storage_var(int n, secp256k1_ge_storage *pre, const secp256k1_gej *a, const secp256k1_callback *cb) { + secp256k1_gej *prej = (secp256k1_gej*)checked_malloc(cb, sizeof(secp256k1_gej) * n); + secp256k1_ge *prea = (secp256k1_ge*)checked_malloc(cb, sizeof(secp256k1_ge) * n); + secp256k1_fe *zr = (secp256k1_fe*)checked_malloc(cb, sizeof(secp256k1_fe) * n); + int i; + + /* Compute the odd multiples in Jacobian form. */ + secp256k1_ecmult_odd_multiples_table(n, prej, zr, a); + /* Convert them in batch to affine coordinates. */ + secp256k1_ge_set_table_gej_var(prea, prej, zr, n); + /* Convert them to compact storage form. */ + for (i = 0; i < n; i++) { + secp256k1_ge_to_storage(&pre[i], &prea[i]); + } + + free(prea); + free(prej); + free(zr); +} + +/** The following two macro retrieves a particular odd multiple from a table + * of precomputed multiples. */ +#define ECMULT_TABLE_GET_GE(r,pre,n,w) do { \ + VERIFY_CHECK(((n) & 1) == 1); \ + VERIFY_CHECK((n) >= -((1 << ((w)-1)) - 1)); \ + VERIFY_CHECK((n) <= ((1 << ((w)-1)) - 1)); \ + if ((n) > 0) { \ + *(r) = (pre)[((n)-1)/2]; \ + } else { \ + secp256k1_ge_neg((r), &(pre)[(-(n)-1)/2]); \ + } \ +} while(0) + +#define ECMULT_TABLE_GET_GE_STORAGE(r,pre,n,w) do { \ + VERIFY_CHECK(((n) & 1) == 1); \ + VERIFY_CHECK((n) >= -((1 << ((w)-1)) - 1)); \ + VERIFY_CHECK((n) <= ((1 << ((w)-1)) - 1)); \ + if ((n) > 0) { \ + secp256k1_ge_from_storage((r), &(pre)[((n)-1)/2]); \ + } else { \ + secp256k1_ge_from_storage((r), &(pre)[(-(n)-1)/2]); \ + secp256k1_ge_neg((r), (r)); \ + } \ +} while(0) + +static void secp256k1_ecmult_context_init(secp256k1_ecmult_context *ctx) { + ctx->pre_g = NULL; +#ifdef USE_ENDOMORPHISM + ctx->pre_g_128 = NULL; +#endif +} + +static void secp256k1_ecmult_context_build(secp256k1_ecmult_context *ctx, const secp256k1_callback *cb) { + secp256k1_gej gj; + + if (ctx->pre_g != NULL) { + return; + } + + /* get the generator */ + secp256k1_gej_set_ge(&gj, &secp256k1_ge_const_g); + + ctx->pre_g = (secp256k1_ge_storage (*)[])checked_malloc(cb, sizeof((*ctx->pre_g)[0]) * ECMULT_TABLE_SIZE(WINDOW_G)); + + /* precompute the tables with odd multiples */ + secp256k1_ecmult_odd_multiples_table_storage_var(ECMULT_TABLE_SIZE(WINDOW_G), *ctx->pre_g, &gj, cb); + +#ifdef USE_ENDOMORPHISM + { + secp256k1_gej g_128j; + int i; + + ctx->pre_g_128 = (secp256k1_ge_storage (*)[])checked_malloc(cb, sizeof((*ctx->pre_g_128)[0]) * ECMULT_TABLE_SIZE(WINDOW_G)); + + /* calculate 2^128*generator */ + g_128j = gj; + for (i = 0; i < 128; i++) { + secp256k1_gej_double_var(&g_128j, &g_128j, NULL); + } + secp256k1_ecmult_odd_multiples_table_storage_var(ECMULT_TABLE_SIZE(WINDOW_G), *ctx->pre_g_128, &g_128j, cb); + } +#endif +} + +static void secp256k1_ecmult_context_clone(secp256k1_ecmult_context *dst, + const secp256k1_ecmult_context *src, const secp256k1_callback *cb) { + if (src->pre_g == NULL) { + dst->pre_g = NULL; + } else { + size_t size = sizeof((*dst->pre_g)[0]) * ECMULT_TABLE_SIZE(WINDOW_G); + dst->pre_g = (secp256k1_ge_storage (*)[])checked_malloc(cb, size); + memcpy(dst->pre_g, src->pre_g, size); + } +#ifdef USE_ENDOMORPHISM + if (src->pre_g_128 == NULL) { + dst->pre_g_128 = NULL; + } else { + size_t size = sizeof((*dst->pre_g_128)[0]) * ECMULT_TABLE_SIZE(WINDOW_G); + dst->pre_g_128 = (secp256k1_ge_storage (*)[])checked_malloc(cb, size); + memcpy(dst->pre_g_128, src->pre_g_128, size); + } +#endif +} + +static int secp256k1_ecmult_context_is_built(const secp256k1_ecmult_context *ctx) { + return ctx->pre_g != NULL; +} + +static void secp256k1_ecmult_context_clear(secp256k1_ecmult_context *ctx) { + free(ctx->pre_g); +#ifdef USE_ENDOMORPHISM + free(ctx->pre_g_128); +#endif + secp256k1_ecmult_context_init(ctx); +} + +/** Convert a number to WNAF notation. The number becomes represented by sum(2^i * wnaf[i], i=0..bits), + * with the following guarantees: + * - each wnaf[i] is either 0, or an odd integer between -(1<<(w-1) - 1) and (1<<(w-1) - 1) + * - two non-zero entries in wnaf are separated by at least w-1 zeroes. + * - the number of set values in wnaf is returned. This number is at most 256, and at most one more + * than the number of bits in the (absolute value) of the input. + */ +static int secp256k1_ecmult_wnaf(int *wnaf, int len, const secp256k1_scalar *a, int w) { + secp256k1_scalar s = *a; + int last_set_bit = -1; + int bit = 0; + int sign = 1; + int carry = 0; + + VERIFY_CHECK(wnaf != NULL); + VERIFY_CHECK(0 <= len && len <= 256); + VERIFY_CHECK(a != NULL); + VERIFY_CHECK(2 <= w && w <= 31); + + memset(wnaf, 0, len * sizeof(wnaf[0])); + + if (secp256k1_scalar_get_bits(&s, 255, 1)) { + secp256k1_scalar_negate(&s, &s); + sign = -1; + } + + while (bit < len) { + int now; + int word; + if (secp256k1_scalar_get_bits(&s, bit, 1) == (unsigned int)carry) { + bit++; + continue; + } + + now = w; + if (now > len - bit) { + now = len - bit; + } + + word = secp256k1_scalar_get_bits_var(&s, bit, now) + carry; + + carry = (word >> (w-1)) & 1; + word -= carry << w; + + wnaf[bit] = sign * word; + last_set_bit = bit; + + bit += now; + } +#ifdef VERIFY + CHECK(carry == 0); + while (bit < 256) { + CHECK(secp256k1_scalar_get_bits(&s, bit++, 1) == 0); + } +#endif + return last_set_bit + 1; +} + +struct secp256k1_strauss_point_state { +#ifdef USE_ENDOMORPHISM + secp256k1_scalar na_1, na_lam; + int wnaf_na_1[130]; + int wnaf_na_lam[130]; + int bits_na_1; + int bits_na_lam; +#else + int wnaf_na[256]; + int bits_na; +#endif + size_t input_pos; +}; + +struct secp256k1_strauss_state { + secp256k1_gej* prej; + secp256k1_fe* zr; + secp256k1_ge* pre_a; +#ifdef USE_ENDOMORPHISM + secp256k1_ge* pre_a_lam; +#endif + struct secp256k1_strauss_point_state* ps; +}; + +static void secp256k1_ecmult_strauss_wnaf(const secp256k1_ecmult_context *ctx, const struct secp256k1_strauss_state *state, secp256k1_gej *r, int num, const secp256k1_gej *a, const secp256k1_scalar *na, const secp256k1_scalar *ng) { + secp256k1_ge tmpa; + secp256k1_fe Z; +#ifdef USE_ENDOMORPHISM + /* Splitted G factors. */ + secp256k1_scalar ng_1, ng_128; + int wnaf_ng_1[129]; + int bits_ng_1 = 0; + int wnaf_ng_128[129]; + int bits_ng_128 = 0; +#else + int wnaf_ng[256]; + int bits_ng = 0; +#endif + int i; + int bits = 0; + int np; + int no = 0; + + for (np = 0; np < num; ++np) { + if (secp256k1_scalar_is_zero(&na[np]) || secp256k1_gej_is_infinity(&a[np])) { + continue; + } + state->ps[no].input_pos = np; +#ifdef USE_ENDOMORPHISM + /* split na into na_1 and na_lam (where na = na_1 + na_lam*lambda, and na_1 and na_lam are ~128 bit) */ + secp256k1_scalar_split_lambda(&state->ps[no].na_1, &state->ps[no].na_lam, &na[np]); + + /* build wnaf representation for na_1 and na_lam. */ + state->ps[no].bits_na_1 = secp256k1_ecmult_wnaf(state->ps[no].wnaf_na_1, 130, &state->ps[no].na_1, WINDOW_A); + state->ps[no].bits_na_lam = secp256k1_ecmult_wnaf(state->ps[no].wnaf_na_lam, 130, &state->ps[no].na_lam, WINDOW_A); + VERIFY_CHECK(state->ps[no].bits_na_1 <= 130); + VERIFY_CHECK(state->ps[no].bits_na_lam <= 130); + if (state->ps[no].bits_na_1 > bits) { + bits = state->ps[no].bits_na_1; + } + if (state->ps[no].bits_na_lam > bits) { + bits = state->ps[no].bits_na_lam; + } +#else + /* build wnaf representation for na. */ + state->ps[no].bits_na = secp256k1_ecmult_wnaf(state->ps[no].wnaf_na, 256, &na[np], WINDOW_A); + if (state->ps[no].bits_na > bits) { + bits = state->ps[no].bits_na; + } +#endif + ++no; + } + + /* Calculate odd multiples of a. + * All multiples are brought to the same Z 'denominator', which is stored + * in Z. Due to secp256k1' isomorphism we can do all operations pretending + * that the Z coordinate was 1, use affine addition formulae, and correct + * the Z coordinate of the result once at the end. + * The exception is the precomputed G table points, which are actually + * affine. Compared to the base used for other points, they have a Z ratio + * of 1/Z, so we can use secp256k1_gej_add_zinv_var, which uses the same + * isomorphism to efficiently add with a known Z inverse. + */ + if (no > 0) { + /* Compute the odd multiples in Jacobian form. */ + secp256k1_ecmult_odd_multiples_table(ECMULT_TABLE_SIZE(WINDOW_A), state->prej, state->zr, &a[state->ps[0].input_pos]); + for (np = 1; np < no; ++np) { + secp256k1_gej tmp = a[state->ps[np].input_pos]; +#ifdef VERIFY + secp256k1_fe_normalize_var(&(state->prej[(np - 1) * ECMULT_TABLE_SIZE(WINDOW_A) + ECMULT_TABLE_SIZE(WINDOW_A) - 1].z)); +#endif + secp256k1_gej_rescale(&tmp, &(state->prej[(np - 1) * ECMULT_TABLE_SIZE(WINDOW_A) + ECMULT_TABLE_SIZE(WINDOW_A) - 1].z)); + secp256k1_ecmult_odd_multiples_table(ECMULT_TABLE_SIZE(WINDOW_A), state->prej + np * ECMULT_TABLE_SIZE(WINDOW_A), state->zr + np * ECMULT_TABLE_SIZE(WINDOW_A), &tmp); + secp256k1_fe_mul(state->zr + np * ECMULT_TABLE_SIZE(WINDOW_A), state->zr + np * ECMULT_TABLE_SIZE(WINDOW_A), &(a[state->ps[np].input_pos].z)); + } + /* Bring them to the same Z denominator. */ + secp256k1_ge_globalz_set_table_gej(ECMULT_TABLE_SIZE(WINDOW_A) * no, state->pre_a, &Z, state->prej, state->zr); + } else { + secp256k1_fe_set_int(&Z, 1); + } + +#ifdef USE_ENDOMORPHISM + for (np = 0; np < no; ++np) { + for (i = 0; i < ECMULT_TABLE_SIZE(WINDOW_A); i++) { + secp256k1_ge_mul_lambda(&state->pre_a_lam[np * ECMULT_TABLE_SIZE(WINDOW_A) + i], &state->pre_a[np * ECMULT_TABLE_SIZE(WINDOW_A) + i]); + } + } + + if (ng) { + /* split ng into ng_1 and ng_128 (where gn = gn_1 + gn_128*2^128, and gn_1 and gn_128 are ~128 bit) */ + secp256k1_scalar_split_128(&ng_1, &ng_128, ng); + + /* Build wnaf representation for ng_1 and ng_128 */ + bits_ng_1 = secp256k1_ecmult_wnaf(wnaf_ng_1, 129, &ng_1, WINDOW_G); + bits_ng_128 = secp256k1_ecmult_wnaf(wnaf_ng_128, 129, &ng_128, WINDOW_G); + if (bits_ng_1 > bits) { + bits = bits_ng_1; + } + if (bits_ng_128 > bits) { + bits = bits_ng_128; + } + } +#else + if (ng) { + bits_ng = secp256k1_ecmult_wnaf(wnaf_ng, 256, ng, WINDOW_G); + if (bits_ng > bits) { + bits = bits_ng; + } + } +#endif + + secp256k1_gej_set_infinity(r); + + for (i = bits - 1; i >= 0; i--) { + int n; + secp256k1_gej_double_var(r, r, NULL); +#ifdef USE_ENDOMORPHISM + for (np = 0; np < no; ++np) { + if (i < state->ps[np].bits_na_1 && (n = state->ps[np].wnaf_na_1[i])) { + ECMULT_TABLE_GET_GE(&tmpa, state->pre_a + np * ECMULT_TABLE_SIZE(WINDOW_A), n, WINDOW_A); + secp256k1_gej_add_ge_var(r, r, &tmpa, NULL); + } + if (i < state->ps[np].bits_na_lam && (n = state->ps[np].wnaf_na_lam[i])) { + ECMULT_TABLE_GET_GE(&tmpa, state->pre_a_lam + np * ECMULT_TABLE_SIZE(WINDOW_A), n, WINDOW_A); + secp256k1_gej_add_ge_var(r, r, &tmpa, NULL); + } + } + if (i < bits_ng_1 && (n = wnaf_ng_1[i])) { + ECMULT_TABLE_GET_GE_STORAGE(&tmpa, *ctx->pre_g, n, WINDOW_G); + secp256k1_gej_add_zinv_var(r, r, &tmpa, &Z); + } + if (i < bits_ng_128 && (n = wnaf_ng_128[i])) { + ECMULT_TABLE_GET_GE_STORAGE(&tmpa, *ctx->pre_g_128, n, WINDOW_G); + secp256k1_gej_add_zinv_var(r, r, &tmpa, &Z); + } +#else + for (np = 0; np < no; ++np) { + if (i < state->ps[np].bits_na && (n = state->ps[np].wnaf_na[i])) { + ECMULT_TABLE_GET_GE(&tmpa, state->pre_a + np * ECMULT_TABLE_SIZE(WINDOW_A), n, WINDOW_A); + secp256k1_gej_add_ge_var(r, r, &tmpa, NULL); + } + } + if (i < bits_ng && (n = wnaf_ng[i])) { + ECMULT_TABLE_GET_GE_STORAGE(&tmpa, *ctx->pre_g, n, WINDOW_G); + secp256k1_gej_add_zinv_var(r, r, &tmpa, &Z); + } +#endif + } + + if (!r->infinity) { + secp256k1_fe_mul(&r->z, &r->z, &Z); + } +} + +static void secp256k1_ecmult(const secp256k1_ecmult_context *ctx, secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_scalar *na, const secp256k1_scalar *ng) { + secp256k1_gej prej[ECMULT_TABLE_SIZE(WINDOW_A)]; + secp256k1_fe zr[ECMULT_TABLE_SIZE(WINDOW_A)]; + secp256k1_ge pre_a[ECMULT_TABLE_SIZE(WINDOW_A)]; + struct secp256k1_strauss_point_state ps[1]; +#ifdef USE_ENDOMORPHISM + secp256k1_ge pre_a_lam[ECMULT_TABLE_SIZE(WINDOW_A)]; +#endif + struct secp256k1_strauss_state state; + + state.prej = prej; + state.zr = zr; + state.pre_a = pre_a; +#ifdef USE_ENDOMORPHISM + state.pre_a_lam = pre_a_lam; +#endif + state.ps = ps; + secp256k1_ecmult_strauss_wnaf(ctx, &state, r, 1, a, na, ng); +} + +static size_t secp256k1_strauss_scratch_size(size_t n_points) { +#ifdef USE_ENDOMORPHISM + static const size_t point_size = (2 * sizeof(secp256k1_ge) + sizeof(secp256k1_gej) + sizeof(secp256k1_fe)) * ECMULT_TABLE_SIZE(WINDOW_A) + sizeof(struct secp256k1_strauss_point_state) + sizeof(secp256k1_gej) + sizeof(secp256k1_scalar); +#else + static const size_t point_size = (sizeof(secp256k1_ge) + sizeof(secp256k1_gej) + sizeof(secp256k1_fe)) * ECMULT_TABLE_SIZE(WINDOW_A) + sizeof(struct secp256k1_strauss_point_state) + sizeof(secp256k1_gej) + sizeof(secp256k1_scalar); +#endif + return n_points*point_size; +} + +static int secp256k1_ecmult_strauss_batch(const secp256k1_ecmult_context *ctx, secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n_points, size_t cb_offset) { + secp256k1_gej* points; + secp256k1_scalar* scalars; + struct secp256k1_strauss_state state; + size_t i; + + secp256k1_gej_set_infinity(r); + if (inp_g_sc == NULL && n_points == 0) { + return 1; + } + + if (!secp256k1_scratch_allocate_frame(scratch, secp256k1_strauss_scratch_size(n_points), STRAUSS_SCRATCH_OBJECTS)) { + return 0; + } + points = (secp256k1_gej*)secp256k1_scratch_alloc(scratch, n_points * sizeof(secp256k1_gej)); + scalars = (secp256k1_scalar*)secp256k1_scratch_alloc(scratch, n_points * sizeof(secp256k1_scalar)); + state.prej = (secp256k1_gej*)secp256k1_scratch_alloc(scratch, n_points * ECMULT_TABLE_SIZE(WINDOW_A) * sizeof(secp256k1_gej)); + state.zr = (secp256k1_fe*)secp256k1_scratch_alloc(scratch, n_points * ECMULT_TABLE_SIZE(WINDOW_A) * sizeof(secp256k1_fe)); +#ifdef USE_ENDOMORPHISM + state.pre_a = (secp256k1_ge*)secp256k1_scratch_alloc(scratch, n_points * 2 * ECMULT_TABLE_SIZE(WINDOW_A) * sizeof(secp256k1_ge)); + state.pre_a_lam = state.pre_a + n_points * ECMULT_TABLE_SIZE(WINDOW_A); +#else + state.pre_a = (secp256k1_ge*)secp256k1_scratch_alloc(scratch, n_points * ECMULT_TABLE_SIZE(WINDOW_A) * sizeof(secp256k1_ge)); +#endif + state.ps = (struct secp256k1_strauss_point_state*)secp256k1_scratch_alloc(scratch, n_points * sizeof(struct secp256k1_strauss_point_state)); + + for (i = 0; i < n_points; i++) { + secp256k1_ge point; + if (!cb(&scalars[i], &point, i+cb_offset, cbdata)) { + secp256k1_scratch_deallocate_frame(scratch); + return 0; + } + secp256k1_gej_set_ge(&points[i], &point); + } + secp256k1_ecmult_strauss_wnaf(ctx, &state, r, n_points, points, scalars, inp_g_sc); + secp256k1_scratch_deallocate_frame(scratch); + return 1; +} + +/* Wrapper for secp256k1_ecmult_multi_func interface */ +static int secp256k1_ecmult_strauss_batch_single(const secp256k1_ecmult_context *actx, secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n) { + return secp256k1_ecmult_strauss_batch(actx, scratch, r, inp_g_sc, cb, cbdata, n, 0); +} + +static size_t secp256k1_strauss_max_points(secp256k1_scratch *scratch) { + return secp256k1_scratch_max_allocation(scratch, STRAUSS_SCRATCH_OBJECTS) / secp256k1_strauss_scratch_size(1); +} + +/** Convert a number to WNAF notation. + * The number becomes represented by sum(2^{wi} * wnaf[i], i=0..WNAF_SIZE(w)+1) - return_val. + * It has the following guarantees: + * - each wnaf[i] is either 0 or an odd integer between -(1 << w) and (1 << w) + * - the number of words set is always WNAF_SIZE(w) + * - the returned skew is 0 or 1 + */ +static int secp256k1_wnaf_fixed(int *wnaf, const secp256k1_scalar *s, int w) { + int skew = 0; + int pos; + int max_pos; + int last_w; + const secp256k1_scalar *work = s; + + if (secp256k1_scalar_is_zero(s)) { + for (pos = 0; pos < WNAF_SIZE(w); pos++) { + wnaf[pos] = 0; + } + return 0; + } + + if (secp256k1_scalar_is_even(s)) { + skew = 1; + } + + wnaf[0] = secp256k1_scalar_get_bits_var(work, 0, w) + skew; + /* Compute last window size. Relevant when window size doesn't divide the + * number of bits in the scalar */ + last_w = WNAF_BITS - (WNAF_SIZE(w) - 1) * w; + + /* Store the position of the first nonzero word in max_pos to allow + * skipping leading zeros when calculating the wnaf. */ + for (pos = WNAF_SIZE(w) - 1; pos > 0; pos--) { + int val = secp256k1_scalar_get_bits_var(work, pos * w, pos == WNAF_SIZE(w)-1 ? last_w : w); + if(val != 0) { + break; + } + wnaf[pos] = 0; + } + max_pos = pos; + pos = 1; + + while (pos <= max_pos) { + int val = secp256k1_scalar_get_bits_var(work, pos * w, pos == WNAF_SIZE(w)-1 ? last_w : w); + if ((val & 1) == 0) { + wnaf[pos - 1] -= (1 << w); + wnaf[pos] = (val + 1); + } else { + wnaf[pos] = val; + } + /* Set a coefficient to zero if it is 1 or -1 and the proceeding digit + * is strictly negative or strictly positive respectively. Only change + * coefficients at previous positions because above code assumes that + * wnaf[pos - 1] is odd. + */ + if (pos >= 2 && ((wnaf[pos - 1] == 1 && wnaf[pos - 2] < 0) || (wnaf[pos - 1] == -1 && wnaf[pos - 2] > 0))) { + if (wnaf[pos - 1] == 1) { + wnaf[pos - 2] += 1 << w; + } else { + wnaf[pos - 2] -= 1 << w; + } + wnaf[pos - 1] = 0; + } + ++pos; + } + + return skew; +} + +struct secp256k1_pippenger_point_state { + int skew_na; + size_t input_pos; +}; + +struct secp256k1_pippenger_state { + int *wnaf_na; + struct secp256k1_pippenger_point_state* ps; +}; + +/* + * pippenger_wnaf computes the result of a multi-point multiplication as + * follows: The scalars are brought into wnaf with n_wnaf elements each. Then + * for every i < n_wnaf, first each point is added to a "bucket" corresponding + * to the point's wnaf[i]. Second, the buckets are added together such that + * r += 1*bucket[0] + 3*bucket[1] + 5*bucket[2] + ... + */ +static int secp256k1_ecmult_pippenger_wnaf(secp256k1_gej *buckets, int bucket_window, struct secp256k1_pippenger_state *state, secp256k1_gej *r, const secp256k1_scalar *sc, const secp256k1_ge *pt, size_t num) { + size_t n_wnaf = WNAF_SIZE(bucket_window+1); + size_t np; + size_t no = 0; + int i; + int j; + + for (np = 0; np < num; ++np) { + if (secp256k1_scalar_is_zero(&sc[np]) || secp256k1_ge_is_infinity(&pt[np])) { + continue; + } + state->ps[no].input_pos = np; + state->ps[no].skew_na = secp256k1_wnaf_fixed(&state->wnaf_na[no*n_wnaf], &sc[np], bucket_window+1); + no++; + } + secp256k1_gej_set_infinity(r); + + if (no == 0) { + return 1; + } + + for (i = n_wnaf - 1; i >= 0; i--) { + secp256k1_gej running_sum; + + for(j = 0; j < ECMULT_TABLE_SIZE(bucket_window+2); j++) { + secp256k1_gej_set_infinity(&buckets[j]); + } + + for (np = 0; np < no; ++np) { + int n = state->wnaf_na[np*n_wnaf + i]; + struct secp256k1_pippenger_point_state point_state = state->ps[np]; + secp256k1_ge tmp; + int idx; + + if (i == 0) { + /* correct for wnaf skew */ + int skew = point_state.skew_na; + if (skew) { + secp256k1_ge_neg(&tmp, &pt[point_state.input_pos]); + secp256k1_gej_add_ge_var(&buckets[0], &buckets[0], &tmp, NULL); + } + } + if (n > 0) { + idx = (n - 1)/2; + secp256k1_gej_add_ge_var(&buckets[idx], &buckets[idx], &pt[point_state.input_pos], NULL); + } else if (n < 0) { + idx = -(n + 1)/2; + secp256k1_ge_neg(&tmp, &pt[point_state.input_pos]); + secp256k1_gej_add_ge_var(&buckets[idx], &buckets[idx], &tmp, NULL); + } + } + + for(j = 0; j < bucket_window; j++) { + secp256k1_gej_double_var(r, r, NULL); + } + + secp256k1_gej_set_infinity(&running_sum); + /* Accumulate the sum: bucket[0] + 3*bucket[1] + 5*bucket[2] + 7*bucket[3] + ... + * = bucket[0] + bucket[1] + bucket[2] + bucket[3] + ... + * + 2 * (bucket[1] + 2*bucket[2] + 3*bucket[3] + ...) + * using an intermediate running sum: + * running_sum = bucket[0] + bucket[1] + bucket[2] + ... + * + * The doubling is done implicitly by deferring the final window doubling (of 'r'). + */ + for(j = ECMULT_TABLE_SIZE(bucket_window+2) - 1; j > 0; j--) { + secp256k1_gej_add_var(&running_sum, &running_sum, &buckets[j], NULL); + secp256k1_gej_add_var(r, r, &running_sum, NULL); + } + + secp256k1_gej_add_var(&running_sum, &running_sum, &buckets[0], NULL); + secp256k1_gej_double_var(r, r, NULL); + secp256k1_gej_add_var(r, r, &running_sum, NULL); + } + return 1; +} + +/** + * Returns optimal bucket_window (number of bits of a scalar represented by a + * set of buckets) for a given number of points. + */ +static int secp256k1_pippenger_bucket_window(size_t n) { +#ifdef USE_ENDOMORPHISM + if (n <= 1) { + return 1; + } else if (n <= 4) { + return 2; + } else if (n <= 20) { + return 3; + } else if (n <= 57) { + return 4; + } else if (n <= 136) { + return 5; + } else if (n <= 235) { + return 6; + } else if (n <= 1260) { + return 7; + } else if (n <= 4420) { + return 9; + } else if (n <= 7880) { + return 10; + } else if (n <= 16050) { + return 11; + } else { + return PIPPENGER_MAX_BUCKET_WINDOW; + } +#else + if (n <= 1) { + return 1; + } else if (n <= 11) { + return 2; + } else if (n <= 45) { + return 3; + } else if (n <= 100) { + return 4; + } else if (n <= 275) { + return 5; + } else if (n <= 625) { + return 6; + } else if (n <= 1850) { + return 7; + } else if (n <= 3400) { + return 8; + } else if (n <= 9630) { + return 9; + } else if (n <= 17900) { + return 10; + } else if (n <= 32800) { + return 11; + } else { + return PIPPENGER_MAX_BUCKET_WINDOW; + } +#endif +} + +/** + * Returns the maximum optimal number of points for a bucket_window. + */ +static size_t secp256k1_pippenger_bucket_window_inv(int bucket_window) { + switch(bucket_window) { +#ifdef USE_ENDOMORPHISM + case 1: return 1; + case 2: return 4; + case 3: return 20; + case 4: return 57; + case 5: return 136; + case 6: return 235; + case 7: return 1260; + case 8: return 1260; + case 9: return 4420; + case 10: return 7880; + case 11: return 16050; + case PIPPENGER_MAX_BUCKET_WINDOW: return SIZE_MAX; +#else + case 1: return 1; + case 2: return 11; + case 3: return 45; + case 4: return 100; + case 5: return 275; + case 6: return 625; + case 7: return 1850; + case 8: return 3400; + case 9: return 9630; + case 10: return 17900; + case 11: return 32800; + case PIPPENGER_MAX_BUCKET_WINDOW: return SIZE_MAX; +#endif + } + return 0; +} + + +#ifdef USE_ENDOMORPHISM +SECP256K1_INLINE static void secp256k1_ecmult_endo_split(secp256k1_scalar *s1, secp256k1_scalar *s2, secp256k1_ge *p1, secp256k1_ge *p2) { + secp256k1_scalar tmp = *s1; + secp256k1_scalar_split_lambda(s1, s2, &tmp); + secp256k1_ge_mul_lambda(p2, p1); + + if (secp256k1_scalar_is_high(s1)) { + secp256k1_scalar_negate(s1, s1); + secp256k1_ge_neg(p1, p1); + } + if (secp256k1_scalar_is_high(s2)) { + secp256k1_scalar_negate(s2, s2); + secp256k1_ge_neg(p2, p2); + } +} +#endif + +/** + * Returns the scratch size required for a given number of points (excluding + * base point G) without considering alignment. + */ +static size_t secp256k1_pippenger_scratch_size(size_t n_points, int bucket_window) { +#ifdef USE_ENDOMORPHISM + size_t entries = 2*n_points + 2; +#else + size_t entries = n_points + 1; +#endif + size_t entry_size = sizeof(secp256k1_ge) + sizeof(secp256k1_scalar) + sizeof(struct secp256k1_pippenger_point_state) + (WNAF_SIZE(bucket_window+1)+1)*sizeof(int); + return ((1<ps = (struct secp256k1_pippenger_point_state *) secp256k1_scratch_alloc(scratch, entries * sizeof(*state_space->ps)); + state_space->wnaf_na = (int *) secp256k1_scratch_alloc(scratch, entries*(WNAF_SIZE(bucket_window+1)) * sizeof(int)); + buckets = (secp256k1_gej *) secp256k1_scratch_alloc(scratch, (1<ps[i].skew_na = 0; + for(j = 0; j < WNAF_SIZE(bucket_window+1); j++) { + state_space->wnaf_na[i * WNAF_SIZE(bucket_window+1) + j] = 0; + } + } + for(i = 0; i < 1< max_alloc) { + break; + } + space_for_points = max_alloc - space_overhead; + + n_points = space_for_points/entry_size; + n_points = n_points > max_points ? max_points : n_points; + if (n_points > res) { + res = n_points; + } + if (n_points < max_points) { + /* A larger bucket_window may support even more points. But if we + * would choose that then the caller couldn't safely use any number + * smaller than what this function returns */ + break; + } + } + return res; +} + +typedef int (*secp256k1_ecmult_multi_func)(const secp256k1_ecmult_context*, secp256k1_scratch*, secp256k1_gej*, const secp256k1_scalar*, secp256k1_ecmult_multi_callback cb, void*, size_t); +static int secp256k1_ecmult_multi_var(const secp256k1_ecmult_context *ctx, secp256k1_scratch *scratch, secp256k1_gej *r, const secp256k1_scalar *inp_g_sc, secp256k1_ecmult_multi_callback cb, void *cbdata, size_t n) { + size_t i; + + int (*f)(const secp256k1_ecmult_context*, secp256k1_scratch*, secp256k1_gej*, const secp256k1_scalar*, secp256k1_ecmult_multi_callback cb, void*, size_t, size_t); + size_t max_points; + size_t n_batches; + size_t n_batch_points; + + secp256k1_gej_set_infinity(r); + if (inp_g_sc == NULL && n == 0) { + return 1; + } else if (n == 0) { + secp256k1_scalar szero; + secp256k1_scalar_set_int(&szero, 0); + secp256k1_ecmult(ctx, r, r, &szero, inp_g_sc); + return 1; + } + + max_points = secp256k1_pippenger_max_points(scratch); + if (max_points == 0) { + return 0; + } else if (max_points > ECMULT_MAX_POINTS_PER_BATCH) { + max_points = ECMULT_MAX_POINTS_PER_BATCH; + } + n_batches = (n+max_points-1)/max_points; + n_batch_points = (n+n_batches-1)/n_batches; + + if (n_batch_points >= ECMULT_PIPPENGER_THRESHOLD) { + f = secp256k1_ecmult_pippenger_batch; + } else { + max_points = secp256k1_strauss_max_points(scratch); + if (max_points == 0) { + return 0; + } + n_batches = (n+max_points-1)/max_points; + n_batch_points = (n+n_batches-1)/n_batches; + f = secp256k1_ecmult_strauss_batch; + } + for(i = 0; i < n_batches; i++) { + size_t nbp = n < n_batch_points ? n : n_batch_points; + size_t offset = n_batch_points*i; + secp256k1_gej tmp; + if (!f(ctx, scratch, &tmp, i == 0 ? inp_g_sc : NULL, cb, cbdata, nbp, offset)) { + return 0; + } + secp256k1_gej_add_var(r, r, &tmp, NULL); + n -= nbp; + } + return 1; +} + +#endif /* SECP256K1_ECMULT_IMPL_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/field.h b/Pods/secp256k1_swift/Classes/secp256k1/src/field.h new file mode 100644 index 000000000..bb6692ad5 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/field.h @@ -0,0 +1,132 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_FIELD_H +#define SECP256K1_FIELD_H + +/** Field element module. + * + * Field elements can be represented in several ways, but code accessing + * it (and implementations) need to take certain properties into account: + * - Each field element can be normalized or not. + * - Each field element has a magnitude, which represents how far away + * its representation is away from normalization. Normalized elements + * always have a magnitude of 1, but a magnitude of 1 doesn't imply + * normality. + */ + +#if defined HAVE_CONFIG_H +#include "libsecp256k1-config.h" +#endif + +#if defined(USE_FIELD_10X26) +#include "field_10x26.h" +#elif defined(USE_FIELD_5X52) +#include "field_5x52.h" +#else +#error "Please select field implementation" +#endif + +#include "util.h" + +/** Normalize a field element. */ +static void secp256k1_fe_normalize(secp256k1_fe *r); + +/** Weakly normalize a field element: reduce it magnitude to 1, but don't fully normalize. */ +static void secp256k1_fe_normalize_weak(secp256k1_fe *r); + +/** Normalize a field element, without constant-time guarantee. */ +static void secp256k1_fe_normalize_var(secp256k1_fe *r); + +/** Verify whether a field element represents zero i.e. would normalize to a zero value. The field + * implementation may optionally normalize the input, but this should not be relied upon. */ +static int secp256k1_fe_normalizes_to_zero(secp256k1_fe *r); + +/** Verify whether a field element represents zero i.e. would normalize to a zero value. The field + * implementation may optionally normalize the input, but this should not be relied upon. */ +static int secp256k1_fe_normalizes_to_zero_var(secp256k1_fe *r); + +/** Set a field element equal to a small integer. Resulting field element is normalized. */ +static void secp256k1_fe_set_int(secp256k1_fe *r, int a); + +/** Sets a field element equal to zero, initializing all fields. */ +static void secp256k1_fe_clear(secp256k1_fe *a); + +/** Verify whether a field element is zero. Requires the input to be normalized. */ +static int secp256k1_fe_is_zero(const secp256k1_fe *a); + +/** Check the "oddness" of a field element. Requires the input to be normalized. */ +static int secp256k1_fe_is_odd(const secp256k1_fe *a); + +/** Compare two field elements. Requires magnitude-1 inputs. */ +static int secp256k1_fe_equal(const secp256k1_fe *a, const secp256k1_fe *b); + +/** Same as secp256k1_fe_equal, but may be variable time. */ +static int secp256k1_fe_equal_var(const secp256k1_fe *a, const secp256k1_fe *b); + +/** Compare two field elements. Requires both inputs to be normalized */ +static int secp256k1_fe_cmp_var(const secp256k1_fe *a, const secp256k1_fe *b); + +/** Set a field element equal to 32-byte big endian value. If successful, the resulting field element is normalized. */ +static int secp256k1_fe_set_b32(secp256k1_fe *r, const unsigned char *a); + +/** Convert a field element to a 32-byte big endian value. Requires the input to be normalized */ +static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe *a); + +/** Set a field element equal to the additive inverse of another. Takes a maximum magnitude of the input + * as an argument. The magnitude of the output is one higher. */ +static void secp256k1_fe_negate(secp256k1_fe *r, const secp256k1_fe *a, int m); + +/** Multiplies the passed field element with a small integer constant. Multiplies the magnitude by that + * small integer. */ +static void secp256k1_fe_mul_int(secp256k1_fe *r, int a); + +/** Adds a field element to another. The result has the sum of the inputs' magnitudes as magnitude. */ +static void secp256k1_fe_add(secp256k1_fe *r, const secp256k1_fe *a); + +/** Sets a field element to be the product of two others. Requires the inputs' magnitudes to be at most 8. + * The output magnitude is 1 (but not guaranteed to be normalized). */ +static void secp256k1_fe_mul(secp256k1_fe *r, const secp256k1_fe *a, const secp256k1_fe * SECP256K1_RESTRICT b); + +/** Sets a field element to be the square of another. Requires the input's magnitude to be at most 8. + * The output magnitude is 1 (but not guaranteed to be normalized). */ +static void secp256k1_fe_sqr(secp256k1_fe *r, const secp256k1_fe *a); + +/** If a has a square root, it is computed in r and 1 is returned. If a does not + * have a square root, the root of its negation is computed and 0 is returned. + * The input's magnitude can be at most 8. The output magnitude is 1 (but not + * guaranteed to be normalized). The result in r will always be a square + * itself. */ +static int secp256k1_fe_sqrt(secp256k1_fe *r, const secp256k1_fe *a); + +/** Checks whether a field element is a quadratic residue. */ +static int secp256k1_fe_is_quad_var(const secp256k1_fe *a); + +/** Sets a field element to be the (modular) inverse of another. Requires the input's magnitude to be + * at most 8. The output magnitude is 1 (but not guaranteed to be normalized). */ +static void secp256k1_fe_inv(secp256k1_fe *r, const secp256k1_fe *a); + +/** Potentially faster version of secp256k1_fe_inv, without constant-time guarantee. */ +static void secp256k1_fe_inv_var(secp256k1_fe *r, const secp256k1_fe *a); + +/** Calculate the (modular) inverses of a batch of field elements. Requires the inputs' magnitudes to be + * at most 8. The output magnitudes are 1 (but not guaranteed to be normalized). The inputs and + * outputs must not overlap in memory. */ +static void secp256k1_fe_inv_all_var(secp256k1_fe *r, const secp256k1_fe *a, size_t len); + +/** Convert a field element to the storage type. */ +static void secp256k1_fe_to_storage(secp256k1_fe_storage *r, const secp256k1_fe *a); + +/** Convert a field element back from the storage type. */ +static void secp256k1_fe_from_storage(secp256k1_fe *r, const secp256k1_fe_storage *a); + +/** If flag is true, set *r equal to *a; otherwise leave it. Constant-time. */ +static void secp256k1_fe_storage_cmov(secp256k1_fe_storage *r, const secp256k1_fe_storage *a, int flag); + +/** If flag is true, set *r equal to *a; otherwise leave it. Constant-time. */ +static void secp256k1_fe_cmov(secp256k1_fe *r, const secp256k1_fe *a, int flag); + +#endif /* SECP256K1_FIELD_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/field_10x26.h b/Pods/secp256k1_swift/Classes/secp256k1/src/field_10x26.h new file mode 100644 index 000000000..727c5267f --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/field_10x26.h @@ -0,0 +1,48 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_FIELD_REPR_H +#define SECP256K1_FIELD_REPR_H + +#include + +typedef struct { + /* X = sum(i=0..9, elem[i]*2^26) mod n */ + uint32_t n[10]; +#ifdef VERIFY + int magnitude; + int normalized; +#endif +} secp256k1_fe; + +/* Unpacks a constant into a overlapping multi-limbed FE element. */ +#define SECP256K1_FE_CONST_INNER(d7, d6, d5, d4, d3, d2, d1, d0) { \ + (d0) & 0x3FFFFFFUL, \ + (((uint32_t)d0) >> 26) | (((uint32_t)(d1) & 0xFFFFFUL) << 6), \ + (((uint32_t)d1) >> 20) | (((uint32_t)(d2) & 0x3FFFUL) << 12), \ + (((uint32_t)d2) >> 14) | (((uint32_t)(d3) & 0xFFUL) << 18), \ + (((uint32_t)d3) >> 8) | (((uint32_t)(d4) & 0x3UL) << 24), \ + (((uint32_t)d4) >> 2) & 0x3FFFFFFUL, \ + (((uint32_t)d4) >> 28) | (((uint32_t)(d5) & 0x3FFFFFUL) << 4), \ + (((uint32_t)d5) >> 22) | (((uint32_t)(d6) & 0xFFFFUL) << 10), \ + (((uint32_t)d6) >> 16) | (((uint32_t)(d7) & 0x3FFUL) << 16), \ + (((uint32_t)d7) >> 10) \ +} + +#ifdef VERIFY +#define SECP256K1_FE_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {SECP256K1_FE_CONST_INNER((d7), (d6), (d5), (d4), (d3), (d2), (d1), (d0)), 1, 1} +#else +#define SECP256K1_FE_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {SECP256K1_FE_CONST_INNER((d7), (d6), (d5), (d4), (d3), (d2), (d1), (d0))} +#endif + +typedef struct { + uint32_t n[8]; +} secp256k1_fe_storage; + +#define SECP256K1_FE_STORAGE_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {{ (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }} +#define SECP256K1_FE_STORAGE_CONST_GET(d) d.n[7], d.n[6], d.n[5], d.n[4],d.n[3], d.n[2], d.n[1], d.n[0] + +#endif /* SECP256K1_FIELD_REPR_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/field_10x26_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/field_10x26_impl.h new file mode 100644 index 000000000..94f8132fc --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/field_10x26_impl.h @@ -0,0 +1,1161 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_FIELD_REPR_IMPL_H +#define SECP256K1_FIELD_REPR_IMPL_H + +#include "util.h" +#include "num.h" +#include "field.h" + +#ifdef VERIFY +static void secp256k1_fe_verify(const secp256k1_fe *a) { + const uint32_t *d = a->n; + int m = a->normalized ? 1 : 2 * a->magnitude, r = 1; + r &= (d[0] <= 0x3FFFFFFUL * m); + r &= (d[1] <= 0x3FFFFFFUL * m); + r &= (d[2] <= 0x3FFFFFFUL * m); + r &= (d[3] <= 0x3FFFFFFUL * m); + r &= (d[4] <= 0x3FFFFFFUL * m); + r &= (d[5] <= 0x3FFFFFFUL * m); + r &= (d[6] <= 0x3FFFFFFUL * m); + r &= (d[7] <= 0x3FFFFFFUL * m); + r &= (d[8] <= 0x3FFFFFFUL * m); + r &= (d[9] <= 0x03FFFFFUL * m); + r &= (a->magnitude >= 0); + r &= (a->magnitude <= 32); + if (a->normalized) { + r &= (a->magnitude <= 1); + if (r && (d[9] == 0x03FFFFFUL)) { + uint32_t mid = d[8] & d[7] & d[6] & d[5] & d[4] & d[3] & d[2]; + if (mid == 0x3FFFFFFUL) { + r &= ((d[1] + 0x40UL + ((d[0] + 0x3D1UL) >> 26)) <= 0x3FFFFFFUL); + } + } + } + VERIFY_CHECK(r == 1); +} +#endif + +static void secp256k1_fe_normalize(secp256k1_fe *r) { + uint32_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4], + t5 = r->n[5], t6 = r->n[6], t7 = r->n[7], t8 = r->n[8], t9 = r->n[9]; + + /* Reduce t9 at the start so there will be at most a single carry from the first pass */ + uint32_t m; + uint32_t x = t9 >> 22; t9 &= 0x03FFFFFUL; + + /* The first pass ensures the magnitude is 1, ... */ + t0 += x * 0x3D1UL; t1 += (x << 6); + t1 += (t0 >> 26); t0 &= 0x3FFFFFFUL; + t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; + t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; m = t2; + t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; m &= t3; + t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; m &= t4; + t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; m &= t5; + t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; m &= t6; + t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; m &= t7; + t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; m &= t8; + + /* ... except for a possible carry at bit 22 of t9 (i.e. bit 256 of the field element) */ + VERIFY_CHECK(t9 >> 23 == 0); + + /* At most a single final reduction is needed; check if the value is >= the field characteristic */ + x = (t9 >> 22) | ((t9 == 0x03FFFFFUL) & (m == 0x3FFFFFFUL) + & ((t1 + 0x40UL + ((t0 + 0x3D1UL) >> 26)) > 0x3FFFFFFUL)); + + /* Apply the final reduction (for constant-time behaviour, we do it always) */ + t0 += x * 0x3D1UL; t1 += (x << 6); + t1 += (t0 >> 26); t0 &= 0x3FFFFFFUL; + t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; + t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; + t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; + t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; + t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; + t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; + t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; + t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; + + /* If t9 didn't carry to bit 22 already, then it should have after any final reduction */ + VERIFY_CHECK(t9 >> 22 == x); + + /* Mask off the possible multiple of 2^256 from the final reduction */ + t9 &= 0x03FFFFFUL; + + r->n[0] = t0; r->n[1] = t1; r->n[2] = t2; r->n[3] = t3; r->n[4] = t4; + r->n[5] = t5; r->n[6] = t6; r->n[7] = t7; r->n[8] = t8; r->n[9] = t9; + +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 1; + secp256k1_fe_verify(r); +#endif +} + +static void secp256k1_fe_normalize_weak(secp256k1_fe *r) { + uint32_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4], + t5 = r->n[5], t6 = r->n[6], t7 = r->n[7], t8 = r->n[8], t9 = r->n[9]; + + /* Reduce t9 at the start so there will be at most a single carry from the first pass */ + uint32_t x = t9 >> 22; t9 &= 0x03FFFFFUL; + + /* The first pass ensures the magnitude is 1, ... */ + t0 += x * 0x3D1UL; t1 += (x << 6); + t1 += (t0 >> 26); t0 &= 0x3FFFFFFUL; + t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; + t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; + t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; + t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; + t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; + t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; + t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; + t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; + + /* ... except for a possible carry at bit 22 of t9 (i.e. bit 256 of the field element) */ + VERIFY_CHECK(t9 >> 23 == 0); + + r->n[0] = t0; r->n[1] = t1; r->n[2] = t2; r->n[3] = t3; r->n[4] = t4; + r->n[5] = t5; r->n[6] = t6; r->n[7] = t7; r->n[8] = t8; r->n[9] = t9; + +#ifdef VERIFY + r->magnitude = 1; + secp256k1_fe_verify(r); +#endif +} + +static void secp256k1_fe_normalize_var(secp256k1_fe *r) { + uint32_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4], + t5 = r->n[5], t6 = r->n[6], t7 = r->n[7], t8 = r->n[8], t9 = r->n[9]; + + /* Reduce t9 at the start so there will be at most a single carry from the first pass */ + uint32_t m; + uint32_t x = t9 >> 22; t9 &= 0x03FFFFFUL; + + /* The first pass ensures the magnitude is 1, ... */ + t0 += x * 0x3D1UL; t1 += (x << 6); + t1 += (t0 >> 26); t0 &= 0x3FFFFFFUL; + t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; + t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; m = t2; + t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; m &= t3; + t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; m &= t4; + t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; m &= t5; + t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; m &= t6; + t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; m &= t7; + t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; m &= t8; + + /* ... except for a possible carry at bit 22 of t9 (i.e. bit 256 of the field element) */ + VERIFY_CHECK(t9 >> 23 == 0); + + /* At most a single final reduction is needed; check if the value is >= the field characteristic */ + x = (t9 >> 22) | ((t9 == 0x03FFFFFUL) & (m == 0x3FFFFFFUL) + & ((t1 + 0x40UL + ((t0 + 0x3D1UL) >> 26)) > 0x3FFFFFFUL)); + + if (x) { + t0 += 0x3D1UL; t1 += (x << 6); + t1 += (t0 >> 26); t0 &= 0x3FFFFFFUL; + t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; + t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; + t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; + t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; + t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; + t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; + t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; + t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; + + /* If t9 didn't carry to bit 22 already, then it should have after any final reduction */ + VERIFY_CHECK(t9 >> 22 == x); + + /* Mask off the possible multiple of 2^256 from the final reduction */ + t9 &= 0x03FFFFFUL; + } + + r->n[0] = t0; r->n[1] = t1; r->n[2] = t2; r->n[3] = t3; r->n[4] = t4; + r->n[5] = t5; r->n[6] = t6; r->n[7] = t7; r->n[8] = t8; r->n[9] = t9; + +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 1; + secp256k1_fe_verify(r); +#endif +} + +static int secp256k1_fe_normalizes_to_zero(secp256k1_fe *r) { + uint32_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4], + t5 = r->n[5], t6 = r->n[6], t7 = r->n[7], t8 = r->n[8], t9 = r->n[9]; + + /* z0 tracks a possible raw value of 0, z1 tracks a possible raw value of P */ + uint32_t z0, z1; + + /* Reduce t9 at the start so there will be at most a single carry from the first pass */ + uint32_t x = t9 >> 22; t9 &= 0x03FFFFFUL; + + /* The first pass ensures the magnitude is 1, ... */ + t0 += x * 0x3D1UL; t1 += (x << 6); + t1 += (t0 >> 26); t0 &= 0x3FFFFFFUL; z0 = t0; z1 = t0 ^ 0x3D0UL; + t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; z0 |= t1; z1 &= t1 ^ 0x40UL; + t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; z0 |= t2; z1 &= t2; + t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; z0 |= t3; z1 &= t3; + t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; z0 |= t4; z1 &= t4; + t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; z0 |= t5; z1 &= t5; + t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; z0 |= t6; z1 &= t6; + t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; z0 |= t7; z1 &= t7; + t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; z0 |= t8; z1 &= t8; + z0 |= t9; z1 &= t9 ^ 0x3C00000UL; + + /* ... except for a possible carry at bit 22 of t9 (i.e. bit 256 of the field element) */ + VERIFY_CHECK(t9 >> 23 == 0); + + return (z0 == 0) | (z1 == 0x3FFFFFFUL); +} + +static int secp256k1_fe_normalizes_to_zero_var(secp256k1_fe *r) { + uint32_t t0, t1, t2, t3, t4, t5, t6, t7, t8, t9; + uint32_t z0, z1; + uint32_t x; + + t0 = r->n[0]; + t9 = r->n[9]; + + /* Reduce t9 at the start so there will be at most a single carry from the first pass */ + x = t9 >> 22; + + /* The first pass ensures the magnitude is 1, ... */ + t0 += x * 0x3D1UL; + + /* z0 tracks a possible raw value of 0, z1 tracks a possible raw value of P */ + z0 = t0 & 0x3FFFFFFUL; + z1 = z0 ^ 0x3D0UL; + + /* Fast return path should catch the majority of cases */ + if ((z0 != 0UL) & (z1 != 0x3FFFFFFUL)) { + return 0; + } + + t1 = r->n[1]; + t2 = r->n[2]; + t3 = r->n[3]; + t4 = r->n[4]; + t5 = r->n[5]; + t6 = r->n[6]; + t7 = r->n[7]; + t8 = r->n[8]; + + t9 &= 0x03FFFFFUL; + t1 += (x << 6); + + t1 += (t0 >> 26); + t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; z0 |= t1; z1 &= t1 ^ 0x40UL; + t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; z0 |= t2; z1 &= t2; + t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; z0 |= t3; z1 &= t3; + t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; z0 |= t4; z1 &= t4; + t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; z0 |= t5; z1 &= t5; + t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; z0 |= t6; z1 &= t6; + t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; z0 |= t7; z1 &= t7; + t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; z0 |= t8; z1 &= t8; + z0 |= t9; z1 &= t9 ^ 0x3C00000UL; + + /* ... except for a possible carry at bit 22 of t9 (i.e. bit 256 of the field element) */ + VERIFY_CHECK(t9 >> 23 == 0); + + return (z0 == 0) | (z1 == 0x3FFFFFFUL); +} + +SECP256K1_INLINE static void secp256k1_fe_set_int(secp256k1_fe *r, int a) { + r->n[0] = a; + r->n[1] = r->n[2] = r->n[3] = r->n[4] = r->n[5] = r->n[6] = r->n[7] = r->n[8] = r->n[9] = 0; +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 1; + secp256k1_fe_verify(r); +#endif +} + +SECP256K1_INLINE static int secp256k1_fe_is_zero(const secp256k1_fe *a) { + const uint32_t *t = a->n; +#ifdef VERIFY + VERIFY_CHECK(a->normalized); + secp256k1_fe_verify(a); +#endif + return (t[0] | t[1] | t[2] | t[3] | t[4] | t[5] | t[6] | t[7] | t[8] | t[9]) == 0; +} + +SECP256K1_INLINE static int secp256k1_fe_is_odd(const secp256k1_fe *a) { +#ifdef VERIFY + VERIFY_CHECK(a->normalized); + secp256k1_fe_verify(a); +#endif + return a->n[0] & 1; +} + +SECP256K1_INLINE static void secp256k1_fe_clear(secp256k1_fe *a) { + int i; +#ifdef VERIFY + a->magnitude = 0; + a->normalized = 1; +#endif + for (i=0; i<10; i++) { + a->n[i] = 0; + } +} + +static int secp256k1_fe_cmp_var(const secp256k1_fe *a, const secp256k1_fe *b) { + int i; +#ifdef VERIFY + VERIFY_CHECK(a->normalized); + VERIFY_CHECK(b->normalized); + secp256k1_fe_verify(a); + secp256k1_fe_verify(b); +#endif + for (i = 9; i >= 0; i--) { + if (a->n[i] > b->n[i]) { + return 1; + } + if (a->n[i] < b->n[i]) { + return -1; + } + } + return 0; +} + +static int secp256k1_fe_set_b32(secp256k1_fe *r, const unsigned char *a) { + r->n[0] = (uint32_t)a[31] | ((uint32_t)a[30] << 8) | ((uint32_t)a[29] << 16) | ((uint32_t)(a[28] & 0x3) << 24); + r->n[1] = (uint32_t)((a[28] >> 2) & 0x3f) | ((uint32_t)a[27] << 6) | ((uint32_t)a[26] << 14) | ((uint32_t)(a[25] & 0xf) << 22); + r->n[2] = (uint32_t)((a[25] >> 4) & 0xf) | ((uint32_t)a[24] << 4) | ((uint32_t)a[23] << 12) | ((uint32_t)(a[22] & 0x3f) << 20); + r->n[3] = (uint32_t)((a[22] >> 6) & 0x3) | ((uint32_t)a[21] << 2) | ((uint32_t)a[20] << 10) | ((uint32_t)a[19] << 18); + r->n[4] = (uint32_t)a[18] | ((uint32_t)a[17] << 8) | ((uint32_t)a[16] << 16) | ((uint32_t)(a[15] & 0x3) << 24); + r->n[5] = (uint32_t)((a[15] >> 2) & 0x3f) | ((uint32_t)a[14] << 6) | ((uint32_t)a[13] << 14) | ((uint32_t)(a[12] & 0xf) << 22); + r->n[6] = (uint32_t)((a[12] >> 4) & 0xf) | ((uint32_t)a[11] << 4) | ((uint32_t)a[10] << 12) | ((uint32_t)(a[9] & 0x3f) << 20); + r->n[7] = (uint32_t)((a[9] >> 6) & 0x3) | ((uint32_t)a[8] << 2) | ((uint32_t)a[7] << 10) | ((uint32_t)a[6] << 18); + r->n[8] = (uint32_t)a[5] | ((uint32_t)a[4] << 8) | ((uint32_t)a[3] << 16) | ((uint32_t)(a[2] & 0x3) << 24); + r->n[9] = (uint32_t)((a[2] >> 2) & 0x3f) | ((uint32_t)a[1] << 6) | ((uint32_t)a[0] << 14); + + if (r->n[9] == 0x3FFFFFUL && (r->n[8] & r->n[7] & r->n[6] & r->n[5] & r->n[4] & r->n[3] & r->n[2]) == 0x3FFFFFFUL && (r->n[1] + 0x40UL + ((r->n[0] + 0x3D1UL) >> 26)) > 0x3FFFFFFUL) { + return 0; + } +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 1; + secp256k1_fe_verify(r); +#endif + return 1; +} + +/** Convert a field element to a 32-byte big endian value. Requires the input to be normalized */ +static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe *a) { +#ifdef VERIFY + VERIFY_CHECK(a->normalized); + secp256k1_fe_verify(a); +#endif + r[0] = (a->n[9] >> 14) & 0xff; + r[1] = (a->n[9] >> 6) & 0xff; + r[2] = ((a->n[9] & 0x3F) << 2) | ((a->n[8] >> 24) & 0x3); + r[3] = (a->n[8] >> 16) & 0xff; + r[4] = (a->n[8] >> 8) & 0xff; + r[5] = a->n[8] & 0xff; + r[6] = (a->n[7] >> 18) & 0xff; + r[7] = (a->n[7] >> 10) & 0xff; + r[8] = (a->n[7] >> 2) & 0xff; + r[9] = ((a->n[7] & 0x3) << 6) | ((a->n[6] >> 20) & 0x3f); + r[10] = (a->n[6] >> 12) & 0xff; + r[11] = (a->n[6] >> 4) & 0xff; + r[12] = ((a->n[6] & 0xf) << 4) | ((a->n[5] >> 22) & 0xf); + r[13] = (a->n[5] >> 14) & 0xff; + r[14] = (a->n[5] >> 6) & 0xff; + r[15] = ((a->n[5] & 0x3f) << 2) | ((a->n[4] >> 24) & 0x3); + r[16] = (a->n[4] >> 16) & 0xff; + r[17] = (a->n[4] >> 8) & 0xff; + r[18] = a->n[4] & 0xff; + r[19] = (a->n[3] >> 18) & 0xff; + r[20] = (a->n[3] >> 10) & 0xff; + r[21] = (a->n[3] >> 2) & 0xff; + r[22] = ((a->n[3] & 0x3) << 6) | ((a->n[2] >> 20) & 0x3f); + r[23] = (a->n[2] >> 12) & 0xff; + r[24] = (a->n[2] >> 4) & 0xff; + r[25] = ((a->n[2] & 0xf) << 4) | ((a->n[1] >> 22) & 0xf); + r[26] = (a->n[1] >> 14) & 0xff; + r[27] = (a->n[1] >> 6) & 0xff; + r[28] = ((a->n[1] & 0x3f) << 2) | ((a->n[0] >> 24) & 0x3); + r[29] = (a->n[0] >> 16) & 0xff; + r[30] = (a->n[0] >> 8) & 0xff; + r[31] = a->n[0] & 0xff; +} + +SECP256K1_INLINE static void secp256k1_fe_negate(secp256k1_fe *r, const secp256k1_fe *a, int m) { +#ifdef VERIFY + VERIFY_CHECK(a->magnitude <= m); + secp256k1_fe_verify(a); +#endif + r->n[0] = 0x3FFFC2FUL * 2 * (m + 1) - a->n[0]; + r->n[1] = 0x3FFFFBFUL * 2 * (m + 1) - a->n[1]; + r->n[2] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[2]; + r->n[3] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[3]; + r->n[4] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[4]; + r->n[5] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[5]; + r->n[6] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[6]; + r->n[7] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[7]; + r->n[8] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[8]; + r->n[9] = 0x03FFFFFUL * 2 * (m + 1) - a->n[9]; +#ifdef VERIFY + r->magnitude = m + 1; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +SECP256K1_INLINE static void secp256k1_fe_mul_int(secp256k1_fe *r, int a) { + r->n[0] *= a; + r->n[1] *= a; + r->n[2] *= a; + r->n[3] *= a; + r->n[4] *= a; + r->n[5] *= a; + r->n[6] *= a; + r->n[7] *= a; + r->n[8] *= a; + r->n[9] *= a; +#ifdef VERIFY + r->magnitude *= a; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +SECP256K1_INLINE static void secp256k1_fe_add(secp256k1_fe *r, const secp256k1_fe *a) { +#ifdef VERIFY + secp256k1_fe_verify(a); +#endif + r->n[0] += a->n[0]; + r->n[1] += a->n[1]; + r->n[2] += a->n[2]; + r->n[3] += a->n[3]; + r->n[4] += a->n[4]; + r->n[5] += a->n[5]; + r->n[6] += a->n[6]; + r->n[7] += a->n[7]; + r->n[8] += a->n[8]; + r->n[9] += a->n[9]; +#ifdef VERIFY + r->magnitude += a->magnitude; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +#if defined(USE_EXTERNAL_ASM) + +/* External assembler implementation */ +void secp256k1_fe_mul_inner(uint32_t *r, const uint32_t *a, const uint32_t * SECP256K1_RESTRICT b); +void secp256k1_fe_sqr_inner(uint32_t *r, const uint32_t *a); + +#else + +#ifdef VERIFY +#define VERIFY_BITS(x, n) VERIFY_CHECK(((x) >> (n)) == 0) +#else +#define VERIFY_BITS(x, n) do { } while(0) +#endif + +SECP256K1_INLINE static void secp256k1_fe_mul_inner(uint32_t *r, const uint32_t *a, const uint32_t * SECP256K1_RESTRICT b) { + uint64_t c, d; + uint64_t u0, u1, u2, u3, u4, u5, u6, u7, u8; + uint32_t t9, t1, t0, t2, t3, t4, t5, t6, t7; + const uint32_t M = 0x3FFFFFFUL, R0 = 0x3D10UL, R1 = 0x400UL; + + VERIFY_BITS(a[0], 30); + VERIFY_BITS(a[1], 30); + VERIFY_BITS(a[2], 30); + VERIFY_BITS(a[3], 30); + VERIFY_BITS(a[4], 30); + VERIFY_BITS(a[5], 30); + VERIFY_BITS(a[6], 30); + VERIFY_BITS(a[7], 30); + VERIFY_BITS(a[8], 30); + VERIFY_BITS(a[9], 26); + VERIFY_BITS(b[0], 30); + VERIFY_BITS(b[1], 30); + VERIFY_BITS(b[2], 30); + VERIFY_BITS(b[3], 30); + VERIFY_BITS(b[4], 30); + VERIFY_BITS(b[5], 30); + VERIFY_BITS(b[6], 30); + VERIFY_BITS(b[7], 30); + VERIFY_BITS(b[8], 30); + VERIFY_BITS(b[9], 26); + + /** [... a b c] is a shorthand for ... + a<<52 + b<<26 + c<<0 mod n. + * px is a shorthand for sum(a[i]*b[x-i], i=0..x). + * Note that [x 0 0 0 0 0 0 0 0 0 0] = [x*R1 x*R0]. + */ + + d = (uint64_t)a[0] * b[9] + + (uint64_t)a[1] * b[8] + + (uint64_t)a[2] * b[7] + + (uint64_t)a[3] * b[6] + + (uint64_t)a[4] * b[5] + + (uint64_t)a[5] * b[4] + + (uint64_t)a[6] * b[3] + + (uint64_t)a[7] * b[2] + + (uint64_t)a[8] * b[1] + + (uint64_t)a[9] * b[0]; + /* VERIFY_BITS(d, 64); */ + /* [d 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ + t9 = d & M; d >>= 26; + VERIFY_BITS(t9, 26); + VERIFY_BITS(d, 38); + /* [d t9 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ + + c = (uint64_t)a[0] * b[0]; + VERIFY_BITS(c, 60); + /* [d t9 0 0 0 0 0 0 0 0 c] = [p9 0 0 0 0 0 0 0 0 p0] */ + d += (uint64_t)a[1] * b[9] + + (uint64_t)a[2] * b[8] + + (uint64_t)a[3] * b[7] + + (uint64_t)a[4] * b[6] + + (uint64_t)a[5] * b[5] + + (uint64_t)a[6] * b[4] + + (uint64_t)a[7] * b[3] + + (uint64_t)a[8] * b[2] + + (uint64_t)a[9] * b[1]; + VERIFY_BITS(d, 63); + /* [d t9 0 0 0 0 0 0 0 0 c] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ + u0 = d & M; d >>= 26; c += u0 * R0; + VERIFY_BITS(u0, 26); + VERIFY_BITS(d, 37); + VERIFY_BITS(c, 61); + /* [d u0 t9 0 0 0 0 0 0 0 0 c-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ + t0 = c & M; c >>= 26; c += u0 * R1; + VERIFY_BITS(t0, 26); + VERIFY_BITS(c, 37); + /* [d u0 t9 0 0 0 0 0 0 0 c-u0*R1 t0-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ + /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ + + c += (uint64_t)a[0] * b[1] + + (uint64_t)a[1] * b[0]; + VERIFY_BITS(c, 62); + /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 p1 p0] */ + d += (uint64_t)a[2] * b[9] + + (uint64_t)a[3] * b[8] + + (uint64_t)a[4] * b[7] + + (uint64_t)a[5] * b[6] + + (uint64_t)a[6] * b[5] + + (uint64_t)a[7] * b[4] + + (uint64_t)a[8] * b[3] + + (uint64_t)a[9] * b[2]; + VERIFY_BITS(d, 63); + /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ + u1 = d & M; d >>= 26; c += u1 * R0; + VERIFY_BITS(u1, 26); + VERIFY_BITS(d, 37); + VERIFY_BITS(c, 63); + /* [d u1 0 t9 0 0 0 0 0 0 0 c-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ + t1 = c & M; c >>= 26; c += u1 * R1; + VERIFY_BITS(t1, 26); + VERIFY_BITS(c, 38); + /* [d u1 0 t9 0 0 0 0 0 0 c-u1*R1 t1-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ + /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ + + c += (uint64_t)a[0] * b[2] + + (uint64_t)a[1] * b[1] + + (uint64_t)a[2] * b[0]; + VERIFY_BITS(c, 62); + /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + d += (uint64_t)a[3] * b[9] + + (uint64_t)a[4] * b[8] + + (uint64_t)a[5] * b[7] + + (uint64_t)a[6] * b[6] + + (uint64_t)a[7] * b[5] + + (uint64_t)a[8] * b[4] + + (uint64_t)a[9] * b[3]; + VERIFY_BITS(d, 63); + /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + u2 = d & M; d >>= 26; c += u2 * R0; + VERIFY_BITS(u2, 26); + VERIFY_BITS(d, 37); + VERIFY_BITS(c, 63); + /* [d u2 0 0 t9 0 0 0 0 0 0 c-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + t2 = c & M; c >>= 26; c += u2 * R1; + VERIFY_BITS(t2, 26); + VERIFY_BITS(c, 38); + /* [d u2 0 0 t9 0 0 0 0 0 c-u2*R1 t2-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + + c += (uint64_t)a[0] * b[3] + + (uint64_t)a[1] * b[2] + + (uint64_t)a[2] * b[1] + + (uint64_t)a[3] * b[0]; + VERIFY_BITS(c, 63); + /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + d += (uint64_t)a[4] * b[9] + + (uint64_t)a[5] * b[8] + + (uint64_t)a[6] * b[7] + + (uint64_t)a[7] * b[6] + + (uint64_t)a[8] * b[5] + + (uint64_t)a[9] * b[4]; + VERIFY_BITS(d, 63); + /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + u3 = d & M; d >>= 26; c += u3 * R0; + VERIFY_BITS(u3, 26); + VERIFY_BITS(d, 37); + /* VERIFY_BITS(c, 64); */ + /* [d u3 0 0 0 t9 0 0 0 0 0 c-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + t3 = c & M; c >>= 26; c += u3 * R1; + VERIFY_BITS(t3, 26); + VERIFY_BITS(c, 39); + /* [d u3 0 0 0 t9 0 0 0 0 c-u3*R1 t3-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + + c += (uint64_t)a[0] * b[4] + + (uint64_t)a[1] * b[3] + + (uint64_t)a[2] * b[2] + + (uint64_t)a[3] * b[1] + + (uint64_t)a[4] * b[0]; + VERIFY_BITS(c, 63); + /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + d += (uint64_t)a[5] * b[9] + + (uint64_t)a[6] * b[8] + + (uint64_t)a[7] * b[7] + + (uint64_t)a[8] * b[6] + + (uint64_t)a[9] * b[5]; + VERIFY_BITS(d, 62); + /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + u4 = d & M; d >>= 26; c += u4 * R0; + VERIFY_BITS(u4, 26); + VERIFY_BITS(d, 36); + /* VERIFY_BITS(c, 64); */ + /* [d u4 0 0 0 0 t9 0 0 0 0 c-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + t4 = c & M; c >>= 26; c += u4 * R1; + VERIFY_BITS(t4, 26); + VERIFY_BITS(c, 39); + /* [d u4 0 0 0 0 t9 0 0 0 c-u4*R1 t4-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + + c += (uint64_t)a[0] * b[5] + + (uint64_t)a[1] * b[4] + + (uint64_t)a[2] * b[3] + + (uint64_t)a[3] * b[2] + + (uint64_t)a[4] * b[1] + + (uint64_t)a[5] * b[0]; + VERIFY_BITS(c, 63); + /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + d += (uint64_t)a[6] * b[9] + + (uint64_t)a[7] * b[8] + + (uint64_t)a[8] * b[7] + + (uint64_t)a[9] * b[6]; + VERIFY_BITS(d, 62); + /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + u5 = d & M; d >>= 26; c += u5 * R0; + VERIFY_BITS(u5, 26); + VERIFY_BITS(d, 36); + /* VERIFY_BITS(c, 64); */ + /* [d u5 0 0 0 0 0 t9 0 0 0 c-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + t5 = c & M; c >>= 26; c += u5 * R1; + VERIFY_BITS(t5, 26); + VERIFY_BITS(c, 39); + /* [d u5 0 0 0 0 0 t9 0 0 c-u5*R1 t5-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + + c += (uint64_t)a[0] * b[6] + + (uint64_t)a[1] * b[5] + + (uint64_t)a[2] * b[4] + + (uint64_t)a[3] * b[3] + + (uint64_t)a[4] * b[2] + + (uint64_t)a[5] * b[1] + + (uint64_t)a[6] * b[0]; + VERIFY_BITS(c, 63); + /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + d += (uint64_t)a[7] * b[9] + + (uint64_t)a[8] * b[8] + + (uint64_t)a[9] * b[7]; + VERIFY_BITS(d, 61); + /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + u6 = d & M; d >>= 26; c += u6 * R0; + VERIFY_BITS(u6, 26); + VERIFY_BITS(d, 35); + /* VERIFY_BITS(c, 64); */ + /* [d u6 0 0 0 0 0 0 t9 0 0 c-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + t6 = c & M; c >>= 26; c += u6 * R1; + VERIFY_BITS(t6, 26); + VERIFY_BITS(c, 39); + /* [d u6 0 0 0 0 0 0 t9 0 c-u6*R1 t6-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + + c += (uint64_t)a[0] * b[7] + + (uint64_t)a[1] * b[6] + + (uint64_t)a[2] * b[5] + + (uint64_t)a[3] * b[4] + + (uint64_t)a[4] * b[3] + + (uint64_t)a[5] * b[2] + + (uint64_t)a[6] * b[1] + + (uint64_t)a[7] * b[0]; + /* VERIFY_BITS(c, 64); */ + VERIFY_CHECK(c <= 0x8000007C00000007ULL); + /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + d += (uint64_t)a[8] * b[9] + + (uint64_t)a[9] * b[8]; + VERIFY_BITS(d, 58); + /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + u7 = d & M; d >>= 26; c += u7 * R0; + VERIFY_BITS(u7, 26); + VERIFY_BITS(d, 32); + /* VERIFY_BITS(c, 64); */ + VERIFY_CHECK(c <= 0x800001703FFFC2F7ULL); + /* [d u7 0 0 0 0 0 0 0 t9 0 c-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + t7 = c & M; c >>= 26; c += u7 * R1; + VERIFY_BITS(t7, 26); + VERIFY_BITS(c, 38); + /* [d u7 0 0 0 0 0 0 0 t9 c-u7*R1 t7-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + + c += (uint64_t)a[0] * b[8] + + (uint64_t)a[1] * b[7] + + (uint64_t)a[2] * b[6] + + (uint64_t)a[3] * b[5] + + (uint64_t)a[4] * b[4] + + (uint64_t)a[5] * b[3] + + (uint64_t)a[6] * b[2] + + (uint64_t)a[7] * b[1] + + (uint64_t)a[8] * b[0]; + /* VERIFY_BITS(c, 64); */ + VERIFY_CHECK(c <= 0x9000007B80000008ULL); + /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + d += (uint64_t)a[9] * b[9]; + VERIFY_BITS(d, 57); + /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + u8 = d & M; d >>= 26; c += u8 * R0; + VERIFY_BITS(u8, 26); + VERIFY_BITS(d, 31); + /* VERIFY_BITS(c, 64); */ + VERIFY_CHECK(c <= 0x9000016FBFFFC2F8ULL); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + + r[3] = t3; + VERIFY_BITS(r[3], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[4] = t4; + VERIFY_BITS(r[4], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[5] = t5; + VERIFY_BITS(r[5], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[6] = t6; + VERIFY_BITS(r[6], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[7] = t7; + VERIFY_BITS(r[7], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + + r[8] = c & M; c >>= 26; c += u8 * R1; + VERIFY_BITS(r[8], 26); + VERIFY_BITS(c, 39); + /* [d u8 0 0 0 0 0 0 0 0 t9+c-u8*R1 r8-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 0 0 0 t9+c r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + c += d * R0 + t9; + VERIFY_BITS(c, 45); + /* [d 0 0 0 0 0 0 0 0 0 c-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[9] = c & (M >> 4); c >>= 22; c += d * (R1 << 4); + VERIFY_BITS(r[9], 22); + VERIFY_BITS(c, 46); + /* [d 0 0 0 0 0 0 0 0 r9+((c-d*R1<<4)<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 0 -d*R1 r9+(c<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + + d = c * (R0 >> 4) + t0; + VERIFY_BITS(d, 56); + /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 d-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[0] = d & M; d >>= 26; + VERIFY_BITS(r[0], 26); + VERIFY_BITS(d, 30); + /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1+d r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + d += c * (R1 >> 4) + t1; + VERIFY_BITS(d, 53); + VERIFY_CHECK(d <= 0x10000003FFFFBFULL); + /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 d-c*R1>>4 r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [r9 r8 r7 r6 r5 r4 r3 t2 d r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[1] = d & M; d >>= 26; + VERIFY_BITS(r[1], 26); + VERIFY_BITS(d, 27); + VERIFY_CHECK(d <= 0x4000000ULL); + /* [r9 r8 r7 r6 r5 r4 r3 t2+d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + d += t2; + VERIFY_BITS(d, 27); + /* [r9 r8 r7 r6 r5 r4 r3 d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[2] = d; + VERIFY_BITS(r[2], 27); + /* [r9 r8 r7 r6 r5 r4 r3 r2 r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ +} + +SECP256K1_INLINE static void secp256k1_fe_sqr_inner(uint32_t *r, const uint32_t *a) { + uint64_t c, d; + uint64_t u0, u1, u2, u3, u4, u5, u6, u7, u8; + uint32_t t9, t0, t1, t2, t3, t4, t5, t6, t7; + const uint32_t M = 0x3FFFFFFUL, R0 = 0x3D10UL, R1 = 0x400UL; + + VERIFY_BITS(a[0], 30); + VERIFY_BITS(a[1], 30); + VERIFY_BITS(a[2], 30); + VERIFY_BITS(a[3], 30); + VERIFY_BITS(a[4], 30); + VERIFY_BITS(a[5], 30); + VERIFY_BITS(a[6], 30); + VERIFY_BITS(a[7], 30); + VERIFY_BITS(a[8], 30); + VERIFY_BITS(a[9], 26); + + /** [... a b c] is a shorthand for ... + a<<52 + b<<26 + c<<0 mod n. + * px is a shorthand for sum(a[i]*a[x-i], i=0..x). + * Note that [x 0 0 0 0 0 0 0 0 0 0] = [x*R1 x*R0]. + */ + + d = (uint64_t)(a[0]*2) * a[9] + + (uint64_t)(a[1]*2) * a[8] + + (uint64_t)(a[2]*2) * a[7] + + (uint64_t)(a[3]*2) * a[6] + + (uint64_t)(a[4]*2) * a[5]; + /* VERIFY_BITS(d, 64); */ + /* [d 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ + t9 = d & M; d >>= 26; + VERIFY_BITS(t9, 26); + VERIFY_BITS(d, 38); + /* [d t9 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ + + c = (uint64_t)a[0] * a[0]; + VERIFY_BITS(c, 60); + /* [d t9 0 0 0 0 0 0 0 0 c] = [p9 0 0 0 0 0 0 0 0 p0] */ + d += (uint64_t)(a[1]*2) * a[9] + + (uint64_t)(a[2]*2) * a[8] + + (uint64_t)(a[3]*2) * a[7] + + (uint64_t)(a[4]*2) * a[6] + + (uint64_t)a[5] * a[5]; + VERIFY_BITS(d, 63); + /* [d t9 0 0 0 0 0 0 0 0 c] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ + u0 = d & M; d >>= 26; c += u0 * R0; + VERIFY_BITS(u0, 26); + VERIFY_BITS(d, 37); + VERIFY_BITS(c, 61); + /* [d u0 t9 0 0 0 0 0 0 0 0 c-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ + t0 = c & M; c >>= 26; c += u0 * R1; + VERIFY_BITS(t0, 26); + VERIFY_BITS(c, 37); + /* [d u0 t9 0 0 0 0 0 0 0 c-u0*R1 t0-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ + /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ + + c += (uint64_t)(a[0]*2) * a[1]; + VERIFY_BITS(c, 62); + /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 p1 p0] */ + d += (uint64_t)(a[2]*2) * a[9] + + (uint64_t)(a[3]*2) * a[8] + + (uint64_t)(a[4]*2) * a[7] + + (uint64_t)(a[5]*2) * a[6]; + VERIFY_BITS(d, 63); + /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ + u1 = d & M; d >>= 26; c += u1 * R0; + VERIFY_BITS(u1, 26); + VERIFY_BITS(d, 37); + VERIFY_BITS(c, 63); + /* [d u1 0 t9 0 0 0 0 0 0 0 c-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ + t1 = c & M; c >>= 26; c += u1 * R1; + VERIFY_BITS(t1, 26); + VERIFY_BITS(c, 38); + /* [d u1 0 t9 0 0 0 0 0 0 c-u1*R1 t1-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ + /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ + + c += (uint64_t)(a[0]*2) * a[2] + + (uint64_t)a[1] * a[1]; + VERIFY_BITS(c, 62); + /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + d += (uint64_t)(a[3]*2) * a[9] + + (uint64_t)(a[4]*2) * a[8] + + (uint64_t)(a[5]*2) * a[7] + + (uint64_t)a[6] * a[6]; + VERIFY_BITS(d, 63); + /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + u2 = d & M; d >>= 26; c += u2 * R0; + VERIFY_BITS(u2, 26); + VERIFY_BITS(d, 37); + VERIFY_BITS(c, 63); + /* [d u2 0 0 t9 0 0 0 0 0 0 c-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + t2 = c & M; c >>= 26; c += u2 * R1; + VERIFY_BITS(t2, 26); + VERIFY_BITS(c, 38); + /* [d u2 0 0 t9 0 0 0 0 0 c-u2*R1 t2-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + + c += (uint64_t)(a[0]*2) * a[3] + + (uint64_t)(a[1]*2) * a[2]; + VERIFY_BITS(c, 63); + /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + d += (uint64_t)(a[4]*2) * a[9] + + (uint64_t)(a[5]*2) * a[8] + + (uint64_t)(a[6]*2) * a[7]; + VERIFY_BITS(d, 63); + /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + u3 = d & M; d >>= 26; c += u3 * R0; + VERIFY_BITS(u3, 26); + VERIFY_BITS(d, 37); + /* VERIFY_BITS(c, 64); */ + /* [d u3 0 0 0 t9 0 0 0 0 0 c-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + t3 = c & M; c >>= 26; c += u3 * R1; + VERIFY_BITS(t3, 26); + VERIFY_BITS(c, 39); + /* [d u3 0 0 0 t9 0 0 0 0 c-u3*R1 t3-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + + c += (uint64_t)(a[0]*2) * a[4] + + (uint64_t)(a[1]*2) * a[3] + + (uint64_t)a[2] * a[2]; + VERIFY_BITS(c, 63); + /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + d += (uint64_t)(a[5]*2) * a[9] + + (uint64_t)(a[6]*2) * a[8] + + (uint64_t)a[7] * a[7]; + VERIFY_BITS(d, 62); + /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + u4 = d & M; d >>= 26; c += u4 * R0; + VERIFY_BITS(u4, 26); + VERIFY_BITS(d, 36); + /* VERIFY_BITS(c, 64); */ + /* [d u4 0 0 0 0 t9 0 0 0 0 c-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + t4 = c & M; c >>= 26; c += u4 * R1; + VERIFY_BITS(t4, 26); + VERIFY_BITS(c, 39); + /* [d u4 0 0 0 0 t9 0 0 0 c-u4*R1 t4-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + + c += (uint64_t)(a[0]*2) * a[5] + + (uint64_t)(a[1]*2) * a[4] + + (uint64_t)(a[2]*2) * a[3]; + VERIFY_BITS(c, 63); + /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + d += (uint64_t)(a[6]*2) * a[9] + + (uint64_t)(a[7]*2) * a[8]; + VERIFY_BITS(d, 62); + /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + u5 = d & M; d >>= 26; c += u5 * R0; + VERIFY_BITS(u5, 26); + VERIFY_BITS(d, 36); + /* VERIFY_BITS(c, 64); */ + /* [d u5 0 0 0 0 0 t9 0 0 0 c-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + t5 = c & M; c >>= 26; c += u5 * R1; + VERIFY_BITS(t5, 26); + VERIFY_BITS(c, 39); + /* [d u5 0 0 0 0 0 t9 0 0 c-u5*R1 t5-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + + c += (uint64_t)(a[0]*2) * a[6] + + (uint64_t)(a[1]*2) * a[5] + + (uint64_t)(a[2]*2) * a[4] + + (uint64_t)a[3] * a[3]; + VERIFY_BITS(c, 63); + /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + d += (uint64_t)(a[7]*2) * a[9] + + (uint64_t)a[8] * a[8]; + VERIFY_BITS(d, 61); + /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + u6 = d & M; d >>= 26; c += u6 * R0; + VERIFY_BITS(u6, 26); + VERIFY_BITS(d, 35); + /* VERIFY_BITS(c, 64); */ + /* [d u6 0 0 0 0 0 0 t9 0 0 c-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + t6 = c & M; c >>= 26; c += u6 * R1; + VERIFY_BITS(t6, 26); + VERIFY_BITS(c, 39); + /* [d u6 0 0 0 0 0 0 t9 0 c-u6*R1 t6-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + + c += (uint64_t)(a[0]*2) * a[7] + + (uint64_t)(a[1]*2) * a[6] + + (uint64_t)(a[2]*2) * a[5] + + (uint64_t)(a[3]*2) * a[4]; + /* VERIFY_BITS(c, 64); */ + VERIFY_CHECK(c <= 0x8000007C00000007ULL); + /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + d += (uint64_t)(a[8]*2) * a[9]; + VERIFY_BITS(d, 58); + /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + u7 = d & M; d >>= 26; c += u7 * R0; + VERIFY_BITS(u7, 26); + VERIFY_BITS(d, 32); + /* VERIFY_BITS(c, 64); */ + VERIFY_CHECK(c <= 0x800001703FFFC2F7ULL); + /* [d u7 0 0 0 0 0 0 0 t9 0 c-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + t7 = c & M; c >>= 26; c += u7 * R1; + VERIFY_BITS(t7, 26); + VERIFY_BITS(c, 38); + /* [d u7 0 0 0 0 0 0 0 t9 c-u7*R1 t7-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + + c += (uint64_t)(a[0]*2) * a[8] + + (uint64_t)(a[1]*2) * a[7] + + (uint64_t)(a[2]*2) * a[6] + + (uint64_t)(a[3]*2) * a[5] + + (uint64_t)a[4] * a[4]; + /* VERIFY_BITS(c, 64); */ + VERIFY_CHECK(c <= 0x9000007B80000008ULL); + /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + d += (uint64_t)a[9] * a[9]; + VERIFY_BITS(d, 57); + /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + u8 = d & M; d >>= 26; c += u8 * R0; + VERIFY_BITS(u8, 26); + VERIFY_BITS(d, 31); + /* VERIFY_BITS(c, 64); */ + VERIFY_CHECK(c <= 0x9000016FBFFFC2F8ULL); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + + r[3] = t3; + VERIFY_BITS(r[3], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[4] = t4; + VERIFY_BITS(r[4], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[5] = t5; + VERIFY_BITS(r[5], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[6] = t6; + VERIFY_BITS(r[6], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[7] = t7; + VERIFY_BITS(r[7], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + + r[8] = c & M; c >>= 26; c += u8 * R1; + VERIFY_BITS(r[8], 26); + VERIFY_BITS(c, 39); + /* [d u8 0 0 0 0 0 0 0 0 t9+c-u8*R1 r8-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 0 0 0 t9+c r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + c += d * R0 + t9; + VERIFY_BITS(c, 45); + /* [d 0 0 0 0 0 0 0 0 0 c-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[9] = c & (M >> 4); c >>= 22; c += d * (R1 << 4); + VERIFY_BITS(r[9], 22); + VERIFY_BITS(c, 46); + /* [d 0 0 0 0 0 0 0 0 r9+((c-d*R1<<4)<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 0 -d*R1 r9+(c<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + + d = c * (R0 >> 4) + t0; + VERIFY_BITS(d, 56); + /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 d-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[0] = d & M; d >>= 26; + VERIFY_BITS(r[0], 26); + VERIFY_BITS(d, 30); + /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1+d r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + d += c * (R1 >> 4) + t1; + VERIFY_BITS(d, 53); + VERIFY_CHECK(d <= 0x10000003FFFFBFULL); + /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 d-c*R1>>4 r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [r9 r8 r7 r6 r5 r4 r3 t2 d r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[1] = d & M; d >>= 26; + VERIFY_BITS(r[1], 26); + VERIFY_BITS(d, 27); + VERIFY_CHECK(d <= 0x4000000ULL); + /* [r9 r8 r7 r6 r5 r4 r3 t2+d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + d += t2; + VERIFY_BITS(d, 27); + /* [r9 r8 r7 r6 r5 r4 r3 d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[2] = d; + VERIFY_BITS(r[2], 27); + /* [r9 r8 r7 r6 r5 r4 r3 r2 r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ +} +#endif + +static void secp256k1_fe_mul(secp256k1_fe *r, const secp256k1_fe *a, const secp256k1_fe * SECP256K1_RESTRICT b) { +#ifdef VERIFY + VERIFY_CHECK(a->magnitude <= 8); + VERIFY_CHECK(b->magnitude <= 8); + secp256k1_fe_verify(a); + secp256k1_fe_verify(b); + VERIFY_CHECK(r != b); +#endif + secp256k1_fe_mul_inner(r->n, a->n, b->n); +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +static void secp256k1_fe_sqr(secp256k1_fe *r, const secp256k1_fe *a) { +#ifdef VERIFY + VERIFY_CHECK(a->magnitude <= 8); + secp256k1_fe_verify(a); +#endif + secp256k1_fe_sqr_inner(r->n, a->n); +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +static SECP256K1_INLINE void secp256k1_fe_cmov(secp256k1_fe *r, const secp256k1_fe *a, int flag) { + uint32_t mask0, mask1; + mask0 = flag + ~((uint32_t)0); + mask1 = ~mask0; + r->n[0] = (r->n[0] & mask0) | (a->n[0] & mask1); + r->n[1] = (r->n[1] & mask0) | (a->n[1] & mask1); + r->n[2] = (r->n[2] & mask0) | (a->n[2] & mask1); + r->n[3] = (r->n[3] & mask0) | (a->n[3] & mask1); + r->n[4] = (r->n[4] & mask0) | (a->n[4] & mask1); + r->n[5] = (r->n[5] & mask0) | (a->n[5] & mask1); + r->n[6] = (r->n[6] & mask0) | (a->n[6] & mask1); + r->n[7] = (r->n[7] & mask0) | (a->n[7] & mask1); + r->n[8] = (r->n[8] & mask0) | (a->n[8] & mask1); + r->n[9] = (r->n[9] & mask0) | (a->n[9] & mask1); +#ifdef VERIFY + if (a->magnitude > r->magnitude) { + r->magnitude = a->magnitude; + } + r->normalized &= a->normalized; +#endif +} + +static SECP256K1_INLINE void secp256k1_fe_storage_cmov(secp256k1_fe_storage *r, const secp256k1_fe_storage *a, int flag) { + uint32_t mask0, mask1; + mask0 = flag + ~((uint32_t)0); + mask1 = ~mask0; + r->n[0] = (r->n[0] & mask0) | (a->n[0] & mask1); + r->n[1] = (r->n[1] & mask0) | (a->n[1] & mask1); + r->n[2] = (r->n[2] & mask0) | (a->n[2] & mask1); + r->n[3] = (r->n[3] & mask0) | (a->n[3] & mask1); + r->n[4] = (r->n[4] & mask0) | (a->n[4] & mask1); + r->n[5] = (r->n[5] & mask0) | (a->n[5] & mask1); + r->n[6] = (r->n[6] & mask0) | (a->n[6] & mask1); + r->n[7] = (r->n[7] & mask0) | (a->n[7] & mask1); +} + +static void secp256k1_fe_to_storage(secp256k1_fe_storage *r, const secp256k1_fe *a) { +#ifdef VERIFY + VERIFY_CHECK(a->normalized); +#endif + r->n[0] = a->n[0] | a->n[1] << 26; + r->n[1] = a->n[1] >> 6 | a->n[2] << 20; + r->n[2] = a->n[2] >> 12 | a->n[3] << 14; + r->n[3] = a->n[3] >> 18 | a->n[4] << 8; + r->n[4] = a->n[4] >> 24 | a->n[5] << 2 | a->n[6] << 28; + r->n[5] = a->n[6] >> 4 | a->n[7] << 22; + r->n[6] = a->n[7] >> 10 | a->n[8] << 16; + r->n[7] = a->n[8] >> 16 | a->n[9] << 10; +} + +static SECP256K1_INLINE void secp256k1_fe_from_storage(secp256k1_fe *r, const secp256k1_fe_storage *a) { + r->n[0] = a->n[0] & 0x3FFFFFFUL; + r->n[1] = a->n[0] >> 26 | ((a->n[1] << 6) & 0x3FFFFFFUL); + r->n[2] = a->n[1] >> 20 | ((a->n[2] << 12) & 0x3FFFFFFUL); + r->n[3] = a->n[2] >> 14 | ((a->n[3] << 18) & 0x3FFFFFFUL); + r->n[4] = a->n[3] >> 8 | ((a->n[4] << 24) & 0x3FFFFFFUL); + r->n[5] = (a->n[4] >> 2) & 0x3FFFFFFUL; + r->n[6] = a->n[4] >> 28 | ((a->n[5] << 4) & 0x3FFFFFFUL); + r->n[7] = a->n[5] >> 22 | ((a->n[6] << 10) & 0x3FFFFFFUL); + r->n[8] = a->n[6] >> 16 | ((a->n[7] << 16) & 0x3FFFFFFUL); + r->n[9] = a->n[7] >> 10; +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 1; +#endif +} + +#endif /* SECP256K1_FIELD_REPR_IMPL_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/field_5x52.h b/Pods/secp256k1_swift/Classes/secp256k1/src/field_5x52.h new file mode 100644 index 000000000..bccd8feb4 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/field_5x52.h @@ -0,0 +1,47 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_FIELD_REPR_H +#define SECP256K1_FIELD_REPR_H + +#include + +typedef struct { + /* X = sum(i=0..4, elem[i]*2^52) mod n */ + uint64_t n[5]; +#ifdef VERIFY + int magnitude; + int normalized; +#endif +} secp256k1_fe; + +/* Unpacks a constant into a overlapping multi-limbed FE element. */ +#define SECP256K1_FE_CONST_INNER(d7, d6, d5, d4, d3, d2, d1, d0) { \ + (d0) | (((uint64_t)(d1) & 0xFFFFFUL) << 32), \ + ((uint64_t)(d1) >> 20) | (((uint64_t)(d2)) << 12) | (((uint64_t)(d3) & 0xFFUL) << 44), \ + ((uint64_t)(d3) >> 8) | (((uint64_t)(d4) & 0xFFFFFFFUL) << 24), \ + ((uint64_t)(d4) >> 28) | (((uint64_t)(d5)) << 4) | (((uint64_t)(d6) & 0xFFFFUL) << 36), \ + ((uint64_t)(d6) >> 16) | (((uint64_t)(d7)) << 16) \ +} + +#ifdef VERIFY +#define SECP256K1_FE_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {SECP256K1_FE_CONST_INNER((d7), (d6), (d5), (d4), (d3), (d2), (d1), (d0)), 1, 1} +#else +#define SECP256K1_FE_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {SECP256K1_FE_CONST_INNER((d7), (d6), (d5), (d4), (d3), (d2), (d1), (d0))} +#endif + +typedef struct { + uint64_t n[4]; +} secp256k1_fe_storage; + +#define SECP256K1_FE_STORAGE_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {{ \ + (d0) | (((uint64_t)(d1)) << 32), \ + (d2) | (((uint64_t)(d3)) << 32), \ + (d4) | (((uint64_t)(d5)) << 32), \ + (d6) | (((uint64_t)(d7)) << 32) \ +}} + +#endif /* SECP256K1_FIELD_REPR_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/field_5x52_asm_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/field_5x52_asm_impl.h new file mode 100644 index 000000000..1fc3171f6 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/field_5x52_asm_impl.h @@ -0,0 +1,502 @@ +/********************************************************************** + * Copyright (c) 2013-2014 Diederik Huys, Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +/** + * Changelog: + * - March 2013, Diederik Huys: original version + * - November 2014, Pieter Wuille: updated to use Peter Dettman's parallel multiplication algorithm + * - December 2014, Pieter Wuille: converted from YASM to GCC inline assembly + */ + +#ifndef SECP256K1_FIELD_INNER5X52_IMPL_H +#define SECP256K1_FIELD_INNER5X52_IMPL_H + +SECP256K1_INLINE static void secp256k1_fe_mul_inner(uint64_t *r, const uint64_t *a, const uint64_t * SECP256K1_RESTRICT b) { +/** + * Registers: rdx:rax = multiplication accumulator + * r9:r8 = c + * r15:rcx = d + * r10-r14 = a0-a4 + * rbx = b + * rdi = r + * rsi = a / t? + */ + uint64_t tmp1, tmp2, tmp3; +__asm__ __volatile__( + "movq 0(%%rsi),%%r10\n" + "movq 8(%%rsi),%%r11\n" + "movq 16(%%rsi),%%r12\n" + "movq 24(%%rsi),%%r13\n" + "movq 32(%%rsi),%%r14\n" + + /* d += a3 * b0 */ + "movq 0(%%rbx),%%rax\n" + "mulq %%r13\n" + "movq %%rax,%%rcx\n" + "movq %%rdx,%%r15\n" + /* d += a2 * b1 */ + "movq 8(%%rbx),%%rax\n" + "mulq %%r12\n" + "addq %%rax,%%rcx\n" + "adcq %%rdx,%%r15\n" + /* d += a1 * b2 */ + "movq 16(%%rbx),%%rax\n" + "mulq %%r11\n" + "addq %%rax,%%rcx\n" + "adcq %%rdx,%%r15\n" + /* d = a0 * b3 */ + "movq 24(%%rbx),%%rax\n" + "mulq %%r10\n" + "addq %%rax,%%rcx\n" + "adcq %%rdx,%%r15\n" + /* c = a4 * b4 */ + "movq 32(%%rbx),%%rax\n" + "mulq %%r14\n" + "movq %%rax,%%r8\n" + "movq %%rdx,%%r9\n" + /* d += (c & M) * R */ + "movq $0xfffffffffffff,%%rdx\n" + "andq %%rdx,%%rax\n" + "movq $0x1000003d10,%%rdx\n" + "mulq %%rdx\n" + "addq %%rax,%%rcx\n" + "adcq %%rdx,%%r15\n" + /* c >>= 52 (%%r8 only) */ + "shrdq $52,%%r9,%%r8\n" + /* t3 (tmp1) = d & M */ + "movq %%rcx,%%rsi\n" + "movq $0xfffffffffffff,%%rdx\n" + "andq %%rdx,%%rsi\n" + "movq %%rsi,%q1\n" + /* d >>= 52 */ + "shrdq $52,%%r15,%%rcx\n" + "xorq %%r15,%%r15\n" + /* d += a4 * b0 */ + "movq 0(%%rbx),%%rax\n" + "mulq %%r14\n" + "addq %%rax,%%rcx\n" + "adcq %%rdx,%%r15\n" + /* d += a3 * b1 */ + "movq 8(%%rbx),%%rax\n" + "mulq %%r13\n" + "addq %%rax,%%rcx\n" + "adcq %%rdx,%%r15\n" + /* d += a2 * b2 */ + "movq 16(%%rbx),%%rax\n" + "mulq %%r12\n" + "addq %%rax,%%rcx\n" + "adcq %%rdx,%%r15\n" + /* d += a1 * b3 */ + "movq 24(%%rbx),%%rax\n" + "mulq %%r11\n" + "addq %%rax,%%rcx\n" + "adcq %%rdx,%%r15\n" + /* d += a0 * b4 */ + "movq 32(%%rbx),%%rax\n" + "mulq %%r10\n" + "addq %%rax,%%rcx\n" + "adcq %%rdx,%%r15\n" + /* d += c * R */ + "movq %%r8,%%rax\n" + "movq $0x1000003d10,%%rdx\n" + "mulq %%rdx\n" + "addq %%rax,%%rcx\n" + "adcq %%rdx,%%r15\n" + /* t4 = d & M (%%rsi) */ + "movq %%rcx,%%rsi\n" + "movq $0xfffffffffffff,%%rdx\n" + "andq %%rdx,%%rsi\n" + /* d >>= 52 */ + "shrdq $52,%%r15,%%rcx\n" + "xorq %%r15,%%r15\n" + /* tx = t4 >> 48 (tmp3) */ + "movq %%rsi,%%rax\n" + "shrq $48,%%rax\n" + "movq %%rax,%q3\n" + /* t4 &= (M >> 4) (tmp2) */ + "movq $0xffffffffffff,%%rax\n" + "andq %%rax,%%rsi\n" + "movq %%rsi,%q2\n" + /* c = a0 * b0 */ + "movq 0(%%rbx),%%rax\n" + "mulq %%r10\n" + "movq %%rax,%%r8\n" + "movq %%rdx,%%r9\n" + /* d += a4 * b1 */ + "movq 8(%%rbx),%%rax\n" + "mulq %%r14\n" + "addq %%rax,%%rcx\n" + "adcq %%rdx,%%r15\n" + /* d += a3 * b2 */ + "movq 16(%%rbx),%%rax\n" + "mulq %%r13\n" + "addq %%rax,%%rcx\n" + "adcq %%rdx,%%r15\n" + /* d += a2 * b3 */ + "movq 24(%%rbx),%%rax\n" + "mulq %%r12\n" + "addq %%rax,%%rcx\n" + "adcq %%rdx,%%r15\n" + /* d += a1 * b4 */ + "movq 32(%%rbx),%%rax\n" + "mulq %%r11\n" + "addq %%rax,%%rcx\n" + "adcq %%rdx,%%r15\n" + /* u0 = d & M (%%rsi) */ + "movq %%rcx,%%rsi\n" + "movq $0xfffffffffffff,%%rdx\n" + "andq %%rdx,%%rsi\n" + /* d >>= 52 */ + "shrdq $52,%%r15,%%rcx\n" + "xorq %%r15,%%r15\n" + /* u0 = (u0 << 4) | tx (%%rsi) */ + "shlq $4,%%rsi\n" + "movq %q3,%%rax\n" + "orq %%rax,%%rsi\n" + /* c += u0 * (R >> 4) */ + "movq $0x1000003d1,%%rax\n" + "mulq %%rsi\n" + "addq %%rax,%%r8\n" + "adcq %%rdx,%%r9\n" + /* r[0] = c & M */ + "movq %%r8,%%rax\n" + "movq $0xfffffffffffff,%%rdx\n" + "andq %%rdx,%%rax\n" + "movq %%rax,0(%%rdi)\n" + /* c >>= 52 */ + "shrdq $52,%%r9,%%r8\n" + "xorq %%r9,%%r9\n" + /* c += a1 * b0 */ + "movq 0(%%rbx),%%rax\n" + "mulq %%r11\n" + "addq %%rax,%%r8\n" + "adcq %%rdx,%%r9\n" + /* c += a0 * b1 */ + "movq 8(%%rbx),%%rax\n" + "mulq %%r10\n" + "addq %%rax,%%r8\n" + "adcq %%rdx,%%r9\n" + /* d += a4 * b2 */ + "movq 16(%%rbx),%%rax\n" + "mulq %%r14\n" + "addq %%rax,%%rcx\n" + "adcq %%rdx,%%r15\n" + /* d += a3 * b3 */ + "movq 24(%%rbx),%%rax\n" + "mulq %%r13\n" + "addq %%rax,%%rcx\n" + "adcq %%rdx,%%r15\n" + /* d += a2 * b4 */ + "movq 32(%%rbx),%%rax\n" + "mulq %%r12\n" + "addq %%rax,%%rcx\n" + "adcq %%rdx,%%r15\n" + /* c += (d & M) * R */ + "movq %%rcx,%%rax\n" + "movq $0xfffffffffffff,%%rdx\n" + "andq %%rdx,%%rax\n" + "movq $0x1000003d10,%%rdx\n" + "mulq %%rdx\n" + "addq %%rax,%%r8\n" + "adcq %%rdx,%%r9\n" + /* d >>= 52 */ + "shrdq $52,%%r15,%%rcx\n" + "xorq %%r15,%%r15\n" + /* r[1] = c & M */ + "movq %%r8,%%rax\n" + "movq $0xfffffffffffff,%%rdx\n" + "andq %%rdx,%%rax\n" + "movq %%rax,8(%%rdi)\n" + /* c >>= 52 */ + "shrdq $52,%%r9,%%r8\n" + "xorq %%r9,%%r9\n" + /* c += a2 * b0 */ + "movq 0(%%rbx),%%rax\n" + "mulq %%r12\n" + "addq %%rax,%%r8\n" + "adcq %%rdx,%%r9\n" + /* c += a1 * b1 */ + "movq 8(%%rbx),%%rax\n" + "mulq %%r11\n" + "addq %%rax,%%r8\n" + "adcq %%rdx,%%r9\n" + /* c += a0 * b2 (last use of %%r10 = a0) */ + "movq 16(%%rbx),%%rax\n" + "mulq %%r10\n" + "addq %%rax,%%r8\n" + "adcq %%rdx,%%r9\n" + /* fetch t3 (%%r10, overwrites a0), t4 (%%rsi) */ + "movq %q2,%%rsi\n" + "movq %q1,%%r10\n" + /* d += a4 * b3 */ + "movq 24(%%rbx),%%rax\n" + "mulq %%r14\n" + "addq %%rax,%%rcx\n" + "adcq %%rdx,%%r15\n" + /* d += a3 * b4 */ + "movq 32(%%rbx),%%rax\n" + "mulq %%r13\n" + "addq %%rax,%%rcx\n" + "adcq %%rdx,%%r15\n" + /* c += (d & M) * R */ + "movq %%rcx,%%rax\n" + "movq $0xfffffffffffff,%%rdx\n" + "andq %%rdx,%%rax\n" + "movq $0x1000003d10,%%rdx\n" + "mulq %%rdx\n" + "addq %%rax,%%r8\n" + "adcq %%rdx,%%r9\n" + /* d >>= 52 (%%rcx only) */ + "shrdq $52,%%r15,%%rcx\n" + /* r[2] = c & M */ + "movq %%r8,%%rax\n" + "movq $0xfffffffffffff,%%rdx\n" + "andq %%rdx,%%rax\n" + "movq %%rax,16(%%rdi)\n" + /* c >>= 52 */ + "shrdq $52,%%r9,%%r8\n" + "xorq %%r9,%%r9\n" + /* c += t3 */ + "addq %%r10,%%r8\n" + /* c += d * R */ + "movq %%rcx,%%rax\n" + "movq $0x1000003d10,%%rdx\n" + "mulq %%rdx\n" + "addq %%rax,%%r8\n" + "adcq %%rdx,%%r9\n" + /* r[3] = c & M */ + "movq %%r8,%%rax\n" + "movq $0xfffffffffffff,%%rdx\n" + "andq %%rdx,%%rax\n" + "movq %%rax,24(%%rdi)\n" + /* c >>= 52 (%%r8 only) */ + "shrdq $52,%%r9,%%r8\n" + /* c += t4 (%%r8 only) */ + "addq %%rsi,%%r8\n" + /* r[4] = c */ + "movq %%r8,32(%%rdi)\n" +: "+S"(a), "=m"(tmp1), "=m"(tmp2), "=m"(tmp3) +: "b"(b), "D"(r) +: "%rax", "%rcx", "%rdx", "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15", "cc", "memory" +); +} + +SECP256K1_INLINE static void secp256k1_fe_sqr_inner(uint64_t *r, const uint64_t *a) { +/** + * Registers: rdx:rax = multiplication accumulator + * r9:r8 = c + * rcx:rbx = d + * r10-r14 = a0-a4 + * r15 = M (0xfffffffffffff) + * rdi = r + * rsi = a / t? + */ + uint64_t tmp1, tmp2, tmp3; +__asm__ __volatile__( + "movq 0(%%rsi),%%r10\n" + "movq 8(%%rsi),%%r11\n" + "movq 16(%%rsi),%%r12\n" + "movq 24(%%rsi),%%r13\n" + "movq 32(%%rsi),%%r14\n" + "movq $0xfffffffffffff,%%r15\n" + + /* d = (a0*2) * a3 */ + "leaq (%%r10,%%r10,1),%%rax\n" + "mulq %%r13\n" + "movq %%rax,%%rbx\n" + "movq %%rdx,%%rcx\n" + /* d += (a1*2) * a2 */ + "leaq (%%r11,%%r11,1),%%rax\n" + "mulq %%r12\n" + "addq %%rax,%%rbx\n" + "adcq %%rdx,%%rcx\n" + /* c = a4 * a4 */ + "movq %%r14,%%rax\n" + "mulq %%r14\n" + "movq %%rax,%%r8\n" + "movq %%rdx,%%r9\n" + /* d += (c & M) * R */ + "andq %%r15,%%rax\n" + "movq $0x1000003d10,%%rdx\n" + "mulq %%rdx\n" + "addq %%rax,%%rbx\n" + "adcq %%rdx,%%rcx\n" + /* c >>= 52 (%%r8 only) */ + "shrdq $52,%%r9,%%r8\n" + /* t3 (tmp1) = d & M */ + "movq %%rbx,%%rsi\n" + "andq %%r15,%%rsi\n" + "movq %%rsi,%q1\n" + /* d >>= 52 */ + "shrdq $52,%%rcx,%%rbx\n" + "xorq %%rcx,%%rcx\n" + /* a4 *= 2 */ + "addq %%r14,%%r14\n" + /* d += a0 * a4 */ + "movq %%r10,%%rax\n" + "mulq %%r14\n" + "addq %%rax,%%rbx\n" + "adcq %%rdx,%%rcx\n" + /* d+= (a1*2) * a3 */ + "leaq (%%r11,%%r11,1),%%rax\n" + "mulq %%r13\n" + "addq %%rax,%%rbx\n" + "adcq %%rdx,%%rcx\n" + /* d += a2 * a2 */ + "movq %%r12,%%rax\n" + "mulq %%r12\n" + "addq %%rax,%%rbx\n" + "adcq %%rdx,%%rcx\n" + /* d += c * R */ + "movq %%r8,%%rax\n" + "movq $0x1000003d10,%%rdx\n" + "mulq %%rdx\n" + "addq %%rax,%%rbx\n" + "adcq %%rdx,%%rcx\n" + /* t4 = d & M (%%rsi) */ + "movq %%rbx,%%rsi\n" + "andq %%r15,%%rsi\n" + /* d >>= 52 */ + "shrdq $52,%%rcx,%%rbx\n" + "xorq %%rcx,%%rcx\n" + /* tx = t4 >> 48 (tmp3) */ + "movq %%rsi,%%rax\n" + "shrq $48,%%rax\n" + "movq %%rax,%q3\n" + /* t4 &= (M >> 4) (tmp2) */ + "movq $0xffffffffffff,%%rax\n" + "andq %%rax,%%rsi\n" + "movq %%rsi,%q2\n" + /* c = a0 * a0 */ + "movq %%r10,%%rax\n" + "mulq %%r10\n" + "movq %%rax,%%r8\n" + "movq %%rdx,%%r9\n" + /* d += a1 * a4 */ + "movq %%r11,%%rax\n" + "mulq %%r14\n" + "addq %%rax,%%rbx\n" + "adcq %%rdx,%%rcx\n" + /* d += (a2*2) * a3 */ + "leaq (%%r12,%%r12,1),%%rax\n" + "mulq %%r13\n" + "addq %%rax,%%rbx\n" + "adcq %%rdx,%%rcx\n" + /* u0 = d & M (%%rsi) */ + "movq %%rbx,%%rsi\n" + "andq %%r15,%%rsi\n" + /* d >>= 52 */ + "shrdq $52,%%rcx,%%rbx\n" + "xorq %%rcx,%%rcx\n" + /* u0 = (u0 << 4) | tx (%%rsi) */ + "shlq $4,%%rsi\n" + "movq %q3,%%rax\n" + "orq %%rax,%%rsi\n" + /* c += u0 * (R >> 4) */ + "movq $0x1000003d1,%%rax\n" + "mulq %%rsi\n" + "addq %%rax,%%r8\n" + "adcq %%rdx,%%r9\n" + /* r[0] = c & M */ + "movq %%r8,%%rax\n" + "andq %%r15,%%rax\n" + "movq %%rax,0(%%rdi)\n" + /* c >>= 52 */ + "shrdq $52,%%r9,%%r8\n" + "xorq %%r9,%%r9\n" + /* a0 *= 2 */ + "addq %%r10,%%r10\n" + /* c += a0 * a1 */ + "movq %%r10,%%rax\n" + "mulq %%r11\n" + "addq %%rax,%%r8\n" + "adcq %%rdx,%%r9\n" + /* d += a2 * a4 */ + "movq %%r12,%%rax\n" + "mulq %%r14\n" + "addq %%rax,%%rbx\n" + "adcq %%rdx,%%rcx\n" + /* d += a3 * a3 */ + "movq %%r13,%%rax\n" + "mulq %%r13\n" + "addq %%rax,%%rbx\n" + "adcq %%rdx,%%rcx\n" + /* c += (d & M) * R */ + "movq %%rbx,%%rax\n" + "andq %%r15,%%rax\n" + "movq $0x1000003d10,%%rdx\n" + "mulq %%rdx\n" + "addq %%rax,%%r8\n" + "adcq %%rdx,%%r9\n" + /* d >>= 52 */ + "shrdq $52,%%rcx,%%rbx\n" + "xorq %%rcx,%%rcx\n" + /* r[1] = c & M */ + "movq %%r8,%%rax\n" + "andq %%r15,%%rax\n" + "movq %%rax,8(%%rdi)\n" + /* c >>= 52 */ + "shrdq $52,%%r9,%%r8\n" + "xorq %%r9,%%r9\n" + /* c += a0 * a2 (last use of %%r10) */ + "movq %%r10,%%rax\n" + "mulq %%r12\n" + "addq %%rax,%%r8\n" + "adcq %%rdx,%%r9\n" + /* fetch t3 (%%r10, overwrites a0),t4 (%%rsi) */ + "movq %q2,%%rsi\n" + "movq %q1,%%r10\n" + /* c += a1 * a1 */ + "movq %%r11,%%rax\n" + "mulq %%r11\n" + "addq %%rax,%%r8\n" + "adcq %%rdx,%%r9\n" + /* d += a3 * a4 */ + "movq %%r13,%%rax\n" + "mulq %%r14\n" + "addq %%rax,%%rbx\n" + "adcq %%rdx,%%rcx\n" + /* c += (d & M) * R */ + "movq %%rbx,%%rax\n" + "andq %%r15,%%rax\n" + "movq $0x1000003d10,%%rdx\n" + "mulq %%rdx\n" + "addq %%rax,%%r8\n" + "adcq %%rdx,%%r9\n" + /* d >>= 52 (%%rbx only) */ + "shrdq $52,%%rcx,%%rbx\n" + /* r[2] = c & M */ + "movq %%r8,%%rax\n" + "andq %%r15,%%rax\n" + "movq %%rax,16(%%rdi)\n" + /* c >>= 52 */ + "shrdq $52,%%r9,%%r8\n" + "xorq %%r9,%%r9\n" + /* c += t3 */ + "addq %%r10,%%r8\n" + /* c += d * R */ + "movq %%rbx,%%rax\n" + "movq $0x1000003d10,%%rdx\n" + "mulq %%rdx\n" + "addq %%rax,%%r8\n" + "adcq %%rdx,%%r9\n" + /* r[3] = c & M */ + "movq %%r8,%%rax\n" + "andq %%r15,%%rax\n" + "movq %%rax,24(%%rdi)\n" + /* c >>= 52 (%%r8 only) */ + "shrdq $52,%%r9,%%r8\n" + /* c += t4 (%%r8 only) */ + "addq %%rsi,%%r8\n" + /* r[4] = c */ + "movq %%r8,32(%%rdi)\n" +: "+S"(a), "=m"(tmp1), "=m"(tmp2), "=m"(tmp3) +: "D"(r) +: "%rax", "%rbx", "%rcx", "%rdx", "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15", "cc", "memory" +); +} + +#endif /* SECP256K1_FIELD_INNER5X52_IMPL_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/field_5x52_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/field_5x52_impl.h new file mode 100644 index 000000000..957c61b01 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/field_5x52_impl.h @@ -0,0 +1,496 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_FIELD_REPR_IMPL_H +#define SECP256K1_FIELD_REPR_IMPL_H + +#if defined HAVE_CONFIG_H +#include "libsecp256k1-config.h" +#endif + +#include "util.h" +#include "num.h" +#include "field.h" + +#if defined(USE_ASM_X86_64) +#include "field_5x52_asm_impl.h" +#else +#include "field_5x52_int128_impl.h" +#endif + +/** Implements arithmetic modulo FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F, + * represented as 5 uint64_t's in base 2^52. The values are allowed to contain >52 each. In particular, + * each FieldElem has a 'magnitude' associated with it. Internally, a magnitude M means each element + * is at most M*(2^53-1), except the most significant one, which is limited to M*(2^49-1). All operations + * accept any input with magnitude at most M, and have different rules for propagating magnitude to their + * output. + */ + +#ifdef VERIFY +static void secp256k1_fe_verify(const secp256k1_fe *a) { + const uint64_t *d = a->n; + int m = a->normalized ? 1 : 2 * a->magnitude, r = 1; + /* secp256k1 'p' value defined in "Standards for Efficient Cryptography" (SEC2) 2.7.1. */ + r &= (d[0] <= 0xFFFFFFFFFFFFFULL * m); + r &= (d[1] <= 0xFFFFFFFFFFFFFULL * m); + r &= (d[2] <= 0xFFFFFFFFFFFFFULL * m); + r &= (d[3] <= 0xFFFFFFFFFFFFFULL * m); + r &= (d[4] <= 0x0FFFFFFFFFFFFULL * m); + r &= (a->magnitude >= 0); + r &= (a->magnitude <= 2048); + if (a->normalized) { + r &= (a->magnitude <= 1); + if (r && (d[4] == 0x0FFFFFFFFFFFFULL) && ((d[3] & d[2] & d[1]) == 0xFFFFFFFFFFFFFULL)) { + r &= (d[0] < 0xFFFFEFFFFFC2FULL); + } + } + VERIFY_CHECK(r == 1); +} +#endif + +static void secp256k1_fe_normalize(secp256k1_fe *r) { + uint64_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4]; + + /* Reduce t4 at the start so there will be at most a single carry from the first pass */ + uint64_t m; + uint64_t x = t4 >> 48; t4 &= 0x0FFFFFFFFFFFFULL; + + /* The first pass ensures the magnitude is 1, ... */ + t0 += x * 0x1000003D1ULL; + t1 += (t0 >> 52); t0 &= 0xFFFFFFFFFFFFFULL; + t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; m = t1; + t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; m &= t2; + t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; m &= t3; + + /* ... except for a possible carry at bit 48 of t4 (i.e. bit 256 of the field element) */ + VERIFY_CHECK(t4 >> 49 == 0); + + /* At most a single final reduction is needed; check if the value is >= the field characteristic */ + x = (t4 >> 48) | ((t4 == 0x0FFFFFFFFFFFFULL) & (m == 0xFFFFFFFFFFFFFULL) + & (t0 >= 0xFFFFEFFFFFC2FULL)); + + /* Apply the final reduction (for constant-time behaviour, we do it always) */ + t0 += x * 0x1000003D1ULL; + t1 += (t0 >> 52); t0 &= 0xFFFFFFFFFFFFFULL; + t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; + t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; + t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; + + /* If t4 didn't carry to bit 48 already, then it should have after any final reduction */ + VERIFY_CHECK(t4 >> 48 == x); + + /* Mask off the possible multiple of 2^256 from the final reduction */ + t4 &= 0x0FFFFFFFFFFFFULL; + + r->n[0] = t0; r->n[1] = t1; r->n[2] = t2; r->n[3] = t3; r->n[4] = t4; + +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 1; + secp256k1_fe_verify(r); +#endif +} + +static void secp256k1_fe_normalize_weak(secp256k1_fe *r) { + uint64_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4]; + + /* Reduce t4 at the start so there will be at most a single carry from the first pass */ + uint64_t x = t4 >> 48; t4 &= 0x0FFFFFFFFFFFFULL; + + /* The first pass ensures the magnitude is 1, ... */ + t0 += x * 0x1000003D1ULL; + t1 += (t0 >> 52); t0 &= 0xFFFFFFFFFFFFFULL; + t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; + t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; + t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; + + /* ... except for a possible carry at bit 48 of t4 (i.e. bit 256 of the field element) */ + VERIFY_CHECK(t4 >> 49 == 0); + + r->n[0] = t0; r->n[1] = t1; r->n[2] = t2; r->n[3] = t3; r->n[4] = t4; + +#ifdef VERIFY + r->magnitude = 1; + secp256k1_fe_verify(r); +#endif +} + +static void secp256k1_fe_normalize_var(secp256k1_fe *r) { + uint64_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4]; + + /* Reduce t4 at the start so there will be at most a single carry from the first pass */ + uint64_t m; + uint64_t x = t4 >> 48; t4 &= 0x0FFFFFFFFFFFFULL; + + /* The first pass ensures the magnitude is 1, ... */ + t0 += x * 0x1000003D1ULL; + t1 += (t0 >> 52); t0 &= 0xFFFFFFFFFFFFFULL; + t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; m = t1; + t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; m &= t2; + t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; m &= t3; + + /* ... except for a possible carry at bit 48 of t4 (i.e. bit 256 of the field element) */ + VERIFY_CHECK(t4 >> 49 == 0); + + /* At most a single final reduction is needed; check if the value is >= the field characteristic */ + x = (t4 >> 48) | ((t4 == 0x0FFFFFFFFFFFFULL) & (m == 0xFFFFFFFFFFFFFULL) + & (t0 >= 0xFFFFEFFFFFC2FULL)); + + if (x) { + t0 += 0x1000003D1ULL; + t1 += (t0 >> 52); t0 &= 0xFFFFFFFFFFFFFULL; + t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; + t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; + t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; + + /* If t4 didn't carry to bit 48 already, then it should have after any final reduction */ + VERIFY_CHECK(t4 >> 48 == x); + + /* Mask off the possible multiple of 2^256 from the final reduction */ + t4 &= 0x0FFFFFFFFFFFFULL; + } + + r->n[0] = t0; r->n[1] = t1; r->n[2] = t2; r->n[3] = t3; r->n[4] = t4; + +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 1; + secp256k1_fe_verify(r); +#endif +} + +static int secp256k1_fe_normalizes_to_zero(secp256k1_fe *r) { + uint64_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4]; + + /* z0 tracks a possible raw value of 0, z1 tracks a possible raw value of P */ + uint64_t z0, z1; + + /* Reduce t4 at the start so there will be at most a single carry from the first pass */ + uint64_t x = t4 >> 48; t4 &= 0x0FFFFFFFFFFFFULL; + + /* The first pass ensures the magnitude is 1, ... */ + t0 += x * 0x1000003D1ULL; + t1 += (t0 >> 52); t0 &= 0xFFFFFFFFFFFFFULL; z0 = t0; z1 = t0 ^ 0x1000003D0ULL; + t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; z0 |= t1; z1 &= t1; + t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; z0 |= t2; z1 &= t2; + t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; z0 |= t3; z1 &= t3; + z0 |= t4; z1 &= t4 ^ 0xF000000000000ULL; + + /* ... except for a possible carry at bit 48 of t4 (i.e. bit 256 of the field element) */ + VERIFY_CHECK(t4 >> 49 == 0); + + return (z0 == 0) | (z1 == 0xFFFFFFFFFFFFFULL); +} + +static int secp256k1_fe_normalizes_to_zero_var(secp256k1_fe *r) { + uint64_t t0, t1, t2, t3, t4; + uint64_t z0, z1; + uint64_t x; + + t0 = r->n[0]; + t4 = r->n[4]; + + /* Reduce t4 at the start so there will be at most a single carry from the first pass */ + x = t4 >> 48; + + /* The first pass ensures the magnitude is 1, ... */ + t0 += x * 0x1000003D1ULL; + + /* z0 tracks a possible raw value of 0, z1 tracks a possible raw value of P */ + z0 = t0 & 0xFFFFFFFFFFFFFULL; + z1 = z0 ^ 0x1000003D0ULL; + + /* Fast return path should catch the majority of cases */ + if ((z0 != 0ULL) & (z1 != 0xFFFFFFFFFFFFFULL)) { + return 0; + } + + t1 = r->n[1]; + t2 = r->n[2]; + t3 = r->n[3]; + + t4 &= 0x0FFFFFFFFFFFFULL; + + t1 += (t0 >> 52); + t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; z0 |= t1; z1 &= t1; + t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; z0 |= t2; z1 &= t2; + t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; z0 |= t3; z1 &= t3; + z0 |= t4; z1 &= t4 ^ 0xF000000000000ULL; + + /* ... except for a possible carry at bit 48 of t4 (i.e. bit 256 of the field element) */ + VERIFY_CHECK(t4 >> 49 == 0); + + return (z0 == 0) | (z1 == 0xFFFFFFFFFFFFFULL); +} + +SECP256K1_INLINE static void secp256k1_fe_set_int(secp256k1_fe *r, int a) { + r->n[0] = a; + r->n[1] = r->n[2] = r->n[3] = r->n[4] = 0; +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 1; + secp256k1_fe_verify(r); +#endif +} + +SECP256K1_INLINE static int secp256k1_fe_is_zero(const secp256k1_fe *a) { + const uint64_t *t = a->n; +#ifdef VERIFY + VERIFY_CHECK(a->normalized); + secp256k1_fe_verify(a); +#endif + return (t[0] | t[1] | t[2] | t[3] | t[4]) == 0; +} + +SECP256K1_INLINE static int secp256k1_fe_is_odd(const secp256k1_fe *a) { +#ifdef VERIFY + VERIFY_CHECK(a->normalized); + secp256k1_fe_verify(a); +#endif + return a->n[0] & 1; +} + +SECP256K1_INLINE static void secp256k1_fe_clear(secp256k1_fe *a) { + int i; +#ifdef VERIFY + a->magnitude = 0; + a->normalized = 1; +#endif + for (i=0; i<5; i++) { + a->n[i] = 0; + } +} + +static int secp256k1_fe_cmp_var(const secp256k1_fe *a, const secp256k1_fe *b) { + int i; +#ifdef VERIFY + VERIFY_CHECK(a->normalized); + VERIFY_CHECK(b->normalized); + secp256k1_fe_verify(a); + secp256k1_fe_verify(b); +#endif + for (i = 4; i >= 0; i--) { + if (a->n[i] > b->n[i]) { + return 1; + } + if (a->n[i] < b->n[i]) { + return -1; + } + } + return 0; +} + +static int secp256k1_fe_set_b32(secp256k1_fe *r, const unsigned char *a) { + r->n[0] = (uint64_t)a[31] + | ((uint64_t)a[30] << 8) + | ((uint64_t)a[29] << 16) + | ((uint64_t)a[28] << 24) + | ((uint64_t)a[27] << 32) + | ((uint64_t)a[26] << 40) + | ((uint64_t)(a[25] & 0xF) << 48); + r->n[1] = (uint64_t)((a[25] >> 4) & 0xF) + | ((uint64_t)a[24] << 4) + | ((uint64_t)a[23] << 12) + | ((uint64_t)a[22] << 20) + | ((uint64_t)a[21] << 28) + | ((uint64_t)a[20] << 36) + | ((uint64_t)a[19] << 44); + r->n[2] = (uint64_t)a[18] + | ((uint64_t)a[17] << 8) + | ((uint64_t)a[16] << 16) + | ((uint64_t)a[15] << 24) + | ((uint64_t)a[14] << 32) + | ((uint64_t)a[13] << 40) + | ((uint64_t)(a[12] & 0xF) << 48); + r->n[3] = (uint64_t)((a[12] >> 4) & 0xF) + | ((uint64_t)a[11] << 4) + | ((uint64_t)a[10] << 12) + | ((uint64_t)a[9] << 20) + | ((uint64_t)a[8] << 28) + | ((uint64_t)a[7] << 36) + | ((uint64_t)a[6] << 44); + r->n[4] = (uint64_t)a[5] + | ((uint64_t)a[4] << 8) + | ((uint64_t)a[3] << 16) + | ((uint64_t)a[2] << 24) + | ((uint64_t)a[1] << 32) + | ((uint64_t)a[0] << 40); + if (r->n[4] == 0x0FFFFFFFFFFFFULL && (r->n[3] & r->n[2] & r->n[1]) == 0xFFFFFFFFFFFFFULL && r->n[0] >= 0xFFFFEFFFFFC2FULL) { + return 0; + } +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 1; + secp256k1_fe_verify(r); +#endif + return 1; +} + +/** Convert a field element to a 32-byte big endian value. Requires the input to be normalized */ +static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe *a) { +#ifdef VERIFY + VERIFY_CHECK(a->normalized); + secp256k1_fe_verify(a); +#endif + r[0] = (a->n[4] >> 40) & 0xFF; + r[1] = (a->n[4] >> 32) & 0xFF; + r[2] = (a->n[4] >> 24) & 0xFF; + r[3] = (a->n[4] >> 16) & 0xFF; + r[4] = (a->n[4] >> 8) & 0xFF; + r[5] = a->n[4] & 0xFF; + r[6] = (a->n[3] >> 44) & 0xFF; + r[7] = (a->n[3] >> 36) & 0xFF; + r[8] = (a->n[3] >> 28) & 0xFF; + r[9] = (a->n[3] >> 20) & 0xFF; + r[10] = (a->n[3] >> 12) & 0xFF; + r[11] = (a->n[3] >> 4) & 0xFF; + r[12] = ((a->n[2] >> 48) & 0xF) | ((a->n[3] & 0xF) << 4); + r[13] = (a->n[2] >> 40) & 0xFF; + r[14] = (a->n[2] >> 32) & 0xFF; + r[15] = (a->n[2] >> 24) & 0xFF; + r[16] = (a->n[2] >> 16) & 0xFF; + r[17] = (a->n[2] >> 8) & 0xFF; + r[18] = a->n[2] & 0xFF; + r[19] = (a->n[1] >> 44) & 0xFF; + r[20] = (a->n[1] >> 36) & 0xFF; + r[21] = (a->n[1] >> 28) & 0xFF; + r[22] = (a->n[1] >> 20) & 0xFF; + r[23] = (a->n[1] >> 12) & 0xFF; + r[24] = (a->n[1] >> 4) & 0xFF; + r[25] = ((a->n[0] >> 48) & 0xF) | ((a->n[1] & 0xF) << 4); + r[26] = (a->n[0] >> 40) & 0xFF; + r[27] = (a->n[0] >> 32) & 0xFF; + r[28] = (a->n[0] >> 24) & 0xFF; + r[29] = (a->n[0] >> 16) & 0xFF; + r[30] = (a->n[0] >> 8) & 0xFF; + r[31] = a->n[0] & 0xFF; +} + +SECP256K1_INLINE static void secp256k1_fe_negate(secp256k1_fe *r, const secp256k1_fe *a, int m) { +#ifdef VERIFY + VERIFY_CHECK(a->magnitude <= m); + secp256k1_fe_verify(a); +#endif + r->n[0] = 0xFFFFEFFFFFC2FULL * 2 * (m + 1) - a->n[0]; + r->n[1] = 0xFFFFFFFFFFFFFULL * 2 * (m + 1) - a->n[1]; + r->n[2] = 0xFFFFFFFFFFFFFULL * 2 * (m + 1) - a->n[2]; + r->n[3] = 0xFFFFFFFFFFFFFULL * 2 * (m + 1) - a->n[3]; + r->n[4] = 0x0FFFFFFFFFFFFULL * 2 * (m + 1) - a->n[4]; +#ifdef VERIFY + r->magnitude = m + 1; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +SECP256K1_INLINE static void secp256k1_fe_mul_int(secp256k1_fe *r, int a) { + r->n[0] *= a; + r->n[1] *= a; + r->n[2] *= a; + r->n[3] *= a; + r->n[4] *= a; +#ifdef VERIFY + r->magnitude *= a; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +SECP256K1_INLINE static void secp256k1_fe_add(secp256k1_fe *r, const secp256k1_fe *a) { +#ifdef VERIFY + secp256k1_fe_verify(a); +#endif + r->n[0] += a->n[0]; + r->n[1] += a->n[1]; + r->n[2] += a->n[2]; + r->n[3] += a->n[3]; + r->n[4] += a->n[4]; +#ifdef VERIFY + r->magnitude += a->magnitude; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +static void secp256k1_fe_mul(secp256k1_fe *r, const secp256k1_fe *a, const secp256k1_fe * SECP256K1_RESTRICT b) { +#ifdef VERIFY + VERIFY_CHECK(a->magnitude <= 8); + VERIFY_CHECK(b->magnitude <= 8); + secp256k1_fe_verify(a); + secp256k1_fe_verify(b); + VERIFY_CHECK(r != b); +#endif + secp256k1_fe_mul_inner(r->n, a->n, b->n); +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +static void secp256k1_fe_sqr(secp256k1_fe *r, const secp256k1_fe *a) { +#ifdef VERIFY + VERIFY_CHECK(a->magnitude <= 8); + secp256k1_fe_verify(a); +#endif + secp256k1_fe_sqr_inner(r->n, a->n); +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +static SECP256K1_INLINE void secp256k1_fe_cmov(secp256k1_fe *r, const secp256k1_fe *a, int flag) { + uint64_t mask0, mask1; + mask0 = flag + ~((uint64_t)0); + mask1 = ~mask0; + r->n[0] = (r->n[0] & mask0) | (a->n[0] & mask1); + r->n[1] = (r->n[1] & mask0) | (a->n[1] & mask1); + r->n[2] = (r->n[2] & mask0) | (a->n[2] & mask1); + r->n[3] = (r->n[3] & mask0) | (a->n[3] & mask1); + r->n[4] = (r->n[4] & mask0) | (a->n[4] & mask1); +#ifdef VERIFY + if (a->magnitude > r->magnitude) { + r->magnitude = a->magnitude; + } + r->normalized &= a->normalized; +#endif +} + +static SECP256K1_INLINE void secp256k1_fe_storage_cmov(secp256k1_fe_storage *r, const secp256k1_fe_storage *a, int flag) { + uint64_t mask0, mask1; + mask0 = flag + ~((uint64_t)0); + mask1 = ~mask0; + r->n[0] = (r->n[0] & mask0) | (a->n[0] & mask1); + r->n[1] = (r->n[1] & mask0) | (a->n[1] & mask1); + r->n[2] = (r->n[2] & mask0) | (a->n[2] & mask1); + r->n[3] = (r->n[3] & mask0) | (a->n[3] & mask1); +} + +static void secp256k1_fe_to_storage(secp256k1_fe_storage *r, const secp256k1_fe *a) { +#ifdef VERIFY + VERIFY_CHECK(a->normalized); +#endif + r->n[0] = a->n[0] | a->n[1] << 52; + r->n[1] = a->n[1] >> 12 | a->n[2] << 40; + r->n[2] = a->n[2] >> 24 | a->n[3] << 28; + r->n[3] = a->n[3] >> 36 | a->n[4] << 16; +} + +static SECP256K1_INLINE void secp256k1_fe_from_storage(secp256k1_fe *r, const secp256k1_fe_storage *a) { + r->n[0] = a->n[0] & 0xFFFFFFFFFFFFFULL; + r->n[1] = a->n[0] >> 52 | ((a->n[1] << 12) & 0xFFFFFFFFFFFFFULL); + r->n[2] = a->n[1] >> 40 | ((a->n[2] << 24) & 0xFFFFFFFFFFFFFULL); + r->n[3] = a->n[2] >> 28 | ((a->n[3] << 36) & 0xFFFFFFFFFFFFFULL); + r->n[4] = a->n[3] >> 16; +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 1; +#endif +} + +#endif /* SECP256K1_FIELD_REPR_IMPL_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/field_5x52_int128_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/field_5x52_int128_impl.h new file mode 100644 index 000000000..95a0d1791 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/field_5x52_int128_impl.h @@ -0,0 +1,277 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_FIELD_INNER5X52_IMPL_H +#define SECP256K1_FIELD_INNER5X52_IMPL_H + +#include + +#ifdef VERIFY +#define VERIFY_BITS(x, n) VERIFY_CHECK(((x) >> (n)) == 0) +#else +#define VERIFY_BITS(x, n) do { } while(0) +#endif + +SECP256K1_INLINE static void secp256k1_fe_mul_inner(uint64_t *r, const uint64_t *a, const uint64_t * SECP256K1_RESTRICT b) { + uint128_t c, d; + uint64_t t3, t4, tx, u0; + uint64_t a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4]; + const uint64_t M = 0xFFFFFFFFFFFFFULL, R = 0x1000003D10ULL; + + VERIFY_BITS(a[0], 56); + VERIFY_BITS(a[1], 56); + VERIFY_BITS(a[2], 56); + VERIFY_BITS(a[3], 56); + VERIFY_BITS(a[4], 52); + VERIFY_BITS(b[0], 56); + VERIFY_BITS(b[1], 56); + VERIFY_BITS(b[2], 56); + VERIFY_BITS(b[3], 56); + VERIFY_BITS(b[4], 52); + VERIFY_CHECK(r != b); + + /* [... a b c] is a shorthand for ... + a<<104 + b<<52 + c<<0 mod n. + * px is a shorthand for sum(a[i]*b[x-i], i=0..x). + * Note that [x 0 0 0 0 0] = [x*R]. + */ + + d = (uint128_t)a0 * b[3] + + (uint128_t)a1 * b[2] + + (uint128_t)a2 * b[1] + + (uint128_t)a3 * b[0]; + VERIFY_BITS(d, 114); + /* [d 0 0 0] = [p3 0 0 0] */ + c = (uint128_t)a4 * b[4]; + VERIFY_BITS(c, 112); + /* [c 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ + d += (c & M) * R; c >>= 52; + VERIFY_BITS(d, 115); + VERIFY_BITS(c, 60); + /* [c 0 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ + t3 = d & M; d >>= 52; + VERIFY_BITS(t3, 52); + VERIFY_BITS(d, 63); + /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ + + d += (uint128_t)a0 * b[4] + + (uint128_t)a1 * b[3] + + (uint128_t)a2 * b[2] + + (uint128_t)a3 * b[1] + + (uint128_t)a4 * b[0]; + VERIFY_BITS(d, 115); + /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ + d += c * R; + VERIFY_BITS(d, 116); + /* [d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ + t4 = d & M; d >>= 52; + VERIFY_BITS(t4, 52); + VERIFY_BITS(d, 64); + /* [d t4 t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ + tx = (t4 >> 48); t4 &= (M >> 4); + VERIFY_BITS(tx, 4); + VERIFY_BITS(t4, 48); + /* [d t4+(tx<<48) t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ + + c = (uint128_t)a0 * b[0]; + VERIFY_BITS(c, 112); + /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 0 p4 p3 0 0 p0] */ + d += (uint128_t)a1 * b[4] + + (uint128_t)a2 * b[3] + + (uint128_t)a3 * b[2] + + (uint128_t)a4 * b[1]; + VERIFY_BITS(d, 115); + /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + u0 = d & M; d >>= 52; + VERIFY_BITS(u0, 52); + VERIFY_BITS(d, 63); + /* [d u0 t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + /* [d 0 t4+(tx<<48)+(u0<<52) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + u0 = (u0 << 4) | tx; + VERIFY_BITS(u0, 56); + /* [d 0 t4+(u0<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + c += (uint128_t)u0 * (R >> 4); + VERIFY_BITS(c, 115); + /* [d 0 t4 t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + r[0] = c & M; c >>= 52; + VERIFY_BITS(r[0], 52); + VERIFY_BITS(c, 61); + /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 0 p0] */ + + c += (uint128_t)a0 * b[1] + + (uint128_t)a1 * b[0]; + VERIFY_BITS(c, 114); + /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 p1 p0] */ + d += (uint128_t)a2 * b[4] + + (uint128_t)a3 * b[3] + + (uint128_t)a4 * b[2]; + VERIFY_BITS(d, 114); + /* [d 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ + c += (d & M) * R; d >>= 52; + VERIFY_BITS(c, 115); + VERIFY_BITS(d, 62); + /* [d 0 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ + r[1] = c & M; c >>= 52; + VERIFY_BITS(r[1], 52); + VERIFY_BITS(c, 63); + /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ + + c += (uint128_t)a0 * b[2] + + (uint128_t)a1 * b[1] + + (uint128_t)a2 * b[0]; + VERIFY_BITS(c, 114); + /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 p2 p1 p0] */ + d += (uint128_t)a3 * b[4] + + (uint128_t)a4 * b[3]; + VERIFY_BITS(d, 114); + /* [d 0 0 t4 t3 c t1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + c += (d & M) * R; d >>= 52; + VERIFY_BITS(c, 115); + VERIFY_BITS(d, 62); + /* [d 0 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + + /* [d 0 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[2] = c & M; c >>= 52; + VERIFY_BITS(r[2], 52); + VERIFY_BITS(c, 63); + /* [d 0 0 0 t4 t3+c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + c += d * R + t3; + VERIFY_BITS(c, 100); + /* [t4 c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[3] = c & M; c >>= 52; + VERIFY_BITS(r[3], 52); + VERIFY_BITS(c, 48); + /* [t4+c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + c += t4; + VERIFY_BITS(c, 49); + /* [c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[4] = c; + VERIFY_BITS(r[4], 49); + /* [r4 r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ +} + +SECP256K1_INLINE static void secp256k1_fe_sqr_inner(uint64_t *r, const uint64_t *a) { + uint128_t c, d; + uint64_t a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4]; + int64_t t3, t4, tx, u0; + const uint64_t M = 0xFFFFFFFFFFFFFULL, R = 0x1000003D10ULL; + + VERIFY_BITS(a[0], 56); + VERIFY_BITS(a[1], 56); + VERIFY_BITS(a[2], 56); + VERIFY_BITS(a[3], 56); + VERIFY_BITS(a[4], 52); + + /** [... a b c] is a shorthand for ... + a<<104 + b<<52 + c<<0 mod n. + * px is a shorthand for sum(a[i]*a[x-i], i=0..x). + * Note that [x 0 0 0 0 0] = [x*R]. + */ + + d = (uint128_t)(a0*2) * a3 + + (uint128_t)(a1*2) * a2; + VERIFY_BITS(d, 114); + /* [d 0 0 0] = [p3 0 0 0] */ + c = (uint128_t)a4 * a4; + VERIFY_BITS(c, 112); + /* [c 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ + d += (c & M) * R; c >>= 52; + VERIFY_BITS(d, 115); + VERIFY_BITS(c, 60); + /* [c 0 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ + t3 = d & M; d >>= 52; + VERIFY_BITS(t3, 52); + VERIFY_BITS(d, 63); + /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ + + a4 *= 2; + d += (uint128_t)a0 * a4 + + (uint128_t)(a1*2) * a3 + + (uint128_t)a2 * a2; + VERIFY_BITS(d, 115); + /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ + d += c * R; + VERIFY_BITS(d, 116); + /* [d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ + t4 = d & M; d >>= 52; + VERIFY_BITS(t4, 52); + VERIFY_BITS(d, 64); + /* [d t4 t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ + tx = (t4 >> 48); t4 &= (M >> 4); + VERIFY_BITS(tx, 4); + VERIFY_BITS(t4, 48); + /* [d t4+(tx<<48) t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ + + c = (uint128_t)a0 * a0; + VERIFY_BITS(c, 112); + /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 0 p4 p3 0 0 p0] */ + d += (uint128_t)a1 * a4 + + (uint128_t)(a2*2) * a3; + VERIFY_BITS(d, 114); + /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + u0 = d & M; d >>= 52; + VERIFY_BITS(u0, 52); + VERIFY_BITS(d, 62); + /* [d u0 t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + /* [d 0 t4+(tx<<48)+(u0<<52) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + u0 = (u0 << 4) | tx; + VERIFY_BITS(u0, 56); + /* [d 0 t4+(u0<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + c += (uint128_t)u0 * (R >> 4); + VERIFY_BITS(c, 113); + /* [d 0 t4 t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + r[0] = c & M; c >>= 52; + VERIFY_BITS(r[0], 52); + VERIFY_BITS(c, 61); + /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 0 p0] */ + + a0 *= 2; + c += (uint128_t)a0 * a1; + VERIFY_BITS(c, 114); + /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 p1 p0] */ + d += (uint128_t)a2 * a4 + + (uint128_t)a3 * a3; + VERIFY_BITS(d, 114); + /* [d 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ + c += (d & M) * R; d >>= 52; + VERIFY_BITS(c, 115); + VERIFY_BITS(d, 62); + /* [d 0 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ + r[1] = c & M; c >>= 52; + VERIFY_BITS(r[1], 52); + VERIFY_BITS(c, 63); + /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ + + c += (uint128_t)a0 * a2 + + (uint128_t)a1 * a1; + VERIFY_BITS(c, 114); + /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 p2 p1 p0] */ + d += (uint128_t)a3 * a4; + VERIFY_BITS(d, 114); + /* [d 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + c += (d & M) * R; d >>= 52; + VERIFY_BITS(c, 115); + VERIFY_BITS(d, 62); + /* [d 0 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[2] = c & M; c >>= 52; + VERIFY_BITS(r[2], 52); + VERIFY_BITS(c, 63); + /* [d 0 0 0 t4 t3+c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + + c += d * R + t3; + VERIFY_BITS(c, 100); + /* [t4 c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[3] = c & M; c >>= 52; + VERIFY_BITS(r[3], 52); + VERIFY_BITS(c, 48); + /* [t4+c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + c += t4; + VERIFY_BITS(c, 49); + /* [c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[4] = c; + VERIFY_BITS(r[4], 49); + /* [r4 r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ +} + +#endif /* SECP256K1_FIELD_INNER5X52_IMPL_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/field_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/field_impl.h new file mode 100644 index 000000000..20428648a --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/field_impl.h @@ -0,0 +1,315 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_FIELD_IMPL_H +#define SECP256K1_FIELD_IMPL_H + +#if defined HAVE_CONFIG_H +#include "libsecp256k1-config.h" +#endif + +#include "util.h" + +#if defined(USE_FIELD_10X26) +#include "field_10x26_impl.h" +#elif defined(USE_FIELD_5X52) +#include "field_5x52_impl.h" +#else +#error "Please select field implementation" +#endif + +SECP256K1_INLINE static int secp256k1_fe_equal(const secp256k1_fe *a, const secp256k1_fe *b) { + secp256k1_fe na; + secp256k1_fe_negate(&na, a, 1); + secp256k1_fe_add(&na, b); + return secp256k1_fe_normalizes_to_zero(&na); +} + +SECP256K1_INLINE static int secp256k1_fe_equal_var(const secp256k1_fe *a, const secp256k1_fe *b) { + secp256k1_fe na; + secp256k1_fe_negate(&na, a, 1); + secp256k1_fe_add(&na, b); + return secp256k1_fe_normalizes_to_zero_var(&na); +} + +static int secp256k1_fe_sqrt(secp256k1_fe *r, const secp256k1_fe *a) { + /** Given that p is congruent to 3 mod 4, we can compute the square root of + * a mod p as the (p+1)/4'th power of a. + * + * As (p+1)/4 is an even number, it will have the same result for a and for + * (-a). Only one of these two numbers actually has a square root however, + * so we test at the end by squaring and comparing to the input. + * Also because (p+1)/4 is an even number, the computed square root is + * itself always a square (a ** ((p+1)/4) is the square of a ** ((p+1)/8)). + */ + secp256k1_fe x2, x3, x6, x9, x11, x22, x44, x88, x176, x220, x223, t1; + int j; + + /** The binary representation of (p + 1)/4 has 3 blocks of 1s, with lengths in + * { 2, 22, 223 }. Use an addition chain to calculate 2^n - 1 for each block: + * 1, [2], 3, 6, 9, 11, [22], 44, 88, 176, 220, [223] + */ + + secp256k1_fe_sqr(&x2, a); + secp256k1_fe_mul(&x2, &x2, a); + + secp256k1_fe_sqr(&x3, &x2); + secp256k1_fe_mul(&x3, &x3, a); + + x6 = x3; + for (j=0; j<3; j++) { + secp256k1_fe_sqr(&x6, &x6); + } + secp256k1_fe_mul(&x6, &x6, &x3); + + x9 = x6; + for (j=0; j<3; j++) { + secp256k1_fe_sqr(&x9, &x9); + } + secp256k1_fe_mul(&x9, &x9, &x3); + + x11 = x9; + for (j=0; j<2; j++) { + secp256k1_fe_sqr(&x11, &x11); + } + secp256k1_fe_mul(&x11, &x11, &x2); + + x22 = x11; + for (j=0; j<11; j++) { + secp256k1_fe_sqr(&x22, &x22); + } + secp256k1_fe_mul(&x22, &x22, &x11); + + x44 = x22; + for (j=0; j<22; j++) { + secp256k1_fe_sqr(&x44, &x44); + } + secp256k1_fe_mul(&x44, &x44, &x22); + + x88 = x44; + for (j=0; j<44; j++) { + secp256k1_fe_sqr(&x88, &x88); + } + secp256k1_fe_mul(&x88, &x88, &x44); + + x176 = x88; + for (j=0; j<88; j++) { + secp256k1_fe_sqr(&x176, &x176); + } + secp256k1_fe_mul(&x176, &x176, &x88); + + x220 = x176; + for (j=0; j<44; j++) { + secp256k1_fe_sqr(&x220, &x220); + } + secp256k1_fe_mul(&x220, &x220, &x44); + + x223 = x220; + for (j=0; j<3; j++) { + secp256k1_fe_sqr(&x223, &x223); + } + secp256k1_fe_mul(&x223, &x223, &x3); + + /* The final result is then assembled using a sliding window over the blocks. */ + + t1 = x223; + for (j=0; j<23; j++) { + secp256k1_fe_sqr(&t1, &t1); + } + secp256k1_fe_mul(&t1, &t1, &x22); + for (j=0; j<6; j++) { + secp256k1_fe_sqr(&t1, &t1); + } + secp256k1_fe_mul(&t1, &t1, &x2); + secp256k1_fe_sqr(&t1, &t1); + secp256k1_fe_sqr(r, &t1); + + /* Check that a square root was actually calculated */ + + secp256k1_fe_sqr(&t1, r); + return secp256k1_fe_equal(&t1, a); +} + +static void secp256k1_fe_inv(secp256k1_fe *r, const secp256k1_fe *a) { + secp256k1_fe x2, x3, x6, x9, x11, x22, x44, x88, x176, x220, x223, t1; + int j; + + /** The binary representation of (p - 2) has 5 blocks of 1s, with lengths in + * { 1, 2, 22, 223 }. Use an addition chain to calculate 2^n - 1 for each block: + * [1], [2], 3, 6, 9, 11, [22], 44, 88, 176, 220, [223] + */ + + secp256k1_fe_sqr(&x2, a); + secp256k1_fe_mul(&x2, &x2, a); + + secp256k1_fe_sqr(&x3, &x2); + secp256k1_fe_mul(&x3, &x3, a); + + x6 = x3; + for (j=0; j<3; j++) { + secp256k1_fe_sqr(&x6, &x6); + } + secp256k1_fe_mul(&x6, &x6, &x3); + + x9 = x6; + for (j=0; j<3; j++) { + secp256k1_fe_sqr(&x9, &x9); + } + secp256k1_fe_mul(&x9, &x9, &x3); + + x11 = x9; + for (j=0; j<2; j++) { + secp256k1_fe_sqr(&x11, &x11); + } + secp256k1_fe_mul(&x11, &x11, &x2); + + x22 = x11; + for (j=0; j<11; j++) { + secp256k1_fe_sqr(&x22, &x22); + } + secp256k1_fe_mul(&x22, &x22, &x11); + + x44 = x22; + for (j=0; j<22; j++) { + secp256k1_fe_sqr(&x44, &x44); + } + secp256k1_fe_mul(&x44, &x44, &x22); + + x88 = x44; + for (j=0; j<44; j++) { + secp256k1_fe_sqr(&x88, &x88); + } + secp256k1_fe_mul(&x88, &x88, &x44); + + x176 = x88; + for (j=0; j<88; j++) { + secp256k1_fe_sqr(&x176, &x176); + } + secp256k1_fe_mul(&x176, &x176, &x88); + + x220 = x176; + for (j=0; j<44; j++) { + secp256k1_fe_sqr(&x220, &x220); + } + secp256k1_fe_mul(&x220, &x220, &x44); + + x223 = x220; + for (j=0; j<3; j++) { + secp256k1_fe_sqr(&x223, &x223); + } + secp256k1_fe_mul(&x223, &x223, &x3); + + /* The final result is then assembled using a sliding window over the blocks. */ + + t1 = x223; + for (j=0; j<23; j++) { + secp256k1_fe_sqr(&t1, &t1); + } + secp256k1_fe_mul(&t1, &t1, &x22); + for (j=0; j<5; j++) { + secp256k1_fe_sqr(&t1, &t1); + } + secp256k1_fe_mul(&t1, &t1, a); + for (j=0; j<3; j++) { + secp256k1_fe_sqr(&t1, &t1); + } + secp256k1_fe_mul(&t1, &t1, &x2); + for (j=0; j<2; j++) { + secp256k1_fe_sqr(&t1, &t1); + } + secp256k1_fe_mul(r, a, &t1); +} + +static void secp256k1_fe_inv_var(secp256k1_fe *r, const secp256k1_fe *a) { +#if defined(USE_FIELD_INV_BUILTIN) + secp256k1_fe_inv(r, a); +#elif defined(USE_FIELD_INV_NUM) + secp256k1_num n, m; + static const secp256k1_fe negone = SECP256K1_FE_CONST( + 0xFFFFFFFFUL, 0xFFFFFFFFUL, 0xFFFFFFFFUL, 0xFFFFFFFFUL, + 0xFFFFFFFFUL, 0xFFFFFFFFUL, 0xFFFFFFFEUL, 0xFFFFFC2EUL + ); + /* secp256k1 field prime, value p defined in "Standards for Efficient Cryptography" (SEC2) 2.7.1. */ + static const unsigned char prime[32] = { + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFC,0x2F + }; + unsigned char b[32]; + int res; + secp256k1_fe c = *a; + secp256k1_fe_normalize_var(&c); + secp256k1_fe_get_b32(b, &c); + secp256k1_num_set_bin(&n, b, 32); + secp256k1_num_set_bin(&m, prime, 32); + secp256k1_num_mod_inverse(&n, &n, &m); + secp256k1_num_get_bin(b, 32, &n); + res = secp256k1_fe_set_b32(r, b); + (void)res; + VERIFY_CHECK(res); + /* Verify the result is the (unique) valid inverse using non-GMP code. */ + secp256k1_fe_mul(&c, &c, r); + secp256k1_fe_add(&c, &negone); + CHECK(secp256k1_fe_normalizes_to_zero_var(&c)); +#else +#error "Please select field inverse implementation" +#endif +} + +static void secp256k1_fe_inv_all_var(secp256k1_fe *r, const secp256k1_fe *a, size_t len) { + secp256k1_fe u; + size_t i; + if (len < 1) { + return; + } + + VERIFY_CHECK((r + len <= a) || (a + len <= r)); + + r[0] = a[0]; + + i = 0; + while (++i < len) { + secp256k1_fe_mul(&r[i], &r[i - 1], &a[i]); + } + + secp256k1_fe_inv_var(&u, &r[--i]); + + while (i > 0) { + size_t j = i--; + secp256k1_fe_mul(&r[j], &r[i], &u); + secp256k1_fe_mul(&u, &u, &a[j]); + } + + r[0] = u; +} + +static int secp256k1_fe_is_quad_var(const secp256k1_fe *a) { +#ifndef USE_NUM_NONE + unsigned char b[32]; + secp256k1_num n; + secp256k1_num m; + /* secp256k1 field prime, value p defined in "Standards for Efficient Cryptography" (SEC2) 2.7.1. */ + static const unsigned char prime[32] = { + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFC,0x2F + }; + + secp256k1_fe c = *a; + secp256k1_fe_normalize_var(&c); + secp256k1_fe_get_b32(b, &c); + secp256k1_num_set_bin(&n, b, 32); + secp256k1_num_set_bin(&m, prime, 32); + return secp256k1_num_jacobi(&n, &m) >= 0; +#else + secp256k1_fe r; + return secp256k1_fe_sqrt(&r, a); +#endif +} + +#endif /* SECP256K1_FIELD_IMPL_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/group.h b/Pods/secp256k1_swift/Classes/secp256k1/src/group.h new file mode 100644 index 000000000..3947ea2dd --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/group.h @@ -0,0 +1,147 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_GROUP_H +#define SECP256K1_GROUP_H + +#include "num.h" +#include "field.h" + +/** A group element of the secp256k1 curve, in affine coordinates. */ +typedef struct { + secp256k1_fe x; + secp256k1_fe y; + int infinity; /* whether this represents the point at infinity */ +} secp256k1_ge; + +#define SECP256K1_GE_CONST(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {SECP256K1_FE_CONST((a),(b),(c),(d),(e),(f),(g),(h)), SECP256K1_FE_CONST((i),(j),(k),(l),(m),(n),(o),(p)), 0} +#define SECP256K1_GE_CONST_INFINITY {SECP256K1_FE_CONST(0, 0, 0, 0, 0, 0, 0, 0), SECP256K1_FE_CONST(0, 0, 0, 0, 0, 0, 0, 0), 1} + +/** A group element of the secp256k1 curve, in jacobian coordinates. */ +typedef struct { + secp256k1_fe x; /* actual X: x/z^2 */ + secp256k1_fe y; /* actual Y: y/z^3 */ + secp256k1_fe z; + int infinity; /* whether this represents the point at infinity */ +} secp256k1_gej; + +#define SECP256K1_GEJ_CONST(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {SECP256K1_FE_CONST((a),(b),(c),(d),(e),(f),(g),(h)), SECP256K1_FE_CONST((i),(j),(k),(l),(m),(n),(o),(p)), SECP256K1_FE_CONST(0, 0, 0, 0, 0, 0, 0, 1), 0} +#define SECP256K1_GEJ_CONST_INFINITY {SECP256K1_FE_CONST(0, 0, 0, 0, 0, 0, 0, 0), SECP256K1_FE_CONST(0, 0, 0, 0, 0, 0, 0, 0), SECP256K1_FE_CONST(0, 0, 0, 0, 0, 0, 0, 0), 1} + +typedef struct { + secp256k1_fe_storage x; + secp256k1_fe_storage y; +} secp256k1_ge_storage; + +#define SECP256K1_GE_STORAGE_CONST(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {SECP256K1_FE_STORAGE_CONST((a),(b),(c),(d),(e),(f),(g),(h)), SECP256K1_FE_STORAGE_CONST((i),(j),(k),(l),(m),(n),(o),(p))} + +#define SECP256K1_GE_STORAGE_CONST_GET(t) SECP256K1_FE_STORAGE_CONST_GET(t.x), SECP256K1_FE_STORAGE_CONST_GET(t.y) + +/** Set a group element equal to the point with given X and Y coordinates */ +static void secp256k1_ge_set_xy(secp256k1_ge *r, const secp256k1_fe *x, const secp256k1_fe *y); + +/** Set a group element (affine) equal to the point with the given X coordinate + * and a Y coordinate that is a quadratic residue modulo p. The return value + * is true iff a coordinate with the given X coordinate exists. + */ +static int secp256k1_ge_set_xquad(secp256k1_ge *r, const secp256k1_fe *x); + +/** Set a group element (affine) equal to the point with the given X coordinate, and given oddness + * for Y. Return value indicates whether the result is valid. */ +static int secp256k1_ge_set_xo_var(secp256k1_ge *r, const secp256k1_fe *x, int odd); + +/** Check whether a group element is the point at infinity. */ +static int secp256k1_ge_is_infinity(const secp256k1_ge *a); + +/** Check whether a group element is valid (i.e., on the curve). */ +static int secp256k1_ge_is_valid_var(const secp256k1_ge *a); + +static void secp256k1_ge_neg(secp256k1_ge *r, const secp256k1_ge *a); + +/** Set a group element equal to another which is given in jacobian coordinates */ +static void secp256k1_ge_set_gej(secp256k1_ge *r, secp256k1_gej *a); + +/** Set a batch of group elements equal to the inputs given in jacobian coordinates */ +static void secp256k1_ge_set_all_gej_var(secp256k1_ge *r, const secp256k1_gej *a, size_t len, const secp256k1_callback *cb); + +/** Set a batch of group elements equal to the inputs given in jacobian + * coordinates (with known z-ratios). zr must contain the known z-ratios such + * that mul(a[i].z, zr[i+1]) == a[i+1].z. zr[0] is ignored. */ +static void secp256k1_ge_set_table_gej_var(secp256k1_ge *r, const secp256k1_gej *a, const secp256k1_fe *zr, size_t len); + +/** Bring a batch inputs given in jacobian coordinates (with known z-ratios) to + * the same global z "denominator". zr must contain the known z-ratios such + * that mul(a[i].z, zr[i+1]) == a[i+1].z. zr[0] is ignored. The x and y + * coordinates of the result are stored in r, the common z coordinate is + * stored in globalz. */ +static void secp256k1_ge_globalz_set_table_gej(size_t len, secp256k1_ge *r, secp256k1_fe *globalz, const secp256k1_gej *a, const secp256k1_fe *zr); + +/** Set a group element (affine) equal to the point at infinity. */ +static void secp256k1_ge_set_infinity(secp256k1_ge *r); + +/** Set a group element (jacobian) equal to the point at infinity. */ +static void secp256k1_gej_set_infinity(secp256k1_gej *r); + +/** Set a group element (jacobian) equal to another which is given in affine coordinates. */ +static void secp256k1_gej_set_ge(secp256k1_gej *r, const secp256k1_ge *a); + +/** Compare the X coordinate of a group element (jacobian). */ +static int secp256k1_gej_eq_x_var(const secp256k1_fe *x, const secp256k1_gej *a); + +/** Set r equal to the inverse of a (i.e., mirrored around the X axis) */ +static void secp256k1_gej_neg(secp256k1_gej *r, const secp256k1_gej *a); + +/** Check whether a group element is the point at infinity. */ +static int secp256k1_gej_is_infinity(const secp256k1_gej *a); + +/** Check whether a group element's y coordinate is a quadratic residue. */ +static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a); + +/** Set r equal to the double of a. If rzr is not-NULL, r->z = a->z * *rzr (where infinity means an implicit z = 0). + * a may not be zero. Constant time. */ +static void secp256k1_gej_double_nonzero(secp256k1_gej *r, const secp256k1_gej *a, secp256k1_fe *rzr); + +/** Set r equal to the double of a. If rzr is not-NULL, r->z = a->z * *rzr (where infinity means an implicit z = 0). */ +static void secp256k1_gej_double_var(secp256k1_gej *r, const secp256k1_gej *a, secp256k1_fe *rzr); + +/** Set r equal to the sum of a and b. If rzr is non-NULL, r->z = a->z * *rzr (a cannot be infinity in that case). */ +static void secp256k1_gej_add_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_gej *b, secp256k1_fe *rzr); + +/** Set r equal to the sum of a and b (with b given in affine coordinates, and not infinity). */ +static void secp256k1_gej_add_ge(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge *b); + +/** Set r equal to the sum of a and b (with b given in affine coordinates). This is more efficient + than secp256k1_gej_add_var. It is identical to secp256k1_gej_add_ge but without constant-time + guarantee, and b is allowed to be infinity. If rzr is non-NULL, r->z = a->z * *rzr (a cannot be infinity in that case). */ +static void secp256k1_gej_add_ge_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge *b, secp256k1_fe *rzr); + +/** Set r equal to the sum of a and b (with the inverse of b's Z coordinate passed as bzinv). */ +static void secp256k1_gej_add_zinv_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge *b, const secp256k1_fe *bzinv); + +#ifdef USE_ENDOMORPHISM +/** Set r to be equal to lambda times a, where lambda is chosen in a way such that this is very fast. */ +static void secp256k1_ge_mul_lambda(secp256k1_ge *r, const secp256k1_ge *a); +#endif + +/** Clear a secp256k1_gej to prevent leaking sensitive information. */ +static void secp256k1_gej_clear(secp256k1_gej *r); + +/** Clear a secp256k1_ge to prevent leaking sensitive information. */ +static void secp256k1_ge_clear(secp256k1_ge *r); + +/** Convert a group element to the storage type. */ +static void secp256k1_ge_to_storage(secp256k1_ge_storage *r, const secp256k1_ge *a); + +/** Convert a group element back from the storage type. */ +static void secp256k1_ge_from_storage(secp256k1_ge *r, const secp256k1_ge_storage *a); + +/** If flag is true, set *r equal to *a; otherwise leave it. Constant-time. */ +static void secp256k1_ge_storage_cmov(secp256k1_ge_storage *r, const secp256k1_ge_storage *a, int flag); + +/** Rescale a jacobian point by b which must be non-zero. Constant-time. */ +static void secp256k1_gej_rescale(secp256k1_gej *r, const secp256k1_fe *b); + +#endif /* SECP256K1_GROUP_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/group_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/group_impl.h new file mode 100644 index 000000000..b1ace87b6 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/group_impl.h @@ -0,0 +1,706 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_GROUP_IMPL_H +#define SECP256K1_GROUP_IMPL_H + +#include "num.h" +#include "field.h" +#include "group.h" + +/* These points can be generated in sage as follows: + * + * 0. Setup a worksheet with the following parameters. + * b = 4 # whatever CURVE_B will be set to + * F = FiniteField (0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F) + * C = EllipticCurve ([F (0), F (b)]) + * + * 1. Determine all the small orders available to you. (If there are + * no satisfactory ones, go back and change b.) + * print C.order().factor(limit=1000) + * + * 2. Choose an order as one of the prime factors listed in the above step. + * (You can also multiply some to get a composite order, though the + * tests will crash trying to invert scalars during signing.) We take a + * random point and scale it to drop its order to the desired value. + * There is some probability this won't work; just try again. + * order = 199 + * P = C.random_point() + * P = (int(P.order()) / int(order)) * P + * assert(P.order() == order) + * + * 3. Print the values. You'll need to use a vim macro or something to + * split the hex output into 4-byte chunks. + * print "%x %x" % P.xy() + */ +#if defined(EXHAUSTIVE_TEST_ORDER) +# if EXHAUSTIVE_TEST_ORDER == 199 +const secp256k1_ge secp256k1_ge_const_g = SECP256K1_GE_CONST( + 0xFA7CC9A7, 0x0737F2DB, 0xA749DD39, 0x2B4FB069, + 0x3B017A7D, 0xA808C2F1, 0xFB12940C, 0x9EA66C18, + 0x78AC123A, 0x5ED8AEF3, 0x8732BC91, 0x1F3A2868, + 0x48DF246C, 0x808DAE72, 0xCFE52572, 0x7F0501ED +); + +const int CURVE_B = 4; +# elif EXHAUSTIVE_TEST_ORDER == 13 +const secp256k1_ge secp256k1_ge_const_g = SECP256K1_GE_CONST( + 0xedc60018, 0xa51a786b, 0x2ea91f4d, 0x4c9416c0, + 0x9de54c3b, 0xa1316554, 0x6cf4345c, 0x7277ef15, + 0x54cb1b6b, 0xdc8c1273, 0x087844ea, 0x43f4603e, + 0x0eaf9a43, 0xf6effe55, 0x939f806d, 0x37adf8ac +); +const int CURVE_B = 2; +# else +# error No known generator for the specified exhaustive test group order. +# endif +#else +/** Generator for secp256k1, value 'g' defined in + * "Standards for Efficient Cryptography" (SEC2) 2.7.1. + */ +static const secp256k1_ge secp256k1_ge_const_g = SECP256K1_GE_CONST( + 0x79BE667EUL, 0xF9DCBBACUL, 0x55A06295UL, 0xCE870B07UL, + 0x029BFCDBUL, 0x2DCE28D9UL, 0x59F2815BUL, 0x16F81798UL, + 0x483ADA77UL, 0x26A3C465UL, 0x5DA4FBFCUL, 0x0E1108A8UL, + 0xFD17B448UL, 0xA6855419UL, 0x9C47D08FUL, 0xFB10D4B8UL +); + +const int CURVE_B = 7; +#endif + +static void secp256k1_ge_set_gej_zinv(secp256k1_ge *r, const secp256k1_gej *a, const secp256k1_fe *zi) { + secp256k1_fe zi2; + secp256k1_fe zi3; + secp256k1_fe_sqr(&zi2, zi); + secp256k1_fe_mul(&zi3, &zi2, zi); + secp256k1_fe_mul(&r->x, &a->x, &zi2); + secp256k1_fe_mul(&r->y, &a->y, &zi3); + r->infinity = a->infinity; +} + +static void secp256k1_ge_set_xy(secp256k1_ge *r, const secp256k1_fe *x, const secp256k1_fe *y) { + r->infinity = 0; + r->x = *x; + r->y = *y; +} + +static int secp256k1_ge_is_infinity(const secp256k1_ge *a) { + return a->infinity; +} + +static void secp256k1_ge_neg(secp256k1_ge *r, const secp256k1_ge *a) { + *r = *a; + secp256k1_fe_normalize_weak(&r->y); + secp256k1_fe_negate(&r->y, &r->y, 1); +} + +static void secp256k1_ge_set_gej(secp256k1_ge *r, secp256k1_gej *a) { + secp256k1_fe z2, z3; + r->infinity = a->infinity; + secp256k1_fe_inv(&a->z, &a->z); + secp256k1_fe_sqr(&z2, &a->z); + secp256k1_fe_mul(&z3, &a->z, &z2); + secp256k1_fe_mul(&a->x, &a->x, &z2); + secp256k1_fe_mul(&a->y, &a->y, &z3); + secp256k1_fe_set_int(&a->z, 1); + r->x = a->x; + r->y = a->y; +} + +static void secp256k1_ge_set_gej_var(secp256k1_ge *r, secp256k1_gej *a) { + secp256k1_fe z2, z3; + r->infinity = a->infinity; + if (a->infinity) { + return; + } + secp256k1_fe_inv_var(&a->z, &a->z); + secp256k1_fe_sqr(&z2, &a->z); + secp256k1_fe_mul(&z3, &a->z, &z2); + secp256k1_fe_mul(&a->x, &a->x, &z2); + secp256k1_fe_mul(&a->y, &a->y, &z3); + secp256k1_fe_set_int(&a->z, 1); + r->x = a->x; + r->y = a->y; +} + +static void secp256k1_ge_set_all_gej_var(secp256k1_ge *r, const secp256k1_gej *a, size_t len, const secp256k1_callback *cb) { + secp256k1_fe *az; + secp256k1_fe *azi; + size_t i; + size_t count = 0; + az = (secp256k1_fe *)checked_malloc(cb, sizeof(secp256k1_fe) * len); + for (i = 0; i < len; i++) { + if (!a[i].infinity) { + az[count++] = a[i].z; + } + } + + azi = (secp256k1_fe *)checked_malloc(cb, sizeof(secp256k1_fe) * count); + secp256k1_fe_inv_all_var(azi, az, count); + free(az); + + count = 0; + for (i = 0; i < len; i++) { + r[i].infinity = a[i].infinity; + if (!a[i].infinity) { + secp256k1_ge_set_gej_zinv(&r[i], &a[i], &azi[count++]); + } + } + free(azi); +} + +static void secp256k1_ge_set_table_gej_var(secp256k1_ge *r, const secp256k1_gej *a, const secp256k1_fe *zr, size_t len) { + size_t i = len - 1; + secp256k1_fe zi; + + if (len > 0) { + /* Compute the inverse of the last z coordinate, and use it to compute the last affine output. */ + secp256k1_fe_inv(&zi, &a[i].z); + secp256k1_ge_set_gej_zinv(&r[i], &a[i], &zi); + + /* Work out way backwards, using the z-ratios to scale the x/y values. */ + while (i > 0) { + secp256k1_fe_mul(&zi, &zi, &zr[i]); + i--; + secp256k1_ge_set_gej_zinv(&r[i], &a[i], &zi); + } + } +} + +static void secp256k1_ge_globalz_set_table_gej(size_t len, secp256k1_ge *r, secp256k1_fe *globalz, const secp256k1_gej *a, const secp256k1_fe *zr) { + size_t i = len - 1; + secp256k1_fe zs; + + if (len > 0) { + /* The z of the final point gives us the "global Z" for the table. */ + r[i].x = a[i].x; + r[i].y = a[i].y; + *globalz = a[i].z; + r[i].infinity = 0; + zs = zr[i]; + + /* Work our way backwards, using the z-ratios to scale the x/y values. */ + while (i > 0) { + if (i != len - 1) { + secp256k1_fe_mul(&zs, &zs, &zr[i]); + } + i--; + secp256k1_ge_set_gej_zinv(&r[i], &a[i], &zs); + } + } +} + +static void secp256k1_gej_set_infinity(secp256k1_gej *r) { + r->infinity = 1; + secp256k1_fe_clear(&r->x); + secp256k1_fe_clear(&r->y); + secp256k1_fe_clear(&r->z); +} + +static void secp256k1_ge_set_infinity(secp256k1_ge *r) { + r->infinity = 1; + secp256k1_fe_clear(&r->x); + secp256k1_fe_clear(&r->y); +} + +static void secp256k1_gej_clear(secp256k1_gej *r) { + r->infinity = 0; + secp256k1_fe_clear(&r->x); + secp256k1_fe_clear(&r->y); + secp256k1_fe_clear(&r->z); +} + +static void secp256k1_ge_clear(secp256k1_ge *r) { + r->infinity = 0; + secp256k1_fe_clear(&r->x); + secp256k1_fe_clear(&r->y); +} + +static int secp256k1_ge_set_xquad(secp256k1_ge *r, const secp256k1_fe *x) { + secp256k1_fe x2, x3, c; + r->x = *x; + secp256k1_fe_sqr(&x2, x); + secp256k1_fe_mul(&x3, x, &x2); + r->infinity = 0; + secp256k1_fe_set_int(&c, CURVE_B); + secp256k1_fe_add(&c, &x3); + return secp256k1_fe_sqrt(&r->y, &c); +} + +static int secp256k1_ge_set_xo_var(secp256k1_ge *r, const secp256k1_fe *x, int odd) { + if (!secp256k1_ge_set_xquad(r, x)) { + return 0; + } + secp256k1_fe_normalize_var(&r->y); + if (secp256k1_fe_is_odd(&r->y) != odd) { + secp256k1_fe_negate(&r->y, &r->y, 1); + } + return 1; + +} + +static void secp256k1_gej_set_ge(secp256k1_gej *r, const secp256k1_ge *a) { + r->infinity = a->infinity; + r->x = a->x; + r->y = a->y; + secp256k1_fe_set_int(&r->z, 1); +} + +static int secp256k1_gej_eq_x_var(const secp256k1_fe *x, const secp256k1_gej *a) { + secp256k1_fe r, r2; + VERIFY_CHECK(!a->infinity); + secp256k1_fe_sqr(&r, &a->z); secp256k1_fe_mul(&r, &r, x); + r2 = a->x; secp256k1_fe_normalize_weak(&r2); + return secp256k1_fe_equal_var(&r, &r2); +} + +static void secp256k1_gej_neg(secp256k1_gej *r, const secp256k1_gej *a) { + r->infinity = a->infinity; + r->x = a->x; + r->y = a->y; + r->z = a->z; + secp256k1_fe_normalize_weak(&r->y); + secp256k1_fe_negate(&r->y, &r->y, 1); +} + +static int secp256k1_gej_is_infinity(const secp256k1_gej *a) { + return a->infinity; +} + +static int secp256k1_gej_is_valid_var(const secp256k1_gej *a) { + secp256k1_fe y2, x3, z2, z6; + if (a->infinity) { + return 0; + } + /** y^2 = x^3 + 7 + * (Y/Z^3)^2 = (X/Z^2)^3 + 7 + * Y^2 / Z^6 = X^3 / Z^6 + 7 + * Y^2 = X^3 + 7*Z^6 + */ + secp256k1_fe_sqr(&y2, &a->y); + secp256k1_fe_sqr(&x3, &a->x); secp256k1_fe_mul(&x3, &x3, &a->x); + secp256k1_fe_sqr(&z2, &a->z); + secp256k1_fe_sqr(&z6, &z2); secp256k1_fe_mul(&z6, &z6, &z2); + secp256k1_fe_mul_int(&z6, CURVE_B); + secp256k1_fe_add(&x3, &z6); + secp256k1_fe_normalize_weak(&x3); + return secp256k1_fe_equal_var(&y2, &x3); +} + +static int secp256k1_ge_is_valid_var(const secp256k1_ge *a) { + secp256k1_fe y2, x3, c; + if (a->infinity) { + return 0; + } + /* y^2 = x^3 + 7 */ + secp256k1_fe_sqr(&y2, &a->y); + secp256k1_fe_sqr(&x3, &a->x); secp256k1_fe_mul(&x3, &x3, &a->x); + secp256k1_fe_set_int(&c, CURVE_B); + secp256k1_fe_add(&x3, &c); + secp256k1_fe_normalize_weak(&x3); + return secp256k1_fe_equal_var(&y2, &x3); +} + +static void secp256k1_gej_double_var(secp256k1_gej *r, const secp256k1_gej *a, secp256k1_fe *rzr) { + /* Operations: 3 mul, 4 sqr, 0 normalize, 12 mul_int/add/negate. + * + * Note that there is an implementation described at + * https://hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#doubling-dbl-2009-l + * which trades a multiply for a square, but in practice this is actually slower, + * mainly because it requires more normalizations. + */ + secp256k1_fe t1,t2,t3,t4; + /** For secp256k1, 2Q is infinity if and only if Q is infinity. This is because if 2Q = infinity, + * Q must equal -Q, or that Q.y == -(Q.y), or Q.y is 0. For a point on y^2 = x^3 + 7 to have + * y=0, x^3 must be -7 mod p. However, -7 has no cube root mod p. + * + * Having said this, if this function receives a point on a sextic twist, e.g. by + * a fault attack, it is possible for y to be 0. This happens for y^2 = x^3 + 6, + * since -6 does have a cube root mod p. For this point, this function will not set + * the infinity flag even though the point doubles to infinity, and the result + * point will be gibberish (z = 0 but infinity = 0). + */ + r->infinity = a->infinity; + if (r->infinity) { + if (rzr != NULL) { + secp256k1_fe_set_int(rzr, 1); + } + return; + } + + if (rzr != NULL) { + *rzr = a->y; + secp256k1_fe_normalize_weak(rzr); + secp256k1_fe_mul_int(rzr, 2); + } + + secp256k1_fe_mul(&r->z, &a->z, &a->y); + secp256k1_fe_mul_int(&r->z, 2); /* Z' = 2*Y*Z (2) */ + secp256k1_fe_sqr(&t1, &a->x); + secp256k1_fe_mul_int(&t1, 3); /* T1 = 3*X^2 (3) */ + secp256k1_fe_sqr(&t2, &t1); /* T2 = 9*X^4 (1) */ + secp256k1_fe_sqr(&t3, &a->y); + secp256k1_fe_mul_int(&t3, 2); /* T3 = 2*Y^2 (2) */ + secp256k1_fe_sqr(&t4, &t3); + secp256k1_fe_mul_int(&t4, 2); /* T4 = 8*Y^4 (2) */ + secp256k1_fe_mul(&t3, &t3, &a->x); /* T3 = 2*X*Y^2 (1) */ + r->x = t3; + secp256k1_fe_mul_int(&r->x, 4); /* X' = 8*X*Y^2 (4) */ + secp256k1_fe_negate(&r->x, &r->x, 4); /* X' = -8*X*Y^2 (5) */ + secp256k1_fe_add(&r->x, &t2); /* X' = 9*X^4 - 8*X*Y^2 (6) */ + secp256k1_fe_negate(&t2, &t2, 1); /* T2 = -9*X^4 (2) */ + secp256k1_fe_mul_int(&t3, 6); /* T3 = 12*X*Y^2 (6) */ + secp256k1_fe_add(&t3, &t2); /* T3 = 12*X*Y^2 - 9*X^4 (8) */ + secp256k1_fe_mul(&r->y, &t1, &t3); /* Y' = 36*X^3*Y^2 - 27*X^6 (1) */ + secp256k1_fe_negate(&t2, &t4, 2); /* T2 = -8*Y^4 (3) */ + secp256k1_fe_add(&r->y, &t2); /* Y' = 36*X^3*Y^2 - 27*X^6 - 8*Y^4 (4) */ +} + +static SECP256K1_INLINE void secp256k1_gej_double_nonzero(secp256k1_gej *r, const secp256k1_gej *a, secp256k1_fe *rzr) { + VERIFY_CHECK(!secp256k1_gej_is_infinity(a)); + secp256k1_gej_double_var(r, a, rzr); +} + +static void secp256k1_gej_add_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_gej *b, secp256k1_fe *rzr) { + /* Operations: 12 mul, 4 sqr, 2 normalize, 12 mul_int/add/negate */ + secp256k1_fe z22, z12, u1, u2, s1, s2, h, i, i2, h2, h3, t; + + if (a->infinity) { + VERIFY_CHECK(rzr == NULL); + *r = *b; + return; + } + + if (b->infinity) { + if (rzr != NULL) { + secp256k1_fe_set_int(rzr, 1); + } + *r = *a; + return; + } + + r->infinity = 0; + secp256k1_fe_sqr(&z22, &b->z); + secp256k1_fe_sqr(&z12, &a->z); + secp256k1_fe_mul(&u1, &a->x, &z22); + secp256k1_fe_mul(&u2, &b->x, &z12); + secp256k1_fe_mul(&s1, &a->y, &z22); secp256k1_fe_mul(&s1, &s1, &b->z); + secp256k1_fe_mul(&s2, &b->y, &z12); secp256k1_fe_mul(&s2, &s2, &a->z); + secp256k1_fe_negate(&h, &u1, 1); secp256k1_fe_add(&h, &u2); + secp256k1_fe_negate(&i, &s1, 1); secp256k1_fe_add(&i, &s2); + if (secp256k1_fe_normalizes_to_zero_var(&h)) { + if (secp256k1_fe_normalizes_to_zero_var(&i)) { + secp256k1_gej_double_var(r, a, rzr); + } else { + if (rzr != NULL) { + secp256k1_fe_set_int(rzr, 0); + } + r->infinity = 1; + } + return; + } + secp256k1_fe_sqr(&i2, &i); + secp256k1_fe_sqr(&h2, &h); + secp256k1_fe_mul(&h3, &h, &h2); + secp256k1_fe_mul(&h, &h, &b->z); + if (rzr != NULL) { + *rzr = h; + } + secp256k1_fe_mul(&r->z, &a->z, &h); + secp256k1_fe_mul(&t, &u1, &h2); + r->x = t; secp256k1_fe_mul_int(&r->x, 2); secp256k1_fe_add(&r->x, &h3); secp256k1_fe_negate(&r->x, &r->x, 3); secp256k1_fe_add(&r->x, &i2); + secp256k1_fe_negate(&r->y, &r->x, 5); secp256k1_fe_add(&r->y, &t); secp256k1_fe_mul(&r->y, &r->y, &i); + secp256k1_fe_mul(&h3, &h3, &s1); secp256k1_fe_negate(&h3, &h3, 1); + secp256k1_fe_add(&r->y, &h3); +} + +static void secp256k1_gej_add_ge_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge *b, secp256k1_fe *rzr) { + /* 8 mul, 3 sqr, 4 normalize, 12 mul_int/add/negate */ + secp256k1_fe z12, u1, u2, s1, s2, h, i, i2, h2, h3, t; + if (a->infinity) { + VERIFY_CHECK(rzr == NULL); + secp256k1_gej_set_ge(r, b); + return; + } + if (b->infinity) { + if (rzr != NULL) { + secp256k1_fe_set_int(rzr, 1); + } + *r = *a; + return; + } + r->infinity = 0; + + secp256k1_fe_sqr(&z12, &a->z); + u1 = a->x; secp256k1_fe_normalize_weak(&u1); + secp256k1_fe_mul(&u2, &b->x, &z12); + s1 = a->y; secp256k1_fe_normalize_weak(&s1); + secp256k1_fe_mul(&s2, &b->y, &z12); secp256k1_fe_mul(&s2, &s2, &a->z); + secp256k1_fe_negate(&h, &u1, 1); secp256k1_fe_add(&h, &u2); + secp256k1_fe_negate(&i, &s1, 1); secp256k1_fe_add(&i, &s2); + if (secp256k1_fe_normalizes_to_zero_var(&h)) { + if (secp256k1_fe_normalizes_to_zero_var(&i)) { + secp256k1_gej_double_var(r, a, rzr); + } else { + if (rzr != NULL) { + secp256k1_fe_set_int(rzr, 0); + } + r->infinity = 1; + } + return; + } + secp256k1_fe_sqr(&i2, &i); + secp256k1_fe_sqr(&h2, &h); + secp256k1_fe_mul(&h3, &h, &h2); + if (rzr != NULL) { + *rzr = h; + } + secp256k1_fe_mul(&r->z, &a->z, &h); + secp256k1_fe_mul(&t, &u1, &h2); + r->x = t; secp256k1_fe_mul_int(&r->x, 2); secp256k1_fe_add(&r->x, &h3); secp256k1_fe_negate(&r->x, &r->x, 3); secp256k1_fe_add(&r->x, &i2); + secp256k1_fe_negate(&r->y, &r->x, 5); secp256k1_fe_add(&r->y, &t); secp256k1_fe_mul(&r->y, &r->y, &i); + secp256k1_fe_mul(&h3, &h3, &s1); secp256k1_fe_negate(&h3, &h3, 1); + secp256k1_fe_add(&r->y, &h3); +} + +static void secp256k1_gej_add_zinv_var(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge *b, const secp256k1_fe *bzinv) { + /* 9 mul, 3 sqr, 4 normalize, 12 mul_int/add/negate */ + secp256k1_fe az, z12, u1, u2, s1, s2, h, i, i2, h2, h3, t; + + if (b->infinity) { + *r = *a; + return; + } + if (a->infinity) { + secp256k1_fe bzinv2, bzinv3; + r->infinity = b->infinity; + secp256k1_fe_sqr(&bzinv2, bzinv); + secp256k1_fe_mul(&bzinv3, &bzinv2, bzinv); + secp256k1_fe_mul(&r->x, &b->x, &bzinv2); + secp256k1_fe_mul(&r->y, &b->y, &bzinv3); + secp256k1_fe_set_int(&r->z, 1); + return; + } + r->infinity = 0; + + /** We need to calculate (rx,ry,rz) = (ax,ay,az) + (bx,by,1/bzinv). Due to + * secp256k1's isomorphism we can multiply the Z coordinates on both sides + * by bzinv, and get: (rx,ry,rz*bzinv) = (ax,ay,az*bzinv) + (bx,by,1). + * This means that (rx,ry,rz) can be calculated as + * (ax,ay,az*bzinv) + (bx,by,1), when not applying the bzinv factor to rz. + * The variable az below holds the modified Z coordinate for a, which is used + * for the computation of rx and ry, but not for rz. + */ + secp256k1_fe_mul(&az, &a->z, bzinv); + + secp256k1_fe_sqr(&z12, &az); + u1 = a->x; secp256k1_fe_normalize_weak(&u1); + secp256k1_fe_mul(&u2, &b->x, &z12); + s1 = a->y; secp256k1_fe_normalize_weak(&s1); + secp256k1_fe_mul(&s2, &b->y, &z12); secp256k1_fe_mul(&s2, &s2, &az); + secp256k1_fe_negate(&h, &u1, 1); secp256k1_fe_add(&h, &u2); + secp256k1_fe_negate(&i, &s1, 1); secp256k1_fe_add(&i, &s2); + if (secp256k1_fe_normalizes_to_zero_var(&h)) { + if (secp256k1_fe_normalizes_to_zero_var(&i)) { + secp256k1_gej_double_var(r, a, NULL); + } else { + r->infinity = 1; + } + return; + } + secp256k1_fe_sqr(&i2, &i); + secp256k1_fe_sqr(&h2, &h); + secp256k1_fe_mul(&h3, &h, &h2); + r->z = a->z; secp256k1_fe_mul(&r->z, &r->z, &h); + secp256k1_fe_mul(&t, &u1, &h2); + r->x = t; secp256k1_fe_mul_int(&r->x, 2); secp256k1_fe_add(&r->x, &h3); secp256k1_fe_negate(&r->x, &r->x, 3); secp256k1_fe_add(&r->x, &i2); + secp256k1_fe_negate(&r->y, &r->x, 5); secp256k1_fe_add(&r->y, &t); secp256k1_fe_mul(&r->y, &r->y, &i); + secp256k1_fe_mul(&h3, &h3, &s1); secp256k1_fe_negate(&h3, &h3, 1); + secp256k1_fe_add(&r->y, &h3); +} + + +static void secp256k1_gej_add_ge(secp256k1_gej *r, const secp256k1_gej *a, const secp256k1_ge *b) { + /* Operations: 7 mul, 5 sqr, 4 normalize, 21 mul_int/add/negate/cmov */ + static const secp256k1_fe fe_1 = SECP256K1_FE_CONST(0, 0, 0, 0, 0, 0, 0, 1); + secp256k1_fe zz, u1, u2, s1, s2, t, tt, m, n, q, rr; + secp256k1_fe m_alt, rr_alt; + int infinity, degenerate; + VERIFY_CHECK(!b->infinity); + VERIFY_CHECK(a->infinity == 0 || a->infinity == 1); + + /** In: + * Eric Brier and Marc Joye, Weierstrass Elliptic Curves and Side-Channel Attacks. + * In D. Naccache and P. Paillier, Eds., Public Key Cryptography, vol. 2274 of Lecture Notes in Computer Science, pages 335-345. Springer-Verlag, 2002. + * we find as solution for a unified addition/doubling formula: + * lambda = ((x1 + x2)^2 - x1 * x2 + a) / (y1 + y2), with a = 0 for secp256k1's curve equation. + * x3 = lambda^2 - (x1 + x2) + * 2*y3 = lambda * (x1 + x2 - 2 * x3) - (y1 + y2). + * + * Substituting x_i = Xi / Zi^2 and yi = Yi / Zi^3, for i=1,2,3, gives: + * U1 = X1*Z2^2, U2 = X2*Z1^2 + * S1 = Y1*Z2^3, S2 = Y2*Z1^3 + * Z = Z1*Z2 + * T = U1+U2 + * M = S1+S2 + * Q = T*M^2 + * R = T^2-U1*U2 + * X3 = 4*(R^2-Q) + * Y3 = 4*(R*(3*Q-2*R^2)-M^4) + * Z3 = 2*M*Z + * (Note that the paper uses xi = Xi / Zi and yi = Yi / Zi instead.) + * + * This formula has the benefit of being the same for both addition + * of distinct points and doubling. However, it breaks down in the + * case that either point is infinity, or that y1 = -y2. We handle + * these cases in the following ways: + * + * - If b is infinity we simply bail by means of a VERIFY_CHECK. + * + * - If a is infinity, we detect this, and at the end of the + * computation replace the result (which will be meaningless, + * but we compute to be constant-time) with b.x : b.y : 1. + * + * - If a = -b, we have y1 = -y2, which is a degenerate case. + * But here the answer is infinity, so we simply set the + * infinity flag of the result, overriding the computed values + * without even needing to cmov. + * + * - If y1 = -y2 but x1 != x2, which does occur thanks to certain + * properties of our curve (specifically, 1 has nontrivial cube + * roots in our field, and the curve equation has no x coefficient) + * then the answer is not infinity but also not given by the above + * equation. In this case, we cmov in place an alternate expression + * for lambda. Specifically (y1 - y2)/(x1 - x2). Where both these + * expressions for lambda are defined, they are equal, and can be + * obtained from each other by multiplication by (y1 + y2)/(y1 + y2) + * then substitution of x^3 + 7 for y^2 (using the curve equation). + * For all pairs of nonzero points (a, b) at least one is defined, + * so this covers everything. + */ + + secp256k1_fe_sqr(&zz, &a->z); /* z = Z1^2 */ + u1 = a->x; secp256k1_fe_normalize_weak(&u1); /* u1 = U1 = X1*Z2^2 (1) */ + secp256k1_fe_mul(&u2, &b->x, &zz); /* u2 = U2 = X2*Z1^2 (1) */ + s1 = a->y; secp256k1_fe_normalize_weak(&s1); /* s1 = S1 = Y1*Z2^3 (1) */ + secp256k1_fe_mul(&s2, &b->y, &zz); /* s2 = Y2*Z1^2 (1) */ + secp256k1_fe_mul(&s2, &s2, &a->z); /* s2 = S2 = Y2*Z1^3 (1) */ + t = u1; secp256k1_fe_add(&t, &u2); /* t = T = U1+U2 (2) */ + m = s1; secp256k1_fe_add(&m, &s2); /* m = M = S1+S2 (2) */ + secp256k1_fe_sqr(&rr, &t); /* rr = T^2 (1) */ + secp256k1_fe_negate(&m_alt, &u2, 1); /* Malt = -X2*Z1^2 */ + secp256k1_fe_mul(&tt, &u1, &m_alt); /* tt = -U1*U2 (2) */ + secp256k1_fe_add(&rr, &tt); /* rr = R = T^2-U1*U2 (3) */ + /** If lambda = R/M = 0/0 we have a problem (except in the "trivial" + * case that Z = z1z2 = 0, and this is special-cased later on). */ + degenerate = secp256k1_fe_normalizes_to_zero(&m) & + secp256k1_fe_normalizes_to_zero(&rr); + /* This only occurs when y1 == -y2 and x1^3 == x2^3, but x1 != x2. + * This means either x1 == beta*x2 or beta*x1 == x2, where beta is + * a nontrivial cube root of one. In either case, an alternate + * non-indeterminate expression for lambda is (y1 - y2)/(x1 - x2), + * so we set R/M equal to this. */ + rr_alt = s1; + secp256k1_fe_mul_int(&rr_alt, 2); /* rr = Y1*Z2^3 - Y2*Z1^3 (2) */ + secp256k1_fe_add(&m_alt, &u1); /* Malt = X1*Z2^2 - X2*Z1^2 */ + + secp256k1_fe_cmov(&rr_alt, &rr, !degenerate); + secp256k1_fe_cmov(&m_alt, &m, !degenerate); + /* Now Ralt / Malt = lambda and is guaranteed not to be 0/0. + * From here on out Ralt and Malt represent the numerator + * and denominator of lambda; R and M represent the explicit + * expressions x1^2 + x2^2 + x1x2 and y1 + y2. */ + secp256k1_fe_sqr(&n, &m_alt); /* n = Malt^2 (1) */ + secp256k1_fe_mul(&q, &n, &t); /* q = Q = T*Malt^2 (1) */ + /* These two lines use the observation that either M == Malt or M == 0, + * so M^3 * Malt is either Malt^4 (which is computed by squaring), or + * zero (which is "computed" by cmov). So the cost is one squaring + * versus two multiplications. */ + secp256k1_fe_sqr(&n, &n); + secp256k1_fe_cmov(&n, &m, degenerate); /* n = M^3 * Malt (2) */ + secp256k1_fe_sqr(&t, &rr_alt); /* t = Ralt^2 (1) */ + secp256k1_fe_mul(&r->z, &a->z, &m_alt); /* r->z = Malt*Z (1) */ + infinity = secp256k1_fe_normalizes_to_zero(&r->z) * (1 - a->infinity); + secp256k1_fe_mul_int(&r->z, 2); /* r->z = Z3 = 2*Malt*Z (2) */ + secp256k1_fe_negate(&q, &q, 1); /* q = -Q (2) */ + secp256k1_fe_add(&t, &q); /* t = Ralt^2-Q (3) */ + secp256k1_fe_normalize_weak(&t); + r->x = t; /* r->x = Ralt^2-Q (1) */ + secp256k1_fe_mul_int(&t, 2); /* t = 2*x3 (2) */ + secp256k1_fe_add(&t, &q); /* t = 2*x3 - Q: (4) */ + secp256k1_fe_mul(&t, &t, &rr_alt); /* t = Ralt*(2*x3 - Q) (1) */ + secp256k1_fe_add(&t, &n); /* t = Ralt*(2*x3 - Q) + M^3*Malt (3) */ + secp256k1_fe_negate(&r->y, &t, 3); /* r->y = Ralt*(Q - 2x3) - M^3*Malt (4) */ + secp256k1_fe_normalize_weak(&r->y); + secp256k1_fe_mul_int(&r->x, 4); /* r->x = X3 = 4*(Ralt^2-Q) */ + secp256k1_fe_mul_int(&r->y, 4); /* r->y = Y3 = 4*Ralt*(Q - 2x3) - 4*M^3*Malt (4) */ + + /** In case a->infinity == 1, replace r with (b->x, b->y, 1). */ + secp256k1_fe_cmov(&r->x, &b->x, a->infinity); + secp256k1_fe_cmov(&r->y, &b->y, a->infinity); + secp256k1_fe_cmov(&r->z, &fe_1, a->infinity); + r->infinity = infinity; +} + +static void secp256k1_gej_rescale(secp256k1_gej *r, const secp256k1_fe *s) { + /* Operations: 4 mul, 1 sqr */ + secp256k1_fe zz; + VERIFY_CHECK(!secp256k1_fe_is_zero(s)); + secp256k1_fe_sqr(&zz, s); + secp256k1_fe_mul(&r->x, &r->x, &zz); /* r->x *= s^2 */ + secp256k1_fe_mul(&r->y, &r->y, &zz); + secp256k1_fe_mul(&r->y, &r->y, s); /* r->y *= s^3 */ + secp256k1_fe_mul(&r->z, &r->z, s); /* r->z *= s */ +} + +static void secp256k1_ge_to_storage(secp256k1_ge_storage *r, const secp256k1_ge *a) { + secp256k1_fe x, y; + VERIFY_CHECK(!a->infinity); + x = a->x; + secp256k1_fe_normalize(&x); + y = a->y; + secp256k1_fe_normalize(&y); + secp256k1_fe_to_storage(&r->x, &x); + secp256k1_fe_to_storage(&r->y, &y); +} + +static void secp256k1_ge_from_storage(secp256k1_ge *r, const secp256k1_ge_storage *a) { + secp256k1_fe_from_storage(&r->x, &a->x); + secp256k1_fe_from_storage(&r->y, &a->y); + r->infinity = 0; +} + +static SECP256K1_INLINE void secp256k1_ge_storage_cmov(secp256k1_ge_storage *r, const secp256k1_ge_storage *a, int flag) { + secp256k1_fe_storage_cmov(&r->x, &a->x, flag); + secp256k1_fe_storage_cmov(&r->y, &a->y, flag); +} + +#ifdef USE_ENDOMORPHISM +static void secp256k1_ge_mul_lambda(secp256k1_ge *r, const secp256k1_ge *a) { + static const secp256k1_fe beta = SECP256K1_FE_CONST( + 0x7ae96a2bul, 0x657c0710ul, 0x6e64479eul, 0xac3434e9ul, + 0x9cf04975ul, 0x12f58995ul, 0xc1396c28ul, 0x719501eeul + ); + *r = *a; + secp256k1_fe_mul(&r->x, &r->x, &beta); +} +#endif + +static int secp256k1_gej_has_quad_y_var(const secp256k1_gej *a) { + secp256k1_fe yz; + + if (a->infinity) { + return 0; + } + + /* We rely on the fact that the Jacobi symbol of 1 / a->z^3 is the same as + * that of a->z. Thus a->y / a->z^3 is a quadratic residue iff a->y * a->z + is */ + secp256k1_fe_mul(&yz, &a->y, &a->z); + return secp256k1_fe_is_quad_var(&yz); +} + +#endif /* SECP256K1_GROUP_IMPL_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/hash.h b/Pods/secp256k1_swift/Classes/secp256k1/src/hash.h new file mode 100644 index 000000000..de26e4b89 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/hash.h @@ -0,0 +1,41 @@ +/********************************************************************** + * Copyright (c) 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_HASH_H +#define SECP256K1_HASH_H + +#include +#include + +typedef struct { + uint32_t s[8]; + uint32_t buf[16]; /* In big endian */ + size_t bytes; +} secp256k1_sha256; + +static void secp256k1_sha256_initialize(secp256k1_sha256 *hash); +static void secp256k1_sha256_write(secp256k1_sha256 *hash, const unsigned char *data, size_t size); +static void secp256k1_sha256_finalize(secp256k1_sha256 *hash, unsigned char *out32); + +typedef struct { + secp256k1_sha256 inner, outer; +} secp256k1_hmac_sha256; + +static void secp256k1_hmac_sha256_initialize(secp256k1_hmac_sha256 *hash, const unsigned char *key, size_t size); +static void secp256k1_hmac_sha256_write(secp256k1_hmac_sha256 *hash, const unsigned char *data, size_t size); +static void secp256k1_hmac_sha256_finalize(secp256k1_hmac_sha256 *hash, unsigned char *out32); + +typedef struct { + unsigned char v[32]; + unsigned char k[32]; + int retry; +} secp256k1_rfc6979_hmac_sha256; + +static void secp256k1_rfc6979_hmac_sha256_initialize(secp256k1_rfc6979_hmac_sha256 *rng, const unsigned char *key, size_t keylen); +static void secp256k1_rfc6979_hmac_sha256_generate(secp256k1_rfc6979_hmac_sha256 *rng, unsigned char *out, size_t outlen); +static void secp256k1_rfc6979_hmac_sha256_finalize(secp256k1_rfc6979_hmac_sha256 *rng); + +#endif /* SECP256K1_HASH_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/hash_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/hash_impl.h new file mode 100644 index 000000000..009f26beb --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/hash_impl.h @@ -0,0 +1,282 @@ +/********************************************************************** + * Copyright (c) 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_HASH_IMPL_H +#define SECP256K1_HASH_IMPL_H + +#include "hash.h" + +#include +#include +#include + +#define Ch(x,y,z) ((z) ^ ((x) & ((y) ^ (z)))) +#define Maj(x,y,z) (((x) & (y)) | ((z) & ((x) | (y)))) +#define Sigma0(x) (((x) >> 2 | (x) << 30) ^ ((x) >> 13 | (x) << 19) ^ ((x) >> 22 | (x) << 10)) +#define Sigma1(x) (((x) >> 6 | (x) << 26) ^ ((x) >> 11 | (x) << 21) ^ ((x) >> 25 | (x) << 7)) +#define sigma0(x) (((x) >> 7 | (x) << 25) ^ ((x) >> 18 | (x) << 14) ^ ((x) >> 3)) +#define sigma1(x) (((x) >> 17 | (x) << 15) ^ ((x) >> 19 | (x) << 13) ^ ((x) >> 10)) + +#define Round(a,b,c,d,e,f,g,h,k,w) do { \ + uint32_t t1 = (h) + Sigma1(e) + Ch((e), (f), (g)) + (k) + (w); \ + uint32_t t2 = Sigma0(a) + Maj((a), (b), (c)); \ + (d) += t1; \ + (h) = t1 + t2; \ +} while(0) + +#ifdef WORDS_BIGENDIAN +#define BE32(x) (x) +#else +#define BE32(p) ((((p) & 0xFF) << 24) | (((p) & 0xFF00) << 8) | (((p) & 0xFF0000) >> 8) | (((p) & 0xFF000000) >> 24)) +#endif + +static void secp256k1_sha256_initialize(secp256k1_sha256 *hash) { + hash->s[0] = 0x6a09e667ul; + hash->s[1] = 0xbb67ae85ul; + hash->s[2] = 0x3c6ef372ul; + hash->s[3] = 0xa54ff53aul; + hash->s[4] = 0x510e527ful; + hash->s[5] = 0x9b05688cul; + hash->s[6] = 0x1f83d9abul; + hash->s[7] = 0x5be0cd19ul; + hash->bytes = 0; +} + +/** Perform one SHA-256 transformation, processing 16 big endian 32-bit words. */ +static void secp256k1_sha256_transform(uint32_t* s, const uint32_t* chunk) { + uint32_t a = s[0], b = s[1], c = s[2], d = s[3], e = s[4], f = s[5], g = s[6], h = s[7]; + uint32_t w0, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15; + + Round(a, b, c, d, e, f, g, h, 0x428a2f98, w0 = BE32(chunk[0])); + Round(h, a, b, c, d, e, f, g, 0x71374491, w1 = BE32(chunk[1])); + Round(g, h, a, b, c, d, e, f, 0xb5c0fbcf, w2 = BE32(chunk[2])); + Round(f, g, h, a, b, c, d, e, 0xe9b5dba5, w3 = BE32(chunk[3])); + Round(e, f, g, h, a, b, c, d, 0x3956c25b, w4 = BE32(chunk[4])); + Round(d, e, f, g, h, a, b, c, 0x59f111f1, w5 = BE32(chunk[5])); + Round(c, d, e, f, g, h, a, b, 0x923f82a4, w6 = BE32(chunk[6])); + Round(b, c, d, e, f, g, h, a, 0xab1c5ed5, w7 = BE32(chunk[7])); + Round(a, b, c, d, e, f, g, h, 0xd807aa98, w8 = BE32(chunk[8])); + Round(h, a, b, c, d, e, f, g, 0x12835b01, w9 = BE32(chunk[9])); + Round(g, h, a, b, c, d, e, f, 0x243185be, w10 = BE32(chunk[10])); + Round(f, g, h, a, b, c, d, e, 0x550c7dc3, w11 = BE32(chunk[11])); + Round(e, f, g, h, a, b, c, d, 0x72be5d74, w12 = BE32(chunk[12])); + Round(d, e, f, g, h, a, b, c, 0x80deb1fe, w13 = BE32(chunk[13])); + Round(c, d, e, f, g, h, a, b, 0x9bdc06a7, w14 = BE32(chunk[14])); + Round(b, c, d, e, f, g, h, a, 0xc19bf174, w15 = BE32(chunk[15])); + + Round(a, b, c, d, e, f, g, h, 0xe49b69c1, w0 += sigma1(w14) + w9 + sigma0(w1)); + Round(h, a, b, c, d, e, f, g, 0xefbe4786, w1 += sigma1(w15) + w10 + sigma0(w2)); + Round(g, h, a, b, c, d, e, f, 0x0fc19dc6, w2 += sigma1(w0) + w11 + sigma0(w3)); + Round(f, g, h, a, b, c, d, e, 0x240ca1cc, w3 += sigma1(w1) + w12 + sigma0(w4)); + Round(e, f, g, h, a, b, c, d, 0x2de92c6f, w4 += sigma1(w2) + w13 + sigma0(w5)); + Round(d, e, f, g, h, a, b, c, 0x4a7484aa, w5 += sigma1(w3) + w14 + sigma0(w6)); + Round(c, d, e, f, g, h, a, b, 0x5cb0a9dc, w6 += sigma1(w4) + w15 + sigma0(w7)); + Round(b, c, d, e, f, g, h, a, 0x76f988da, w7 += sigma1(w5) + w0 + sigma0(w8)); + Round(a, b, c, d, e, f, g, h, 0x983e5152, w8 += sigma1(w6) + w1 + sigma0(w9)); + Round(h, a, b, c, d, e, f, g, 0xa831c66d, w9 += sigma1(w7) + w2 + sigma0(w10)); + Round(g, h, a, b, c, d, e, f, 0xb00327c8, w10 += sigma1(w8) + w3 + sigma0(w11)); + Round(f, g, h, a, b, c, d, e, 0xbf597fc7, w11 += sigma1(w9) + w4 + sigma0(w12)); + Round(e, f, g, h, a, b, c, d, 0xc6e00bf3, w12 += sigma1(w10) + w5 + sigma0(w13)); + Round(d, e, f, g, h, a, b, c, 0xd5a79147, w13 += sigma1(w11) + w6 + sigma0(w14)); + Round(c, d, e, f, g, h, a, b, 0x06ca6351, w14 += sigma1(w12) + w7 + sigma0(w15)); + Round(b, c, d, e, f, g, h, a, 0x14292967, w15 += sigma1(w13) + w8 + sigma0(w0)); + + Round(a, b, c, d, e, f, g, h, 0x27b70a85, w0 += sigma1(w14) + w9 + sigma0(w1)); + Round(h, a, b, c, d, e, f, g, 0x2e1b2138, w1 += sigma1(w15) + w10 + sigma0(w2)); + Round(g, h, a, b, c, d, e, f, 0x4d2c6dfc, w2 += sigma1(w0) + w11 + sigma0(w3)); + Round(f, g, h, a, b, c, d, e, 0x53380d13, w3 += sigma1(w1) + w12 + sigma0(w4)); + Round(e, f, g, h, a, b, c, d, 0x650a7354, w4 += sigma1(w2) + w13 + sigma0(w5)); + Round(d, e, f, g, h, a, b, c, 0x766a0abb, w5 += sigma1(w3) + w14 + sigma0(w6)); + Round(c, d, e, f, g, h, a, b, 0x81c2c92e, w6 += sigma1(w4) + w15 + sigma0(w7)); + Round(b, c, d, e, f, g, h, a, 0x92722c85, w7 += sigma1(w5) + w0 + sigma0(w8)); + Round(a, b, c, d, e, f, g, h, 0xa2bfe8a1, w8 += sigma1(w6) + w1 + sigma0(w9)); + Round(h, a, b, c, d, e, f, g, 0xa81a664b, w9 += sigma1(w7) + w2 + sigma0(w10)); + Round(g, h, a, b, c, d, e, f, 0xc24b8b70, w10 += sigma1(w8) + w3 + sigma0(w11)); + Round(f, g, h, a, b, c, d, e, 0xc76c51a3, w11 += sigma1(w9) + w4 + sigma0(w12)); + Round(e, f, g, h, a, b, c, d, 0xd192e819, w12 += sigma1(w10) + w5 + sigma0(w13)); + Round(d, e, f, g, h, a, b, c, 0xd6990624, w13 += sigma1(w11) + w6 + sigma0(w14)); + Round(c, d, e, f, g, h, a, b, 0xf40e3585, w14 += sigma1(w12) + w7 + sigma0(w15)); + Round(b, c, d, e, f, g, h, a, 0x106aa070, w15 += sigma1(w13) + w8 + sigma0(w0)); + + Round(a, b, c, d, e, f, g, h, 0x19a4c116, w0 += sigma1(w14) + w9 + sigma0(w1)); + Round(h, a, b, c, d, e, f, g, 0x1e376c08, w1 += sigma1(w15) + w10 + sigma0(w2)); + Round(g, h, a, b, c, d, e, f, 0x2748774c, w2 += sigma1(w0) + w11 + sigma0(w3)); + Round(f, g, h, a, b, c, d, e, 0x34b0bcb5, w3 += sigma1(w1) + w12 + sigma0(w4)); + Round(e, f, g, h, a, b, c, d, 0x391c0cb3, w4 += sigma1(w2) + w13 + sigma0(w5)); + Round(d, e, f, g, h, a, b, c, 0x4ed8aa4a, w5 += sigma1(w3) + w14 + sigma0(w6)); + Round(c, d, e, f, g, h, a, b, 0x5b9cca4f, w6 += sigma1(w4) + w15 + sigma0(w7)); + Round(b, c, d, e, f, g, h, a, 0x682e6ff3, w7 += sigma1(w5) + w0 + sigma0(w8)); + Round(a, b, c, d, e, f, g, h, 0x748f82ee, w8 += sigma1(w6) + w1 + sigma0(w9)); + Round(h, a, b, c, d, e, f, g, 0x78a5636f, w9 += sigma1(w7) + w2 + sigma0(w10)); + Round(g, h, a, b, c, d, e, f, 0x84c87814, w10 += sigma1(w8) + w3 + sigma0(w11)); + Round(f, g, h, a, b, c, d, e, 0x8cc70208, w11 += sigma1(w9) + w4 + sigma0(w12)); + Round(e, f, g, h, a, b, c, d, 0x90befffa, w12 += sigma1(w10) + w5 + sigma0(w13)); + Round(d, e, f, g, h, a, b, c, 0xa4506ceb, w13 += sigma1(w11) + w6 + sigma0(w14)); + Round(c, d, e, f, g, h, a, b, 0xbef9a3f7, w14 + sigma1(w12) + w7 + sigma0(w15)); + Round(b, c, d, e, f, g, h, a, 0xc67178f2, w15 + sigma1(w13) + w8 + sigma0(w0)); + + s[0] += a; + s[1] += b; + s[2] += c; + s[3] += d; + s[4] += e; + s[5] += f; + s[6] += g; + s[7] += h; +} + +static void secp256k1_sha256_write(secp256k1_sha256 *hash, const unsigned char *data, size_t len) { + size_t bufsize = hash->bytes & 0x3F; + hash->bytes += len; + while (bufsize + len >= 64) { + /* Fill the buffer, and process it. */ + size_t chunk_len = 64 - bufsize; + memcpy(((unsigned char*)hash->buf) + bufsize, data, chunk_len); + data += chunk_len; + len -= chunk_len; + secp256k1_sha256_transform(hash->s, hash->buf); + bufsize = 0; + } + if (len) { + /* Fill the buffer with what remains. */ + memcpy(((unsigned char*)hash->buf) + bufsize, data, len); + } +} + +static void secp256k1_sha256_finalize(secp256k1_sha256 *hash, unsigned char *out32) { + static const unsigned char pad[64] = {0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + uint32_t sizedesc[2]; + uint32_t out[8]; + int i = 0; + sizedesc[0] = BE32(hash->bytes >> 29); + sizedesc[1] = BE32(hash->bytes << 3); + secp256k1_sha256_write(hash, pad, 1 + ((119 - (hash->bytes % 64)) % 64)); + secp256k1_sha256_write(hash, (const unsigned char*)sizedesc, 8); + for (i = 0; i < 8; i++) { + out[i] = BE32(hash->s[i]); + hash->s[i] = 0; + } + memcpy(out32, (const unsigned char*)out, 32); +} + +static void secp256k1_hmac_sha256_initialize(secp256k1_hmac_sha256 *hash, const unsigned char *key, size_t keylen) { + size_t n; + unsigned char rkey[64]; + if (keylen <= sizeof(rkey)) { + memcpy(rkey, key, keylen); + memset(rkey + keylen, 0, sizeof(rkey) - keylen); + } else { + secp256k1_sha256 sha256; + secp256k1_sha256_initialize(&sha256); + secp256k1_sha256_write(&sha256, key, keylen); + secp256k1_sha256_finalize(&sha256, rkey); + memset(rkey + 32, 0, 32); + } + + secp256k1_sha256_initialize(&hash->outer); + for (n = 0; n < sizeof(rkey); n++) { + rkey[n] ^= 0x5c; + } + secp256k1_sha256_write(&hash->outer, rkey, sizeof(rkey)); + + secp256k1_sha256_initialize(&hash->inner); + for (n = 0; n < sizeof(rkey); n++) { + rkey[n] ^= 0x5c ^ 0x36; + } + secp256k1_sha256_write(&hash->inner, rkey, sizeof(rkey)); + memset(rkey, 0, sizeof(rkey)); +} + +static void secp256k1_hmac_sha256_write(secp256k1_hmac_sha256 *hash, const unsigned char *data, size_t size) { + secp256k1_sha256_write(&hash->inner, data, size); +} + +static void secp256k1_hmac_sha256_finalize(secp256k1_hmac_sha256 *hash, unsigned char *out32) { + unsigned char temp[32]; + secp256k1_sha256_finalize(&hash->inner, temp); + secp256k1_sha256_write(&hash->outer, temp, 32); + memset(temp, 0, 32); + secp256k1_sha256_finalize(&hash->outer, out32); +} + + +static void secp256k1_rfc6979_hmac_sha256_initialize(secp256k1_rfc6979_hmac_sha256 *rng, const unsigned char *key, size_t keylen) { + secp256k1_hmac_sha256 hmac; + static const unsigned char zero[1] = {0x00}; + static const unsigned char one[1] = {0x01}; + + memset(rng->v, 0x01, 32); /* RFC6979 3.2.b. */ + memset(rng->k, 0x00, 32); /* RFC6979 3.2.c. */ + + /* RFC6979 3.2.d. */ + secp256k1_hmac_sha256_initialize(&hmac, rng->k, 32); + secp256k1_hmac_sha256_write(&hmac, rng->v, 32); + secp256k1_hmac_sha256_write(&hmac, zero, 1); + secp256k1_hmac_sha256_write(&hmac, key, keylen); + secp256k1_hmac_sha256_finalize(&hmac, rng->k); + secp256k1_hmac_sha256_initialize(&hmac, rng->k, 32); + secp256k1_hmac_sha256_write(&hmac, rng->v, 32); + secp256k1_hmac_sha256_finalize(&hmac, rng->v); + + /* RFC6979 3.2.f. */ + secp256k1_hmac_sha256_initialize(&hmac, rng->k, 32); + secp256k1_hmac_sha256_write(&hmac, rng->v, 32); + secp256k1_hmac_sha256_write(&hmac, one, 1); + secp256k1_hmac_sha256_write(&hmac, key, keylen); + secp256k1_hmac_sha256_finalize(&hmac, rng->k); + secp256k1_hmac_sha256_initialize(&hmac, rng->k, 32); + secp256k1_hmac_sha256_write(&hmac, rng->v, 32); + secp256k1_hmac_sha256_finalize(&hmac, rng->v); + rng->retry = 0; +} + +static void secp256k1_rfc6979_hmac_sha256_generate(secp256k1_rfc6979_hmac_sha256 *rng, unsigned char *out, size_t outlen) { + /* RFC6979 3.2.h. */ + static const unsigned char zero[1] = {0x00}; + if (rng->retry) { + secp256k1_hmac_sha256 hmac; + secp256k1_hmac_sha256_initialize(&hmac, rng->k, 32); + secp256k1_hmac_sha256_write(&hmac, rng->v, 32); + secp256k1_hmac_sha256_write(&hmac, zero, 1); + secp256k1_hmac_sha256_finalize(&hmac, rng->k); + secp256k1_hmac_sha256_initialize(&hmac, rng->k, 32); + secp256k1_hmac_sha256_write(&hmac, rng->v, 32); + secp256k1_hmac_sha256_finalize(&hmac, rng->v); + } + + while (outlen > 0) { + secp256k1_hmac_sha256 hmac; + int now = outlen; + secp256k1_hmac_sha256_initialize(&hmac, rng->k, 32); + secp256k1_hmac_sha256_write(&hmac, rng->v, 32); + secp256k1_hmac_sha256_finalize(&hmac, rng->v); + if (now > 32) { + now = 32; + } + memcpy(out, rng->v, now); + out += now; + outlen -= now; + } + + rng->retry = 1; +} + +static void secp256k1_rfc6979_hmac_sha256_finalize(secp256k1_rfc6979_hmac_sha256 *rng) { + memset(rng->k, 0, 32); + memset(rng->v, 0, 32); + rng->retry = 0; +} + +#undef BE32 +#undef Round +#undef sigma1 +#undef sigma0 +#undef Sigma1 +#undef Sigma0 +#undef Maj +#undef Ch + +#endif /* SECP256K1_HASH_IMPL_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/modules/ecdh/main_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/modules/ecdh/main_impl.h new file mode 100644 index 000000000..85602208f --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/modules/ecdh/main_impl.h @@ -0,0 +1,54 @@ +/********************************************************************** + * Copyright (c) 2015 Andrew Poelstra * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_MODULE_ECDH_MAIN_H +#define SECP256K1_MODULE_ECDH_MAIN_H + +#include "secp256k1_ecdh.h" +#include "ecmult_const_impl.h" + +int secp256k1_ecdh(const secp256k1_context* ctx, unsigned char *result, const secp256k1_pubkey *point, const unsigned char *scalar) { + int ret = 0; + int overflow = 0; + secp256k1_gej res; + secp256k1_ge pt; + secp256k1_scalar s; + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(result != NULL); + ARG_CHECK(point != NULL); + ARG_CHECK(scalar != NULL); + + secp256k1_pubkey_load(ctx, &pt, point); + secp256k1_scalar_set_b32(&s, scalar, &overflow); + if (overflow || secp256k1_scalar_is_zero(&s)) { + ret = 0; + } else { + unsigned char x[32]; + unsigned char y[1]; + secp256k1_sha256 sha; + + secp256k1_ecmult_const(&res, &pt, &s, 256); + secp256k1_ge_set_gej(&pt, &res); + /* Compute a hash of the point in compressed form + * Note we cannot use secp256k1_eckey_pubkey_serialize here since it does not + * expect its output to be secret and has a timing sidechannel. */ + secp256k1_fe_normalize(&pt.x); + secp256k1_fe_normalize(&pt.y); + secp256k1_fe_get_b32(x, &pt.x); + y[0] = 0x02 | secp256k1_fe_is_odd(&pt.y); + + secp256k1_sha256_initialize(&sha); + secp256k1_sha256_write(&sha, y, sizeof(y)); + secp256k1_sha256_write(&sha, x, sizeof(x)); + secp256k1_sha256_finalize(&sha, result); + ret = 1; + } + + secp256k1_scalar_clear(&s); + return ret; +} + +#endif /* SECP256K1_MODULE_ECDH_MAIN_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/modules/recovery/main_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/modules/recovery/main_impl.h new file mode 100755 index 000000000..1abe509ff --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/modules/recovery/main_impl.h @@ -0,0 +1,193 @@ +/********************************************************************** + * Copyright (c) 2013-2015 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_MODULE_RECOVERY_MAIN_H +#define SECP256K1_MODULE_RECOVERY_MAIN_H + +#include "secp256k1_recovery.h" + +static void secp256k1_ecdsa_recoverable_signature_load(const secp256k1_context* ctx, secp256k1_scalar* r, secp256k1_scalar* s, int* recid, const secp256k1_ecdsa_recoverable_signature* sig) { + (void)ctx; + if (sizeof(secp256k1_scalar) == 32) { + /* When the secp256k1_scalar type is exactly 32 byte, use its + * representation inside secp256k1_ecdsa_signature, as conversion is very fast. + * Note that secp256k1_ecdsa_signature_save must use the same representation. */ + memcpy(r, &sig->data[0], 32); + memcpy(s, &sig->data[32], 32); + } else { + secp256k1_scalar_set_b32(r, &sig->data[0], NULL); + secp256k1_scalar_set_b32(s, &sig->data[32], NULL); + } + *recid = sig->data[64]; +} + +static void secp256k1_ecdsa_recoverable_signature_save(secp256k1_ecdsa_recoverable_signature* sig, const secp256k1_scalar* r, const secp256k1_scalar* s, int recid) { + if (sizeof(secp256k1_scalar) == 32) { + memcpy(&sig->data[0], r, 32); + memcpy(&sig->data[32], s, 32); + } else { + secp256k1_scalar_get_b32(&sig->data[0], r); + secp256k1_scalar_get_b32(&sig->data[32], s); + } + sig->data[64] = recid; +} + +int secp256k1_ecdsa_recoverable_signature_parse_compact(const secp256k1_context* ctx, secp256k1_ecdsa_recoverable_signature* sig, const unsigned char *input64, int recid) { + secp256k1_scalar r, s; + int ret = 1; + int overflow = 0; + + (void)ctx; + ARG_CHECK(sig != NULL); + ARG_CHECK(input64 != NULL); + ARG_CHECK(recid >= 0 && recid <= 3); + + secp256k1_scalar_set_b32(&r, &input64[0], &overflow); + ret &= !overflow; + secp256k1_scalar_set_b32(&s, &input64[32], &overflow); + ret &= !overflow; + if (ret) { + secp256k1_ecdsa_recoverable_signature_save(sig, &r, &s, recid); + } else { + memset(sig, 0, sizeof(*sig)); + } + return ret; +} + +int secp256k1_ecdsa_recoverable_signature_serialize_compact(const secp256k1_context* ctx, unsigned char *output64, int *recid, const secp256k1_ecdsa_recoverable_signature* sig) { + secp256k1_scalar r, s; + + (void)ctx; + ARG_CHECK(output64 != NULL); + ARG_CHECK(sig != NULL); + ARG_CHECK(recid != NULL); + + secp256k1_ecdsa_recoverable_signature_load(ctx, &r, &s, recid, sig); + secp256k1_scalar_get_b32(&output64[0], &r); + secp256k1_scalar_get_b32(&output64[32], &s); + return 1; +} + +int secp256k1_ecdsa_recoverable_signature_convert(const secp256k1_context* ctx, secp256k1_ecdsa_signature* sig, const secp256k1_ecdsa_recoverable_signature* sigin) { + secp256k1_scalar r, s; + int recid; + + (void)ctx; + ARG_CHECK(sig != NULL); + ARG_CHECK(sigin != NULL); + + secp256k1_ecdsa_recoverable_signature_load(ctx, &r, &s, &recid, sigin); + secp256k1_ecdsa_signature_save(sig, &r, &s); + return 1; +} + +static int secp256k1_ecdsa_sig_recover(const secp256k1_ecmult_context *ctx, const secp256k1_scalar *sigr, const secp256k1_scalar* sigs, secp256k1_ge *pubkey, const secp256k1_scalar *message, int recid) { + unsigned char brx[32]; + secp256k1_fe fx; + secp256k1_ge x; + secp256k1_gej xj; + secp256k1_scalar rn, u1, u2; + secp256k1_gej qj; + int r; + + if (secp256k1_scalar_is_zero(sigr) || secp256k1_scalar_is_zero(sigs)) { + return 0; + } + + secp256k1_scalar_get_b32(brx, sigr); + r = secp256k1_fe_set_b32(&fx, brx); + (void)r; + VERIFY_CHECK(r); /* brx comes from a scalar, so is less than the order; certainly less than p */ + if (recid & 2) { + if (secp256k1_fe_cmp_var(&fx, &secp256k1_ecdsa_const_p_minus_order) >= 0) { + return 0; + } + secp256k1_fe_add(&fx, &secp256k1_ecdsa_const_order_as_fe); + } + if (!secp256k1_ge_set_xo_var(&x, &fx, recid & 1)) { + return 0; + } + secp256k1_gej_set_ge(&xj, &x); + secp256k1_scalar_inverse_var(&rn, sigr); + secp256k1_scalar_mul(&u1, &rn, message); + secp256k1_scalar_negate(&u1, &u1); + secp256k1_scalar_mul(&u2, &rn, sigs); + secp256k1_ecmult(ctx, &qj, &xj, &u2, &u1); + secp256k1_ge_set_gej_var(pubkey, &qj); + return !secp256k1_gej_is_infinity(&qj); +} + +int secp256k1_ecdsa_sign_recoverable(const secp256k1_context* ctx, secp256k1_ecdsa_recoverable_signature *signature, const unsigned char *msg32, const unsigned char *seckey, secp256k1_nonce_function noncefp, const void* noncedata) { + secp256k1_scalar r, s; + secp256k1_scalar sec, non, msg; + int recid; + int ret = 0; + int overflow = 0; + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(secp256k1_ecmult_gen_context_is_built(&ctx->ecmult_gen_ctx)); + ARG_CHECK(msg32 != NULL); + ARG_CHECK(signature != NULL); + ARG_CHECK(seckey != NULL); + if (noncefp == NULL) { + noncefp = secp256k1_nonce_function_default; + } + + secp256k1_scalar_set_b32(&sec, seckey, &overflow); + /* Fail if the secret key is invalid. */ + if (!overflow && !secp256k1_scalar_is_zero(&sec)) { + unsigned char nonce32[32]; + unsigned int count = 0; + secp256k1_scalar_set_b32(&msg, msg32, NULL); + while (1) { + ret = noncefp(nonce32, msg32, seckey, NULL, (void*)noncedata, count); + if (!ret) { + break; + } + secp256k1_scalar_set_b32(&non, nonce32, &overflow); + if (!secp256k1_scalar_is_zero(&non) && !overflow) { + if (secp256k1_ecdsa_sig_sign(&ctx->ecmult_gen_ctx, &r, &s, &sec, &msg, &non, &recid)) { + break; + } + } + count++; + } + memset(nonce32, 0, 32); + secp256k1_scalar_clear(&msg); + secp256k1_scalar_clear(&non); + secp256k1_scalar_clear(&sec); + } + if (ret) { + secp256k1_ecdsa_recoverable_signature_save(signature, &r, &s, recid); + } else { + memset(signature, 0, sizeof(*signature)); + } + return ret; +} + +int secp256k1_ecdsa_recover(const secp256k1_context* ctx, secp256k1_pubkey *pubkey, const secp256k1_ecdsa_recoverable_signature *signature, const unsigned char *msg32) { + secp256k1_ge q; + secp256k1_scalar r, s; + secp256k1_scalar m; + int recid; + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(secp256k1_ecmult_context_is_built(&ctx->ecmult_ctx)); + ARG_CHECK(msg32 != NULL); + ARG_CHECK(signature != NULL); + ARG_CHECK(pubkey != NULL); + + secp256k1_ecdsa_recoverable_signature_load(ctx, &r, &s, &recid, signature); + VERIFY_CHECK(recid >= 0 && recid < 4); /* should have been caught in parse_compact */ + secp256k1_scalar_set_b32(&m, msg32, NULL); + if (secp256k1_ecdsa_sig_recover(&ctx->ecmult_ctx, &r, &s, &q, &m, recid)) { + secp256k1_pubkey_save(pubkey, &q); + return 1; + } else { + memset(pubkey, 0, sizeof(*pubkey)); + return 0; + } +} + +#endif /* SECP256K1_MODULE_RECOVERY_MAIN_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/num.h b/Pods/secp256k1_swift/Classes/secp256k1/src/num.h new file mode 100644 index 000000000..49f2dd791 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/num.h @@ -0,0 +1,74 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_NUM_H +#define SECP256K1_NUM_H + +#ifndef USE_NUM_NONE + +#if defined HAVE_CONFIG_H +#include "libsecp256k1-config.h" +#endif + +#if defined(USE_NUM_GMP) +#include "num_gmp.h" +#else +#error "Please select num implementation" +#endif + +/** Copy a number. */ +static void secp256k1_num_copy(secp256k1_num *r, const secp256k1_num *a); + +/** Convert a number's absolute value to a binary big-endian string. + * There must be enough place. */ +static void secp256k1_num_get_bin(unsigned char *r, unsigned int rlen, const secp256k1_num *a); + +/** Set a number to the value of a binary big-endian string. */ +static void secp256k1_num_set_bin(secp256k1_num *r, const unsigned char *a, unsigned int alen); + +/** Compute a modular inverse. The input must be less than the modulus. */ +static void secp256k1_num_mod_inverse(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *m); + +/** Compute the jacobi symbol (a|b). b must be positive and odd. */ +static int secp256k1_num_jacobi(const secp256k1_num *a, const secp256k1_num *b); + +/** Compare the absolute value of two numbers. */ +static int secp256k1_num_cmp(const secp256k1_num *a, const secp256k1_num *b); + +/** Test whether two number are equal (including sign). */ +static int secp256k1_num_eq(const secp256k1_num *a, const secp256k1_num *b); + +/** Add two (signed) numbers. */ +static void secp256k1_num_add(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b); + +/** Subtract two (signed) numbers. */ +static void secp256k1_num_sub(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b); + +/** Multiply two (signed) numbers. */ +static void secp256k1_num_mul(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b); + +/** Replace a number by its remainder modulo m. M's sign is ignored. The result is a number between 0 and m-1, + even if r was negative. */ +static void secp256k1_num_mod(secp256k1_num *r, const secp256k1_num *m); + +/** Right-shift the passed number by bits bits. */ +static void secp256k1_num_shift(secp256k1_num *r, int bits); + +/** Check whether a number is zero. */ +static int secp256k1_num_is_zero(const secp256k1_num *a); + +/** Check whether a number is one. */ +static int secp256k1_num_is_one(const secp256k1_num *a); + +/** Check whether a number is strictly negative. */ +static int secp256k1_num_is_neg(const secp256k1_num *a); + +/** Change a number's sign. */ +static void secp256k1_num_negate(secp256k1_num *r); + +#endif + +#endif /* SECP256K1_NUM_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/num_gmp.h b/Pods/secp256k1_swift/Classes/secp256k1/src/num_gmp.h new file mode 100644 index 000000000..3619844bd --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/num_gmp.h @@ -0,0 +1,20 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_NUM_REPR_H +#define SECP256K1_NUM_REPR_H + +#include + +#define NUM_LIMBS ((256+GMP_NUMB_BITS-1)/GMP_NUMB_BITS) + +typedef struct { + mp_limb_t data[2*NUM_LIMBS]; + int neg; + int limbs; +} secp256k1_num; + +#endif /* SECP256K1_NUM_REPR_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/num_gmp_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/num_gmp_impl.h new file mode 100644 index 000000000..0ae2a8ba0 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/num_gmp_impl.h @@ -0,0 +1,288 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_NUM_REPR_IMPL_H +#define SECP256K1_NUM_REPR_IMPL_H + +#include +#include +#include + +#include "util.h" +#include "num.h" + +#ifdef VERIFY +static void secp256k1_num_sanity(const secp256k1_num *a) { + VERIFY_CHECK(a->limbs == 1 || (a->limbs > 1 && a->data[a->limbs-1] != 0)); +} +#else +#define secp256k1_num_sanity(a) do { } while(0) +#endif + +static void secp256k1_num_copy(secp256k1_num *r, const secp256k1_num *a) { + *r = *a; +} + +static void secp256k1_num_get_bin(unsigned char *r, unsigned int rlen, const secp256k1_num *a) { + unsigned char tmp[65]; + int len = 0; + int shift = 0; + if (a->limbs>1 || a->data[0] != 0) { + len = mpn_get_str(tmp, 256, (mp_limb_t*)a->data, a->limbs); + } + while (shift < len && tmp[shift] == 0) shift++; + VERIFY_CHECK(len-shift <= (int)rlen); + memset(r, 0, rlen - len + shift); + if (len > shift) { + memcpy(r + rlen - len + shift, tmp + shift, len - shift); + } + memset(tmp, 0, sizeof(tmp)); +} + +static void secp256k1_num_set_bin(secp256k1_num *r, const unsigned char *a, unsigned int alen) { + int len; + VERIFY_CHECK(alen > 0); + VERIFY_CHECK(alen <= 64); + len = mpn_set_str(r->data, a, alen, 256); + if (len == 0) { + r->data[0] = 0; + len = 1; + } + VERIFY_CHECK(len <= NUM_LIMBS*2); + r->limbs = len; + r->neg = 0; + while (r->limbs > 1 && r->data[r->limbs-1]==0) { + r->limbs--; + } +} + +static void secp256k1_num_add_abs(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b) { + mp_limb_t c = mpn_add(r->data, a->data, a->limbs, b->data, b->limbs); + r->limbs = a->limbs; + if (c != 0) { + VERIFY_CHECK(r->limbs < 2*NUM_LIMBS); + r->data[r->limbs++] = c; + } +} + +static void secp256k1_num_sub_abs(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b) { + mp_limb_t c = mpn_sub(r->data, a->data, a->limbs, b->data, b->limbs); + (void)c; + VERIFY_CHECK(c == 0); + r->limbs = a->limbs; + while (r->limbs > 1 && r->data[r->limbs-1]==0) { + r->limbs--; + } +} + +static void secp256k1_num_mod(secp256k1_num *r, const secp256k1_num *m) { + secp256k1_num_sanity(r); + secp256k1_num_sanity(m); + + if (r->limbs >= m->limbs) { + mp_limb_t t[2*NUM_LIMBS]; + mpn_tdiv_qr(t, r->data, 0, r->data, r->limbs, m->data, m->limbs); + memset(t, 0, sizeof(t)); + r->limbs = m->limbs; + while (r->limbs > 1 && r->data[r->limbs-1]==0) { + r->limbs--; + } + } + + if (r->neg && (r->limbs > 1 || r->data[0] != 0)) { + secp256k1_num_sub_abs(r, m, r); + r->neg = 0; + } +} + +static void secp256k1_num_mod_inverse(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *m) { + int i; + mp_limb_t g[NUM_LIMBS+1]; + mp_limb_t u[NUM_LIMBS+1]; + mp_limb_t v[NUM_LIMBS+1]; + mp_size_t sn; + mp_size_t gn; + secp256k1_num_sanity(a); + secp256k1_num_sanity(m); + + /** mpn_gcdext computes: (G,S) = gcdext(U,V), where + * * G = gcd(U,V) + * * G = U*S + V*T + * * U has equal or more limbs than V, and V has no padding + * If we set U to be (a padded version of) a, and V = m: + * G = a*S + m*T + * G = a*S mod m + * Assuming G=1: + * S = 1/a mod m + */ + VERIFY_CHECK(m->limbs <= NUM_LIMBS); + VERIFY_CHECK(m->data[m->limbs-1] != 0); + for (i = 0; i < m->limbs; i++) { + u[i] = (i < a->limbs) ? a->data[i] : 0; + v[i] = m->data[i]; + } + sn = NUM_LIMBS+1; + gn = mpn_gcdext(g, r->data, &sn, u, m->limbs, v, m->limbs); + (void)gn; + VERIFY_CHECK(gn == 1); + VERIFY_CHECK(g[0] == 1); + r->neg = a->neg ^ m->neg; + if (sn < 0) { + mpn_sub(r->data, m->data, m->limbs, r->data, -sn); + r->limbs = m->limbs; + while (r->limbs > 1 && r->data[r->limbs-1]==0) { + r->limbs--; + } + } else { + r->limbs = sn; + } + memset(g, 0, sizeof(g)); + memset(u, 0, sizeof(u)); + memset(v, 0, sizeof(v)); +} + +static int secp256k1_num_jacobi(const secp256k1_num *a, const secp256k1_num *b) { + int ret; + mpz_t ga, gb; + secp256k1_num_sanity(a); + secp256k1_num_sanity(b); + VERIFY_CHECK(!b->neg && (b->limbs > 0) && (b->data[0] & 1)); + + mpz_inits(ga, gb, NULL); + + mpz_import(gb, b->limbs, -1, sizeof(mp_limb_t), 0, 0, b->data); + mpz_import(ga, a->limbs, -1, sizeof(mp_limb_t), 0, 0, a->data); + if (a->neg) { + mpz_neg(ga, ga); + } + + ret = mpz_jacobi(ga, gb); + + mpz_clears(ga, gb, NULL); + + return ret; +} + +static int secp256k1_num_is_one(const secp256k1_num *a) { + return (a->limbs == 1 && a->data[0] == 1); +} + +static int secp256k1_num_is_zero(const secp256k1_num *a) { + return (a->limbs == 1 && a->data[0] == 0); +} + +static int secp256k1_num_is_neg(const secp256k1_num *a) { + return (a->limbs > 1 || a->data[0] != 0) && a->neg; +} + +static int secp256k1_num_cmp(const secp256k1_num *a, const secp256k1_num *b) { + if (a->limbs > b->limbs) { + return 1; + } + if (a->limbs < b->limbs) { + return -1; + } + return mpn_cmp(a->data, b->data, a->limbs); +} + +static int secp256k1_num_eq(const secp256k1_num *a, const secp256k1_num *b) { + if (a->limbs > b->limbs) { + return 0; + } + if (a->limbs < b->limbs) { + return 0; + } + if ((a->neg && !secp256k1_num_is_zero(a)) != (b->neg && !secp256k1_num_is_zero(b))) { + return 0; + } + return mpn_cmp(a->data, b->data, a->limbs) == 0; +} + +static void secp256k1_num_subadd(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b, int bneg) { + if (!(b->neg ^ bneg ^ a->neg)) { /* a and b have the same sign */ + r->neg = a->neg; + if (a->limbs >= b->limbs) { + secp256k1_num_add_abs(r, a, b); + } else { + secp256k1_num_add_abs(r, b, a); + } + } else { + if (secp256k1_num_cmp(a, b) > 0) { + r->neg = a->neg; + secp256k1_num_sub_abs(r, a, b); + } else { + r->neg = b->neg ^ bneg; + secp256k1_num_sub_abs(r, b, a); + } + } +} + +static void secp256k1_num_add(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b) { + secp256k1_num_sanity(a); + secp256k1_num_sanity(b); + secp256k1_num_subadd(r, a, b, 0); +} + +static void secp256k1_num_sub(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b) { + secp256k1_num_sanity(a); + secp256k1_num_sanity(b); + secp256k1_num_subadd(r, a, b, 1); +} + +static void secp256k1_num_mul(secp256k1_num *r, const secp256k1_num *a, const secp256k1_num *b) { + mp_limb_t tmp[2*NUM_LIMBS+1]; + secp256k1_num_sanity(a); + secp256k1_num_sanity(b); + + VERIFY_CHECK(a->limbs + b->limbs <= 2*NUM_LIMBS+1); + if ((a->limbs==1 && a->data[0]==0) || (b->limbs==1 && b->data[0]==0)) { + r->limbs = 1; + r->neg = 0; + r->data[0] = 0; + return; + } + if (a->limbs >= b->limbs) { + mpn_mul(tmp, a->data, a->limbs, b->data, b->limbs); + } else { + mpn_mul(tmp, b->data, b->limbs, a->data, a->limbs); + } + r->limbs = a->limbs + b->limbs; + if (r->limbs > 1 && tmp[r->limbs - 1]==0) { + r->limbs--; + } + VERIFY_CHECK(r->limbs <= 2*NUM_LIMBS); + mpn_copyi(r->data, tmp, r->limbs); + r->neg = a->neg ^ b->neg; + memset(tmp, 0, sizeof(tmp)); +} + +static void secp256k1_num_shift(secp256k1_num *r, int bits) { + if (bits % GMP_NUMB_BITS) { + /* Shift within limbs. */ + mpn_rshift(r->data, r->data, r->limbs, bits % GMP_NUMB_BITS); + } + if (bits >= GMP_NUMB_BITS) { + int i; + /* Shift full limbs. */ + for (i = 0; i < r->limbs; i++) { + int index = i + (bits / GMP_NUMB_BITS); + if (index < r->limbs && index < 2*NUM_LIMBS) { + r->data[i] = r->data[index]; + } else { + r->data[i] = 0; + } + } + } + while (r->limbs>1 && r->data[r->limbs-1]==0) { + r->limbs--; + } +} + +static void secp256k1_num_negate(secp256k1_num *r) { + r->neg ^= 1; +} + +#endif /* SECP256K1_NUM_REPR_IMPL_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/num_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/num_impl.h new file mode 100644 index 000000000..c45193b03 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/num_impl.h @@ -0,0 +1,24 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_NUM_IMPL_H +#define SECP256K1_NUM_IMPL_H + +#if defined HAVE_CONFIG_H +#include "libsecp256k1-config.h" +#endif + +#include "num.h" + +#if defined(USE_NUM_GMP) +#include "num_gmp_impl.h" +#elif defined(USE_NUM_NONE) +/* Nothing. */ +#else +#error "Please select num implementation" +#endif + +#endif /* SECP256K1_NUM_IMPL_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/scalar.h b/Pods/secp256k1_swift/Classes/secp256k1/src/scalar.h new file mode 100644 index 000000000..59304cb66 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/scalar.h @@ -0,0 +1,106 @@ +/********************************************************************** + * Copyright (c) 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_SCALAR_H +#define SECP256K1_SCALAR_H + +#include "num.h" + +#if defined HAVE_CONFIG_H +#include "libsecp256k1-config.h" +#endif + +#if defined(EXHAUSTIVE_TEST_ORDER) +#include "scalar_low.h" +#elif defined(USE_SCALAR_4X64) +#include "scalar_4x64.h" +#elif defined(USE_SCALAR_8X32) +#include "scalar_8x32.h" +#else +#error "Please select scalar implementation" +#endif + +/** Clear a scalar to prevent the leak of sensitive data. */ +static void secp256k1_scalar_clear(secp256k1_scalar *r); + +/** Access bits from a scalar. All requested bits must belong to the same 32-bit limb. */ +static unsigned int secp256k1_scalar_get_bits(const secp256k1_scalar *a, unsigned int offset, unsigned int count); + +/** Access bits from a scalar. Not constant time. */ +static unsigned int secp256k1_scalar_get_bits_var(const secp256k1_scalar *a, unsigned int offset, unsigned int count); + +/** Set a scalar from a big endian byte array. */ +static void secp256k1_scalar_set_b32(secp256k1_scalar *r, const unsigned char *bin, int *overflow); + +/** Set a scalar to an unsigned integer. */ +static void secp256k1_scalar_set_int(secp256k1_scalar *r, unsigned int v); + +/** Convert a scalar to a byte array. */ +static void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar* a); + +/** Add two scalars together (modulo the group order). Returns whether it overflowed. */ +static int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b); + +/** Conditionally add a power of two to a scalar. The result is not allowed to overflow. */ +static void secp256k1_scalar_cadd_bit(secp256k1_scalar *r, unsigned int bit, int flag); + +/** Multiply two scalars (modulo the group order). */ +static void secp256k1_scalar_mul(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b); + +/** Shift a scalar right by some amount strictly between 0 and 16, returning + * the low bits that were shifted off */ +static int secp256k1_scalar_shr_int(secp256k1_scalar *r, int n); + +/** Compute the square of a scalar (modulo the group order). */ +static void secp256k1_scalar_sqr(secp256k1_scalar *r, const secp256k1_scalar *a); + +/** Compute the inverse of a scalar (modulo the group order). */ +static void secp256k1_scalar_inverse(secp256k1_scalar *r, const secp256k1_scalar *a); + +/** Compute the inverse of a scalar (modulo the group order), without constant-time guarantee. */ +static void secp256k1_scalar_inverse_var(secp256k1_scalar *r, const secp256k1_scalar *a); + +/** Compute the complement of a scalar (modulo the group order). */ +static void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1_scalar *a); + +/** Check whether a scalar equals zero. */ +static int secp256k1_scalar_is_zero(const secp256k1_scalar *a); + +/** Check whether a scalar equals one. */ +static int secp256k1_scalar_is_one(const secp256k1_scalar *a); + +/** Check whether a scalar, considered as an nonnegative integer, is even. */ +static int secp256k1_scalar_is_even(const secp256k1_scalar *a); + +/** Check whether a scalar is higher than the group order divided by 2. */ +static int secp256k1_scalar_is_high(const secp256k1_scalar *a); + +/** Conditionally negate a number, in constant time. + * Returns -1 if the number was negated, 1 otherwise */ +static int secp256k1_scalar_cond_negate(secp256k1_scalar *a, int flag); + +#ifndef USE_NUM_NONE +/** Convert a scalar to a number. */ +static void secp256k1_scalar_get_num(secp256k1_num *r, const secp256k1_scalar *a); + +/** Get the order of the group as a number. */ +static void secp256k1_scalar_order_get_num(secp256k1_num *r); +#endif + +/** Compare two scalars. */ +static int secp256k1_scalar_eq(const secp256k1_scalar *a, const secp256k1_scalar *b); + +#ifdef USE_ENDOMORPHISM +/** Find r1 and r2 such that r1+r2*2^128 = a. */ +static void secp256k1_scalar_split_128(secp256k1_scalar *r1, secp256k1_scalar *r2, const secp256k1_scalar *a); +/** Find r1 and r2 such that r1+r2*lambda = a, and r1 and r2 are maximum 128 bits long (see secp256k1_gej_mul_lambda). */ +static void secp256k1_scalar_split_lambda(secp256k1_scalar *r1, secp256k1_scalar *r2, const secp256k1_scalar *a); +#endif + +/** Multiply a and b (without taking the modulus!), divide by 2**shift, and round to the nearest integer. Shift must be at least 256. */ +static void secp256k1_scalar_mul_shift_var(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b, unsigned int shift); + +#endif /* SECP256K1_SCALAR_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_4x64.h b/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_4x64.h new file mode 100644 index 000000000..19c7495d1 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_4x64.h @@ -0,0 +1,19 @@ +/********************************************************************** + * Copyright (c) 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_SCALAR_REPR_H +#define SECP256K1_SCALAR_REPR_H + +#include + +/** A scalar modulo the group order of the secp256k1 curve. */ +typedef struct { + uint64_t d[4]; +} secp256k1_scalar; + +#define SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {{((uint64_t)(d1)) << 32 | (d0), ((uint64_t)(d3)) << 32 | (d2), ((uint64_t)(d5)) << 32 | (d4), ((uint64_t)(d7)) << 32 | (d6)}} + +#endif /* SECP256K1_SCALAR_REPR_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_4x64_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_4x64_impl.h new file mode 100644 index 000000000..db1ebf94b --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_4x64_impl.h @@ -0,0 +1,949 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_SCALAR_REPR_IMPL_H +#define SECP256K1_SCALAR_REPR_IMPL_H + +/* Limbs of the secp256k1 order. */ +#define SECP256K1_N_0 ((uint64_t)0xBFD25E8CD0364141ULL) +#define SECP256K1_N_1 ((uint64_t)0xBAAEDCE6AF48A03BULL) +#define SECP256K1_N_2 ((uint64_t)0xFFFFFFFFFFFFFFFEULL) +#define SECP256K1_N_3 ((uint64_t)0xFFFFFFFFFFFFFFFFULL) + +/* Limbs of 2^256 minus the secp256k1 order. */ +#define SECP256K1_N_C_0 (~SECP256K1_N_0 + 1) +#define SECP256K1_N_C_1 (~SECP256K1_N_1) +#define SECP256K1_N_C_2 (1) + +/* Limbs of half the secp256k1 order. */ +#define SECP256K1_N_H_0 ((uint64_t)0xDFE92F46681B20A0ULL) +#define SECP256K1_N_H_1 ((uint64_t)0x5D576E7357A4501DULL) +#define SECP256K1_N_H_2 ((uint64_t)0xFFFFFFFFFFFFFFFFULL) +#define SECP256K1_N_H_3 ((uint64_t)0x7FFFFFFFFFFFFFFFULL) + +SECP256K1_INLINE static void secp256k1_scalar_clear(secp256k1_scalar *r) { + r->d[0] = 0; + r->d[1] = 0; + r->d[2] = 0; + r->d[3] = 0; +} + +SECP256K1_INLINE static void secp256k1_scalar_set_int(secp256k1_scalar *r, unsigned int v) { + r->d[0] = v; + r->d[1] = 0; + r->d[2] = 0; + r->d[3] = 0; +} + +SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits(const secp256k1_scalar *a, unsigned int offset, unsigned int count) { + VERIFY_CHECK((offset + count - 1) >> 6 == offset >> 6); + return (a->d[offset >> 6] >> (offset & 0x3F)) & ((((uint64_t)1) << count) - 1); +} + +SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits_var(const secp256k1_scalar *a, unsigned int offset, unsigned int count) { + VERIFY_CHECK(count < 32); + VERIFY_CHECK(offset + count <= 256); + if ((offset + count - 1) >> 6 == offset >> 6) { + return secp256k1_scalar_get_bits(a, offset, count); + } else { + VERIFY_CHECK((offset >> 6) + 1 < 4); + return ((a->d[offset >> 6] >> (offset & 0x3F)) | (a->d[(offset >> 6) + 1] << (64 - (offset & 0x3F)))) & ((((uint64_t)1) << count) - 1); + } +} + +SECP256K1_INLINE static int secp256k1_scalar_check_overflow(const secp256k1_scalar *a) { + int yes = 0; + int no = 0; + no |= (a->d[3] < SECP256K1_N_3); /* No need for a > check. */ + no |= (a->d[2] < SECP256K1_N_2); + yes |= (a->d[2] > SECP256K1_N_2) & ~no; + no |= (a->d[1] < SECP256K1_N_1); + yes |= (a->d[1] > SECP256K1_N_1) & ~no; + yes |= (a->d[0] >= SECP256K1_N_0) & ~no; + return yes; +} + +SECP256K1_INLINE static int secp256k1_scalar_reduce(secp256k1_scalar *r, unsigned int overflow) { + uint128_t t; + VERIFY_CHECK(overflow <= 1); + t = (uint128_t)r->d[0] + overflow * SECP256K1_N_C_0; + r->d[0] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + t += (uint128_t)r->d[1] + overflow * SECP256K1_N_C_1; + r->d[1] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + t += (uint128_t)r->d[2] + overflow * SECP256K1_N_C_2; + r->d[2] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + t += (uint64_t)r->d[3]; + r->d[3] = t & 0xFFFFFFFFFFFFFFFFULL; + return overflow; +} + +static int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b) { + int overflow; + uint128_t t = (uint128_t)a->d[0] + b->d[0]; + r->d[0] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + t += (uint128_t)a->d[1] + b->d[1]; + r->d[1] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + t += (uint128_t)a->d[2] + b->d[2]; + r->d[2] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + t += (uint128_t)a->d[3] + b->d[3]; + r->d[3] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + overflow = t + secp256k1_scalar_check_overflow(r); + VERIFY_CHECK(overflow == 0 || overflow == 1); + secp256k1_scalar_reduce(r, overflow); + return overflow; +} + +static void secp256k1_scalar_cadd_bit(secp256k1_scalar *r, unsigned int bit, int flag) { + uint128_t t; + VERIFY_CHECK(bit < 256); + bit += ((uint32_t) flag - 1) & 0x100; /* forcing (bit >> 6) > 3 makes this a noop */ + t = (uint128_t)r->d[0] + (((uint64_t)((bit >> 6) == 0)) << (bit & 0x3F)); + r->d[0] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + t += (uint128_t)r->d[1] + (((uint64_t)((bit >> 6) == 1)) << (bit & 0x3F)); + r->d[1] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + t += (uint128_t)r->d[2] + (((uint64_t)((bit >> 6) == 2)) << (bit & 0x3F)); + r->d[2] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + t += (uint128_t)r->d[3] + (((uint64_t)((bit >> 6) == 3)) << (bit & 0x3F)); + r->d[3] = t & 0xFFFFFFFFFFFFFFFFULL; +#ifdef VERIFY + VERIFY_CHECK((t >> 64) == 0); + VERIFY_CHECK(secp256k1_scalar_check_overflow(r) == 0); +#endif +} + +static void secp256k1_scalar_set_b32(secp256k1_scalar *r, const unsigned char *b32, int *overflow) { + int over; + r->d[0] = (uint64_t)b32[31] | (uint64_t)b32[30] << 8 | (uint64_t)b32[29] << 16 | (uint64_t)b32[28] << 24 | (uint64_t)b32[27] << 32 | (uint64_t)b32[26] << 40 | (uint64_t)b32[25] << 48 | (uint64_t)b32[24] << 56; + r->d[1] = (uint64_t)b32[23] | (uint64_t)b32[22] << 8 | (uint64_t)b32[21] << 16 | (uint64_t)b32[20] << 24 | (uint64_t)b32[19] << 32 | (uint64_t)b32[18] << 40 | (uint64_t)b32[17] << 48 | (uint64_t)b32[16] << 56; + r->d[2] = (uint64_t)b32[15] | (uint64_t)b32[14] << 8 | (uint64_t)b32[13] << 16 | (uint64_t)b32[12] << 24 | (uint64_t)b32[11] << 32 | (uint64_t)b32[10] << 40 | (uint64_t)b32[9] << 48 | (uint64_t)b32[8] << 56; + r->d[3] = (uint64_t)b32[7] | (uint64_t)b32[6] << 8 | (uint64_t)b32[5] << 16 | (uint64_t)b32[4] << 24 | (uint64_t)b32[3] << 32 | (uint64_t)b32[2] << 40 | (uint64_t)b32[1] << 48 | (uint64_t)b32[0] << 56; + over = secp256k1_scalar_reduce(r, secp256k1_scalar_check_overflow(r)); + if (overflow) { + *overflow = over; + } +} + +static void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar* a) { + bin[0] = a->d[3] >> 56; bin[1] = a->d[3] >> 48; bin[2] = a->d[3] >> 40; bin[3] = a->d[3] >> 32; bin[4] = a->d[3] >> 24; bin[5] = a->d[3] >> 16; bin[6] = a->d[3] >> 8; bin[7] = a->d[3]; + bin[8] = a->d[2] >> 56; bin[9] = a->d[2] >> 48; bin[10] = a->d[2] >> 40; bin[11] = a->d[2] >> 32; bin[12] = a->d[2] >> 24; bin[13] = a->d[2] >> 16; bin[14] = a->d[2] >> 8; bin[15] = a->d[2]; + bin[16] = a->d[1] >> 56; bin[17] = a->d[1] >> 48; bin[18] = a->d[1] >> 40; bin[19] = a->d[1] >> 32; bin[20] = a->d[1] >> 24; bin[21] = a->d[1] >> 16; bin[22] = a->d[1] >> 8; bin[23] = a->d[1]; + bin[24] = a->d[0] >> 56; bin[25] = a->d[0] >> 48; bin[26] = a->d[0] >> 40; bin[27] = a->d[0] >> 32; bin[28] = a->d[0] >> 24; bin[29] = a->d[0] >> 16; bin[30] = a->d[0] >> 8; bin[31] = a->d[0]; +} + +SECP256K1_INLINE static int secp256k1_scalar_is_zero(const secp256k1_scalar *a) { + return (a->d[0] | a->d[1] | a->d[2] | a->d[3]) == 0; +} + +static void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1_scalar *a) { + uint64_t nonzero = 0xFFFFFFFFFFFFFFFFULL * (secp256k1_scalar_is_zero(a) == 0); + uint128_t t = (uint128_t)(~a->d[0]) + SECP256K1_N_0 + 1; + r->d[0] = t & nonzero; t >>= 64; + t += (uint128_t)(~a->d[1]) + SECP256K1_N_1; + r->d[1] = t & nonzero; t >>= 64; + t += (uint128_t)(~a->d[2]) + SECP256K1_N_2; + r->d[2] = t & nonzero; t >>= 64; + t += (uint128_t)(~a->d[3]) + SECP256K1_N_3; + r->d[3] = t & nonzero; +} + +SECP256K1_INLINE static int secp256k1_scalar_is_one(const secp256k1_scalar *a) { + return ((a->d[0] ^ 1) | a->d[1] | a->d[2] | a->d[3]) == 0; +} + +static int secp256k1_scalar_is_high(const secp256k1_scalar *a) { + int yes = 0; + int no = 0; + no |= (a->d[3] < SECP256K1_N_H_3); + yes |= (a->d[3] > SECP256K1_N_H_3) & ~no; + no |= (a->d[2] < SECP256K1_N_H_2) & ~yes; /* No need for a > check. */ + no |= (a->d[1] < SECP256K1_N_H_1) & ~yes; + yes |= (a->d[1] > SECP256K1_N_H_1) & ~no; + yes |= (a->d[0] > SECP256K1_N_H_0) & ~no; + return yes; +} + +static int secp256k1_scalar_cond_negate(secp256k1_scalar *r, int flag) { + /* If we are flag = 0, mask = 00...00 and this is a no-op; + * if we are flag = 1, mask = 11...11 and this is identical to secp256k1_scalar_negate */ + uint64_t mask = !flag - 1; + uint64_t nonzero = (secp256k1_scalar_is_zero(r) != 0) - 1; + uint128_t t = (uint128_t)(r->d[0] ^ mask) + ((SECP256K1_N_0 + 1) & mask); + r->d[0] = t & nonzero; t >>= 64; + t += (uint128_t)(r->d[1] ^ mask) + (SECP256K1_N_1 & mask); + r->d[1] = t & nonzero; t >>= 64; + t += (uint128_t)(r->d[2] ^ mask) + (SECP256K1_N_2 & mask); + r->d[2] = t & nonzero; t >>= 64; + t += (uint128_t)(r->d[3] ^ mask) + (SECP256K1_N_3 & mask); + r->d[3] = t & nonzero; + return 2 * (mask == 0) - 1; +} + +/* Inspired by the macros in OpenSSL's crypto/bn/asm/x86_64-gcc.c. */ + +/** Add a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ +#define muladd(a,b) { \ + uint64_t tl, th; \ + { \ + uint128_t t = (uint128_t)a * b; \ + th = t >> 64; /* at most 0xFFFFFFFFFFFFFFFE */ \ + tl = t; \ + } \ + c0 += tl; /* overflow is handled on the next line */ \ + th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFFFFFFFFFF */ \ + c1 += th; /* overflow is handled on the next line */ \ + c2 += (c1 < th) ? 1 : 0; /* never overflows by contract (verified in the next line) */ \ + VERIFY_CHECK((c1 >= th) || (c2 != 0)); \ +} + +/** Add a*b to the number defined by (c0,c1). c1 must never overflow. */ +#define muladd_fast(a,b) { \ + uint64_t tl, th; \ + { \ + uint128_t t = (uint128_t)a * b; \ + th = t >> 64; /* at most 0xFFFFFFFFFFFFFFFE */ \ + tl = t; \ + } \ + c0 += tl; /* overflow is handled on the next line */ \ + th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFFFFFFFFFF */ \ + c1 += th; /* never overflows by contract (verified in the next line) */ \ + VERIFY_CHECK(c1 >= th); \ +} + +/** Add 2*a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ +#define muladd2(a,b) { \ + uint64_t tl, th, th2, tl2; \ + { \ + uint128_t t = (uint128_t)a * b; \ + th = t >> 64; /* at most 0xFFFFFFFFFFFFFFFE */ \ + tl = t; \ + } \ + th2 = th + th; /* at most 0xFFFFFFFFFFFFFFFE (in case th was 0x7FFFFFFFFFFFFFFF) */ \ + c2 += (th2 < th) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ + VERIFY_CHECK((th2 >= th) || (c2 != 0)); \ + tl2 = tl + tl; /* at most 0xFFFFFFFFFFFFFFFE (in case the lowest 63 bits of tl were 0x7FFFFFFFFFFFFFFF) */ \ + th2 += (tl2 < tl) ? 1 : 0; /* at most 0xFFFFFFFFFFFFFFFF */ \ + c0 += tl2; /* overflow is handled on the next line */ \ + th2 += (c0 < tl2) ? 1 : 0; /* second overflow is handled on the next line */ \ + c2 += (c0 < tl2) & (th2 == 0); /* never overflows by contract (verified the next line) */ \ + VERIFY_CHECK((c0 >= tl2) || (th2 != 0) || (c2 != 0)); \ + c1 += th2; /* overflow is handled on the next line */ \ + c2 += (c1 < th2) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ + VERIFY_CHECK((c1 >= th2) || (c2 != 0)); \ +} + +/** Add a to the number defined by (c0,c1,c2). c2 must never overflow. */ +#define sumadd(a) { \ + unsigned int over; \ + c0 += (a); /* overflow is handled on the next line */ \ + over = (c0 < (a)) ? 1 : 0; \ + c1 += over; /* overflow is handled on the next line */ \ + c2 += (c1 < over) ? 1 : 0; /* never overflows by contract */ \ +} + +/** Add a to the number defined by (c0,c1). c1 must never overflow, c2 must be zero. */ +#define sumadd_fast(a) { \ + c0 += (a); /* overflow is handled on the next line */ \ + c1 += (c0 < (a)) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ + VERIFY_CHECK((c1 != 0) | (c0 >= (a))); \ + VERIFY_CHECK(c2 == 0); \ +} + +/** Extract the lowest 64 bits of (c0,c1,c2) into n, and left shift the number 64 bits. */ +#define extract(n) { \ + (n) = c0; \ + c0 = c1; \ + c1 = c2; \ + c2 = 0; \ +} + +/** Extract the lowest 64 bits of (c0,c1,c2) into n, and left shift the number 64 bits. c2 is required to be zero. */ +#define extract_fast(n) { \ + (n) = c0; \ + c0 = c1; \ + c1 = 0; \ + VERIFY_CHECK(c2 == 0); \ +} + +static void secp256k1_scalar_reduce_512(secp256k1_scalar *r, const uint64_t *l) { +#ifdef USE_ASM_X86_64 + /* Reduce 512 bits into 385. */ + uint64_t m0, m1, m2, m3, m4, m5, m6; + uint64_t p0, p1, p2, p3, p4; + uint64_t c; + + __asm__ __volatile__( + /* Preload. */ + "movq 32(%%rsi), %%r11\n" + "movq 40(%%rsi), %%r12\n" + "movq 48(%%rsi), %%r13\n" + "movq 56(%%rsi), %%r14\n" + /* Initialize r8,r9,r10 */ + "movq 0(%%rsi), %%r8\n" + "xorq %%r9, %%r9\n" + "xorq %%r10, %%r10\n" + /* (r8,r9) += n0 * c0 */ + "movq %8, %%rax\n" + "mulq %%r11\n" + "addq %%rax, %%r8\n" + "adcq %%rdx, %%r9\n" + /* extract m0 */ + "movq %%r8, %q0\n" + "xorq %%r8, %%r8\n" + /* (r9,r10) += l1 */ + "addq 8(%%rsi), %%r9\n" + "adcq $0, %%r10\n" + /* (r9,r10,r8) += n1 * c0 */ + "movq %8, %%rax\n" + "mulq %%r12\n" + "addq %%rax, %%r9\n" + "adcq %%rdx, %%r10\n" + "adcq $0, %%r8\n" + /* (r9,r10,r8) += n0 * c1 */ + "movq %9, %%rax\n" + "mulq %%r11\n" + "addq %%rax, %%r9\n" + "adcq %%rdx, %%r10\n" + "adcq $0, %%r8\n" + /* extract m1 */ + "movq %%r9, %q1\n" + "xorq %%r9, %%r9\n" + /* (r10,r8,r9) += l2 */ + "addq 16(%%rsi), %%r10\n" + "adcq $0, %%r8\n" + "adcq $0, %%r9\n" + /* (r10,r8,r9) += n2 * c0 */ + "movq %8, %%rax\n" + "mulq %%r13\n" + "addq %%rax, %%r10\n" + "adcq %%rdx, %%r8\n" + "adcq $0, %%r9\n" + /* (r10,r8,r9) += n1 * c1 */ + "movq %9, %%rax\n" + "mulq %%r12\n" + "addq %%rax, %%r10\n" + "adcq %%rdx, %%r8\n" + "adcq $0, %%r9\n" + /* (r10,r8,r9) += n0 */ + "addq %%r11, %%r10\n" + "adcq $0, %%r8\n" + "adcq $0, %%r9\n" + /* extract m2 */ + "movq %%r10, %q2\n" + "xorq %%r10, %%r10\n" + /* (r8,r9,r10) += l3 */ + "addq 24(%%rsi), %%r8\n" + "adcq $0, %%r9\n" + "adcq $0, %%r10\n" + /* (r8,r9,r10) += n3 * c0 */ + "movq %8, %%rax\n" + "mulq %%r14\n" + "addq %%rax, %%r8\n" + "adcq %%rdx, %%r9\n" + "adcq $0, %%r10\n" + /* (r8,r9,r10) += n2 * c1 */ + "movq %9, %%rax\n" + "mulq %%r13\n" + "addq %%rax, %%r8\n" + "adcq %%rdx, %%r9\n" + "adcq $0, %%r10\n" + /* (r8,r9,r10) += n1 */ + "addq %%r12, %%r8\n" + "adcq $0, %%r9\n" + "adcq $0, %%r10\n" + /* extract m3 */ + "movq %%r8, %q3\n" + "xorq %%r8, %%r8\n" + /* (r9,r10,r8) += n3 * c1 */ + "movq %9, %%rax\n" + "mulq %%r14\n" + "addq %%rax, %%r9\n" + "adcq %%rdx, %%r10\n" + "adcq $0, %%r8\n" + /* (r9,r10,r8) += n2 */ + "addq %%r13, %%r9\n" + "adcq $0, %%r10\n" + "adcq $0, %%r8\n" + /* extract m4 */ + "movq %%r9, %q4\n" + /* (r10,r8) += n3 */ + "addq %%r14, %%r10\n" + "adcq $0, %%r8\n" + /* extract m5 */ + "movq %%r10, %q5\n" + /* extract m6 */ + "movq %%r8, %q6\n" + : "=g"(m0), "=g"(m1), "=g"(m2), "=g"(m3), "=g"(m4), "=g"(m5), "=g"(m6) + : "S"(l), "n"(SECP256K1_N_C_0), "n"(SECP256K1_N_C_1) + : "rax", "rdx", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "cc"); + + /* Reduce 385 bits into 258. */ + __asm__ __volatile__( + /* Preload */ + "movq %q9, %%r11\n" + "movq %q10, %%r12\n" + "movq %q11, %%r13\n" + /* Initialize (r8,r9,r10) */ + "movq %q5, %%r8\n" + "xorq %%r9, %%r9\n" + "xorq %%r10, %%r10\n" + /* (r8,r9) += m4 * c0 */ + "movq %12, %%rax\n" + "mulq %%r11\n" + "addq %%rax, %%r8\n" + "adcq %%rdx, %%r9\n" + /* extract p0 */ + "movq %%r8, %q0\n" + "xorq %%r8, %%r8\n" + /* (r9,r10) += m1 */ + "addq %q6, %%r9\n" + "adcq $0, %%r10\n" + /* (r9,r10,r8) += m5 * c0 */ + "movq %12, %%rax\n" + "mulq %%r12\n" + "addq %%rax, %%r9\n" + "adcq %%rdx, %%r10\n" + "adcq $0, %%r8\n" + /* (r9,r10,r8) += m4 * c1 */ + "movq %13, %%rax\n" + "mulq %%r11\n" + "addq %%rax, %%r9\n" + "adcq %%rdx, %%r10\n" + "adcq $0, %%r8\n" + /* extract p1 */ + "movq %%r9, %q1\n" + "xorq %%r9, %%r9\n" + /* (r10,r8,r9) += m2 */ + "addq %q7, %%r10\n" + "adcq $0, %%r8\n" + "adcq $0, %%r9\n" + /* (r10,r8,r9) += m6 * c0 */ + "movq %12, %%rax\n" + "mulq %%r13\n" + "addq %%rax, %%r10\n" + "adcq %%rdx, %%r8\n" + "adcq $0, %%r9\n" + /* (r10,r8,r9) += m5 * c1 */ + "movq %13, %%rax\n" + "mulq %%r12\n" + "addq %%rax, %%r10\n" + "adcq %%rdx, %%r8\n" + "adcq $0, %%r9\n" + /* (r10,r8,r9) += m4 */ + "addq %%r11, %%r10\n" + "adcq $0, %%r8\n" + "adcq $0, %%r9\n" + /* extract p2 */ + "movq %%r10, %q2\n" + /* (r8,r9) += m3 */ + "addq %q8, %%r8\n" + "adcq $0, %%r9\n" + /* (r8,r9) += m6 * c1 */ + "movq %13, %%rax\n" + "mulq %%r13\n" + "addq %%rax, %%r8\n" + "adcq %%rdx, %%r9\n" + /* (r8,r9) += m5 */ + "addq %%r12, %%r8\n" + "adcq $0, %%r9\n" + /* extract p3 */ + "movq %%r8, %q3\n" + /* (r9) += m6 */ + "addq %%r13, %%r9\n" + /* extract p4 */ + "movq %%r9, %q4\n" + : "=&g"(p0), "=&g"(p1), "=&g"(p2), "=g"(p3), "=g"(p4) + : "g"(m0), "g"(m1), "g"(m2), "g"(m3), "g"(m4), "g"(m5), "g"(m6), "n"(SECP256K1_N_C_0), "n"(SECP256K1_N_C_1) + : "rax", "rdx", "r8", "r9", "r10", "r11", "r12", "r13", "cc"); + + /* Reduce 258 bits into 256. */ + __asm__ __volatile__( + /* Preload */ + "movq %q5, %%r10\n" + /* (rax,rdx) = p4 * c0 */ + "movq %7, %%rax\n" + "mulq %%r10\n" + /* (rax,rdx) += p0 */ + "addq %q1, %%rax\n" + "adcq $0, %%rdx\n" + /* extract r0 */ + "movq %%rax, 0(%q6)\n" + /* Move to (r8,r9) */ + "movq %%rdx, %%r8\n" + "xorq %%r9, %%r9\n" + /* (r8,r9) += p1 */ + "addq %q2, %%r8\n" + "adcq $0, %%r9\n" + /* (r8,r9) += p4 * c1 */ + "movq %8, %%rax\n" + "mulq %%r10\n" + "addq %%rax, %%r8\n" + "adcq %%rdx, %%r9\n" + /* Extract r1 */ + "movq %%r8, 8(%q6)\n" + "xorq %%r8, %%r8\n" + /* (r9,r8) += p4 */ + "addq %%r10, %%r9\n" + "adcq $0, %%r8\n" + /* (r9,r8) += p2 */ + "addq %q3, %%r9\n" + "adcq $0, %%r8\n" + /* Extract r2 */ + "movq %%r9, 16(%q6)\n" + "xorq %%r9, %%r9\n" + /* (r8,r9) += p3 */ + "addq %q4, %%r8\n" + "adcq $0, %%r9\n" + /* Extract r3 */ + "movq %%r8, 24(%q6)\n" + /* Extract c */ + "movq %%r9, %q0\n" + : "=g"(c) + : "g"(p0), "g"(p1), "g"(p2), "g"(p3), "g"(p4), "D"(r), "n"(SECP256K1_N_C_0), "n"(SECP256K1_N_C_1) + : "rax", "rdx", "r8", "r9", "r10", "cc", "memory"); +#else + uint128_t c; + uint64_t c0, c1, c2; + uint64_t n0 = l[4], n1 = l[5], n2 = l[6], n3 = l[7]; + uint64_t m0, m1, m2, m3, m4, m5; + uint32_t m6; + uint64_t p0, p1, p2, p3; + uint32_t p4; + + /* Reduce 512 bits into 385. */ + /* m[0..6] = l[0..3] + n[0..3] * SECP256K1_N_C. */ + c0 = l[0]; c1 = 0; c2 = 0; + muladd_fast(n0, SECP256K1_N_C_0); + extract_fast(m0); + sumadd_fast(l[1]); + muladd(n1, SECP256K1_N_C_0); + muladd(n0, SECP256K1_N_C_1); + extract(m1); + sumadd(l[2]); + muladd(n2, SECP256K1_N_C_0); + muladd(n1, SECP256K1_N_C_1); + sumadd(n0); + extract(m2); + sumadd(l[3]); + muladd(n3, SECP256K1_N_C_0); + muladd(n2, SECP256K1_N_C_1); + sumadd(n1); + extract(m3); + muladd(n3, SECP256K1_N_C_1); + sumadd(n2); + extract(m4); + sumadd_fast(n3); + extract_fast(m5); + VERIFY_CHECK(c0 <= 1); + m6 = c0; + + /* Reduce 385 bits into 258. */ + /* p[0..4] = m[0..3] + m[4..6] * SECP256K1_N_C. */ + c0 = m0; c1 = 0; c2 = 0; + muladd_fast(m4, SECP256K1_N_C_0); + extract_fast(p0); + sumadd_fast(m1); + muladd(m5, SECP256K1_N_C_0); + muladd(m4, SECP256K1_N_C_1); + extract(p1); + sumadd(m2); + muladd(m6, SECP256K1_N_C_0); + muladd(m5, SECP256K1_N_C_1); + sumadd(m4); + extract(p2); + sumadd_fast(m3); + muladd_fast(m6, SECP256K1_N_C_1); + sumadd_fast(m5); + extract_fast(p3); + p4 = c0 + m6; + VERIFY_CHECK(p4 <= 2); + + /* Reduce 258 bits into 256. */ + /* r[0..3] = p[0..3] + p[4] * SECP256K1_N_C. */ + c = p0 + (uint128_t)SECP256K1_N_C_0 * p4; + r->d[0] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; + c += p1 + (uint128_t)SECP256K1_N_C_1 * p4; + r->d[1] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; + c += p2 + (uint128_t)p4; + r->d[2] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; + c += p3; + r->d[3] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; +#endif + + /* Final reduction of r. */ + secp256k1_scalar_reduce(r, c + secp256k1_scalar_check_overflow(r)); +} + +static void secp256k1_scalar_mul_512(uint64_t l[8], const secp256k1_scalar *a, const secp256k1_scalar *b) { +#ifdef USE_ASM_X86_64 + const uint64_t *pb = b->d; + __asm__ __volatile__( + /* Preload */ + "movq 0(%%rdi), %%r15\n" + "movq 8(%%rdi), %%rbx\n" + "movq 16(%%rdi), %%rcx\n" + "movq 0(%%rdx), %%r11\n" + "movq 8(%%rdx), %%r12\n" + "movq 16(%%rdx), %%r13\n" + "movq 24(%%rdx), %%r14\n" + /* (rax,rdx) = a0 * b0 */ + "movq %%r15, %%rax\n" + "mulq %%r11\n" + /* Extract l0 */ + "movq %%rax, 0(%%rsi)\n" + /* (r8,r9,r10) = (rdx) */ + "movq %%rdx, %%r8\n" + "xorq %%r9, %%r9\n" + "xorq %%r10, %%r10\n" + /* (r8,r9,r10) += a0 * b1 */ + "movq %%r15, %%rax\n" + "mulq %%r12\n" + "addq %%rax, %%r8\n" + "adcq %%rdx, %%r9\n" + "adcq $0, %%r10\n" + /* (r8,r9,r10) += a1 * b0 */ + "movq %%rbx, %%rax\n" + "mulq %%r11\n" + "addq %%rax, %%r8\n" + "adcq %%rdx, %%r9\n" + "adcq $0, %%r10\n" + /* Extract l1 */ + "movq %%r8, 8(%%rsi)\n" + "xorq %%r8, %%r8\n" + /* (r9,r10,r8) += a0 * b2 */ + "movq %%r15, %%rax\n" + "mulq %%r13\n" + "addq %%rax, %%r9\n" + "adcq %%rdx, %%r10\n" + "adcq $0, %%r8\n" + /* (r9,r10,r8) += a1 * b1 */ + "movq %%rbx, %%rax\n" + "mulq %%r12\n" + "addq %%rax, %%r9\n" + "adcq %%rdx, %%r10\n" + "adcq $0, %%r8\n" + /* (r9,r10,r8) += a2 * b0 */ + "movq %%rcx, %%rax\n" + "mulq %%r11\n" + "addq %%rax, %%r9\n" + "adcq %%rdx, %%r10\n" + "adcq $0, %%r8\n" + /* Extract l2 */ + "movq %%r9, 16(%%rsi)\n" + "xorq %%r9, %%r9\n" + /* (r10,r8,r9) += a0 * b3 */ + "movq %%r15, %%rax\n" + "mulq %%r14\n" + "addq %%rax, %%r10\n" + "adcq %%rdx, %%r8\n" + "adcq $0, %%r9\n" + /* Preload a3 */ + "movq 24(%%rdi), %%r15\n" + /* (r10,r8,r9) += a1 * b2 */ + "movq %%rbx, %%rax\n" + "mulq %%r13\n" + "addq %%rax, %%r10\n" + "adcq %%rdx, %%r8\n" + "adcq $0, %%r9\n" + /* (r10,r8,r9) += a2 * b1 */ + "movq %%rcx, %%rax\n" + "mulq %%r12\n" + "addq %%rax, %%r10\n" + "adcq %%rdx, %%r8\n" + "adcq $0, %%r9\n" + /* (r10,r8,r9) += a3 * b0 */ + "movq %%r15, %%rax\n" + "mulq %%r11\n" + "addq %%rax, %%r10\n" + "adcq %%rdx, %%r8\n" + "adcq $0, %%r9\n" + /* Extract l3 */ + "movq %%r10, 24(%%rsi)\n" + "xorq %%r10, %%r10\n" + /* (r8,r9,r10) += a1 * b3 */ + "movq %%rbx, %%rax\n" + "mulq %%r14\n" + "addq %%rax, %%r8\n" + "adcq %%rdx, %%r9\n" + "adcq $0, %%r10\n" + /* (r8,r9,r10) += a2 * b2 */ + "movq %%rcx, %%rax\n" + "mulq %%r13\n" + "addq %%rax, %%r8\n" + "adcq %%rdx, %%r9\n" + "adcq $0, %%r10\n" + /* (r8,r9,r10) += a3 * b1 */ + "movq %%r15, %%rax\n" + "mulq %%r12\n" + "addq %%rax, %%r8\n" + "adcq %%rdx, %%r9\n" + "adcq $0, %%r10\n" + /* Extract l4 */ + "movq %%r8, 32(%%rsi)\n" + "xorq %%r8, %%r8\n" + /* (r9,r10,r8) += a2 * b3 */ + "movq %%rcx, %%rax\n" + "mulq %%r14\n" + "addq %%rax, %%r9\n" + "adcq %%rdx, %%r10\n" + "adcq $0, %%r8\n" + /* (r9,r10,r8) += a3 * b2 */ + "movq %%r15, %%rax\n" + "mulq %%r13\n" + "addq %%rax, %%r9\n" + "adcq %%rdx, %%r10\n" + "adcq $0, %%r8\n" + /* Extract l5 */ + "movq %%r9, 40(%%rsi)\n" + /* (r10,r8) += a3 * b3 */ + "movq %%r15, %%rax\n" + "mulq %%r14\n" + "addq %%rax, %%r10\n" + "adcq %%rdx, %%r8\n" + /* Extract l6 */ + "movq %%r10, 48(%%rsi)\n" + /* Extract l7 */ + "movq %%r8, 56(%%rsi)\n" + : "+d"(pb) + : "S"(l), "D"(a->d) + : "rax", "rbx", "rcx", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", "cc", "memory"); +#else + /* 160 bit accumulator. */ + uint64_t c0 = 0, c1 = 0; + uint32_t c2 = 0; + + /* l[0..7] = a[0..3] * b[0..3]. */ + muladd_fast(a->d[0], b->d[0]); + extract_fast(l[0]); + muladd(a->d[0], b->d[1]); + muladd(a->d[1], b->d[0]); + extract(l[1]); + muladd(a->d[0], b->d[2]); + muladd(a->d[1], b->d[1]); + muladd(a->d[2], b->d[0]); + extract(l[2]); + muladd(a->d[0], b->d[3]); + muladd(a->d[1], b->d[2]); + muladd(a->d[2], b->d[1]); + muladd(a->d[3], b->d[0]); + extract(l[3]); + muladd(a->d[1], b->d[3]); + muladd(a->d[2], b->d[2]); + muladd(a->d[3], b->d[1]); + extract(l[4]); + muladd(a->d[2], b->d[3]); + muladd(a->d[3], b->d[2]); + extract(l[5]); + muladd_fast(a->d[3], b->d[3]); + extract_fast(l[6]); + VERIFY_CHECK(c1 == 0); + l[7] = c0; +#endif +} + +static void secp256k1_scalar_sqr_512(uint64_t l[8], const secp256k1_scalar *a) { +#ifdef USE_ASM_X86_64 + __asm__ __volatile__( + /* Preload */ + "movq 0(%%rdi), %%r11\n" + "movq 8(%%rdi), %%r12\n" + "movq 16(%%rdi), %%r13\n" + "movq 24(%%rdi), %%r14\n" + /* (rax,rdx) = a0 * a0 */ + "movq %%r11, %%rax\n" + "mulq %%r11\n" + /* Extract l0 */ + "movq %%rax, 0(%%rsi)\n" + /* (r8,r9,r10) = (rdx,0) */ + "movq %%rdx, %%r8\n" + "xorq %%r9, %%r9\n" + "xorq %%r10, %%r10\n" + /* (r8,r9,r10) += 2 * a0 * a1 */ + "movq %%r11, %%rax\n" + "mulq %%r12\n" + "addq %%rax, %%r8\n" + "adcq %%rdx, %%r9\n" + "adcq $0, %%r10\n" + "addq %%rax, %%r8\n" + "adcq %%rdx, %%r9\n" + "adcq $0, %%r10\n" + /* Extract l1 */ + "movq %%r8, 8(%%rsi)\n" + "xorq %%r8, %%r8\n" + /* (r9,r10,r8) += 2 * a0 * a2 */ + "movq %%r11, %%rax\n" + "mulq %%r13\n" + "addq %%rax, %%r9\n" + "adcq %%rdx, %%r10\n" + "adcq $0, %%r8\n" + "addq %%rax, %%r9\n" + "adcq %%rdx, %%r10\n" + "adcq $0, %%r8\n" + /* (r9,r10,r8) += a1 * a1 */ + "movq %%r12, %%rax\n" + "mulq %%r12\n" + "addq %%rax, %%r9\n" + "adcq %%rdx, %%r10\n" + "adcq $0, %%r8\n" + /* Extract l2 */ + "movq %%r9, 16(%%rsi)\n" + "xorq %%r9, %%r9\n" + /* (r10,r8,r9) += 2 * a0 * a3 */ + "movq %%r11, %%rax\n" + "mulq %%r14\n" + "addq %%rax, %%r10\n" + "adcq %%rdx, %%r8\n" + "adcq $0, %%r9\n" + "addq %%rax, %%r10\n" + "adcq %%rdx, %%r8\n" + "adcq $0, %%r9\n" + /* (r10,r8,r9) += 2 * a1 * a2 */ + "movq %%r12, %%rax\n" + "mulq %%r13\n" + "addq %%rax, %%r10\n" + "adcq %%rdx, %%r8\n" + "adcq $0, %%r9\n" + "addq %%rax, %%r10\n" + "adcq %%rdx, %%r8\n" + "adcq $0, %%r9\n" + /* Extract l3 */ + "movq %%r10, 24(%%rsi)\n" + "xorq %%r10, %%r10\n" + /* (r8,r9,r10) += 2 * a1 * a3 */ + "movq %%r12, %%rax\n" + "mulq %%r14\n" + "addq %%rax, %%r8\n" + "adcq %%rdx, %%r9\n" + "adcq $0, %%r10\n" + "addq %%rax, %%r8\n" + "adcq %%rdx, %%r9\n" + "adcq $0, %%r10\n" + /* (r8,r9,r10) += a2 * a2 */ + "movq %%r13, %%rax\n" + "mulq %%r13\n" + "addq %%rax, %%r8\n" + "adcq %%rdx, %%r9\n" + "adcq $0, %%r10\n" + /* Extract l4 */ + "movq %%r8, 32(%%rsi)\n" + "xorq %%r8, %%r8\n" + /* (r9,r10,r8) += 2 * a2 * a3 */ + "movq %%r13, %%rax\n" + "mulq %%r14\n" + "addq %%rax, %%r9\n" + "adcq %%rdx, %%r10\n" + "adcq $0, %%r8\n" + "addq %%rax, %%r9\n" + "adcq %%rdx, %%r10\n" + "adcq $0, %%r8\n" + /* Extract l5 */ + "movq %%r9, 40(%%rsi)\n" + /* (r10,r8) += a3 * a3 */ + "movq %%r14, %%rax\n" + "mulq %%r14\n" + "addq %%rax, %%r10\n" + "adcq %%rdx, %%r8\n" + /* Extract l6 */ + "movq %%r10, 48(%%rsi)\n" + /* Extract l7 */ + "movq %%r8, 56(%%rsi)\n" + : + : "S"(l), "D"(a->d) + : "rax", "rdx", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "cc", "memory"); +#else + /* 160 bit accumulator. */ + uint64_t c0 = 0, c1 = 0; + uint32_t c2 = 0; + + /* l[0..7] = a[0..3] * b[0..3]. */ + muladd_fast(a->d[0], a->d[0]); + extract_fast(l[0]); + muladd2(a->d[0], a->d[1]); + extract(l[1]); + muladd2(a->d[0], a->d[2]); + muladd(a->d[1], a->d[1]); + extract(l[2]); + muladd2(a->d[0], a->d[3]); + muladd2(a->d[1], a->d[2]); + extract(l[3]); + muladd2(a->d[1], a->d[3]); + muladd(a->d[2], a->d[2]); + extract(l[4]); + muladd2(a->d[2], a->d[3]); + extract(l[5]); + muladd_fast(a->d[3], a->d[3]); + extract_fast(l[6]); + VERIFY_CHECK(c1 == 0); + l[7] = c0; +#endif +} + +#undef sumadd +#undef sumadd_fast +#undef muladd +#undef muladd_fast +#undef muladd2 +#undef extract +#undef extract_fast + +static void secp256k1_scalar_mul(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b) { + uint64_t l[8]; + secp256k1_scalar_mul_512(l, a, b); + secp256k1_scalar_reduce_512(r, l); +} + +static int secp256k1_scalar_shr_int(secp256k1_scalar *r, int n) { + int ret; + VERIFY_CHECK(n > 0); + VERIFY_CHECK(n < 16); + ret = r->d[0] & ((1 << n) - 1); + r->d[0] = (r->d[0] >> n) + (r->d[1] << (64 - n)); + r->d[1] = (r->d[1] >> n) + (r->d[2] << (64 - n)); + r->d[2] = (r->d[2] >> n) + (r->d[3] << (64 - n)); + r->d[3] = (r->d[3] >> n); + return ret; +} + +static void secp256k1_scalar_sqr(secp256k1_scalar *r, const secp256k1_scalar *a) { + uint64_t l[8]; + secp256k1_scalar_sqr_512(l, a); + secp256k1_scalar_reduce_512(r, l); +} + +#ifdef USE_ENDOMORPHISM +static void secp256k1_scalar_split_128(secp256k1_scalar *r1, secp256k1_scalar *r2, const secp256k1_scalar *a) { + r1->d[0] = a->d[0]; + r1->d[1] = a->d[1]; + r1->d[2] = 0; + r1->d[3] = 0; + r2->d[0] = a->d[2]; + r2->d[1] = a->d[3]; + r2->d[2] = 0; + r2->d[3] = 0; +} +#endif + +SECP256K1_INLINE static int secp256k1_scalar_eq(const secp256k1_scalar *a, const secp256k1_scalar *b) { + return ((a->d[0] ^ b->d[0]) | (a->d[1] ^ b->d[1]) | (a->d[2] ^ b->d[2]) | (a->d[3] ^ b->d[3])) == 0; +} + +SECP256K1_INLINE static void secp256k1_scalar_mul_shift_var(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b, unsigned int shift) { + uint64_t l[8]; + unsigned int shiftlimbs; + unsigned int shiftlow; + unsigned int shifthigh; + VERIFY_CHECK(shift >= 256); + secp256k1_scalar_mul_512(l, a, b); + shiftlimbs = shift >> 6; + shiftlow = shift & 0x3F; + shifthigh = 64 - shiftlow; + r->d[0] = shift < 512 ? (l[0 + shiftlimbs] >> shiftlow | (shift < 448 && shiftlow ? (l[1 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[1] = shift < 448 ? (l[1 + shiftlimbs] >> shiftlow | (shift < 384 && shiftlow ? (l[2 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[2] = shift < 384 ? (l[2 + shiftlimbs] >> shiftlow | (shift < 320 && shiftlow ? (l[3 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[3] = shift < 320 ? (l[3 + shiftlimbs] >> shiftlow) : 0; + secp256k1_scalar_cadd_bit(r, 0, (l[(shift - 1) >> 6] >> ((shift - 1) & 0x3f)) & 1); +} + +#endif /* SECP256K1_SCALAR_REPR_IMPL_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_8x32.h b/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_8x32.h new file mode 100644 index 000000000..2c9a348e2 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_8x32.h @@ -0,0 +1,19 @@ +/********************************************************************** + * Copyright (c) 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_SCALAR_REPR_H +#define SECP256K1_SCALAR_REPR_H + +#include + +/** A scalar modulo the group order of the secp256k1 curve. */ +typedef struct { + uint32_t d[8]; +} secp256k1_scalar; + +#define SECP256K1_SCALAR_CONST(d7, d6, d5, d4, d3, d2, d1, d0) {{(d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7)}} + +#endif /* SECP256K1_SCALAR_REPR_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_8x32_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_8x32_impl.h new file mode 100644 index 000000000..4f9ed61fe --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_8x32_impl.h @@ -0,0 +1,721 @@ +/********************************************************************** + * Copyright (c) 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_SCALAR_REPR_IMPL_H +#define SECP256K1_SCALAR_REPR_IMPL_H + +/* Limbs of the secp256k1 order. */ +#define SECP256K1_N_0 ((uint32_t)0xD0364141UL) +#define SECP256K1_N_1 ((uint32_t)0xBFD25E8CUL) +#define SECP256K1_N_2 ((uint32_t)0xAF48A03BUL) +#define SECP256K1_N_3 ((uint32_t)0xBAAEDCE6UL) +#define SECP256K1_N_4 ((uint32_t)0xFFFFFFFEUL) +#define SECP256K1_N_5 ((uint32_t)0xFFFFFFFFUL) +#define SECP256K1_N_6 ((uint32_t)0xFFFFFFFFUL) +#define SECP256K1_N_7 ((uint32_t)0xFFFFFFFFUL) + +/* Limbs of 2^256 minus the secp256k1 order. */ +#define SECP256K1_N_C_0 (~SECP256K1_N_0 + 1) +#define SECP256K1_N_C_1 (~SECP256K1_N_1) +#define SECP256K1_N_C_2 (~SECP256K1_N_2) +#define SECP256K1_N_C_3 (~SECP256K1_N_3) +#define SECP256K1_N_C_4 (1) + +/* Limbs of half the secp256k1 order. */ +#define SECP256K1_N_H_0 ((uint32_t)0x681B20A0UL) +#define SECP256K1_N_H_1 ((uint32_t)0xDFE92F46UL) +#define SECP256K1_N_H_2 ((uint32_t)0x57A4501DUL) +#define SECP256K1_N_H_3 ((uint32_t)0x5D576E73UL) +#define SECP256K1_N_H_4 ((uint32_t)0xFFFFFFFFUL) +#define SECP256K1_N_H_5 ((uint32_t)0xFFFFFFFFUL) +#define SECP256K1_N_H_6 ((uint32_t)0xFFFFFFFFUL) +#define SECP256K1_N_H_7 ((uint32_t)0x7FFFFFFFUL) + +SECP256K1_INLINE static void secp256k1_scalar_clear(secp256k1_scalar *r) { + r->d[0] = 0; + r->d[1] = 0; + r->d[2] = 0; + r->d[3] = 0; + r->d[4] = 0; + r->d[5] = 0; + r->d[6] = 0; + r->d[7] = 0; +} + +SECP256K1_INLINE static void secp256k1_scalar_set_int(secp256k1_scalar *r, unsigned int v) { + r->d[0] = v; + r->d[1] = 0; + r->d[2] = 0; + r->d[3] = 0; + r->d[4] = 0; + r->d[5] = 0; + r->d[6] = 0; + r->d[7] = 0; +} + +SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits(const secp256k1_scalar *a, unsigned int offset, unsigned int count) { + VERIFY_CHECK((offset + count - 1) >> 5 == offset >> 5); + return (a->d[offset >> 5] >> (offset & 0x1F)) & ((1 << count) - 1); +} + +SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits_var(const secp256k1_scalar *a, unsigned int offset, unsigned int count) { + VERIFY_CHECK(count < 32); + VERIFY_CHECK(offset + count <= 256); + if ((offset + count - 1) >> 5 == offset >> 5) { + return secp256k1_scalar_get_bits(a, offset, count); + } else { + VERIFY_CHECK((offset >> 5) + 1 < 8); + return ((a->d[offset >> 5] >> (offset & 0x1F)) | (a->d[(offset >> 5) + 1] << (32 - (offset & 0x1F)))) & ((((uint32_t)1) << count) - 1); + } +} + +SECP256K1_INLINE static int secp256k1_scalar_check_overflow(const secp256k1_scalar *a) { + int yes = 0; + int no = 0; + no |= (a->d[7] < SECP256K1_N_7); /* No need for a > check. */ + no |= (a->d[6] < SECP256K1_N_6); /* No need for a > check. */ + no |= (a->d[5] < SECP256K1_N_5); /* No need for a > check. */ + no |= (a->d[4] < SECP256K1_N_4); + yes |= (a->d[4] > SECP256K1_N_4) & ~no; + no |= (a->d[3] < SECP256K1_N_3) & ~yes; + yes |= (a->d[3] > SECP256K1_N_3) & ~no; + no |= (a->d[2] < SECP256K1_N_2) & ~yes; + yes |= (a->d[2] > SECP256K1_N_2) & ~no; + no |= (a->d[1] < SECP256K1_N_1) & ~yes; + yes |= (a->d[1] > SECP256K1_N_1) & ~no; + yes |= (a->d[0] >= SECP256K1_N_0) & ~no; + return yes; +} + +SECP256K1_INLINE static int secp256k1_scalar_reduce(secp256k1_scalar *r, uint32_t overflow) { + uint64_t t; + VERIFY_CHECK(overflow <= 1); + t = (uint64_t)r->d[0] + overflow * SECP256K1_N_C_0; + r->d[0] = t & 0xFFFFFFFFUL; t >>= 32; + t += (uint64_t)r->d[1] + overflow * SECP256K1_N_C_1; + r->d[1] = t & 0xFFFFFFFFUL; t >>= 32; + t += (uint64_t)r->d[2] + overflow * SECP256K1_N_C_2; + r->d[2] = t & 0xFFFFFFFFUL; t >>= 32; + t += (uint64_t)r->d[3] + overflow * SECP256K1_N_C_3; + r->d[3] = t & 0xFFFFFFFFUL; t >>= 32; + t += (uint64_t)r->d[4] + overflow * SECP256K1_N_C_4; + r->d[4] = t & 0xFFFFFFFFUL; t >>= 32; + t += (uint64_t)r->d[5]; + r->d[5] = t & 0xFFFFFFFFUL; t >>= 32; + t += (uint64_t)r->d[6]; + r->d[6] = t & 0xFFFFFFFFUL; t >>= 32; + t += (uint64_t)r->d[7]; + r->d[7] = t & 0xFFFFFFFFUL; + return overflow; +} + +static int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b) { + int overflow; + uint64_t t = (uint64_t)a->d[0] + b->d[0]; + r->d[0] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)a->d[1] + b->d[1]; + r->d[1] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)a->d[2] + b->d[2]; + r->d[2] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)a->d[3] + b->d[3]; + r->d[3] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)a->d[4] + b->d[4]; + r->d[4] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)a->d[5] + b->d[5]; + r->d[5] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)a->d[6] + b->d[6]; + r->d[6] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)a->d[7] + b->d[7]; + r->d[7] = t & 0xFFFFFFFFULL; t >>= 32; + overflow = t + secp256k1_scalar_check_overflow(r); + VERIFY_CHECK(overflow == 0 || overflow == 1); + secp256k1_scalar_reduce(r, overflow); + return overflow; +} + +static void secp256k1_scalar_cadd_bit(secp256k1_scalar *r, unsigned int bit, int flag) { + uint64_t t; + VERIFY_CHECK(bit < 256); + bit += ((uint32_t) flag - 1) & 0x100; /* forcing (bit >> 5) > 7 makes this a noop */ + t = (uint64_t)r->d[0] + (((uint32_t)((bit >> 5) == 0)) << (bit & 0x1F)); + r->d[0] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)r->d[1] + (((uint32_t)((bit >> 5) == 1)) << (bit & 0x1F)); + r->d[1] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)r->d[2] + (((uint32_t)((bit >> 5) == 2)) << (bit & 0x1F)); + r->d[2] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)r->d[3] + (((uint32_t)((bit >> 5) == 3)) << (bit & 0x1F)); + r->d[3] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)r->d[4] + (((uint32_t)((bit >> 5) == 4)) << (bit & 0x1F)); + r->d[4] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)r->d[5] + (((uint32_t)((bit >> 5) == 5)) << (bit & 0x1F)); + r->d[5] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)r->d[6] + (((uint32_t)((bit >> 5) == 6)) << (bit & 0x1F)); + r->d[6] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)r->d[7] + (((uint32_t)((bit >> 5) == 7)) << (bit & 0x1F)); + r->d[7] = t & 0xFFFFFFFFULL; +#ifdef VERIFY + VERIFY_CHECK((t >> 32) == 0); + VERIFY_CHECK(secp256k1_scalar_check_overflow(r) == 0); +#endif +} + +static void secp256k1_scalar_set_b32(secp256k1_scalar *r, const unsigned char *b32, int *overflow) { + int over; + r->d[0] = (uint32_t)b32[31] | (uint32_t)b32[30] << 8 | (uint32_t)b32[29] << 16 | (uint32_t)b32[28] << 24; + r->d[1] = (uint32_t)b32[27] | (uint32_t)b32[26] << 8 | (uint32_t)b32[25] << 16 | (uint32_t)b32[24] << 24; + r->d[2] = (uint32_t)b32[23] | (uint32_t)b32[22] << 8 | (uint32_t)b32[21] << 16 | (uint32_t)b32[20] << 24; + r->d[3] = (uint32_t)b32[19] | (uint32_t)b32[18] << 8 | (uint32_t)b32[17] << 16 | (uint32_t)b32[16] << 24; + r->d[4] = (uint32_t)b32[15] | (uint32_t)b32[14] << 8 | (uint32_t)b32[13] << 16 | (uint32_t)b32[12] << 24; + r->d[5] = (uint32_t)b32[11] | (uint32_t)b32[10] << 8 | (uint32_t)b32[9] << 16 | (uint32_t)b32[8] << 24; + r->d[6] = (uint32_t)b32[7] | (uint32_t)b32[6] << 8 | (uint32_t)b32[5] << 16 | (uint32_t)b32[4] << 24; + r->d[7] = (uint32_t)b32[3] | (uint32_t)b32[2] << 8 | (uint32_t)b32[1] << 16 | (uint32_t)b32[0] << 24; + over = secp256k1_scalar_reduce(r, secp256k1_scalar_check_overflow(r)); + if (overflow) { + *overflow = over; + } +} + +static void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar* a) { + bin[0] = a->d[7] >> 24; bin[1] = a->d[7] >> 16; bin[2] = a->d[7] >> 8; bin[3] = a->d[7]; + bin[4] = a->d[6] >> 24; bin[5] = a->d[6] >> 16; bin[6] = a->d[6] >> 8; bin[7] = a->d[6]; + bin[8] = a->d[5] >> 24; bin[9] = a->d[5] >> 16; bin[10] = a->d[5] >> 8; bin[11] = a->d[5]; + bin[12] = a->d[4] >> 24; bin[13] = a->d[4] >> 16; bin[14] = a->d[4] >> 8; bin[15] = a->d[4]; + bin[16] = a->d[3] >> 24; bin[17] = a->d[3] >> 16; bin[18] = a->d[3] >> 8; bin[19] = a->d[3]; + bin[20] = a->d[2] >> 24; bin[21] = a->d[2] >> 16; bin[22] = a->d[2] >> 8; bin[23] = a->d[2]; + bin[24] = a->d[1] >> 24; bin[25] = a->d[1] >> 16; bin[26] = a->d[1] >> 8; bin[27] = a->d[1]; + bin[28] = a->d[0] >> 24; bin[29] = a->d[0] >> 16; bin[30] = a->d[0] >> 8; bin[31] = a->d[0]; +} + +SECP256K1_INLINE static int secp256k1_scalar_is_zero(const secp256k1_scalar *a) { + return (a->d[0] | a->d[1] | a->d[2] | a->d[3] | a->d[4] | a->d[5] | a->d[6] | a->d[7]) == 0; +} + +static void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1_scalar *a) { + uint32_t nonzero = 0xFFFFFFFFUL * (secp256k1_scalar_is_zero(a) == 0); + uint64_t t = (uint64_t)(~a->d[0]) + SECP256K1_N_0 + 1; + r->d[0] = t & nonzero; t >>= 32; + t += (uint64_t)(~a->d[1]) + SECP256K1_N_1; + r->d[1] = t & nonzero; t >>= 32; + t += (uint64_t)(~a->d[2]) + SECP256K1_N_2; + r->d[2] = t & nonzero; t >>= 32; + t += (uint64_t)(~a->d[3]) + SECP256K1_N_3; + r->d[3] = t & nonzero; t >>= 32; + t += (uint64_t)(~a->d[4]) + SECP256K1_N_4; + r->d[4] = t & nonzero; t >>= 32; + t += (uint64_t)(~a->d[5]) + SECP256K1_N_5; + r->d[5] = t & nonzero; t >>= 32; + t += (uint64_t)(~a->d[6]) + SECP256K1_N_6; + r->d[6] = t & nonzero; t >>= 32; + t += (uint64_t)(~a->d[7]) + SECP256K1_N_7; + r->d[7] = t & nonzero; +} + +SECP256K1_INLINE static int secp256k1_scalar_is_one(const secp256k1_scalar *a) { + return ((a->d[0] ^ 1) | a->d[1] | a->d[2] | a->d[3] | a->d[4] | a->d[5] | a->d[6] | a->d[7]) == 0; +} + +static int secp256k1_scalar_is_high(const secp256k1_scalar *a) { + int yes = 0; + int no = 0; + no |= (a->d[7] < SECP256K1_N_H_7); + yes |= (a->d[7] > SECP256K1_N_H_7) & ~no; + no |= (a->d[6] < SECP256K1_N_H_6) & ~yes; /* No need for a > check. */ + no |= (a->d[5] < SECP256K1_N_H_5) & ~yes; /* No need for a > check. */ + no |= (a->d[4] < SECP256K1_N_H_4) & ~yes; /* No need for a > check. */ + no |= (a->d[3] < SECP256K1_N_H_3) & ~yes; + yes |= (a->d[3] > SECP256K1_N_H_3) & ~no; + no |= (a->d[2] < SECP256K1_N_H_2) & ~yes; + yes |= (a->d[2] > SECP256K1_N_H_2) & ~no; + no |= (a->d[1] < SECP256K1_N_H_1) & ~yes; + yes |= (a->d[1] > SECP256K1_N_H_1) & ~no; + yes |= (a->d[0] > SECP256K1_N_H_0) & ~no; + return yes; +} + +static int secp256k1_scalar_cond_negate(secp256k1_scalar *r, int flag) { + /* If we are flag = 0, mask = 00...00 and this is a no-op; + * if we are flag = 1, mask = 11...11 and this is identical to secp256k1_scalar_negate */ + uint32_t mask = !flag - 1; + uint32_t nonzero = 0xFFFFFFFFUL * (secp256k1_scalar_is_zero(r) == 0); + uint64_t t = (uint64_t)(r->d[0] ^ mask) + ((SECP256K1_N_0 + 1) & mask); + r->d[0] = t & nonzero; t >>= 32; + t += (uint64_t)(r->d[1] ^ mask) + (SECP256K1_N_1 & mask); + r->d[1] = t & nonzero; t >>= 32; + t += (uint64_t)(r->d[2] ^ mask) + (SECP256K1_N_2 & mask); + r->d[2] = t & nonzero; t >>= 32; + t += (uint64_t)(r->d[3] ^ mask) + (SECP256K1_N_3 & mask); + r->d[3] = t & nonzero; t >>= 32; + t += (uint64_t)(r->d[4] ^ mask) + (SECP256K1_N_4 & mask); + r->d[4] = t & nonzero; t >>= 32; + t += (uint64_t)(r->d[5] ^ mask) + (SECP256K1_N_5 & mask); + r->d[5] = t & nonzero; t >>= 32; + t += (uint64_t)(r->d[6] ^ mask) + (SECP256K1_N_6 & mask); + r->d[6] = t & nonzero; t >>= 32; + t += (uint64_t)(r->d[7] ^ mask) + (SECP256K1_N_7 & mask); + r->d[7] = t & nonzero; + return 2 * (mask == 0) - 1; +} + + +/* Inspired by the macros in OpenSSL's crypto/bn/asm/x86_64-gcc.c. */ + +/** Add a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ +#define muladd(a,b) { \ + uint32_t tl, th; \ + { \ + uint64_t t = (uint64_t)a * b; \ + th = t >> 32; /* at most 0xFFFFFFFE */ \ + tl = t; \ + } \ + c0 += tl; /* overflow is handled on the next line */ \ + th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFF */ \ + c1 += th; /* overflow is handled on the next line */ \ + c2 += (c1 < th) ? 1 : 0; /* never overflows by contract (verified in the next line) */ \ + VERIFY_CHECK((c1 >= th) || (c2 != 0)); \ +} + +/** Add a*b to the number defined by (c0,c1). c1 must never overflow. */ +#define muladd_fast(a,b) { \ + uint32_t tl, th; \ + { \ + uint64_t t = (uint64_t)a * b; \ + th = t >> 32; /* at most 0xFFFFFFFE */ \ + tl = t; \ + } \ + c0 += tl; /* overflow is handled on the next line */ \ + th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFF */ \ + c1 += th; /* never overflows by contract (verified in the next line) */ \ + VERIFY_CHECK(c1 >= th); \ +} + +/** Add 2*a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ +#define muladd2(a,b) { \ + uint32_t tl, th, th2, tl2; \ + { \ + uint64_t t = (uint64_t)a * b; \ + th = t >> 32; /* at most 0xFFFFFFFE */ \ + tl = t; \ + } \ + th2 = th + th; /* at most 0xFFFFFFFE (in case th was 0x7FFFFFFF) */ \ + c2 += (th2 < th) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ + VERIFY_CHECK((th2 >= th) || (c2 != 0)); \ + tl2 = tl + tl; /* at most 0xFFFFFFFE (in case the lowest 63 bits of tl were 0x7FFFFFFF) */ \ + th2 += (tl2 < tl) ? 1 : 0; /* at most 0xFFFFFFFF */ \ + c0 += tl2; /* overflow is handled on the next line */ \ + th2 += (c0 < tl2) ? 1 : 0; /* second overflow is handled on the next line */ \ + c2 += (c0 < tl2) & (th2 == 0); /* never overflows by contract (verified the next line) */ \ + VERIFY_CHECK((c0 >= tl2) || (th2 != 0) || (c2 != 0)); \ + c1 += th2; /* overflow is handled on the next line */ \ + c2 += (c1 < th2) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ + VERIFY_CHECK((c1 >= th2) || (c2 != 0)); \ +} + +/** Add a to the number defined by (c0,c1,c2). c2 must never overflow. */ +#define sumadd(a) { \ + unsigned int over; \ + c0 += (a); /* overflow is handled on the next line */ \ + over = (c0 < (a)) ? 1 : 0; \ + c1 += over; /* overflow is handled on the next line */ \ + c2 += (c1 < over) ? 1 : 0; /* never overflows by contract */ \ +} + +/** Add a to the number defined by (c0,c1). c1 must never overflow, c2 must be zero. */ +#define sumadd_fast(a) { \ + c0 += (a); /* overflow is handled on the next line */ \ + c1 += (c0 < (a)) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ + VERIFY_CHECK((c1 != 0) | (c0 >= (a))); \ + VERIFY_CHECK(c2 == 0); \ +} + +/** Extract the lowest 32 bits of (c0,c1,c2) into n, and left shift the number 32 bits. */ +#define extract(n) { \ + (n) = c0; \ + c0 = c1; \ + c1 = c2; \ + c2 = 0; \ +} + +/** Extract the lowest 32 bits of (c0,c1,c2) into n, and left shift the number 32 bits. c2 is required to be zero. */ +#define extract_fast(n) { \ + (n) = c0; \ + c0 = c1; \ + c1 = 0; \ + VERIFY_CHECK(c2 == 0); \ +} + +static void secp256k1_scalar_reduce_512(secp256k1_scalar *r, const uint32_t *l) { + uint64_t c; + uint32_t n0 = l[8], n1 = l[9], n2 = l[10], n3 = l[11], n4 = l[12], n5 = l[13], n6 = l[14], n7 = l[15]; + uint32_t m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12; + uint32_t p0, p1, p2, p3, p4, p5, p6, p7, p8; + + /* 96 bit accumulator. */ + uint32_t c0, c1, c2; + + /* Reduce 512 bits into 385. */ + /* m[0..12] = l[0..7] + n[0..7] * SECP256K1_N_C. */ + c0 = l[0]; c1 = 0; c2 = 0; + muladd_fast(n0, SECP256K1_N_C_0); + extract_fast(m0); + sumadd_fast(l[1]); + muladd(n1, SECP256K1_N_C_0); + muladd(n0, SECP256K1_N_C_1); + extract(m1); + sumadd(l[2]); + muladd(n2, SECP256K1_N_C_0); + muladd(n1, SECP256K1_N_C_1); + muladd(n0, SECP256K1_N_C_2); + extract(m2); + sumadd(l[3]); + muladd(n3, SECP256K1_N_C_0); + muladd(n2, SECP256K1_N_C_1); + muladd(n1, SECP256K1_N_C_2); + muladd(n0, SECP256K1_N_C_3); + extract(m3); + sumadd(l[4]); + muladd(n4, SECP256K1_N_C_0); + muladd(n3, SECP256K1_N_C_1); + muladd(n2, SECP256K1_N_C_2); + muladd(n1, SECP256K1_N_C_3); + sumadd(n0); + extract(m4); + sumadd(l[5]); + muladd(n5, SECP256K1_N_C_0); + muladd(n4, SECP256K1_N_C_1); + muladd(n3, SECP256K1_N_C_2); + muladd(n2, SECP256K1_N_C_3); + sumadd(n1); + extract(m5); + sumadd(l[6]); + muladd(n6, SECP256K1_N_C_0); + muladd(n5, SECP256K1_N_C_1); + muladd(n4, SECP256K1_N_C_2); + muladd(n3, SECP256K1_N_C_3); + sumadd(n2); + extract(m6); + sumadd(l[7]); + muladd(n7, SECP256K1_N_C_0); + muladd(n6, SECP256K1_N_C_1); + muladd(n5, SECP256K1_N_C_2); + muladd(n4, SECP256K1_N_C_3); + sumadd(n3); + extract(m7); + muladd(n7, SECP256K1_N_C_1); + muladd(n6, SECP256K1_N_C_2); + muladd(n5, SECP256K1_N_C_3); + sumadd(n4); + extract(m8); + muladd(n7, SECP256K1_N_C_2); + muladd(n6, SECP256K1_N_C_3); + sumadd(n5); + extract(m9); + muladd(n7, SECP256K1_N_C_3); + sumadd(n6); + extract(m10); + sumadd_fast(n7); + extract_fast(m11); + VERIFY_CHECK(c0 <= 1); + m12 = c0; + + /* Reduce 385 bits into 258. */ + /* p[0..8] = m[0..7] + m[8..12] * SECP256K1_N_C. */ + c0 = m0; c1 = 0; c2 = 0; + muladd_fast(m8, SECP256K1_N_C_0); + extract_fast(p0); + sumadd_fast(m1); + muladd(m9, SECP256K1_N_C_0); + muladd(m8, SECP256K1_N_C_1); + extract(p1); + sumadd(m2); + muladd(m10, SECP256K1_N_C_0); + muladd(m9, SECP256K1_N_C_1); + muladd(m8, SECP256K1_N_C_2); + extract(p2); + sumadd(m3); + muladd(m11, SECP256K1_N_C_0); + muladd(m10, SECP256K1_N_C_1); + muladd(m9, SECP256K1_N_C_2); + muladd(m8, SECP256K1_N_C_3); + extract(p3); + sumadd(m4); + muladd(m12, SECP256K1_N_C_0); + muladd(m11, SECP256K1_N_C_1); + muladd(m10, SECP256K1_N_C_2); + muladd(m9, SECP256K1_N_C_3); + sumadd(m8); + extract(p4); + sumadd(m5); + muladd(m12, SECP256K1_N_C_1); + muladd(m11, SECP256K1_N_C_2); + muladd(m10, SECP256K1_N_C_3); + sumadd(m9); + extract(p5); + sumadd(m6); + muladd(m12, SECP256K1_N_C_2); + muladd(m11, SECP256K1_N_C_3); + sumadd(m10); + extract(p6); + sumadd_fast(m7); + muladd_fast(m12, SECP256K1_N_C_3); + sumadd_fast(m11); + extract_fast(p7); + p8 = c0 + m12; + VERIFY_CHECK(p8 <= 2); + + /* Reduce 258 bits into 256. */ + /* r[0..7] = p[0..7] + p[8] * SECP256K1_N_C. */ + c = p0 + (uint64_t)SECP256K1_N_C_0 * p8; + r->d[0] = c & 0xFFFFFFFFUL; c >>= 32; + c += p1 + (uint64_t)SECP256K1_N_C_1 * p8; + r->d[1] = c & 0xFFFFFFFFUL; c >>= 32; + c += p2 + (uint64_t)SECP256K1_N_C_2 * p8; + r->d[2] = c & 0xFFFFFFFFUL; c >>= 32; + c += p3 + (uint64_t)SECP256K1_N_C_3 * p8; + r->d[3] = c & 0xFFFFFFFFUL; c >>= 32; + c += p4 + (uint64_t)p8; + r->d[4] = c & 0xFFFFFFFFUL; c >>= 32; + c += p5; + r->d[5] = c & 0xFFFFFFFFUL; c >>= 32; + c += p6; + r->d[6] = c & 0xFFFFFFFFUL; c >>= 32; + c += p7; + r->d[7] = c & 0xFFFFFFFFUL; c >>= 32; + + /* Final reduction of r. */ + secp256k1_scalar_reduce(r, c + secp256k1_scalar_check_overflow(r)); +} + +static void secp256k1_scalar_mul_512(uint32_t *l, const secp256k1_scalar *a, const secp256k1_scalar *b) { + /* 96 bit accumulator. */ + uint32_t c0 = 0, c1 = 0, c2 = 0; + + /* l[0..15] = a[0..7] * b[0..7]. */ + muladd_fast(a->d[0], b->d[0]); + extract_fast(l[0]); + muladd(a->d[0], b->d[1]); + muladd(a->d[1], b->d[0]); + extract(l[1]); + muladd(a->d[0], b->d[2]); + muladd(a->d[1], b->d[1]); + muladd(a->d[2], b->d[0]); + extract(l[2]); + muladd(a->d[0], b->d[3]); + muladd(a->d[1], b->d[2]); + muladd(a->d[2], b->d[1]); + muladd(a->d[3], b->d[0]); + extract(l[3]); + muladd(a->d[0], b->d[4]); + muladd(a->d[1], b->d[3]); + muladd(a->d[2], b->d[2]); + muladd(a->d[3], b->d[1]); + muladd(a->d[4], b->d[0]); + extract(l[4]); + muladd(a->d[0], b->d[5]); + muladd(a->d[1], b->d[4]); + muladd(a->d[2], b->d[3]); + muladd(a->d[3], b->d[2]); + muladd(a->d[4], b->d[1]); + muladd(a->d[5], b->d[0]); + extract(l[5]); + muladd(a->d[0], b->d[6]); + muladd(a->d[1], b->d[5]); + muladd(a->d[2], b->d[4]); + muladd(a->d[3], b->d[3]); + muladd(a->d[4], b->d[2]); + muladd(a->d[5], b->d[1]); + muladd(a->d[6], b->d[0]); + extract(l[6]); + muladd(a->d[0], b->d[7]); + muladd(a->d[1], b->d[6]); + muladd(a->d[2], b->d[5]); + muladd(a->d[3], b->d[4]); + muladd(a->d[4], b->d[3]); + muladd(a->d[5], b->d[2]); + muladd(a->d[6], b->d[1]); + muladd(a->d[7], b->d[0]); + extract(l[7]); + muladd(a->d[1], b->d[7]); + muladd(a->d[2], b->d[6]); + muladd(a->d[3], b->d[5]); + muladd(a->d[4], b->d[4]); + muladd(a->d[5], b->d[3]); + muladd(a->d[6], b->d[2]); + muladd(a->d[7], b->d[1]); + extract(l[8]); + muladd(a->d[2], b->d[7]); + muladd(a->d[3], b->d[6]); + muladd(a->d[4], b->d[5]); + muladd(a->d[5], b->d[4]); + muladd(a->d[6], b->d[3]); + muladd(a->d[7], b->d[2]); + extract(l[9]); + muladd(a->d[3], b->d[7]); + muladd(a->d[4], b->d[6]); + muladd(a->d[5], b->d[5]); + muladd(a->d[6], b->d[4]); + muladd(a->d[7], b->d[3]); + extract(l[10]); + muladd(a->d[4], b->d[7]); + muladd(a->d[5], b->d[6]); + muladd(a->d[6], b->d[5]); + muladd(a->d[7], b->d[4]); + extract(l[11]); + muladd(a->d[5], b->d[7]); + muladd(a->d[6], b->d[6]); + muladd(a->d[7], b->d[5]); + extract(l[12]); + muladd(a->d[6], b->d[7]); + muladd(a->d[7], b->d[6]); + extract(l[13]); + muladd_fast(a->d[7], b->d[7]); + extract_fast(l[14]); + VERIFY_CHECK(c1 == 0); + l[15] = c0; +} + +static void secp256k1_scalar_sqr_512(uint32_t *l, const secp256k1_scalar *a) { + /* 96 bit accumulator. */ + uint32_t c0 = 0, c1 = 0, c2 = 0; + + /* l[0..15] = a[0..7]^2. */ + muladd_fast(a->d[0], a->d[0]); + extract_fast(l[0]); + muladd2(a->d[0], a->d[1]); + extract(l[1]); + muladd2(a->d[0], a->d[2]); + muladd(a->d[1], a->d[1]); + extract(l[2]); + muladd2(a->d[0], a->d[3]); + muladd2(a->d[1], a->d[2]); + extract(l[3]); + muladd2(a->d[0], a->d[4]); + muladd2(a->d[1], a->d[3]); + muladd(a->d[2], a->d[2]); + extract(l[4]); + muladd2(a->d[0], a->d[5]); + muladd2(a->d[1], a->d[4]); + muladd2(a->d[2], a->d[3]); + extract(l[5]); + muladd2(a->d[0], a->d[6]); + muladd2(a->d[1], a->d[5]); + muladd2(a->d[2], a->d[4]); + muladd(a->d[3], a->d[3]); + extract(l[6]); + muladd2(a->d[0], a->d[7]); + muladd2(a->d[1], a->d[6]); + muladd2(a->d[2], a->d[5]); + muladd2(a->d[3], a->d[4]); + extract(l[7]); + muladd2(a->d[1], a->d[7]); + muladd2(a->d[2], a->d[6]); + muladd2(a->d[3], a->d[5]); + muladd(a->d[4], a->d[4]); + extract(l[8]); + muladd2(a->d[2], a->d[7]); + muladd2(a->d[3], a->d[6]); + muladd2(a->d[4], a->d[5]); + extract(l[9]); + muladd2(a->d[3], a->d[7]); + muladd2(a->d[4], a->d[6]); + muladd(a->d[5], a->d[5]); + extract(l[10]); + muladd2(a->d[4], a->d[7]); + muladd2(a->d[5], a->d[6]); + extract(l[11]); + muladd2(a->d[5], a->d[7]); + muladd(a->d[6], a->d[6]); + extract(l[12]); + muladd2(a->d[6], a->d[7]); + extract(l[13]); + muladd_fast(a->d[7], a->d[7]); + extract_fast(l[14]); + VERIFY_CHECK(c1 == 0); + l[15] = c0; +} + +#undef sumadd +#undef sumadd_fast +#undef muladd +#undef muladd_fast +#undef muladd2 +#undef extract +#undef extract_fast + +static void secp256k1_scalar_mul(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b) { + uint32_t l[16]; + secp256k1_scalar_mul_512(l, a, b); + secp256k1_scalar_reduce_512(r, l); +} + +static int secp256k1_scalar_shr_int(secp256k1_scalar *r, int n) { + int ret; + VERIFY_CHECK(n > 0); + VERIFY_CHECK(n < 16); + ret = r->d[0] & ((1 << n) - 1); + r->d[0] = (r->d[0] >> n) + (r->d[1] << (32 - n)); + r->d[1] = (r->d[1] >> n) + (r->d[2] << (32 - n)); + r->d[2] = (r->d[2] >> n) + (r->d[3] << (32 - n)); + r->d[3] = (r->d[3] >> n) + (r->d[4] << (32 - n)); + r->d[4] = (r->d[4] >> n) + (r->d[5] << (32 - n)); + r->d[5] = (r->d[5] >> n) + (r->d[6] << (32 - n)); + r->d[6] = (r->d[6] >> n) + (r->d[7] << (32 - n)); + r->d[7] = (r->d[7] >> n); + return ret; +} + +static void secp256k1_scalar_sqr(secp256k1_scalar *r, const secp256k1_scalar *a) { + uint32_t l[16]; + secp256k1_scalar_sqr_512(l, a); + secp256k1_scalar_reduce_512(r, l); +} + +#ifdef USE_ENDOMORPHISM +static void secp256k1_scalar_split_128(secp256k1_scalar *r1, secp256k1_scalar *r2, const secp256k1_scalar *a) { + r1->d[0] = a->d[0]; + r1->d[1] = a->d[1]; + r1->d[2] = a->d[2]; + r1->d[3] = a->d[3]; + r1->d[4] = 0; + r1->d[5] = 0; + r1->d[6] = 0; + r1->d[7] = 0; + r2->d[0] = a->d[4]; + r2->d[1] = a->d[5]; + r2->d[2] = a->d[6]; + r2->d[3] = a->d[7]; + r2->d[4] = 0; + r2->d[5] = 0; + r2->d[6] = 0; + r2->d[7] = 0; +} +#endif + +SECP256K1_INLINE static int secp256k1_scalar_eq(const secp256k1_scalar *a, const secp256k1_scalar *b) { + return ((a->d[0] ^ b->d[0]) | (a->d[1] ^ b->d[1]) | (a->d[2] ^ b->d[2]) | (a->d[3] ^ b->d[3]) | (a->d[4] ^ b->d[4]) | (a->d[5] ^ b->d[5]) | (a->d[6] ^ b->d[6]) | (a->d[7] ^ b->d[7])) == 0; +} + +SECP256K1_INLINE static void secp256k1_scalar_mul_shift_var(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b, unsigned int shift) { + uint32_t l[16]; + unsigned int shiftlimbs; + unsigned int shiftlow; + unsigned int shifthigh; + VERIFY_CHECK(shift >= 256); + secp256k1_scalar_mul_512(l, a, b); + shiftlimbs = shift >> 5; + shiftlow = shift & 0x1F; + shifthigh = 32 - shiftlow; + r->d[0] = shift < 512 ? (l[0 + shiftlimbs] >> shiftlow | (shift < 480 && shiftlow ? (l[1 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[1] = shift < 480 ? (l[1 + shiftlimbs] >> shiftlow | (shift < 448 && shiftlow ? (l[2 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[2] = shift < 448 ? (l[2 + shiftlimbs] >> shiftlow | (shift < 416 && shiftlow ? (l[3 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[3] = shift < 416 ? (l[3 + shiftlimbs] >> shiftlow | (shift < 384 && shiftlow ? (l[4 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[4] = shift < 384 ? (l[4 + shiftlimbs] >> shiftlow | (shift < 352 && shiftlow ? (l[5 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[5] = shift < 352 ? (l[5 + shiftlimbs] >> shiftlow | (shift < 320 && shiftlow ? (l[6 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[6] = shift < 320 ? (l[6 + shiftlimbs] >> shiftlow | (shift < 288 && shiftlow ? (l[7 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[7] = shift < 288 ? (l[7 + shiftlimbs] >> shiftlow) : 0; + secp256k1_scalar_cadd_bit(r, 0, (l[(shift - 1) >> 5] >> ((shift - 1) & 0x1f)) & 1); +} + +#endif /* SECP256K1_SCALAR_REPR_IMPL_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_impl.h new file mode 100644 index 000000000..fa790570f --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_impl.h @@ -0,0 +1,333 @@ +/********************************************************************** + * Copyright (c) 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_SCALAR_IMPL_H +#define SECP256K1_SCALAR_IMPL_H + +#include "group.h" +#include "scalar.h" + +#if defined HAVE_CONFIG_H +#include "libsecp256k1-config.h" +#endif + +#if defined(EXHAUSTIVE_TEST_ORDER) +#include "scalar_low_impl.h" +#elif defined(USE_SCALAR_4X64) +#include "scalar_4x64_impl.h" +#elif defined(USE_SCALAR_8X32) +#include "scalar_8x32_impl.h" +#else +#error "Please select scalar implementation" +#endif + +#ifndef USE_NUM_NONE +static void secp256k1_scalar_get_num(secp256k1_num *r, const secp256k1_scalar *a) { + unsigned char c[32]; + secp256k1_scalar_get_b32(c, a); + secp256k1_num_set_bin(r, c, 32); +} + +/** secp256k1 curve order, see secp256k1_ecdsa_const_order_as_fe in ecdsa_impl.h */ +static void secp256k1_scalar_order_get_num(secp256k1_num *r) { +#if defined(EXHAUSTIVE_TEST_ORDER) + static const unsigned char order[32] = { + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,EXHAUSTIVE_TEST_ORDER + }; +#else + static const unsigned char order[32] = { + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, + 0xBA,0xAE,0xDC,0xE6,0xAF,0x48,0xA0,0x3B, + 0xBF,0xD2,0x5E,0x8C,0xD0,0x36,0x41,0x41 + }; +#endif + secp256k1_num_set_bin(r, order, 32); +} +#endif + +static void secp256k1_scalar_inverse(secp256k1_scalar *r, const secp256k1_scalar *x) { +#if defined(EXHAUSTIVE_TEST_ORDER) + int i; + *r = 0; + for (i = 0; i < EXHAUSTIVE_TEST_ORDER; i++) + if ((i * *x) % EXHAUSTIVE_TEST_ORDER == 1) + *r = i; + /* If this VERIFY_CHECK triggers we were given a noninvertible scalar (and thus + * have a composite group order; fix it in exhaustive_tests.c). */ + VERIFY_CHECK(*r != 0); +} +#else + secp256k1_scalar *t; + int i; + /* First compute xN as x ^ (2^N - 1) for some values of N, + * and uM as x ^ M for some values of M. */ + secp256k1_scalar x2, x3, x6, x8, x14, x28, x56, x112, x126; + secp256k1_scalar u2, u5, u9, u11, u13; + + secp256k1_scalar_sqr(&u2, x); + secp256k1_scalar_mul(&x2, &u2, x); + secp256k1_scalar_mul(&u5, &u2, &x2); + secp256k1_scalar_mul(&x3, &u5, &u2); + secp256k1_scalar_mul(&u9, &x3, &u2); + secp256k1_scalar_mul(&u11, &u9, &u2); + secp256k1_scalar_mul(&u13, &u11, &u2); + + secp256k1_scalar_sqr(&x6, &u13); + secp256k1_scalar_sqr(&x6, &x6); + secp256k1_scalar_mul(&x6, &x6, &u11); + + secp256k1_scalar_sqr(&x8, &x6); + secp256k1_scalar_sqr(&x8, &x8); + secp256k1_scalar_mul(&x8, &x8, &x2); + + secp256k1_scalar_sqr(&x14, &x8); + for (i = 0; i < 5; i++) { + secp256k1_scalar_sqr(&x14, &x14); + } + secp256k1_scalar_mul(&x14, &x14, &x6); + + secp256k1_scalar_sqr(&x28, &x14); + for (i = 0; i < 13; i++) { + secp256k1_scalar_sqr(&x28, &x28); + } + secp256k1_scalar_mul(&x28, &x28, &x14); + + secp256k1_scalar_sqr(&x56, &x28); + for (i = 0; i < 27; i++) { + secp256k1_scalar_sqr(&x56, &x56); + } + secp256k1_scalar_mul(&x56, &x56, &x28); + + secp256k1_scalar_sqr(&x112, &x56); + for (i = 0; i < 55; i++) { + secp256k1_scalar_sqr(&x112, &x112); + } + secp256k1_scalar_mul(&x112, &x112, &x56); + + secp256k1_scalar_sqr(&x126, &x112); + for (i = 0; i < 13; i++) { + secp256k1_scalar_sqr(&x126, &x126); + } + secp256k1_scalar_mul(&x126, &x126, &x14); + + /* Then accumulate the final result (t starts at x126). */ + t = &x126; + for (i = 0; i < 3; i++) { + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &u5); /* 101 */ + for (i = 0; i < 4; i++) { /* 0 */ + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &x3); /* 111 */ + for (i = 0; i < 4; i++) { /* 0 */ + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &u5); /* 101 */ + for (i = 0; i < 5; i++) { /* 0 */ + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &u11); /* 1011 */ + for (i = 0; i < 4; i++) { + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &u11); /* 1011 */ + for (i = 0; i < 4; i++) { /* 0 */ + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &x3); /* 111 */ + for (i = 0; i < 5; i++) { /* 00 */ + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &x3); /* 111 */ + for (i = 0; i < 6; i++) { /* 00 */ + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &u13); /* 1101 */ + for (i = 0; i < 4; i++) { /* 0 */ + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &u5); /* 101 */ + for (i = 0; i < 3; i++) { + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &x3); /* 111 */ + for (i = 0; i < 5; i++) { /* 0 */ + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &u9); /* 1001 */ + for (i = 0; i < 6; i++) { /* 000 */ + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &u5); /* 101 */ + for (i = 0; i < 10; i++) { /* 0000000 */ + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &x3); /* 111 */ + for (i = 0; i < 4; i++) { /* 0 */ + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &x3); /* 111 */ + for (i = 0; i < 9; i++) { /* 0 */ + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &x8); /* 11111111 */ + for (i = 0; i < 5; i++) { /* 0 */ + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &u9); /* 1001 */ + for (i = 0; i < 6; i++) { /* 00 */ + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &u11); /* 1011 */ + for (i = 0; i < 4; i++) { + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &u13); /* 1101 */ + for (i = 0; i < 5; i++) { + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &x2); /* 11 */ + for (i = 0; i < 6; i++) { /* 00 */ + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &u13); /* 1101 */ + for (i = 0; i < 10; i++) { /* 000000 */ + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &u13); /* 1101 */ + for (i = 0; i < 4; i++) { + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, &u9); /* 1001 */ + for (i = 0; i < 6; i++) { /* 00000 */ + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(t, t, x); /* 1 */ + for (i = 0; i < 8; i++) { /* 00 */ + secp256k1_scalar_sqr(t, t); + } + secp256k1_scalar_mul(r, t, &x6); /* 111111 */ +} + +SECP256K1_INLINE static int secp256k1_scalar_is_even(const secp256k1_scalar *a) { + return !(a->d[0] & 1); +} +#endif + +static void secp256k1_scalar_inverse_var(secp256k1_scalar *r, const secp256k1_scalar *x) { +#if defined(USE_SCALAR_INV_BUILTIN) + secp256k1_scalar_inverse(r, x); +#elif defined(USE_SCALAR_INV_NUM) + unsigned char b[32]; + secp256k1_num n, m; + secp256k1_scalar t = *x; + secp256k1_scalar_get_b32(b, &t); + secp256k1_num_set_bin(&n, b, 32); + secp256k1_scalar_order_get_num(&m); + secp256k1_num_mod_inverse(&n, &n, &m); + secp256k1_num_get_bin(b, 32, &n); + secp256k1_scalar_set_b32(r, b, NULL); + /* Verify that the inverse was computed correctly, without GMP code. */ + secp256k1_scalar_mul(&t, &t, r); + CHECK(secp256k1_scalar_is_one(&t)); +#else +#error "Please select scalar inverse implementation" +#endif +} + +#ifdef USE_ENDOMORPHISM +#if defined(EXHAUSTIVE_TEST_ORDER) +/** + * Find k1 and k2 given k, such that k1 + k2 * lambda == k mod n; unlike in the + * full case we don't bother making k1 and k2 be small, we just want them to be + * nontrivial to get full test coverage for the exhaustive tests. We therefore + * (arbitrarily) set k2 = k + 5 and k1 = k - k2 * lambda. + */ +static void secp256k1_scalar_split_lambda(secp256k1_scalar *r1, secp256k1_scalar *r2, const secp256k1_scalar *a) { + *r2 = (*a + 5) % EXHAUSTIVE_TEST_ORDER; + *r1 = (*a + (EXHAUSTIVE_TEST_ORDER - *r2) * EXHAUSTIVE_TEST_LAMBDA) % EXHAUSTIVE_TEST_ORDER; +} +#else +/** + * The Secp256k1 curve has an endomorphism, where lambda * (x, y) = (beta * x, y), where + * lambda is {0x53,0x63,0xad,0x4c,0xc0,0x5c,0x30,0xe0,0xa5,0x26,0x1c,0x02,0x88,0x12,0x64,0x5a, + * 0x12,0x2e,0x22,0xea,0x20,0x81,0x66,0x78,0xdf,0x02,0x96,0x7c,0x1b,0x23,0xbd,0x72} + * + * "Guide to Elliptic Curve Cryptography" (Hankerson, Menezes, Vanstone) gives an algorithm + * (algorithm 3.74) to find k1 and k2 given k, such that k1 + k2 * lambda == k mod n, and k1 + * and k2 have a small size. + * It relies on constants a1, b1, a2, b2. These constants for the value of lambda above are: + * + * - a1 = {0x30,0x86,0xd2,0x21,0xa7,0xd4,0x6b,0xcd,0xe8,0x6c,0x90,0xe4,0x92,0x84,0xeb,0x15} + * - b1 = -{0xe4,0x43,0x7e,0xd6,0x01,0x0e,0x88,0x28,0x6f,0x54,0x7f,0xa9,0x0a,0xbf,0xe4,0xc3} + * - a2 = {0x01,0x14,0xca,0x50,0xf7,0xa8,0xe2,0xf3,0xf6,0x57,0xc1,0x10,0x8d,0x9d,0x44,0xcf,0xd8} + * - b2 = {0x30,0x86,0xd2,0x21,0xa7,0xd4,0x6b,0xcd,0xe8,0x6c,0x90,0xe4,0x92,0x84,0xeb,0x15} + * + * The algorithm then computes c1 = round(b1 * k / n) and c2 = round(b2 * k / n), and gives + * k1 = k - (c1*a1 + c2*a2) and k2 = -(c1*b1 + c2*b2). Instead, we use modular arithmetic, and + * compute k1 as k - k2 * lambda, avoiding the need for constants a1 and a2. + * + * g1, g2 are precomputed constants used to replace division with a rounded multiplication + * when decomposing the scalar for an endomorphism-based point multiplication. + * + * The possibility of using precomputed estimates is mentioned in "Guide to Elliptic Curve + * Cryptography" (Hankerson, Menezes, Vanstone) in section 3.5. + * + * The derivation is described in the paper "Efficient Software Implementation of Public-Key + * Cryptography on Sensor Networks Using the MSP430X Microcontroller" (Gouvea, Oliveira, Lopez), + * Section 4.3 (here we use a somewhat higher-precision estimate): + * d = a1*b2 - b1*a2 + * g1 = round((2^272)*b2/d) + * g2 = round((2^272)*b1/d) + * + * (Note that 'd' is also equal to the curve order here because [a1,b1] and [a2,b2] are found + * as outputs of the Extended Euclidean Algorithm on inputs 'order' and 'lambda'). + * + * The function below splits a in r1 and r2, such that r1 + lambda * r2 == a (mod order). + */ + +static void secp256k1_scalar_split_lambda(secp256k1_scalar *r1, secp256k1_scalar *r2, const secp256k1_scalar *a) { + secp256k1_scalar c1, c2; + static const secp256k1_scalar minus_lambda = SECP256K1_SCALAR_CONST( + 0xAC9C52B3UL, 0x3FA3CF1FUL, 0x5AD9E3FDUL, 0x77ED9BA4UL, + 0xA880B9FCUL, 0x8EC739C2UL, 0xE0CFC810UL, 0xB51283CFUL + ); + static const secp256k1_scalar minus_b1 = SECP256K1_SCALAR_CONST( + 0x00000000UL, 0x00000000UL, 0x00000000UL, 0x00000000UL, + 0xE4437ED6UL, 0x010E8828UL, 0x6F547FA9UL, 0x0ABFE4C3UL + ); + static const secp256k1_scalar minus_b2 = SECP256K1_SCALAR_CONST( + 0xFFFFFFFFUL, 0xFFFFFFFFUL, 0xFFFFFFFFUL, 0xFFFFFFFEUL, + 0x8A280AC5UL, 0x0774346DUL, 0xD765CDA8UL, 0x3DB1562CUL + ); + static const secp256k1_scalar g1 = SECP256K1_SCALAR_CONST( + 0x00000000UL, 0x00000000UL, 0x00000000UL, 0x00003086UL, + 0xD221A7D4UL, 0x6BCDE86CUL, 0x90E49284UL, 0xEB153DABUL + ); + static const secp256k1_scalar g2 = SECP256K1_SCALAR_CONST( + 0x00000000UL, 0x00000000UL, 0x00000000UL, 0x0000E443UL, + 0x7ED6010EUL, 0x88286F54UL, 0x7FA90ABFUL, 0xE4C42212UL + ); + VERIFY_CHECK(r1 != a); + VERIFY_CHECK(r2 != a); + /* these _var calls are constant time since the shift amount is constant */ + secp256k1_scalar_mul_shift_var(&c1, a, &g1, 272); + secp256k1_scalar_mul_shift_var(&c2, a, &g2, 272); + secp256k1_scalar_mul(&c1, &c1, &minus_b1); + secp256k1_scalar_mul(&c2, &c2, &minus_b2); + secp256k1_scalar_add(r2, &c1, &c2); + secp256k1_scalar_mul(r1, r2, &minus_lambda); + secp256k1_scalar_add(r1, r1, a); +} +#endif +#endif + +#endif /* SECP256K1_SCALAR_IMPL_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_low.h b/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_low.h new file mode 100644 index 000000000..5836febc5 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_low.h @@ -0,0 +1,15 @@ +/********************************************************************** + * Copyright (c) 2015 Andrew Poelstra * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_SCALAR_REPR_H +#define SECP256K1_SCALAR_REPR_H + +#include + +/** A scalar modulo the group order of the secp256k1 curve. */ +typedef uint32_t secp256k1_scalar; + +#endif /* SECP256K1_SCALAR_REPR_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_low_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_low_impl.h new file mode 100644 index 000000000..c80e70c5a --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/scalar_low_impl.h @@ -0,0 +1,114 @@ +/********************************************************************** + * Copyright (c) 2015 Andrew Poelstra * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_SCALAR_REPR_IMPL_H +#define SECP256K1_SCALAR_REPR_IMPL_H + +#include "scalar.h" + +#include + +SECP256K1_INLINE static int secp256k1_scalar_is_even(const secp256k1_scalar *a) { + return !(*a & 1); +} + +SECP256K1_INLINE static void secp256k1_scalar_clear(secp256k1_scalar *r) { *r = 0; } +SECP256K1_INLINE static void secp256k1_scalar_set_int(secp256k1_scalar *r, unsigned int v) { *r = v; } + +SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits(const secp256k1_scalar *a, unsigned int offset, unsigned int count) { + if (offset < 32) + return ((*a >> offset) & ((((uint32_t)1) << count) - 1)); + else + return 0; +} + +SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits_var(const secp256k1_scalar *a, unsigned int offset, unsigned int count) { + return secp256k1_scalar_get_bits(a, offset, count); +} + +SECP256K1_INLINE static int secp256k1_scalar_check_overflow(const secp256k1_scalar *a) { return *a >= EXHAUSTIVE_TEST_ORDER; } + +static int secp256k1_scalar_add(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b) { + *r = (*a + *b) % EXHAUSTIVE_TEST_ORDER; + return *r < *b; +} + +static void secp256k1_scalar_cadd_bit(secp256k1_scalar *r, unsigned int bit, int flag) { + if (flag && bit < 32) + *r += (1 << bit); +#ifdef VERIFY + VERIFY_CHECK(secp256k1_scalar_check_overflow(r) == 0); +#endif +} + +static void secp256k1_scalar_set_b32(secp256k1_scalar *r, const unsigned char *b32, int *overflow) { + const int base = 0x100 % EXHAUSTIVE_TEST_ORDER; + int i; + *r = 0; + for (i = 0; i < 32; i++) { + *r = ((*r * base) + b32[i]) % EXHAUSTIVE_TEST_ORDER; + } + /* just deny overflow, it basically always happens */ + if (overflow) *overflow = 0; +} + +static void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar* a) { + memset(bin, 0, 32); + bin[28] = *a >> 24; bin[29] = *a >> 16; bin[30] = *a >> 8; bin[31] = *a; +} + +SECP256K1_INLINE static int secp256k1_scalar_is_zero(const secp256k1_scalar *a) { + return *a == 0; +} + +static void secp256k1_scalar_negate(secp256k1_scalar *r, const secp256k1_scalar *a) { + if (*a == 0) { + *r = 0; + } else { + *r = EXHAUSTIVE_TEST_ORDER - *a; + } +} + +SECP256K1_INLINE static int secp256k1_scalar_is_one(const secp256k1_scalar *a) { + return *a == 1; +} + +static int secp256k1_scalar_is_high(const secp256k1_scalar *a) { + return *a > EXHAUSTIVE_TEST_ORDER / 2; +} + +static int secp256k1_scalar_cond_negate(secp256k1_scalar *r, int flag) { + if (flag) secp256k1_scalar_negate(r, r); + return flag ? -1 : 1; +} + +static void secp256k1_scalar_mul(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b) { + *r = (*a * *b) % EXHAUSTIVE_TEST_ORDER; +} + +static int secp256k1_scalar_shr_int(secp256k1_scalar *r, int n) { + int ret; + VERIFY_CHECK(n > 0); + VERIFY_CHECK(n < 16); + ret = *r & ((1 << n) - 1); + *r >>= n; + return ret; +} + +static void secp256k1_scalar_sqr(secp256k1_scalar *r, const secp256k1_scalar *a) { + *r = (*a * *a) % EXHAUSTIVE_TEST_ORDER; +} + +static void secp256k1_scalar_split_128(secp256k1_scalar *r1, secp256k1_scalar *r2, const secp256k1_scalar *a) { + *r1 = *a; + *r2 = 0; +} + +SECP256K1_INLINE static int secp256k1_scalar_eq(const secp256k1_scalar *a, const secp256k1_scalar *b) { + return *a == *b; +} + +#endif /* SECP256K1_SCALAR_REPR_IMPL_H */ diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/scratch.h b/Pods/secp256k1_swift/Classes/secp256k1/src/scratch.h new file mode 100644 index 000000000..fef377af0 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/scratch.h @@ -0,0 +1,39 @@ +/********************************************************************** + * Copyright (c) 2017 Andrew Poelstra * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_SCRATCH_ +#define _SECP256K1_SCRATCH_ + +#define SECP256K1_SCRATCH_MAX_FRAMES 5 + +/* The typedef is used internally; the struct name is used in the public API + * (where it is exposed as a different typedef) */ +typedef struct secp256k1_scratch_space_struct { + void *data[SECP256K1_SCRATCH_MAX_FRAMES]; + size_t offset[SECP256K1_SCRATCH_MAX_FRAMES]; + size_t frame_size[SECP256K1_SCRATCH_MAX_FRAMES]; + size_t frame; + size_t max_size; + const secp256k1_callback* error_callback; +} secp256k1_scratch; + +static secp256k1_scratch* secp256k1_scratch_create(const secp256k1_callback* error_callback, size_t max_size); + +static void secp256k1_scratch_destroy(secp256k1_scratch* scratch); + +/** Attempts to allocate a new stack frame with `n` available bytes. Returns 1 on success, 0 on failure */ +static int secp256k1_scratch_allocate_frame(secp256k1_scratch* scratch, size_t n, size_t objects); + +/** Deallocates a stack frame */ +static void secp256k1_scratch_deallocate_frame(secp256k1_scratch* scratch); + +/** Returns the maximum allocation the scratch space will allow */ +static size_t secp256k1_scratch_max_allocation(const secp256k1_scratch* scratch, size_t n_objects); + +/** Returns a pointer into the most recently allocated frame, or NULL if there is insufficient available space */ +static void *secp256k1_scratch_alloc(secp256k1_scratch* scratch, size_t n); + +#endif diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/scratch_impl.h b/Pods/secp256k1_swift/Classes/secp256k1/src/scratch_impl.h new file mode 100644 index 000000000..abed713b2 --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/scratch_impl.h @@ -0,0 +1,86 @@ +/********************************************************************** + * Copyright (c) 2017 Andrew Poelstra * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_SCRATCH_IMPL_H_ +#define _SECP256K1_SCRATCH_IMPL_H_ + +#include "scratch.h" + +/* Using 16 bytes alignment because common architectures never have alignment + * requirements above 8 for any of the types we care about. In addition we + * leave some room because currently we don't care about a few bytes. + * TODO: Determine this at configure time. */ +#define ALIGNMENT 16 + +static secp256k1_scratch* secp256k1_scratch_create(const secp256k1_callback* error_callback, size_t max_size) { + secp256k1_scratch* ret = (secp256k1_scratch*)checked_malloc(error_callback, sizeof(*ret)); + if (ret != NULL) { + memset(ret, 0, sizeof(*ret)); + ret->max_size = max_size; + ret->error_callback = error_callback; + } + return ret; +} + +static void secp256k1_scratch_destroy(secp256k1_scratch* scratch) { + if (scratch != NULL) { + VERIFY_CHECK(scratch->frame == 0); + free(scratch); + } +} + +static size_t secp256k1_scratch_max_allocation(const secp256k1_scratch* scratch, size_t objects) { + size_t i = 0; + size_t allocated = 0; + for (i = 0; i < scratch->frame; i++) { + allocated += scratch->frame_size[i]; + } + if (scratch->max_size - allocated <= objects * ALIGNMENT) { + return 0; + } + return scratch->max_size - allocated - objects * ALIGNMENT; +} + +static int secp256k1_scratch_allocate_frame(secp256k1_scratch* scratch, size_t n, size_t objects) { + VERIFY_CHECK(scratch->frame < SECP256K1_SCRATCH_MAX_FRAMES); + + if (n <= secp256k1_scratch_max_allocation(scratch, objects)) { + n += objects * ALIGNMENT; + scratch->data[scratch->frame] = checked_malloc(scratch->error_callback, n); + if (scratch->data[scratch->frame] == NULL) { + return 0; + } + scratch->frame_size[scratch->frame] = n; + scratch->offset[scratch->frame] = 0; + scratch->frame++; + return 1; + } else { + return 0; + } +} + +static void secp256k1_scratch_deallocate_frame(secp256k1_scratch* scratch) { + VERIFY_CHECK(scratch->frame > 0); + scratch->frame -= 1; + free(scratch->data[scratch->frame]); +} + +static void *secp256k1_scratch_alloc(secp256k1_scratch* scratch, size_t size) { + void *ret; + size_t frame = scratch->frame - 1; + size = ((size + ALIGNMENT - 1) / ALIGNMENT) * ALIGNMENT; + + if (scratch->frame == 0 || size + scratch->offset[frame] > scratch->frame_size[frame]) { + return NULL; + } + ret = (void *) ((unsigned char *) scratch->data[frame] + scratch->offset[frame]); + memset(ret, 0, size); + scratch->offset[frame] += size; + + return ret; +} + +#endif diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/secp256k1.c b/Pods/secp256k1_swift/Classes/secp256k1/src/secp256k1.c new file mode 100644 index 000000000..5262e121d --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/secp256k1.c @@ -0,0 +1,597 @@ +/********************************************************************** + * Copyright (c) 2013-2015 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#include "secp256k1.h" + +#include "util.h" +#include "num_impl.h" +#include "field_impl.h" +#include "scalar_impl.h" +#include "group_impl.h" +#include "ecmult_impl.h" +#include "ecmult_const_impl.h" +#include "ecmult_gen_impl.h" +#include "ecdsa_impl.h" +#include "eckey_impl.h" +#include "hash_impl.h" +#include "scratch_impl.h" + +#define ARG_CHECK(cond) do { \ + if (EXPECT(!(cond), 0)) { \ + secp256k1_callback_call(&ctx->illegal_callback, #cond); \ + return 0; \ + } \ +} while(0) + +static void default_illegal_callback_fn(const char* str, void* data) { + (void)data; + fprintf(stderr, "[libsecp256k1] illegal argument: %s\n", str); + abort(); +} + +static const secp256k1_callback default_illegal_callback = { + default_illegal_callback_fn, + NULL +}; + +static void default_error_callback_fn(const char* str, void* data) { + (void)data; + fprintf(stderr, "[libsecp256k1] internal consistency check failed: %s\n", str); + abort(); +} + +static const secp256k1_callback default_error_callback = { + default_error_callback_fn, + NULL +}; + + +struct secp256k1_context_struct { + secp256k1_ecmult_context ecmult_ctx; + secp256k1_ecmult_gen_context ecmult_gen_ctx; + secp256k1_callback illegal_callback; + secp256k1_callback error_callback; +}; + +secp256k1_context* secp256k1_context_create(unsigned int flags) { + secp256k1_context* ret = (secp256k1_context*)checked_malloc(&default_error_callback, sizeof(secp256k1_context)); + ret->illegal_callback = default_illegal_callback; + ret->error_callback = default_error_callback; + + if (EXPECT((flags & SECP256K1_FLAGS_TYPE_MASK) != SECP256K1_FLAGS_TYPE_CONTEXT, 0)) { + secp256k1_callback_call(&ret->illegal_callback, + "Invalid flags"); + free(ret); + return NULL; + } + + secp256k1_ecmult_context_init(&ret->ecmult_ctx); + secp256k1_ecmult_gen_context_init(&ret->ecmult_gen_ctx); + + if (flags & SECP256K1_FLAGS_BIT_CONTEXT_SIGN) { + secp256k1_ecmult_gen_context_build(&ret->ecmult_gen_ctx, &ret->error_callback); + } + if (flags & SECP256K1_FLAGS_BIT_CONTEXT_VERIFY) { + secp256k1_ecmult_context_build(&ret->ecmult_ctx, &ret->error_callback); + } + + return ret; +} + +secp256k1_context* secp256k1_context_clone(const secp256k1_context* ctx) { + secp256k1_context* ret = (secp256k1_context*)checked_malloc(&ctx->error_callback, sizeof(secp256k1_context)); + ret->illegal_callback = ctx->illegal_callback; + ret->error_callback = ctx->error_callback; + secp256k1_ecmult_context_clone(&ret->ecmult_ctx, &ctx->ecmult_ctx, &ctx->error_callback); + secp256k1_ecmult_gen_context_clone(&ret->ecmult_gen_ctx, &ctx->ecmult_gen_ctx, &ctx->error_callback); + return ret; +} + +void secp256k1_context_destroy(secp256k1_context* ctx) { + if (ctx != NULL) { + secp256k1_ecmult_context_clear(&ctx->ecmult_ctx); + secp256k1_ecmult_gen_context_clear(&ctx->ecmult_gen_ctx); + + free(ctx); + } +} + +void secp256k1_context_set_illegal_callback(secp256k1_context* ctx, void (*fun)(const char* message, void* data), const void* data) { + if (fun == NULL) { + fun = default_illegal_callback_fn; + } + ctx->illegal_callback.fn = fun; + ctx->illegal_callback.data = data; +} + +void secp256k1_context_set_error_callback(secp256k1_context* ctx, void (*fun)(const char* message, void* data), const void* data) { + if (fun == NULL) { + fun = default_error_callback_fn; + } + ctx->error_callback.fn = fun; + ctx->error_callback.data = data; +} + +secp256k1_scratch_space* secp256k1_scratch_space_create(const secp256k1_context* ctx, size_t max_size) { + VERIFY_CHECK(ctx != NULL); + return secp256k1_scratch_create(&ctx->error_callback, max_size); +} + +void secp256k1_scratch_space_destroy(secp256k1_scratch_space* scratch) { + secp256k1_scratch_destroy(scratch); +} + +static int secp256k1_pubkey_load(const secp256k1_context* ctx, secp256k1_ge* ge, const secp256k1_pubkey* pubkey) { + if (sizeof(secp256k1_ge_storage) == 64) { + /* When the secp256k1_ge_storage type is exactly 64 byte, use its + * representation inside secp256k1_pubkey, as conversion is very fast. + * Note that secp256k1_pubkey_save must use the same representation. */ + secp256k1_ge_storage s; + memcpy(&s, &pubkey->data[0], sizeof(s)); + secp256k1_ge_from_storage(ge, &s); + } else { + /* Otherwise, fall back to 32-byte big endian for X and Y. */ + secp256k1_fe x, y; + secp256k1_fe_set_b32(&x, pubkey->data); + secp256k1_fe_set_b32(&y, pubkey->data + 32); + secp256k1_ge_set_xy(ge, &x, &y); + } + ARG_CHECK(!secp256k1_fe_is_zero(&ge->x)); + return 1; +} + +static void secp256k1_pubkey_save(secp256k1_pubkey* pubkey, secp256k1_ge* ge) { + if (sizeof(secp256k1_ge_storage) == 64) { + secp256k1_ge_storage s; + secp256k1_ge_to_storage(&s, ge); + memcpy(&pubkey->data[0], &s, sizeof(s)); + } else { + VERIFY_CHECK(!secp256k1_ge_is_infinity(ge)); + secp256k1_fe_normalize_var(&ge->x); + secp256k1_fe_normalize_var(&ge->y); + secp256k1_fe_get_b32(pubkey->data, &ge->x); + secp256k1_fe_get_b32(pubkey->data + 32, &ge->y); + } +} + +int secp256k1_ec_pubkey_parse(const secp256k1_context* ctx, secp256k1_pubkey* pubkey, const unsigned char *input, size_t inputlen) { + secp256k1_ge Q; + + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(pubkey != NULL); + memset(pubkey, 0, sizeof(*pubkey)); + ARG_CHECK(input != NULL); + if (!secp256k1_eckey_pubkey_parse(&Q, input, inputlen)) { + return 0; + } + secp256k1_pubkey_save(pubkey, &Q); + secp256k1_ge_clear(&Q); + return 1; +} + +int secp256k1_ec_pubkey_serialize(const secp256k1_context* ctx, unsigned char *output, size_t *outputlen, const secp256k1_pubkey* pubkey, unsigned int flags) { + secp256k1_ge Q; + size_t len; + int ret = 0; + + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(outputlen != NULL); + ARG_CHECK(*outputlen >= ((flags & SECP256K1_FLAGS_BIT_COMPRESSION) ? 33 : 65)); + len = *outputlen; + *outputlen = 0; + ARG_CHECK(output != NULL); + memset(output, 0, len); + ARG_CHECK(pubkey != NULL); + ARG_CHECK((flags & SECP256K1_FLAGS_TYPE_MASK) == SECP256K1_FLAGS_TYPE_COMPRESSION); + if (secp256k1_pubkey_load(ctx, &Q, pubkey)) { + ret = secp256k1_eckey_pubkey_serialize(&Q, output, &len, flags & SECP256K1_FLAGS_BIT_COMPRESSION); + if (ret) { + *outputlen = len; + } + } + return ret; +} + +static void secp256k1_ecdsa_signature_load(const secp256k1_context* ctx, secp256k1_scalar* r, secp256k1_scalar* s, const secp256k1_ecdsa_signature* sig) { + (void)ctx; + if (sizeof(secp256k1_scalar) == 32) { + /* When the secp256k1_scalar type is exactly 32 byte, use its + * representation inside secp256k1_ecdsa_signature, as conversion is very fast. + * Note that secp256k1_ecdsa_signature_save must use the same representation. */ + memcpy(r, &sig->data[0], 32); + memcpy(s, &sig->data[32], 32); + } else { + secp256k1_scalar_set_b32(r, &sig->data[0], NULL); + secp256k1_scalar_set_b32(s, &sig->data[32], NULL); + } +} + +static void secp256k1_ecdsa_signature_save(secp256k1_ecdsa_signature* sig, const secp256k1_scalar* r, const secp256k1_scalar* s) { + if (sizeof(secp256k1_scalar) == 32) { + memcpy(&sig->data[0], r, 32); + memcpy(&sig->data[32], s, 32); + } else { + secp256k1_scalar_get_b32(&sig->data[0], r); + secp256k1_scalar_get_b32(&sig->data[32], s); + } +} + +int secp256k1_ecdsa_signature_parse_der(const secp256k1_context* ctx, secp256k1_ecdsa_signature* sig, const unsigned char *input, size_t inputlen) { + secp256k1_scalar r, s; + + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(sig != NULL); + ARG_CHECK(input != NULL); + + if (secp256k1_ecdsa_sig_parse(&r, &s, input, inputlen)) { + secp256k1_ecdsa_signature_save(sig, &r, &s); + return 1; + } else { + memset(sig, 0, sizeof(*sig)); + return 0; + } +} + +int secp256k1_ecdsa_signature_parse_compact(const secp256k1_context* ctx, secp256k1_ecdsa_signature* sig, const unsigned char *input64) { + secp256k1_scalar r, s; + int ret = 1; + int overflow = 0; + + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(sig != NULL); + ARG_CHECK(input64 != NULL); + + secp256k1_scalar_set_b32(&r, &input64[0], &overflow); + ret &= !overflow; + secp256k1_scalar_set_b32(&s, &input64[32], &overflow); + ret &= !overflow; + if (ret) { + secp256k1_ecdsa_signature_save(sig, &r, &s); + } else { + memset(sig, 0, sizeof(*sig)); + } + return ret; +} + +int secp256k1_ecdsa_signature_serialize_der(const secp256k1_context* ctx, unsigned char *output, size_t *outputlen, const secp256k1_ecdsa_signature* sig) { + secp256k1_scalar r, s; + + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(output != NULL); + ARG_CHECK(outputlen != NULL); + ARG_CHECK(sig != NULL); + + secp256k1_ecdsa_signature_load(ctx, &r, &s, sig); + return secp256k1_ecdsa_sig_serialize(output, outputlen, &r, &s); +} + +int secp256k1_ecdsa_signature_serialize_compact(const secp256k1_context* ctx, unsigned char *output64, const secp256k1_ecdsa_signature* sig) { + secp256k1_scalar r, s; + + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(output64 != NULL); + ARG_CHECK(sig != NULL); + + secp256k1_ecdsa_signature_load(ctx, &r, &s, sig); + secp256k1_scalar_get_b32(&output64[0], &r); + secp256k1_scalar_get_b32(&output64[32], &s); + return 1; +} + +int secp256k1_ecdsa_signature_normalize(const secp256k1_context* ctx, secp256k1_ecdsa_signature *sigout, const secp256k1_ecdsa_signature *sigin) { + secp256k1_scalar r, s; + int ret = 0; + + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(sigin != NULL); + + secp256k1_ecdsa_signature_load(ctx, &r, &s, sigin); + ret = secp256k1_scalar_is_high(&s); + if (sigout != NULL) { + if (ret) { + secp256k1_scalar_negate(&s, &s); + } + secp256k1_ecdsa_signature_save(sigout, &r, &s); + } + + return ret; +} + +int secp256k1_ecdsa_verify(const secp256k1_context* ctx, const secp256k1_ecdsa_signature *sig, const unsigned char *msg32, const secp256k1_pubkey *pubkey) { + secp256k1_ge q; + secp256k1_scalar r, s; + secp256k1_scalar m; + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(secp256k1_ecmult_context_is_built(&ctx->ecmult_ctx)); + ARG_CHECK(msg32 != NULL); + ARG_CHECK(sig != NULL); + ARG_CHECK(pubkey != NULL); + + secp256k1_scalar_set_b32(&m, msg32, NULL); + secp256k1_ecdsa_signature_load(ctx, &r, &s, sig); + return (!secp256k1_scalar_is_high(&s) && + secp256k1_pubkey_load(ctx, &q, pubkey) && + secp256k1_ecdsa_sig_verify(&ctx->ecmult_ctx, &r, &s, &q, &m)); +} + +static SECP256K1_INLINE void buffer_append(unsigned char *buf, unsigned int *offset, const void *data, unsigned int len) { + memcpy(buf + *offset, data, len); + *offset += len; +} + +static int nonce_function_rfc6979(unsigned char *nonce32, const unsigned char *msg32, const unsigned char *key32, const unsigned char *algo16, void *data, unsigned int counter) { + unsigned char keydata[112]; + unsigned int offset = 0; + secp256k1_rfc6979_hmac_sha256 rng; + unsigned int i; + /* We feed a byte array to the PRNG as input, consisting of: + * - the private key (32 bytes) and message (32 bytes), see RFC 6979 3.2d. + * - optionally 32 extra bytes of data, see RFC 6979 3.6 Additional Data. + * - optionally 16 extra bytes with the algorithm name. + * Because the arguments have distinct fixed lengths it is not possible for + * different argument mixtures to emulate each other and result in the same + * nonces. + */ + buffer_append(keydata, &offset, key32, 32); + buffer_append(keydata, &offset, msg32, 32); + if (data != NULL) { + buffer_append(keydata, &offset, data, 32); + } + if (algo16 != NULL) { + buffer_append(keydata, &offset, algo16, 16); + } + secp256k1_rfc6979_hmac_sha256_initialize(&rng, keydata, offset); + memset(keydata, 0, sizeof(keydata)); + for (i = 0; i <= counter; i++) { + secp256k1_rfc6979_hmac_sha256_generate(&rng, nonce32, 32); + } + secp256k1_rfc6979_hmac_sha256_finalize(&rng); + return 1; +} + +const secp256k1_nonce_function secp256k1_nonce_function_rfc6979 = nonce_function_rfc6979; +const secp256k1_nonce_function secp256k1_nonce_function_default = nonce_function_rfc6979; + +int secp256k1_ecdsa_sign(const secp256k1_context* ctx, secp256k1_ecdsa_signature *signature, const unsigned char *msg32, const unsigned char *seckey, secp256k1_nonce_function noncefp, const void* noncedata) { + secp256k1_scalar r, s; + secp256k1_scalar sec, non, msg; + int ret = 0; + int overflow = 0; + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(secp256k1_ecmult_gen_context_is_built(&ctx->ecmult_gen_ctx)); + ARG_CHECK(msg32 != NULL); + ARG_CHECK(signature != NULL); + ARG_CHECK(seckey != NULL); + if (noncefp == NULL) { + noncefp = secp256k1_nonce_function_default; + } + + secp256k1_scalar_set_b32(&sec, seckey, &overflow); + /* Fail if the secret key is invalid. */ + if (!overflow && !secp256k1_scalar_is_zero(&sec)) { + unsigned char nonce32[32]; + unsigned int count = 0; + secp256k1_scalar_set_b32(&msg, msg32, NULL); + while (1) { + ret = noncefp(nonce32, msg32, seckey, NULL, (void*)noncedata, count); + if (!ret) { + break; + } + secp256k1_scalar_set_b32(&non, nonce32, &overflow); + if (!overflow && !secp256k1_scalar_is_zero(&non)) { + if (secp256k1_ecdsa_sig_sign(&ctx->ecmult_gen_ctx, &r, &s, &sec, &msg, &non, NULL)) { + break; + } + } + count++; + } + memset(nonce32, 0, 32); + secp256k1_scalar_clear(&msg); + secp256k1_scalar_clear(&non); + secp256k1_scalar_clear(&sec); + } + if (ret) { + secp256k1_ecdsa_signature_save(signature, &r, &s); + } else { + memset(signature, 0, sizeof(*signature)); + } + return ret; +} + +int secp256k1_ec_seckey_verify(const secp256k1_context* ctx, const unsigned char *seckey) { + secp256k1_scalar sec; + int ret; + int overflow; + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(seckey != NULL); + + secp256k1_scalar_set_b32(&sec, seckey, &overflow); + ret = !overflow && !secp256k1_scalar_is_zero(&sec); + secp256k1_scalar_clear(&sec); + return ret; +} + +int secp256k1_ec_pubkey_create(const secp256k1_context* ctx, secp256k1_pubkey *pubkey, const unsigned char *seckey) { + secp256k1_gej pj; + secp256k1_ge p; + secp256k1_scalar sec; + int overflow; + int ret = 0; + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(pubkey != NULL); + memset(pubkey, 0, sizeof(*pubkey)); + ARG_CHECK(secp256k1_ecmult_gen_context_is_built(&ctx->ecmult_gen_ctx)); + ARG_CHECK(seckey != NULL); + + secp256k1_scalar_set_b32(&sec, seckey, &overflow); + ret = (!overflow) & (!secp256k1_scalar_is_zero(&sec)); + if (ret) { + secp256k1_ecmult_gen(&ctx->ecmult_gen_ctx, &pj, &sec); + secp256k1_ge_set_gej(&p, &pj); + secp256k1_pubkey_save(pubkey, &p); + } + secp256k1_scalar_clear(&sec); + return ret; +} + +int secp256k1_ec_privkey_negate(const secp256k1_context* ctx, unsigned char *seckey) { + secp256k1_scalar sec; + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(seckey != NULL); + + secp256k1_scalar_set_b32(&sec, seckey, NULL); + secp256k1_scalar_negate(&sec, &sec); + secp256k1_scalar_get_b32(seckey, &sec); + + return 1; +} + +int secp256k1_ec_pubkey_negate(const secp256k1_context* ctx, secp256k1_pubkey *pubkey) { + int ret = 0; + secp256k1_ge p; + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(pubkey != NULL); + + ret = secp256k1_pubkey_load(ctx, &p, pubkey); + memset(pubkey, 0, sizeof(*pubkey)); + if (ret) { + secp256k1_ge_neg(&p, &p); + secp256k1_pubkey_save(pubkey, &p); + } + return ret; +} + +int secp256k1_ec_privkey_tweak_add(const secp256k1_context* ctx, unsigned char *seckey, const unsigned char *tweak) { + secp256k1_scalar term; + secp256k1_scalar sec; + int ret = 0; + int overflow = 0; + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(seckey != NULL); + ARG_CHECK(tweak != NULL); + + secp256k1_scalar_set_b32(&term, tweak, &overflow); + secp256k1_scalar_set_b32(&sec, seckey, NULL); + + ret = !overflow && secp256k1_eckey_privkey_tweak_add(&sec, &term); + memset(seckey, 0, 32); + if (ret) { + secp256k1_scalar_get_b32(seckey, &sec); + } + + secp256k1_scalar_clear(&sec); + secp256k1_scalar_clear(&term); + return ret; +} + +int secp256k1_ec_pubkey_tweak_add(const secp256k1_context* ctx, secp256k1_pubkey *pubkey, const unsigned char *tweak) { + secp256k1_ge p; + secp256k1_scalar term; + int ret = 0; + int overflow = 0; + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(secp256k1_ecmult_context_is_built(&ctx->ecmult_ctx)); + ARG_CHECK(pubkey != NULL); + ARG_CHECK(tweak != NULL); + + secp256k1_scalar_set_b32(&term, tweak, &overflow); + ret = !overflow && secp256k1_pubkey_load(ctx, &p, pubkey); + memset(pubkey, 0, sizeof(*pubkey)); + if (ret) { + if (secp256k1_eckey_pubkey_tweak_add(&ctx->ecmult_ctx, &p, &term)) { + secp256k1_pubkey_save(pubkey, &p); + } else { + ret = 0; + } + } + + return ret; +} + +int secp256k1_ec_privkey_tweak_mul(const secp256k1_context* ctx, unsigned char *seckey, const unsigned char *tweak) { + secp256k1_scalar factor; + secp256k1_scalar sec; + int ret = 0; + int overflow = 0; + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(seckey != NULL); + ARG_CHECK(tweak != NULL); + + secp256k1_scalar_set_b32(&factor, tweak, &overflow); + secp256k1_scalar_set_b32(&sec, seckey, NULL); + ret = !overflow && secp256k1_eckey_privkey_tweak_mul(&sec, &factor); + memset(seckey, 0, 32); + if (ret) { + secp256k1_scalar_get_b32(seckey, &sec); + } + + secp256k1_scalar_clear(&sec); + secp256k1_scalar_clear(&factor); + return ret; +} + +int secp256k1_ec_pubkey_tweak_mul(const secp256k1_context* ctx, secp256k1_pubkey *pubkey, const unsigned char *tweak) { + secp256k1_ge p; + secp256k1_scalar factor; + int ret = 0; + int overflow = 0; + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(secp256k1_ecmult_context_is_built(&ctx->ecmult_ctx)); + ARG_CHECK(pubkey != NULL); + ARG_CHECK(tweak != NULL); + + secp256k1_scalar_set_b32(&factor, tweak, &overflow); + ret = !overflow && secp256k1_pubkey_load(ctx, &p, pubkey); + memset(pubkey, 0, sizeof(*pubkey)); + if (ret) { + if (secp256k1_eckey_pubkey_tweak_mul(&ctx->ecmult_ctx, &p, &factor)) { + secp256k1_pubkey_save(pubkey, &p); + } else { + ret = 0; + } + } + + return ret; +} + +int secp256k1_context_randomize(secp256k1_context* ctx, const unsigned char *seed32) { + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(secp256k1_ecmult_gen_context_is_built(&ctx->ecmult_gen_ctx)); + secp256k1_ecmult_gen_blind(&ctx->ecmult_gen_ctx, seed32); + return 1; +} + +int secp256k1_ec_pubkey_combine(const secp256k1_context* ctx, secp256k1_pubkey *pubnonce, const secp256k1_pubkey * const *pubnonces, size_t n) { + size_t i; + secp256k1_gej Qj; + secp256k1_ge Q; + + ARG_CHECK(pubnonce != NULL); + memset(pubnonce, 0, sizeof(*pubnonce)); + ARG_CHECK(n >= 1); + ARG_CHECK(pubnonces != NULL); + + secp256k1_gej_set_infinity(&Qj); + + for (i = 0; i < n; i++) { + secp256k1_pubkey_load(ctx, &Q, pubnonces[i]); + secp256k1_gej_add_ge(&Qj, &Qj, &Q); + } + if (secp256k1_gej_is_infinity(&Qj)) { + return 0; + } + secp256k1_ge_set_gej(&Q, &Qj); + secp256k1_pubkey_save(pubnonce, &Q); + return 1; +} + +#ifdef ENABLE_MODULE_ECDH +# include "modules/ecdh/main_impl.h" +#endif + +#ifdef ENABLE_MODULE_RECOVERY +# include "modules/recovery/main_impl.h" +#endif diff --git a/Pods/secp256k1_swift/Classes/secp256k1/src/util.h b/Pods/secp256k1_swift/Classes/secp256k1/src/util.h new file mode 100644 index 000000000..e0147500f --- /dev/null +++ b/Pods/secp256k1_swift/Classes/secp256k1/src/util.h @@ -0,0 +1,121 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef SECP256K1_UTIL_H +#define SECP256K1_UTIL_H + +#if defined HAVE_CONFIG_H +#include "libsecp256k1-config.h" +#endif + +#include +#include +#include + +typedef struct { + void (*fn)(const char *text, void* data); + const void* data; +} secp256k1_callback; + +static SECP256K1_INLINE void secp256k1_callback_call(const secp256k1_callback * const cb, const char * const text) { + cb->fn(text, (void*)cb->data); +} + +#ifdef DETERMINISTIC +#define TEST_FAILURE(msg) do { \ + fprintf(stderr, "%s\n", msg); \ + abort(); \ +} while(0); +#else +#define TEST_FAILURE(msg) do { \ + fprintf(stderr, "%s:%d: %s\n", __FILE__, __LINE__, msg); \ + abort(); \ +} while(0) +#endif + +#ifdef HAVE_BUILTIN_EXPECT +#define EXPECT(x,c) __builtin_expect((x),(c)) +#else +#define EXPECT(x,c) (x) +#endif + +#ifdef DETERMINISTIC +#define CHECK(cond) do { \ + if (EXPECT(!(cond), 0)) { \ + TEST_FAILURE("test condition failed"); \ + } \ +} while(0) +#else +#define CHECK(cond) do { \ + if (EXPECT(!(cond), 0)) { \ + TEST_FAILURE("test condition failed: " #cond); \ + } \ +} while(0) +#endif + +/* Like assert(), but when VERIFY is defined, and side-effect safe. */ +#if defined(COVERAGE) +#define VERIFY_CHECK(check) +#define VERIFY_SETUP(stmt) +#elif defined(VERIFY) +#define VERIFY_CHECK CHECK +#define VERIFY_SETUP(stmt) do { stmt; } while(0) +#else +#define VERIFY_CHECK(cond) do { (void)(cond); } while(0) +#define VERIFY_SETUP(stmt) +#endif + +static SECP256K1_INLINE void *checked_malloc(const secp256k1_callback* cb, size_t size) { + void *ret = malloc(size); + if (ret == NULL) { + secp256k1_callback_call(cb, "Out of memory"); + } + return ret; +} + +static SECP256K1_INLINE void *checked_realloc(const secp256k1_callback* cb, void *ptr, size_t size) { + void *ret = realloc(ptr, size); + if (ret == NULL) { + secp256k1_callback_call(cb, "Out of memory"); + } + return ret; +} + +/* Macro for restrict, when available and not in a VERIFY build. */ +#if defined(SECP256K1_BUILD) && defined(VERIFY) +# define SECP256K1_RESTRICT +#else +# if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) ) +# if SECP256K1_GNUC_PREREQ(3,0) +# define SECP256K1_RESTRICT __restrict__ +# elif (defined(_MSC_VER) && _MSC_VER >= 1400) +# define SECP256K1_RESTRICT __restrict +# else +# define SECP256K1_RESTRICT +# endif +# else +# define SECP256K1_RESTRICT restrict +# endif +#endif + +#if defined(_WIN32) +# define I64FORMAT "I64d" +# define I64uFORMAT "I64u" +#else +# define I64FORMAT "lld" +# define I64uFORMAT "llu" +#endif + +#if defined(HAVE___INT128) +# if defined(__GNUC__) +# define SECP256K1_GNUC_EXT __extension__ +# else +# define SECP256K1_GNUC_EXT +# endif +SECP256K1_GNUC_EXT typedef unsigned __int128 uint128_t; +#endif + +#endif /* SECP256K1_UTIL_H */ From 425086a8e67301b27205484f9eb91c2eac47110b Mon Sep 17 00:00:00 2001 From: Alex Vlasov Date: Thu, 4 Oct 2018 16:54:57 +0300 Subject: [PATCH 65/66] fix tests, move RLP and secp256k1 tests to modules --- Podfile | 2 +- web3swift.podspec | 2 +- web3swift.xcodeproj/project.pbxproj | 4 - .../web3swift_AdvancedABIv2_Tests.swift | 1 - web3swiftTests/web3swift_EIP67_Tests.swift | 2 - .../web3swift_ERC20_Class_Tests.swift | 1 - .../web3swift_SECP256K1_Tests.swift | 117 ------------------ web3swiftTests/web3swift_Tests.swift | 3 +- .../web3swift_contractV2_Tests.swift | 1 - .../web3swift_local_node_Tests.swift | 1 - ...web3swift_numberFormattingUtil_Tests.swift | 1 - .../web3swift_remoteParsing_Tests.swift | 1 - ...wift_rinkeby_personalSignature_Tests.swift | 2 +- .../web3swift_transactions_Tests.swift | 1 - 14 files changed, 4 insertions(+), 135 deletions(-) delete mode 100755 web3swiftTests/web3swift_SECP256K1_Tests.swift diff --git a/Podfile b/Podfile index 97391059e..6da71e34f 100755 --- a/Podfile +++ b/Podfile @@ -4,7 +4,7 @@ def import_pods pod 'BigInt', '~> 3.1' pod 'CryptoSwift', '~> 0.12' pod 'Result', '~> 4.0' - pod 'secp256k1_swift', '~> 1.0.2', :modular_headers => true + pod 'secp256k1_swift', '~> 1.0.3', :modular_headers => true pod 'SwiftRLP', '~> 1.0.1' end diff --git a/web3swift.podspec b/web3swift.podspec index b81e9a6ca..34648a2a1 100755 --- a/web3swift.podspec +++ b/web3swift.podspec @@ -27,6 +27,6 @@ s.dependency 'Result', '~> 4.0' s.dependency 'CryptoSwift', '~> 0.11' s.dependency 'PromiseKit', '~> 6.3' s.dependency 'scrypt', '~> 2.0' -s.dependency 'secp256k1_swift', '~> 1.0.2' +s.dependency 'secp256k1_swift', '~> 1.0.3' s.dependency 'SwiftRLP', '~> 1.0.1' end diff --git a/web3swift.xcodeproj/project.pbxproj b/web3swift.xcodeproj/project.pbxproj index 5ee13d4ca..efef69d14 100755 --- a/web3swift.xcodeproj/project.pbxproj +++ b/web3swift.xcodeproj/project.pbxproj @@ -205,7 +205,6 @@ B350A445E5DB35C60E59AD70 /* libPods-web3swift-macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 57F8C9C48884592DCF561393 /* libPods-web3swift-macOS.a */; }; E23B5ADB20EA67D800DC7F32 /* web3swift_AdvancedABIv2_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E23B5ADA20EA67D800DC7F32 /* web3swift_AdvancedABIv2_Tests.swift */; }; E23B5ADD20EA685D00DC7F32 /* web3swift_EIP67_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E23B5ADC20EA685D00DC7F32 /* web3swift_EIP67_Tests.swift */; }; - E23B5ADF20EA68FA00DC7F32 /* web3swift_SECP256K1_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E23B5ADE20EA68F900DC7F32 /* web3swift_SECP256K1_Tests.swift */; }; E23B5AE120EA695400DC7F32 /* web3swift_rinkeby_personalSignature_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E23B5AE020EA695400DC7F32 /* web3swift_rinkeby_personalSignature_Tests.swift */; }; E23B5AE320EA69B900DC7F32 /* web3swift_numberFormattingUtil_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E23B5AE220EA69B900DC7F32 /* web3swift_numberFormattingUtil_Tests.swift */; }; E23B5AE520EA6A0A00DC7F32 /* web3swift_contractV2_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E23B5AE420EA6A0A00DC7F32 /* web3swift_contractV2_Tests.swift */; }; @@ -373,7 +372,6 @@ CDCB852B5E2E84636B80BB99 /* Pods-web3swift-iOS_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-web3swift-iOS_Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-web3swift-iOS_Tests/Pods-web3swift-iOS_Tests.release.xcconfig"; sourceTree = ""; }; E23B5ADA20EA67D800DC7F32 /* web3swift_AdvancedABIv2_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = web3swift_AdvancedABIv2_Tests.swift; sourceTree = ""; }; E23B5ADC20EA685D00DC7F32 /* web3swift_EIP67_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = web3swift_EIP67_Tests.swift; sourceTree = ""; }; - E23B5ADE20EA68F900DC7F32 /* web3swift_SECP256K1_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = web3swift_SECP256K1_Tests.swift; sourceTree = ""; }; E23B5AE020EA695400DC7F32 /* web3swift_rinkeby_personalSignature_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = web3swift_rinkeby_personalSignature_Tests.swift; sourceTree = ""; }; E23B5AE220EA69B900DC7F32 /* web3swift_numberFormattingUtil_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = web3swift_numberFormattingUtil_Tests.swift; sourceTree = ""; }; E23B5AE420EA6A0A00DC7F32 /* web3swift_contractV2_Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = web3swift_contractV2_Tests.swift; sourceTree = ""; }; @@ -508,7 +506,6 @@ 1CD91B331FD769A6007BFB45 /* Info.plist */, E23B5ADA20EA67D800DC7F32 /* web3swift_AdvancedABIv2_Tests.swift */, E23B5ADC20EA685D00DC7F32 /* web3swift_EIP67_Tests.swift */, - E23B5ADE20EA68F900DC7F32 /* web3swift_SECP256K1_Tests.swift */, E23B5AE020EA695400DC7F32 /* web3swift_rinkeby_personalSignature_Tests.swift */, E23B5AE220EA69B900DC7F32 /* web3swift_numberFormattingUtil_Tests.swift */, E23B5AE420EA6A0A00DC7F32 /* web3swift_contractV2_Tests.swift */, @@ -1225,7 +1222,6 @@ 00E5FE8220EA3FF40030E0D6 /* web3swift_infura_Tests.swift in Sources */, 1CD91B321FD769A6007BFB45 /* web3swift_Tests.swift in Sources */, 81A7B2792143C978004CD2C7 /* web3swift_ENS_Tests.swift in Sources */, - E23B5ADF20EA68FA00DC7F32 /* web3swift_SECP256K1_Tests.swift in Sources */, 00E5FE7E20EA3A3F0030E0D6 /* web3swift_ABI_Tests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/web3swiftTests/web3swift_AdvancedABIv2_Tests.swift b/web3swiftTests/web3swift_AdvancedABIv2_Tests.swift index e3074411a..6234bfd3e 100755 --- a/web3swiftTests/web3swift_AdvancedABIv2_Tests.swift +++ b/web3swiftTests/web3swift_AdvancedABIv2_Tests.swift @@ -10,7 +10,6 @@ import XCTest import CryptoSwift import BigInt import Result -import secp256k1_ios @testable import web3swift_iOS diff --git a/web3swiftTests/web3swift_EIP67_Tests.swift b/web3swiftTests/web3swift_EIP67_Tests.swift index 757a49964..69471c890 100755 --- a/web3swiftTests/web3swift_EIP67_Tests.swift +++ b/web3swiftTests/web3swift_EIP67_Tests.swift @@ -10,8 +10,6 @@ import XCTest import CryptoSwift import BigInt import Result -import secp256k1_ios - @testable import web3swift_iOS diff --git a/web3swiftTests/web3swift_ERC20_Class_Tests.swift b/web3swiftTests/web3swift_ERC20_Class_Tests.swift index 3857f73e7..ea66260a6 100644 --- a/web3swiftTests/web3swift_ERC20_Class_Tests.swift +++ b/web3swiftTests/web3swift_ERC20_Class_Tests.swift @@ -9,7 +9,6 @@ import XCTest import BigInt import Result -import secp256k1_ios @testable import web3swift_iOS diff --git a/web3swiftTests/web3swift_SECP256K1_Tests.swift b/web3swiftTests/web3swift_SECP256K1_Tests.swift deleted file mode 100755 index 24d09d63b..000000000 --- a/web3swiftTests/web3swift_SECP256K1_Tests.swift +++ /dev/null @@ -1,117 +0,0 @@ -// -// web3swift_SECP256K1_Tests.swift -// web3swift-iOS_Tests -// -// Created by Anton Grigoriev on 02.07.2018. -// Copyright © 2018 Bankex Foundation. All rights reserved. -// - -import XCTest - -import XCTest -import CryptoSwift -import BigInt -import Result -import secp256k1_ios - - -@testable import web3swift_iOS - -class web3swift_SECP256K1_Tests: XCTestCase { - - func testNonDeterministicSignature() { - var unsuccesfulNondeterministic = 0; - var allAttempts = 0 - for _ in 0 ..< 10000 { - let randomHash = Data.randomBytes(length: 32)! - let randomPrivateKey = Data.randomBytes(length: 32)! - guard SECP256K1.verifyPrivateKey(privateKey: randomPrivateKey) else {continue} - allAttempts = allAttempts + 1 - let signature = SECP256K1.signForRecovery(hash: randomHash, privateKey: randomPrivateKey, useExtraEntropy: true) - guard let serialized = signature.serializedSignature else { - unsuccesfulNondeterministic = unsuccesfulNondeterministic + 1 - continue - } - guard let recovered = SECP256K1.recoverPublicKey(hash: randomHash, signature: serialized, compressed: true) else { - unsuccesfulNondeterministic = unsuccesfulNondeterministic + 1 - continue - } - guard let original = SECP256K1.privateToPublic(privateKey: randomPrivateKey, compressed: true) else { - unsuccesfulNondeterministic = unsuccesfulNondeterministic + 1 - continue - } - guard recovered == original else { - unsuccesfulNondeterministic = unsuccesfulNondeterministic + 1 - continue - } - } - print("Problems with \(unsuccesfulNondeterministic) non-deterministic signatures out from \(allAttempts)") - XCTAssert(unsuccesfulNondeterministic == 0) - } - - func testDeterministicSignature() { - var unsuccesfulDeterministic = 0; - var allAttempts = 0 - for _ in 0 ..< 10000 { - let randomHash = Data.randomBytes(length: 32)! - let randomPrivateKey = Data.randomBytes(length: 32)! - guard SECP256K1.verifyPrivateKey(privateKey: randomPrivateKey) else {continue} - allAttempts = allAttempts + 1 - let signature = SECP256K1.signForRecovery(hash: randomHash, privateKey: randomPrivateKey, useExtraEntropy: false) - guard let serialized = signature.serializedSignature else { - unsuccesfulDeterministic = unsuccesfulDeterministic + 1 - continue - } - guard let recovered = SECP256K1.recoverPublicKey(hash: randomHash, signature: serialized, compressed: true) else { - unsuccesfulDeterministic = unsuccesfulDeterministic + 1 - continue - } - guard let original = SECP256K1.privateToPublic(privateKey: randomPrivateKey, compressed: true) else { - unsuccesfulDeterministic = unsuccesfulDeterministic + 1 - continue - } - guard recovered == original else { - unsuccesfulDeterministic = unsuccesfulDeterministic + 1 - continue - } - - } - print("Problems with \(unsuccesfulDeterministic) deterministic signatures out from \(allAttempts)") - XCTAssert(unsuccesfulDeterministic == 0) - } - - func testPrivateToPublic() { - let randomPrivateKey = Data.randomBytes(length: 32)! - guard SECP256K1.verifyPrivateKey(privateKey: randomPrivateKey) else {return XCTFail()} - guard var previousPublic = SECP256K1.privateKeyToPublicKey(privateKey: randomPrivateKey) else {return XCTFail()} - for _ in 0 ..< 100000 { - guard let pub = SECP256K1.privateKeyToPublicKey(privateKey: randomPrivateKey) else {return XCTFail()} - guard Data(toByteArray(previousPublic.data)) == Data(toByteArray(pub.data)) else { - return XCTFail() - } - previousPublic = pub - } - } - - func testSerializationAndParsing() { - for _ in 0 ..< 1024 { - let randomHash = Data.randomBytes(length: 32)! - let randomPrivateKey = Data.randomBytes(length: 32)! - guard SECP256K1.verifyPrivateKey(privateKey: randomPrivateKey) else {continue} - guard var signature = SECP256K1.recoverableSign(hash: randomHash, privateKey: randomPrivateKey, useExtraEntropy: true) else {return XCTFail()} - guard let serialized = SECP256K1.serializeSignature(recoverableSignature: &signature) else {return XCTFail()} - guard let parsed = SECP256K1.parseSignature(signature: serialized) else {return XCTFail()} - let sigData = Data(toByteArray(signature.data)) - let parsedData = Data(toByteArray(parsed.data)) - guard sigData == parsedData else { - for i in 0 ..< sigData.count { - if sigData[i] != parsedData[i] { - print(i) - } - } - return XCTFail() - } - } - } - -} diff --git a/web3swiftTests/web3swift_Tests.swift b/web3swiftTests/web3swift_Tests.swift index 745cfdba1..e6fbfedb8 100755 --- a/web3swiftTests/web3swift_Tests.swift +++ b/web3swiftTests/web3swift_Tests.swift @@ -11,8 +11,7 @@ import XCTest import CryptoSwift import BigInt import Result -import secp256k1_ios - +import secp256k1_swift @testable import web3swift_iOS diff --git a/web3swiftTests/web3swift_contractV2_Tests.swift b/web3swiftTests/web3swift_contractV2_Tests.swift index e6e465bb3..495aa1c3c 100755 --- a/web3swiftTests/web3swift_contractV2_Tests.swift +++ b/web3swiftTests/web3swift_contractV2_Tests.swift @@ -10,7 +10,6 @@ import XCTest import CryptoSwift import BigInt import Result -import secp256k1_ios @testable import web3swift_iOS diff --git a/web3swiftTests/web3swift_local_node_Tests.swift b/web3swiftTests/web3swift_local_node_Tests.swift index 99dcc11d4..e842f33f5 100755 --- a/web3swiftTests/web3swift_local_node_Tests.swift +++ b/web3swiftTests/web3swift_local_node_Tests.swift @@ -11,7 +11,6 @@ import XCTest import CryptoSwift import BigInt import Result -import secp256k1_ios @testable import web3swift_iOS diff --git a/web3swiftTests/web3swift_numberFormattingUtil_Tests.swift b/web3swiftTests/web3swift_numberFormattingUtil_Tests.swift index 896b0ae25..11043259f 100755 --- a/web3swiftTests/web3swift_numberFormattingUtil_Tests.swift +++ b/web3swiftTests/web3swift_numberFormattingUtil_Tests.swift @@ -10,7 +10,6 @@ import XCTest import CryptoSwift import BigInt import Result -import secp256k1_ios @testable import web3swift_iOS diff --git a/web3swiftTests/web3swift_remoteParsing_Tests.swift b/web3swiftTests/web3swift_remoteParsing_Tests.swift index 111b85a80..8c7cfe92c 100755 --- a/web3swiftTests/web3swift_remoteParsing_Tests.swift +++ b/web3swiftTests/web3swift_remoteParsing_Tests.swift @@ -12,7 +12,6 @@ import XCTest import CryptoSwift import BigInt import Result -import secp256k1_ios @testable import web3swift_iOS diff --git a/web3swiftTests/web3swift_rinkeby_personalSignature_Tests.swift b/web3swiftTests/web3swift_rinkeby_personalSignature_Tests.swift index 3017fa027..d0a659c22 100755 --- a/web3swiftTests/web3swift_rinkeby_personalSignature_Tests.swift +++ b/web3swiftTests/web3swift_rinkeby_personalSignature_Tests.swift @@ -10,7 +10,7 @@ import XCTest import CryptoSwift import BigInt import Result -import secp256k1_ios +import secp256k1_swift @testable import web3swift_iOS diff --git a/web3swiftTests/web3swift_transactions_Tests.swift b/web3swiftTests/web3swift_transactions_Tests.swift index 30b5d362e..6a0ef9847 100755 --- a/web3swiftTests/web3swift_transactions_Tests.swift +++ b/web3swiftTests/web3swift_transactions_Tests.swift @@ -10,7 +10,6 @@ import XCTest import CryptoSwift import BigInt import Result -import secp256k1_ios @testable import web3swift_iOS From 97dfecea73e5044be3de9a250d171d3d8a4fe0c9 Mon Sep 17 00:00:00 2001 From: Alex Vlasov Date: Thu, 4 Oct 2018 17:10:33 +0300 Subject: [PATCH 66/66] fix fallback to scientific in formatting --- web3swift/Web3/Classes/Web3+Utils.swift | 18 +++++++++++++++--- .../web3swift_numberFormattingUtil_Tests.swift | 12 ++++++++++++ 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/web3swift/Web3/Classes/Web3+Utils.swift b/web3swift/Web3/Classes/Web3+Utils.swift index 95ddb01d8..165e678b3 100755 --- a/web3swift/Web3/Classes/Web3+Utils.swift +++ b/web3swift/Web3/Classes/Web3+Utils.swift @@ -675,8 +675,8 @@ extension Web3.Utils { return formatToPrecision(bigNumber, numberDecimals: toUnits.decimals, formattingDecimals: decimals, decimalSeparator: decimalSeparator, fallbackToScientific: fallbackToScientific); } - /// Formats a BigUInt object to String. The supplied number is first divided into integer and decimal part based on "toUnits", - /// then limit the decimal part to "decimals" symbols and uses a "decimalSeparator" as a separator. + /// Formats a BigUInt object to String. The supplied number is first divided into integer and decimal part based on "numberDecimals", + /// then limits the decimal part to "formattingDecimals" symbols and uses a "decimalSeparator" as a separator. /// Fallbacks to scientific format if higher precision is required. /// /// Returns nil of formatting is not possible to satisfy. @@ -691,7 +691,7 @@ extension Web3.Utils { } let divisor = BigUInt(10).power(unitDecimals) let (quotient, remainder) = bigNumber.quotientAndRemainder(dividingBy: divisor) - let fullRemainder = String(remainder); + var fullRemainder = String(remainder); let fullPaddedRemainder = fullRemainder.leftPadding(toLength: unitDecimals, withPad: "0") let remainderPadded = fullPaddedRemainder[0.. formattingDecimals { + let end = firstDigit+1+formattingDecimals > fullPaddedRemainder.count ? fullPaddedRemainder.count : firstDigit+1+formattingDecimals + remainingDigits = String(fullPaddedRemainder[firstDigit+1 ..< end]) + } else { + remainingDigits = String(fullPaddedRemainder[firstDigit+1 ..< fullPaddedRemainder.count]) + } + fullRemainder = firstDecimalUnit + decimalSeparator + remainingDigits firstDigit = firstDigit + 1; break } diff --git a/web3swiftTests/web3swift_numberFormattingUtil_Tests.swift b/web3swiftTests/web3swift_numberFormattingUtil_Tests.swift index 11043259f..5e981e17d 100755 --- a/web3swiftTests/web3swift_numberFormattingUtil_Tests.swift +++ b/web3swiftTests/web3swift_numberFormattingUtil_Tests.swift @@ -57,4 +57,16 @@ class web3swift_numberFormattingUtil_Tests: XCTestCase { XCTAssert(formatted == "-1,1000") } + func testNumberFormattingUtil8() { + let balance = BigInt("100")! + let formatted = Web3.Utils.formatToPrecision(balance, numberDecimals: 18, formattingDecimals: 4, decimalSeparator: ",", fallbackToScientific: true) + XCTAssert(formatted == "1,00e-16") + } + + func testNumberFormattingUtil9() { + let balance = BigInt("1000000")! + let formatted = Web3.Utils.formatToPrecision(balance, numberDecimals: 18, formattingDecimals: 4, decimalSeparator: ",", fallbackToScientific: true) + XCTAssert(formatted == "1,0000e-12") + } + }