diff --git a/.gitignore b/.gitignore
index 28b294117..b84f1231c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,5 +41,9 @@ Modules/litewallet-partner-api-ios
litewallet-partner-api-ios
/partner-keys.plist
partner-keys.plist
+<<<<<<< HEAD
GoogleService-Info.plist
*.gpx
+=======
+GoogleService-Info.plist
+>>>>>>> main
diff --git a/litewallet/AlertFailureView.swift b/litewallet/AlertFailureView.swift
new file mode 100644
index 000000000..6e55c10cf
--- /dev/null
+++ b/litewallet/AlertFailureView.swift
@@ -0,0 +1,51 @@
+import SwiftUI
+
+struct AlertFailureView: View {
+ let alertFailureType: AlertFailureType
+
+ let errorMessage: String
+
+ init(alertFailureType: AlertFailureType, errorMessage: String) {
+ self.alertFailureType = alertFailureType
+ self.errorMessage = errorMessage
+ }
+
+ var body: some View {
+ VStack {
+ Text(alertFailureType.header)
+ .foregroundColor(.white)
+ .font(Font(UIFont.barlowBold(size: 18.0)))
+ .padding()
+
+ Divider()
+ .frame(maxHeight: 1.0)
+ .background(Color(UIColor.transparentWhite))
+
+ Image(systemName: "nosign")
+ .resizable()
+ .aspectRatio(contentMode: .fit)
+ .frame(width: 40,
+ height: 40,
+ alignment: /*@START_MENU_TOKEN@*/ .center/*@END_MENU_TOKEN@*/)
+ .foregroundColor(.white)
+ .padding()
+
+ Text(self.errorMessage.localizedCapitalized)
+ .foregroundColor(.white)
+ .font(Font(UIFont.barlowSemiBold(size: 16.0)))
+ .padding(.bottom, 60)
+ }
+ .background(Color(UIColor.gray))
+ .cornerRadius(6.0)
+ }
+}
+
+struct AlertFailureView_Previews: PreviewProvider {
+ static let alert = AlertFailureType.failedResolution
+ static let errorMessage = "Test Error"
+
+ static var previews: some View {
+ AlertFailureView(alertFailureType: alert, errorMessage: errorMessage)
+ .environment(\.locale, .init(identifier: "en"))
+ }
+}
diff --git a/litewallet/Assets.xcassets/Branding/Logo.imageset/Contents.json b/litewallet/Assets.xcassets/Branding/Logo.imageset/Contents.json
new file mode 100644
index 000000000..bab48e870
--- /dev/null
+++ b/litewallet/Assets.xcassets/Branding/Logo.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "moonpay-logo.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/litewallet/Assets.xcassets/Branding/Logo.imageset/Logo_ltcnew.png b/litewallet/Assets.xcassets/Branding/Logo.imageset/Logo_ltcnew.png
new file mode 100644
index 000000000..bf1ad5fa0
Binary files /dev/null and b/litewallet/Assets.xcassets/Branding/Logo.imageset/Logo_ltcnew.png differ
diff --git a/litewallet/Assets.xcassets/Branding/Logo_ltcnew.imageset/Contents.json b/litewallet/Assets.xcassets/Branding/Logo_ltcnew.imageset/Contents.json
new file mode 100644
index 000000000..383f53f79
--- /dev/null
+++ b/litewallet/Assets.xcassets/Branding/Logo_ltcnew.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "Logo_ltcnew.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/litewallet/Assets.xcassets/Branding/Logo_ltcnew.imageset/Logo_ltcnew.png b/litewallet/Assets.xcassets/Branding/Logo_ltcnew.imageset/Logo_ltcnew.png
new file mode 100644
index 000000000..bf1ad5fa0
Binary files /dev/null and b/litewallet/Assets.xcassets/Branding/Logo_ltcnew.imageset/Logo_ltcnew.png differ
diff --git a/litewallet/Assets.xcassets/Branding/NewLogo/new-logo-white.imageset/Contents.json b/litewallet/Assets.xcassets/Branding/NewLogo/new-logo-white.imageset/Contents.json
new file mode 100644
index 000000000..0a9b90221
--- /dev/null
+++ b/litewallet/Assets.xcassets/Branding/NewLogo/new-logo-white.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "filename" : "Litewallet_white_icon_355.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "Litewallet-fin_white_icon711.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "Litewallet_white_icon.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/litewallet/Assets.xcassets/Branding/NewLogo/new-logo-white.imageset/Litewallet-fin_white_icon711.png b/litewallet/Assets.xcassets/Branding/NewLogo/new-logo-white.imageset/Litewallet-fin_white_icon711.png
new file mode 100644
index 000000000..2f8d68c66
Binary files /dev/null and b/litewallet/Assets.xcassets/Branding/NewLogo/new-logo-white.imageset/Litewallet-fin_white_icon711.png differ
diff --git a/litewallet/Assets.xcassets/Branding/NewLogo/new-logo-white.imageset/Litewallet_white_icon.png b/litewallet/Assets.xcassets/Branding/NewLogo/new-logo-white.imageset/Litewallet_white_icon.png
new file mode 100644
index 000000000..840be780d
Binary files /dev/null and b/litewallet/Assets.xcassets/Branding/NewLogo/new-logo-white.imageset/Litewallet_white_icon.png differ
diff --git a/litewallet/Assets.xcassets/Branding/NewLogo/new-logo-white.imageset/Litewallet_white_icon_355.png b/litewallet/Assets.xcassets/Branding/NewLogo/new-logo-white.imageset/Litewallet_white_icon_355.png
new file mode 100644
index 000000000..db5d242c2
Binary files /dev/null and b/litewallet/Assets.xcassets/Branding/NewLogo/new-logo-white.imageset/Litewallet_white_icon_355.png differ
diff --git a/litewallet/Assets.xcassets/Branding/NewLogo/newLogo-clear.imageset/Contents.json b/litewallet/Assets.xcassets/Branding/NewLogo/newLogo-clear.imageset/Contents.json
new file mode 100644
index 000000000..0b059c9ab
--- /dev/null
+++ b/litewallet/Assets.xcassets/Branding/NewLogo/newLogo-clear.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "Litewallet-fin_icon.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/litewallet/Assets.xcassets/Branding/NewLogo/newLogo-clear.imageset/Litewallet-fin_icon.png b/litewallet/Assets.xcassets/Branding/NewLogo/newLogo-clear.imageset/Litewallet-fin_icon.png
new file mode 100644
index 000000000..3c9afd609
Binary files /dev/null and b/litewallet/Assets.xcassets/Branding/NewLogo/newLogo-clear.imageset/Litewallet-fin_icon.png differ
diff --git a/litewallet/Assets.xcassets/Branding/NewLogo/newLogo-white-background.imageset/Contents.json b/litewallet/Assets.xcassets/Branding/NewLogo/newLogo-white-background.imageset/Contents.json
new file mode 100644
index 000000000..75dddb5dc
--- /dev/null
+++ b/litewallet/Assets.xcassets/Branding/NewLogo/newLogo-white-background.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "filename" : "litewallet-logotype_white-100.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "litewallet-logotype_white-200.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "litewallet-logotype_white-300.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/litewallet/Assets.xcassets/Branding/NewLogo/newLogo-white-background.imageset/Litewallet-fin_icon200.png b/litewallet/Assets.xcassets/Branding/NewLogo/newLogo-white-background.imageset/Litewallet-fin_icon200.png
new file mode 100644
index 000000000..d4a8a5053
Binary files /dev/null and b/litewallet/Assets.xcassets/Branding/NewLogo/newLogo-white-background.imageset/Litewallet-fin_icon200.png differ
diff --git a/litewallet/Assets.xcassets/Branding/NewLogo/newLogotyoe-white.imageset/Contents.json b/litewallet/Assets.xcassets/Branding/NewLogo/newLogotyoe-white.imageset/Contents.json
new file mode 100644
index 000000000..2d4119bf2
--- /dev/null
+++ b/litewallet/Assets.xcassets/Branding/NewLogo/newLogotyoe-white.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "Screenshot 2023-12-12 at 12.16.04 PM.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/litewallet/Assets.xcassets/Branding/NewLogo/newLogotyoe-white.imageset/Litewallet-fin_white-65.png b/litewallet/Assets.xcassets/Branding/NewLogo/newLogotyoe-white.imageset/Litewallet-fin_white-65.png
new file mode 100644
index 000000000..7763a3b8c
Binary files /dev/null and b/litewallet/Assets.xcassets/Branding/NewLogo/newLogotyoe-white.imageset/Litewallet-fin_white-65.png differ
diff --git a/litewallet/Assets.xcassets/Branding/NewLogo/newLogotype-clear-background.imageset/Contents.json b/litewallet/Assets.xcassets/Branding/NewLogo/newLogotype-clear-background.imageset/Contents.json
new file mode 100644
index 000000000..8775012e2
--- /dev/null
+++ b/litewallet/Assets.xcassets/Branding/NewLogo/newLogotype-clear-background.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "Litewallet-fin_color.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/litewallet/Assets.xcassets/Branding/NewLogo/newLogotype-clear-background.imageset/Litewallet-fin_color.png b/litewallet/Assets.xcassets/Branding/NewLogo/newLogotype-clear-background.imageset/Litewallet-fin_color.png
new file mode 100644
index 000000000..23c1e4e15
Binary files /dev/null and b/litewallet/Assets.xcassets/Branding/NewLogo/newLogotype-clear-background.imageset/Litewallet-fin_color.png differ
diff --git a/litewallet/Assets.xcassets/Branding/launchLiteWalletImage.imageset/Contents.json b/litewallet/Assets.xcassets/Branding/launchLiteWalletImage.imageset/Contents.json
new file mode 100644
index 000000000..d71802c43
--- /dev/null
+++ b/litewallet/Assets.xcassets/Branding/launchLiteWalletImage.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "litewalletLaunchLogo.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/Branding/launchLiteWalletImage.imageset/litewalletLaunchLogo.png b/litewallet/Assets.xcassets/Branding/launchLiteWalletImage.imageset/litewalletLaunchLogo.png
new file mode 100644
index 000000000..67458df7f
Binary files /dev/null and b/litewallet/Assets.xcassets/Branding/launchLiteWalletImage.imageset/litewalletLaunchLogo.png differ
diff --git a/litewallet/Assets.xcassets/Branding/lofigirl.imageset/Contents.json b/litewallet/Assets.xcassets/Branding/lofigirl.imageset/Contents.json
new file mode 100644
index 000000000..2d4119bf2
--- /dev/null
+++ b/litewallet/Assets.xcassets/Branding/lofigirl.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "Screenshot 2023-12-12 at 12.16.04 PM.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git "a/litewallet/Assets.xcassets/Branding/lofigirl.imageset/Screenshot 2023-12-12 at 12.16.04\342\200\257PM.png" "b/litewallet/Assets.xcassets/Branding/lofigirl.imageset/Screenshot 2023-12-12 at 12.16.04\342\200\257PM.png"
new file mode 100644
index 000000000..31d20b09e
Binary files /dev/null and "b/litewallet/Assets.xcassets/Branding/lofigirl.imageset/Screenshot 2023-12-12 at 12.16.04\342\200\257PM.png" differ
diff --git a/litewallet/Assets.xcassets/MenuButtonIcon.imageset/Contents.json b/litewallet/Assets.xcassets/MenuButtonIcon.imageset/Contents.json
new file mode 100644
index 000000000..9dbfa549c
--- /dev/null
+++ b/litewallet/Assets.xcassets/MenuButtonIcon.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "filename" : "bitrefill-logo-app.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/litewallet/Assets.xcassets/MenuButtonIcon.imageset/MenuTabIcon.pdf b/litewallet/Assets.xcassets/MenuButtonIcon.imageset/MenuTabIcon.pdf
new file mode 100644
index 000000000..8f9f6bdf6
Binary files /dev/null and b/litewallet/Assets.xcassets/MenuButtonIcon.imageset/MenuTabIcon.pdf differ
diff --git a/litewallet/Assets.xcassets/MenuIcons/Profile.imageset/Contents.json b/litewallet/Assets.xcassets/MenuIcons/Profile.imageset/Contents.json
new file mode 100644
index 000000000..2c97f3387
--- /dev/null
+++ b/litewallet/Assets.xcassets/MenuIcons/Profile.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "history1x.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/MenuIcons/Profile.imageset/Profile.pdf b/litewallet/Assets.xcassets/MenuIcons/Profile.imageset/Profile.pdf
new file mode 100644
index 000000000..9e4200cdf
Binary files /dev/null and b/litewallet/Assets.xcassets/MenuIcons/Profile.imageset/Profile.pdf differ
diff --git a/litewallet/Assets.xcassets/MenuIcons/buy_icon_gray.imageset/BuyLitecoin.pdf b/litewallet/Assets.xcassets/MenuIcons/buy_icon_gray.imageset/BuyLitecoin.pdf
new file mode 100644
index 000000000..37fae3822
Binary files /dev/null and b/litewallet/Assets.xcassets/MenuIcons/buy_icon_gray.imageset/BuyLitecoin.pdf differ
diff --git a/litewallet/Assets.xcassets/MenuIcons/buy_icon_gray.imageset/Contents.json b/litewallet/Assets.xcassets/MenuIcons/buy_icon_gray.imageset/Contents.json
new file mode 100644
index 000000000..e0f3b4efb
--- /dev/null
+++ b/litewallet/Assets.xcassets/MenuIcons/buy_icon_gray.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "BuyLitecoin.pdf",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/Particle Sprite Atlas.spriteatlas/Contents.json b/litewallet/Assets.xcassets/Particle Sprite Atlas.spriteatlas/Contents.json
new file mode 100644
index 000000000..da4a164c9
--- /dev/null
+++ b/litewallet/Assets.xcassets/Particle Sprite Atlas.spriteatlas/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/Particle Sprite Atlas.spriteatlas/bokeh.imageset/Contents.json b/litewallet/Assets.xcassets/Particle Sprite Atlas.spriteatlas/bokeh.imageset/Contents.json
new file mode 100644
index 000000000..e3461a767
--- /dev/null
+++ b/litewallet/Assets.xcassets/Particle Sprite Atlas.spriteatlas/bokeh.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "bokeh.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/Particle Sprite Atlas.spriteatlas/bokeh.imageset/bokeh.png b/litewallet/Assets.xcassets/Particle Sprite Atlas.spriteatlas/bokeh.imageset/bokeh.png
new file mode 100644
index 000000000..c68055165
Binary files /dev/null and b/litewallet/Assets.xcassets/Particle Sprite Atlas.spriteatlas/bokeh.imageset/bokeh.png differ
diff --git a/litewallet/Assets.xcassets/Particle Sprite Atlas.spriteatlas/spark.imageset/Contents.json b/litewallet/Assets.xcassets/Particle Sprite Atlas.spriteatlas/spark.imageset/Contents.json
new file mode 100644
index 000000000..07311ae4e
--- /dev/null
+++ b/litewallet/Assets.xcassets/Particle Sprite Atlas.spriteatlas/spark.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "spark.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/Particle Sprite Atlas.spriteatlas/spark.imageset/spark.png b/litewallet/Assets.xcassets/Particle Sprite Atlas.spriteatlas/spark.imageset/spark.png
new file mode 100644
index 000000000..3383a218c
Binary files /dev/null and b/litewallet/Assets.xcassets/Particle Sprite Atlas.spriteatlas/spark.imageset/spark.png differ
diff --git a/litewallet/Assets.xcassets/Partners/bitrefillLogoTypeColor.imageset/Contents.json b/litewallet/Assets.xcassets/Partners/bitrefillLogoTypeColor.imageset/Contents.json
new file mode 100644
index 000000000..9afd57652
--- /dev/null
+++ b/litewallet/Assets.xcassets/Partners/bitrefillLogoTypeColor.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "bitrefillLogoType.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/Partners/bitrefillLogoTypeColor.imageset/bitrefillLogoType.png b/litewallet/Assets.xcassets/Partners/bitrefillLogoTypeColor.imageset/bitrefillLogoType.png
new file mode 100644
index 000000000..11d226756
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/bitrefillLogoTypeColor.imageset/bitrefillLogoType.png differ
diff --git a/litewallet/Assets.xcassets/Partners/changellyLogo.imageset/Contents.json b/litewallet/Assets.xcassets/Partners/changellyLogo.imageset/Contents.json
new file mode 100644
index 000000000..4f01e3663
--- /dev/null
+++ b/litewallet/Assets.xcassets/Partners/changellyLogo.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "changellyLogo@1x.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "changellyLogo@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/Partners/changellyLogo.imageset/changellyLogo@1x.png b/litewallet/Assets.xcassets/Partners/changellyLogo.imageset/changellyLogo@1x.png
new file mode 100644
index 000000000..598b230b6
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/changellyLogo.imageset/changellyLogo@1x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/changellyLogo.imageset/changellyLogo@3x.png b/litewallet/Assets.xcassets/Partners/changellyLogo.imageset/changellyLogo@3x.png
new file mode 100644
index 000000000..c33e7dc27
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/changellyLogo.imageset/changellyLogo@3x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/changellyLogoTypeColor.imageset/Contents.json b/litewallet/Assets.xcassets/Partners/changellyLogoTypeColor.imageset/Contents.json
new file mode 100644
index 000000000..1ce6e125c
--- /dev/null
+++ b/litewallet/Assets.xcassets/Partners/changellyLogoTypeColor.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "ltcfdfrontv7@1x.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "ltcfdfrontv7@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/Partners/changellyLogoTypeColor.imageset/ltcfdfrontv7@1x.png b/litewallet/Assets.xcassets/Partners/changellyLogoTypeColor.imageset/ltcfdfrontv7@1x.png
new file mode 100644
index 000000000..52fcede28
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/changellyLogoTypeColor.imageset/ltcfdfrontv7@1x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/changellyLogoTypeColor.imageset/ltcfdfrontv7@3x.png b/litewallet/Assets.xcassets/Partners/changellyLogoTypeColor.imageset/ltcfdfrontv7@3x.png
new file mode 100644
index 000000000..1c2eb7860
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/changellyLogoTypeColor.imageset/ltcfdfrontv7@3x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/coinbaseLogo.imageset/Contents.json b/litewallet/Assets.xcassets/Partners/coinbaseLogo.imageset/Contents.json
new file mode 100644
index 000000000..a6fe826df
--- /dev/null
+++ b/litewallet/Assets.xcassets/Partners/coinbaseLogo.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "square-blue-5d2184a32860bee22d0f30233233afa2e1a58c16072fd244684232454e66a114.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/Partners/coinbaseLogo.imageset/square-blue-5d2184a32860bee22d0f30233233afa2e1a58c16072fd244684232454e66a114.png b/litewallet/Assets.xcassets/Partners/coinbaseLogo.imageset/square-blue-5d2184a32860bee22d0f30233233afa2e1a58c16072fd244684232454e66a114.png
new file mode 100644
index 000000000..d725328de
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/coinbaseLogo.imageset/square-blue-5d2184a32860bee22d0f30233233afa2e1a58c16072fd244684232454e66a114.png differ
diff --git a/litewallet/Assets.xcassets/Partners/litecoincard/Contents.json b/litewallet/Assets.xcassets/Partners/litecoincard/Contents.json
new file mode 100644
index 000000000..73c00596a
--- /dev/null
+++ b/litewallet/Assets.xcassets/Partners/litecoincard/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/litewallet/Assets.xcassets/Partners/litecoincard/card-front.imageset/Contents.json b/litewallet/Assets.xcassets/Partners/litecoincard/card-front.imageset/Contents.json
new file mode 100644
index 000000000..a71035065
--- /dev/null
+++ b/litewallet/Assets.xcassets/Partners/litecoincard/card-front.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "litecoin-card-front-border-2-3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/litewallet/Assets.xcassets/Partners/litecoincard/card-front.imageset/litecoin-card-front-border-2-3x.png b/litewallet/Assets.xcassets/Partners/litecoincard/card-front.imageset/litecoin-card-front-border-2-3x.png
new file mode 100644
index 000000000..afb6ff745
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/litecoincard/card-front.imageset/litecoin-card-front-border-2-3x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-back.imageset/Contents.json b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-back.imageset/Contents.json
new file mode 100644
index 000000000..d127d6083
--- /dev/null
+++ b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-back.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "filename" : "litecoin-back-1x.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "litecoin-back-2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "litecoin-back-3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-back.imageset/litecoin-back-1x.png b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-back.imageset/litecoin-back-1x.png
new file mode 100644
index 000000000..fe9fb9696
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-back.imageset/litecoin-back-1x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-back.imageset/litecoin-back-2x.png b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-back.imageset/litecoin-back-2x.png
new file mode 100644
index 000000000..30b1f88f1
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-back.imageset/litecoin-back-2x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-back.imageset/litecoin-back-3x.png b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-back.imageset/litecoin-back-3x.png
new file mode 100644
index 000000000..a8c858bba
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-back.imageset/litecoin-back-3x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-front.imageset/Contents.json b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-front.imageset/Contents.json
new file mode 100644
index 000000000..594c2253e
--- /dev/null
+++ b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-front.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "filename" : "litecoin-front-1x.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "litecoin-front-2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "litecoin-card-3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-front.imageset/litecoin-card-3x.png b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-front.imageset/litecoin-card-3x.png
new file mode 100644
index 000000000..f03027485
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-front.imageset/litecoin-card-3x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-front.imageset/litecoin-front-1x.png b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-front.imageset/litecoin-front-1x.png
new file mode 100644
index 000000000..eb5c284b8
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-front.imageset/litecoin-front-1x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-front.imageset/litecoin-front-2x.png b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-front.imageset/litecoin-front-2x.png
new file mode 100644
index 000000000..b59f9404f
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-card-front.imageset/litecoin-front-2x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-front-card-border.imageset/Contents.json b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-front-card-border.imageset/Contents.json
new file mode 100644
index 000000000..c7b2fe486
--- /dev/null
+++ b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-front-card-border.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "filename" : "litecoin-card-front-border1x.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "litecoin-card-front-border2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "litecoin-card-front-border3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-front-card-border.imageset/litecoin-card-front-border1x.png b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-front-card-border.imageset/litecoin-card-front-border1x.png
new file mode 100644
index 000000000..5fa124dc8
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-front-card-border.imageset/litecoin-card-front-border1x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-front-card-border.imageset/litecoin-card-front-border2x.png b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-front-card-border.imageset/litecoin-card-front-border2x.png
new file mode 100644
index 000000000..db4c373b5
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-front-card-border.imageset/litecoin-card-front-border2x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-front-card-border.imageset/litecoin-card-front-border3x.png b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-front-card-border.imageset/litecoin-card-front-border3x.png
new file mode 100644
index 000000000..12ef09210
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/litecoincard/litecoin-front-card-border.imageset/litecoin-card-front-border3x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/moonpay-white-logo.imageset/Contents.json b/litewallet/Assets.xcassets/Partners/moonpay-white-logo.imageset/Contents.json
index 007d4b52e..c9e3bd78f 100644
--- a/litewallet/Assets.xcassets/Partners/moonpay-white-logo.imageset/Contents.json
+++ b/litewallet/Assets.xcassets/Partners/moonpay-white-logo.imageset/Contents.json
@@ -2,6 +2,7 @@
"images" : [
{
"idiom" : "universal",
+ "filename" : "history1x.png",
"scale" : "1x"
},
{
diff --git a/litewallet/Assets.xcassets/Partners/simplexLogo.imageset/Contents.json b/litewallet/Assets.xcassets/Partners/simplexLogo.imageset/Contents.json
new file mode 100644
index 000000000..2f61daa27
--- /dev/null
+++ b/litewallet/Assets.xcassets/Partners/simplexLogo.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "simplexLogo@1x.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "simplexLogo@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/Partners/simplexLogo.imageset/simplexLogo@1x.png b/litewallet/Assets.xcassets/Partners/simplexLogo.imageset/simplexLogo@1x.png
new file mode 100644
index 000000000..de62d20e2
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/simplexLogo.imageset/simplexLogo@1x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/simplexLogo.imageset/simplexLogo@3x.png b/litewallet/Assets.xcassets/Partners/simplexLogo.imageset/simplexLogo@3x.png
new file mode 100644
index 000000000..ceffea6fb
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/simplexLogo.imageset/simplexLogo@3x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/simplexLogoTypeColor.imageset/Contents.json b/litewallet/Assets.xcassets/Partners/simplexLogoTypeColor.imageset/Contents.json
new file mode 100644
index 000000000..9967ae866
--- /dev/null
+++ b/litewallet/Assets.xcassets/Partners/simplexLogoTypeColor.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "simplexColor@1x.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "simplexColor@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/Partners/simplexLogoTypeColor.imageset/simplexColor@1x.png b/litewallet/Assets.xcassets/Partners/simplexLogoTypeColor.imageset/simplexColor@1x.png
new file mode 100644
index 000000000..a5f2cfcdc
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/simplexLogoTypeColor.imageset/simplexColor@1x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/simplexLogoTypeColor.imageset/simplexColor@3x.png b/litewallet/Assets.xcassets/Partners/simplexLogoTypeColor.imageset/simplexColor@3x.png
new file mode 100644
index 000000000..2aa7afe31
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/simplexLogoTypeColor.imageset/simplexColor@3x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/ud-color-logo.imageset/Contents.json b/litewallet/Assets.xcassets/Partners/ud-color-logo.imageset/Contents.json
new file mode 100644
index 000000000..abe66c16b
--- /dev/null
+++ b/litewallet/Assets.xcassets/Partners/ud-color-logo.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "filename" : "ud-Logo-Full-Light@1x.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "ud-Logo-Full-Light@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "ud-Logo-Full-Light@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/litewallet/Assets.xcassets/Partners/ud-color-logo.imageset/ud-Logo-Full-Light@1x.png b/litewallet/Assets.xcassets/Partners/ud-color-logo.imageset/ud-Logo-Full-Light@1x.png
new file mode 100644
index 000000000..222a66f75
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/ud-color-logo.imageset/ud-Logo-Full-Light@1x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/ud-color-logo.imageset/ud-Logo-Full-Light@2x.png b/litewallet/Assets.xcassets/Partners/ud-color-logo.imageset/ud-Logo-Full-Light@2x.png
new file mode 100644
index 000000000..703d1468b
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/ud-color-logo.imageset/ud-Logo-Full-Light@2x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/ud-color-logo.imageset/ud-Logo-Full-Light@3x.png b/litewallet/Assets.xcassets/Partners/ud-color-logo.imageset/ud-Logo-Full-Light@3x.png
new file mode 100644
index 000000000..448f8c6b0
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/ud-color-logo.imageset/ud-Logo-Full-Light@3x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/ud-monotone-logo.imageset/Contents.json b/litewallet/Assets.xcassets/Partners/ud-monotone-logo.imageset/Contents.json
new file mode 100644
index 000000000..5c127b0bc
--- /dev/null
+++ b/litewallet/Assets.xcassets/Partners/ud-monotone-logo.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "filename" : "Logo-Full-Mono.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "Logo-Full-Mono@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "Logo-Full-Mono@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/litewallet/Assets.xcassets/Partners/ud-monotone-logo.imageset/Logo-Full-Mono.png b/litewallet/Assets.xcassets/Partners/ud-monotone-logo.imageset/Logo-Full-Mono.png
new file mode 100644
index 000000000..e10ae469a
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/ud-monotone-logo.imageset/Logo-Full-Mono.png differ
diff --git a/litewallet/Assets.xcassets/Partners/ud-monotone-logo.imageset/Logo-Full-Mono@2x.png b/litewallet/Assets.xcassets/Partners/ud-monotone-logo.imageset/Logo-Full-Mono@2x.png
new file mode 100644
index 000000000..7d97a72cf
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/ud-monotone-logo.imageset/Logo-Full-Mono@2x.png differ
diff --git a/litewallet/Assets.xcassets/Partners/ud-monotone-logo.imageset/Logo-Full-Mono@3x.png b/litewallet/Assets.xcassets/Partners/ud-monotone-logo.imageset/Logo-Full-Mono@3x.png
new file mode 100644
index 000000000..a5b10be09
Binary files /dev/null and b/litewallet/Assets.xcassets/Partners/ud-monotone-logo.imageset/Logo-Full-Mono@3x.png differ
diff --git a/litewallet/Assets.xcassets/SearchIcon.imageset/Contents.json b/litewallet/Assets.xcassets/SearchIcon.imageset/Contents.json
new file mode 100644
index 000000000..5baa7b786
--- /dev/null
+++ b/litewallet/Assets.xcassets/SearchIcon.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "SearchIcon.pdf",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/SearchIcon.imageset/SearchIcon.pdf b/litewallet/Assets.xcassets/SearchIcon.imageset/SearchIcon.pdf
new file mode 100644
index 000000000..d63ca2378
Binary files /dev/null and b/litewallet/Assets.xcassets/SearchIcon.imageset/SearchIcon.pdf differ
diff --git a/litewallet/Assets.xcassets/TabBar/Contents.json b/litewallet/Assets.xcassets/TabBar/Contents.json
new file mode 100644
index 000000000..2d92bd53f
--- /dev/null
+++ b/litewallet/Assets.xcassets/TabBar/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
diff --git a/litewallet/Assets.xcassets/TabBar/receiveArrowIcon.imageset/Contents.json b/litewallet/Assets.xcassets/TabBar/receiveArrowIcon.imageset/Contents.json
new file mode 100644
index 000000000..417af11fe
--- /dev/null
+++ b/litewallet/Assets.xcassets/TabBar/receiveArrowIcon.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "LW_RecieveV2.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/TabBar/receiveArrowIcon.imageset/LW_RecieveV2.png b/litewallet/Assets.xcassets/TabBar/receiveArrowIcon.imageset/LW_RecieveV2.png
new file mode 100644
index 000000000..776206531
Binary files /dev/null and b/litewallet/Assets.xcassets/TabBar/receiveArrowIcon.imageset/LW_RecieveV2.png differ
diff --git a/litewallet/Assets.xcassets/TabBar/receiveIcon.imageset/Contents.json b/litewallet/Assets.xcassets/TabBar/receiveIcon.imageset/Contents.json
new file mode 100644
index 000000000..417af11fe
--- /dev/null
+++ b/litewallet/Assets.xcassets/TabBar/receiveIcon.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "LW_RecieveV2.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/TabBar/receiveIcon.imageset/LW_RecieveV2.png b/litewallet/Assets.xcassets/TabBar/receiveIcon.imageset/LW_RecieveV2.png
new file mode 100644
index 000000000..776206531
Binary files /dev/null and b/litewallet/Assets.xcassets/TabBar/receiveIcon.imageset/LW_RecieveV2.png differ
diff --git a/litewallet/Assets.xcassets/Transaction/movedTransaction.imageset/Contents.json b/litewallet/Assets.xcassets/Transaction/movedTransaction.imageset/Contents.json
new file mode 100644
index 000000000..f3f2fecb3
--- /dev/null
+++ b/litewallet/Assets.xcassets/Transaction/movedTransaction.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "fullscreen.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/Transaction/movedTransaction.imageset/fullscreen.png b/litewallet/Assets.xcassets/Transaction/movedTransaction.imageset/fullscreen.png
new file mode 100644
index 000000000..f16acc1bc
Binary files /dev/null and b/litewallet/Assets.xcassets/Transaction/movedTransaction.imageset/fullscreen.png differ
diff --git a/litewallet/Assets.xcassets/black-circle-arrow-right.imageset/CircleArrow.png b/litewallet/Assets.xcassets/black-circle-arrow-right.imageset/CircleArrow.png
new file mode 100644
index 000000000..6c724bab3
Binary files /dev/null and b/litewallet/Assets.xcassets/black-circle-arrow-right.imageset/CircleArrow.png differ
diff --git a/litewallet/Assets.xcassets/black-circle-arrow-right.imageset/CircleArrow@2x.png b/litewallet/Assets.xcassets/black-circle-arrow-right.imageset/CircleArrow@2x.png
new file mode 100644
index 000000000..4880d9216
Binary files /dev/null and b/litewallet/Assets.xcassets/black-circle-arrow-right.imageset/CircleArrow@2x.png differ
diff --git a/litewallet/Assets.xcassets/black-circle-arrow-right.imageset/CircleArrow@3x.png b/litewallet/Assets.xcassets/black-circle-arrow-right.imageset/CircleArrow@3x.png
new file mode 100644
index 000000000..be8155bb4
Binary files /dev/null and b/litewallet/Assets.xcassets/black-circle-arrow-right.imageset/CircleArrow@3x.png differ
diff --git a/litewallet/Assets.xcassets/black-circle-arrow-right.imageset/Contents.json b/litewallet/Assets.xcassets/black-circle-arrow-right.imageset/Contents.json
new file mode 100644
index 000000000..aba00f664
--- /dev/null
+++ b/litewallet/Assets.xcassets/black-circle-arrow-right.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "CircleArrow.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "CircleArrow@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "CircleArrow@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/blackRightArrow.imageset/Contents.json b/litewallet/Assets.xcassets/blackRightArrow.imageset/Contents.json
new file mode 100644
index 000000000..fedd4c202
--- /dev/null
+++ b/litewallet/Assets.xcassets/blackRightArrow.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "blackRightArrow.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/blackRightArrow.imageset/blackRightArrow.png b/litewallet/Assets.xcassets/blackRightArrow.imageset/blackRightArrow.png
new file mode 100644
index 000000000..6c1a6929c
Binary files /dev/null and b/litewallet/Assets.xcassets/blackRightArrow.imageset/blackRightArrow.png differ
diff --git a/litewallet/Assets.xcassets/buy_icon.imageset/BuyIcon.pdf b/litewallet/Assets.xcassets/buy_icon.imageset/BuyIcon.pdf
new file mode 100644
index 000000000..85c061aff
Binary files /dev/null and b/litewallet/Assets.xcassets/buy_icon.imageset/BuyIcon.pdf differ
diff --git a/litewallet/Assets.xcassets/buy_icon.imageset/BuyIcon.pxm b/litewallet/Assets.xcassets/buy_icon.imageset/BuyIcon.pxm
new file mode 100644
index 000000000..8b40b0a7b
Binary files /dev/null and b/litewallet/Assets.xcassets/buy_icon.imageset/BuyIcon.pxm differ
diff --git a/litewallet/Assets.xcassets/buy_icon.imageset/Contents.json b/litewallet/Assets.xcassets/buy_icon.imageset/Contents.json
new file mode 100644
index 000000000..0175c4c94
--- /dev/null
+++ b/litewallet/Assets.xcassets/buy_icon.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "colorBlue.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/litewallet/Assets.xcassets/camera-btn-pressed.imageset/Contents.json b/litewallet/Assets.xcassets/camera-btn-pressed.imageset/Contents.json
new file mode 100644
index 000000000..a07c084a6
--- /dev/null
+++ b/litewallet/Assets.xcassets/camera-btn-pressed.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "camera-btn-pressed.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "camera-btn-pressed@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "camera-btn-pressed@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/camera-btn-pressed.imageset/camera-btn-pressed.png b/litewallet/Assets.xcassets/camera-btn-pressed.imageset/camera-btn-pressed.png
new file mode 100644
index 000000000..eed011bf1
Binary files /dev/null and b/litewallet/Assets.xcassets/camera-btn-pressed.imageset/camera-btn-pressed.png differ
diff --git a/litewallet/Assets.xcassets/camera-btn-pressed.imageset/camera-btn-pressed@2x.png b/litewallet/Assets.xcassets/camera-btn-pressed.imageset/camera-btn-pressed@2x.png
new file mode 100644
index 000000000..436c4a9a8
Binary files /dev/null and b/litewallet/Assets.xcassets/camera-btn-pressed.imageset/camera-btn-pressed@2x.png differ
diff --git a/litewallet/Assets.xcassets/camera-btn-pressed.imageset/camera-btn-pressed@3x.png b/litewallet/Assets.xcassets/camera-btn-pressed.imageset/camera-btn-pressed@3x.png
new file mode 100644
index 000000000..c42827b1e
Binary files /dev/null and b/litewallet/Assets.xcassets/camera-btn-pressed.imageset/camera-btn-pressed@3x.png differ
diff --git a/litewallet/Assets.xcassets/camera-btn.imageset/Contents.json b/litewallet/Assets.xcassets/camera-btn.imageset/Contents.json
new file mode 100644
index 000000000..43faac2ba
--- /dev/null
+++ b/litewallet/Assets.xcassets/camera-btn.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "camera-btn.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "camera-btn@2x.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "camera-btn@3x.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/camera-btn.imageset/camera-btn.png b/litewallet/Assets.xcassets/camera-btn.imageset/camera-btn.png
new file mode 100644
index 000000000..7954eacf7
Binary files /dev/null and b/litewallet/Assets.xcassets/camera-btn.imageset/camera-btn.png differ
diff --git a/litewallet/Assets.xcassets/camera-btn.imageset/camera-btn@2x.png b/litewallet/Assets.xcassets/camera-btn.imageset/camera-btn@2x.png
new file mode 100644
index 000000000..3b38b644b
Binary files /dev/null and b/litewallet/Assets.xcassets/camera-btn.imageset/camera-btn@2x.png differ
diff --git a/litewallet/Assets.xcassets/camera-btn.imageset/camera-btn@3x.png b/litewallet/Assets.xcassets/camera-btn.imageset/camera-btn@3x.png
new file mode 100644
index 000000000..1971f2ba2
Binary files /dev/null and b/litewallet/Assets.xcassets/camera-btn.imageset/camera-btn@3x.png differ
diff --git a/litewallet/Assets.xcassets/card_icon.imageset/Contents.json b/litewallet/Assets.xcassets/card_icon.imageset/Contents.json
new file mode 100644
index 000000000..7e292c1ce
--- /dev/null
+++ b/litewallet/Assets.xcassets/card_icon.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "card_icon.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/card_icon.imageset/card_icon.png b/litewallet/Assets.xcassets/card_icon.imageset/card_icon.png
new file mode 100644
index 000000000..7172801c5
Binary files /dev/null and b/litewallet/Assets.xcassets/card_icon.imageset/card_icon.png differ
diff --git a/litewallet/Assets.xcassets/colorLitewalletBlue.colorset/Contents.json b/litewallet/Assets.xcassets/colorLitewalletBlue.colorset/Contents.json
new file mode 100644
index 000000000..f13af3eb2
--- /dev/null
+++ b/litewallet/Assets.xcassets/colorLitewalletBlue.colorset/Contents.json
@@ -0,0 +1,38 @@
+{
+ "colors" : [
+ {
+ "color" : {
+ "color-space" : "srgb",
+ "components" : {
+ "alpha" : "1.000",
+ "blue" : "0.616",
+ "green" : "0.365",
+ "red" : "0.204"
+ }
+ },
+ "idiom" : "universal"
+ },
+ {
+ "appearances" : [
+ {
+ "appearance" : "luminosity",
+ "value" : "dark"
+ }
+ ],
+ "color" : {
+ "color-space" : "srgb",
+ "components" : {
+ "alpha" : "1.000",
+ "blue" : "0.616",
+ "green" : "0.365",
+ "red" : "0.204"
+ }
+ },
+ "idiom" : "universal"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/litewallet/Assets.xcassets/colorModesText.colorset/Contents.json b/litewallet/Assets.xcassets/colorModesText.colorset/Contents.json
new file mode 100644
index 000000000..e53f0878e
--- /dev/null
+++ b/litewallet/Assets.xcassets/colorModesText.colorset/Contents.json
@@ -0,0 +1,56 @@
+{
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ },
+ "colors" : [
+ {
+ "idiom" : "universal",
+ "color" : {
+ "color-space" : "srgb",
+ "components" : {
+ "red" : "1.000",
+ "alpha" : "1.000",
+ "blue" : "1.000",
+ "green" : "1.000"
+ }
+ }
+ },
+ {
+ "idiom" : "universal",
+ "appearances" : [
+ {
+ "appearance" : "luminosity",
+ "value" : "light"
+ }
+ ],
+ "color" : {
+ "color-space" : "srgb",
+ "components" : {
+ "red" : "0.275",
+ "alpha" : "1.000",
+ "blue" : "0.267",
+ "green" : "0.275"
+ }
+ }
+ },
+ {
+ "idiom" : "universal",
+ "appearances" : [
+ {
+ "appearance" : "luminosity",
+ "value" : "dark"
+ }
+ ],
+ "color" : {
+ "color-space" : "srgb",
+ "components" : {
+ "red" : "1.000",
+ "alpha" : "1.000",
+ "blue" : "1.000",
+ "green" : "1.000"
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/copyIcon.imageset/Contents.json b/litewallet/Assets.xcassets/copyIcon.imageset/Contents.json
new file mode 100644
index 000000000..20ed95a5b
--- /dev/null
+++ b/litewallet/Assets.xcassets/copyIcon.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "copyicon40.pdf",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/copyIcon.imageset/copyicon40.pdf b/litewallet/Assets.xcassets/copyIcon.imageset/copyicon40.pdf
new file mode 100644
index 000000000..1342abc58
Binary files /dev/null and b/litewallet/Assets.xcassets/copyIcon.imageset/copyicon40.pdf differ
diff --git a/litewallet/Assets.xcassets/dropArrow.imageset/Contents.json b/litewallet/Assets.xcassets/dropArrow.imageset/Contents.json
new file mode 100644
index 000000000..142a7893b
--- /dev/null
+++ b/litewallet/Assets.xcassets/dropArrow.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "dropArrow4.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/dropArrow.imageset/dropArrow4.png b/litewallet/Assets.xcassets/dropArrow.imageset/dropArrow4.png
new file mode 100644
index 000000000..7c05844ba
Binary files /dev/null and b/litewallet/Assets.xcassets/dropArrow.imageset/dropArrow4.png differ
diff --git a/litewallet/Assets.xcassets/simplexRightArrow.imageset/Contents.json b/litewallet/Assets.xcassets/simplexRightArrow.imageset/Contents.json
new file mode 100644
index 000000000..a78363643
--- /dev/null
+++ b/litewallet/Assets.xcassets/simplexRightArrow.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "simplexRightArrow.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/simplexRightArrow.imageset/simplexRightArrow.png b/litewallet/Assets.xcassets/simplexRightArrow.imageset/simplexRightArrow.png
new file mode 100644
index 000000000..f49da49b9
Binary files /dev/null and b/litewallet/Assets.xcassets/simplexRightArrow.imageset/simplexRightArrow.png differ
diff --git a/litewallet/Assets.xcassets/whiteDownArrowCutout.imageset/Contents.json b/litewallet/Assets.xcassets/whiteDownArrowCutout.imageset/Contents.json
new file mode 100644
index 000000000..57f1afe4b
--- /dev/null
+++ b/litewallet/Assets.xcassets/whiteDownArrowCutout.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "downarrow1.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "downarrow2.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "downarrow3.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/whiteDownArrowCutout.imageset/downarrow1.png b/litewallet/Assets.xcassets/whiteDownArrowCutout.imageset/downarrow1.png
new file mode 100644
index 000000000..f4872e667
Binary files /dev/null and b/litewallet/Assets.xcassets/whiteDownArrowCutout.imageset/downarrow1.png differ
diff --git a/litewallet/Assets.xcassets/whiteDownArrowCutout.imageset/downarrow2.png b/litewallet/Assets.xcassets/whiteDownArrowCutout.imageset/downarrow2.png
new file mode 100644
index 000000000..49f85f304
Binary files /dev/null and b/litewallet/Assets.xcassets/whiteDownArrowCutout.imageset/downarrow2.png differ
diff --git a/litewallet/Assets.xcassets/whiteDownArrowCutout.imageset/downarrow3.png b/litewallet/Assets.xcassets/whiteDownArrowCutout.imageset/downarrow3.png
new file mode 100644
index 000000000..6f681ac69
Binary files /dev/null and b/litewallet/Assets.xcassets/whiteDownArrowCutout.imageset/downarrow3.png differ
diff --git a/litewallet/Assets.xcassets/whiteDropArrow.imageset/Contents.json b/litewallet/Assets.xcassets/whiteDropArrow.imageset/Contents.json
new file mode 100644
index 000000000..a80d2ac82
--- /dev/null
+++ b/litewallet/Assets.xcassets/whiteDropArrow.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "whiteDropArrow.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/whiteDropArrow.imageset/whiteDropArrow.png b/litewallet/Assets.xcassets/whiteDropArrow.imageset/whiteDropArrow.png
new file mode 100644
index 000000000..be90a9303
Binary files /dev/null and b/litewallet/Assets.xcassets/whiteDropArrow.imageset/whiteDropArrow.png differ
diff --git a/litewallet/Assets.xcassets/whiteUpArrowCutout.imageset/Contents.json b/litewallet/Assets.xcassets/whiteUpArrowCutout.imageset/Contents.json
new file mode 100644
index 000000000..d359b9e5c
--- /dev/null
+++ b/litewallet/Assets.xcassets/whiteUpArrowCutout.imageset/Contents.json
@@ -0,0 +1,23 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "uparrow1.png",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "uparrow2.png",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "filename" : "uparrow3.png",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/whiteUpArrowCutout.imageset/uparrow1.png b/litewallet/Assets.xcassets/whiteUpArrowCutout.imageset/uparrow1.png
new file mode 100644
index 000000000..123dce063
Binary files /dev/null and b/litewallet/Assets.xcassets/whiteUpArrowCutout.imageset/uparrow1.png differ
diff --git a/litewallet/Assets.xcassets/whiteUpArrowCutout.imageset/uparrow2.png b/litewallet/Assets.xcassets/whiteUpArrowCutout.imageset/uparrow2.png
new file mode 100644
index 000000000..6e6a8069c
Binary files /dev/null and b/litewallet/Assets.xcassets/whiteUpArrowCutout.imageset/uparrow2.png differ
diff --git a/litewallet/Assets.xcassets/whiteUpArrowCutout.imageset/uparrow3.png b/litewallet/Assets.xcassets/whiteUpArrowCutout.imageset/uparrow3.png
new file mode 100644
index 000000000..c85d65f7a
Binary files /dev/null and b/litewallet/Assets.xcassets/whiteUpArrowCutout.imageset/uparrow3.png differ
diff --git a/litewallet/Assets.xcassets/whiteinterditsendIcon.imageset/Contents.json b/litewallet/Assets.xcassets/whiteinterditsendIcon.imageset/Contents.json
new file mode 100644
index 000000000..c63963760
--- /dev/null
+++ b/litewallet/Assets.xcassets/whiteinterditsendIcon.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "idiom" : "universal",
+ "filename" : "sendTabIconwhiteinterdit.pdf",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/litewallet/Assets.xcassets/whiteinterditsendIcon.imageset/sendTabIconwhiteinterdit.pdf b/litewallet/Assets.xcassets/whiteinterditsendIcon.imageset/sendTabIconwhiteinterdit.pdf
new file mode 100644
index 000000000..1dcee18fa
Binary files /dev/null and b/litewallet/Assets.xcassets/whiteinterditsendIcon.imageset/sendTabIconwhiteinterdit.pdf differ
diff --git a/litewallet/BRAPIClient+Wallet.swift b/litewallet/BRAPIClient+Wallet.swift
index 09a94c834..6204cf6bc 100644
--- a/litewallet/BRAPIClient+Wallet.swift
+++ b/litewallet/BRAPIClient+Wallet.swift
@@ -37,7 +37,7 @@ extension BRAPIClient {
}
} else {
if isFallback {
- let properties: [String: String] = ["error_message": "is_fallback_no_rate_array_returned"]
+ let properties = ["error_message": "is_fallback_no_rate_array_returned"]
LWAnalytics.logEventWithParameters(itemName: ._20200112_ERR, properties: properties)
handler([], "Error fetching from fallback url")
} else {
diff --git a/litewallet/BuyTableViewController.swift b/litewallet/BuyTableViewController.swift
new file mode 100644
index 000000000..40d61f860
--- /dev/null
+++ b/litewallet/BuyTableViewController.swift
@@ -0,0 +1,151 @@
+import SafariServices
+import SwiftUI
+import UIKit
+import WebKit
+
+class BuyTableViewController: UITableViewController, SFSafariViewControllerDelegate {
+ @IBOutlet var bitrefillLogoImageView: UIImageView!
+ @IBOutlet var bitrefillHeaderLabel: UILabel!
+ @IBOutlet var bitrefillDetailsLabel: UILabel!
+ @IBOutlet var bitrefillCellContainerView: UIView!
+ @IBAction func didTapBitrefill(_: UIButton) {
+ guard let url = URL(string: "https://www.bitrefill.com/?ref=bAshL935")
+ else {
+ return
+ }
+
+ let sfSafariVC = SFSafariViewController(url: url)
+ sfSafariVC.delegate = self
+ present(sfSafariVC, animated: true)
+ }
+
+ // MARK: Moonpay UI
+
+ @IBOutlet var moonpayLogoImageView: UIImageView!
+ @IBOutlet var moonpayHeaderLabel: UILabel!
+ @IBOutlet var moonpayDetailsLabel: UILabel!
+ @IBOutlet var moonpayCellContainerView: UIView!
+ @IBOutlet var moonpaySegmentedControl: UISegmentedControl!
+
+ @IBAction func didTapMoonpay(_: Any) {
+ let timestamp = Int(Date().timeIntervalSince1970)
+
+ let urlString = APIServer.baseUrl + "moonpay/buy" + "?address=\(currentWalletAddress)&idate=\(timestamp)&uid=\(uuidString)&code=\(currencyCode)"
+
+ guard let url = URL(string: urlString) else { return }
+
+ let sfSafariVC = SFSafariViewController(url: url)
+ sfSafariVC.delegate = self
+ present(sfSafariVC, animated: true)
+ }
+
+ // MARK: Simplex UI
+
+ @IBOutlet var simplexLogoImageView: UIImageView!
+ @IBOutlet var simplexHeaderLabel: UILabel!
+ @IBOutlet var simplexDetailsLabel: UILabel!
+ @IBOutlet var simplexCellContainerView: UIView!
+ @IBOutlet var simplexCurrencySegmentedControl: UISegmentedControl!
+
+ private var currencyCode: String = "USD"
+ private let uuidString: String = UIDevice.current.identifierForVendor?.uuidString ?? ""
+ private let currentWalletAddress: String = WalletManager.sharedInstance.wallet?.receiveAddress ?? ""
+
+ @IBAction func didTapSimplex(_: Any) {
+ if let vcWKVC = UIStoryboard(name: "Buy", bundle: nil).instantiateViewController(withIdentifier: "BuyWKWebViewController") as? BuyWKWebViewController {
+ vcWKVC.currencyCode = currencyCode
+ vcWKVC.currentWalletAddress = currentWalletAddress
+ vcWKVC.uuidString = uuidString
+ vcWKVC.timestamp = Int(Date().timeIntervalSince1970)
+ addChild(vcWKVC)
+ view.addSubview(vcWKVC.view)
+ vcWKVC.didMove(toParent: self)
+
+ vcWKVC.didDismissChildView = {
+ for vc in self.children {
+ DispatchQueue.main.async {
+ vc.willMove(toParent: nil)
+ vc.view.removeFromSuperview()
+ vc.removeFromParent()
+ }
+ }
+ }
+ } else {
+ NSLog("ERROR: Storyboard not initialized")
+ }
+ }
+
+ var store: Store?
+ var walletManager: WalletManager?
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+
+ let thinHeaderView = UIView()
+ thinHeaderView.frame = CGRect(x: 0, y: 0, width: view.frame.width, height: 1.0)
+ thinHeaderView.backgroundColor = .white
+ tableView.tableHeaderView = thinHeaderView
+ tableView.tableFooterView = UIView()
+
+ moonpaySegmentedControl.addTarget(self, action: #selector(didChangeCurrencyMoonpay), for: .valueChanged)
+ moonpaySegmentedControl.selectedSegmentIndex = PartnerFiatOptions.usd.index
+ moonpaySegmentedControl.selectedSegmentTintColor = .white
+ moonpaySegmentedControl.setTitleTextAttributes([NSAttributedString.Key.foregroundColor: UIColor.white], for: .normal)
+ moonpaySegmentedControl.setTitleTextAttributes([NSAttributedString.Key.foregroundColor: UIColor.liteWalletBlue], for: .selected)
+
+ simplexCurrencySegmentedControl.addTarget(self, action: #selector(didChangeCurrencySimplex), for: .valueChanged)
+ simplexCurrencySegmentedControl.selectedSegmentIndex = PartnerFiatOptions.usd.index
+ simplexCurrencySegmentedControl.selectedSegmentTintColor = .white
+ simplexCurrencySegmentedControl.setTitleTextAttributes([NSAttributedString.Key.foregroundColor: UIColor.white], for: .normal)
+ simplexCurrencySegmentedControl.setTitleTextAttributes([NSAttributedString.Key.foregroundColor: UIColor.liteWalletBlue], for: .selected)
+
+ setupWkVCData()
+
+ LWAnalytics.logEventWithParameters(itemName: ._20191105_DTBT)
+ }
+
+ private func setupWkVCData() {
+ let bitrefillData = Partner.partnerDataArray()[0]
+ bitrefillLogoImageView.image = bitrefillData.logo
+ bitrefillHeaderLabel.text = bitrefillData.headerTitle
+ bitrefillDetailsLabel.text = bitrefillData.details
+ bitrefillCellContainerView.layer.cornerRadius = 6.0
+ bitrefillCellContainerView.layer.borderColor = UIColor.white.cgColor
+ bitrefillCellContainerView.layer.borderWidth = 1.0
+ bitrefillCellContainerView.clipsToBounds = true
+
+ let moonpayData = Partner.partnerDataArray()[1]
+ moonpayLogoImageView.image = moonpayData.logo
+ moonpayHeaderLabel.text = moonpayData.headerTitle
+ moonpayDetailsLabel.text = moonpayData.details
+ moonpayCellContainerView.layer.cornerRadius = 6.0
+ moonpayCellContainerView.layer.borderColor = UIColor.white.cgColor
+ moonpayCellContainerView.layer.borderWidth = 1.0
+ moonpayCellContainerView.clipsToBounds = true
+
+ let simplexData = Partner.partnerDataArray()[2]
+ simplexLogoImageView.image = simplexData.logo
+ simplexHeaderLabel.text = simplexData.headerTitle
+ simplexDetailsLabel.text = simplexData.details
+ simplexCellContainerView.layer.cornerRadius = 6.0
+ simplexCellContainerView.layer.borderColor = UIColor.white.cgColor
+ simplexCellContainerView.layer.borderWidth = 1.0
+ simplexCellContainerView.clipsToBounds = true
+ }
+
+ @objc private func didChangeCurrencyMoonpay() {
+ if let code = PartnerFiatOptions(rawValue: moonpaySegmentedControl.selectedSegmentIndex)?.description {
+ currencyCode = code
+ } else {
+ print("Error: Code not found: \(moonpaySegmentedControl.selectedSegmentIndex)")
+ }
+ }
+
+ @objc private func didChangeCurrencySimplex() {
+ if let code = PartnerFiatOptions(rawValue: simplexCurrencySegmentedControl.selectedSegmentIndex)?.description {
+ currencyCode = code
+ } else {
+ print("Error: Code not found: \(simplexCurrencySegmentedControl.selectedSegmentIndex)")
+ }
+ }
+}
diff --git a/litewallet/BuyView.swift b/litewallet/BuyView.swift
index 2cbeec278..0a1e47bdd 100644
--- a/litewallet/BuyView.swift
+++ b/litewallet/BuyView.swift
@@ -63,7 +63,8 @@ struct BuyView: View {
HStack {
VStack {
Picker(S.BuyCenter.buyDetail.localize() + " " + viewModel.receivingAddress,
- selection: $viewModel.selectedCode) {
+ selection: $viewModel.selectedCode)
+ {
ForEach(rankedFiatCodes, id: \.self) {
BuyTileView(code: $0)
}
diff --git a/litewallet/DomainResolutionFailure.swift b/litewallet/DomainResolutionFailure.swift
new file mode 100644
index 000000000..cc81e8216
--- /dev/null
+++ b/litewallet/DomainResolutionFailure.swift
@@ -0,0 +1,17 @@
+import Foundation
+import UnstoppableDomainsResolution
+
+struct DomainResolutionFailure {
+ init() {}
+
+ func messageWith(error: ResolutionError) -> String {
+ switch error {
+ case .unregisteredDomain, .unsupportedDomain,
+ .recordNotFound, .recordNotSupported,
+ .unspecifiedResolver:
+ return String(format: S.Send.UnstoppableDomains.lookupDomainError.localize(), 0)
+ default:
+ return String(format: S.Send.UnstoppableDomains.udSystemError.localize(), 10)
+ }
+ }
+}
diff --git a/litewallet/FailedAlertView.swift b/litewallet/FailedAlertView.swift
new file mode 100644
index 000000000..44cfee369
--- /dev/null
+++ b/litewallet/FailedAlertView.swift
@@ -0,0 +1,38 @@
+//
+// FailedAlertView.swift
+// loafwallet
+//
+// Created by Kerry Washington on 1/29/21.
+// Copyright © 2021 Litecoin Foundation. All rights reserved.
+//
+import UIKit
+
+enum AlertFailureType {
+ case failedResolution
+
+ var header: String {
+ switch self {
+ case .failedResolution:
+ return S.Send.UnstoppableDomains.lookupFailureHeader.localize()
+ }
+ }
+
+ var subheader: String {
+ switch self {
+ case .failedResolution:
+ return S.SecurityAlerts.resolvedSuccessSubheader.localize()
+ }
+ }
+
+ var icon: UIView {
+ return CheckView()
+ }
+}
+
+extension AlertFailureType: Equatable {}
+
+func == (lhs: AlertFailureType, rhs: AlertFailureType) -> Bool {
+ switch (lhs, rhs) {
+ case (.failedResolution, .failedResolution): return true
+ }
+}
diff --git a/litewallet/ForgotView.swift b/litewallet/ForgotView.swift
index 8b1378917..e69de29bb 100644
--- a/litewallet/ForgotView.swift
+++ b/litewallet/ForgotView.swift
@@ -1 +0,0 @@
-
diff --git a/litewallet/GoogleService-Info.plist b/litewallet/GoogleService-Info.plist
new file mode 100644
index 000000000..0f5222c0c
--- /dev/null
+++ b/litewallet/GoogleService-Info.plist
@@ -0,0 +1,30 @@
+
+
+
+
+ API_KEY
+ AIzaSyC58u1MhxC27M-eWBHO60czLz08f4rrAMw
+ GCM_SENDER_ID
+ 969229325957
+ PLIST_VERSION
+ 1
+ BUNDLE_ID
+ com.litewallet.newborn
+ PROJECT_ID
+ litewallet-newborn-alpha
+ STORAGE_BUCKET
+ litewallet-newborn-alpha.appspot.com
+ IS_ADS_ENABLED
+
+ IS_ANALYTICS_ENABLED
+
+ IS_APPINVITE_ENABLED
+
+ IS_GCM_ENABLED
+
+ IS_SIGNIN_ENABLED
+
+ GOOGLE_APP_ID
+ 1:969229325957:ios:b96117f47e5a662f41bbec
+
+
\ No newline at end of file
diff --git a/litewallet/MainViewController.swift b/litewallet/MainViewController.swift
index 78a3baae1..2b9d5f1e3 100644
--- a/litewallet/MainViewController.swift
+++ b/litewallet/MainViewController.swift
@@ -66,14 +66,16 @@ class MainViewController: UIViewController, Subscriber, LoginViewControllerDeleg
NotificationCenter.default.addObserver(forName: UIApplication.willEnterForegroundNotification,
object: nil,
- queue: nil) { _ in
+ queue: nil)
+ { _ in
self.showJailbreakWarnings(isJailbroken: isJailbroken)
}
}
NotificationCenter.default.addObserver(forName: UserDefaults.didChangeNotification,
object: nil,
- queue: nil) { _ in
+ queue: nil)
+ { _ in
if UserDefaults.writePaperPhraseDate != nil
{}
}
diff --git a/litewallet/PartnerData.swift b/litewallet/PartnerData.swift
index 663b85ed4..3faea6483 100644
--- a/litewallet/PartnerData.swift
+++ b/litewallet/PartnerData.swift
@@ -36,7 +36,6 @@ struct Partner {
else {
let errorDescription = "partnerkey_data_missing"
LWAnalytics.logEventWithParameters(itemName: ._20200112_ERR, properties: ["error": errorDescription])
-
return "error: FILE-NOT-FOUND"
}
filePath = releasePath
@@ -66,7 +65,6 @@ struct Partner {
LWAnalytics.logEventWithParameters(itemName: ._20200112_ERR, properties: ["error": errorDescription])
return errorDescription
}
-
case .litewalletStart:
if let dictionary = NSDictionary(contentsOfFile: filePath) as? [String: AnyObject],
diff --git a/litewallet/SendAddressHostingController.swift b/litewallet/SendAddressHostingController.swift
new file mode 100644
index 000000000..4939d3334
--- /dev/null
+++ b/litewallet/SendAddressHostingController.swift
@@ -0,0 +1,19 @@
+import Foundation
+import SwiftUI
+
+class SendAddressHostingController: UIHostingController {
+ var addressString: String = ""
+
+ let contentView = SendAddressCellView()
+
+ init() {
+ addressString = contentView.viewModel.addressString
+
+ super.init(rootView: contentView)
+ }
+
+ @available(*, unavailable)
+ @MainActor dynamic required init?(coder _: NSCoder) {
+ fatalError("init(coder:) has not been implemented")
+ }
+}
diff --git a/litewallet/Sounds/BahasaIndonesia.mp3 b/litewallet/Sounds/BahasaIndonesia.mp3
new file mode 100644
index 000000000..b6ea96ee2
Binary files /dev/null and b/litewallet/Sounds/BahasaIndonesia.mp3 differ
diff --git a/litewallet/Sounds/Deutsch.mp3 b/litewallet/Sounds/Deutsch.mp3
new file mode 100644
index 000000000..868409d09
Binary files /dev/null and b/litewallet/Sounds/Deutsch.mp3 differ
diff --git a/litewallet/Sounds/English.mp3 b/litewallet/Sounds/English.mp3
new file mode 100644
index 000000000..c1e925f17
Binary files /dev/null and b/litewallet/Sounds/English.mp3 differ
diff --git "a/litewallet/Sounds/Espa\303\261ol.mp3" "b/litewallet/Sounds/Espa\303\261ol.mp3"
new file mode 100644
index 000000000..22a1b75bf
Binary files /dev/null and "b/litewallet/Sounds/Espa\303\261ol.mp3" differ
diff --git "a/litewallet/Sounds/Fran\303\247ais.mp3" "b/litewallet/Sounds/Fran\303\247ais.mp3"
new file mode 100644
index 000000000..4b1caa5ec
Binary files /dev/null and "b/litewallet/Sounds/Fran\303\247ais.mp3" differ
diff --git a/litewallet/Sounds/Italiano.mp3 b/litewallet/Sounds/Italiano.mp3
new file mode 100644
index 000000000..be7d15b18
Binary files /dev/null and b/litewallet/Sounds/Italiano.mp3 differ
diff --git "a/litewallet/Sounds/Portugu\303\252s.mp3" "b/litewallet/Sounds/Portugu\303\252s.mp3"
new file mode 100644
index 000000000..f7d54262b
Binary files /dev/null and "b/litewallet/Sounds/Portugu\303\252s.mp3" differ
diff --git "a/litewallet/Sounds/T\303\274rk\303\247e.mp3" "b/litewallet/Sounds/T\303\274rk\303\247e.mp3"
new file mode 100644
index 000000000..7a02e9939
Binary files /dev/null and "b/litewallet/Sounds/T\303\274rk\303\247e.mp3" differ
diff --git "a/litewallet/Sounds/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.mp3" "b/litewallet/Sounds/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.mp3"
new file mode 100644
index 000000000..20905e8ae
Binary files /dev/null and "b/litewallet/Sounds/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.mp3" differ
diff --git "a/litewallet/Sounds/\321\203\320\272\321\200\320\260\321\227\320\275\321\201\321\214\320\272\320\260.mp3" "b/litewallet/Sounds/\321\203\320\272\321\200\320\260\321\227\320\275\321\201\321\214\320\272\320\260.mp3"
new file mode 100644
index 000000000..9fc43e4d9
Binary files /dev/null and "b/litewallet/Sounds/\321\203\320\272\321\200\320\260\321\227\320\275\321\201\321\214\320\272\320\260.mp3" differ
diff --git "a/litewallet/Sounds/\355\225\234\352\265\255\354\235\270.mp3" "b/litewallet/Sounds/\355\225\234\352\265\255\354\235\270.mp3"
new file mode 100644
index 000000000..f17488e15
Binary files /dev/null and "b/litewallet/Sounds/\355\225\234\352\265\255\354\235\270.mp3" differ
diff --git a/litewallet/StartView.swift b/litewallet/StartView.swift
index 3525f5cb8..2c85254a0 100644
--- a/litewallet/StartView.swift
+++ b/litewallet/StartView.swift
@@ -118,20 +118,23 @@ struct StartView: View {
alignment: .center)
.alert(startViewModel
.alertMessage[startViewModel.currentLanguage.rawValue],
- isPresented: $delayedSelect) {
- HStack {
- Button(startViewModel
- .yesLabel[startViewModel.currentLanguage.rawValue], role: .cancel) {
- // Changes and Dismisses
- startViewModel.setLanguage(code: startViewModel.currentLanguage.code)
- selectedLang = false
- }
- Button(startViewModel
- .cancelLabel[startViewModel.currentLanguage.rawValue], role: .destructive) {
- // Dismisses
- selectedLang = false
- }
+ isPresented: $delayedSelect)
+ {
+ HStack {
+ Button(startViewModel
+ .yesLabel[startViewModel.currentLanguage.rawValue], role: .cancel)
+ {
+ // Changes and Dismisses
+ startViewModel.setLanguage(code: startViewModel.currentLanguage.code)
+ selectedLang = false
}
+ Button(startViewModel
+ .cancelLabel[startViewModel.currentLanguage.rawValue], role: .destructive)
+ {
+ // Dismisses
+ selectedLang = false
+ }
+ }
}
Spacer()
NavigationLink(destination:
diff --git a/litewallet/Strings/it.lproj/Localizable.strings b/litewallet/Strings/it.lproj/Localizable.strings
index 985939b1a..439f04cfd 100755
--- a/litewallet/Strings/it.lproj/Localizable.strings
+++ b/litewallet/Strings/it.lproj/Localizable.strings
@@ -718,6 +718,15 @@
/* Fees: $0.01*/
"Send.fee" = "Commissioni: %1$@";
+<<<<<<< HEAD
+=======
+/* Fees: $0.01*/
+"Send.fee" = "Commissioni: %1$@";
+
+/* Fees Blank: */
+"Send.feeBlank" = "Commissioni:";
+
+>>>>>>> main
/* Fees Blank: */
"Send.feeBlank" = "Commissioni:";
diff --git a/litewallet/TransactionsViewModel.swift b/litewallet/TransactionsViewModel.swift
new file mode 100644
index 000000000..300ee9af6
--- /dev/null
+++ b/litewallet/TransactionsViewModel.swift
@@ -0,0 +1,15 @@
+import Foundation
+
+class TransactionsViewModel: ObservableObject {
+ var store: Store
+
+ var walletManager: WalletManager
+
+ var isLTCSwapped: Bool = false
+
+ init(store: Store, walletManager: WalletManager) {
+ self.store = store
+ self.walletManager = walletManager
+ isLTCSwapped = store.state.isLtcSwapped
+ }
+}
diff --git a/litewallet/TransferAmountViewModel.swift b/litewallet/TransferAmountViewModel.swift
index 8b1378917..e69de29bb 100644
--- a/litewallet/TransferAmountViewModel.swift
+++ b/litewallet/TransferAmountViewModel.swift
@@ -1 +0,0 @@
-
diff --git a/litewallet/UnstoppableDomainView.swift b/litewallet/UnstoppableDomainView.swift
new file mode 100644
index 000000000..cf5491f9f
--- /dev/null
+++ b/litewallet/UnstoppableDomainView.swift
@@ -0,0 +1,117 @@
+import Combine
+import SwiftUI
+
+struct UnstoppableDomainView: View {
+ // MARK: - Combine Variables
+
+ @ObservedObject
+ var viewModel: UnstoppableDomainViewModel
+
+ @State
+ private var didReceiveLTCfromUD: Bool = false
+
+ @State
+ private var shouldDisableLookupButton: Bool = true
+
+ @State
+ private var didStartEditing: Bool = false
+
+ @State
+ private var shouldStartScroll: Bool = false
+
+ init(viewModel: UnstoppableDomainViewModel) {
+ self.viewModel = viewModel
+ }
+
+ var body: some View {
+ GeometryReader { _ in
+
+ ZStack {
+ VStack {
+ Spacer()
+ HStack {
+ if viewModel.isDomainResolving {
+ ProgressView()
+ .padding(.all, swiftUICellPadding)
+ } else {
+ VStack {
+ ZStack {
+ AddressFieldView(placeholder: viewModel.placeholderString,
+ text: $viewModel.searchString)
+ .onTapGesture {
+ didStartEditing = true
+ }
+ .frame(height: 45.0, alignment: .leading)
+ .padding(.leading, swiftUICellPadding)
+ }
+ }
+ }
+
+ Spacer()
+ }
+ .background(
+ Color.white.clipShape(RoundedRectangle(cornerRadius: 8.0))
+ )
+ .padding([.leading, .trailing], swiftUICellPadding)
+
+ Spacer()
+
+ // Unstoppable Domains Image and URL
+ HStack {
+ Spacer()
+ Text(S.Send.UnstoppableDomains.enterA.localize() + " " + S.Send.UnstoppableDomains.domain.localize() + ":")
+ .font(Font(UIFont.barlowMedium(size: 15.0)))
+ .foregroundColor(Color(UIColor.litecoinDarkSilver))
+ .opacity(0.8)
+ .frame(height: 20)
+
+ Text("\(viewModel.currentDomain)")
+ .font(Font(UIFont.barlowMedium(size: 15.0)))
+ .foregroundColor(Color(UIColor.litecoinDarkSilver))
+ .opacity(0.8)
+ .padding(.trailing, 2.0)
+ .frame(height: 20)
+ .frame(width: 80)
+
+ ZStack {
+ Image("ud-color-logo")
+ .resizable()
+ .aspectRatio(contentMode: .fit)
+ .frame(height: 20, alignment: .center)
+ .padding(.all, 4.0)
+ .onTapGesture {
+ guard let url = URL(string: "https://unstoppabledomains.com/?ref=6897e86a35e34f1")
+ else {
+ return
+ }
+
+ UIApplication.shared.open(url, options: [:], completionHandler: nil)
+
+ LWAnalytics.logEventWithParameters(itemName: ._20220822_UTOU)
+ }
+ }
+ .padding([.leading, .trailing], swiftUICellPadding)
+ .padding(.bottom, 4.0)
+ }
+ }
+ }
+ .background(Color.litecoinGray)
+ }
+ }
+}
+
+struct UnstoppableDomainView_Previews: PreviewProvider {
+ static let viewModel = UnstoppableDomainViewModel()
+
+ static var previews: some View {
+ Group {
+ UnstoppableDomainView(viewModel: viewModel)
+ .previewDevice(PreviewDevice(rawValue: "iPhone SE"))
+ .previewDisplayName("iPhone SE")
+
+ UnstoppableDomainView(viewModel: viewModel)
+ .previewDevice(PreviewDevice(rawValue: "iPhone 12 Pro Max"))
+ .previewDisplayName("iPhone 12 Pro Max")
+ }
+ }
+}
diff --git a/litewallet/UnstoppableDomainViewModel.swift b/litewallet/UnstoppableDomainViewModel.swift
new file mode 100644
index 000000000..e41f4c341
--- /dev/null
+++ b/litewallet/UnstoppableDomainViewModel.swift
@@ -0,0 +1,123 @@
+import Combine
+import Foundation
+import SwiftUI
+import UnstoppableDomainsResolution
+
+class UnstoppableDomainViewModel: ObservableObject {
+ // MARK: - Combine Variables
+
+ @Published
+ var searchString: String = ""
+
+ @Published
+ var placeholderString: String = S.Send.UnstoppableDomains.simplePlaceholder.localize()
+
+ @Published
+ var isDomainResolving: Bool = false
+
+ // MARK: - Public Variables
+
+ var didResolveUDAddress: ((String) -> Void)?
+
+ var didFailToResolve: ((String) -> Void)?
+
+ var domains: [String] = [".bitcoin", ".blockchain", ".crypto", ".coin", ".dao", ".nft", ".wallet", ".x", ".zil", ".888"]
+
+ private var domainIndex: Int = 0
+
+ @Published
+ var currentDomain: String = ""
+
+ // MARK: - Private Variables
+
+ private var ltcAddress = ""
+ private var dateFormatter: DateFormatter? {
+ didSet {
+ dateFormatter = DateFormatter()
+ dateFormatter?.dateFormat = "yyyy-MM-dd hh:mm:ss"
+ }
+ }
+
+ init() {
+ currentDomain = "\(domains[domainIndex])"
+ animateDomain()
+ }
+
+ private func animateDomain() {
+ delay(2.0) {
+ if self.domainIndex < self.domains.count {
+ self.currentDomain = "\(self.domains[self.domainIndex])"
+ self.domainIndex += 1
+ } else {
+ self.domainIndex = 0
+ }
+ self.animateDomain()
+ }
+ }
+
+ func resolveDomain() {
+ isDomainResolving = true
+
+ // Added timing peroformance probes to see what the average time is
+ let timestamp: String = dateFormatter?.string(from: Date()) ?? ""
+
+ LWAnalytics.logEventWithParameters(itemName:
+ CustomEvent._20201121_SIL,
+ properties:
+ ["start_time": timestamp])
+
+ resolveUDAddress(domainName: searchString)
+ }
+
+ private func resolveUDAddress(domainName: String) {
+ // This group is created to allow the threads to complete.
+ // Otherwise, we may never get in the callback relative to UDR v4.0.0
+ let group = DispatchGroup()
+
+ guard let resolution = try? Resolution(apiKey: Partner.partnerKeyPath(name: .infura))
+ else {
+ print("Init of Resolution instance with default parameters failed...")
+ return
+ }
+
+ group.enter()
+
+ resolution.addr(domain: domainName, ticker: "ltc") { result in
+ switch result {
+ case let .success(returnValue):
+
+ let timestamp: String = self.dateFormatter?.string(from: Date()) ?? ""
+
+ LWAnalytics.logEventWithParameters(itemName:
+ CustomEvent._20201121_DRIA,
+ properties:
+ ["success_time": timestamp])
+ /// Quicker resolution: When the resolution is done, the activity indicatior stops and the address is updated
+ DispatchQueue.main.async {
+ self.ltcAddress = returnValue
+ self.didResolveUDAddress?(self.ltcAddress)
+ self.isDomainResolving = false
+ }
+
+ case let .failure(error):
+ let errorMessage = DomainResolutionFailure().messageWith(error: error)
+ let timestamp: String = self.dateFormatter?.string(from: Date()) ?? ""
+
+ LWAnalytics.logEventWithParameters(itemName:
+ CustomEvent._20201121_FRIA,
+ properties:
+ ["failure_time": timestamp,
+ "error_message": errorMessage,
+ "error": error.localizedDescription])
+
+ DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
+ self.didFailToResolve?(error.localizedDescription)
+ self.didFailToResolve?(errorMessage)
+ self.isDomainResolving = false
+ }
+ }
+ group.leave()
+ }
+ group.wait()
+ }
+}
diff --git a/litewallet/ViewControllers/ConfirmPaperPhraseViewController.swift b/litewallet/ViewControllers/ConfirmPaperPhraseViewController.swift
index 1ffb7c511..ecac0606f 100644
--- a/litewallet/ViewControllers/ConfirmPaperPhraseViewController.swift
+++ b/litewallet/ViewControllers/ConfirmPaperPhraseViewController.swift
@@ -70,7 +70,8 @@ class ConfirmPaperPhraseViewController: UITableViewController {
NotificationCenter.default.addObserver(forName: UIApplication.willResignActiveNotification,
object: nil,
- queue: nil) { [weak self] _ in
+ queue: nil)
+ { [weak self] _ in
self?.dismiss(animated: true,
completion: nil)
}
diff --git a/litewallet/ViewControllers/WritePaperPhraseViewController.swift b/litewallet/ViewControllers/WritePaperPhraseViewController.swift
index 68351a4e3..d16f0bdaf 100644
--- a/litewallet/ViewControllers/WritePaperPhraseViewController.swift
+++ b/litewallet/ViewControllers/WritePaperPhraseViewController.swift
@@ -62,7 +62,8 @@ class WritePaperPhraseViewController: UIViewController {
NotificationCenter.default.addObserver(forName: UIScene.willDeactivateNotification,
object: nil,
- queue: nil) { [weak self] _ in
+ queue: nil)
+ { [weak self] _ in
self?.dismiss(animated: true, completion: nil)
}
}
diff --git a/litewallet/bitrefill_index.html b/litewallet/bitrefill_index.html
new file mode 100644
index 000000000..f60fdc9cd
--- /dev/null
+++ b/litewallet/bitrefill_index.html
@@ -0,0 +1,37 @@
+
+
+
+ Bitrefill
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/litewallet/de.lproj/Localizable.strings b/litewallet/de.lproj/Localizable.strings
index b22946220..653a31c7a 100755
--- a/litewallet/de.lproj/Localizable.strings
+++ b/litewallet/de.lproj/Localizable.strings
@@ -904,6 +904,24 @@
/* Fees: $0.01*/
"Send.fee" = "Gebühren: %1$@";
+<<<<<<< HEAD
+=======
+/* Fees: $0.01*/
+"Send.fee" = "Gebühren: %1$@";
+
+/* Fees: $0.01*/
+"Send.fee" = "Gebühren: %1$@";
+
+/* Fees Blank: */
+"Send.feeBlank" = "Gebühren:";
+
+/* Fees Blank: */
+"Send.feeBlank" = "Gebühren:";
+
+/* Fees Blank: */
+"Send.feeBlank" = "Gebühren:";
+
+>>>>>>> main
/* Fees Blank: */
"Send.feeBlank" = "Gebühren:";
diff --git a/litewallet/en.lproj/Localizable.strings b/litewallet/en.lproj/Localizable.strings
index d93df6696..f0d55ab64 100644
--- a/litewallet/en.lproj/Localizable.strings
+++ b/litewallet/en.lproj/Localizable.strings
@@ -907,6 +907,21 @@
/* Fees: $0.01*/
"Send.fee" = "Fees: %1$@";
+<<<<<<< HEAD
+=======
+/* Fees: $0.01*/
+"Send.fee" = "Fees: %1$@";
+
+/* Fees: $0.01*/
+"Send.fee" = "Fees: %1$@";
+
+/* Fees Blank: */
+"Send.feeBlank" = "Fees:";
+
+/* Fees Blank: */
+"Send.feeBlank" = "Fees:";
+
+>>>>>>> main
/* Fees Blank: */
"Send.feeBlank" = "Fees:";
diff --git a/litewallet/general.css b/litewallet/general.css
new file mode 100644
index 000000000..c1652674a
--- /dev/null
+++ b/litewallet/general.css
@@ -0,0 +1,55 @@
+/* http://meyerweb.com/eric/tools/css/reset/
+ v2.0 | 20110126
+ License: none (public domain)
+ */
+
+html, body, div, span, applet, object, iframe,
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+a, abbr, acronym, address, big, cite, code,
+del, dfn, em, img, ins, kbd, q, s, samp,
+small, strike, strong, sub, sup, tt, var,
+b, u, i, center,
+dl, dt, dd, ol, ul, li,
+fieldset, form, label, legend,
+table, caption, tbody, tfoot, thead, tr, th, td,
+article, aside, canvas, details, embed,
+figure, figcaption, footer, header, hgroup,
+menu, nav, output, ruby, section, summary,
+time, mark, audio, video {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font-size: 100%;
+ font: inherit;
+ vertical-align: baseline;
+}
+/* HTML5 display-role reset for older browsers */
+article, aside, details, figcaption, figure,
+footer, header, hgroup, menu, nav, section {
+ display: block;
+}
+body {
+ line-height: 1;
+}
+ol, ul {
+ list-style: none;
+}
+blockquote, q {
+ quotes: none;
+}
+blockquote:before, blockquote:after,
+q:before, q:after {
+ content: '';
+ content: none;
+}
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+
+* {
+ -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
+ -moz-box-sizing: border-box; /* Firefox, other Gecko */
+ box-sizing: border-box; /* Opera/IE 8+ */
+}
+
diff --git a/litewallet/src/StartView.swift b/litewallet/src/StartView.swift
index 60cacbd9e..47bc6ffa4 100644
--- a/litewallet/src/StartView.swift
+++ b/litewallet/src/StartView.swift
@@ -118,17 +118,18 @@ struct StartView: View {
alignment: .center)
.alert(startViewModel
.alertMessage[startViewModel.currentLanguage.rawValue],
- isPresented: $delayedSelect) {
- HStack {
- Button(S.Button.yes.localize(), role: .cancel) {
- startViewModel.setLanguage(code: startViewModel.currentLanguage.code)
- selectedLang = false
- }
- Button(S.Button.cancel.localize(), role: .destructive) {
- // Dismisses
- selectedLang = false
- }
+ isPresented: $delayedSelect)
+ {
+ HStack {
+ Button(S.Button.yes.localize(), role: .cancel) {
+ startViewModel.setLanguage(code: startViewModel.currentLanguage.code)
+ selectedLang = false
}
+ Button(S.Button.cancel.localize(), role: .destructive) {
+ // Dismisses
+ selectedLang = false
+ }
+ }
}
Spacer()
NavigationLink(destination:
diff --git a/litewallet/src/ViewControllers/ConfirmPaperPhraseViewController.swift b/litewallet/src/ViewControllers/ConfirmPaperPhraseViewController.swift
index 1ffb7c511..ecac0606f 100644
--- a/litewallet/src/ViewControllers/ConfirmPaperPhraseViewController.swift
+++ b/litewallet/src/ViewControllers/ConfirmPaperPhraseViewController.swift
@@ -70,7 +70,8 @@ class ConfirmPaperPhraseViewController: UITableViewController {
NotificationCenter.default.addObserver(forName: UIApplication.willResignActiveNotification,
object: nil,
- queue: nil) { [weak self] _ in
+ queue: nil)
+ { [weak self] _ in
self?.dismiss(animated: true,
completion: nil)
}
diff --git a/litewallet/src/ViewControllers/WritePaperPhraseViewController.swift b/litewallet/src/ViewControllers/WritePaperPhraseViewController.swift
index 562d46fc3..216b00976 100644
--- a/litewallet/src/ViewControllers/WritePaperPhraseViewController.swift
+++ b/litewallet/src/ViewControllers/WritePaperPhraseViewController.swift
@@ -64,7 +64,8 @@ class WritePaperPhraseViewController: UIViewController {
NotificationCenter.default.addObserver(forName: UIScene.willDeactivateNotification,
object: nil,
- queue: nil) { [weak self] _ in
+ queue: nil)
+ { [weak self] _ in
self?.dismiss(animated: true, completion: nil)
}
}
diff --git a/litewalletTests/Class Tests/UnstoppableDomainViewModelTests.swift b/litewalletTests/Class Tests/UnstoppableDomainViewModelTests.swift
new file mode 100644
index 000000000..0768c500d
--- /dev/null
+++ b/litewalletTests/Class Tests/UnstoppableDomainViewModelTests.swift
@@ -0,0 +1,22 @@
+@testable import litewallet
+import XCTest
+
+class UnstoppableDomainViewModelTests: XCTestCase {
+ var viewModel: UnstoppableDomainViewModel!
+
+ override func setUp() {
+ super.setUp()
+ viewModel = UnstoppableDomainViewModel()
+ }
+
+ /// Checks the domain address closure
+ /// - Throws: Error
+ func testDomainLookupForLTC() throws {
+ viewModel.didResolveUDAddress?("RESOLVED_LTC_ADDRESS")
+
+ // DEV: This test succeeds incorrectly
+ viewModel.didResolveUDAddress = { address in
+ XCTAssertTrue(address == "RESOLVED_LTC_ADDRESS")
+ }
+ }
+}
diff --git a/litewalletTests/File Tests/FileTests.swift b/litewalletTests/File Tests/FileTests.swift
new file mode 100644
index 000000000..e85f83f9f
--- /dev/null
+++ b/litewalletTests/File Tests/FileTests.swift
@@ -0,0 +1,18 @@
+//
+// FileTests.swift
+// loafwalletTests
+//
+// Created by Kerry Washington on 5/6/21.
+// Copyright © 2021 Litecoin Foundation. All rights reserved.
+//
+import Firebase
+@testable import litewallet
+import XCTest
+
+class FileTests: XCTestCase {
+ func testGoogleServicesFileExists() throws {
+ let filePath = Bundle.main.path(forResource: "GoogleService-Info", ofType: "plist")
+
+ XCTAssertNotNil(FirebaseOptions(contentsOfFile: filePath!))
+ }
+}