Skip to content

Commit

Permalink
Merge branch 'master' into staging-ln
Browse files Browse the repository at this point in the history
  • Loading branch information
Beerosagos committed Oct 8, 2024
2 parents fa48ff6 + 9ed7888 commit 044ced8
Show file tree
Hide file tree
Showing 61 changed files with 602 additions and 235 deletions.
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

0 comments on commit 044ced8

Please sign in to comment.