Add Cashtab to the assetlinks.json#1112
Conversation
This adds Cashtab as an authorized deeplink handling app.
📝 WalkthroughWalkthroughA new Digital Asset Link entry for com.cashtab.app is added to assetlinks.json, enabling URL delegation permissions with three SHA-256 fingerprints. No existing entries are modified, only the new entry is appended. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@public/.well-known/assetlinks.json`:
- Around line 14-23: The assetlinks.json entry for package_name
"com.cashtab.app" currently includes the sha256_cert_fingerprint
"FA:C6:17:45:DC:09:03:78:6F:B9:ED:E6:2A:96:2B:39:9F:73:48:F0:BB:6F:89:9B:83:32:66:75:91:03:3B:9C"
which also appears in the Marlin Wallet entry; confirm whether Cashtab and
Marlin intentionally share the signing key, and if not, replace that fingerprint
in the "target" block for com.cashtab.app with the correct Cashtab release
SHA-256 fingerprint(s) (or remove any stale fingerprints), then re-generate and
redeploy public/.well-known/assetlinks.json so app-link verification uses the
correct certificate(s).
| { | ||
| "relation": ["delegate_permission/common.handle_all_urls"], | ||
| "target": { | ||
| "namespace": "android_app", | ||
| "package_name": "com.cashtab.app", | ||
| "sha256_cert_fingerprints": [ | ||
| "FA:C6:17:45:DC:09:03:78:6F:B9:ED:E6:2A:96:2B:39:9F:73:48:F0:BB:6F:89:9B:83:32:66:75:91:03:3B:9C", | ||
| "02:71:C6:C3:30:1F:FC:F1:E7:5E:F5:92:8D:03:A3:7C:6C:FE:33:CE:6D:22:B9:4C:8F:FF:E7:65:BE:84:04:A1", | ||
| "18:43:19:21:31:B6:EA:C3:DF:29:40:86:EA:96:6E:DE:21:D1:BE:F2:FD:B1:9C:C4:44:43:5F:94:22:D8:0F:22" | ||
| ] |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
cat public/.well-known/assetlinks.jsonRepository: PayButton/paybutton-server
Length of output: 1273
🏁 Script executed:
find . -type f \( -name "README*" -o -name "*.md" \) | head -20Repository: PayButton/paybutton-server
Length of output: 173
🏁 Script executed:
cat README.mdRepository: PayButton/paybutton-server
Length of output: 10201
🏁 Script executed:
git log --oneline public/.well-known/assetlinks.json | head -20Repository: PayButton/paybutton-server
Length of output: 112
🏁 Script executed:
git show 0174388 --statRepository: PayButton/paybutton-server
Length of output: 22681
🏁 Script executed:
git show 0174388:public/.well-known/assetlinks.jsonRepository: PayButton/paybutton-server
Length of output: 1273
🏁 Script executed:
rg -i "cashtab\|marlin" --type md --type json --type ts --type tsx -A 2 -B 2 | head -100Repository: PayButton/paybutton-server
Length of output: 97
🏁 Script executed:
rg -i "cashtab\|marlin" -A 2 -B 2 | head -100Repository: PayButton/paybutton-server
Length of output: 52
🏁 Script executed:
git log --all --oneline | grep -i "cashtab\|marlin\|assetlinks"Repository: PayButton/paybutton-server
Length of output: 189
🏁 Script executed:
git show af2d13c --statRepository: PayButton/paybutton-server
Length of output: 339
🏁 Script executed:
git show af2d13c:public/.well-known/assetlinks.jsonRepository: PayButton/paybutton-server
Length of output: 366
🏁 Script executed:
git show 0a91e41:public/.well-known/assetlinks.jsonRepository: PayButton/paybutton-server
Length of output: 675
🏁 Script executed:
git log --all --format="%H %s" | grep -i "cashtab\|marlin"Repository: PayButton/paybutton-server
Length of output: 145
🏁 Script executed:
git show 0a91e41 --statRepository: PayButton/paybutton-server
Length of output: 417
🏁 Script executed:
git show 0a91e41Repository: PayButton/paybutton-server
Length of output: 1129
🏁 Script executed:
git log --all --oneline -- public/.well-known/assetlinks.jsonRepository: PayButton/paybutton-server
Length of output: 223
Confirm whether Cashtab and Marlin Wallet intentionally share the signing certificate.
The fingerprint FA:C6:17:45:DC:09:03:78:6F:B9:ED:E6:2A:96:2B:39:9F:73:48:F0:BB:6F:89:9B:83:32:66:75:91:03:3B:9C is present in both app entries. This could be correct if they use a shared signing key, but if Cashtab has different release certificates, this will break app-link verification or grant the wrong app URL handling permissions. Please verify Cashtab's actual signing cert(s) and confirm whether the shared key is intentional.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@public/.well-known/assetlinks.json` around lines 14 - 23, The assetlinks.json
entry for package_name "com.cashtab.app" currently includes the
sha256_cert_fingerprint
"FA:C6:17:45:DC:09:03:78:6F:B9:ED:E6:2A:96:2B:39:9F:73:48:F0:BB:6F:89:9B:83:32:66:75:91:03:3B:9C"
which also appears in the Marlin Wallet entry; confirm whether Cashtab and
Marlin intentionally share the signing key, and if not, replace that fingerprint
in the "target" block for com.cashtab.app with the correct Cashtab release
SHA-256 fingerprint(s) (or remove any stale fingerprints), then re-generate and
redeploy public/.well-known/assetlinks.json so app-link verification uses the
correct certificate(s).
Summary: So we can open the PayButton links using the application on Android. Note: this is required before it can work: PayButton/paybutton-server#1112 I added a debug.keystore (the same as Marlin) and updated the build settings so the debug/dev build uses the same key all the time. This makes testing deep links possible from the dev version of the app. Test Plan: pnpm test Try it on mobile. Reviewers: #bitcoin_abc, bytesofman Reviewed By: #bitcoin_abc, bytesofman Subscribers: bytesofman Differential Revision: https://reviews.bitcoinabc.org/D19605
This adds Cashtab as an authorized deeplink handling app.
Summary by CodeRabbit