diff --git a/.gitignore b/.gitignore index 4ba16a949..9fce14fcf 100644 --- a/.gitignore +++ b/.gitignore @@ -149,6 +149,7 @@ lib/zcash/zcash.dart ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json ios/Runner/Assets.xcassets/AppIcon.appiconset/*.png +ios/AppIcon.icon/* ios/Runner/Info.plist android/app/src/main/res/mipmap-* @@ -181,6 +182,7 @@ macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png macos/Runner/Configs/AppInfo.xcconfig macos/Runner.xcodeproj/project.pbxproj +macos/AppIcon.icon/* integration_test/playground.dart diff --git a/assets/images/ios_icons/cakewallet-app.icon/Assets/base.svg b/assets/images/ios_icons/cakewallet-app.icon/Assets/base.svg new file mode 100644 index 000000000..86a87f253 --- /dev/null +++ b/assets/images/ios_icons/cakewallet-app.icon/Assets/base.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/ios_icons/cakewallet-app.icon/Assets/cake-dark.svg b/assets/images/ios_icons/cakewallet-app.icon/Assets/cake-dark.svg new file mode 100644 index 000000000..df312447a --- /dev/null +++ b/assets/images/ios_icons/cakewallet-app.icon/Assets/cake-dark.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/ios_icons/cakewallet-app.icon/Assets/cake-tinted.svg b/assets/images/ios_icons/cakewallet-app.icon/Assets/cake-tinted.svg new file mode 100644 index 000000000..62b0e9cba --- /dev/null +++ b/assets/images/ios_icons/cakewallet-app.icon/Assets/cake-tinted.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/ios_icons/cakewallet-app.icon/icon.json b/assets/images/ios_icons/cakewallet-app.icon/icon.json new file mode 100644 index 000000000..686e8f53c --- /dev/null +++ b/assets/images/ios_icons/cakewallet-app.icon/icon.json @@ -0,0 +1,62 @@ +{ + "fill" : { + "linear-gradient" : [ + "extended-gray:1.00000,1.00000", + "srgb:0.93725,0.93725,0.97255,1.00000" + ], + "orientation" : { + "start" : { + "x" : 0.5, + "y" : 0 + }, + "stop" : { + "x" : 0.5, + "y" : 0.7 + } + } + }, + "groups" : [ + { + "layers" : [ + { + "fill" : "none", + "glass-specializations" : [ + { + "value" : false + }, + { + "appearance" : "dark", + "value" : false + } + ], + "hidden" : false, + "image-name-specializations" : [ + { + "value" : "base.svg" + }, + { + "appearance" : "dark", + "value" : "cake-dark.svg" + }, + { + "appearance" : "tinted", + "value" : "cake-tinted.svg" + } + ], + "name" : "cake-dark" + } + ], + "shadow" : { + "kind" : "neutral", + "opacity" : 0.5 + }, + "translucency" : { + "enabled" : true, + "value" : 0.5 + } + } + ], + "supported-platforms" : { + "squares" : "shared" + } +} \ No newline at end of file diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-20@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-20@2x.png deleted file mode 100644 index 3fd15f3ce..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-20@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-20@2x~ipad.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-20@2x~ipad.png deleted file mode 100644 index 3fd15f3ce..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-20@2x~ipad.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-20@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-20@3x.png deleted file mode 100644 index b6ff994f6..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-20@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-20~ipad.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-20~ipad.png deleted file mode 100644 index 4be1a2317..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-20~ipad.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-29.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-29.png deleted file mode 100644 index 219f2c6be..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-29.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-29@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-29@2x.png deleted file mode 100644 index ae94bb0ac..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-29@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-29@2x~ipad.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-29@2x~ipad.png deleted file mode 100644 index ae94bb0ac..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-29@2x~ipad.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-29@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-29@3x.png deleted file mode 100644 index 0ef9d3bbf..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-29@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-29~ipad.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-29~ipad.png deleted file mode 100644 index 219f2c6be..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-29~ipad.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-40@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-40@2x.png deleted file mode 100644 index 9fdb32376..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-40@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-40@2x~ipad.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-40@2x~ipad.png deleted file mode 100644 index 9fdb32376..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-40@2x~ipad.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-40@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-40@3x.png deleted file mode 100644 index 485f8b37b..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-40@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-40~ipad.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-40~ipad.png deleted file mode 100644 index 3fd15f3ce..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-40~ipad.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-60@2x~car.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-60@2x~car.png deleted file mode 100644 index 485f8b37b..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-60@2x~car.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-60@3x~car.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-60@3x~car.png deleted file mode 100644 index 50148e6dc..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-60@3x~car.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-83.5@2x~ipad.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-83.5@2x~ipad.png deleted file mode 100644 index 8f290ada2..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon-83.5@2x~ipad.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon@2x.png deleted file mode 100644 index 485f8b37b..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon@2x~ipad.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon@2x~ipad.png deleted file mode 100644 index b11d7332f..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon@2x~ipad.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon@3x.png deleted file mode 100644 index 50148e6dc..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon~ios-marketing.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon~ios-marketing.png deleted file mode 100644 index 1fce95553..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon~ios-marketing.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon~ipad.png b/assets/images/ios_icons/cakewallet_ios_icons/AppIcon~ipad.png deleted file mode 100644 index 7d4a82186..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/AppIcon~ipad.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Contents.json b/assets/images/ios_icons/cakewallet_ios_icons/Contents.json deleted file mode 100644 index 858a40ad8..000000000 --- a/assets/images/ios_icons/cakewallet_ios_icons/Contents.json +++ /dev/null @@ -1,533 +0,0 @@ -{ - "images" : [ - { - "filename" : "Icon-App-20x20@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "20x20" - }, - { - "filename" : "Icon-App-20x20@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "20x20" - }, - { - "filename" : "Icon-App-29x29@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "29x29" - }, - { - "filename" : "Icon-App-29x29@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "29x29" - }, - { - "filename" : "Icon-App-38x38@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "38x38" - }, - { - "filename" : "Icon-App-38x38@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "38x38" - }, - { - "filename" : "Icon-App-40x40@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "40x40" - }, - { - "filename" : "Icon-App-40x40@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "40x40" - }, - { - "filename" : "Icon-App-60x60@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "60x60" - }, - { - "filename" : "Icon-App-60x60@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "60x60" - }, - { - "filename" : "Icon-App-64x64@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "64x64" - }, - { - "filename" : "Icon-App-64x64@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "64x64" - }, - { - "filename" : "Icon-App-68x68@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "68x68" - }, - { - "filename" : "Icon-App-76x76@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "76x76" - }, - { - "filename" : "Icon-App-83.5x83.5@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "83.5x83.5" - }, - { - "filename" : "Icon-App-1024x1024@1x.png", - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "Icon-App-Dark-20x20@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "20x20" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "Icon-App-Dark-20x20@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "20x20" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "Icon-App-Dark-29x29@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "29x29" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "Icon-App-Dark-29x29@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "29x29" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "Icon-App-Dark-38x38@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "38x38" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "Icon-App-Dark-38x38@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "38x38" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "Icon-App-Dark-40x40@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "40x40" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "Icon-App-Dark-40x40@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "40x40" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "Icon-App-Dark-60x60@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "60x60" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "Icon-App-Dark-60x60@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "60x60" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "Icon-App-Dark-64x64@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "64x64" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "Icon-App-Dark-64x64@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "64x64" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "Icon-App-Dark-68x68@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "68x68" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "Icon-App-Dark-76x76@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "76x76" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "Icon-App-Dark-83.5x83.5@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "83.5x83.5" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "Icon-App-Dark-1024x1024@1x.png", - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "tinted" - } - ], - "filename" : "Icon-App-Tinted-20x20@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "20x20" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "tinted" - } - ], - "filename" : "Icon-App-Tinted-20x20@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "20x20" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "tinted" - } - ], - "filename" : "Icon-App-Tinted-29x29@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "29x29" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "tinted" - } - ], - "filename" : "Icon-App-Tinted-29x29@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "29x29" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "tinted" - } - ], - "filename" : "Icon-App-Tinted-38x38@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "38x38" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "tinted" - } - ], - "filename" : "Icon-App-Tinted-38x38@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "38x38" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "tinted" - } - ], - "filename" : "Icon-App-Tinted-40x40@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "40x40" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "tinted" - } - ], - "filename" : "Icon-App-Tinted-40x40@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "40x40" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "tinted" - } - ], - "filename" : "Icon-App-Tinted-60x60@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "60x60" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "tinted" - } - ], - "filename" : "Icon-App-Tinted-60x60@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "60x60" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "tinted" - } - ], - "filename" : "Icon-App-Tinted-64x64@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "64x64" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "tinted" - } - ], - "filename" : "Icon-App-Tinted-64x64@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "64x64" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "tinted" - } - ], - "filename" : "Icon-App-Tinted-68x68@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "68x68" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "tinted" - } - ], - "filename" : "Icon-App-Tinted-76x76@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "76x76" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "tinted" - } - ], - "filename" : "Icon-App-Tinted-83.5x83.5@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "83.5x83.5" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "tinted" - } - ], - "filename" : "Icon-App-Tinted-1024x1024@1x.png", - "idiom" : "universal", - "platform" : "ios", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-1024x1024@1x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-1024x1024@1x.png deleted file mode 100644 index 97e29fa54..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-1024x1024@1x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-20x20@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-20x20@2x.png deleted file mode 100644 index e20857184..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-20x20@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-20x20@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-20x20@3x.png deleted file mode 100644 index a2f3f60d0..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-20x20@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-29x29@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-29x29@2x.png deleted file mode 100644 index a263c8caa..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-29x29@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-29x29@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-29x29@3x.png deleted file mode 100644 index 800bbd19d..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-29x29@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-38x38@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-38x38@2x.png deleted file mode 100644 index 9012cbd7f..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-38x38@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-38x38@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-38x38@3x.png deleted file mode 100644 index 678ae1bc8..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-38x38@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-40x40@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-40x40@2x.png deleted file mode 100644 index 2007f0abd..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-40x40@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-40x40@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-40x40@3x.png deleted file mode 100644 index 277de169c..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-40x40@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-60x60@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-60x60@2x.png deleted file mode 100644 index 277de169c..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-60x60@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-60x60@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-60x60@3x.png deleted file mode 100644 index fd0150fec..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-60x60@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-64x64@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-64x64@2x.png deleted file mode 100644 index a1d384727..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-64x64@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-64x64@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-64x64@3x.png deleted file mode 100644 index 1869f2003..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-64x64@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-68x68@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-68x68@2x.png deleted file mode 100644 index d91f61d52..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-68x68@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-76x76@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-76x76@2x.png deleted file mode 100644 index c8d3d0e0c..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-76x76@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-83.5x83.5@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-83.5x83.5@2x.png deleted file mode 100644 index f39b97cd2..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-83.5x83.5@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-1024x1024@1x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-1024x1024@1x.png deleted file mode 100644 index 7c80e0ca1..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-1024x1024@1x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-20x20@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-20x20@2x.png deleted file mode 100644 index fa9200cd2..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-20x20@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-20x20@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-20x20@3x.png deleted file mode 100644 index 0952320a8..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-20x20@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-29x29@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-29x29@2x.png deleted file mode 100644 index d7f1b5eb1..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-29x29@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-29x29@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-29x29@3x.png deleted file mode 100644 index 574f334f4..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-29x29@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-38x38@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-38x38@2x.png deleted file mode 100644 index afb6d8508..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-38x38@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-38x38@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-38x38@3x.png deleted file mode 100644 index f424dbca3..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-38x38@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-40x40@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-40x40@2x.png deleted file mode 100644 index 1a9382507..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-40x40@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-40x40@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-40x40@3x.png deleted file mode 100644 index 14128555a..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-40x40@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-60x60@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-60x60@2x.png deleted file mode 100644 index 14128555a..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-60x60@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-60x60@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-60x60@3x.png deleted file mode 100644 index 91a3d6917..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-60x60@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-64x64@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-64x64@2x.png deleted file mode 100644 index 14ccfdb99..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-64x64@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-64x64@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-64x64@3x.png deleted file mode 100644 index 50194ba05..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-64x64@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-68x68@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-68x68@2x.png deleted file mode 100644 index 8b2a2ffdd..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-68x68@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-76x76@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-76x76@2x.png deleted file mode 100644 index 14966ac89..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-76x76@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-83.5x83.5@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-83.5x83.5@2x.png deleted file mode 100644 index abefc5d82..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Dark-83.5x83.5@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-1024x1024@1x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-1024x1024@1x.png deleted file mode 100644 index c497febe0..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-1024x1024@1x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-20x20@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-20x20@2x.png deleted file mode 100644 index 53255259c..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-20x20@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-20x20@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-20x20@3x.png deleted file mode 100644 index 969d0640b..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-20x20@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-29x29@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-29x29@2x.png deleted file mode 100644 index 63e21c173..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-29x29@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-29x29@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-29x29@3x.png deleted file mode 100644 index fc71d8e2b..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-29x29@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-38x38@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-38x38@2x.png deleted file mode 100644 index f74321c04..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-38x38@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-38x38@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-38x38@3x.png deleted file mode 100644 index d4d4da741..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-38x38@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-40x40@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-40x40@2x.png deleted file mode 100644 index b165e2b75..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-40x40@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-40x40@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-40x40@3x.png deleted file mode 100644 index e5abf0ed1..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-40x40@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-60x60@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-60x60@2x.png deleted file mode 100644 index e5abf0ed1..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-60x60@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-60x60@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-60x60@3x.png deleted file mode 100644 index 2401f7905..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-60x60@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-64x64@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-64x64@2x.png deleted file mode 100644 index ca5f496bf..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-64x64@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-64x64@3x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-64x64@3x.png deleted file mode 100644 index 615dbdac8..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-64x64@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-68x68@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-68x68@2x.png deleted file mode 100644 index 180e341f5..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-68x68@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-76x76@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-76x76@2x.png deleted file mode 100644 index dd284895f..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-76x76@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-83.5x83.5@2x.png b/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-83.5x83.5@2x.png deleted file mode 100644 index 428705c82..000000000 Binary files a/assets/images/ios_icons/cakewallet_ios_icons/Icon-App-Tinted-83.5x83.5@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Contents.json b/assets/images/ios_icons/monero_ios_icons/Contents.json deleted file mode 100644 index d0d98aa17..000000000 --- a/assets/images/ios_icons/monero_ios_icons/Contents.json +++ /dev/null @@ -1 +0,0 @@ -{"images":[{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@3x.png","scale":"3x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@3x.png","scale":"3x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@3x.png","scale":"3x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@1x.png","scale":"1x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@3x.png","scale":"3x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@1x.png","scale":"1x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@1x.png","scale":"1x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@1x.png","scale":"1x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@2x.png","scale":"2x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@1x.png","scale":"1x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@2x.png","scale":"2x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@1x.png","scale":"1x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@2x.png","scale":"2x"},{"size":"83.5x83.5","idiom":"ipad","filename":"Icon-App-83.5x83.5@2x.png","scale":"2x"},{"size":"1024x1024","idiom":"ios-marketing","filename":"Icon-App-1024x1024@1x.png","scale":"1x"}],"info":{"version":1,"author":"xcode"}} \ No newline at end of file diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-1024x1024@1x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-1024x1024@1x.png deleted file mode 100644 index 22b43da1a..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-1024x1024@1x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-20x20@1x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-20x20@1x.png deleted file mode 100644 index 55f006709..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-20x20@1x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-20x20@2x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-20x20@2x.png deleted file mode 100644 index 9ac20f5d6..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-20x20@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-20x20@3x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-20x20@3x.png deleted file mode 100644 index d6a44407e..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-20x20@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-29x29@1x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-29x29@1x.png deleted file mode 100644 index eae48aa12..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-29x29@1x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-29x29@2x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-29x29@2x.png deleted file mode 100644 index ffa4c0e80..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-29x29@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-29x29@3x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-29x29@3x.png deleted file mode 100644 index 3f8c0acc0..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-29x29@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-40x40@1x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-40x40@1x.png deleted file mode 100644 index 9ac20f5d6..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-40x40@1x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-40x40@2x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-40x40@2x.png deleted file mode 100644 index 14644910d..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-40x40@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-40x40@3x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-40x40@3x.png deleted file mode 100644 index 359371094..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-40x40@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-50x50@1x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-50x50@1x.png deleted file mode 100644 index 95ffad635..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-50x50@1x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-50x50@2x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-50x50@2x.png deleted file mode 100644 index f5270fda9..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-50x50@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-57x57@1x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-57x57@1x.png deleted file mode 100644 index 2c1b9be5b..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-57x57@1x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-57x57@2x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-57x57@2x.png deleted file mode 100644 index d71092f8e..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-57x57@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-60x60@2x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-60x60@2x.png deleted file mode 100644 index 359371094..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-60x60@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-60x60@3x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-60x60@3x.png deleted file mode 100644 index 300ae990b..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-60x60@3x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-72x72@1x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-72x72@1x.png deleted file mode 100644 index bf884a35c..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-72x72@1x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-72x72@2x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-72x72@2x.png deleted file mode 100644 index a66916e64..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-72x72@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-76x76@1x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-76x76@1x.png deleted file mode 100644 index 8a4813d1e..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-76x76@1x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-76x76@2x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-76x76@2x.png deleted file mode 100644 index 577a8af9f..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-76x76@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/monero_ios_icons/Icon-App-83.5x83.5@2x.png b/assets/images/ios_icons/monero_ios_icons/Icon-App-83.5x83.5@2x.png deleted file mode 100644 index 77597a4cf..000000000 Binary files a/assets/images/ios_icons/monero_ios_icons/Icon-App-83.5x83.5@2x.png and /dev/null differ diff --git a/assets/images/ios_icons/monerocom-app.icon/Assets/monero-tinted.svg b/assets/images/ios_icons/monerocom-app.icon/Assets/monero-tinted.svg new file mode 100644 index 000000000..d2e7f9064 --- /dev/null +++ b/assets/images/ios_icons/monerocom-app.icon/Assets/monero-tinted.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/ios_icons/monerocom-app.icon/Assets/monerocom-icon-app-dark.svg b/assets/images/ios_icons/monerocom-app.icon/Assets/monerocom-icon-app-dark.svg new file mode 100644 index 000000000..3f2a6834e --- /dev/null +++ b/assets/images/ios_icons/monerocom-app.icon/Assets/monerocom-icon-app-dark.svg @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/ios_icons/monerocom-app.icon/Assets/monerocom-icon-app.svg b/assets/images/ios_icons/monerocom-app.icon/Assets/monerocom-icon-app.svg new file mode 100644 index 000000000..0abff0181 --- /dev/null +++ b/assets/images/ios_icons/monerocom-app.icon/Assets/monerocom-icon-app.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/ios_icons/monerocom-app.icon/icon.json b/assets/images/ios_icons/monerocom-app.icon/icon.json new file mode 100644 index 000000000..c115ef005 --- /dev/null +++ b/assets/images/ios_icons/monerocom-app.icon/icon.json @@ -0,0 +1,52 @@ +{ + "fill" : { + "linear-gradient" : [ + "display-p3:1.00000,1.00000,1.00000,1.00000", + "srgb:0.93725,0.93725,0.97255,1.00000" + ], + "orientation" : { + "start" : { + "x" : 0.5, + "y" : 0 + }, + "stop" : { + "x" : 0.5, + "y" : 0.7 + } + } + }, + "groups" : [ + { + "layers" : [ + { + "glass" : false, + "image-name-specializations" : [ + { + "value" : "monerocom-icon-app.svg" + }, + { + "appearance" : "dark", + "value" : "monerocom-icon-app-dark.svg" + }, + { + "appearance" : "tinted", + "value" : "monero-tinted.svg" + } + ], + "name" : "monerocom-icon-app-dark" + } + ], + "shadow" : { + "kind" : "neutral", + "opacity" : 0.5 + }, + "translucency" : { + "enabled" : true, + "value" : 0.5 + } + } + ], + "supported-platforms" : { + "squares" : "shared" + } +} \ No newline at end of file diff --git a/cw_bitcoin/lib/lightning/lightning_wallet.dart b/cw_bitcoin/lib/lightning/lightning_wallet.dart index 91890d20f..deef7204b 100644 --- a/cw_bitcoin/lib/lightning/lightning_wallet.dart +++ b/cw_bitcoin/lib/lightning/lightning_wallet.dart @@ -213,14 +213,14 @@ class LightningWallet { PrepareLnurlPayRequest request; if (inputType is InputType_LightningAddress) { request = PrepareLnurlPayRequest( - amountSats: amountSats!, + amount: amountSats!, payRequest: inputType.field0.payRequest, validateSuccessActionUrl: optionalValidateSuccessActionUrl, feePolicy: feePolicy, ); } else { request = PrepareLnurlPayRequest( - amountSats: amountSats!, + amount: amountSats!, payRequest: (inputType as InputType_LnurlPay).field0, validateSuccessActionUrl: optionalValidateSuccessActionUrl, feePolicy: feePolicy, diff --git a/cw_bitcoin/pubspec.lock b/cw_bitcoin/pubspec.lock index 4d33cf36d..b7e893e90 100644 --- a/cw_bitcoin/pubspec.lock +++ b/cw_bitcoin/pubspec.lock @@ -134,11 +134,11 @@ packages: dependency: "direct main" description: path: "." - ref: "v0.11.0" - resolved-ref: "4a6110477c526ddf236c6b5d4ad064802062f5ad" + ref: "v0.14.0" + resolved-ref: e18b6437daaf0572de6aea2439c2ec4d22658bbb url: "https://github.com/breez/breez-sdk-spark-flutter" source: git - version: "0.11.0" + version: "0.14.0" bs58check: dependency: transitive description: diff --git a/cw_bitcoin/pubspec.yaml b/cw_bitcoin/pubspec.yaml index d58919ea1..28e99f483 100644 --- a/cw_bitcoin/pubspec.yaml +++ b/cw_bitcoin/pubspec.yaml @@ -72,7 +72,7 @@ dependencies: breez_sdk_spark_flutter: git: url: https://github.com/breez/breez-sdk-spark-flutter - ref: v0.11.0 + ref: v0.14.0 dev_dependencies: flutter_test: diff --git a/cw_core/lib/currencies_with_memo.dart b/cw_core/lib/currencies_with_memo.dart new file mode 100644 index 000000000..e12a14b31 --- /dev/null +++ b/cw_core/lib/currencies_with_memo.dart @@ -0,0 +1,13 @@ +import 'package:cw_core/crypto_currency.dart'; + +enum MemoLabelType { destinationTag, memo } + +const Map _currenciesRequiringMemo = { + CryptoCurrency.xrp: MemoLabelType.destinationTag, + CryptoCurrency.xlm: MemoLabelType.memo, + CryptoCurrency.ton: MemoLabelType.memo, + CryptoCurrency.eos: MemoLabelType.memo, + CryptoCurrency.hbar: MemoLabelType.memo, +}; + +MemoLabelType? memoLabelTypeFor(CryptoCurrency currency) => _currenciesRequiringMemo[currency]; diff --git a/cw_core/lib/db/sqlite.dart b/cw_core/lib/db/sqlite.dart index 311344a96..593b1b14f 100644 --- a/cw_core/lib/db/sqlite.dart +++ b/cw_core/lib/db/sqlite.dart @@ -41,7 +41,7 @@ Future initDb({String? pathOverride}) async { } } await db?.close(); - db = await openDatabase(dbFile.path, version: 6, + db = await openDatabase(dbFile.path, version: 7, onUpgrade: (Database db, int oldVersion, int newVersion) async { printV("migrating: $oldVersion, $newVersion"); if (oldVersion <= 1) { @@ -96,6 +96,14 @@ CREATE TABLE IF NOT EXISTS BalanceCardStyleSettings ( if (oldVersion <= 5) { await _createTradeTable(db); } + if (oldVersion <= 6) { + await _addColumnIfNotExists( + db, + table: 'Trade', + column: 'toAddressExtraId', + definition: 'TEXT', + ); + } }, onCreate: (Database db, int version) async { await db.execute( @@ -234,6 +242,7 @@ CREATE TABLE IF NOT EXISTS Trade ( refundAddress TEXT, walletId TEXT, payoutAddress TEXT, + toAddressExtraId TEXT, password TEXT, providerId TEXT, providerName TEXT, diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 66410e642..e661632c8 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,15 +1,11 @@ PODS: - bitbox_flutter (0.0.1): - Flutter - - breez_sdk_spark_flutter (0.11.0): + - breez_sdk_spark_flutter (0.14.0): - Flutter - connectivity_plus (0.0.1): - Flutter - CryptoSwift (1.8.4) - - cw_decred (0.0.1): - - Flutter - - cw_mweb (0.0.1): - - Flutter - device_display_brightness (0.0.1): - Flutter - device_info_plus (0.0.1): @@ -67,8 +63,6 @@ PODS: - Flutter - flutter_mailer (0.0.1): - Flutter - - flutter_native_splash (2.4.3): - - Flutter - flutter_secure_storage (6.0.0): - Flutter - fluttertoast (0.0.2): @@ -79,16 +73,12 @@ PODS: - Flutter - integration_test (0.0.1): - Flutter - - local_auth_darwin (0.0.1): - - Flutter - - FlutterMacOS - OrderedSet (6.0.3) - package_info_plus (0.4.5): - Flutter - path_provider_foundation (0.0.1): - Flutter - FlutterMacOS - - payjoin_flutter (0.23.0) - permission_handler_apple (9.3.0): - Flutter - quick_actions_ios (0.0.1): @@ -96,10 +86,6 @@ PODS: - reown_yttrium (0.0.1): - Flutter - YttriumWrapper (= 0.8.35) - - rive_common (0.0.1): - - Flutter - - rlz (0.0.1): - - Flutter - SDWebImage (5.21.2): - SDWebImage/Core (= 5.21.2) - SDWebImage/Core (5.21.2) @@ -110,8 +96,6 @@ PODS: - shared_preferences_foundation (0.0.1): - Flutter - FlutterMacOS - - sp_scanner (0.0.1): - - Flutter - sqflite_darwin (0.0.4): - Flutter - FlutterMacOS @@ -152,17 +136,12 @@ PODS: - Flutter - wakelock_plus (0.0.1): - Flutter - - warp_api (0.0.1): - - Flutter - YttriumWrapper (0.8.35) DEPENDENCIES: - bitbox_flutter (from `.symlinks/plugins/bitbox_flutter/ios`) - - breez_sdk_spark_flutter (from `.symlinks/plugins/breez_sdk_spark_flutter/ios`) - connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`) - CryptoSwift - - cw_decred (from `.symlinks/plugins/cw_decred/ios`) - - cw_mweb (from `.symlinks/plugins/cw_mweb/ios`) - device_display_brightness (from `.symlinks/plugins/device_display_brightness/ios`) - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) - devicelocale (from `.symlinks/plugins/devicelocale/ios`) @@ -174,25 +153,19 @@ DEPENDENCIES: - flutter_local_authentication (from `.symlinks/plugins/flutter_local_authentication/ios`) - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) - flutter_mailer (from `.symlinks/plugins/flutter_mailer/ios`) - - flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`) - flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`) - fluttertoast (from `.symlinks/plugins/fluttertoast/ios`) - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) - in_app_review (from `.symlinks/plugins/in_app_review/ios`) - integration_test (from `.symlinks/plugins/integration_test/ios`) - - local_auth_darwin (from `.symlinks/plugins/local_auth_darwin/darwin`) - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) - - payjoin_flutter (from `.symlinks/plugins/payjoin_flutter/ios`) - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) - quick_actions_ios (from `.symlinks/plugins/quick_actions_ios/ios`) - reown_yttrium (from `.symlinks/plugins/reown_yttrium/ios`) - - rive_common (from `.symlinks/plugins/rive_common/ios`) - - rlz (from `.symlinks/plugins/rlz/ios`) - sensitive_clipboard (from `.symlinks/plugins/sensitive_clipboard/ios`) - share_plus (from `.symlinks/plugins/share_plus/ios`) - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - - sp_scanner (from `.symlinks/plugins/sp_scanner/ios`) - sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`) - sqlite3_flutter_libs (from `.symlinks/plugins/sqlite3_flutter_libs/darwin`) - torch_dart (from `.symlinks/plugins/torch_dart/ios`) @@ -200,7 +173,6 @@ DEPENDENCIES: - universal_ble (from `.symlinks/plugins/universal_ble/darwin`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) - wakelock_plus (from `.symlinks/plugins/wakelock_plus/ios`) - - warp_api (from `.symlinks/plugins/warp_api/ios`) SPEC REPOS: https://github.com/CocoaPods/Specs.git: @@ -216,14 +188,8 @@ SPEC REPOS: EXTERNAL SOURCES: bitbox_flutter: :path: ".symlinks/plugins/bitbox_flutter/ios" - breez_sdk_spark_flutter: - :path: ".symlinks/plugins/breez_sdk_spark_flutter/ios" connectivity_plus: :path: ".symlinks/plugins/connectivity_plus/ios" - cw_decred: - :path: ".symlinks/plugins/cw_decred/ios" - cw_mweb: - :path: ".symlinks/plugins/cw_mweb/ios" device_display_brightness: :path: ".symlinks/plugins/device_display_brightness/ios" device_info_plus: @@ -246,8 +212,6 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/flutter_local_notifications/ios" flutter_mailer: :path: ".symlinks/plugins/flutter_mailer/ios" - flutter_native_splash: - :path: ".symlinks/plugins/flutter_native_splash/ios" flutter_secure_storage: :path: ".symlinks/plugins/flutter_secure_storage/ios" fluttertoast: @@ -258,32 +222,22 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/in_app_review/ios" integration_test: :path: ".symlinks/plugins/integration_test/ios" - local_auth_darwin: - :path: ".symlinks/plugins/local_auth_darwin/darwin" package_info_plus: :path: ".symlinks/plugins/package_info_plus/ios" path_provider_foundation: :path: ".symlinks/plugins/path_provider_foundation/darwin" - payjoin_flutter: - :path: ".symlinks/plugins/payjoin_flutter/ios" permission_handler_apple: :path: ".symlinks/plugins/permission_handler_apple/ios" quick_actions_ios: :path: ".symlinks/plugins/quick_actions_ios/ios" reown_yttrium: :path: ".symlinks/plugins/reown_yttrium/ios" - rive_common: - :path: ".symlinks/plugins/rive_common/ios" - rlz: - :path: ".symlinks/plugins/rlz/ios" sensitive_clipboard: :path: ".symlinks/plugins/sensitive_clipboard/ios" share_plus: :path: ".symlinks/plugins/share_plus/ios" shared_preferences_foundation: :path: ".symlinks/plugins/shared_preferences_foundation/darwin" - sp_scanner: - :path: ".symlinks/plugins/sp_scanner/ios" sqflite_darwin: :path: ".symlinks/plugins/sqflite_darwin/darwin" sqlite3_flutter_libs: @@ -298,60 +252,49 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/url_launcher_ios/ios" wakelock_plus: :path: ".symlinks/plugins/wakelock_plus/ios" - warp_api: - :path: ".symlinks/plugins/warp_api/ios" SPEC CHECKSUMS: bitbox_flutter: 9505732798041c413152669751beeaecc5fe400f - breez_sdk_spark_flutter: 5bf9ff7455198c770b908c5d2ee52283474225f1 + breez_sdk_spark_flutter: ed3b6709b8ce9b40309d8728640eade5b19e8a0d connectivity_plus: cb623214f4e1f6ef8fe7403d580fdad517d2f7dd CryptoSwift: e64e11850ede528a02a0f3e768cec8e9d92ecb90 - cw_decred: a02cf30175a46971c1e2fa22c48407534541edc6 - cw_mweb: 3aea2fb35b2bd04d8b2d21b83216f3b8fb768d85 - device_display_brightness: 04374ebd653619292c1d996f00f42877ea19f17f - device_info_plus: 335f3ce08d2e174b9fdc3db3db0f4e3b1f66bd89 - devicelocale: bd64aa714485a8afdaded0892c1e7d5b7f680cf8 + device_display_brightness: 1510e72c567a1f6ce6ffe393dcd9afd1426034f7 + device_info_plus: c6fb39579d0f423935b0c9ce7ee2f44b71b9fce6 + devicelocale: 35ba84dc7f45f527c3001535d8c8d104edd5d926 DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60 dnssec_proof: d461cac7bd3301eb7447f87936745a0c1ae0a67e - fast_scanner: 2cb1ad3e69e645e9980fb4961396ce5804caa3e3 - file_picker: 9b3292d7c8bc68c8a7bf8eb78f730e49c8efc517 + fast_scanner: 44c00940355a51258cd6c2085734193cd23d95bc + file_picker: 09aa5ec1ab24135ccd7a1621c46c84134bfd6655 Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 - flutter_inappwebview_ios: b89ba3482b96fb25e00c967aae065701b66e9b99 - flutter_local_authentication: 989278c681612f1ee0e36019e149137f114b9d7f - flutter_local_notifications: a5a732f069baa862e728d839dd2ebb904737effb - flutter_mailer: 3a8cd4f36c960fb04528d5471097270c19fec1c4 - flutter_native_splash: c32d145d68aeda5502d5f543ee38c192065986cf - flutter_secure_storage: 2c2ff13db9e0a5647389bff88b0ecac56e3f3418 - fluttertoast: 2c67e14dce98bbdb200df9e1acf610d7a6264ea1 - image_picker_ios: 7fe1ff8e34c1790d6fff70a32484959f563a928a - in_app_review: 7dd1ea365263f834b8464673f9df72c80c17c937 - integration_test: 4a889634ef21a45d28d50d622cf412dc6d9f586e - local_auth_darwin: d2e8c53ef0c4f43c646462e3415432c4dab3ae19 + flutter_inappwebview_ios: 6f63631e2c62a7c350263b13fa5427aedefe81d4 + flutter_local_authentication: 1172a4dd88f6306dadce067454e2c4caf07977bb + flutter_local_notifications: ff50f8405aaa0ccdc7dcfb9022ca192e8ad9688f + flutter_mailer: 2ef5a67087bc8c6c4cefd04a178bf1ae2c94cd83 + flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be + fluttertoast: 21eecd6935e7064cc1fcb733a4c5a428f3f24f0f + image_picker_ios: c560581cceedb403a6ff17f2f816d7fea1421fc1 + in_app_review: 436034b18594851a7328d7f1c2ed5ec235b79cfc + integration_test: 252f60fa39af5e17c3aa9899d35d908a0721b573 OrderedSet: e539b66b644ff081c73a262d24ad552a69be3a94 - package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499 - path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564 - payjoin_flutter: d9d4c8aa16bd5dfedb9b21d0edc8199e0187d96e - permission_handler_apple: 4ed2196e43d0651e8ff7ca3483a069d469701f2d - quick_actions_ios: 4b07fb49d8d8f3518d7565fbb7a91014067a7d82 - reown_yttrium: cee334ade64725b1d83f7b34c706a6aae2696d58 - rive_common: dd421daaf9ae69f0125aa761dd96abd278399952 - rlz: 3f4022361f540a5c26d9d2474fea1d2455b69d8d + package_info_plus: c0502532a26c7662a62a356cebe2692ec5fe4ec4 + path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 + permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2 + quick_actions_ios: 56f3cbaa71e94f212838d1f9fe354bd0734779bf + reown_yttrium: c0e87e5965fa60a3559564cc35cffbba22976089 SDWebImage: 9f177d83116802728e122410fb25ad88f5c7608a - sensitive_clipboard: 161e9abc3d56b3131309d8a321eb4690a803c16b - share_plus: 50da8cb520a8f0f65671c6c6a99b3617ed10a58a - shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7 - sp_scanner: b1bc9321690980bdb44bba7ec85d5543e716d1b5 - sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0 + sensitive_clipboard: d4866e5d176581536c27bb1618642ee83adca986 + share_plus: 8b6f8b3447e494cca5317c8c3073de39b3600d1f + shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 + sqflite_darwin: 5a7236e3b501866c1c9befc6771dfd73ffb8702d sqlite3: 73513155ec6979715d3904ef53a8d68892d4032b - sqlite3_flutter_libs: 83f8e9f5b6554077f1d93119fe20ebaa5f3a9ef1 + sqlite3_flutter_libs: 86f82662868ee26ff3451f73cac9c5fc2a1f57fa SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4 - torch_dart: f4620705d10f05492fab047f2fa1c3a600e7d17d - uni_links: ed8c961e47ed9ce42b6d91e1de8049e38a4b3152 - universal_ble: ff19787898040d721109c6324472e5dd4bc86adc - url_launcher_ios: 694010445543906933d732453a59da0a173ae33d - wakelock_plus: e29112ab3ef0b318e58cfa5c32326458be66b556 - warp_api: 997d8fb3e777669bc6260d0c12e56cd40b9db1d1 + torch_dart: d2cf778332cc6e6a3b362dcf45e4dde52bc34e35 + uni_links: d97da20c7701486ba192624d99bffaaffcfc298a + universal_ble: cf52a7b3fd2e7c14d6d7262e9fdadb72ab6b88a6 + url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe + wakelock_plus: 76957ab028e12bfa4e66813c99e46637f367fc7e YttriumWrapper: 31e937fe9fbe0f1314d2ca6be9ce9b379a059966 PODFILE CHECKSUM: 5296465b1c6d14d506230356756826012f65d97a diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 6df8e02bf..acde3147e 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -18,6 +18,7 @@ 724FDA327BF191BC29DCAA2E /* Constants.swift in Resources */ = {isa = PBXBuildFile; fileRef = 0CCA7ADAD6FF9185EBBB2BCA /* Constants.swift */; settings = {ASSET_TAGS = (BreezSDK, ); }; }; 73138617307FA4F838D21D62 /* ServiceLogger.swift in Resources */ = {isa = PBXBuildFile; fileRef = F42258C3697CFE3C8C8D1933 /* ServiceLogger.swift */; settings = {ASSET_TAGS = (BreezSDK, ); }; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 8482AC522FBB29FF00FFF059 /* AppIcon.icon in Resources */ = {isa = PBXBuildFile; fileRef = 8482AC512FBB29FF00FFF059 /* AppIcon.icon */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; @@ -73,6 +74,7 @@ 78D25C60B94E9D9E48D52E5E /* ResourceHelper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResourceHelper.swift; path = "../.symlinks/plugins/breez_sdk/ios/bindings-swift/Sources/BreezSDK/ResourceHelper.swift"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; 7D3364C03978A8A74B6D586E /* LnurlPay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LnurlPay.swift; path = "../.symlinks/plugins/breez_sdk/ios/bindings-swift/Sources/BreezSDK/Task/LnurlPay.swift"; sourceTree = ""; }; + 8482AC512FBB29FF00FFF059 /* AppIcon.icon */ = {isa = PBXFileReference; lastKnownFileType = folder.iconcomposer.icon; path = AppIcon.icon; sourceTree = ""; }; 91C524F800843E0A3F17E004 /* ReceivePayment.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ReceivePayment.swift; path = "../.symlinks/plugins/breez_sdk/ios/bindings-swift/Sources/BreezSDK/Task/ReceivePayment.swift"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; @@ -175,6 +177,7 @@ 97C146EF1CF9000F007C117D /* Products */, 84389F1A05D5860790D82820 /* Pods */, 06957875428D0F5AAE053765 /* Frameworks */, + 8482AC512FBB29FF00FFF059 /* AppIcon.icon */, ); sourceTree = ""; }; @@ -301,6 +304,7 @@ 2193F104374FA2746CE8945B /* ResourceHelper.swift in Resources */, F5EE19868D6F10D814BF73AD /* SDKNotificationService.swift in Resources */, B6C6E59403ACDE44724C12F4 /* ServiceConfig.swift in Resources */, + 8482AC522FBB29FF00FFF059 /* AppIcon.icon in Resources */, 73138617307FA4F838D21D62 /* ServiceLogger.swift in Resources */, 495FEFF9B395392FED3425DE /* TaskProtocol.swift in Resources */, A1B4A70C9CFA13AB71662216 /* LnurlPay.swift in Resources */, @@ -519,7 +523,7 @@ "$(PROJECT_DIR)/Flutter", ); MARKETING_VERSION = 1.0.1; - PRODUCT_BUNDLE_IDENTIFIER = com.fotolockr.cakewallet; + PRODUCT_BUNDLE_IDENTIFIER = com.cakewallet.monero; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -671,7 +675,7 @@ ); MARKETING_VERSION = 1.0.1; ONLY_ACTIVE_ARCH = NO; - PRODUCT_BUNDLE_IDENTIFIER = com.fotolockr.cakewallet; + PRODUCT_BUNDLE_IDENTIFIER = com.cakewallet.monero; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -714,7 +718,7 @@ "$(PROJECT_DIR)/Flutter", ); MARKETING_VERSION = 1.0.1; - PRODUCT_BUNDLE_IDENTIFIER = com.fotolockr.cakewallet; + PRODUCT_BUNDLE_IDENTIFIER = com.cakewallet.monero; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; diff --git a/lib/exchange/provider/chainflip_exchange_provider.dart b/lib/exchange/provider/chainflip_exchange_provider.dart index 2d8acf8a2..e82fa6d4a 100644 --- a/lib/exchange/provider/chainflip_exchange_provider.dart +++ b/lib/exchange/provider/chainflip_exchange_provider.dart @@ -51,6 +51,9 @@ class ChainflipExchangeProvider extends ExchangeProvider { @override bool get supportsFixedRate => false; + @override + bool get supportsMemoOrDestinationTag => false; + @override ExchangeProviderDescription get description => ExchangeProviderDescription.chainflip; diff --git a/lib/exchange/provider/changenow_exchange_provider.dart b/lib/exchange/provider/changenow_exchange_provider.dart index d32a7d27d..15913b29e 100644 --- a/lib/exchange/provider/changenow_exchange_provider.dart +++ b/lib/exchange/provider/changenow_exchange_provider.dart @@ -189,6 +189,7 @@ class ChangeNowExchangeProvider extends ExchangeProvider { if (!isFixedRateMode) 'fromAmount': request.fromAmount, if (isFixedRateMode) 'toAmount': request.toAmount, 'address': request.toAddress, + if (request.toAddressExtraId.isNotEmpty) 'extraId': request.toAddressExtraId, 'flow': _getFlow(isFixedRateMode), 'type': type, 'refundAddress': request.refundAddress, @@ -248,6 +249,7 @@ class ChangeNowExchangeProvider extends ExchangeProvider { state: TradeState.created, payoutAddress: payoutAddress, isSendAll: isSendAll, + toAddressExtraId: request.toAddressExtraId, ); } diff --git a/lib/exchange/provider/exchange_provider.dart b/lib/exchange/provider/exchange_provider.dart index 55f422a9e..cdcfe3a55 100644 --- a/lib/exchange/provider/exchange_provider.dart +++ b/lib/exchange/provider/exchange_provider.dart @@ -19,6 +19,8 @@ abstract class ExchangeProvider { bool get supportsOnionAddress => false; + bool get supportsMemoOrDestinationTag => true; + @override String toString() => title; diff --git a/lib/exchange/provider/exolix_exchange_provider.dart b/lib/exchange/provider/exolix_exchange_provider.dart index fe0191594..6cd5fea71 100644 --- a/lib/exchange/provider/exolix_exchange_provider.dart +++ b/lib/exchange/provider/exolix_exchange_provider.dart @@ -198,6 +198,8 @@ class ExolixExchangeProvider extends ExchangeProvider { 'networkFrom': _networkFor(request.fromCurrency), 'networkTo': _networkFor(request.toCurrency), 'withdrawalAddress': await _normalizeAddress(request.toAddress), + if (request.toAddressExtraId.isNotEmpty) + 'withdrawalExtraId': request.toAddressExtraId, 'refundAddress': await _normalizeAddress(request.refundAddress), 'rateType': _getRateType(isFixedRateMode), 'apiToken': apiKey, @@ -315,6 +317,7 @@ class ExolixExchangeProvider extends ExchangeProvider { state: TradeState.created, payoutAddress: payoutAddress, isSendAll: isSendAll, + toAddressExtraId: request.toAddressExtraId, ); } diff --git a/lib/exchange/provider/jupiter_exchange_provider.dart b/lib/exchange/provider/jupiter_exchange_provider.dart index 6fc47e97b..9fa954ed1 100644 --- a/lib/exchange/provider/jupiter_exchange_provider.dart +++ b/lib/exchange/provider/jupiter_exchange_provider.dart @@ -41,6 +41,9 @@ class JupiterExchangeProvider extends ExchangeProvider { @override bool get supportsFixedRate => false; // Jupiter doesn't support fixed rate + @override + bool get supportsMemoOrDestinationTag => false; + @override ExchangeProviderDescription get description => ExchangeProviderDescription.jupiter; diff --git a/lib/exchange/provider/letsexchange_exchange_provider.dart b/lib/exchange/provider/letsexchange_exchange_provider.dart index 8e5f4970a..14012f1e5 100644 --- a/lib/exchange/provider/letsexchange_exchange_provider.dart +++ b/lib/exchange/provider/letsexchange_exchange_provider.dart @@ -174,7 +174,7 @@ class LetsExchangeExchangeProvider extends ExchangeProvider { if (!isFixedRateMode) 'deposit_amount': request.fromAmount.toString(), 'withdrawal': withdrawalAddress, if (isFixedRateMode) 'withdrawal_amount': request.toAmount.toString(), - 'withdrawal_extra_id': '', + 'withdrawal_extra_id': request.toAddressExtraId, 'return': returnAddress, 'rate_id': rateId, if (networkFrom != null) 'network_from': networkFrom, @@ -302,6 +302,7 @@ class LetsExchangeExchangeProvider extends ExchangeProvider { expiredAt: expiredAt, extraId: extraId, isSendAll: isSendAll, + toAddressExtraId: request.toAddressExtraId, ); } catch (e, s) { ExchangeProviderLogger.logError( diff --git a/lib/exchange/provider/near_Intents_exchange_provider.dart b/lib/exchange/provider/near_Intents_exchange_provider.dart index 544bd3f30..dbe6ebdcf 100644 --- a/lib/exchange/provider/near_Intents_exchange_provider.dart +++ b/lib/exchange/provider/near_Intents_exchange_provider.dart @@ -88,6 +88,9 @@ class NearIntentsExchangeProvider extends ExchangeProvider { @override bool get supportsFixedRate => true; + @override + bool get supportsMemoOrDestinationTag => false; + @override ExchangeProviderDescription get description => ExchangeProviderDescription.nearIntents; diff --git a/lib/exchange/provider/sideshift_exchange_provider.dart b/lib/exchange/provider/sideshift_exchange_provider.dart index 2a49c0bc5..e1c18ccb7 100644 --- a/lib/exchange/provider/sideshift_exchange_provider.dart +++ b/lib/exchange/provider/sideshift_exchange_provider.dart @@ -216,6 +216,7 @@ class SideShiftExchangeProvider extends ExchangeProvider { final body = { 'affiliateId': affiliateId, 'settleAddress': request.toAddress, + if (request.toAddressExtraId.isNotEmpty) 'settleMemo': request.toAddressExtraId, 'refundAddress': request.refundAddress, }; @@ -336,6 +337,7 @@ class SideShiftExchangeProvider extends ExchangeProvider { createdAt: DateTime.now(), isSendAll: isSendAll, extraId: depositMemo, + toAddressExtraId: request.toAddressExtraId, ); } diff --git a/lib/exchange/provider/simpleswap_exchange_provider.dart b/lib/exchange/provider/simpleswap_exchange_provider.dart index 85ee57cad..de59f3e85 100644 --- a/lib/exchange/provider/simpleswap_exchange_provider.dart +++ b/lib/exchange/provider/simpleswap_exchange_provider.dart @@ -180,7 +180,8 @@ class SimpleSwapExchangeProvider extends ExchangeProvider { "amount": request.fromAmount, "fixed": isFixedRateMode, "user_refund_address": _normalizeAddress(request.refundAddress), - "address_to": _normalizeAddress(request.toAddress) + "address_to": _normalizeAddress(request.toAddress), + if (request.toAddressExtraId.isNotEmpty) "extra_id_to": request.toAddressExtraId, }; final uri = Uri.https(apiAuthority, createExchangePath, params); @@ -289,6 +290,7 @@ class SimpleSwapExchangeProvider extends ExchangeProvider { payoutAddress: payoutAddress, createdAt: DateTime.now(), isSendAll: isSendAll, + toAddressExtraId: request.toAddressExtraId, ); } diff --git a/lib/exchange/provider/stealth_ex_exchange_provider.dart b/lib/exchange/provider/stealth_ex_exchange_provider.dart index 22c4be96c..a6064715a 100644 --- a/lib/exchange/provider/stealth_ex_exchange_provider.dart +++ b/lib/exchange/provider/stealth_ex_exchange_provider.dart @@ -186,6 +186,7 @@ class StealthExExchangeProvider extends ExchangeProvider { 'amount': isFixedRateMode ? double.parse(request.toAmount) : double.parse(request.fromAmount), 'address': _normalizeAddress(request.toAddress), + if (request.toAddressExtraId.isNotEmpty) 'extra_id': request.toAddressExtraId, 'refund_address': _normalizeAddress(request.refundAddress), 'additional_fee_percent': _additionalFeePercent, }; @@ -299,6 +300,7 @@ class StealthExExchangeProvider extends ExchangeProvider { expiredAt: expiredAt, extraId: extraId, isSendAll: isSendAll, + toAddressExtraId: request.toAddressExtraId, ); } catch (e, s) { ExchangeProviderLogger.logError( diff --git a/lib/exchange/provider/swapsxyz_exchange_provider.dart b/lib/exchange/provider/swapsxyz_exchange_provider.dart index 0d9d8728a..6eb1b161f 100644 --- a/lib/exchange/provider/swapsxyz_exchange_provider.dart +++ b/lib/exchange/provider/swapsxyz_exchange_provider.dart @@ -54,6 +54,9 @@ class SwapsXyzExchangeProvider extends ExchangeProvider { @override bool get supportsFixedRate => false; + @override + bool get supportsMemoOrDestinationTag => false; + @override ExchangeProviderDescription get description => ExchangeProviderDescription.swapsXyz; diff --git a/lib/exchange/provider/swaptrade_exchange_provider.dart b/lib/exchange/provider/swaptrade_exchange_provider.dart index 912334462..847f6a422 100644 --- a/lib/exchange/provider/swaptrade_exchange_provider.dart +++ b/lib/exchange/provider/swaptrade_exchange_provider.dart @@ -37,6 +37,9 @@ class SwapTradeExchangeProvider extends ExchangeProvider { @override bool get supportsFixedRate => false; + @override + bool get supportsMemoOrDestinationTag => false; + @override ExchangeProviderDescription get description => ExchangeProviderDescription.swapTrade; diff --git a/lib/exchange/provider/thorchain_exchange.provider.dart b/lib/exchange/provider/thorchain_exchange.provider.dart index aacf04b3f..1d05a4fa9 100644 --- a/lib/exchange/provider/thorchain_exchange.provider.dart +++ b/lib/exchange/provider/thorchain_exchange.provider.dart @@ -36,6 +36,9 @@ class ThorChainExchangeProvider extends ExchangeProvider { @override bool get supportsFixedRate => false; + @override + bool get supportsMemoOrDestinationTag => false; + @override ExchangeProviderDescription get description => ExchangeProviderDescription.thorChain; diff --git a/lib/exchange/provider/trocador_exchange_provider.dart b/lib/exchange/provider/trocador_exchange_provider.dart index 99e8b05a7..a9d977dd6 100644 --- a/lib/exchange/provider/trocador_exchange_provider.dart +++ b/lib/exchange/provider/trocador_exchange_provider.dart @@ -235,6 +235,7 @@ class TrocadorExchangeProvider extends ExchangeProvider { if (!isFixedRateMode) 'amount_from': request.fromAmount, if (isFixedRateMode) 'amount_to': request.toAmount, 'address': request.toAddress, + if (request.toAddressExtraId.isNotEmpty) 'address_memo': request.toAddressExtraId, 'refund': request.refundAddress, 'refund_memo': '0', }; @@ -392,6 +393,7 @@ class TrocadorExchangeProvider extends ExchangeProvider { payoutAddress: payoutAddress, isSendAll: isSendAll, extraId: addressProviderMemo, + toAddressExtraId: request.toAddressExtraId, ); } diff --git a/lib/exchange/provider/xoswap_exchange_provider.dart b/lib/exchange/provider/xoswap_exchange_provider.dart index 35ede0bf8..0c8dff7c8 100644 --- a/lib/exchange/provider/xoswap_exchange_provider.dart +++ b/lib/exchange/provider/xoswap_exchange_provider.dart @@ -321,6 +321,7 @@ class XOSwapExchangeProvider extends ExchangeProvider { 'fromAddress': request.refundAddress, 'toAmount': request.toAmount, 'toAddress': request.toAddress, + if (request.toAddressExtraId.isNotEmpty) 'toAddressTag': request.toAddressExtraId, 'pairId': pairId, }; @@ -424,6 +425,7 @@ class XOSwapExchangeProvider extends ExchangeProvider { payoutAddress: payoutAddress, extraId: extraId, isSendAll: isSendAll, + toAddressExtraId: request.toAddressExtraId, ); } catch (e, s) { ExchangeProviderLogger.logError( diff --git a/lib/exchange/trade.dart b/lib/exchange/trade.dart index b6052c2f5..42968a4f3 100644 --- a/lib/exchange/trade.dart +++ b/lib/exchange/trade.dart @@ -27,6 +27,7 @@ class Trade { this.refundAddress, this.walletId, this.payoutAddress, + this.toAddressExtraId, this.password, this.providerId, this.providerName, @@ -86,6 +87,9 @@ class Trade { String? refundAddress; String? walletId; String? payoutAddress; + + // holds the receive address memo or destination tag that was passed for this trade + String? toAddressExtraId; String? password; String? providerId; String? providerName; @@ -221,6 +225,7 @@ class Trade { 'refundAddress': refundAddress, 'walletId': walletId, 'payoutAddress': payoutAddress, + 'toAddressExtraId': toAddressExtraId, 'password': password, 'providerId': providerId, 'providerName': providerName, @@ -264,6 +269,7 @@ class Trade { refundAddress: row['refundAddress'] as String?, walletId: row['walletId'] as String?, payoutAddress: row['payoutAddress'] as String?, + toAddressExtraId: row['toAddressExtraId'] as String?, password: row['password'] as String?, providerId: row['providerId'] as String?, providerName: row['providerName'] as String?, diff --git a/lib/exchange/trade_request.dart b/lib/exchange/trade_request.dart index 826bd8733..833e4b126 100644 --- a/lib/exchange/trade_request.dart +++ b/lib/exchange/trade_request.dart @@ -8,6 +8,7 @@ class TradeRequest { required this.refundAddress, required this.fromAmount, this.toAmount = '', + this.toAddressExtraId = '', this.isFixedRate = false}); final CryptoCurrency fromCurrency; @@ -16,5 +17,6 @@ class TradeRequest { final String refundAddress; final String fromAmount; final String toAmount; + final String toAddressExtraId; final bool isFixedRate; } diff --git a/lib/new-ui/pages/swap_page.dart b/lib/new-ui/pages/swap_page.dart index 642929414..30f0d155d 100644 --- a/lib/new-ui/pages/swap_page.dart +++ b/lib/new-ui/pages/swap_page.dart @@ -12,6 +12,7 @@ import 'package:cake_wallet/new-ui/widgets/keyboard_hide_overlay.dart'; import 'package:cake_wallet/new-ui/widgets/modern_button.dart'; import 'package:cake_wallet/new-ui/widgets/receive_page/receive_top_bar.dart'; import 'package:cake_wallet/new-ui/widgets/send_page/fiat_amount_bar.dart'; +import 'package:cake_wallet/new-ui/widgets/send_page/send_memo_input.dart'; import 'package:cake_wallet/new-ui/widgets/send_page/send_syncing_indicator.dart'; import 'package:cake_wallet/new-ui/widgets/swap_page/provider_selector_page.dart'; import 'package:cake_wallet/new-ui/widgets/swap_page/refund_address_modal.dart'; @@ -37,6 +38,7 @@ import 'package:cake_wallet/view_model/exchange/exchange_trade_view_model.dart'; import 'package:cake_wallet/view_model/exchange/exchange_view_model.dart'; import 'package:cake_wallet/view_model/wallet_switcher_view_model.dart'; import 'package:cw_core/crypto_currency.dart'; +import 'package:cw_core/currencies_with_memo.dart'; import 'package:cw_core/currency.dart'; import 'package:cw_core/sync_status.dart'; import 'package:cw_core/utils/print_verbose.dart'; @@ -837,12 +839,43 @@ class SwapAmountBoxState extends State { final amountController = TextEditingController(); final fiatAmountController = TextEditingController(); final amountFocusNode = FocusNode(); + final memoController = TextEditingController(); + ReactionDisposer? _memoReactionDisposer; + VoidCallback? _memoListener; @override void initState() { _selectedCurrency = widget.initialCurrency; super.initState(); + + if (widget.isReceiverCard) { + memoController.text = widget.exchangeViewModel.receiveAddressExtraId; + + _memoListener = () { + if (widget.exchangeViewModel.receiveAddressExtraId != memoController.text) { + widget.exchangeViewModel.receiveAddressExtraId = memoController.text; + } + }; + memoController.addListener(_memoListener!); + + _memoReactionDisposer = + reaction((_) => widget.exchangeViewModel.receiveAddressExtraId, (String value) { + if (memoController.text != value) { + memoController.text = value; + } + }); + } + } + + @override + void dispose() { + if (_memoListener != null) { + memoController.removeListener(_memoListener!); + } + _memoReactionDisposer?.call(); + memoController.dispose(); + super.dispose(); } late Currency _selectedCurrency; @@ -1128,7 +1161,29 @@ class SwapAmountBoxState extends State { ], ); }, - ) + ), + if (widget.isReceiverCard) + Observer(builder: (_) { + final selected = widget.exchangeViewModel.receiveCurrency; + final labelType = memoLabelTypeFor(selected); + if (labelType == null) return const SizedBox.shrink(); + + final isDestinationTag = labelType == MemoLabelType.destinationTag; + final hint = isDestinationTag + ? S.of(context).destination_tag_optional + : S.of(context).memo_optional; + final disclaimer = isDestinationTag + ? S.of(context).destination_tag_swap_disclaimer + : S.of(context).memo_swap_disclaimer; + + return NewSendMemoInput( + memoController: memoController, + maxMemoLength: isDestinationTag ? 20 : 256, + memoLength: memoController.text.length, + hintText: hint, + disclaimerText: disclaimer, + ); + }), ], ), ), diff --git a/lib/new-ui/widgets/send_page/send_confirm_sheet.dart b/lib/new-ui/widgets/send_page/send_confirm_sheet.dart index d793216df..853a82adb 100644 --- a/lib/new-ui/widgets/send_page/send_confirm_sheet.dart +++ b/lib/new-ui/widgets/send_page/send_confirm_sheet.dart @@ -15,7 +15,6 @@ import 'package:cw_core/crypto_amount_format.dart'; import 'package:cw_core/crypto_currency.dart'; import 'package:flutter/material.dart'; import 'package:flutter_mobx/flutter_mobx.dart'; -import 'package:flutter_svg/flutter_svg.dart'; import 'package:mobx/mobx.dart'; class SendConfirmSheet extends StatefulWidget { @@ -216,8 +215,10 @@ class SendTransactionDetails extends StatelessWidget { final showAddress = !sendViewModel.outputs.any((e) => RegExp(AddressValidator.bolt11InvoiceMatcher).hasMatch(e.address.toLowerCase()) || RegExp(AddressValidator.lnurlMatcher).hasMatch(e.address.toLowerCase()) || - RegExp(AddressValidator.lnurlMatcher) - .hasMatch(e.parsedAddress.addresses.first.toLowerCase())); + (e.isParsedAddress && + e.parsedAddress.addresses.isNotEmpty && + RegExp(AddressValidator.lnurlMatcher) + .hasMatch(e.parsedAddress.addresses.first.toLowerCase()))); final outputs = sendViewModel.outputs; diff --git a/lib/new-ui/widgets/send_page/send_memo_input.dart b/lib/new-ui/widgets/send_page/send_memo_input.dart index dd5e21682..ccc990d70 100644 --- a/lib/new-ui/widgets/send_page/send_memo_input.dart +++ b/lib/new-ui/widgets/send_page/send_memo_input.dart @@ -8,11 +8,15 @@ class NewSendMemoInput extends StatelessWidget { {super.key, required this.memoController, required this.maxMemoLength, - required this.memoLength}); + required this.memoLength, + this.hintText, + this.disclaimerText}); final TextEditingController memoController; final int maxMemoLength; final int memoLength; + final String? hintText; + final String? disclaimerText; @override Widget build(BuildContext context) { @@ -30,8 +34,8 @@ class NewSendMemoInput extends StatelessWidget { child: TextField( maxLength: maxMemoLength, controller: memoController, - decoration: - InputDecoration(hintText: S.of(context).memo_optional, counterText: ""), + decoration: InputDecoration( + hintText: hintText ?? S.of(context).memo_optional, counterText: ""), ), ), SizedBox(width: 12), @@ -52,9 +56,12 @@ class NewSendMemoInput extends StatelessWidget { child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Text(S.of(context).memo_disclaimer, - style: TextStyle( - fontSize: 12, color: Theme.of(context).colorScheme.onSurfaceVariant)), + Expanded( + child: Text(disclaimerText ?? S.of(context).memo_disclaimer, + style: TextStyle( + fontSize: 12, + color: Theme.of(context).colorScheme.onSurfaceVariant)), + ), Text("${memoController.text.length} / ${maxMemoLength}", style: TextStyle(fontSize: 12, color: Theme.of(context).colorScheme.primary)) ], diff --git a/lib/new-ui/widgets/swap_page/swap_confirm_sheet.dart b/lib/new-ui/widgets/swap_page/swap_confirm_sheet.dart index 43db8c20b..9ccfb1453 100644 --- a/lib/new-ui/widgets/swap_page/swap_confirm_sheet.dart +++ b/lib/new-ui/widgets/swap_page/swap_confirm_sheet.dart @@ -14,6 +14,7 @@ import 'package:cake_wallet/src/widgets/new_list_row/new_list_section.dart'; import 'package:cake_wallet/view_model/exchange/exchange_trade_view_model.dart'; import 'package:cake_wallet/view_model/exchange/exchange_view_model.dart'; import 'package:cake_wallet/view_model/send/send_view_model_state.dart'; +import 'package:cw_core/currencies_with_memo.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_mobx/flutter_mobx.dart'; @@ -191,7 +192,19 @@ class SwapTransactionDetails extends StatelessWidget { showArrow: false, trailingText: exchangeViewModel.receiveAddressDisplayName ?? middleTruncate( - exchangeTradeViewModel.trade.payoutAddress ?? "", 8, 8)) + exchangeTradeViewModel.trade.payoutAddress ?? "", 8, 8)), + if ((exchangeTradeViewModel.trade.toAddressExtraId ?? '').isNotEmpty) + ListItemRegularRow( + keyValue: "receive memo", + showArrow: false, + label: memoLabelTypeFor(exchangeViewModel.receiveCurrency) == + MemoLabelType.destinationTag + ? S.of(context).destination_tag + : S.of(context).memo, + trailingText: middleTruncate( + exchangeTradeViewModel.trade.toAddressExtraId ?? "", 8, 8), + copyableText: exchangeTradeViewModel.trade.toAddressExtraId, + ), ], "${S.of(context).swap_id} (${S.of(context).tap_to_copy})": [ ListItemRegularRow( diff --git a/lib/src/screens/wallet_connect/services/walletkit_service.dart b/lib/src/screens/wallet_connect/services/walletkit_service.dart index fad06532e..5e215ea7e 100644 --- a/lib/src/screens/wallet_connect/services/walletkit_service.dart +++ b/lib/src/screens/wallet_connect/services/walletkit_service.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'dart:convert'; import 'dart:typed_data'; +import 'package:cw_core/utils/print_verbose.dart'; import 'package:cw_core/wallet_type.dart'; import 'package:eth_sig_util/util/utils.dart'; import 'package:flutter/material.dart'; @@ -149,6 +150,9 @@ abstract class WalletKitServiceBase with Store { _refreshPairings(); + sessions.clear(); + auth.clear(); + final newSessions = _walletKit.sessions.getAll(); sessions.addAll(newSessions); @@ -181,16 +185,16 @@ abstract class WalletKitServiceBase with Store { } @action - Future _emitEvent() async { + Future _emitEvent({int retries = 0}) async { final isOnline = _walletKit.core.connectivity.isOnline.value; - if (!isOnline) { + if (!isOnline && retries < 3) { await Future.delayed(const Duration(milliseconds: 500)); - _emitEvent(); + await _emitEvent(retries: ++retries); return; } - final sessions = _walletKit.sessions.getAll(); - for (var session in sessions) { + final engineSessions = _walletKit.sessions.getAll(); + for (var session in engineSessions) { final chainKeys = walletKeyService.getKeysForChain(appStore.wallet!); for (var chain in chainKeys) { for (var chainID in chain.chains) { @@ -200,13 +204,12 @@ abstract class WalletKitServiceBase with Store { namespaces: session.namespaces, ); if (events.contains('accountsChanged')) { - final chainKeys = walletKeyService.getKeysForChain(appStore.wallet!); - _walletKit.emitSessionEvent( + await _walletKit.emitSessionEvent( topic: session.topic, chainId: chainID, event: SessionEventParams( name: 'accountsChanged', - data: [chainKeys.first.publicKey], + data: [chain.publicKey], ), ); } @@ -215,6 +218,7 @@ abstract class WalletKitServiceBase with Store { try { await deletePairing(topic: session.pairingTopic); } catch (_) {} + sessions.removeWhere((s) => s.topic == session.topic); _refreshPairings(); } } catch (_) {} @@ -242,6 +246,10 @@ abstract class WalletKitServiceBase with Store { _walletKit.core.pairing.onPairingDelete.unsubscribe(_onPairingDelete); _walletKit.core.pairing.onPairingExpire.unsubscribe(_onPairingDelete); + sessions.clear(); + auth.clear(); + pairings.clear(); + isInitialized = false; } @@ -511,23 +519,57 @@ abstract class WalletKitServiceBase with Store { @action Future deletePairing({required String topic}) async { - final topicSessions = sessions.where((element) => element.pairingTopic == topic); + final topicSessions = + sessions.where((element) => element.pairingTopic == topic).toList(); await _walletKit.core.pairing.disconnect(topic: topic); for (var session in topicSessions) { - await _walletKit.disconnectSession( - topic: session.topic, - reason: Errors.getSdkError(Errors.USER_DISCONNECTED).toSignError(), - ); + try { + await _walletKit.disconnectSession( + topic: session.topic, + reason: Errors.getSdkError(Errors.USER_DISCONNECTED).toSignError(), + ); + } catch (_) {} } + + await _removePairingTopicFromLocalStorage(topic); + sessions.clear(); + sessions.addAll(_walletKit.sessions.getAll()); + _refreshPairings(); } @action Future disconnectSession({required String topic}) async { - await walletKit.disconnectSession( - topic: topic, - reason: Errors.getSdkError(Errors.USER_DISCONNECTED).toSignError(), - ); + String? pairingTopic; + for (final s in sessions) { + if (s.topic == topic) { + pairingTopic = s.pairingTopic; + break; + } + } + pairingTopic ??= _walletKit.sessions.get(topic)?.pairingTopic; + + try { + await walletKit.disconnectSession( + topic: topic, + reason: Errors.getSdkError(Errors.USER_DISCONNECTED).toSignError(), + ); + } catch (e) { + printV('disconnectSession: $e'); + } + + sessions.clear(); + sessions.addAll(_walletKit.sessions.getAll()); + + if (pairingTopic != null && + !_walletKit.sessions.getAll().any((s) => s.pairingTopic == pairingTopic)) { + await _removePairingTopicFromLocalStorage(pairingTopic); + try { + await _walletKit.core.pairing.disconnect(topic: pairingTopic); + } catch (_) {} + } + + _refreshPairings(); } @action @@ -637,6 +679,17 @@ abstract class WalletKitServiceBase with Store { return jsonList.map((item) => item as String).toList(); } + Future _removePairingTopicFromLocalStorage(String pairingTopic) async { + final key = getKeyForStoringTopicsForWallet(); + if (key.isEmpty) return; + + final topics = getPairingTopicsForWallet(key); + if (!topics.contains(pairingTopic)) return; + + topics.remove(pairingTopic); + await sharedPreferences.setString(key, jsonEncode(topics)); + } + Future savePairingTopicToLocalStorage(String pairingTopic) async { // Get key specific to the current wallet final key = getKeyForStoringTopicsForWallet(); diff --git a/lib/src/widgets/bottom_sheet/token_selection_bottom_sheet.dart b/lib/src/widgets/bottom_sheet/token_selection_bottom_sheet.dart index ea21c69f3..3910f876c 100644 --- a/lib/src/widgets/bottom_sheet/token_selection_bottom_sheet.dart +++ b/lib/src/widgets/bottom_sheet/token_selection_bottom_sheet.dart @@ -77,48 +77,78 @@ class _TokenSelectionContentState extends State<_TokenSelectionContent> { @override void initState() { super.initState(); - selectedNetwork = widget.fixedNetwork ?? WalletType.ethereum; + final baseNetwork = widget.fixedNetwork ?? WalletType.ethereum; + selectedNetwork = _resolveGenericETHDetectionResultToSpecificChain(baseNetwork, widget.paymentRequest.scheme.isNotEmpty); _autoSelectToken(); } bool get _isNetworkSelectable => widget.fixedNetwork == null || isEVMCompatibleChain(widget.fixedNetwork!); + CryptoCurrency? _tokenMatchingContract(List tokens, String? rawContract) { + final trimmed = rawContract?.trim(); + if (trimmed == null || trimmed.isEmpty) return null; + + for (final token in tokens) { + if (token is Erc20Token && token.contractAddress.toLowerCase() == trimmed.toLowerCase()) { + return token; + } else if (token is SPLToken && token.mintAddress == trimmed) { + return token; + } else if (token is TronToken && token.contractAddress == trimmed) { + return token; + } + } + return null; + } + + WalletType _resolveGenericETHDetectionResultToSpecificChain(WalletType network, bool hasURIScheme) { + if(hasURIScheme || network != WalletType.ethereum) return network; + + final current = widget.paymentViewModel.currentWalletType; + if (isEVMCompatibleChain(current)) return current; + return network; + } + Future _autoSelectToken() async { - if (selectedNetwork == null) return; + final initialNetwork = selectedNetwork; + if (initialNetwork == null || !mounted) return; + + final network = _resolveGenericETHDetectionResultToSpecificChain(initialNetwork, widget.paymentRequest.scheme.isNotEmpty); setState(() { + selectedNetwork = network; isLoadingTokens = true; tokenLoadError = null; }); try { - final tokens = await TokenUtilities.getAvailableTokensForNetwork( - selectedNetwork!, - ); + final tokens = await TokenUtilities.getAvailableTokensForNetwork(network); + if (!mounted) return; if (tokens.isEmpty) { setState(() { tokenLoadError = 'No tokens available'; isLoadingTokens = false; + selectedToken = null; }); return; } + final matchedToken = + _tokenMatchingContract(tokens, widget.paymentRequest.contractAddress) ?? tokens.first; + setState(() { - selectedToken = tokens.firstWhere((e) { - return (e is Erc20Token && e.contractAddress == widget.paymentRequest.contractAddress) || - (e is SPLToken && e.mintAddress == widget.paymentRequest.contractAddress) || - (e is TronToken && e.contractAddress == widget.paymentRequest.contractAddress); - }, orElse: () => tokens.first); + selectedToken = matchedToken; isLoadingTokens = false; + tokenLoadError = null; }); } catch (e) { printV('Auto-select token error: $e'); + if (!mounted) return; setState(() { tokenLoadError = 'Failed to load tokens'; isLoadingTokens = false; - selectedToken = walletTypeToCryptoCurrency(selectedNetwork!); + selectedToken = walletTypeToCryptoCurrency(network); }); } } diff --git a/lib/view_model/exchange/exchange_view_model.dart b/lib/view_model/exchange/exchange_view_model.dart index 9811a999e..108c78ff3 100644 --- a/lib/view_model/exchange/exchange_view_model.dart +++ b/lib/view_model/exchange/exchange_view_model.dart @@ -57,6 +57,7 @@ import 'package:cake_wallet/view_model/send/fees_view_model.dart'; import 'package:cake_wallet/view_model/unspent_coins/unspent_coins_list_view_model.dart'; import 'package:cw_core/crypto_amount_format.dart'; import 'package:cw_core/crypto_currency.dart'; +import 'package:cw_core/currencies_with_memo.dart'; import 'package:cw_core/erc20_token.dart'; import 'package:cw_core/spl_token.dart'; import 'package:cw_core/sync_status.dart'; @@ -124,12 +125,7 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with _useTorOnly = _settingsStore.exchangeStatus == ExchangeApiMode.torOnly; _setProviders(); const excludeDepositCurrencies = [CryptoCurrency.btt]; - const excludeReceiveCurrencies = [ - CryptoCurrency.xlm, - CryptoCurrency.xrp, - CryptoCurrency.bnb, - CryptoCurrency.btt - ]; + const excludeReceiveCurrencies = [CryptoCurrency.btt]; _initialPairBasedOnWallet(); unspentCoinsListViewModel.initialSetup().then((_) { @@ -391,6 +387,9 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with @observable String receiveAddress; + @observable + String receiveAddressExtraId = ''; + @observable String? receiveAddressDisplayName; @@ -436,13 +435,18 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with @computed Future> get receiveWallets async { - WalletType? type; - type = cryptoCurrencyOrTokenToWalletType(receiveCurrency); - if (type == null) { - type = cryptoCurrencyOrTokenToWalletType(CryptoCurrency.fromString(receiveCurrency.tag ?? "")); - } + try { + WalletType? type; + type = cryptoCurrencyOrTokenToWalletType(receiveCurrency); + if (type == null) { + type = + cryptoCurrencyOrTokenToWalletType(CryptoCurrency.fromString(receiveCurrency.tag ?? "")); + } - return await WalletInfo.selectList("type = ?", [type!.index]); + return await WalletInfo.selectList("type = ?", [type!.index]); + } catch (e) { + return []; + } } Future> addressesForAccountsWallet(WalletInfo wallet) async { @@ -761,6 +765,9 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with currency == receiveCurrency)) { receiveAddress = ""; } + if (currency != receiveCurrency) { + receiveAddressExtraId = ""; + } receiveCurrency = currency; isFixedRateMode = false; @@ -884,6 +891,9 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with (provider.description == ExchangeProviderDescription.swapsXyz || provider.description == ExchangeProviderDescription.nearIntents); + bool _excludeProviderForReceiveExtraId(ExchangeProvider provider) => + memoLabelTypeFor(receiveCurrency) != null && !provider.supportsMemoOrDestinationTag; + Future calculateBestRate() async { if (depositCurrency == receiveCurrency) { bestRate = 0.0; @@ -895,6 +905,7 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with final validProvidersForAmount = _tradeAvailableProviders.where((provider) { if (_excludeProviderForSwapAll(provider)) return false; + if (_excludeProviderForReceiveExtraId(provider)) return false; final limits = _providerLimits[provider]; @@ -972,6 +983,7 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with try { final futures = selectedProviders .where((provider) => providerList.contains(provider)) + .where((provider) => !_excludeProviderForReceiveExtraId(provider)) .map((provider) async { final limits = await provider .fetchLimits( @@ -1050,6 +1062,13 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with } } + if (forcedProvider != null && _excludeProviderForReceiveExtraId(forcedProvider!)) { + tradeState = TradeIsCreatedFailure( + title: S.current.trade_not_created, + error: S.current.none_of_selected_providers_can_exchange); + return; + } + Map providers; if (forcedProvider != null) { providers = {forcedProviderRate: forcedProvider!}; @@ -1138,6 +1157,10 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with if (isFixedRateMode && provider.supportsFixedRate == false) { continue; } + + if (_excludeProviderForReceiveExtraId(provider)) { + continue; + } // Skip Swaps.xyz when sending from external if (isSendFromExternal && @@ -1160,6 +1183,7 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with toAmount: _receiveAmount.replaceAll(',', '.'), refundAddress: depositAddress, toAddress: receiveAddress, + toAddressExtraId: receiveAddressExtraId.trim(), isFixedRate: isFixedRateMode, ); @@ -1260,6 +1284,7 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with depositCurrency == wallet.currency ? wallet.walletAddresses.addressForExchange : ''; receiveAddress = receiveCurrency == wallet.currency ? wallet.walletAddresses.addressForExchange : ''; + receiveAddressExtraId = ''; isDepositAddressEnabled = !(depositCurrency == wallet.currency); isFixedRateMode = false; _onPairChange(); diff --git a/lib/view_model/payment/payment_view_model.dart b/lib/view_model/payment/payment_view_model.dart index 13fca7ee3..258758e9b 100644 --- a/lib/view_model/payment/payment_view_model.dart +++ b/lib/view_model/payment/payment_view_model.dart @@ -3,6 +3,8 @@ import 'dart:async'; import 'package:cake_wallet/core/universal_address_detector.dart'; import 'package:cake_wallet/evm/evm.dart'; import 'package:cake_wallet/reactions/wallet_connect.dart'; +import 'package:cake_wallet/solana/solana.dart'; +import 'package:cake_wallet/tron/tron.dart'; import 'package:cake_wallet/store/app_store.dart'; import 'package:cw_core/wallet_type.dart'; import 'package:cw_core/wallet_info.dart'; @@ -41,7 +43,7 @@ abstract class PaymentViewModelBase with Store { return getChainIdByCryptoCurrency(_lastDetectionResult!.detectedCurrency!); } - return evm!.getChainIdByWalletType(detectedWalletType!); + return evm?.getChainIdByWalletType(detectedWalletType!); } @observable @@ -52,7 +54,7 @@ abstract class PaymentViewModelBase with Store { @computed int? get currentChainId { - if (!isEVMCompatibleChain(currentWalletType)) return null; + if (!isEVMCompatibleChain(currentWalletType) || evm == null) return null; return evm!.getSelectedChainId(appStore.wallet!); } @@ -74,6 +76,18 @@ abstract class PaymentViewModelBase with Store { return PaymentFlowResult.incompatible('Unable to detect address type'); } + if (detectedWalletType == WalletType.solana && solana == null) { + return PaymentFlowResult.incompatible('Solana is not available in this app build.'); + } + if (detectedWalletType == WalletType.tron && tron == null) { + return PaymentFlowResult.incompatible('Tron is not available in this app build.'); + } + if (isEVMCompatibleChain(detectedWalletType!) && evm == null) { + return PaymentFlowResult.incompatible( + 'Ethereum-compatible addresses are not supported in this app build.', + ); + } + final currentWallet = appStore.wallet; if (currentWallet != null && @@ -124,7 +138,7 @@ abstract class PaymentViewModelBase with Store { @action Future selectChain() async { - if (detectedWalletType == null) return; + if (detectedWalletType == null || evm == null || detectedChainId == null) return; final node = appStore.settingsStore.getCurrentNode(detectedWalletType!, chainId: detectedChainId); @@ -173,7 +187,7 @@ class PaymentFlowResult { chainId = getChainIdByCryptoCurrency(addressDetectionResult.detectedCurrency!); } if (chainId == null && addressDetectionResult.detectedWalletType != null) { - chainId = evm!.getChainIdByWalletType(addressDetectionResult.detectedWalletType!); + chainId = evm?.getChainIdByWalletType(addressDetectionResult.detectedWalletType!); } return PaymentFlowResult._( @@ -228,7 +242,7 @@ class PaymentFlowResult { chainId = getChainIdByCryptoCurrency(addressDetectionResult.detectedCurrency!); } if (chainId == null) { - chainId = evm!.getChainIdByWalletType(wallet.type); + chainId = evm?.getChainIdByWalletType(wallet.type); } return PaymentFlowResult._( @@ -250,7 +264,7 @@ class PaymentFlowResult { chainId = getChainIdByCryptoCurrency(addressDetectionResult.detectedCurrency!); } if (chainId == null) { - chainId = evm!.getChainIdByWalletType(wallets.first.type); + chainId = evm?.getChainIdByWalletType(wallets.first.type); } return PaymentFlowResult._( @@ -272,7 +286,7 @@ class PaymentFlowResult { chainId = getChainIdByCryptoCurrency(addressDetectionResult.detectedCurrency!); } if (chainId == null) { - chainId = evm!.getChainIdByWalletType(walletType); + chainId = evm?.getChainIdByWalletType(walletType); } return PaymentFlowResult._( diff --git a/lib/view_model/trade_details_view_model.dart b/lib/view_model/trade_details_view_model.dart index 54f7615e1..c2639fc04 100644 --- a/lib/view_model/trade_details_view_model.dart +++ b/lib/view_model/trade_details_view_model.dart @@ -26,6 +26,7 @@ import 'package:cake_wallet/src/screens/transaction_details/standart_list_item.d import 'package:cake_wallet/store/app_store.dart'; import 'package:cake_wallet/utils/date_formatter.dart'; import 'package:cake_wallet/utils/show_bar.dart'; +import 'package:cw_core/currencies_with_memo.dart'; import 'package:cw_core/utils/print_verbose.dart'; import 'package:flutter/services.dart'; import 'package:mobx/mobx.dart'; @@ -182,6 +183,18 @@ abstract class TradeDetailsViewModelBase with Store { )); } + final destinationMemo = trade.toAddressExtraId; + final destinationCurrency = trade.to; + if (destinationMemo != null && + destinationMemo.isNotEmpty && + destinationCurrency != null) { + final isDestinationTag = + memoLabelTypeFor(destinationCurrency) == MemoLabelType.destinationTag; + items.add(StandartListItem( + title: isDestinationTag ? S.current.destination_tag : S.current.memo, + value: destinationMemo)); + } + items.add(StandartListItem( title: S.current.trade_details_provider, value: trade.provider.toString())); diff --git a/macos/Podfile.lock b/macos/Podfile.lock index ccdbe0c7c..594c53e5b 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -5,6 +5,8 @@ PODS: - FlutterMacOS - connectivity_plus (0.0.1): - FlutterMacOS + - cw_decred (0.0.1): + - FlutterMacOS - cw_mweb (0.0.1): - FlutterMacOS - device_info_plus (0.0.1): @@ -28,12 +30,19 @@ PODS: - FlutterMacOS (1.0.0) - in_app_review (2.0.0): - FlutterMacOS + - local_auth_darwin (0.0.1): + - Flutter + - FlutterMacOS - OrderedSet (6.0.3) - package_info_plus (0.0.1): - FlutterMacOS - path_provider_foundation (0.0.1): - Flutter - FlutterMacOS + - rive_common (0.0.1): + - FlutterMacOS + - rlz (0.0.1): + - FlutterMacOS - share_plus (0.0.1): - FlutterMacOS - shared_preferences_foundation (0.0.1): @@ -83,6 +92,7 @@ DEPENDENCIES: - bitbox_flutter (from `Flutter/ephemeral/.symlinks/plugins/bitbox_flutter/macos`) - breez_sdk_spark_flutter (from `Flutter/ephemeral/.symlinks/plugins/breez_sdk_spark_flutter/macos`) - connectivity_plus (from `Flutter/ephemeral/.symlinks/plugins/connectivity_plus/macos`) + - cw_decred (from `Flutter/ephemeral/.symlinks/plugins/cw_decred/macos`) - cw_mweb (from `Flutter/ephemeral/.symlinks/plugins/cw_mweb/macos`) - device_info_plus (from `Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos`) - devicelocale (from `Flutter/ephemeral/.symlinks/plugins/devicelocale/macos`) @@ -95,8 +105,11 @@ DEPENDENCIES: - flutter_secure_storage_macos (from `Flutter/ephemeral/.symlinks/plugins/flutter_secure_storage_macos/macos`) - FlutterMacOS (from `Flutter/ephemeral`) - in_app_review (from `Flutter/ephemeral/.symlinks/plugins/in_app_review/macos`) + - local_auth_darwin (from `Flutter/ephemeral/.symlinks/plugins/local_auth_darwin/darwin`) - package_info_plus (from `Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos`) - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`) + - rive_common (from `Flutter/ephemeral/.symlinks/plugins/rive_common/macos`) + - rlz (from `Flutter/ephemeral/.symlinks/plugins/rlz/macos`) - share_plus (from `Flutter/ephemeral/.symlinks/plugins/share_plus/macos`) - shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`) - sp_scanner (from `Flutter/ephemeral/.symlinks/plugins/sp_scanner/macos`) @@ -119,6 +132,8 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/breez_sdk_spark_flutter/macos connectivity_plus: :path: Flutter/ephemeral/.symlinks/plugins/connectivity_plus/macos + cw_decred: + :path: Flutter/ephemeral/.symlinks/plugins/cw_decred/macos cw_mweb: :path: Flutter/ephemeral/.symlinks/plugins/cw_mweb/macos device_info_plus: @@ -143,10 +158,16 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral in_app_review: :path: Flutter/ephemeral/.symlinks/plugins/in_app_review/macos + local_auth_darwin: + :path: Flutter/ephemeral/.symlinks/plugins/local_auth_darwin/darwin package_info_plus: :path: Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos path_provider_foundation: :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin + rive_common: + :path: Flutter/ephemeral/.symlinks/plugins/rive_common/macos + rlz: + :path: Flutter/ephemeral/.symlinks/plugins/rlz/macos share_plus: :path: Flutter/ephemeral/.symlinks/plugins/share_plus/macos shared_preferences_foundation: @@ -167,34 +188,38 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/wakelock_plus/macos SPEC CHECKSUMS: - bitbox_flutter: b3c6d3c4970b134a78a17fddef0ef429cfec2593 - breez_sdk_spark_flutter: b7826ff465c65d620a03560c28c384f44c2dc383 - connectivity_plus: 4adf20a405e25b42b9c9f87feff8f4b6fde18a4e - cw_mweb: 4746a3b5cc5bd4afe6fadd2481c4f7b239e391d0 - device_info_plus: b0fafc687fb901e2af612763340f1b0d4352f8e5 - devicelocale: 456a07c045d3113938aa4983065bd8526e2af792 + bitbox_flutter: 16088f5c7febacf894f4d07bbdfb441c9f0757fe + breez_sdk_spark_flutter: 2e864a52e699546aedea3d64d0e0cc88bc0ac595 + connectivity_plus: 0a976dfd033b59192912fa3c6c7b54aab5093802 + cw_decred: 0c93fbeb31bd97a6ad4ec5680960af0943bfca78 + cw_mweb: 7440b12ead811dda972a9918442ea2a458e8742c + device_info_plus: 5401765fde0b8d062a2f8eb65510fb17e77cf07f + devicelocale: 9f0f36ac651cabae2c33f32dcff4f32b61c38225 dnssec_proof: d461cac7bd3301eb7447f87936745a0c1ae0a67e - fast_scanner: a4ead8e56f185cd565e25250fdb97fa669ea1d2e - file_selector_macos: 6280b52b459ae6c590af5d78fc35c7267a3c4b31 - flutter_inappwebview_macos: c2d68649f9f8f1831bfcd98d73fd6256366d9d1d - flutter_local_authentication: 2f9a2682f498abcc12d7e9729b5007a947170fdc - flutter_local_notifications: 4bf37a31afde695b56091b4ae3e4d9c7a7e6cda0 - flutter_secure_storage_macos: 3dacac420d84c4d0dc5e868194ee43c8664ec797 + fast_scanner: d31bae07e2653403a69dac99fb710c1722b16a97 + file_selector_macos: cc3858c981fe6889f364731200d6232dac1d812d + flutter_inappwebview_macos: bdf207b8f4ebd58e86ae06cd96b147de99a67c9b + flutter_local_authentication: 85674893931e1c9cfa7c9e4f5973cb8c56b018b0 + flutter_local_notifications: 4ccab5b7a22835214a6672e3f9c5e8ae207dab36 + flutter_secure_storage_macos: d56e2d218c1130b262bef8b4a7d64f88d7f9c9ea FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 - in_app_review: 66e7680752b632d83f4f0e88b34d52ed303fbff4 + in_app_review: 866c9b17c87a7b46a395bda43f5d3ca02deb585a + local_auth_darwin: fa4b06454df7df8e97c18d7ee55151c57e7af0de OrderedSet: e539b66b644ff081c73a262d24ad552a69be3a94 - package_info_plus: f0052d280d17aa382b932f399edf32507174e870 - path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564 - share_plus: 510bf0af1a42cd602274b4629920c9649c52f4cc - shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7 - sp_scanner: d9316427b628dd86d6e9e3c5d42ed6b4b410157c - sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0 + package_info_plus: 12f1c5c2cfe8727ca46cbd0b26677728972d9a5b + path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 + rive_common: 9580b9f1f08a8c85006083078e80479edf3db26a + rlz: fa94ecbcb2ca519363c320ec7a0f22525a536b59 + share_plus: 1fa619de8392a4398bfaf176d441853922614e89 + shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 + sp_scanner: 269d96e0ec3173e69156be7239b95182be3b8303 + sqflite_darwin: 5a7236e3b501866c1c9befc6771dfd73ffb8702d sqlite3: 73513155ec6979715d3904ef53a8d68892d4032b - sqlite3_flutter_libs: 83f8e9f5b6554077f1d93119fe20ebaa5f3a9ef1 - torch_dart: 7e4f682c34ee0d967a35977102590094a7510c90 - universal_ble: ff19787898040d721109c6324472e5dd4bc86adc - url_launcher_macos: 0fba8ddabfc33ce0a9afe7c5fef5aab3d8d2d673 - wakelock_plus: 917609be14d812ddd9e9528876538b2263aaa03b + sqlite3_flutter_libs: 86f82662868ee26ff3451f73cac9c5fc2a1f57fa + torch_dart: 2e94855e15fcc87bd824e179f1f9c3e0f1e1d302 + universal_ble: cf52a7b3fd2e7c14d6d7262e9fdadb72ab6b88a6 + url_launcher_macos: c82c93949963e55b228a30115bd219499a6fe404 + wakelock_plus: 9d63063ffb7af1c215209769067c57103bde719d PODFILE CHECKSUM: 65ec1541137fb5b35d00490dec1bb48d4d9586bb diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index 6474af82d..fec311d11 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -27,6 +27,7 @@ 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; 83FF6BF911B29965D3589BE7 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BD06F8F6E3797AC031038136 /* Pods_Runner.framework */; }; + 8438E2252FBBAEF1003EC0C4 /* AppIcon.icon in Resources */ = {isa = PBXBuildFile; fileRef = 8438E2242FBBAEF1003EC0C4 /* AppIcon.icon */; }; 9F565D5929954F53009A75FB /* secRandom.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F565D5729954F53009A75FB /* secRandom.swift */; }; CE5899C52F71669A008E754F /* libwownero_wallet2_api_c.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE5899C32F71669A008E754F /* libwownero_wallet2_api_c.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; CE5899C62F71669A008E754F /* libmonero_wallet2_api_c.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE5899C42F71669A008E754F /* libmonero_wallet2_api_c.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; @@ -85,6 +86,7 @@ 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; 81434A9891ECC211D4A12B7B /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 8438E2242FBBAEF1003EC0C4 /* AppIcon.icon */ = {isa = PBXFileReference; lastKnownFileType = folder.iconcomposer.icon; path = AppIcon.icon; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; 981E08F6A19E64F1F4D21DB8 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 9F1E7BFB2BF2D27500C28C9A /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = ""; }; @@ -128,6 +130,7 @@ 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, 9B6E7CA3983216A9E173F00F /* Pods */, + 8438E2242FBBAEF1003EC0C4 /* AppIcon.icon */, ); sourceTree = ""; }; @@ -271,6 +274,7 @@ files = ( 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, + 8438E2252FBBAEF1003EC0C4 /* AppIcon.icon in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 96d3fee1a..000000000 --- a/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "info": { - "version": 1, - "author": "xcode" - }, - "images": [ - { - "size": "16x16", - "idiom": "mac", - "filename": "app_icon_16.png", - "scale": "1x" - }, - { - "size": "16x16", - "idiom": "mac", - "filename": "app_icon_32.png", - "scale": "2x" - }, - { - "size": "32x32", - "idiom": "mac", - "filename": "app_icon_32.png", - "scale": "1x" - }, - { - "size": "32x32", - "idiom": "mac", - "filename": "app_icon_64.png", - "scale": "2x" - }, - { - "size": "128x128", - "idiom": "mac", - "filename": "app_icon_128.png", - "scale": "1x" - }, - { - "size": "128x128", - "idiom": "mac", - "filename": "app_icon_256.png", - "scale": "2x" - }, - { - "size": "256x256", - "idiom": "mac", - "filename": "app_icon_256.png", - "scale": "1x" - }, - { - "size": "256x256", - "idiom": "mac", - "filename": "app_icon_512.png", - "scale": "2x" - }, - { - "size": "512x512", - "idiom": "mac", - "filename": "app_icon_512.png", - "scale": "1x" - }, - { - "size": "512x512", - "idiom": "mac", - "filename": "app_icon_1024.png", - "scale": "2x" - } - ] -} \ No newline at end of file diff --git a/macos/Runner/Assets.xcassets/Contents.json b/macos/Runner/Assets.xcassets/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/macos/Runner/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/res/values/strings_ar.arb b/res/values/strings_ar.arb index 8077e97f4..d779be350 100644 --- a/res/values/strings_ar.arb +++ b/res/values/strings_ar.arb @@ -308,6 +308,8 @@ "descending": "تنازلي", "description": "الوصف", "destination_tag": "وسم الوجهة:", + "destination_tag_optional": "علامة الوجهة (اختياري)", + "destination_tag_swap_disclaimer": "مطلوب من قبل المتلقي لإيداع أموالك. العلامة المفقودة أو الخاطئة تعني فقدان الأموال.", "deuro_about_deuro": "حول dEURO", "deuro_collect_interest": "تحصيل", "deuro_reinvest_interest": "إعادة الاستثمار", @@ -616,6 +618,7 @@ "memo": "مذكرة", "memo_disclaimer": "ستكون هذه المذكرة مرئية للمستلم", "memo_optional": "مذكرة (اختيارية)", + "memo_swap_disclaimer": "مطلوب من قبل المتلقي لإيداع أموالك. المذكرة المفقودة أو الخاطئة تعني فقدان الأموال.", "message": "رسالة", "message_verified": "تم التحقق من الرسالة بنجاح", "messages": "الرسائل", @@ -1374,4 +1377,4 @@ "zcash_card_missing_funds": "هل أموالك مفقودة؟", "zcash_card_scan": "مسح", "zcash_card_warning": "لا تُغلق التطبيق حتى يكتمل الإجراء، لأنك إن فعلت ذلك فستحتاج هذه العملية إلى البدء من جديد من البداية." -} +} \ No newline at end of file diff --git a/res/values/strings_bg.arb b/res/values/strings_bg.arb index 9fb31cff8..b10eb9822 100644 --- a/res/values/strings_bg.arb +++ b/res/values/strings_bg.arb @@ -308,6 +308,8 @@ "descending": "Низходящо", "description": "Описание", "destination_tag": "Таг на получателя:", + "destination_tag_optional": "Етикет за дестинация (по избор)", + "destination_tag_swap_disclaimer": "Изисква се от получателя, за да кредитира вашите средства. Липсващ или грешен етикет означава загубени средства.", "deuro_about_deuro": "Относно dEURO", "deuro_collect_interest": "Събери", "deuro_reinvest_interest": "Реинвестирай", @@ -616,6 +618,7 @@ "memo": "Мемо", "memo_disclaimer": "Това поле „memo“ ще бъде видимо за получателя", "memo_optional": "Мемо (по избор)", + "memo_swap_disclaimer": "Изисква се от получателя, за да кредитира вашите средства. Липсваща или грешна бележка означава загуба на средства.", "message": "Съобщение", "message_verified": "Съобщението беше успешно потвърдено", "messages": "Съобщения", @@ -1374,4 +1377,4 @@ "zcash_card_missing_funds": "Липсват средства?", "zcash_card_scan": "Сканирай", "zcash_card_warning": "Не затваряйте приложението, докато процедурата не приключи. Ако го направите, процесът ще трябва да започне отначало." -} +} \ No newline at end of file diff --git a/res/values/strings_cs.arb b/res/values/strings_cs.arb index b8eaafbc9..461977785 100644 --- a/res/values/strings_cs.arb +++ b/res/values/strings_cs.arb @@ -308,6 +308,8 @@ "descending": "Sestupně", "description": "Popis", "destination_tag": "Cílový tag:", + "destination_tag_optional": "Cílová značka (volitelné)", + "destination_tag_swap_disclaimer": "Požadováno příjemcem k připsání vašich prostředků. Chybějící nebo nesprávný štítek znamená ztracené prostředky.", "deuro_about_deuro": "O dEURO", "deuro_collect_interest": "Vybrat", "deuro_reinvest_interest": "Reinvestovat", @@ -616,6 +618,7 @@ "memo": "Memo", "memo_disclaimer": "Tato poznámka bude viditelná příjemci", "memo_optional": "Memo (volitelné)", + "memo_swap_disclaimer": "Požadováno příjemcem k připsání vašich prostředků. Chybějící nebo nesprávný záznam znamená ztracené finanční prostředky.", "message": "Zpráva", "message_verified": "Zpráva byla úspěšně ověřena", "messages": "Zprávy", @@ -1374,4 +1377,4 @@ "zcash_card_missing_funds": "Chybějící prostředky?", "zcash_card_scan": "Skenovat", "zcash_card_warning": "Nezavírejte aplikaci, dokud se postup nedokončí. Pokud tak učiníte, bude nutné tento proces spustit znovu od začátku." -} +} \ No newline at end of file diff --git a/res/values/strings_de.arb b/res/values/strings_de.arb index 382da7d98..8378c21a0 100644 --- a/res/values/strings_de.arb +++ b/res/values/strings_de.arb @@ -308,6 +308,8 @@ "descending": "Absteigend", "description": "Beschreibung", "destination_tag": "Ziel-Tag:", + "destination_tag_optional": "Ziel-Tag (optional)", + "destination_tag_swap_disclaimer": "Wird vom Empfänger benötigt, um Ihr Geld gutzuschreiben. Fehlendes oder falsches Etikett bedeutet verlorenes Geld.", "deuro_about_deuro": "Über dEURO", "deuro_collect_interest": "Einziehen", "deuro_reinvest_interest": "Reinvestieren", @@ -616,6 +618,7 @@ "memo": "Memo", "memo_disclaimer": "Dieses Memo wird für den Empfänger sichtbar sein", "memo_optional": "Memo (optional)", + "memo_swap_disclaimer": "Wird vom Empfänger benötigt, um Ihr Geld gutzuschreiben. Ein fehlendes oder falsches Memo bedeutet verlorenes Geld.", "message": "Nachricht", "message_verified": "Die Nachricht wurde erfolgreich verifiziert", "messages": "Nachrichten", @@ -1378,4 +1381,4 @@ "zcash_card_missing_funds": "Fehlende Gelder?", "zcash_card_scan": "Scannen", "zcash_card_warning": "Schließen Sie die App nicht, bis der Vorgang abgeschlossen ist. Andernfalls muss der Vorgang von Grund auf neu gestartet werden." -} +} \ No newline at end of file diff --git a/res/values/strings_en.arb b/res/values/strings_en.arb index a4a497972..deb88f4c1 100644 --- a/res/values/strings_en.arb +++ b/res/values/strings_en.arb @@ -310,6 +310,8 @@ "descending": "Descending", "description": "Description", "destination_tag": "Destination tag:", + "destination_tag_optional": "Destination tag (optional)", + "destination_tag_swap_disclaimer": "Required by the receiver to credit your funds. Missing or wrong tag means lost funds.", "deuro_about_deuro": "About dEURO", "deuro_collect_interest": "Collect", "deuro_reinvest_interest": "Reinvest", @@ -620,6 +622,7 @@ "memo": "Memo", "memo_disclaimer": "This memo will be visible to the receiver", "memo_optional": "Memo (optional)", + "memo_swap_disclaimer": "Required by the receiver to credit your funds. Missing or wrong memo means lost funds.", "message": "Message", "message_verified": "The message was successfully verified", "messages": "Messages", diff --git a/res/values/strings_es.arb b/res/values/strings_es.arb index 9c9fe3d81..7c972bd0b 100644 --- a/res/values/strings_es.arb +++ b/res/values/strings_es.arb @@ -308,6 +308,8 @@ "descending": "Descendente", "description": "Descripción", "destination_tag": "Etiqueta de destino:", + "destination_tag_optional": "Etiqueta de destino (opcional)", + "destination_tag_swap_disclaimer": "Requerido por el receptor para acreditar sus fondos. La etiqueta faltante o incorrecta significa fondos perdidos.", "deuro_about_deuro": "Acerca de dEURO", "deuro_collect_interest": "Cobrar", "deuro_reinvest_interest": "Reinvertir", @@ -616,6 +618,7 @@ "memo": "Memo", "memo_disclaimer": "Este memo será visible para el destinatario", "memo_optional": "Memo (opcional)", + "memo_swap_disclaimer": "Requerido por el receptor para acreditar sus fondos. Una nota faltante o incorrecta significa fondos perdidos.", "message": "Mensaje", "message_verified": "El mensaje se verificó correctamente", "messages": "Mensajes", @@ -1376,4 +1379,4 @@ "zcash_card_missing_funds": "¿Faltan fondos?", "zcash_card_scan": "Escanear", "zcash_card_warning": "No cierre la aplicación hasta que se complete el procedimiento; si lo hace, este proceso deberá reiniciarse desde cero." -} +} \ No newline at end of file diff --git a/res/values/strings_fa.arb b/res/values/strings_fa.arb index 167c4fa57..937d906a5 100644 --- a/res/values/strings_fa.arb +++ b/res/values/strings_fa.arb @@ -306,6 +306,8 @@ "descending": "نزولی", "description": "توضیحات", "destination_tag": "برچسب مقصد:", + "destination_tag_optional": "برچسب مقصد (اختیاری)", + "destination_tag_swap_disclaimer": "توسط گیرنده برای اعتبار وجوه شما مورد نیاز است. برچسب گم شده یا اشتباه به معنای از دست رفتن وجوه است.", "deuro_about_deuro": "درباره dEURO", "deuro_collect_interest": "دریافت", "deuro_reinvest_interest": "سرمایه‌گذاری مجدد", @@ -614,6 +616,7 @@ "memo": "یادداشت", "memo_disclaimer": "این یادداشت برای گیرنده قابل مشاهده خواهد بود", "memo_optional": "یادداشت (اختیاری)", + "memo_swap_disclaimer": "توسط گیرنده برای اعتبار وجوه شما مورد نیاز است. یادداشت گم شده یا اشتباه به معنای از دست رفتن وجوه است.", "message": "پیام", "message_verified": "پیام با موفقیت تأیید شد", "messages": "پیام‌ها", @@ -1371,4 +1374,4 @@ "zcash_card_missing_funds": "موجودی گم شده؟", "zcash_card_scan": "اسکن", "zcash_card_warning": "تا زمانی که این فرایند کامل نشده است، برنامه را نبندید؛ در غیر این صورت، این فرایند باید از ابتدا دوباره شروع شود." -} +} \ No newline at end of file diff --git a/res/values/strings_fr.arb b/res/values/strings_fr.arb index 7fb51b38d..ecfb6ad42 100644 --- a/res/values/strings_fr.arb +++ b/res/values/strings_fr.arb @@ -308,6 +308,8 @@ "descending": "Décroissant", "description": "Description", "destination_tag": "Tag de destination :", + "destination_tag_optional": "Balise de destination (facultatif)", + "destination_tag_swap_disclaimer": "Requis par le destinataire pour créditer vos fonds. Une étiquette manquante ou erronée signifie une perte de fonds.", "deuro_about_deuro": "À propos de dEURO", "deuro_collect_interest": "Collecter", "deuro_reinvest_interest": "Réinvestir", @@ -616,6 +618,7 @@ "memo": "Mémo", "memo_disclaimer": "Ce mémo sera visible par le destinataire", "memo_optional": "Mémo (facultatif)", + "memo_swap_disclaimer": "Requis par le destinataire pour créditer vos fonds. Un mémo manquant ou erroné signifie une perte de fonds.", "message": "Message", "message_verified": "Le message a été vérifié avec succès", "messages": "Messages", @@ -1374,4 +1377,4 @@ "zcash_card_missing_funds": "Fonds manquants ?", "zcash_card_scan": "Scanner", "zcash_card_warning": "Ne fermez pas l'application tant que la procédure n'est pas terminée. Si vous le faites, ce processus devra redémarrer depuis le début." -} +} \ No newline at end of file diff --git a/res/values/strings_gn.arb b/res/values/strings_gn.arb index e17fd2748..36418cfaa 100644 --- a/res/values/strings_gn.arb +++ b/res/values/strings_gn.arb @@ -249,6 +249,8 @@ "descending": "Oguejy", "description": "Ñemombe’u", "destination_tag": "Teramoĩha hag̃ua:", + "destination_tag_optional": "Etiqueta destino rehegua (opcional) .", + "destination_tag_swap_disclaimer": "Ojeruréva receptor oacredita haguã nde fondo. Etiqueta ofaltáva térã ojavýva he'ise fondo okañýva.", "dfx_option_description": "Ejogua cripto EUR ha CHF reheve. Oipurukuaa hag̃ua ñemuhára michĩ ha mba’apohaguasu Europape.", "did_you_back_up_seeds": "¿Rejapo raʼe backup opaite nde raʼỹi rehegua?", "didnt_get_code": "¿Nererejapýi kódigo?", @@ -479,6 +481,7 @@ "memo": "Mandu’a", "memo_disclaimer": "Ko memo ojehecháta ohupytývape", "memo_optional": "Memo (opcional)", + "memo_swap_disclaimer": "Ojeruréva receptor oacredita haguã nde fondo. Memo ofaltáva térã ojavýva he'ise fondo okañýva.", "message": "Marandu", "message_verified": "Pe marandu ojehechajey porã", "methods": "Mba’éichapa", @@ -1113,4 +1116,4 @@ "zcash_card_missing_funds": "¿Nde fondo okañy?", "zcash_card_scan": "Escanear", "zcash_card_warning": "Ani remboty pe app pe procedimiento opa hag̃ua, rejapo ramo upéicha ko proceso tekotevẽta oñepyrũ jey cero guive." -} +} \ No newline at end of file diff --git a/res/values/strings_ha.arb b/res/values/strings_ha.arb index c0a4d5150..e966ac2ef 100644 --- a/res/values/strings_ha.arb +++ b/res/values/strings_ha.arb @@ -308,6 +308,8 @@ "descending": "Mai saukowa", "description": "Bayanin", "destination_tag": "Alamar makoma:", + "destination_tag_optional": "Alamar wuri (na zaɓi)", + "destination_tag_swap_disclaimer": "Mai karɓa ya buƙaci ya ba da kuɗin ku. Bacewa ko kuskuren tag yana nufin asarar kuɗi.", "deuro_about_deuro": "Game da dEURO", "deuro_collect_interest": "Karɓa", "deuro_reinvest_interest": "Sake saka", @@ -616,6 +618,7 @@ "memo": "Memo", "memo_disclaimer": "Wannan memo zai kasance a bayyane ga mai karɓa", "memo_optional": "Memo (na zaɓi)", + "memo_swap_disclaimer": "Mai karɓa ya buƙaci ya ba da kuɗin ku. Memo na ɓace ko kuskure yana nufin asarar kuɗi.", "message": "Saƙo", "message_verified": "An tabbatar da saƙon cikin nasara", "messages": "Saƙonni", @@ -1377,4 +1380,4 @@ "zcash_card_missing_funds": "Kuɗi sun ɓace?", "zcash_card_scan": "Duba", "zcash_card_warning": "Kada ku rufe manhajar har sai an kammala aikin; idan kun yi haka, wannan tsari zai buƙaci a sake farawa daga farko." -} +} \ No newline at end of file diff --git a/res/values/strings_hi.arb b/res/values/strings_hi.arb index a1ce0c33b..67fd75d52 100644 --- a/res/values/strings_hi.arb +++ b/res/values/strings_hi.arb @@ -308,6 +308,8 @@ "descending": "अवरोही", "description": "विवरण", "destination_tag": "गंतव्य टैग:", + "destination_tag_optional": "गंतव्य टैग (वैकल्पिक)", + "destination_tag_swap_disclaimer": "प्राप्तकर्ता द्वारा आपके फंड को क्रेडिट करना आवश्यक है। गुम या गलत टैग का अर्थ है खोया हुआ धन।", "deuro_about_deuro": "dEURO के बारे में", "deuro_collect_interest": "एकत्र करें", "deuro_reinvest_interest": "पुनर्निवेश करें", @@ -616,6 +618,7 @@ "memo": "मेमो", "memo_disclaimer": "यह मेमो प्राप्तकर्ता को दिखाई देगा", "memo_optional": "मेमो (वैकल्पिक)", + "memo_swap_disclaimer": "प्राप्तकर्ता द्वारा आपके फंड को क्रेडिट करना आवश्यक है। मेमो के गुम या गलत होने का अर्थ है धन की हानि।", "message": "संदेश", "message_verified": "संदेश सफलतापूर्वक सत्यापित हो गया", "messages": "संदेश", @@ -733,8 +736,8 @@ "payjoin_unavailable_sheet_title": "Payjoin उपलब्ध क्यों नहीं है?", "payment_id": "भुगतान आईडी: ", "payment_made_easy": "भुगतान करना आसान", - "Payment_was_received": "आपका भुगतान प्राप्त हो गया था।", "payment_was_received": "आपका भुगतान प्राप्त हो गया।", + "Payment_was_received": "आपका भुगतान प्राप्त हो गया था।", "payments": "भुगतान", "pending": " (लंबित)", "percentageOf": "${amount} का", @@ -1376,4 +1379,4 @@ "zcash_card_missing_funds": "फंड गायब हैं?", "zcash_card_scan": "स्कैन", "zcash_card_warning": "प्रक्रिया पूरी होने तक ऐप बंद न करें। यदि आप ऐसा करते हैं, तो यह प्रक्रिया शुरू से फिर से शुरू करनी होगी।" -} +} \ No newline at end of file diff --git a/res/values/strings_hr.arb b/res/values/strings_hr.arb index a8e281b3f..6b4491117 100644 --- a/res/values/strings_hr.arb +++ b/res/values/strings_hr.arb @@ -308,6 +308,8 @@ "descending": "Silazno", "description": "Opis", "destination_tag": "Odredišna oznaka:", + "destination_tag_optional": "Oznaka odredišta (nije obavezno)", + "destination_tag_swap_disclaimer": "Primatelj zahtijeva da kreditira vaša sredstva. Nedostatak ili pogrešna oznaka znači gubitak sredstava.", "deuro_about_deuro": "O dEURO-u", "deuro_collect_interest": "Preuzmi", "deuro_reinvest_interest": "Reinvestiraj", @@ -616,6 +618,7 @@ "memo": "Memo", "memo_disclaimer": "Ova će bilješka biti vidljiva primatelju", "memo_optional": "Memo (nije obavezno)", + "memo_swap_disclaimer": "Primatelj zahtijeva da kreditira vaša sredstva. Nedostatak ili pogrešan dopis znači gubitak sredstava.", "message": "Poruka", "message_verified": "Poruka je uspješno verificirana", "messages": "Poruke", @@ -1374,4 +1377,4 @@ "zcash_card_missing_funds": "Nedostaju sredstva?", "zcash_card_scan": "Skeniraj", "zcash_card_warning": "Ne zatvarajte aplikaciju dok se postupak ne dovrši; ako to učinite, postupak će se morati ponovno pokrenuti ispočetka." -} +} \ No newline at end of file diff --git a/res/values/strings_hy.arb b/res/values/strings_hy.arb index c003dc3bb..211829818 100644 --- a/res/values/strings_hy.arb +++ b/res/values/strings_hy.arb @@ -308,6 +308,8 @@ "descending": "Նվազման կարգով", "description": "Նկարագրություն", "destination_tag": "Նշանակման թեգը:", + "destination_tag_optional": "Նպատակակետի պիտակ (ըստ ցանկության)", + "destination_tag_swap_disclaimer": "Ստացողի կողմից պահանջվում է ձեր միջոցները վարկավորելու համար: Բացակայող կամ սխալ պիտակ նշանակում է կորցրած միջոցներ:", "deuro_about_deuro": "dEURO-ի մասին", "deuro_collect_interest": "Հավաքել", "deuro_reinvest_interest": "Վերաներդնել", @@ -616,6 +618,7 @@ "memo": "Մեմո", "memo_disclaimer": "Այս հուշագիրը տեսանելի կլինի ստացողին", "memo_optional": "Մեմո (ըստ ցանկության)", + "memo_swap_disclaimer": "Ստացողի կողմից պահանջվում է ձեր միջոցները վարկավորելու համար: Հուշագրի բացակայությունը կամ սխալը նշանակում է կորցրած միջոցներ:", "message": "Հաղորդագրություն", "message_verified": "Հաղորդագրությունը հաջողությամբ ստուգվեց", "messages": "Հաղորդագրություններ", @@ -1372,4 +1375,4 @@ "zcash_card_missing_funds": "Միջոցները բացակա՞յում են", "zcash_card_scan": "Սկանավորել", "zcash_card_warning": "Մի փակեք հավելվածը մինչև ընթացակարգի ավարտը, քանի որ հակառակ դեպքում այս գործընթացը պետք է վերագործարկվի զրոյից։" -} +} \ No newline at end of file diff --git a/res/values/strings_id.arb b/res/values/strings_id.arb index b89942b19..7dff8cb87 100644 --- a/res/values/strings_id.arb +++ b/res/values/strings_id.arb @@ -308,6 +308,8 @@ "descending": "Menurun", "description": "Deskripsi", "destination_tag": "Tag tujuan:", + "destination_tag_optional": "Tag tujuan (opsional)", + "destination_tag_swap_disclaimer": "Diperlukan oleh penerima untuk mengkreditkan dana Anda. Tag yang hilang atau salah berarti dana hilang.", "deuro_about_deuro": "Tentang dEURO", "deuro_collect_interest": "Kumpulkan", "deuro_reinvest_interest": "Investasikan kembali", @@ -616,6 +618,7 @@ "memo": "Memo", "memo_disclaimer": "Memo ini akan terlihat oleh penerima", "memo_optional": "Memo (opsional)", + "memo_swap_disclaimer": "Diperlukan oleh penerima untuk mengkreditkan dana Anda. Memo yang hilang atau salah berarti dana hilang.", "message": "Pesan", "message_verified": "Pesan berhasil diverifikasi", "messages": "Pesan", @@ -1377,4 +1380,4 @@ "zcash_card_missing_funds": "Dana hilang?", "zcash_card_scan": "Pindai", "zcash_card_warning": "Jangan tutup aplikasi sampai prosedur selesai. Jika Anda melakukannya, proses ini harus dimulai ulang dari awal." -} +} \ No newline at end of file diff --git a/res/values/strings_it.arb b/res/values/strings_it.arb index b90718c40..30cc74790 100644 --- a/res/values/strings_it.arb +++ b/res/values/strings_it.arb @@ -308,6 +308,8 @@ "descending": "Decrescente", "description": "Descrizione", "destination_tag": "Tag di destinazione:", + "destination_tag_optional": "Tag di destinazione (facoltativo)", + "destination_tag_swap_disclaimer": "Richiesto dal destinatario per accreditare i tuoi fondi. Tag mancante o sbagliato significa perdita di fondi.", "deuro_about_deuro": "Informazioni su dEURO", "deuro_collect_interest": "Raccogli", "deuro_reinvest_interest": "Reinvesti", @@ -616,6 +618,7 @@ "memo": "Memo", "memo_disclaimer": "Questo memo sarà visibile al destinatario", "memo_optional": "Memo (facoltativo)", + "memo_swap_disclaimer": "Richiesto dal destinatario per accreditare i tuoi fondi. Una nota mancante o errata significa perdita di fondi.", "message": "Messaggio", "message_verified": "Il messaggio è stato verificato con successo", "messages": "Messaggi", @@ -1376,4 +1379,4 @@ "zcash_card_missing_funds": "Fondi mancanti?", "zcash_card_scan": "Scansiona", "zcash_card_warning": "Non chiudere l'app finché la procedura non è completata, altrimenti sarà necessario riavviare il processo da zero." -} +} \ No newline at end of file diff --git a/res/values/strings_ja.arb b/res/values/strings_ja.arb index 0db5a0617..aefc4fa70 100644 --- a/res/values/strings_ja.arb +++ b/res/values/strings_ja.arb @@ -308,6 +308,8 @@ "descending": "降順", "description": "説明", "destination_tag": "宛先タグ:", + "destination_tag_optional": "宛先タグ (オプション)", + "destination_tag_swap_disclaimer": "受取人があなたの資金を入金するために必要とします。タグが欠落しているか間違っていると、資金が失われます。", "deuro_about_deuro": "dEUROについて", "deuro_collect_interest": "受け取る", "deuro_reinvest_interest": "再投資", @@ -617,6 +619,7 @@ "memo": "メモ", "memo_disclaimer": "このメモは受取人に表示されます", "memo_optional": "メモ(任意)", + "memo_swap_disclaimer": "受取人があなたの資金を入金するために必要とします。メモの紛失または間違ったメモは資金の損失を意味します。", "message": "メッセージ", "message_verified": "メッセージは正常に検証されました", "messages": "メッセージ", @@ -1374,4 +1377,4 @@ "zcash_card_missing_funds": "資金が見当たりませんか?", "zcash_card_scan": "スキャン", "zcash_card_warning": "手順が完了するまでアプリを閉じないでください。閉じると、このプロセスを最初からやり直す必要があります。" -} +} \ No newline at end of file diff --git a/res/values/strings_ko.arb b/res/values/strings_ko.arb index 2cbfd964e..5f762a9f1 100644 --- a/res/values/strings_ko.arb +++ b/res/values/strings_ko.arb @@ -308,6 +308,8 @@ "descending": "내림차순", "description": "설명", "destination_tag": "목적지 태그:", + "destination_tag_optional": "대상 태그(선택사항)", + "destination_tag_swap_disclaimer": "귀하의 자금을 입금하기 위해 수신자가 필요합니다. 태그가 없거나 잘못된 경우 자금 손실이 발생합니다.", "deuro_about_deuro": "dEURO 소개", "deuro_collect_interest": "수령", "deuro_reinvest_interest": "재투자", @@ -616,6 +618,7 @@ "memo": "메모", "memo_disclaimer": "이 메모는 수신자에게 표시됩니다.", "memo_optional": "메모(선택)", + "memo_swap_disclaimer": "귀하의 자금을 입금하기 위해 수신자가 필요합니다. 누락되거나 잘못된 메모는 자금 손실을 의미합니다.", "message": "메시지", "message_verified": "메시지가 성공적으로 검증되었습니다", "messages": "메시지", @@ -1374,4 +1377,4 @@ "zcash_card_missing_funds": "자금이 사라졌나요?", "zcash_card_scan": "스캔", "zcash_card_warning": "절차가 완료될 때까지 앱을 닫지 마십시오. 닫으면 이 과정을 처음부터 다시 시작해야 합니다." -} +} \ No newline at end of file diff --git a/res/values/strings_my.arb b/res/values/strings_my.arb index 288f3dc9f..a5a7cf60e 100644 --- a/res/values/strings_my.arb +++ b/res/values/strings_my.arb @@ -308,6 +308,8 @@ "descending": "အနိမ့်မှအမြင့်သို့", "description": "ဖော်ပြချက်", "destination_tag": "ဦးတည်ရာ Tag:", + "destination_tag_optional": "ဦးတည်ရာတဂ် (ချန်လှပ်ထားနိုင်သည်)", + "destination_tag_swap_disclaimer": "သင့်ရန်ပုံငွေများကို အကြွေးတင်ရန်အတွက် လက်ခံသူမှ လိုအပ်ပါသည်။ ပျောက်ဆုံးနေသော သို့မဟုတ် မှားယွင်းသော tag ဆိုသည်မှာ ဆုံးရှုံးသွားသော ရန်ပုံငွေများကို ဆိုလိုသည်။", "deuro_about_deuro": "dEURO အကြောင်း", "deuro_collect_interest": "ရယူ", "deuro_reinvest_interest": "ပြန်လည်ရင်းနှီးမြှုပ်နှံရန်", @@ -616,6 +618,7 @@ "memo": "မှတ်စု", "memo_disclaimer": "ဤ memo ကို လက်ခံသူက မြင်နိုင်ပါမည်။", "memo_optional": "Memo (ရွေးချယ်နိုင်သည်)", + "memo_swap_disclaimer": "သင့်ရန်ပုံငွေများကို အကြွေးတင်ရန်အတွက် လက်ခံသူမှ လိုအပ်ပါသည်။ မှတ်စုတို ပျောက်ဆုံးခြင်း သို့မဟုတ် မှားယွင်းခြင်းဆိုသည်မှာ ဆုံးရှုံးသွားသော ရန်ပုံငွေများကို ဆိုလိုသည်။", "message": "မက်ဆေ့ချ်", "message_verified": "မက်ဆေ့ချ်ကို အောင်မြင်စွာ အတည်ပြုပြီးပါပြီ", "messages": "မက်ဆေ့ချ်များ", @@ -1373,4 +1376,4 @@ "zcash_card_missing_funds": "ငွေကြေး ပျောက်ဆုံးနေပါသလား?", "zcash_card_scan": "စကင်", "zcash_card_warning": "လုပ်ငန်းစဉ် ပြီးဆုံးသည်အထိ အက်ပ်ကို မပိတ်ပါနှင့်။ ပိတ်လိုက်ပါက ဤလုပ်ငန်းစဉ်ကို အစမှ ပြန်လည်စတင်ရမည်ဖြစ်သည်။" -} +} \ No newline at end of file diff --git a/res/values/strings_nl.arb b/res/values/strings_nl.arb index 12d1bb54b..8acc1558b 100644 --- a/res/values/strings_nl.arb +++ b/res/values/strings_nl.arb @@ -306,6 +306,8 @@ "descending": "Aflopend", "description": "Beschrijving", "destination_tag": "Bestemmingstag:", + "destination_tag_optional": "Bestemmingstag (optioneel)", + "destination_tag_swap_disclaimer": "Vereist door de ontvanger om uw geld te crediteren. Ontbrekende of verkeerde tag betekent verloren geld.", "deuro_about_deuro": "Over dEURO", "deuro_collect_interest": "Verzamelen", "deuro_reinvest_interest": "Herinvesteren", @@ -613,6 +615,7 @@ "memo": "Memo", "memo_disclaimer": "Deze memo is zichtbaar voor de ontvanger", "memo_optional": "Memo (optioneel)", + "memo_swap_disclaimer": "Vereist door de ontvanger om uw geld te crediteren. Ontbrekende of verkeerde memo betekent verloren geld.", "message": "Bericht", "message_verified": "Het bericht is succesvol geverifieerd", "messages": "Berichten", @@ -1371,4 +1374,4 @@ "zcash_card_missing_funds": "Fondsen ontbreken?", "zcash_card_scan": "Scannen", "zcash_card_warning": "Sluit de app niet voordat de procedure is voltooid. Als je dit wel doet, moet dit proces helemaal opnieuw worden gestart." -} +} \ No newline at end of file diff --git a/res/values/strings_pl.arb b/res/values/strings_pl.arb index 5389b181d..e4f72081c 100644 --- a/res/values/strings_pl.arb +++ b/res/values/strings_pl.arb @@ -308,6 +308,8 @@ "descending": "Malejąco", "description": "Opis", "destination_tag": "Tag docelowy:", + "destination_tag_optional": "Znacznik miejsca docelowego (opcjonalnie)", + "destination_tag_swap_disclaimer": "Wymagane przez odbiorcę w celu uznania Twoich środków. Brakujący lub błędny tag oznacza utratę środków.", "deuro_about_deuro": "O dEURO", "deuro_collect_interest": "Odbierz", "deuro_reinvest_interest": "Reinwestuj", @@ -615,6 +617,7 @@ "memo": "Memo", "memo_disclaimer": "To memo będzie widoczne dla odbiorcy", "memo_optional": "Memo (opcjonalne)", + "memo_swap_disclaimer": "Wymagane przez odbiorcę w celu uznania Twoich środków. Brakująca lub błędna notatka oznacza utratę środków.", "message": "Wiadomość", "message_verified": "Wiadomość została pomyślnie zweryfikowana", "messages": "Wiadomości", @@ -1372,4 +1375,4 @@ "zcash_card_missing_funds": "Brakuje środków?", "zcash_card_scan": "Skanuj", "zcash_card_warning": "Nie zamykaj aplikacji do czasu zakończenia procedury. Jeśli to zrobisz, proces będzie musiał rozpocząć się od nowa." -} +} \ No newline at end of file diff --git a/res/values/strings_pt.arb b/res/values/strings_pt.arb index 118cd47db..fd938d123 100644 --- a/res/values/strings_pt.arb +++ b/res/values/strings_pt.arb @@ -308,6 +308,8 @@ "descending": "Descendente", "description": "Descrição", "destination_tag": "Tag de destino:", + "destination_tag_optional": "Tag de destino (opcional)", + "destination_tag_swap_disclaimer": "Exigido pelo destinatário para creditar seus fundos. Etiqueta ausente ou errada significa perda de fundos.", "deuro_about_deuro": "Sobre dEURO", "deuro_collect_interest": "Coletar", "deuro_reinvest_interest": "Reinvestir", @@ -617,6 +619,7 @@ "memo": "Memo", "memo_disclaimer": "Este memo ficará visível para o destinatário", "memo_optional": "Memo (opcional)", + "memo_swap_disclaimer": "Exigido pelo destinatário para creditar seus fundos. Memorando ausente ou errado significa perda de fundos.", "message": "Mensagem", "message_verified": "A mensagem foi verificada com sucesso", "messages": "Mensagens", @@ -1376,4 +1379,4 @@ "zcash_card_missing_funds": "Fundos em falta?", "zcash_card_scan": "Escanear", "zcash_card_warning": "Não feche o aplicativo até que o procedimento seja concluído; se você fizer isso, esse processo precisará ser reiniciado do zero." -} +} \ No newline at end of file diff --git a/res/values/strings_pt_BR.arb b/res/values/strings_pt_BR.arb index 2f5e17e30..1e178453e 100644 --- a/res/values/strings_pt_BR.arb +++ b/res/values/strings_pt_BR.arb @@ -306,6 +306,8 @@ "descending": "Decrescente", "description": "Descrição", "destination_tag": "Tag de destino:", + "destination_tag_optional": "Tag de destino (opcional)", + "destination_tag_swap_disclaimer": "Exigido pelo destinatário para creditar seus fundos. Etiqueta ausente ou errada significa perda de fundos.", "deuro_about_deuro": "Sobre dEURO", "deuro_collect_interest": "Coletar", "deuro_reinvest_interest": "Reinvestir", @@ -612,6 +614,7 @@ "memo": "Memo", "memo_disclaimer": "Este memo será visível para o destinatário", "memo_optional": "Memo (opcional)", + "memo_swap_disclaimer": "Exigido pelo destinatário para creditar seus fundos. Memorando ausente ou errado significa perda de fundos.", "message": "Mensagem", "message_verified": "A mensagem foi verificada com sucesso", "messages": "Mensagens", @@ -1368,4 +1371,4 @@ "zcash_card_missing_funds": "Fundos ausentes?", "zcash_card_scan": "Escanear", "zcash_card_warning": "Não feche o app até que o procedimento seja concluído; caso contrário, este processo precisará ser reiniciado do zero." -} +} \ No newline at end of file diff --git a/res/values/strings_ru.arb b/res/values/strings_ru.arb index 828e899bb..cd85cdfb8 100644 --- a/res/values/strings_ru.arb +++ b/res/values/strings_ru.arb @@ -308,6 +308,8 @@ "descending": "По убыванию", "description": "Описание", "destination_tag": "Тег назначения:", + "destination_tag_optional": "Тег назначения (необязательно)", + "destination_tag_swap_disclaimer": "Требуется получателю для зачисления ваших средств. Отсутствие или неправильный тег означает потерю средств.", "deuro_about_deuro": "О dEURO", "deuro_collect_interest": "Собрать", "deuro_reinvest_interest": "Реинвестировать", @@ -616,6 +618,7 @@ "memo": "Мемо", "memo_disclaimer": "Это примечание будет видно получателю", "memo_optional": "Мемо (необязательно)", + "memo_swap_disclaimer": "Требуется получателю для зачисления ваших средств. Отсутствие или неправильная памятка означает потерю средств.", "message": "Сообщение", "message_verified": "Сообщение было успешно проверено", "messages": "Сообщения", @@ -1374,4 +1377,4 @@ "zcash_card_missing_funds": "Не хватает средств?", "zcash_card_scan": "Сканировать", "zcash_card_warning": "Не закрывайте приложение до завершения процедуры. Если вы это сделаете, процесс придется перезапустить с нуля." -} +} \ No newline at end of file diff --git a/res/values/strings_th.arb b/res/values/strings_th.arb index f0abd0399..e2b41f44b 100644 --- a/res/values/strings_th.arb +++ b/res/values/strings_th.arb @@ -308,6 +308,8 @@ "descending": "จากมากไปน้อย", "description": "คำอธิบาย", "destination_tag": "แท็กปลายทาง:", + "destination_tag_optional": "แท็กปลายทาง (ไม่บังคับ)", + "destination_tag_swap_disclaimer": "ผู้รับต้องการให้เครดิตเงินของคุณ แท็กที่หายไปหรือผิดหมายถึงสูญเสียเงิน", "deuro_about_deuro": "เกี่ยวกับ dEURO", "deuro_collect_interest": "รับ", "deuro_reinvest_interest": "ลงทุนซ้ำ", @@ -616,6 +618,7 @@ "memo": "บันทึก", "memo_disclaimer": "บันทึกนี้จะมองเห็นได้โดยผู้รับ", "memo_optional": "บันทึก (ไม่บังคับ)", + "memo_swap_disclaimer": "ผู้รับต้องการให้เครดิตเงินของคุณ บันทึกที่หายไปหรือผิดหมายถึงสูญเสียเงิน", "message": "ข้อความ", "message_verified": "ตรวจสอบข้อความสำเร็จแล้ว", "messages": "ข้อความ", @@ -1373,4 +1376,4 @@ "zcash_card_missing_funds": "ยอดเงินหายไป?", "zcash_card_scan": "สแกน", "zcash_card_warning": "อย่าปิดแอปจนกว่าขั้นตอนจะเสร็จสิ้น หากคุณปิดแอป กระบวนการนี้จะต้องเริ่มใหม่ตั้งแต่ต้น" -} +} \ No newline at end of file diff --git a/res/values/strings_tl.arb b/res/values/strings_tl.arb index 71a87c25a..98d6d91d0 100644 --- a/res/values/strings_tl.arb +++ b/res/values/strings_tl.arb @@ -308,6 +308,8 @@ "descending": "Pababa", "description": "Paglalarawan", "destination_tag": "Destination tag:", + "destination_tag_optional": "Destination tag (opsyonal)", + "destination_tag_swap_disclaimer": "Kinakailangan ng tatanggap na ikredito ang iyong mga pondo. Ang nawawala o maling tag ay nangangahulugan ng mga nawalang pondo.", "deuro_about_deuro": "Tungkol sa dEURO", "deuro_collect_interest": "Kolektahin", "deuro_reinvest_interest": "Muling i-invest", @@ -616,6 +618,7 @@ "memo": "Memo", "memo_disclaimer": "Makikita ng tatanggap ang memo na ito", "memo_optional": "Memo (opsyonal)", + "memo_swap_disclaimer": "Kinakailangan ng tatanggap na ikredito ang iyong mga pondo. Ang nawawala o maling memo ay nangangahulugan ng nawalang pondo.", "message": "Mensahe", "message_verified": "Matagumpay na na-verify ang mensahe", "messages": "Mga Mensahe", @@ -1373,4 +1376,4 @@ "zcash_card_missing_funds": "Nawawalang pondo?", "zcash_card_scan": "I-scan", "zcash_card_warning": "Huwag isara ang app hanggang sa makumpleto ang proseso; kung gagawin mo ito, kakailanganing magsimula muli mula sa simula." -} +} \ No newline at end of file diff --git a/res/values/strings_tr.arb b/res/values/strings_tr.arb index 346b35d0d..1f2a1219d 100644 --- a/res/values/strings_tr.arb +++ b/res/values/strings_tr.arb @@ -308,6 +308,8 @@ "descending": "Azalan", "description": "Açıklama", "destination_tag": "Hedef etiketi:", + "destination_tag_optional": "Hedef etiketi (isteğe bağlı)", + "destination_tag_swap_disclaimer": "Alıcının paranızı yatırması için gereklidir. Eksik veya yanlış etiket, para kaybı anlamına gelir.", "deuro_about_deuro": "dEURO hakkında", "deuro_collect_interest": "Topla", "deuro_reinvest_interest": "Yeniden yatır", @@ -616,6 +618,7 @@ "memo": "Not", "memo_disclaimer": "Bu memo alıcı tarafından görülebilecektir", "memo_optional": "Memo (isteğe bağlı)", + "memo_swap_disclaimer": "Alıcının paranızı yatırması için gereklidir. Eksik veya yanlış not, para kaybı anlamına gelir.", "message": "Mesaj", "message_verified": "Mesaj başarıyla doğrulandı", "messages": "Mesajlar", @@ -1373,4 +1376,4 @@ "zcash_card_missing_funds": "Bakiye eksik mi?", "zcash_card_scan": "Tara", "zcash_card_warning": "İşlem tamamlanana kadar uygulamayı kapatmayın; aksi takdirde bu işlemin baştan yeniden başlatılması gerekecektir." -} +} \ No newline at end of file diff --git a/res/values/strings_uk.arb b/res/values/strings_uk.arb index 769221508..63ed3b1e7 100644 --- a/res/values/strings_uk.arb +++ b/res/values/strings_uk.arb @@ -308,6 +308,8 @@ "descending": "За спаданням", "description": "Опис", "destination_tag": "Тег призначення:", + "destination_tag_optional": "Тег призначення (необов’язково)", + "destination_tag_swap_disclaimer": "Потрібний одержувачу для зарахування ваших коштів. Відсутній або неправильний тег означає втрату коштів.", "deuro_about_deuro": "Про dEURO", "deuro_collect_interest": "Зібрати", "deuro_reinvest_interest": "Реінвестувати", @@ -616,6 +618,7 @@ "memo": "Мемо", "memo_disclaimer": "Ця примітка буде видима одержувачу", "memo_optional": "Мемо (необов'язково)", + "memo_swap_disclaimer": "Потрібний одержувачу для зарахування ваших коштів. Відсутня або неправильна нотатка означає втрату коштів.", "message": "Повідомлення", "message_verified": "Повідомлення було успішно перевірено", "messages": "Повідомлення", @@ -1374,4 +1377,4 @@ "zcash_card_missing_funds": "Зникли кошти?", "zcash_card_scan": "Сканувати", "zcash_card_warning": "Не закривайте застосунок, доки процедура не завершиться. Якщо ви це зробите, цей процес потрібно буде перезапустити з нуля." -} +} \ No newline at end of file diff --git a/res/values/strings_ur.arb b/res/values/strings_ur.arb index 9285c8e7e..b43075057 100644 --- a/res/values/strings_ur.arb +++ b/res/values/strings_ur.arb @@ -308,6 +308,8 @@ "descending": "نزولی", "description": "تفصیل", "destination_tag": "ڈیسٹینیشن ٹیگ:", + "destination_tag_optional": "منزل کا ٹیگ (اختیاری)", + "destination_tag_swap_disclaimer": "وصول کنندہ کے ذریعہ آپ کے فنڈز کو کریڈٹ کرنے کی ضرورت ہے۔ گمشدہ یا غلط ٹیگ کا مطلب ہے کھوئے ہوئے فنڈز۔", "deuro_about_deuro": "dEURO کے بارے میں", "deuro_collect_interest": "وصول کریں", "deuro_reinvest_interest": "دوبارہ سرمایہ کاری کریں", @@ -616,6 +618,7 @@ "memo": "میمو", "memo_disclaimer": "یہ میمو وصول کنندہ کو نظر آئے گا۔", "memo_optional": "میمو (اختیاری)", + "memo_swap_disclaimer": "وصول کنندہ کے ذریعہ آپ کے فنڈز کو کریڈٹ کرنے کی ضرورت ہے۔ گمشدہ یا غلط میمو کا مطلب ہے کھوئے ہوئے فنڈز۔", "message": "پیغام", "message_verified": "پیغام کی کامیابی سے تصدیق ہو گئی", "messages": "پیغامات", @@ -1375,4 +1378,4 @@ "zcash_card_missing_funds": "فنڈز غائب ہیں؟", "zcash_card_scan": "اسکین کریں", "zcash_card_warning": "طریقہ کار مکمل ہونے تک ایپ بند نہ کریں۔ اگر آپ ایسا کریں گے تو یہ عمل شروع سے دوبارہ شروع کرنا پڑے گا۔" -} +} \ No newline at end of file diff --git a/res/values/strings_vi.arb b/res/values/strings_vi.arb index 5ce21b68c..f53e3a8a2 100644 --- a/res/values/strings_vi.arb +++ b/res/values/strings_vi.arb @@ -307,6 +307,8 @@ "descending": "Giảm dần", "description": "Mô tả", "destination_tag": "Thẻ đích:", + "destination_tag_optional": "Thẻ đích (tùy chọn)", + "destination_tag_swap_disclaimer": "Người nhận yêu cầu ghi có tiền của bạn. Thẻ bị thiếu hoặc sai có nghĩa là tiền bị mất.", "deuro_about_deuro": "Giới thiệu về dEURO", "deuro_collect_interest": "Thu", "deuro_reinvest_interest": "Tái đầu tư", @@ -615,6 +617,7 @@ "memo": "Ghi chú", "memo_disclaimer": "Ghi chú này sẽ hiển thị cho người nhận", "memo_optional": "Ghi chú (tùy chọn)", + "memo_swap_disclaimer": "Người nhận yêu cầu ghi có tiền của bạn. Bản ghi nhớ bị thiếu hoặc sai có nghĩa là tiền bị mất.", "message": "Tin nhắn", "message_verified": "Tin nhắn đã được xác minh thành công", "messages": "Tin nhắn", @@ -1370,4 +1373,4 @@ "zcash_card_missing_funds": "Thiếu tiền?", "zcash_card_scan": "Quét", "zcash_card_warning": "Không đóng ứng dụng cho đến khi quy trình hoàn tất; nếu bạn làm vậy, quy trình này sẽ phải bắt đầu lại từ đầu." -} +} \ No newline at end of file diff --git a/res/values/strings_yo.arb b/res/values/strings_yo.arb index 29ebbe6c4..2039dd57a 100644 --- a/res/values/strings_yo.arb +++ b/res/values/strings_yo.arb @@ -308,6 +308,8 @@ "descending": "Sísọ̀kalẹ̀", "description": "Apejuwe", "destination_tag": "Ami ìbùdó:", + "destination_tag_optional": "Aami ibi-afẹde (aṣayan)", + "destination_tag_swap_disclaimer": "Ti beere lọwọ olugba lati gbese awọn owo rẹ. Sonu tabi ti ko tọ tag tumo si sọnu owo.", "deuro_about_deuro": "Nipa dEURO", "deuro_collect_interest": "Gba", "deuro_reinvest_interest": "Tun fi èrè padà sí i", @@ -617,6 +619,7 @@ "memo": "Àkọsílẹ̀", "memo_disclaimer": "Akọsilẹ yii yoo han si olugba", "memo_optional": "Akọsilẹ (aṣayan)", + "memo_swap_disclaimer": "Ti beere lọwọ olugba lati gbese awọn owo rẹ. Pipadanu tabi akọsilẹ aṣiṣe tumọ si awọn owo ti o sọnu.", "message": "Ifiranṣẹ", "message_verified": "A ti jẹrisi ifiranṣẹ naa ni aṣeyọri", "messages": "Awọn ifiranṣẹ", @@ -1374,4 +1377,4 @@ "zcash_card_missing_funds": "Ṣe owó rẹ sọnù?", "zcash_card_scan": "Ṣàwárí", "zcash_card_warning": "Maṣe pa ohun elo naa titi ilana naa yoo fi pari; bí o bá ṣe bẹ́ẹ̀, ilana yìí yóò ní láti tún bẹ̀rẹ̀ láti ìbẹ̀rẹ̀." -} +} \ No newline at end of file diff --git a/res/values/strings_zh.arb b/res/values/strings_zh.arb index 766d79737..1691da606 100644 --- a/res/values/strings_zh.arb +++ b/res/values/strings_zh.arb @@ -308,6 +308,8 @@ "descending": "降序", "description": "描述", "destination_tag": "目标标签:", + "destination_tag_optional": "目的地标签(可选)", + "destination_tag_swap_disclaimer": "收款人要求存入您的资金。标签丢失或错误意味着资金损失。", "deuro_about_deuro": "关于 dEURO", "deuro_collect_interest": "领取", "deuro_reinvest_interest": "再投资", @@ -616,6 +618,7 @@ "memo": "备注", "memo_disclaimer": "此备注将对接收方可见", "memo_optional": "备注(可选)", + "memo_swap_disclaimer": "收款人要求存入您的资金。备忘录丢失或错误意味着资金损失。", "message": "消息", "message_verified": "消息已成功验证", "messages": "消息", @@ -1373,4 +1376,4 @@ "zcash_card_missing_funds": "资金不见了?", "zcash_card_scan": "扫描", "zcash_card_warning": "在该过程完成之前请勿关闭应用程序,否则该过程将需要从头重新开始。" -} +} \ No newline at end of file diff --git a/res/values/strings_zh_tw.arb b/res/values/strings_zh_tw.arb index c85a7b648..dd920063c 100644 --- a/res/values/strings_zh_tw.arb +++ b/res/values/strings_zh_tw.arb @@ -259,6 +259,8 @@ "descending": "降序", "description": "描述", "destination_tag": "目的地標籤:", + "destination_tag_optional": "目的地標籤(可選)", + "destination_tag_swap_disclaimer": "收款人要求存入您的資金。標籤丟失或錯誤意味著資金損失。", "deuro_about_deuro": "關於 dEURO", "deuro_collect_interest": "領取", "deuro_reinvest_interest": "再投資", @@ -523,6 +525,7 @@ "max_amount": "最大: ${value}", "max_value": "最大值:${value} ${currency}", "memo": "備註", + "memo_swap_disclaimer": "收款人要求存入您的資金。備忘錄丟失或錯誤意味著資金損失。", "message": "訊息", "message_verified": "訊息已成功驗證", "messages": "訊息", @@ -1177,4 +1180,4 @@ "youCanGoBackToYourDapp": "您現在可以返回您的 dApp", "your": "您的", "yy": "YY" -} +} \ No newline at end of file diff --git a/scripts/ios/app_icon.sh b/scripts/ios/app_icon.sh index adc1c36ea..df8dd0009 100755 --- a/scripts/ios/app_icon.sh +++ b/scripts/ios/app_icon.sh @@ -1,225 +1,17 @@ #!/bin/sh -CONTENTS_JSON_PATH="" - -ICON_20_2x_PATH="" -ICON_20_3x_PATH="" -ICON_29_2x_PATH="" -ICON_29_3x_PATH="" -ICON_38_2x_PATH="" -ICON_38_3x_PATH="" -ICON_40_2x_PATH="" -ICON_40_3x_PATH="" -ICON_60_2x_PATH="" -ICON_60_3x_PATH="" -ICON_64_2x_PATH="" -ICON_64_3x_PATH="" -ICON_68_2x_PATH="" -ICON_76_2x_PATH="" -ICON_83_5_2x_PATH="" -ICON_1024_1x_PATH="" - -ICON_DARK_20_2x_PATH="" -ICON_DARK_20_3x_PATH="" -ICON_DARK_29_2x_PATH="" -ICON_DARK_29_3x_PATH="" -ICON_DARK_38_2x_PATH="" -ICON_DARK_38_3x_PATH="" -ICON_DARK_40_2x_PATH="" -ICON_DARK_40_3x_PATH="" -ICON_DARK_60_2x_PATH="" -ICON_DARK_60_3x_PATH="" -ICON_DARK_64_2x_PATH="" -ICON_DARK_64_3x_PATH="" -ICON_DARK_68_2x_PATH="" -ICON_DARK_76_2x_PATH="" -ICON_DARK_83_5_2x_PATH="" -ICON_DARK_1024_1x_PATH="" - -ICON_TINTED_20_2x_PATH="" -ICON_TINTED_20_3x_PATH="" -ICON_TINTED_29_2x_PATH="" -ICON_TINTED_29_3x_PATH="" -ICON_TINTED_38_2x_PATH="" -ICON_TINTED_38_3x_PATH="" -ICON_TINTED_40_2x_PATH="" -ICON_TINTED_40_3x_PATH="" -ICON_TINTED_60_2x_PATH="" -ICON_TINTED_60_3x_PATH="" -ICON_TINTED_64_2x_PATH="" -ICON_TINTED_64_3x_PATH="" -ICON_TINTED_68_2x_PATH="" -ICON_TINTED_76_2x_PATH="" -ICON_TINTED_83_5_2x_PATH="" -ICON_TINTED_1024_1x_PATH="" - -DEST_DIR_PATH=`pwd`/../../ios/Runner/Assets.xcassets/AppIcon.appiconset -mkdir -p $DEST_DIR_PATH +DEST_DIR_PATH="`pwd`/../../ios/AppIcon.icon" +SRC_DIR_PATH="`pwd`/../../assets/images/ios_icons" +mkdir -p "$DEST_DIR_PATH" case $APP_IOS_TYPE in "monero.com") - ICON_DIRECTORY=monero_ios_icons;; + ICON_DIRECTORY="monerocom-app.icon" + ;; "cakewallet") - ICON_DIRECTORY=cakewallet_ios_icons;; + ICON_DIRECTORY="cakewallet-app.icon" + ;; esac -CONTENTS_JSON_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Contents.json - -ICON_20_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-20x20@2x.png -ICON_20_3x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-20x20@3x.png -ICON_29_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-29x29@2x.png -ICON_29_3x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-29x29@3x.png -ICON_38_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-38x38@2x.png -ICON_38_3x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-38x38@3x.png -ICON_40_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-40x40@2x.png -ICON_40_3x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-40x40@3x.png -ICON_60_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-60x60@2x.png -ICON_60_3x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-60x60@3x.png -ICON_64_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-64x64@2x.png -ICON_64_3x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-64x64@3x.png -ICON_68_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-68x68@2x.png -ICON_76_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-76x76@2x.png -ICON_83_5_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-83.5x83.5@2x.png -ICON_1024_1x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-1024x1024@1x.png - -ICON_DARK_20_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Dark-20x20@2x.png -ICON_DARK_20_3x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Dark-20x20@3x.png -ICON_DARK_29_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Dark-29x29@2x.png -ICON_DARK_29_3x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Dark-29x29@3x.png -ICON_DARK_38_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Dark-38x38@2x.png -ICON_DARK_38_3x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Dark-38x38@3x.png -ICON_DARK_40_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Dark-40x40@2x.png -ICON_DARK_40_3x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Dark-40x40@3x.png -ICON_DARK_60_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Dark-60x60@2x.png -ICON_DARK_60_3x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Dark-60x60@3x.png -ICON_DARK_64_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Dark-64x64@2x.png -ICON_DARK_64_3x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Dark-64x64@3x.png -ICON_DARK_68_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Dark-68x68@2x.png -ICON_DARK_76_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Dark-76x76@2x.png -ICON_DARK_83_5_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Dark-83.5x83.5@2x.png -ICON_DARK_1024_1x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Dark-1024x1024@1x.png - -ICON_TINTED_20_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Tinted-20x20@2x.png -ICON_TINTED_20_3x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Tinted-20x20@3x.png -ICON_TINTED_29_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Tinted-29x29@2x.png -ICON_TINTED_29_3x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Tinted-29x29@3x.png -ICON_TINTED_38_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Tinted-38x38@2x.png -ICON_TINTED_38_3x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Tinted-38x38@3x.png -ICON_TINTED_40_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Tinted-40x40@2x.png -ICON_TINTED_40_3x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Tinted-40x40@3x.png -ICON_TINTED_60_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Tinted-60x60@2x.png -ICON_TINTED_60_3x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Tinted-60x60@3x.png -ICON_TINTED_64_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Tinted-64x64@2x.png -ICON_TINTED_64_3x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Tinted-64x64@3x.png -ICON_TINTED_68_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Tinted-68x68@2x.png -ICON_TINTED_76_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Tinted-76x76@2x.png -ICON_TINTED_83_5_2x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Tinted-83.5x83.5@2x.png -ICON_TINTED_1024_1x_PATH=`pwd`/../../assets/images/ios_icons/$ICON_DIRECTORY/Icon-App-Tinted-1024x1024@1x.png - -rm $DEST_DIR_PATH/Contents.json - -rm $DEST_DIR_PATH/Icon-App-20x20@2x.png -rm $DEST_DIR_PATH/Icon-App-20x20@3x.png -rm $DEST_DIR_PATH/Icon-App-29x29@2x.png -rm $DEST_DIR_PATH/Icon-App-29x29@3x.png -rm $DEST_DIR_PATH/Icon-App-38x38@2x.png -rm $DEST_DIR_PATH/Icon-App-38x38@3x.png -rm $DEST_DIR_PATH/Icon-App-40x40@2x.png -rm $DEST_DIR_PATH/Icon-App-40x40@3x.png -rm $DEST_DIR_PATH/Icon-App-60x60@2x.png -rm $DEST_DIR_PATH/Icon-App-60x60@3x.png -rm $DEST_DIR_PATH/Icon-App-64x64@2x.png -rm $DEST_DIR_PATH/Icon-App-64x64@3x.png -rm $DEST_DIR_PATH/Icon-App-68x68@2x.png -rm $DEST_DIR_PATH/Icon-App-76x76@2x.png -rm $DEST_DIR_PATH/Icon-App-83.5x83.5@2x.png -rm $DEST_DIR_PATH/Icon-App-1024x1024@1x.png - -rm $DEST_DIR_PATH/Icon-App-Dark-20x20@2x.png -rm $DEST_DIR_PATH/Icon-App-Dark-20x20@3x.png -rm $DEST_DIR_PATH/Icon-App-Dark-29x29@2x.png -rm $DEST_DIR_PATH/Icon-App-Dark-29x29@3x.png -rm $DEST_DIR_PATH/Icon-App-Dark-38x38@2x.png -rm $DEST_DIR_PATH/Icon-App-Dark-38x38@3x.png -rm $DEST_DIR_PATH/Icon-App-Dark-40x40@2x.png -rm $DEST_DIR_PATH/Icon-App-Dark-40x40@3x.png -rm $DEST_DIR_PATH/Icon-App-Dark-60x60@2x.png -rm $DEST_DIR_PATH/Icon-App-Dark-60x60@3x.png -rm $DEST_DIR_PATH/Icon-App-Dark-64x64@2x.png -rm $DEST_DIR_PATH/Icon-App-Dark-64x64@3x.png -rm $DEST_DIR_PATH/Icon-App-Dark-68x68@2x.png -rm $DEST_DIR_PATH/Icon-App-Dark-76x76@2x.png -rm $DEST_DIR_PATH/Icon-App-Dark-83.5x83.5@2x.png -rm $DEST_DIR_PATH/Icon-App-Dark-1024x1024@1x.png - -rm $DEST_DIR_PATH/Icon-App-Tinted-20x20@2x.png -rm $DEST_DIR_PATH/Icon-App-Tinted-20x20@3x.png -rm $DEST_DIR_PATH/Icon-App-Tinted-29x29@2x.png -rm $DEST_DIR_PATH/Icon-App-Tinted-29x29@3x.png -rm $DEST_DIR_PATH/Icon-App-Tinted-38x38@2x.png -rm $DEST_DIR_PATH/Icon-App-Tinted-38x38@3x.png -rm $DEST_DIR_PATH/Icon-App-Tinted-40x40@2x.png -rm $DEST_DIR_PATH/Icon-App-Tinted-40x40@3x.png -rm $DEST_DIR_PATH/Icon-App-Tinted-60x60@2x.png -rm $DEST_DIR_PATH/Icon-App-Tinted-60x60@3x.png -rm $DEST_DIR_PATH/Icon-App-Tinted-64x64@2x.png -rm $DEST_DIR_PATH/Icon-App-Tinted-64x64@3x.png -rm $DEST_DIR_PATH/Icon-App-Tinted-68x68@2x.png -rm $DEST_DIR_PATH/Icon-App-Tinted-76x76@2x.png -rm $DEST_DIR_PATH/Icon-App-Tinted-83.5x83.5@2x.png -rm $DEST_DIR_PATH/Icon-App-Tinted-1024x1024@1x.png - -ln -s $CONTENTS_JSON_PATH $DEST_DIR_PATH/Contents.json - -ln -s $ICON_20_2x_PATH $DEST_DIR_PATH/Icon-App-20x20@2x.png -ln -s $ICON_20_3x_PATH $DEST_DIR_PATH/Icon-App-20x20@3x.png -ln -s $ICON_29_2x_PATH $DEST_DIR_PATH/Icon-App-29x29@2x.png -ln -s $ICON_29_3x_PATH $DEST_DIR_PATH/Icon-App-29x29@3x.png -ln -s $ICON_38_2x_PATH $DEST_DIR_PATH/Icon-App-38x38@2x.png -ln -s $ICON_38_3x_PATH $DEST_DIR_PATH/Icon-App-38x38@3x.png -ln -s $ICON_40_2x_PATH $DEST_DIR_PATH/Icon-App-40x40@2x.png -ln -s $ICON_40_3x_PATH $DEST_DIR_PATH/Icon-App-40x40@3x.png -ln -s $ICON_60_2x_PATH $DEST_DIR_PATH/Icon-App-60x60@2x.png -ln -s $ICON_60_3x_PATH $DEST_DIR_PATH/Icon-App-60x60@3x.png -ln -s $ICON_64_2x_PATH $DEST_DIR_PATH/Icon-App-64x64@2x.png -ln -s $ICON_64_3x_PATH $DEST_DIR_PATH/Icon-App-64x64@3x.png -ln -s $ICON_68_2x_PATH $DEST_DIR_PATH/Icon-App-68x68@2x.png -ln -s $ICON_76_2x_PATH $DEST_DIR_PATH/Icon-App-76x76@2x.png -ln -s $ICON_83_5_2x_PATH $DEST_DIR_PATH/Icon-App-83.5x83.5@2x.png -ln -s $ICON_1024_1x_PATH $DEST_DIR_PATH/Icon-App-1024x1024@1x.png - -ln -s $ICON_DARK_20_2x_PATH $DEST_DIR_PATH/Icon-App-Dark-20x20@2x.png -ln -s $ICON_DARK_20_3x_PATH $DEST_DIR_PATH/Icon-App-Dark-20x20@3x.png -ln -s $ICON_DARK_29_2x_PATH $DEST_DIR_PATH/Icon-App-Dark-29x29@2x.png -ln -s $ICON_DARK_29_3x_PATH $DEST_DIR_PATH/Icon-App-Dark-29x29@3x.png -ln -s $ICON_DARK_38_2x_PATH $DEST_DIR_PATH/Icon-App-Dark-38x38@2x.png -ln -s $ICON_DARK_38_3x_PATH $DEST_DIR_PATH/Icon-App-Dark-38x38@3x.png -ln -s $ICON_DARK_40_2x_PATH $DEST_DIR_PATH/Icon-App-Dark-40x40@2x.png -ln -s $ICON_DARK_40_3x_PATH $DEST_DIR_PATH/Icon-App-Dark-40x40@3x.png -ln -s $ICON_DARK_60_2x_PATH $DEST_DIR_PATH/Icon-App-Dark-60x60@2x.png -ln -s $ICON_DARK_60_3x_PATH $DEST_DIR_PATH/Icon-App-Dark-60x60@3x.png -ln -s $ICON_DARK_64_2x_PATH $DEST_DIR_PATH/Icon-App-Dark-64x64@2x.png -ln -s $ICON_DARK_64_3x_PATH $DEST_DIR_PATH/Icon-App-Dark-64x64@3x.png -ln -s $ICON_DARK_68_2x_PATH $DEST_DIR_PATH/Icon-App-Dark-68x68@2x.png -ln -s $ICON_DARK_76_2x_PATH $DEST_DIR_PATH/Icon-App-Dark-76x76@2x.png -ln -s $ICON_DARK_83_5_2x_PATH $DEST_DIR_PATH/Icon-App-Dark-83.5x83.5@2x.png -ln -s $ICON_DARK_1024_1x_PATH $DEST_DIR_PATH/Icon-App-Dark-1024x1024@1x.png - -ln -s $ICON_TINTED_20_2x_PATH $DEST_DIR_PATH/Icon-App-Tinted-20x20@2x.png -ln -s $ICON_TINTED_20_3x_PATH $DEST_DIR_PATH/Icon-App-Tinted-20x20@3x.png -ln -s $ICON_TINTED_29_2x_PATH $DEST_DIR_PATH/Icon-App-Tinted-29x29@2x.png -ln -s $ICON_TINTED_29_3x_PATH $DEST_DIR_PATH/Icon-App-Tinted-29x29@3x.png -ln -s $ICON_TINTED_38_2x_PATH $DEST_DIR_PATH/Icon-App-Tinted-38x38@2x.png -ln -s $ICON_TINTED_38_3x_PATH $DEST_DIR_PATH/Icon-App-Tinted-38x38@3x.png -ln -s $ICON_TINTED_40_2x_PATH $DEST_DIR_PATH/Icon-App-Tinted-40x40@2x.png -ln -s $ICON_TINTED_40_3x_PATH $DEST_DIR_PATH/Icon-App-Tinted-40x40@3x.png -ln -s $ICON_TINTED_60_2x_PATH $DEST_DIR_PATH/Icon-App-Tinted-60x60@2x.png -ln -s $ICON_TINTED_60_3x_PATH $DEST_DIR_PATH/Icon-App-Tinted-60x60@3x.png -ln -s $ICON_TINTED_64_2x_PATH $DEST_DIR_PATH/Icon-App-Tinted-64x64@2x.png -ln -s $ICON_TINTED_64_3x_PATH $DEST_DIR_PATH/Icon-App-Tinted-64x64@3x.png -ln -s $ICON_TINTED_68_2x_PATH $DEST_DIR_PATH/Icon-App-Tinted-68x68@2x.png -ln -s $ICON_TINTED_76_2x_PATH $DEST_DIR_PATH/Icon-App-Tinted-76x76@2x.png -ln -s $ICON_TINTED_83_5_2x_PATH $DEST_DIR_PATH/Icon-App-Tinted-83.5x83.5@2x.png -ln -s $ICON_TINTED_1024_1x_PATH $DEST_DIR_PATH/Icon-App-Tinted-1024x1024@1x.png - - +rm -rf $DEST_DIR_PATH +cp -r "$SRC_DIR_PATH/$ICON_DIRECTORY" "$DEST_DIR_PATH" \ No newline at end of file diff --git a/scripts/macos/app_icon.sh b/scripts/macos/app_icon.sh index 28ca9c17b..27f166a96 100755 --- a/scripts/macos/app_icon.sh +++ b/scripts/macos/app_icon.sh @@ -1,44 +1,17 @@ #!/bin/sh -ICON_16_PATH="" -ICON_32_PATH="" -ICON_64_PATH="" -ICON_128_PATH="" -ICON_256_PATH="" -ICON_1024_PATH="" -DEST_DIR_PATH=`pwd`/../../macos/Runner/Assets.xcassets/AppIcon.appiconset +DEST_DIR_PATH="`pwd`/../../macos/AppIcon.icon" +SRC_DIR_PATH="`pwd`/../../assets/images/ios_icons" +mkdir -p "$DEST_DIR_PATH" case $APP_MACOS_TYPE in "monero.com") - ICON_16_PATH=`pwd`/../../assets/images/macos_icons/monero_macos_icons/monero_macos_16.png - ICON_32_PATH=`pwd`/../../assets/images/macos_icons/monero_macos_icons/monero_macos_32.png - ICON_64_PATH=`pwd`/../../assets/images/macos_icons/monero_macos_icons/monero_macos_64.png - ICON_128_PATH=`pwd`/../../assets/images/macos_icons/monero_macos_icons/monero_macos_128.png - ICON_256_PATH=`pwd`/../../assets/images/macos_icons/monero_macos_icons/monero_macos_256.png - ICON_512_PATH=`pwd`/../../assets/images/macos_icons/monero_macos_icons/monero_macos_512.png - ICON_1024_PATH=`pwd`/../../assets/images/macos_icons/monero_macos_icons/monero_macos_1024.png;; + ICON_DIRECTORY="monerocom-app.icon" + ;; "cakewallet") - ICON_16_PATH=`pwd`/../../assets/images/macos_icons/cakewallet_macos_icons/cakewallet_macos_16.png - ICON_32_PATH=`pwd`/../../assets/images/macos_icons/cakewallet_macos_icons/cakewallet_macos_32.png - ICON_64_PATH=`pwd`/../../assets/images/macos_icons/cakewallet_macos_icons/cakewallet_macos_64.png - ICON_128_PATH=`pwd`/../../assets/images/macos_icons/cakewallet_macos_icons/cakewallet_macos_128.png - ICON_256_PATH=`pwd`/../../assets/images/macos_icons/cakewallet_macos_icons/cakewallet_macos_256.png - ICON_512_PATH=`pwd`/../../assets/images/macos_icons/cakewallet_macos_icons/cakewallet_macos_512.png - ICON_1024_PATH=`pwd`/../../assets/images/macos_icons/cakewallet_macos_icons/cakewallet_macos_1024.png;; + ICON_DIRECTORY="cakewallet-app.icon" + ;; esac -rm $DEST_DIR_PATH/app_icon_16.png -rm $DEST_DIR_PATH/app_icon_32.png -rm $DEST_DIR_PATH/app_icon_64.png -rm $DEST_DIR_PATH/app_icon_128.png -rm $DEST_DIR_PATH/app_icon_256.png -rm $DEST_DIR_PATH/app_icon_512.png -rm $DEST_DIR_PATH/app_icon_1024.png - -ln -s $ICON_16_PATH $DEST_DIR_PATH/app_icon_16.png -ln -s $ICON_32_PATH $DEST_DIR_PATH/app_icon_32.png -ln -s $ICON_64_PATH $DEST_DIR_PATH/app_icon_64.png -ln -s $ICON_128_PATH $DEST_DIR_PATH/app_icon_128.png -ln -s $ICON_256_PATH $DEST_DIR_PATH/app_icon_256.png -ln -s $ICON_512_PATH $DEST_DIR_PATH/app_icon_512.png -ln -s $ICON_1024_PATH $DEST_DIR_PATH/app_icon_1024.png \ No newline at end of file +rm -rf $DEST_DIR_PATH +cp -r "$SRC_DIR_PATH/$ICON_DIRECTORY" "$DEST_DIR_PATH" \ No newline at end of file