Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merge master into staging-ln #2960

Merged
merged 26 commits into from
Oct 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
22820c2
go.mod: remove temporary karalable/hid patch
benma Sep 19, 2024
ad8f4b8
frontend: move signProgress in sub-component
NicolaLS Sep 2, 2024
0519197
frontend: remove signProgress from BB02 confirm
NicolaLS Sep 10, 2024
70c2821
Merge remote-tracking branch 'nicola/move-signConfirm-and-signProgres…
thisconnect Sep 24, 2024
74d6fa7
Merge branch 'hid'
benma Sep 24, 2024
ddf9b10
ios: add new build target for testnet
benma Sep 24, 2024
d102db1
ios: enable software keystore in testnet
benma Sep 25, 2024
a08155c
prevent sleep on macOS during long running queries
benma Sep 19, 2024
5a543bb
ios: use a separate placeholder logo for the testnet app
benma Sep 25, 2024
90c3f40
Merge remote-tracking branch 'benma/preventsleep'
benma Sep 25, 2024
2ad55f2
Merge remote-tracking branch 'benma/ios-testnet'
benma Sep 25, 2024
4661111
ios: allow app to access camera
benma Sep 25, 2024
84d1809
ios: fix QR code scanner UI
benma Sep 26, 2024
2dee549
Merge branch 'ios-camera'
benma Sep 26, 2024
8357291
backend/bitbox02: bundle v9.21.0 firmwares
benma Sep 26, 2024
2fa085f
backend: update to version 4.45.0
benma Sep 26, 2024
f5a4500
frontend: make locize-pull
benma Sep 26, 2024
1b062e5
Merge branch 'update'
benma Sep 26, 2024
2cbe6ab
Merge branch 'locize'
benma Sep 26, 2024
488a8a3
frontend/settings: enable log export on Android
Beerosagos Sep 30, 2024
4b11886
Merge branch 'android-logs'
Beerosagos Sep 30, 2024
3cfeb36
frontend: allow action buttons to grow on mobile
thisconnect Oct 1, 2024
2314d84
frontend/exchange: fix wrong buy/sell tabs labels
Beerosagos Oct 1, 2024
dfbebbd
Merge branch 'frontend-fix-actionbuttons'
thisconnect Oct 1, 2024
242d573
frontend: make locize-pull
benma Oct 1, 2024
9ed7888
Merge branch 'locize'
benma Oct 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
# Changelog

## Unreleased
- Android: enable export logs feature

# 4.45.0
- Bundle BitBox02 firmware version v9.21.0
- Bitcoin: add support for sending to silent payment (BIP-352) addresses
- Prevent macOS from going to sleep on long running interactions with the BitBox

## 4.44.0
- Bundle BitBox02 firmware version v9.20.0
Expand Down
Binary file not shown.

This file was deleted.

Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
36895857c346c1fbd0d206853b7031e985c1a959e9f7f9396a7ae94dfffa9679
Binary file not shown.

This file was deleted.

Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
35c691d69d22f96cb0efc201dddf57c25afd09c850104925b8cea6d7f60850f5
12 changes: 6 additions & 6 deletions backend/devices/bitbox02bootloader/firmware.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,15 @@ var intermediateFirmwareBinaryBTCOnly_9_17_1 []byte
//go:embed assets/firmware.v9.17.1.signed.bin.gz
var intermediateFirmwareBinaryMulti_9_17_1 []byte

//go:embed assets/firmware-btc.v9.20.0.signed.bin.gz
//go:embed assets/firmware-btc.v9.21.0.signed.bin.gz
var firmwareBinaryBTCOnly []byte
var firmwareVersionBTCOnly = semver.NewSemVer(9, 20, 0)
var firmwareMonotonicVersionBtcOnly uint32 = 40
var firmwareVersionBTCOnly = semver.NewSemVer(9, 21, 0)
var firmwareMonotonicVersionBtcOnly uint32 = 41

//go:embed assets/firmware.v9.20.0.signed.bin.gz
//go:embed assets/firmware.v9.21.0.signed.bin.gz
var firmwareBinaryMulti []byte
var firmwareVersionMulti = semver.NewSemVer(9, 20, 0)
var firmwareMonotonicVersionMulti uint32 = 40
var firmwareVersionMulti = semver.NewSemVer(9, 21, 0)
var firmwareMonotonicVersionMulti uint32 = 41

