Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
a5a2622
feat: upgrade DB version
Syn-McJ Mar 31, 2025
c7d098a
feat: saving percentage in merchants list and merchant details
Syn-McJ Apr 1, 2025
6b0a577
Merge pull request #693 from Syn-McJ/feat/explore-new-db
Syn-McJ Apr 6, 2025
fc886d5
Merge branch 'master' into feature/dashspend
Syn-McJ Apr 10, 2025
aba2b35
feat: login info dialog
Syn-McJ Apr 10, 2025
2144f11
feat: auth screen
Syn-McJ Apr 14, 2025
2c09cee
feat: merchant type info dialog
Syn-McJ Apr 14, 2025
9bad538
chore: cleanup
Syn-McJ Apr 15, 2025
0932837
Merge pull request #696 from Syn-McJ/feat/dashspend-login
Syn-McJ Apr 22, 2025
da0ccf2
feat: dashspend pay UI
Syn-McJ May 16, 2025
959b584
Merge branch 'master' into feat/dashspend-pay-ui
Syn-McJ May 17, 2025
704c51c
chore: cleanup
Syn-McJ May 17, 2025
4507d28
feat: dashspend confirmation dialog
Syn-McJ May 17, 2025
987829d
Merge branch 'feat/dashspend-confirmation-dialog' into feat/dashspend…
Syn-McJ May 18, 2025
c6b86e9
Merge pull request #701 from Syn-McJ/feat/dashspend-pay-ui
Syn-McJ May 19, 2025
c3b42b4
feat: ctx model draft
Syn-McJ May 21, 2025
c7cef2f
feat: payment flow draft
Syn-McJ May 24, 2025
feebdc8
feat: dashspend payment flow
Syn-McJ May 25, 2025
2db4113
fix: ios 15.5 navigation
Syn-McJ May 26, 2025
319f19c
feat: implement refreshing token
Syn-McJ May 27, 2025
0fbf4fa
chore: simplify savingsBasisPoints calculations
Syn-McJ May 27, 2025
ceeef7e
feat: limit errors and support email
Syn-McJ May 27, 2025
2c051ec
feat: redeem gift card draft
Syn-McJ May 27, 2025
943ffed
Merge branch 'master' into feat/dashspend-buy-backend
Syn-McJ May 27, 2025
1b6787d
chore: cleanup
Syn-McJ May 27, 2025
7888d6e
fix: gift card model
Syn-McJ May 28, 2025
db0fc10
chore: refactor Explore VCs to Swift
Syn-McJ May 28, 2025
eaf7b1f
Merge pull request #705 from Syn-McJ/feat/dashspend-buy-backend
Syn-McJ May 28, 2025
7ff6ca9
fix: dash testnet faucet in explore
Syn-McJ May 28, 2025
5591e09
feat: gift card details screen
Syn-McJ May 31, 2025
3bccec8
Merge branch 'master' into feat/dashspend-redeem-card
Syn-McJ May 31, 2025
d184cc1
feat: metadata providers
Syn-McJ May 31, 2025
014417b
feat: custom icon metadata
Syn-McJ Jun 3, 2025
c290f18
chore: cleanup
Syn-McJ Jun 4, 2025
948bbc3
Merge pull request #706 from Syn-McJ/feat/dashspend-redeem-card
Syn-McJ Jun 5, 2025
b9604f0
feat: migrate database & refactoring
Syn-McJ Apr 18, 2025
e6692ed
chore: merging tx metadata changes
Syn-McJ Jun 5, 2025
4e55439
feat: observe custom icon in the gift card details
Syn-McJ Jun 5, 2025
3400631
Merge branch 'feature/dashspend' into feat/dashspend-save-icon
Syn-McJ Jun 5, 2025
f42d484
chore: cleanup
Syn-McJ Jun 5, 2025
da80dce
feat: icons and merchant names on home screen
Syn-McJ Jun 6, 2025
dce36f4
feat: new icons & cleanup
Syn-McJ Jun 8, 2025
1bb1000
fix: concurrency issues in metadata providers
Syn-McJ Jun 8, 2025
dc37df4
feat: filter dialog redesign
Syn-McJ Jun 8, 2025
05853b6
feat: filtering txs by gift cards
Syn-McJ Jun 9, 2025
071fe6d
feat: show saved gift card data on tapping a gift card row
Syn-McJ Jun 9, 2025
947a95d
fix: explore db version
Syn-McJ Jun 10, 2025
bd9e166
chore: disable buy button if syncing or no network
Syn-McJ Jun 10, 2025
d0cd03a
chore: refactor filter to SwiftUI
Syn-McJ Jun 11, 2025
f429d6f
fix: prevent DB schema mismatch to avoid crashes
Syn-McJ Jun 11, 2025
2d72d83
fix: update banner and the list after DB upgrade
Syn-McJ Jun 11, 2025
4af43c5
Merge branch 'fix/dashspend-v3-db' into feat/dashspend-historical-data
Syn-McJ Jun 12, 2025
8de8880
chore: clean unused enums
Syn-McJ Jun 12, 2025
ca9fe14
chore: unify radio buttons
Syn-McJ Jun 12, 2025
c6e45ec
fix: updating secondary icon
Syn-McJ Jun 12, 2025
d6cb9fc
Merge pull request #708 from Syn-McJ/fix/dashspend-v3-db
Syn-McJ Jun 12, 2025
644884a
Merge pull request #707 from Syn-McJ/feat/dashspend-save-icon
Syn-McJ Jun 12, 2025
854f6ea
Merge pull request #709 from Syn-McJ/chore/dashspend-disable-buy
Syn-McJ Jun 12, 2025
db48047
Merge branch 'feature/dashspend' into feat/dashspend-historical-data
Syn-McJ Jun 12, 2025
930dde2
fix: gift card dao crash
Syn-McJ Jun 14, 2025
fab3701
Merge branch 'feat/dashspend-historical-data' into feat/dashspend-fil…
Syn-McJ Jun 14, 2025
42c0c33
fix: filters UI
Syn-McJ Jun 14, 2025
150fea5
fix: night mode
Syn-McJ Jun 17, 2025
ccf92b7
Merge branch 'feat/dashspend-historical-data' into feat/dashspend-fil…
Syn-McJ Jun 17, 2025
c97b96c
fix: checkbox vs radio button
Syn-McJ Jun 17, 2025
03858a6
fix: sort by discount in online mode
Syn-McJ Jun 17, 2025
fc1cc9a
feat: denom filtering and territory picker
Syn-McJ Jun 17, 2025
9658add
fix: filter group fixes for ATMs and merchants
Syn-McJ Jun 18, 2025
4b4f412
Merge pull request #710 from Syn-McJ/feat/dashspend-filter-improvements
Syn-McJ Jun 19, 2025
5cb5ccf
feat: merchant denominations SwiftUI view
Syn-McJ Jun 19, 2025
c66f995
feat: improved error handling
Syn-McJ Jun 19, 2025
72ae407
chore: make unzipFile async
Syn-McJ Jun 21, 2025
c2817ea
feat: fixed denomination UI
Syn-McJ Jun 22, 2025
6e10de5
fix: network error
Syn-McJ Jun 22, 2025
dd51db4
chore: cleanup
Syn-McJ Jun 23, 2025
1fa37f4
chore: translations
Syn-McJ Jun 25, 2025
9bea9f3
chore: remove beta coinjoin badge
Syn-McJ Jun 26, 2025
a594296
fix: synchronize transactionMap access
Syn-McJ Jun 26, 2025
6427c13
chore: update text
Syn-McJ Jun 26, 2025
c66084c
fix: synchronize bitmap dao cache access
Syn-McJ Jun 26, 2025
7156350
fix: don't include sent transactions into coinjoin group
Syn-McJ Jun 26, 2025
cd7e2b2
Merge pull request #711 from Syn-McJ/feat/dashspend-fixed-denoms
Syn-McJ Jun 28, 2025
7d37128
Merge pull request #712 from Syn-McJ/release/8.4.0
Syn-McJ Jun 28, 2025
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,4 @@ TODO.md
*/Topper-Info.plist
*/Coinbase-Info.plist
*/ZenLedger-Info.plist
CLAUDE.md
2 changes: 1 addition & 1 deletion DashSyncCurrentCommit
Original file line number Diff line number Diff line change
@@ -1 +1 @@
b6a82ef4d57754d29599b794df3274e4cd36e07a
753f9446cfd20ae5da996104a5870df839005d4c
432 changes: 286 additions & 146 deletions DashWallet.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
{
"images" : [
{
"filename" : "icon_dropDown.png",
"filename" : "logo.ctx.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "icon_dropDown@2x.png",
"filename" : "logo.ctx@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "icon_dropDown@3x.png",
"filename" : "logo.ctx@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
{
"images" : [
{
"filename" : "dashspend.png",
"idiom" : "universal",
"filename" : "icon_pay_small.png",
"scale" : "1x"
},
{
"filename" : "dashspend@2x.png",
"idiom" : "universal",
"filename" : "icon_pay_small@2x.png",
"scale" : "2x"
},
{
"filename" : "dashspend@3x.png",
"idiom" : "universal",
"filename" : "icon_pay_small@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
"author" : "xcode",
"version" : 1
}
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
{
"images" : [
{
"filename" : "GiftCard.png",
"idiom" : "universal",
"filename" : "icon_receive_small.png",
"scale" : "1x"
},
{
"filename" : "GiftCard@2x.png",
"idiom" : "universal",
"filename" : "icon_receive_small@2x.png",
"scale" : "2x"
},
{
"filename" : "GiftCard@3x.png",
"idiom" : "universal",
"filename" : "icon_receive_small@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
"author" : "xcode",
"version" : 1
}
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"images" : [
{
"filename" : "network.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "network@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "network@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"images" : [
{
"filename" : "merchant.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "merchant@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "merchant@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
{
"images" : [
{
"filename" : "card.png",
"filename" : "GiftCard.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "card@2x.png",
"filename" : "GiftCard@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "card@3x.png",
"filename" : "GiftCard@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"images" : [
{
"filename" : "merchants.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "merchants@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "merchants@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.

This file was deleted.

Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.

This file was deleted.

Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"images" : [
{
"filename" : "all trans.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "all trans@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "all trans@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
2 changes: 1 addition & 1 deletion DashWallet/Sources/Application/App.swift
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ final class App {
static let shared = App()

func cleanUp() {
TxUserInfoDAOImpl.shared.deleteAll()
TransactionMetadataDAOImpl.shared.deleteAll()
AddressUserInfoDAOImpl.shared.deleteAll()
#if DASHPAY
UsernameRequestsDAOImpl.shared.deleteAll()
Expand Down
17 changes: 17 additions & 0 deletions DashWallet/Sources/Categories/Foundation+Bitcoin.swift
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,23 @@ extension Data {
let rawValue: Int
static let upperCase = HexEncodingOptions(rawValue: 1 << 0)
}

init?(hex: String) {
let len = hex.count / 2
var data = Data(capacity: len)
var i = hex.startIndex
for _ in 0..<len {
let j = hex.index(i, offsetBy: 2)
let bytes = hex[i..<j]
if var num = UInt8(bytes, radix: 16) {
data.append(&num, count: 1)
} else {
return nil
}
i = j
}
self = data
}

func hexEncodedString(options: HexEncodingOptions = []) -> String {
let format = options.contains(.upperCase) ? "%02hhX" : "%02hhx"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ extension DatabaseConnection {
}

static func migrations() -> [Migration] {
[SeedDB()]
[SeedDB(), AddGiftCardsTable(), AddIconBitmapsTable()]
}

static func migrationsBundle() -> Bundle {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
-- Adding metadata fields to tx_userinfo table
ALTER TABLE tx_userinfo ADD timestamp BIGINT NULL;
ALTER TABLE tx_userinfo ADD memo TEXT NULL;
ALTER TABLE tx_userinfo ADD service TEXT NULL;
ALTER TABLE tx_userinfo ADD customIconId BLOB NULL;
Loading