mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-31 06:58:42 +01:00
Merge upstream Cake Wallet v6.5.0
Catches up from the May 12 fork point (v6.1.2+23) through v6.5.0: 535 upstream commits, including the Monero silent-open fix, Monero on Trezor, Ledger/Trezor BLE fixes, the new seed and history screens, quick Bitcoin sync, git-pinned dependencies (pubspec_overrides.yaml), frozen Hive adapters (*.part.dart), monero_c v0.18.4.6-RC2 and Flutter 3.41.9. Merged with both sides normalized first (import rename, 100-column format), which took the conflict count from 614 paths to 322. The procedure is now scripts/upstream_sync.sh. Kept from Hash Bags: - WalletType enum order and Hive IDs. SQLite stores WalletType.index and our order differs from upstream's; taking theirs would reread saved wallets as other chains. Our frozen adapter keeps the shipped IDs. - The 1.0.2 legacy PIN and wallet-password decode and self-heal. - Removed chains (Solana, Tron, Zano, Zcash, Decred, Haven) and the new Robinhood chain stay out; Cake Pay and non-Trocador swaps stay out. - Default nodes (node.wownero.org, sethforprivacy, Blockstream, bysh.me), converted to upstream's isDefault node-list key; Wownero is back in the node reset list. - Privacy: address resolvers limited to domain-anchored sources again; prices.neroswap.com for fiat; upstream's charts tab, which reads prices.cakewallet.com, sits behind FeatureFlag.isChartsEnabled = false. - Lightning stays behind FeatureFlag.isLightningEnabled, including upstream's new post-seed Lightning username step. - Our icon pipeline, branding and bundle identifiers. Twelve new upstream widget tests are skipped: test and code are unchanged from v6.5.0 apart from renames (not rerun on a pristine upstream checkout; upstream's top_bar_test does not compile against its own TopBar). flutter analyze lib: 0 errors; flutter test: 345 passed, 12 skipped; flutter build bundle compiles. Built with Flutter 3.41.9.
This commit is contained in:
@@ -14,8 +14,8 @@ TYPES=($MONERO_COM $CAKEWALLET)
|
||||
APP_ANDROID_TYPE=$1
|
||||
|
||||
MONERO_COM_NAME="Monero.com"
|
||||
MONERO_COM_VERSION="6.1.2"
|
||||
MONERO_COM_BUILD_NUMBER=4158
|
||||
MONERO_COM_VERSION="6.5.0"
|
||||
MONERO_COM_BUILD_NUMBER=4171
|
||||
MONERO_COM_BUNDLE_ID="com.monero.app"
|
||||
MONERO_COM_PACKAGE="com.monero.app"
|
||||
MONERO_COM_SCHEME="monero.com"
|
||||
|
||||
@@ -12,6 +12,9 @@ ANDROID_ICON_DEST_PATH=$ANDROID_ICON_DIR/ic_launcher.png
|
||||
ANDROID_ICON_SET=""
|
||||
ANDROID_ICON_SET_DEST_PATH=`pwd`/../../android/app/src/main/res
|
||||
|
||||
CAKE_ROOT=`pwd`/../../
|
||||
BRANCH_NAME=${BRANCH_NAME:-$(git rev-parse --abbrev-ref HEAD)}
|
||||
|
||||
case $APP_ANDROID_TYPE in
|
||||
"monero.com")
|
||||
APP_LOGO=$ASSETS_DIR/images/monero.com_logo.png
|
||||
@@ -27,6 +30,16 @@ esac
|
||||
|
||||
rm $APP_LOGO_DEST_PATH
|
||||
rm $ANDROID_ICON_DEST_PATH
|
||||
ln -s $APP_LOGO $APP_LOGO_DEST_PATH
|
||||
ln -s $ANDROID_ICON $ANDROID_ICON_DEST_PATH
|
||||
cp -a $APP_LOGO $APP_LOGO_DEST_PATH
|
||||
cp -a $ANDROID_ICON $ANDROID_ICON_DEST_PATH
|
||||
cp -a $ANDROID_ICON_SET/. $ANDROID_ICON_SET_DEST_PATH/
|
||||
|
||||
set +x
|
||||
if [[ $GITHUB_HUH == "yeah" ]]; then
|
||||
pwd
|
||||
for file in $(find $CAKE_ROOT/android/app/src/main/res -name "*.png") $APP_LOGO $CAKEWALLET_PATH $ASSETS_DIR/images/cakewallet_logo.png $ASSETS_DIR/images/cakewallet_icon_*.png $(find $CAKEWALLET_ICON_SET_PATH -name "*.png"); do
|
||||
git checkout HEAD -- $file &> /dev/null
|
||||
bash $CAKE_ROOT/scripts/branch_icon.sh ${BRANCH_NAME}-asd $file &> /dev/null
|
||||
done
|
||||
fi
|
||||
set -x
|
||||
@@ -9,11 +9,23 @@ cd "$(dirname "$0")"
|
||||
|
||||
../prepare_moneroc.sh
|
||||
|
||||
for COIN in monero wownero;
|
||||
if [[ -n "${COIN:-}" ]]; then
|
||||
COINS=("$COIN")
|
||||
else
|
||||
COINS=(monero wownero)
|
||||
fi
|
||||
|
||||
if [[ -n "${TARGET:-}" ]]; then
|
||||
TARGETS=("$TARGET")
|
||||
else
|
||||
TARGETS=(x86_64-linux-android aarch64-linux-android armv7a-linux-androideabi)
|
||||
fi
|
||||
|
||||
for COIN in "${COINS[@]}";
|
||||
do
|
||||
pushd ../monero_c
|
||||
monero_c_tag=$(git describe --tags)
|
||||
for target in {x86_64,aarch64}-linux-android armv7a-linux-androideabi
|
||||
for target in "${TARGETS[@]}"
|
||||
do
|
||||
if [[ -f "release/${monero_c_tag}/${target}/${COIN}_libwallet2_api_c.so" ]];
|
||||
then
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDwzCCAqugAwIBAgIUO9LtTFYNTLeRJ0Vs/BoW/RHanY4wDQYJKoZIhvcNAQEL
|
||||
BQAwcDELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB0FtZXJpY2ExEDAOBgNVBAcMB0Zs
|
||||
b3JpZGExEzARBgNVBAoMCkNha2VXYWxsZXQxEzARBgNVBAsMCkNha2VXYWxsZXQx
|
||||
EzARBgNVBAMMCkNha2VXYWxsZXQwIBcNMjYwOTEwMDgwMzU5WhgPMjA1NDAxMjYw
|
||||
ODAzNTlaMHAxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdBbWVyaWNhMRAwDgYDVQQH
|
||||
DAdGbG9yaWRhMRMwEQYDVQQKDApDYWtlV2FsbGV0MRMwEQYDVQQLDApDYWtlV2Fs
|
||||
bGV0MRMwEQYDVQQDDApDYWtlV2FsbGV0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
||||
MIIBCgKCAQEAlHYehgoK7D3/ga26LlYMQhVqyokmUZQ9E6+S2utKQixTwHlJsAe7
|
||||
IWY0TpUhz1iDSq8XG/IQdnos8o/SEHY8EVO+STzOjbYIk4J6mm6jqZa59y+l2Brk
|
||||
4IEZYe8HsIjMBFmbn8WlLhhT9PewcMZxutW3D0+swx+8azpfYHBY/5a6PaKAstey
|
||||
HKSejD7atfcI7xZbWzzPGwS0hDjAcqGcfyYH/r2ziIbvEU2xDeOBYBm9yE1B6sEn
|
||||
dI2KB2Q5HtKfNV8Vw1vSLvFEIAJh/vmuO7RoW+tPdUfORTydCeNvDIK8DGe1ka8/
|
||||
ZmQraNgGgTxA5YpJKZsTYgc5eMWyxIHBlwIDAQABo1MwUTAdBgNVHQ4EFgQUSTWY
|
||||
iEWvKz3YwrB0bufUbxcZ2YgwHwYDVR0jBBgwFoAUSTWYiEWvKz3YwrB0bufUbxcZ
|
||||
2YgwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAZ+21ksy5plnb
|
||||
ZCTYifmk8E8M+sGWS2m5eLTjzAl4iEEr30Eit4ghQvt7YG5r62HLHBFirv4z6k01
|
||||
5mhjU+BJp0NU1e8XOVq6M0EnMKF8OIz3lUy4aUnr6olCdEbSsRyd0l7Ht21Ci0HH
|
||||
BkFbZ+HlqwXTPA5kUWMkJ0JlrMhaeyRMpA0jsE1fhgjWmrB2keeFP8CwA3GnQhq1
|
||||
HEkN6izdaobnUHnTE7dH3Eixkt0L4XwpkCsw7IV3aVt7+tsc0zICod8JS0ib4Lrw
|
||||
XHVWIRtcTGwDLqYlknacR0Mh7JeDYU3JtfxvCB7jstDI9CmYnPOiAsO4NccnbzD5
|
||||
WIbD9bRlYg==
|
||||
-----END CERTIFICATE-----
|
||||
@@ -0,0 +1,28 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCUdh6GCgrsPf+B
|
||||
rbouVgxCFWrKiSZRlD0Tr5La60pCLFPAeUmwB7shZjROlSHPWINKrxcb8hB2eizy
|
||||
j9IQdjwRU75JPM6NtgiTgnqabqOplrn3L6XYGuTggRlh7wewiMwEWZufxaUuGFP0
|
||||
97BwxnG61bcPT6zDH7xrOl9gcFj/lro9ooCy17IcpJ6MPtq19wjvFltbPM8bBLSE
|
||||
OMByoZx/Jgf+vbOIhu8RTbEN44FgGb3ITUHqwSd0jYoHZDke0p81XxXDW9Iu8UQg
|
||||
AmH++a47tGhb6091R85FPJ0J428MgrwMZ7WRrz9mZCto2AaBPEDlikkpmxNiBzl4
|
||||
xbLEgcGXAgMBAAECggEAILrz2sg/BTtb58qVx95noHAZVaKsBINCfeMQ5NvHyNP9
|
||||
+OqkgL8Llf7y3DpLtGtGssHsPdh9oako3KcxgDiY4JcOVhYmUZ7GwEKdZgurYFmf
|
||||
ESx7iyvOtuIvZuRsVRKrq+/Xe/92fbWWWOT8jLhrXW39iE4f//qwrxE08s2CCYLq
|
||||
zQFUIrICN6/7te+qTessWO4Z2zscqhzTMae2kWksUMiU0mYv9BJ6Lzb1Mj2kqSir
|
||||
CMBxmxvQmjmE4+29rKulmAQlKNb+rwKgsmdk5+oYcCdMHP0VeXL8RZ+IcOkOv4JU
|
||||
xj+isHr8S9mmGMmpM5aAnZoS7tF3aLDH4aojN6MNfQKBgQDQ44cB+SDoKujnfMsK
|
||||
1ci21HB2R7qobbspJVGHNQx25XYJdAw1CTsnN8FwziXGR8/tpSJMHQin0M7ZLHqn
|
||||
u/aTZLT+7VAmFNUOOY4mbBrQzTA21r2l0kMloXyqmO6ec820L+9bqeAZ6N4y1iNt
|
||||
iQ8yVYOuS1SMi+QfqerxbXwg4wKBgQC18byTn58edwprsqWs48u7hB/zI3SLoXOn
|
||||
qHPke9uCo4ynV6yEmLa/yN9iyXL2UjY7KjzbpFLhrFYE5JxXfCfCgOk3N1nF8953
|
||||
2K95/3uFrasbRSRDi2ROVmDYD1stqN+euHfx3N15uZ/E/Ol8e7GhBMIWo9WIyqJ7
|
||||
3GiU9ce+vQKBgDmTfVL96CQWL7wemZiS9I/wXk871ic2l6/vqVkrNhRPiwlwAy1b
|
||||
LgLRS3BcYe0VPiqyqZFxL0GSPHF/4Q76sCxQRdM+dikI9PDGzHeqtHl5FSEIb52V
|
||||
JwzoRgR/wsXKBZj03XTWjf6WQSih/YHjlVy6VWFlQhi7NlXD8A47r0shAoGAX+Pj
|
||||
qzn5NqkuiMxCnPgBq/ZakF4jUmPo/He/fK/6ZMOloZyHg+qohjNr6Dibqk5x3oTI
|
||||
Rko4lE+rljCWZVU97zjZsQwu+DErEqbU9Ms9YprBD0JFdoPEfbTwnW6ac1oJYTF/
|
||||
pazt3PWDyuIwfDcEywQi9qOqKsoBEJ59T+SpPVECgYBzT9XnT01Eh5MGYxoC/8cu
|
||||
c19gWNqHNnvTeUYNI6y8+bUSSbP3vJ8Bytb0VuBega5QQYrT9EYILJIVu9oKSHJE
|
||||
v5rSGMmM9hNbWmROGEad/afO82AilvfOR0fx6Tmyk3Sf3tg3JltA3tAzPgo/BOlc
|
||||
GqVhDf37ULi8YBLGLkNOZA==
|
||||
-----END PRIVATE KEY-----
|
||||
@@ -1,3 +1,3 @@
|
||||
FROM --platform=linux/amd64 ghcr.io/cake-tech/cake_wallet:debian13-flutter3.32.0-ndkr28-go1.24.1-ruststablenightly
|
||||
FROM --platform=linux/amd64 ghcr.io/cake-tech/cake_wallet:debian13-flutter3.41.9-ndkr28-go1.24.1-ruststablenightly
|
||||
|
||||
WORKDIR /w
|
||||
|
||||
@@ -1,9 +1,23 @@
|
||||
ARG BASE_IMAGE
|
||||
FROM --platform=linux/amd64 ${BASE_IMAGE} AS build
|
||||
|
||||
RUN mkdir -p /w/scripts/android
|
||||
COPY scripts/functions.sh /w/scripts/functions.sh
|
||||
COPY scripts/prepare_moneroc.sh /w/scripts/prepare_moneroc.sh
|
||||
COPY scripts/android/build_monero_all.sh /w/scripts/android/build_monero_all.sh
|
||||
|
||||
ARG UID=10001
|
||||
ARG GID=10001
|
||||
ARG USER=builder
|
||||
RUN groupadd -g "$GID" "$USER" && \
|
||||
useradd -m -u "$UID" -g "$GID" -s /bin/bash "$USER"
|
||||
|
||||
RUN sudo chown $UID:$GID -R /w /root
|
||||
USER builder
|
||||
|
||||
ARG COIN
|
||||
ARG TARGET
|
||||
ENV COIN=$COIN
|
||||
ENV TARGET=$TARGET
|
||||
RUN /w/scripts/android/build_monero_all.sh \
|
||||
&& rm -rf /w/scripts/monero_c/contrib \
|
||||
/w/scripts/monero_c/.git \
|
||||
|
||||
@@ -3,6 +3,8 @@ FROM --platform=linux/amd64 ${BASE_IMAGE} AS build
|
||||
|
||||
RUN mkdir -p /w/scripts/android
|
||||
COPY pubspec_base.yaml /w/pubspec.yaml
|
||||
COPY pubspec_overrides.yaml /w/pubspec_overrides.yaml
|
||||
COPY pubspec_overrides.yaml /w/cw_mweb/pubspec_overrides.yaml
|
||||
COPY cw_mweb/pubspec.yaml /w/cw_mweb/pubspec.yaml
|
||||
COPY cw_mweb/ffigen_config.yaml /w/cw_mweb/ffigen_config.yaml
|
||||
COPY cw_mweb/go /w/cw_mweb/go
|
||||
|
||||
@@ -4,6 +4,7 @@ FROM --platform=linux/amd64 ${BASE_IMAGE} AS build
|
||||
RUN mkdir -p /w/scripts/android
|
||||
COPY scripts/prepare_reown.sh /w/scripts/prepare_reown.sh
|
||||
COPY scripts/android/build_reown_deps.sh /w/scripts/android/build_reown_deps.sh
|
||||
RUN cd $(dirname $(which flutter)) && git checkout 3.32.0
|
||||
RUN /w/scripts/android/build_reown_deps.sh \
|
||||
&& rm -rf /w/scripts/reown_flutter/packages/reown_core/.dart_tool \
|
||||
&& rm -rf /w/scripts/reown_flutter/packages/reown_sign/.dart_tool \
|
||||
|
||||
@@ -4,7 +4,22 @@ FROM --platform=linux/amd64 ${BASE_IMAGE} AS build
|
||||
|
||||
COPY scripts/prepare_torch.sh /w/scripts/prepare_torch.sh
|
||||
COPY scripts/android/build_torch.sh /w/scripts/android/build_torch.sh
|
||||
RUN /w/scripts/android/build_torch.sh && rm -rf /w/scripts/torch_dart/simplybs
|
||||
ARG UID=10001
|
||||
ARG GID=10001
|
||||
ARG USER=builder
|
||||
RUN groupadd -g "$GID" "$USER" && \
|
||||
useradd -m -u "$UID" -g "$GID" -s /bin/bash "$USER"
|
||||
|
||||
RUN sudo chown $UID:$GID -R /w /root
|
||||
USER builder
|
||||
|
||||
ARG TARGET
|
||||
RUN if [ -n "$TARGET" ]; then \
|
||||
/w/scripts/android/build_torch.sh "$TARGET"; \
|
||||
else \
|
||||
/w/scripts/android/build_torch.sh; \
|
||||
fi \
|
||||
&& rm -rf /w/scripts/torch_dart/simplybs
|
||||
|
||||
FROM --platform=linux/amd64 alpine
|
||||
COPY --from=build /w /w
|
||||
|
||||
Executable
+45
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
STORE_PASS="${STORE_PASS:-test@cake_wallet}"
|
||||
KEY_PASS="${KEY_PASS:-test@cake_wallet}"
|
||||
DEST="${1:-}"
|
||||
|
||||
if [[ -z "$DEST" ]]; then
|
||||
DEST="$(cd ../.. && pwd)/android/app/key.jks"
|
||||
elif [[ "$DEST" != /* ]]; then
|
||||
DEST="$(cd ../.. && pwd)/$DEST"
|
||||
fi
|
||||
|
||||
P12="$(mktemp /tmp/cakewallet-dev-XXXXXX.p12)"
|
||||
cleanup() { rm -f "$P12"; }
|
||||
trap cleanup EXIT
|
||||
|
||||
openssl pkcs12 -export \
|
||||
-inkey "$PWD/dev-test-key.pem" \
|
||||
-in "$PWD/dev-test-key.crt" \
|
||||
-out "$P12" \
|
||||
-name testKey \
|
||||
-passout "pass:${STORE_PASS}" \
|
||||
-certpbe PBE-SHA1-3DES \
|
||||
-keypbe PBE-SHA1-3DES \
|
||||
-macalg sha1
|
||||
|
||||
mkdir -p "$(dirname "$DEST")"
|
||||
rm -f "$DEST"
|
||||
|
||||
keytool -importkeystore \
|
||||
-srckeystore "$P12" \
|
||||
-srcstoretype PKCS12 \
|
||||
-srcstorepass "$STORE_PASS" \
|
||||
-destkeystore "$DEST" \
|
||||
-deststoretype JKS \
|
||||
-deststorepass "$STORE_PASS" \
|
||||
-destkeypass "$KEY_PASS" \
|
||||
-srcalias testKey \
|
||||
-destalias testKey \
|
||||
-noprompt
|
||||
|
||||
echo "Wrote $DEST"
|
||||
Reference in New Issue
Block a user