Skip to content

[Issue-4168] Support Bitcoin account #4254

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 231 commits into from
Jun 20, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
231 commits
Select commit Hold shift + click to select a range
1d1ebea
[Issue 4162] feat: init
nampc1 Mar 27, 2025
7cabb3d
Add config Bitcoin API
phonglnDEV Apr 2, 2025
572e9ce
[Issue-4200] feat: Add pair type for Bitcoin when creating a new account
dungnguyen-art Apr 2, 2025
0b37883
[Issue-4200] feat: Retrieve the Bitcoin address
dungnguyen-art Apr 2, 2025
49d4602
[Issue-4200] feat: Retrieve the Bitcoin address (2)
dungnguyen-art Apr 2, 2025
9d5979b
[Issue-4200] refactor: Support Bitcoin for new unified account
dungnguyen-art Apr 3, 2025
876bb46
Merge remote-tracking branch 'refs/remotes/origin/subwallet-dev' into…
dungnguyen-art Apr 3, 2025
9924ae6
[Issue-4200] refactor: fix eslint
dungnguyen-art Apr 3, 2025
fc8af8c
Add get Balance BTC through proxy
phonglnDEV Apr 4, 2025
3920a53
Merge remote-tracking branch 'refs/remotes/origin/koni/dev/issue-4162…
dungnguyen-art Apr 7, 2025
623832b
[Issue-4200] refactor: fix eslint issues after merging branch 4162
dungnguyen-art Apr 7, 2025
4a47fad
[Issue-4200] refactor: move isBitcoin condition to handler hook
dungnguyen-art Apr 7, 2025
049dbe5
Add get Balance BTC through proxy
phonglnDEV Apr 4, 2025
fd66548
Merge remote-tracking branch 'refs/remotes/origin/koni/dev/issue-4162…
dungnguyen-art Apr 7, 2025
4e37537
[Issue-4200] refactor: fix eslint issues after merging branch 4162 (2)
dungnguyen-art Apr 7, 2025
04d9513
[Issue 4162] feat: init
nampc1 Mar 27, 2025
7c33e12
Add config Bitcoin API
phonglnDEV Apr 2, 2025
77cb42b
Add get Balance BTC through proxy
phonglnDEV Apr 4, 2025
de3597b
Merge remote-tracking branch 'refs/remotes/origin/koni/dev/issue-4162…
dungnguyen-art Apr 8, 2025
bed64c9
[Issue-4228] feat: Support watch-only account for Bitcoin
dungnguyen-art Apr 8, 2025
80e98cd
get balance incriptions address through proxy
phonglnDEV Apr 8, 2025
ff0f32d
[Issue-4200] feat: Add cardano validation when importing seed phrase
dungnguyen-art Apr 9, 2025
7264c6c
Merge branch 'refs/heads/koni/dev/issue-4200-v2' into koni/dev/issue-…
dungnguyen-art Apr 9, 2025
487725a
[Issue-4201] feat: Migrate unifed account to support Bitcoin
dungnguyen-art Apr 10, 2025
a52d3b6
Revert "[Issue-4228] feat: Support watch-only account for Bitcoin"
dungnguyen-art Apr 11, 2025
1c4ce9a
[Issue-4200] Add branch to white list auto build
S2kael Apr 11, 2025
ac1497d
Merge branch 'subwallet-dev' into koni/dev/issue-4200-v2
S2kael Apr 11, 2025
24b10a1
Merge branch 'koni/dev/issue-4200-v2' into koni/dev/issue-4201
S2kael Apr 11, 2025
204e6dd
[Issue-4200] Update branch to white-list auto build
dungnguyen-art Apr 11, 2025
c300be2
Merge pull request #4252 from Koniverse/koni/dev/issue-4201
S2kael Apr 11, 2025
3149602
Add get Rune Balance
phonglnDEV Apr 14, 2025
fd84153
[Issue 4182] chore: update interfaces
nampc1 Apr 14, 2025
76ff666
add API get balance rune, inscription
phonglnDEV Apr 14, 2025
3191953
[Issue-4262] refactor: Fix potential rendering issues with lists in R…
dungnguyen-art Apr 15, 2025
f98a3ea
[Issue-4228] chore: update Keyring library
dungnguyen-art Apr 15, 2025
57ca326
Merge pull request #4269 from Koniverse/koni/dev/issue-4262
S2kael Apr 15, 2025
0a0c992
Merge remote-tracking branch 'refs/remotes/origin/subwallet-dev' into…
dungnguyen-art Apr 16, 2025
8c8845c
[Issue-4168] chore: resolve conflict after merging branch dev
dungnguyen-art Apr 16, 2025
02d4114
[Issue-4200] feat: Hide RUNE and BRC-20 tokens
dungnguyen-art Apr 16, 2025
dca613a
Merge pull request #4271 from Koniverse/koni/dev/issue-4094
S2kael Apr 16, 2025
670d6b6
[Issue-4094] Extension - Improvements unified account after Bitcoin s…
dungnguyen-art Apr 17, 2025
ed6df11
Merge remote-tracking branch 'refs/remotes/origin/koni/dev/issue-4162…
dungnguyen-art Apr 17, 2025
6a89a2d
[Issue-4094] feat: Update token detail
dungnguyen-art Apr 18, 2025
6ce4a41
[Issue-4094] feat: Update token detail
dungnguyen-art Apr 18, 2025
0ee2743
[Issue-4094] feat: Filter Bitcoin assets by account
dungnguyen-art Apr 18, 2025
3d6e35b
[Issue-4094] feat: Filter Bitcoin assets by account
dungnguyen-art Apr 18, 2025
561e492
add API get balance rune, inscription
phonglnDEV Apr 14, 2025
19dc3b4
[Issue-4094] refactor code
dungnguyen-art Apr 21, 2025
9320312
[Issue-4094] refactor code
dungnguyen-art Apr 21, 2025
2f4af9a
[Issue-4094] refactor code (2)
dungnguyen-art Apr 21, 2025
45a6fd9
[Issue-4094] refactor code (2)
dungnguyen-art Apr 21, 2025
04c6cc8
Merge remote-tracking branch 'refs/remotes/origin/koni/dev/issue-4162…
dungnguyen-art Apr 21, 2025
55f6187
[Issue-4162] Resolved conflict after merge
dungnguyen-art Apr 21, 2025
263fa8a
[Issue-4094] refactor code (3)
dungnguyen-art Apr 21, 2025
9047f6c
[Issue-4094] refactor code (3)
dungnguyen-art Apr 21, 2025
45e9540
[Issue-4162] fix case show balance
dungnguyen-art Apr 21, 2025
60142bc
[Issue-4261] Support derive account for bitcoin network
S2kael Apr 21, 2025
f7e3753
[Issue-4094] fix eslint to build
dungnguyen-art Apr 21, 2025
fa8e9d3
[Issue-4094] fix eslint to build
dungnguyen-art Apr 21, 2025
3286ed6
Merge branch 'refs/heads/koni/dev/issue-4162-v2' into koni/dev/issue-…
dungnguyen-art Apr 21, 2025
be30fe5
Merge remote-tracking branch 'refs/remotes/origin/subwallet-dev' into…
dungnguyen-art Apr 22, 2025
04c7173
Merge branch 'refs/heads/koni/dev/issue-4200-v2' into koni/dev/issue-…
dungnguyen-art Apr 22, 2025
4be8bf0
Merge remote-tracking branch 'refs/remotes/origin/koni/dev/issue-4200…
dungnguyen-art Apr 22, 2025
0f4276d
Merge remote-tracking branch 'refs/remotes/origin/koni/dev/issue-4162…
dungnguyen-art Apr 22, 2025
1485857
Merge remote-tracking branch 'refs/remotes/origin/koni/dev/issue-4094…
dungnguyen-art Apr 22, 2025
7577d1c
[Issue-4263] Add validate to transfer bitcoin
dungnguyen-art Apr 22, 2025
1f2c165
Merge branch 'koni/dev/issue-4200-v2' into koni/dev/isse-4261
S2kael Apr 23, 2025
d5f42f7
[Issue-4263] Handle Bitcoin transaction flow
dungnguyen-art Apr 23, 2025
28d3843
[Issue-4261] feat: Update logic suggest derivation path
S2kael Apr 23, 2025
3641cfc
add API get balance rune, inscription
phonglnDEV Apr 14, 2025
07fff32
[Issue-4261] feat: update UI
S2kael Apr 24, 2025
2dd538b
Merge remote-tracking branch 'refs/remotes/origin/koni/dev/issue-4162…
dungnguyen-art Apr 24, 2025
6e73044
[Issue-4094] Handle showing token details for Bitcoin
dungnguyen-art Apr 24, 2025
1f03a3a
[Issue-4094] Handle the balance for Bitcoin Mainnet and Bitcoin Testn…
dungnguyen-art Apr 24, 2025
f22c3cc
[Issue-4094] rename variable
dungnguyen-art Apr 24, 2025
b6c2280
[Issue-4263] remove unnecessary type assertion for SUPPORTED_ACCOUNT_…
dungnguyen-art Apr 24, 2025
de082f1
[Issue-4263] Handle Confirmation component and update confirmation lo…
dungnguyen-art Apr 25, 2025
f6ec03b
remove autoEnableTokens and modify method get free balance bitcoin
phonglnDEV Apr 28, 2025
c8afbdf
Merge remote-tracking branch 'refs/remotes/origin/subwallet-dev' into…
dungnguyen-art Apr 29, 2025
202844b
Merge remote-tracking branch 'refs/remotes/origin/subwallet-dev' into…
dungnguyen-art Apr 29, 2025
0cb93d3
[Issue-4168] Resolve conflicts after merging `subwallet-dev`
dungnguyen-art Apr 29, 2025
29bc82f
Merge branch 'refs/heads/koni/dev/issue-4200-v2' into koni/dev/issue-…
dungnguyen-art Apr 29, 2025
66af93a
Merge remote-tracking branch 'refs/remotes/origin/koni/dev/issue-4162…
dungnguyen-art Apr 29, 2025
f476ba1
[Issue-4162] chore: Fix eslint
dungnguyen-art Apr 29, 2025
970cae0
Merge branch 'refs/heads/koni/dev/issue-4094' into koni/dev/issue-416…
dungnguyen-art Apr 29, 2025
ab4ef9c
[Issue-4162] chore: resolve conflict after merging `4094`
dungnguyen-art Apr 29, 2025
195d2e8
Merge pull request #4294 from Koniverse/koni/dev/isse-4261
S2kael Apr 29, 2025
63d1942
Merge remote-tracking branch 'refs/remotes/origin/koni/dev/issue-4200…
dungnguyen-art Apr 29, 2025
d297d6c
[Issue-4263] feat: Handle fee for Bitcoin
dungnguyen-art Apr 29, 2025
44cc52f
[Issue-4263] feat: refactor code & review
dungnguyen-art Apr 29, 2025
65327bf
[Issue-4263] refactor: restore checkSigningAccountForTransaction func…
dungnguyen-art May 5, 2025
fd018d6
[Issue-4263] refactor: update Code to adapt to MasterAccount Interface
dungnguyen-art May 5, 2025
b3ea6a4
[Issue-4263] chores: downgrade bitcoinjs-lib to 6.1.5 to adapt to ver…
dungnguyen-art May 5, 2025
0f204a9
[Issue-4263] refactor: adjust to real data
dungnguyen-art May 5, 2025
f54cfde
[Issue-4263] refactor: remove duplicated messaging
dungnguyen-art May 5, 2025
7de357a
[Issue-4263] refactor: remove interface dapp
dungnguyen-art May 5, 2025
6833248
[Issue-4263] feat: add `input bip86` into bitcoin transaction
dungnguyen-art May 6, 2025
f414d11
Merge remote-tracking branch 'refs/remotes/origin/koni/dev/issue-4094…
dungnguyen-art May 6, 2025
e67ea9b
[Issue-4263] chore(autobuild): update configurations for Bitcoin tran…
dungnguyen-art May 6, 2025
8b18e3a
Merge remote-tracking branch 'refs/remotes/origin/koni/dev/issue-4094…
dungnguyen-art May 6, 2025
45ceb86
[Issue-4263] chore(lint): fix eslint after merge 4094
dungnguyen-art May 6, 2025
fb77a69
[Issue-4263] feat: temporarily bypass subscribeMaxTransferable for bi…
dungnguyen-art May 6, 2025
1f1cecf
[Issue-4263] refactor: comment logic related to Ledger to pass auto b…
dungnguyen-art May 6, 2025
1e3a0be
[issue-4263] refactor: change import to pass autobuild
dungnguyen-art May 6, 2025
435bae2
[issue-4263] refactor: fix route explorer link and correct get bitcoi…
dungnguyen-art May 7, 2025
bdc3bac
[issue-4263] refactor: fix related url provider
dungnguyen-art May 8, 2025
f96bfc3
[issue-4263] feat: handling logic related to a Bitcoin Testnet handler
dungnguyen-art May 8, 2025
9cac448
[issue-4263] chore: review this function
dungnguyen-art May 8, 2025
53a0b8f
Merge remote-tracking branch 'refs/remotes/origin/subwallet-dev' into…
dungnguyen-art May 9, 2025
53c3a56
[issue-4263] feat: Add blocktime to history
dungnguyen-art May 13, 2025
7da9097
Merge branch 'koni/dev/issue-4200-v2' into koni/dev/issue-4162-v2
S2kael May 13, 2025
d486375
Merge pull request #4292 from Koniverse/koni/dev/issue-4162-v2
S2kael May 13, 2025
6229e17
Merge branch 'refs/heads/koni/dev/issue-4200-v2' into koni/dev/issue-…
dungnguyen-art May 13, 2025
fcd9a19
[issue-4263] chore: resolve conflicts after merge
dungnguyen-art May 13, 2025
a90a262
[issue-4316] Extension - Improve UI after Bitcoin integration
dungnguyen-art May 20, 2025
4e5bd44
[Issue-4316] refactor: Improve UI after Bitcoin integration
dungnguyen-art May 21, 2025
d7dbaa9
[Issue-4316] refactor: eslint
dungnguyen-art May 21, 2025
0b7a42a
[Issue-4316] refactor: Related UI/UX for Bitcoin
dungnguyen-art May 22, 2025
98a9280
[Issue-4263] update: content on transaction history
dungnguyen-art May 22, 2025
f6f8165
[Issue-4263] fix: Reset transferInfo when changing assetValue
dungnguyen-art May 22, 2025
6355522
[Issue-4263] Prevent dust limit for bitcoin transaction
dungnguyen-art May 23, 2025
0827341
[Issue-4263] rollback logic and improve later
dungnguyen-art May 23, 2025
c16fb7f
[Issue-4263] Hide the "Max" button and update the UI for the "Estimat…
dungnguyen-art May 26, 2025
3ccf656
[Issue-4316] fix some ui bugs
dungnguyen-art May 27, 2025
0a111a8
[Issue-4316] Update UX for Bitcoin account details
dungnguyen-art May 27, 2025
7e52383
[Issue-4316] refactor ux account bitcoin details
dungnguyen-art May 28, 2025
2fb90eb
[Issue-4316] fix case account solo bitcoin on account details screen
dungnguyen-art May 28, 2025
691e4d6
[Issue-4316] update content and sort account bitcoin
dungnguyen-art May 28, 2025
0daf06d
[Issue-4316] Fix ui bugs
dungnguyen-art May 29, 2025
727870b
[Issue-4316] Fix issue where balance is not retrieved when manual net…
dungnguyen-art May 29, 2025
ae2b12e
[Issue-4263] test: update Autobuild for Task dApp Bitcoin
dungnguyen-art May 30, 2025
30ffd07
[Issue-4263] test: remove Autobuild for Task dApp Bitcoin
dungnguyen-art May 30, 2025
c79f913
Merge remote-tracking branch 'refs/remotes/origin/subwallet-dev' into…
dungnguyen-art May 30, 2025
5af434b
[Issue-4200] lint: fix eslint issues after merging `subwallet-dev`
dungnguyen-art May 30, 2025
c9475e5
Merge remote-tracking branch 'refs/remotes/origin/koni/dev/issue-4200…
dungnguyen-art May 30, 2025
78d7874
[Issue-4200] lint: resolve conflict after merge
dungnguyen-art May 30, 2025
afae0de
[Issue-4263] feat: add support for bitcoin history.
dungnguyen-art Jun 3, 2025
69e360d
[Issue-4263] feat: format error message for dust limit
dungnguyen-art Jun 3, 2025
c231f54
[issue-4263] feat: hotfix transferMax value for bitcoin.
dungnguyen-art Jun 3, 2025
49c490f
[issue-4263] lint: fix eslint
dungnguyen-art Jun 3, 2025
dc3ae17
Merge branch 'refs/heads/subwallet-dev' into koni/dev/issue-4263
dungnguyen-art Jun 3, 2025
de181ce
[Issue-4263] feat: update balance by subtracting UTXOs immediately af…
dungnguyen-art Jun 3, 2025
0d63847
[Issue-4297] refactor: Rename useReformatAddress to useCoreReformatAd…
lw-cdm Jun 3, 2025
1a4f584
[Issue-4297] feat: Init some functions and hooks
lw-cdm Jun 3, 2025
fd514a1
[Issue-4297] refactor: Implement useGetChainSlugsByCurrentAccountProxy
lw-cdm Jun 3, 2025
f96a89b
[Issue-4297] refactor: Implement useCoreGetChainSlugsByAccountProxy, …
lw-cdm Jun 3, 2025
48dccf5
[Issue-4297] refactor: Rename useCoreReformatAddress to useCoreCreate…
lw-cdm Jun 3, 2025
e365ef2
[Issue-4297] refactor: Add "deprecated" to some functions, hooks
lw-cdm Jun 3, 2025
8b75bd1
[Issue-4297] refactor: Update logic for useCoreCreateGetChainSlugsByA…
lw-cdm Jun 3, 2025
413047e
[Issue-4297] refactor: Remove useCoreCreateIsChainInfoCompatibleWithA…
lw-cdm Jun 3, 2025
2891438
[Issue-4297] refactor: Implement isChainInfoCompatibleWithAccountInfo
lw-cdm Jun 3, 2025
93a7efa
[Issue-4297] refactor: Update logic for isChainInfoCompatibleWithAcco…
lw-cdm Jun 3, 2025
e343be2
[Issue-4297] refactor: Update logic for useCoreCreateGetChainSlugsByA…
lw-cdm Jun 4, 2025
e38c4a0
[Issue-4263] test: [ci/cd] add auto-build for task #4297; will remove…
dungnguyen-art Jun 4, 2025
4881ec5
[Issue-4263] test: [ci/cd] add auto-build for task #4297; will remove…
dungnguyen-art Jun 4, 2025
ff9fc6c
Merge branch 'refs/heads/koni/dev/issue-4263' into koni/dev/issue-4297
dungnguyen-art Jun 4, 2025
5c1f989
[Issue-4263] test: [ci/cd] add auto-build for task #4297; will remove…
dungnguyen-art Jun 4, 2025
87320da
Merge branch 'refs/heads/koni/dev/issue-4263' into koni/dev/issue-4297
dungnguyen-art Jun 4, 2025
5765386
[Issue-4263] bug fix: corrected display of fee for bitcoin transfers
dungnguyen-art Jun 4, 2025
6a238ec
[Issue-4263] bug fix: fix case displaying balance 'change output' of …
dungnguyen-art Jun 4, 2025
c2a7484
[Issue-4263] add: update content
dungnguyen-art Jun 4, 2025
287f036
[Issue-4263] add: prioritize the value of 'block time' in history
dungnguyen-art Jun 4, 2025
9e77659
[Issue-4297] refactor: Refactor isChainInfoCompatibleWithAccountInfo …
lw-cdm Jun 5, 2025
f0a33ee
[Issue-4263] feat: improve bitcoin recover status
dungnguyen-art Jun 5, 2025
8d00de0
[Issue-4412] refactor: Update logic for _analyzeAddress
lw-cdm Jun 5, 2025
c3d37bb
[Issue-4412] refactor: Update UI logic for address suggestion
lw-cdm Jun 5, 2025
69a650f
[Issue-4412] refactor: Update UI logic for Token Selector
lw-cdm Jun 5, 2025
3907eaf
[Issue-4263] bug fix: correctly display balance on testnet after tran…
dungnguyen-art Jun 5, 2025
0d899bf
[Issue-4263] chore: add a note about fallback for the "estimate fee" …
dungnguyen-art Jun 5, 2025
e5b9e25
[Issue-4412] refactor: Update UI for AddressQrModal
lw-cdm Jun 5, 2025
27ece23
[Issue-4412] refactor: Update sorting logic for GlobalSearchTokenModal
lw-cdm Jun 5, 2025
5e6e594
[Issue-4263] feat: handle fallback for the "estimate fee" route.
dungnguyen-art Jun 5, 2025
6a0af62
[Issue-4263] feat: change api to mempool testnet v4
dungnguyen-art Jun 5, 2025
246550f
[Issue-4263] chores: fix eslint
dungnguyen-art Jun 5, 2025
337d53f
[Issue-4263] feat: trigger balance after receiving extrinsichash when…
dungnguyen-art Jun 5, 2025
c1dea29
[Issue-4263] feat: Improve sorting functionality in history
dungnguyen-art Jun 6, 2025
f29da42
[Issue-4428] Update lifecycle for extension => avoid to waste resources
saltict Jun 6, 2025
a119d6b
[Issue-4263] Improve get block time for fee rate
saltict Jun 6, 2025
b6b6e2a
[Issue-4428] Fix wrong started flow
saltict Jun 6, 2025
e6d12fd
Merge remote-tracking branch 'refs/remotes/origin/koni/dev/issue-4263…
dungnguyen-art Jun 6, 2025
77bda24
Merge remote-tracking branch 'origin/koni/dev/issue-4263' into koni/d…
saltict Jun 6, 2025
c071db5
[Issue-4263] fix bug: subscribe balance after transfer
dungnguyen-art Jun 6, 2025
51d34dd
[Issue-4263] refactor: replay api to online
dungnguyen-art Jun 6, 2025
e39f756
[Issue-4263] refactor: recheck the response api of the mempool testne…
dungnguyen-art Jun 6, 2025
3cdd169
[Issue-4428] Fix resolve starting full
saltict Jun 6, 2025
6ec3599
Merge remote-tracking branch 'origin/koni/dev/issue-4263' into koni/d…
saltict Jun 6, 2025
e711296
[Issue-4263] fix dustlimit for transfer all
dungnguyen-art Jun 6, 2025
8b2b1d6
[Issue-4263] allow transfer when changeOutput < dustLimt
dungnguyen-art Jun 9, 2025
043065a
[Issue-4263] add: handle for blockstream api
dungnguyen-art Jun 9, 2025
2286e8f
[Issue-4425] refactor: Update receive modal logic
lw-cdm Jun 9, 2025
f682c88
[Issue-4425] refactor: Update auto-select account logic in history sc…
lw-cdm Jun 9, 2025
6cbeeb3
[Issue-4263] add: sort history tx follow mempool
dungnguyen-art Jun 9, 2025
10d359f
[Issue-4263] fix eslint
dungnguyen-art Jun 10, 2025
2dec9c8
Merge remote-tracking branch 'origin/koni/dev/issue-4263' into koni/d…
lw-cdm Jun 10, 2025
9b496fb
Merge branch 'refs/heads/subwallet-dev' into koni/dev/issue-4200-v2
dungnguyen-art Jun 10, 2025
287db82
Merge branch 'refs/heads/koni/dev/issue-4200-v2' into koni/dev/issue-…
dungnguyen-art Jun 10, 2025
d5e2cba
[Issue-4263] update add index to history bitcoin transaction
dungnguyen-art Jun 10, 2025
c77e70b
Merge remote-tracking branch 'refs/remotes/origin/koni/dev/issue-4428…
dungnguyen-art Jun 10, 2025
2fa76b4
[Issue-4263] adapt code after merging branch `4428`
dungnguyen-art Jun 10, 2025
0fca162
[Issue-4434] Update debounce on UI
saltict Jun 9, 2025
d8529c2
Merge remote-tracking branch 'refs/remotes/origin/koni/dev/issue-4425…
dungnguyen-art Jun 10, 2025
53ccdaf
[Issue-4263] update sorting history
dungnguyen-art Jun 10, 2025
198f7a8
[Issue-4263] The data in the keyring is indeed x-only not need slice
dungnguyen-art Jun 11, 2025
ba519ce
[Issue-4263] remove log
dungnguyen-art Jun 12, 2025
d1a4faa
[Issue-4263] remove log (2)
dungnguyen-art Jun 12, 2025
2cd1387
[Issue-4434] Improve debounce on UI
saltict Jun 12, 2025
599f445
[Issue-4434] Improve debounce on UI (fix eslint)
saltict Jun 12, 2025
baaf41a
Merge remote-tracking branch 'refs/remotes/origin/koni/dev/issue-4434…
dungnguyen-art Jun 12, 2025
00ddc9b
[Issue-4263] Fix case transfer changeOuput < dust limit
dungnguyen-art Jun 12, 2025
5082b66
[Issue-4263] Fix case transfer changeOuput < dust limit (2)
dungnguyen-art Jun 12, 2025
0b5dfb3
[issue-4263] Increase feerate for bitcoin transactions to a minimum o…
dungnguyen-art Jun 12, 2025
840662c
[issue-4263] fix eslint
dungnguyen-art Jun 12, 2025
b85a2a3
[issue-4263] update sorting history
dungnguyen-art Jun 13, 2025
b4d1471
[Issue-4380] In case the change output < dust limit, only the recipie…
dungnguyen-art Jun 16, 2025
3672ab6
Merge branch 'subwallet-dev' into koni/dev/issue-4200-v2
S2kael Jun 17, 2025
055f24b
Merge remote-tracking branch 'refs/remotes/origin/koni/dev/issue-4200…
dungnguyen-art Jun 17, 2025
32198f6
[Issue-4263] hide custom fee for Bitcoin
dungnguyen-art Jun 17, 2025
d4cecf0
[Issue-4263] Fix error when pay fee with custom token
S2kael Jun 17, 2025
1f30905
[Issue-4263] Chore: fix eslint
S2kael Jun 17, 2025
cf2ddb9
[Issue-4263] Chore: update some logic on filter account and fetch his…
S2kael Jun 18, 2025
b3f3ca9
[Issue-4263] Chore: Refactor some interface
S2kael Jun 18, 2025
2a3f148
[Issue-4263] Chore: fix eslint
S2kael Jun 18, 2025
a433f4b
[Issue-4263] chores: migrate local flag `isAcknowledgedUnifiedAccount…
bluezdot Jun 19, 2025
f8b1fe9
refactor: Update ChainDetail
lw-cdm Jun 19, 2025
3b415bf
refactor: Update content for SeedPhraseTermModal
lw-cdm Jun 19, 2025
39c2402
refactor: Update message for swap submit preCheck
lw-cdm Jun 19, 2025
05113ca
Merge remote-tracking branch 'origin/subwallet-dev' into koni/dev/iss…
lw-cdm Jun 19, 2025
53d7156
refactor: Update address display for history screen
lw-cdm Jun 20, 2025
3b543e2
refactor: Update prop displayAddress for type AccountAddressItemType …
lw-cdm Jun 20, 2025
b934491
Merge remote-tracking branch 'origin/subwallet-dev' into koni/dev/iss…
lw-cdm Jun 20, 2025
d7660e0
Merge pull request #4302 from Koniverse/koni/dev/issue-4263
saltict Jun 20, 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
4 changes: 4 additions & 0 deletions .github/workflows/push-koni-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ on:
- koni-dev
- upgrade-ui
- subwallet-dev
- koni/dev/issue-4200-v2
- koni/dev/issue-4297
- koni/dev/issue-4263
push:
branches:
- koni-dev
Expand Down Expand Up @@ -72,6 +75,7 @@ jobs:
TARGET_BRANCH: ${{ github.event.pull_request.base.ref }}
CURRENT_BRANCH: ${{ github.event.pull_request.head.ref || github.ref }}
BRANCH_NAME: ${{ github.ref_name }}
BTC_SERVICE_TOKEN: ${{ secrets.BTC_SERVICE_TOKEN }}
run: |
yarn install --immutable | grep -v 'YN0013'
yarn build:koni-dev
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/push-master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ jobs:
COINBASE_PAY_ID: ${{ secrets.COINBASE_PAY_ID }}
MELD_WIZARD_KEY: ${{ secrets.MELD_WIZARD_KEY }}
BRANCH_NAME: ${{ github.ref_name }}
BTC_SERVICE_TOKEN: ${{ secrets.BTC_SERVICE_TOKEN }}
run: |
yarn install --immutable | grep -v 'YN0013'
yarn ${{ matrix.step }}
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/push-web-runner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ jobs:
COINBASE_PAY_ID: ${{ secrets.COINBASE_PAY_ID }}
MELD_WIZARD_KEY: ${{ secrets.MELD_WIZARD_KEY }}
BRANCH_NAME: master
BTC_SERVICE_TOKEN: ${{ secrets.BTC_SERVICE_TOKEN }}
run: |
yarn install --immutable | grep -v 'YN0013'
yarn ${{ matrix.step }}
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/push-webapp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ jobs:
NFT_MINTING_HOST: ${{ secrets.NFT_MINTING_HOST }}
MELD_WIZARD_KEY: ${{ secrets.MELD_WIZARD_KEY }}
BRANCH_NAME: ${{ github.ref_name }}
BTC_SERVICE_TOKEN: ${{ secrets.BTC_SERVICE_TOKEN }}
run: |
yarn install --immutable | grep -v 'YN0013'
if [ ${{ github.ref_name }} == 'webapp-dev' ]; then
Expand Down
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@
},
"dependencies": {
"@types/node": "^17.0.10",
"bitcoinjs-lib": "6.1.5",
"dexie": "^3.2.2",
"loglevel": "^1.8.1",
"react-markdown": "^9.0.1",
Expand Down Expand Up @@ -110,6 +111,7 @@
"@subwallet/keyring": "^0.1.12",
"@subwallet/react-ui": "5.1.2-b79",
"@subwallet/ui-keyring": "^0.1.12",
"bitcoinjs-lib": "6.1.5",
"@types/bn.js": "^5.1.6",
"@zondax/ledger-substrate": "1.0.1",
"babel-core": "^7.0.0-bridge.0",
Expand Down
3 changes: 2 additions & 1 deletion packages/extension-base/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,12 @@
"avail-js-sdk": "^0.2.12",
"axios": "^1.6.2",
"bignumber.js": "^9.1.1",
"bitcoinjs-lib": "6.1.5",
"bn.js": "^5.2.1",
"bowser": "^2.11.0",
"browser-passworder": "^2.0.3",
"buffer": "^6.0.3",
"cross-fetch": "^3.1.5",
"cross-fetch": "^4.1.0",
"dexie": "^3.2.2",
"dexie-export-import": "^4.0.7",
"eth-simple-keyring": "^4.2.0",
Expand Down
144 changes: 140 additions & 4 deletions packages/extension-base/src/background/KoniTypes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,24 +10,27 @@
import { CardanoBalanceItem } from '@subwallet/extension-base/services/balance-service/helpers/subscribe/cardano/types';
import { CardanoTransactionConfig } from '@subwallet/extension-base/services/balance-service/transfer/cardano-transfer';
import { TonTransactionConfig } from '@subwallet/extension-base/services/balance-service/transfer/ton-transfer';
import { BitcoinApiStrategy } from '@subwallet/extension-base/services/chain-service/handler/bitcoin/strategy/types';
import { _CHAIN_VALIDATION_ERROR } from '@subwallet/extension-base/services/chain-service/handler/types';
import { _ChainState, _EvmApi, _NetworkUpsertParams, _SubstrateApi, _ValidateCustomAssetRequest, _ValidateCustomAssetResponse, EnableChainParams, EnableMultiChainParams } from '@subwallet/extension-base/services/chain-service/types';
import { TokenPayFeeInfo } from '@subwallet/extension-base/services/fee-service/interfaces';
import { _NotificationInfo, NotificationSetup } from '@subwallet/extension-base/services/inapp-notification-service/interfaces';
import { AppBannerData, AppConfirmationData, AppPopupData } from '@subwallet/extension-base/services/mkt-campaign-service/types';
import { AuthUrls } from '@subwallet/extension-base/services/request-service/types';
import { CrowdloanContributionsResponse } from '@subwallet/extension-base/services/subscan-service/types';
import { SWTransactionResponse, SWTransactionResult } from '@subwallet/extension-base/services/transaction-service/types';
import { BitcoinTransactionData, SWTransactionResponse, SWTransactionResult } from '@subwallet/extension-base/services/transaction-service/types';
import { WalletConnectNotSupportRequest, WalletConnectSessionRequest } from '@subwallet/extension-base/services/wallet-connect-service/types';
import { AccountChainType, AccountJson, AccountsWithCurrentAddress, AddressJson, BalanceJson, BaseRequestSign, BuyServiceInfo, BuyTokenInfo, CommonOptimalTransferPath, CurrentAccountInfo, EarningRewardHistoryItem, EarningRewardJson, EarningStatus, HandleYieldStepParams, InternalRequestSign, LeavePoolAdditionalData, NominationPoolInfo, OptimalYieldPath, OptimalYieldPathParams, RequestAccountBatchExportV2, RequestAccountCreateSuriV2, RequestAccountNameValidate, RequestAccountProxyEdit, RequestAccountProxyForget, RequestBatchJsonGetAccountInfo, RequestBatchRestoreV2, RequestBounceableValidate, RequestChangeAllowOneSign, RequestChangeTonWalletContractVersion, RequestCheckCrossChainTransfer, RequestCheckPublicAndSecretKey, RequestCheckTransfer, RequestCrossChainTransfer, RequestDeriveCreateMultiple, RequestDeriveCreateV3, RequestDeriveValidateV2, RequestEarlyValidateYield, RequestEarningSlippage, RequestExportAccountProxyMnemonic, RequestGetAllTonWalletContractVersion, RequestGetAmountForPair, RequestGetDeriveAccounts, RequestGetDeriveSuggestion, RequestGetTokensCanPayFee, RequestGetYieldPoolTargets, RequestInputAccountSubscribe, RequestJsonGetAccountInfo, RequestJsonRestoreV2, RequestMetadataHash, RequestMnemonicCreateV2, RequestMnemonicValidateV2, RequestPrivateKeyValidateV2, RequestShortenMetadata, RequestStakeCancelWithdrawal, RequestStakeClaimReward, RequestSubmitProcessTransaction, RequestSubscribeProcessById, RequestTransfer, RequestUnlockDotCheckCanMint, RequestUnlockDotSubscribeMintedData, RequestYieldLeave, RequestYieldStepSubmit, RequestYieldWithdrawal, ResponseAccountBatchExportV2, ResponseAccountCreateSuriV2, ResponseAccountNameValidate, ResponseBatchJsonGetAccountInfo, ResponseCheckPublicAndSecretKey, ResponseDeriveValidateV2, ResponseEarlyValidateYield, ResponseExportAccountProxyMnemonic, ResponseGetAllTonWalletContractVersion, ResponseGetDeriveAccounts, ResponseGetDeriveSuggestion, ResponseGetYieldPoolTargets, ResponseInputAccountSubscribe, ResponseJsonGetAccountInfo, ResponseMetadataHash, ResponseMnemonicCreateV2, ResponseMnemonicValidateV2, ResponsePrivateKeyValidateV2, ResponseShortenMetadata, ResponseSubscribeProcessAlive, ResponseSubscribeProcessById, StorageDataInterface, SubmitYieldStepData, SubnetYieldPositionInfo, SwapPair, SwapQuoteResponse, SwapRequest, SwapRequestResult, SwapRequestV2, SwapSubmitParams, SwapTxData, TokenSpendingApprovalParams, UnlockDotTransactionNft, UnstakingStatus, ValidateSwapProcessParams, ValidateYieldProcessParams, YieldPoolInfo, YieldPoolType, YieldPositionInfo } from '@subwallet/extension-base/types';
import { RequestSubmitTransfer, RequestSubscribeTransfer, ResponseSubscribeTransfer } from '@subwallet/extension-base/types/balance/transfer';
import { RequestSubmitSignPsbtTransfer, RequestSubmitTransfer, RequestSubmitTransferWithId, RequestSubscribeTransfer, ResponseSubscribeTransfer } from '@subwallet/extension-base/types/balance/transfer';
import { RequestClaimBridge } from '@subwallet/extension-base/types/bridge';
import { GetNotificationParams, RequestIsClaimedPolygonBridge, RequestSwitchStatusParams } from '@subwallet/extension-base/types/notification';
import { InjectedAccount, InjectedAccountWithMeta, MetadataDefBase } from '@subwallet/extension-inject/types';
import { KeyringPair$Meta } from '@subwallet/keyring/types';
import { KeyringOptions } from '@subwallet/ui-keyring/options/types';
import { KeyringAddress } from '@subwallet/ui-keyring/types';
import { SessionTypes } from '@walletconnect/types/dist/types/sign-client/session';
import { Psbt } from 'bitcoinjs-lib';
import BN from 'bn.js';
import { DexieExportJsonStructure } from 'dexie-export-import';
import Web3 from 'web3';
import { RequestArguments, TransactionConfig } from 'web3-core';
Expand Down Expand Up @@ -262,13 +265,13 @@
externalUrl?: string;
rarity?: string;
description?: string;
properties?: Record<any, any> | null;

Check warning on line 268 in packages/extension-base/src/background/KoniTypes.ts

View workflow job for this annotation

GitHub Actions / Build Development Preview

Unexpected any. Specify a different type

Check warning on line 268 in packages/extension-base/src/background/KoniTypes.ts

View workflow job for this annotation

GitHub Actions / Build Development Preview

Unexpected any. Specify a different type
}

interface NftItemExtraInfo {
type?: _AssetType.ERC721 | _AssetType.PSP34 | RMRK_VER; // for sending
rmrk_ver?: RMRK_VER;
onChainOption?: any; // for sending PSP-34 tokens, should be done better

Check warning on line 274 in packages/extension-base/src/background/KoniTypes.ts

View workflow job for this annotation

GitHub Actions / Build Development Preview

Unexpected any. Specify a different type
assetHubType?: AssetHubNftType // for sending assetHub nft. There're 2 types nft
}

Expand Down Expand Up @@ -599,7 +602,7 @@
[ExtrinsicType.STAKING_COMPOUNDING]: RequestTuringStakeCompound,
[ExtrinsicType.STAKING_CANCEL_COMPOUNDING]: RequestTuringCancelStakeCompound,
[ExtrinsicType.STAKING_CANCEL_UNSTAKE]: RequestStakeCancelWithdrawal,
[ExtrinsicType.STAKING_POOL_WITHDRAW]: any,

Check warning on line 605 in packages/extension-base/src/background/KoniTypes.ts

View workflow job for this annotation

GitHub Actions / Build Development Preview

Unexpected any. Specify a different type

// Yield
[ExtrinsicType.JOIN_YIELD_POOL]: RequestYieldStepSubmit,
Expand Down Expand Up @@ -630,9 +633,9 @@
[ExtrinsicType.CLAIM_BRIDGE]: RequestClaimBridge

[ExtrinsicType.EVM_EXECUTE]: TransactionConfig,
[ExtrinsicType.CROWDLOAN]: any,

Check warning on line 636 in packages/extension-base/src/background/KoniTypes.ts

View workflow job for this annotation

GitHub Actions / Build Development Preview

Unexpected any. Specify a different type
[ExtrinsicType.SWAP]: SwapTxData
[ExtrinsicType.UNKNOWN]: any

Check warning on line 638 in packages/extension-base/src/background/KoniTypes.ts

View workflow job for this annotation

GitHub Actions / Build Development Preview

Unexpected any. Specify a different type
}

export enum ExtrinsicStatus {
Expand Down Expand Up @@ -731,8 +734,8 @@
// : T extends ExtrinsicType.MINT_VDOT
// ? Pick<SubmitBifrostLiquidStaking, 'rewardTokenSlug' | 'estimatedAmountReceived'>
// : undefined;
export interface TransactionHistoryItem<ET extends ExtrinsicType = ExtrinsicType.TRANSFER_BALANCE> {

Check warning on line 737 in packages/extension-base/src/background/KoniTypes.ts

View workflow job for this annotation

GitHub Actions / Build Development Preview

'ET' is defined but never used
origin?: 'app' | 'migration' | 'subsquid' | 'subscan', // 'app' or history source
origin?: 'app' | 'migration' | 'subsquid' | 'subscan' | 'blockstream', // 'app' or history source
callhash?: string,
signature?: string,
chain: string,
Expand All @@ -748,6 +751,7 @@
status: ExtrinsicStatus,
transactionId?: string, // Available for transaction history
extrinsicHash: string,
blockTime?: number, // Block time. With bitcoin, time to submit is different with time on block
time: number,
data?: string,
blockNumber: number,
Expand All @@ -756,11 +760,12 @@
tip?: AmountData,
fee?: AmountData,
explorerUrl?: string,
additionalInfo?: any,

Check warning on line 763 in packages/extension-base/src/background/KoniTypes.ts

View workflow job for this annotation

GitHub Actions / Build Development Preview

Unexpected any. Specify a different type
startBlock?: number,
nonce?: number,
addressPrefix?: number,
processId?: string;
apiTxIndex?: number;
}

export interface SWWarning {
Expand Down Expand Up @@ -989,12 +994,12 @@
recipientAddress: string,

nftItemName?: string, // Use for confirmation view only
params: Record<string, any>,

Check warning on line 997 in packages/extension-base/src/background/KoniTypes.ts

View workflow job for this annotation

GitHub Actions / Build Development Preview

Unexpected any. Specify a different type
nftItem: NftItem
}

export interface EvmNftTransaction extends ValidateTransactionResponse {
tx: Record<string, any> | null;

Check warning on line 1002 in packages/extension-base/src/background/KoniTypes.ts

View workflow job for this annotation

GitHub Actions / Build Development Preview

Unexpected any. Specify a different type
}

export interface ValidateNetworkResponse {
Expand Down Expand Up @@ -1114,6 +1119,16 @@
INTERNAL_ERROR = 'INTERNAL_ERROR',
}

export enum BitcoinProviderErrorType {
USER_REJECTED_REQUEST = 'USER_REJECTED_REQUEST',
UNAUTHORIZED = 'UNAUTHORIZED',
UNSUPPORTED_METHOD = 'UNSUPPORTED_METHOD',
DISCONNECTED = 'DISCONNECTED',
CHAIN_DISCONNECTED = 'CHAIN_DISCONNECTED',
INVALID_PARAMS = 'INVALID_PARAMS',
INTERNAL_ERROR = 'INTERNAL_ERROR',
}

export interface EvmSendTransactionParams {
from: string;
to?: string;
Expand All @@ -1132,6 +1147,54 @@
canSign: boolean;
}

export interface BitcoinSignRequest {
account: AccountJson;
hashPayload: string;
canSign: boolean;
}

export interface BitcoinRecipientTransactionParams{
address: string;
amount: string;
}

export interface BitcoinSendTransactionParams {
account: string;
network: 'mainnet' | 'testnet';
recipients: BitcoinRecipientTransactionParams[]
}

export interface PsbtTransactionArg {
address?: string;
amount?: string;
}

export interface BitcoinSignPsbtPayload extends Omit<BitcoinSignPsbtRawRequest, 'psbt'>{
txInput: PsbtTransactionArg[];
txOutput: PsbtTransactionArg[];
to: string;
value: string;
psbt: Psbt;
tokenSlug: string;
}

enum SignatureHash {
DEFAULT = 0,
ALL = 1,
NONE = 2,
SINGLE = 3,
ANYONECANPAY = 128
}

export interface BitcoinSignPsbtRawRequest {
psbt: string;
allowedSighash?: SignatureHash[];
signAtIndex?: number | number[];
broadcast?: boolean;
network: string;
account: string;
}

export interface TonSignRequest {
account: AccountJson;
hashPayload: string;
Expand Down Expand Up @@ -1251,6 +1314,21 @@

export type ResponseCardanoSignTransaction = Cbor;

export type BitcoinSendTransactionRequest = BitcoinSignRequest

export interface BitcoinSignatureRequest extends BitcoinSignRequest {
id: string;
payload: unknown;
payloadJson: any;
}

export interface BitcoinAppState {
networkKey?: string,
isConnected?: boolean,
strategy?: BitcoinApiStrategy,
listenEvents?: string[]
}

// TODO: add account info + dataToSign
export type TonSendTransactionRequest = TonTransactionConfig;
export type CardanoSendTransactionRequest = CardanoTransactionConfig;
Expand All @@ -1259,6 +1337,10 @@
export type EvmWatchTransactionRequest = EvmSendTransactionRequest;
export type TonWatchTransactionRequest = TonSendTransactionRequest;
export type CardanoWatchTransactionRequest = CardanoSendTransactionRequest;
export type BitcoinWatchTransactionRequest = BitcoinSendTransactionRequest;
export type BitcoinSignPsbtRequest = BitcoinSignRequest & {
payload: BitcoinSignPsbtPayload;
};

export interface ConfirmationsQueueItemOptions {
requiredPassword?: boolean;
Expand All @@ -1267,6 +1349,26 @@
isPassConfirmation?: boolean;
}

export interface BitcoinTransactionConfig{
id?: string,
from?: string | number;
to?: BitcoinRecipientTransactionParams[];
value?: number | string | BN;
networkKey?: string;
tokenSlug?: string;
}

export interface SignMessageBitcoinResult {
signature: string;
message: string;
address: string;
}

export interface SignPsbtBitcoinResult {
psbt: string;
txid?: string
}

export interface ConfirmationsQueueItem<T> extends ConfirmationsQueueItemOptions, ConfirmationRequestBase {
payload: T;
payloadJson: string;
Expand Down Expand Up @@ -1333,9 +1435,18 @@
cardanoWatchTransactionRequest: [ConfirmationsQueueItem<CardanoWatchTransactionRequest>, ConfirmationResult<string>]
}

export interface ConfirmationDefinitionsBitcoin {
bitcoinSignatureRequest: [ConfirmationsQueueItem<BitcoinSignatureRequest>, ConfirmationResult<SignMessageBitcoinResult>],
bitcoinSendTransactionRequest: [ConfirmationsQueueItem<BitcoinSendTransactionRequest>, ConfirmationResult<string>],
bitcoinSendTransactionRequestAfterConfirmation: [ConfirmationsQueueItem<BitcoinSendTransactionRequest>, ConfirmationResult<string>],
bitcoinWatchTransactionRequest: [ConfirmationsQueueItem<BitcoinWatchTransactionRequest>, ConfirmationResult<string>],
bitcoinSignPsbtRequest: [ConfirmationsQueueItem<BitcoinSignPsbtRequest>, ConfirmationResult<SignPsbtBitcoinResult>],
}

export type ConfirmationType = keyof ConfirmationDefinitions;
export type ConfirmationTypeTon = keyof ConfirmationDefinitionsTon;
export type ConfirmationTypeCardano = keyof ConfirmationDefinitionsCardano;
export type ConfirmationTypeBitcoin = keyof ConfirmationDefinitionsBitcoin;

export type ConfirmationsQueue = {
[CT in ConfirmationType]: Record<string, ConfirmationDefinitions[CT][0]>;
Expand All @@ -1347,14 +1458,24 @@
[CT in ConfirmationTypeCardano]: Record<string, ConfirmationDefinitionsCardano[CT][0]>;
}

export type ConfirmationsQueueBitcoin = {
[CT in ConfirmationTypeBitcoin]: Record<string, ConfirmationDefinitionsBitcoin[CT][0]>;
}

export type RequestConfirmationsSubscribe = null;
export type RequestConfirmationsSubscribeTon = null;
export type RequestConfirmationsSubscribeCardano = null;
export type RequestConfirmationsSubscribeBitcoin = null;

// Design to use only one confirmation
export type RequestConfirmationComplete = {
[CT in ConfirmationType]?: ConfirmationDefinitions[CT][1];
}

export type RequestConfirmationCompleteBitcoin = {
[CT in ConfirmationTypeBitcoin]?: ConfirmationDefinitionsBitcoin[CT][1];
}

export type RequestConfirmationCompleteTon = {
[CT in ConfirmationTypeTon]?: ConfirmationDefinitionsTon[CT][1];
}
Expand Down Expand Up @@ -2132,7 +2253,17 @@

/* Core types */
export type _Address = string;
export type _BalanceMetadata = unknown;
export type _BalanceMetadata = BitcoinBalanceMetadata | unknown;
export type BitcoinBalanceMetadata = {
inscriptionCount: number,
runeBalance: string, // sum of BTC in UTXO which contains rune
inscriptionBalance: string // sum of BTC in UTXO which contains rune
}

export interface AddressBalanceResult {
balance: string;
bitcoinBalanceMetadata: BitcoinBalanceMetadata;
}

// Use stringify to communicate, pure boolean value will error with case 'false' value
export interface KoniRequestSignatures {
Expand Down Expand Up @@ -2394,6 +2525,9 @@
// Transfer
'pri(accounts.checkTransfer)': [RequestCheckTransfer, ValidateTransactionResponse];
'pri(accounts.transfer)': [RequestSubmitTransfer, SWTransactionResponse];
'pri(accounts.bitcoin.dapp.transfer.confirmation)': [RequestSubmitTransferWithId, SWTransactionResponse];
'pri(accounts.psbt.transfer.confirmation)': [RequestSubmitSignPsbtTransfer, SWTransactionResponse];
'pri(accounts.getBitcoinTransactionData)': [RequestSubmitTransfer, BitcoinTransactionData];
'pri(accounts.getOptimalTransferProcess)': [RequestOptimalTransferProcess, CommonOptimalTransferPath];
'pri(accounts.approveSpending)': [TokenSpendingApprovalParams, SWTransactionResponse];

Expand All @@ -2407,9 +2541,11 @@
'pri(confirmations.subscribe)': [RequestConfirmationsSubscribe, ConfirmationsQueue, ConfirmationsQueue];
'pri(confirmationsTon.subscribe)': [RequestConfirmationsSubscribeTon, ConfirmationsQueueTon, ConfirmationsQueueTon];
'pri(confirmationsCardano.subscribe)': [RequestConfirmationsSubscribeCardano, ConfirmationsQueueCardano, ConfirmationsQueueCardano];
'pri(confirmationsBitcoin.subscribe)': [RequestConfirmationsSubscribeBitcoin, ConfirmationsQueueBitcoin, ConfirmationsQueueBitcoin];
'pri(confirmations.complete)': [RequestConfirmationComplete, boolean];
'pri(confirmationsTon.complete)': [RequestConfirmationCompleteTon, boolean];
'pri(confirmationsCardano.complete)': [RequestConfirmationCompleteCardano, boolean];
'pri(confirmationsBitcoin.complete)': [RequestConfirmationCompleteBitcoin, boolean];

'pub(utils.getRandom)': [RandomTestRequest, number];
'pub(accounts.listV2)': [RequestAccountList, InjectedAccount[]];
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
// SPDX-License-Identifier: Apache-2.0

import { SWError } from '@subwallet/extension-base/background/errors/SWError';
import { BitcoinProviderErrorType } from '@subwallet/extension-base/background/KoniTypes';
import { detectTranslate } from '@subwallet/extension-base/utils';
import { t } from 'i18next';

const defaultErrorMap: Record<BitcoinProviderErrorType, { message: string, code?: number }> = {
USER_REJECTED_REQUEST: {
message: detectTranslate('User Rejected Request'),
code: 4001
},
UNAUTHORIZED: {
message: detectTranslate('Failed to sign'),
code: 4100
},
UNSUPPORTED_METHOD: {
message: detectTranslate('Unsupported Method'),
code: 4200
},
DISCONNECTED: {
message: detectTranslate('Network is disconnected'),
code: 4900
},
CHAIN_DISCONNECTED: {
message: detectTranslate('Network is disconnected'),
code: 4901
},
INVALID_PARAMS: {
message: detectTranslate('Undefined error. Please contact SubWallet support'),
code: -32602
},
INTERNAL_ERROR: {
message: detectTranslate('Undefined error. Please contact SubWallet support'),
code: -32603
}
};

export class BitcoinProviderError extends SWError {
override errorType: BitcoinProviderErrorType;

constructor (errorType: BitcoinProviderErrorType, errMessage?: string, data?: unknown) {
const { code, message } = defaultErrorMap[errorType];
const finalMessage = errMessage || t(message || '') || errorType;

super(errorType, finalMessage, code, data);
this.errorType = errorType;
}
}
Loading
Loading