Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
b796b49
update sdk
ca333 Feb 11, 2026
96cc31c
update sdk
ca333 Feb 11, 2026
bd09e34
update sdk
ca333 Feb 11, 2026
2b09bf6
feat: add polish foundation for trading and withdrawals (#3434)
CharlVS Mar 12, 2026
cc1f258
feat: polish wallet workflows and settings (#3442)
CharlVS Mar 12, 2026
2049783
feat: polish wallet surfaces and asset views (#3436)
CharlVS Mar 12, 2026
9106fd0
feat: polish trading and responsive ui surfaces (#3443)
CharlVS Mar 12, 2026
672d342
docs: add polish planning and qa docs (#3438)
CharlVS Mar 12, 2026
62d44ac
test: add automated testing runner and matrix (#3440)
CharlVS Mar 12, 2026
8325d65
feat: Enable full Flutter WASM runtime support (#3439)
CharlVS Mar 12, 2026
09ee965
chore: upgrade native hosts to flutter 3.41.3 (#3441)
CharlVS Mar 12, 2026
63de78d
chore: add generated deprecation notices for legacy rpc errors (#3432)
CharlVS Mar 12, 2026
d4713a3
fix(app): resolve open findings and align with SDK manager interfaces…
CharlVS Mar 12, 2026
7a06911
fix(web): isolate cache adapters and update JS interop (#3445)
CharlVS Mar 18, 2026
eaf3ce3
feat(legal): load in-app legal docs from GitHub at runtime (#3427)
CharlVS Mar 18, 2026
66797b9
chore(sdk): update submodule for merged sdk fixes (#3447)
CharlVS Mar 18, 2026
67337c2
feat(wallet): roll SDK and complete TRON integration (#3446)
CharlVS Mar 18, 2026
e38786a
fix(ci): preserve native desktop assets during builds (#3448)
CharlVS Mar 18, 2026
cdad98a
fix(app): finalize SIA integration and Trezor guards (#3449)
CharlVS Mar 18, 2026
d424f9c
fix(ui): move hide-balance icon into balance cards (#3453)
CharlVS Mar 21, 2026
fa1e14a
fix(search): stabilize scrollbar tree and wallet search rebuilds (#3451)
CharlVS Mar 21, 2026
c8821a4
chore(sdk): bump submodule to latest dev (#3455)
CharlVS Mar 23, 2026
2dae0ca
fix(ui): reorder navbar so Swap tab appears before Buy/Sell (#3456)
CharlVS Mar 23, 2026
ab67ff1
fix(coins): resolve metadata race during concurrent coin activations …
CharlVS Mar 23, 2026
e4b8857
chore(sdk): roll submodule to dev (b4ad5c0) (#3457)
CharlVS Mar 23, 2026
adef08e
chore(sdk): roll submodule to dev (0f5b76d) (#3458)
CharlVS Mar 23, 2026
bc0058a
chore: roll SDK
CharlVS Mar 23, 2026
9928b70
chore: update v0.9.4 changelog (#3459)
CharlVS Mar 23, 2026
b5250f7
fix(wallet): profit/loss chart stability and SDK market data cache (#…
CharlVS Mar 23, 2026
53cdbd7
Merge branch 'main' into dev
CharlVS Mar 23, 2026
b82ce43
fix(wallet): preserve charts, improve TRON UX, and roll SDK (#3462)
CharlVS Mar 25, 2026
00d6b5b
fix(wallet): coordinate activation through shared sdk path (#3463)
CharlVS Mar 25, 2026
74c06bf
fix(wallet): restore tx explorer fallback when tx pattern is missing …
CharlVS Mar 25, 2026
81a464e
feat(wallet): Tron KDF fix, balance confirmation, withdraw flow harde…
CharlVS Mar 27, 2026
7f06143
test: fix unit test suite and wallet asset grouping (#3466)
CharlVS Mar 28, 2026
9fcf415
fix(ci): stabilize release candidate checks (#3468)
CharlVS Mar 28, 2026
78cbb40
fix(ci): embed BUILD_DATE dart-define in all build pipelines (#3469)
DeckerSU Mar 30, 2026
e68e568
fix(wallets): fix trezor login popup regression and add tests (#3470)
CharlVS Mar 30, 2026
898bff7
fix(wallet): roll SDK for SIA withdrawal hardening (#3471)
CharlVS Mar 30, 2026
111631b
chore(sdk): roll SDK to dbc1472f — KDF v3.0.0-beta and coins master
DeckerSU Apr 1, 2026
bcd2752
chore: roll SDK to final SDK release (#3474)
CharlVS Apr 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .docker/android-sdk.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ RUN set -o xtrace \
ruby-full ruby-bundler libstdc++6 libpulse0 libglu1-mesa locales lcov libsqlite3-dev --no-install-recommends \
# For Linux build
xz-utils acl \
clang cmake git \
binutils clang cmake git lld llvm \
ninja-build pkg-config \
libgtk-3-dev liblzma-dev \
libstdc++-12-dev libsecret-1-dev \
Expand All @@ -68,4 +68,4 @@ RUN set -o xtrace \
"build-tools;$ANDROID_BUILD_TOOLS_VERSION" \
&& yes | sdkmanager "ndk;$ANDROID_NDK_VERSION" \
&& sudo chown -R $USER:$USER $ANDROID_HOME \
&& sudo setfacl -R -m u:$USER:rwX -m d:u:$USER:rwX /usr/local
&& sudo setfacl -R -m u:$USER:rwX -m d:u:$USER:rwX /usr/local
7 changes: 6 additions & 1 deletion .docker/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ docker build $PLATFORM_FLAG -f .docker/komodo-wallet-android.dockerfile . -t kom
mkdir -p ./build

COMMIT_HASH=$(git rev-parse --short HEAD | cut -c1-7)
BUILD_DATE=$(date -u '+%Y-%m-%dT%H:%MZ')

# Only pass GITHUB_API_PUBLIC_READONLY_TOKEN as environment variable
ENV_ARGS=""
Expand All @@ -63,10 +64,14 @@ fi

# Build command logic
BUILD_COMMAND="flutter build $BUILD_TARGET --no-pub --$BUILD_MODE"
if [ "$BUILD_TARGET" = "web" ]; then
BUILD_COMMAND="$BUILD_COMMAND --wasm"
fi
# Prepare build command with feedback service credentials
BUILD_CMD="$BUILD_COMMAND"
# Add commit hash to build command
# Add commit hash and build date to build command
BUILD_CMD="$BUILD_CMD --dart-define=COMMIT_HASH=$COMMIT_HASH"
BUILD_CMD="$BUILD_CMD --dart-define=BUILD_DATE=$BUILD_DATE"

# Check and add the shared Trello board and list IDs if they are available
HAVE_TRELLO_IDS=false
Expand Down
2 changes: 1 addition & 1 deletion .docker/komodo-wallet-android.dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM komodo/android-sdk:35 AS final

ENV FLUTTER_VERSION="3.35.3"
ENV FLUTTER_VERSION="3.41.4"
ENV HOME="/home/komodo"
ENV USER="komodo"
ENV PATH=$PATH:$HOME/flutter/bin
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/flutter-deps/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ runs:
uses: subosito/flutter-action@v2
with:
# NB! Keep up-to-date with the flutter version used for development
flutter-version: "3.35.3"
flutter-version: "3.41.4"
channel: "stable"

- name: Prepare build directory
Expand Down
16 changes: 10 additions & 6 deletions .github/actions/generate-assets/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ inputs:
BUILD_COMMAND:
description: "The flutter build command to run to generate assets for the deployment build"
required: false
default: "flutter build web --no-pub --release"
default: "flutter build web --no-pub --release --wasm"

# Optional Trello feedback provider configuration
TRELLO_API_KEY:
Expand Down Expand Up @@ -72,6 +72,8 @@ runs:
fi
# Export for subsequent steps
echo "COMMIT_HASH=$COMMIT_HASH" >> $GITHUB_ENV
BUILD_DATE=$(date -u '+%Y-%m-%dT%H:%MZ')
echo "BUILD_DATE=$BUILD_DATE" >> $GITHUB_ENV
- name: Fetch packages and generate assets
id: fetch_and_build
shell: bash
Expand Down Expand Up @@ -101,8 +103,9 @@ runs:
# Prepare build command with feedback service credentials
BUILD_CMD="${{ inputs.BUILD_COMMAND }}"

# Add commit hash to build command
# Add commit hash and build date to build command
BUILD_CMD="$BUILD_CMD --dart-define=COMMIT_HASH=$COMMIT_HASH"
BUILD_CMD="$BUILD_CMD --dart-define=BUILD_DATE=$BUILD_DATE"

# Check and add the shared Trello board and list IDs if they are available
HAVE_TRELLO_IDS=false
Expand Down Expand Up @@ -155,13 +158,14 @@ runs:
BUILD_CMD="$BUILD_CMD --dart-define=CI=true --dart-define=ANALYTICS_DISABLED=true"
fi

# Run flutter build once to download coin icons and config files.
# This step is expected to "fail", since flutter build has to run again
# after the assets are downloaded to register them in AssetManifest.bin
# Run flutter build once to download coin icons and config files.
# The second build must re-register them in AssetManifest.bin, so we
# wipe the build directory afterwards -- but preserve native_assets
# which desktop builds generate and need to reuse.
echo ""
flutter pub get --enforce-lockfile > /dev/null 2>&1 || true
$BUILD_CMD > /dev/null 2>&1 || true
rm -rf build/*
find build -mindepth 1 -maxdepth 1 ! -name 'native_assets' -exec rm -rf {} + 2>/dev/null || true

# Run flutter build and capture its output
flutter pub get --enforce-lockfile
Expand Down
6 changes: 6 additions & 0 deletions .github/actions/releases/setup-ios/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,12 @@ runs:
xcodebuild -downloadPlatform iOS
flutter pub get --enforce-lockfile

export GITHUB_API_PUBLIC_READONLY_TOKEN="${{ github.token }}"
# The first bundle run may update transformer-managed inputs and exit
# non-zero. Re-running picks up those updates, matching CI asset builds.
flutter build bundle --release --no-pub >/dev/null 2>&1 || true
flutter build bundle --release --no-pub

cd ios
pod install

Expand Down
6 changes: 6 additions & 0 deletions .github/actions/releases/setup-macos/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,12 @@ runs:
run: |
flutter pub get --enforce-lockfile

export GITHUB_API_PUBLIC_READONLY_TOKEN="${{ github.token }}"
# The first bundle run may update transformer-managed inputs and exit
# non-zero. Re-running picks up those updates, matching CI asset builds.
flutter build bundle --release --no-pub >/dev/null 2>&1 || true
flutter build bundle --release --no-pub

cd macos
pod install

Expand Down
11 changes: 7 additions & 4 deletions .github/workflows/desktop-builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,13 @@ jobs:
id: build
env:
GITHUB_API_PUBLIC_READONLY_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Disable code signing for macOS PR builds
CODE_SIGNING_ALLOWED: ${{ matrix.platform == 'macos' && github.event_name == 'pull_request' && 'NO' || '' }}
CODE_SIGNING_REQUIRED: ${{ matrix.platform == 'macos' && github.event_name == 'pull_request' && 'NO' || '' }}
EXPANDED_CODE_SIGN_IDENTITY: ${{ matrix.platform == 'macos' && github.event_name == 'pull_request' && '-' || '' }}
# Flutter only forwards Xcode overrides with the FLUTTER_XCODE_ prefix.
FLUTTER_XCODE_CODE_SIGNING_ALLOWED: ${{ matrix.platform == 'macos' && github.event_name == 'pull_request' && 'NO' || '' }}
FLUTTER_XCODE_CODE_SIGNING_REQUIRED: ${{ matrix.platform == 'macos' && github.event_name == 'pull_request' && 'NO' || '' }}
FLUTTER_XCODE_CODE_SIGN_IDENTITY: ${{ matrix.platform == 'macos' && github.event_name == 'pull_request' && '' || '' }}
FLUTTER_XCODE_CODE_SIGN_STYLE: ${{ matrix.platform == 'macos' && github.event_name == 'pull_request' && 'Manual' || '' }}
FLUTTER_XCODE_DEVELOPMENT_TEAM: ${{ matrix.platform == 'macos' && github.event_name == 'pull_request' && '' || '' }}
FLUTTER_XCODE_PROVISIONING_PROFILE_SPECIFIER: ${{ matrix.platform == 'macos' && github.event_name == 'pull_request' && '' || '' }}
uses: ./.github/actions/generate-assets
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/roll-sdk-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
uses: subosito/flutter-action@v2
with:
# NB! Keep up-to-date with the flutter version used for development
flutter-version: "3.35.3"
flutter-version: "3.41.4"
channel: "stable"

- name: Determine configuration
Expand Down
14 changes: 12 additions & 2 deletions .github/workflows/ui-tests-on-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,21 @@ jobs:
- name: Install Chrome and chromedriver
id: setup_chrome
if: ${{ matrix.browser == 'chrome' }}
uses: browser-actions/setup-chrome@v1
uses: browser-actions/setup-chrome@v2
with:
chrome-version: 116.0.5845.96
chrome-version: stable
install-chromedriver: true
install-dependencies: true

- name: Print Chrome setup
id: print_chrome_setup
if: ${{ matrix.browser == 'chrome' }}
run: |
echo "Chrome path: ${{ steps.setup_chrome.outputs.chrome-path }}"
"${{ steps.setup_chrome.outputs.chrome-path }}" --version
echo "ChromeDriver path: ${{ steps.setup_chrome.outputs.chromedriver-path }}"
"${{ steps.setup_chrome.outputs.chromedriver-path }}" --version

- name: Enable safaridriver (sudo) (MacOS)
id: enable_safari
if: ${{ matrix.browser == 'safari' }}
Expand Down Expand Up @@ -85,6 +94,7 @@ jobs:
continue-on-error: true
env:
GITHUB_API_PUBLIC_READONLY_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHROME_EXECUTABLE: ${{ matrix.browser == 'chrome' && steps.setup_chrome.outputs.chrome-path || '' }}
run: |
dart run_integration_tests.dart \
-d ${{ matrix.display }} \
Expand Down
11 changes: 10 additions & 1 deletion .github/workflows/validate-code-guidelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,18 @@ jobs:
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Resolve SDK workspace dependencies
id: sdk_pub_get
run: |
if [ -f sdk/pubspec.lock ]; then
dart pub get --enforce-lockfile -C sdk
else
dart pub get -C sdk
fi

- name: Validate dart code
id: validate_dart
run: |
flutter analyze
flutter analyze --no-fatal-warnings --no-fatal-infos
# Currently skipped due to many changes. Will be enabled in the future after doing full sweep of the codebase
# dart format --set-exit-if-changed .
9 changes: 8 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -86,4 +86,11 @@ AGENTS_1.md
dist/

# KDF generated binaries
web/kdf/kdf/bin/
web/kdf/kdf/bin/

# AI tool local skill bundles; keep project-scoped .claude/.cursor config trackable.
/.claude/skills/
/.cursor/skills/
/.nano-banana-config.json
/generated_imgs
/.1code
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[submodule "sdk"]
path = sdk
url = https://github.com/GLEECBTC/komodo-defi-sdk-flutter.git
branch = dev
branch = main
update = checkout
fetchRecurseSubmodules = on-demand
ignore = dirty
4 changes: 2 additions & 2 deletions .metadata
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
# This file should be version controlled.

version:
revision: b06b8b2710955028a6b562f5aa6fe62941d6febf
channel: unknown
revision: 48c32af0345e9ad5747f78ddce828c7f795f7159
channel: stable

project_type: app

Expand Down
Loading
Loading