type firmwareInfo struct {
version *semver.SemVer
Expand Down
3 changes: 1 addition & 2 deletions backend/mobileserver/mobileserver.go
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ func (hook goLogHook) Fire(entry *logrus.Entry) error {

// Serve serves the BitBoxApp API for use in a mobile client. It is called when the application
// is started or wakes up from sleep.
func Serve(dataDir string, environment GoEnvironmentInterface, goAPI GoAPIInterface) {
func Serve(dataDir string, testnet bool, environment GoEnvironmentInterface, goAPI GoAPIInterface) {
once.Do(func() {
// SetAppDir can only be called once, but this is okay, since the data dir does not change
// between during sleep between Shutdown and Serve.
Expand All @@ -186,7 +186,6 @@ func Serve(dataDir string, environment GoEnvironmentInterface, goAPI GoAPIInterf
logging.Get().AddHook(goLogHook{})
})

testnet := false
bridgecommon.Serve(
testnet,
nil,
Expand Down
2 changes: 1 addition & 1 deletion backend/update.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ const updateFileURL = "https://bitboxapp.shiftcrypto.io/desktop.json"

var (
// Version of the backend as displayed to the user.
Version = semver.NewSemVer(4, 44, 0)
Version = semver.NewSemVer(4, 45, 0)
)

// UpdateFile is retrieved from the server.
Expand Down
4 changes: 2 additions & 2 deletions frontends/android/BitBoxApp/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ android {
applicationId "ch.shiftcrypto.bitboxapp"
minSdkVersion 21
targetSdkVersion 34
versionCode 52
versionName "android-4.44.0"
versionCode 53
versionName "android-4.45.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,8 @@ public void startServer(String filePath, GoEnvironmentInterface goEnvironment, G
Util.log("GoService: Starting server...");
startedLock.lock();
if (!started) {
Mobileserver.serve(filePath, goEnvironment, goAPI);
boolean testnet = false;
Mobileserver.serve(filePath, testnet, goEnvironment, goAPI);
started = true;
Util.log("server started!");
} else {
Expand Down
163 changes: 163 additions & 0 deletions frontends/ios/BitBoxApp/BitBoxApp.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@

/* Begin PBXBuildFile section */
D700B5F62C884C34000496D4 /* Mobileserver.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D76518BB2B1F8F7400DC03A9 /* Mobileserver.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
D700B5FD2CA2FFAF000496D4 /* WebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D76516322B1F3D1A00DC03A9 /* WebView.swift */; };
D700B5FE2CA2FFAF000496D4 /* BitBoxAppApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = D76516082B1F3B1300DC03A9 /* BitBoxAppApp.swift */; };
D700B6002CA2FFAF000496D4 /* libresolv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = D76518C12B1F910C00DC03A9 /* libresolv.tbd */; };
D700B6022CA2FFAF000496D4 /* assets in Resources */ = {isa = PBXBuildFile; fileRef = D76518B52B1F45B300DC03A9 /* assets */; };
D700B6032CA2FFAF000496D4 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D765160F2B1F3B1500DC03A9 /* Preview Assets.xcassets */; };
D700B6042CA2FFAF000496D4 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D765160C2B1F3B1500DC03A9 /* Assets.xcassets */; };
D700B6062CA2FFAF000496D4 /* Mobileserver.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D76518BB2B1F8F7400DC03A9 /* Mobileserver.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
D76516092B1F3B1300DC03A9 /* BitBoxAppApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = D76516082B1F3B1300DC03A9 /* BitBoxAppApp.swift */; };
D765160D2B1F3B1500DC03A9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D765160C2B1F3B1500DC03A9 /* Assets.xcassets */; };
D76516102B1F3B1500DC03A9 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D765160F2B1F3B1500DC03A9 /* Preview Assets.xcassets */; };
Expand Down Expand Up @@ -48,11 +55,23 @@
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
D700B6052CA2FFAF000496D4 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
D700B6062CA2FFAF000496D4 /* Mobileserver.xcframework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
D700B5F82C888CB9000496D4 /* Config.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Config.xcconfig; sourceTree = "<group>"; };
D700B5F92C986A3C000496D4 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
D700B60A2CA2FFAF000496D4 /* BitBoxApp Testnet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "BitBoxApp Testnet.app"; sourceTree = BUILT_PRODUCTS_DIR; };
D76516052B1F3B1300DC03A9 /* BitBoxApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BitBoxApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
D76516082B1F3B1300DC03A9 /* BitBoxAppApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BitBoxAppApp.swift; sourceTree = "<group>"; };
D765160C2B1F3B1500DC03A9 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
Expand All @@ -69,6 +88,14 @@
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
D700B5FF2CA2FFAF000496D4 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
D700B6002CA2FFAF000496D4 /* libresolv.tbd in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D76516022B1F3B1300DC03A9 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
Expand Down Expand Up @@ -113,6 +140,7 @@
D76516052B1F3B1300DC03A9 /* BitBoxApp.app */,
D76516152B1F3B1500DC03A9 /* BitBoxAppTests.xctest */,
D765161F2B1F3B1500DC03A9 /* BitBoxAppUITests.xctest */,
D700B60A2CA2FFAF000496D4 /* BitBoxApp Testnet.app */,
);
name = Products;
sourceTree = "<group>";
Expand Down Expand Up @@ -166,6 +194,25 @@
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
D700B5FA2CA2FFAF000496D4 /* BitBoxApp Testnet */ = {
isa = PBXNativeTarget;
buildConfigurationList = D700B6072CA2FFAF000496D4 /* Build configuration list for PBXNativeTarget "BitBoxApp Testnet" */;
buildPhases = (
D700B5FB2CA2FFAF000496D4 /* Run Script */,
D700B5FC2CA2FFAF000496D4 /* Sources */,
D700B5FF2CA2FFAF000496D4 /* Frameworks */,
D700B6012CA2FFAF000496D4 /* Resources */,
D700B6052CA2FFAF000496D4 /* Embed Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = "BitBoxApp Testnet";
productName = BitBoxApp;
productReference = D700B60A2CA2FFAF000496D4 /* BitBoxApp Testnet.app */;
productType = "com.apple.product-type.application";
};
D76516042B1F3B1300DC03A9 /* BitBoxApp */ = {
isa = PBXNativeTarget;
buildConfigurationList = D76516292B1F3B1500DC03A9 /* Build configuration list for PBXNativeTarget "BitBoxApp" */;
Expand Down Expand Up @@ -258,13 +305,24 @@
projectRoot = "";
targets = (
D76516042B1F3B1300DC03A9 /* BitBoxApp */,
D700B5FA2CA2FFAF000496D4 /* BitBoxApp Testnet */,
D76516142B1F3B1500DC03A9 /* BitBoxAppTests */,
D765161E2B1F3B1500DC03A9 /* BitBoxAppUITests */,
);
};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
D700B6012CA2FFAF000496D4 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D700B6022CA2FFAF000496D4 /* assets in Resources */,
D700B6032CA2FFAF000496D4 /* Preview Assets.xcassets in Resources */,
D700B6042CA2FFAF000496D4 /* Assets.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D76516032B1F3B1300DC03A9 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
Expand Down Expand Up @@ -292,6 +350,25 @@
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
D700B5FB2CA2FFAF000496D4 /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "Run Script";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "# rm -rf ${SRCROOT}/BitBoxApp/assets/web/\n# mkdir -p ${SRCROOT}/BitBoxApp/assets/web/\n# cp -aR ${SRCROOT}/../../web/build/* ${SRCROOT}/BitBoxApp/assets/web/\n";
};
D76518B42B1F446200DC03A9 /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
Expand All @@ -314,6 +391,15 @@
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
D700B5FC2CA2FFAF000496D4 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D700B5FD2CA2FFAF000496D4 /* WebView.swift in Sources */,
D700B5FE2CA2FFAF000496D4 /* BitBoxAppApp.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D76516012B1F3B1300DC03A9 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
Expand Down Expand Up @@ -356,6 +442,70 @@
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
D700B6082CA2FFAF000496D4 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIconTestnet;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_ASSET_PATHS = "\"BitBoxApp/Preview Content\"";
DEVELOPMENT_TEAM = XK248TQN88;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = BitBoxApp/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "BitBoxApp Testnet";
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
OTHER_SWIFT_FLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = swiss.bitbox.BitBoxAppTestnet;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG TARGET_TESTNET";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
D700B6092CA2FFAF000496D4 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIconTestnet;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_ASSET_PATHS = "\"BitBoxApp/Preview Content\"";
DEVELOPMENT_TEAM = XK248TQN88;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = BitBoxApp/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "BitBoxApp Testnet";
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
OTHER_SWIFT_FLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = swiss.bitbox.BitBoxAppTestnet;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = TARGET_TESTNET;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
D76516272B1F3B1500DC03A9 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = D700B5F82C888CB9000496D4 /* Config.xcconfig */;
Expand Down Expand Up @@ -483,6 +633,7 @@
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = BitBoxApp/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = BitBoxApp;
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
Expand All @@ -493,6 +644,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
OTHER_SWIFT_FLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = swiss.bitbox.BitBoxApp;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES;
Expand All @@ -512,6 +664,7 @@
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = BitBoxApp/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = BitBoxApp;
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
Expand All @@ -522,6 +675,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
OTHER_SWIFT_FLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = swiss.bitbox.BitBoxApp;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES;
Expand Down Expand Up @@ -609,6 +763,15 @@
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
D700B6072CA2FFAF000496D4 /* Build configuration list for PBXNativeTarget "BitBoxApp Testnet" */ = {
isa = XCConfigurationList;
buildConfigurations = (
D700B6082CA2FFAF000496D4 /* Debug */,
D700B6092CA2FFAF000496D4 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
D76516002B1F3B1300DC03A9 /* Build configuration list for PBXProject "BitBoxApp" */ = {
isa = XCConfigurationList;
buildConfigurations = (
Expand Down
Loading
Loading