@dynamic-labs/bitcoin 2.1.0-alpha.3 → 2.1.0-alpha.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +253 -0
- package/package.json +6 -6
- package/src/bitcoinProviderHelper.cjs +9 -0
- package/src/bitcoinProviderHelper.d.ts +2 -0
- package/src/bitcoinProviderHelper.js +9 -0
- package/src/{BitcoinBtcKitConnector.cjs → connectors/BitcoinBtcKitConnector/BitcoinBtcKitConnector.cjs} +4 -4
- package/src/{BitcoinBtcKitConnector.d.ts → connectors/BitcoinBtcKitConnector/BitcoinBtcKitConnector.d.ts} +2 -2
- package/src/{BitcoinBtcKitConnector.js → connectors/BitcoinBtcKitConnector/BitcoinBtcKitConnector.js} +4 -4
- package/src/connectors/BitcoinBtcKitConnector/index.d.ts +2 -0
- package/src/{BitcoinSatsConnectConnector.cjs → connectors/BitcoinSatsConnectConnector/BitcoinSatsConnectConnector.cjs} +11 -11
- package/src/{BitcoinSatsConnectConnector.d.ts → connectors/BitcoinSatsConnectConnector/BitcoinSatsConnectConnector.d.ts} +3 -2
- package/src/{BitcoinSatsConnectConnector.js → connectors/BitcoinSatsConnectConnector/BitcoinSatsConnectConnector.js} +11 -11
- package/src/connectors/BitcoinSatsConnectConnector/index.d.ts +1 -0
- package/src/{BitcoinWalletConnector.cjs → connectors/BitcoinWalletConnector.cjs} +53 -14
- package/src/{BitcoinWalletConnector.d.ts → connectors/BitcoinWalletConnector.d.ts} +4 -2
- package/src/{BitcoinWalletConnector.js → connectors/BitcoinWalletConnector.js} +53 -14
- package/src/{OkxConnector.cjs → connectors/OkxConnector/OkxConnector.cjs} +4 -4
- package/src/{OkxConnector.d.ts → connectors/OkxConnector/OkxConnector.d.ts} +2 -2
- package/src/{OkxConnector.js → connectors/OkxConnector/OkxConnector.js} +4 -4
- package/src/connectors/OkxConnector/index.d.ts +1 -0
- package/src/connectors/PhantomConnector/PhantomConnector.cjs +100 -0
- package/src/connectors/PhantomConnector/PhantomConnector.d.ts +12 -0
- package/src/connectors/PhantomConnector/PhantomConnector.js +96 -0
- package/src/connectors/PhantomConnector/index.d.ts +1 -0
- package/src/{UnisatConnector.cjs → connectors/UnisatConnector/UnisatConnector.cjs} +3 -3
- package/src/{UnisatConnector.d.ts → connectors/UnisatConnector/UnisatConnector.d.ts} +2 -2
- package/src/{UnisatConnector.js → connectors/UnisatConnector/UnisatConnector.js} +3 -3
- package/src/connectors/UnisatConnector/index.d.ts +1 -0
- package/src/connectors/UnknownInjected/UnknownInjected.cjs +37 -0
- package/src/connectors/UnknownInjected/UnknownInjected.d.ts +11 -0
- package/src/connectors/UnknownInjected/UnknownInjected.js +33 -0
- package/src/connectors/UnknownInjected/index.d.ts +1 -0
- package/src/connectors/index.d.ts +7 -0
- package/src/index.cjs +12 -3
- package/src/index.d.ts +2 -2
- package/src/index.js +12 -3
- package/src/types.d.ts +68 -2
- package/src/utils/fetchBtcKitConnectors/fetchBtcKitConnectors.cjs +2 -4
- package/src/utils/fetchBtcKitConnectors/fetchBtcKitConnectors.js +2 -4
- package/src/utils/fetchSatsConnectConnectors/fetchSatsConnectConnectors.cjs +9 -1
- package/src/utils/fetchSatsConnectConnectors/fetchSatsConnectConnectors.js +9 -1
- package/src/utils/psbt/index.d.ts +1 -0
- package/src/utils/psbt/sighashNumberToString.d.ts +2 -0
- package/src/utils/satoshisToBtc/index.d.ts +1 -0
- package/src/utils/satoshisToBtc/satoshisToBtc.cjs +8 -0
- package/src/utils/satoshisToBtc/satoshisToBtc.d.ts +1 -0
- package/src/utils/satoshisToBtc/satoshisToBtc.js +4 -0
- package/src/utils/supportsSatsConnect.d.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,257 @@
|
|
|
1
1
|
|
|
2
|
+
## [2.1.0-alpha.30](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.29...v2.1.0-alpha.30) (2024-05-31)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* ensure initExpirationTime is called automatically after authenticating ([#5797](https://github.com/dynamic-labs/DynamicAuth/issues/5797)) ([87eb802](https://github.com/dynamic-labs/DynamicAuth/commit/87eb802e0c2d3af2ca116e07099bfef426d30a1f))
|
|
8
|
+
* initExpirationTime should use expiresAt from storage ([#5799](https://github.com/dynamic-labs/DynamicAuth/issues/5799)) ([384ed17](https://github.com/dynamic-labs/DynamicAuth/commit/384ed1747d9b813ac0d34aaee36eb6480cb256d3))
|
|
9
|
+
* only run useValidateSession once on rerender ([#5795](https://github.com/dynamic-labs/DynamicAuth/issues/5795)) ([ba4446d](https://github.com/dynamic-labs/DynamicAuth/commit/ba4446df95726248b877a84def959cabe81ad9b6))
|
|
10
|
+
* store expiresAt timestamp from VerifyResponse in local storage for use in initExpirationTime ([#5796](https://github.com/dynamic-labs/DynamicAuth/issues/5796)) ([5f8aaeb](https://github.com/dynamic-labs/DynamicAuth/commit/5f8aaeb1cd45b10cb007f9eac25d18f50f142d8f))
|
|
11
|
+
|
|
12
|
+
## [2.1.0-alpha.29](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.28...v2.1.0-alpha.29) (2024-05-30)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* add account and chain to coinbase walletClient ([#5776](https://github.com/dynamic-labs/DynamicAuth/issues/5776)) ([557091c](https://github.com/dynamic-labs/DynamicAuth/commit/557091c0efaec11273bd40b53c8bcd633c1bf48d))
|
|
18
|
+
* add support for phantom btc ([#5717](https://github.com/dynamic-labs/DynamicAuth/issues/5717)) ([c61ca4f](https://github.com/dynamic-labs/DynamicAuth/commit/c61ca4f437796be2b420902de7e7de730725d122))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Bug Fixes
|
|
22
|
+
|
|
23
|
+
* add phantom btc mobile redirect ([#5789](https://github.com/dynamic-labs/DynamicAuth/issues/5789)) ([aaa2654](https://github.com/dynamic-labs/DynamicAuth/commit/aaa26548668b0733e7930c1d7f5cc3937b3dfb50))
|
|
24
|
+
* clear settings and configurations when logged out on page load ([#5787](https://github.com/dynamic-labs/DynamicAuth/issues/5787)) ([53c4d0b](https://github.com/dynamic-labs/DynamicAuth/commit/53c4d0b4686debdb43b1ab1b8b9e296ed4dd74b6))
|
|
25
|
+
* lookup projectSettings from store to check if cookie enabled ([#5790](https://github.com/dynamic-labs/DynamicAuth/issues/5790)) ([6f2314b](https://github.com/dynamic-labs/DynamicAuth/commit/6f2314b0afef984e6caea79ead73d12c5c6d83f0))
|
|
26
|
+
|
|
27
|
+
## [2.1.0-alpha.28](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.27...v2.1.0-alpha.28) (2024-05-29)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
### Features
|
|
31
|
+
|
|
32
|
+
* adds solana standard wallet connector ([#5752](https://github.com/dynamic-labs/DynamicAuth/issues/5752)) ([0040940](https://github.com/dynamic-labs/DynamicAuth/commit/0040940fd1adb37ab3106bb0e4dfe79403bc41f2))
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### Bug Fixes
|
|
36
|
+
|
|
37
|
+
* farcaster fetch url fix ([#5767](https://github.com/dynamic-labs/DynamicAuth/issues/5767)) ([1408ba9](https://github.com/dynamic-labs/DynamicAuth/commit/1408ba92680363b9db7820a63d5e3d15dc26ad22))
|
|
38
|
+
|
|
39
|
+
## [2.1.0-alpha.27](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.26...v2.1.0-alpha.27) (2024-05-29)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
### Bug Fixes
|
|
43
|
+
|
|
44
|
+
* coinbase connection ([#5764](https://github.com/dynamic-labs/DynamicAuth/issues/5764)) ([aeacd1c](https://github.com/dynamic-labs/DynamicAuth/commit/aeacd1c55dc471fbf8c14eb05ab356b0a90aa239))
|
|
45
|
+
|
|
46
|
+
## [2.1.0-alpha.26](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.25...v2.1.0-alpha.26) (2024-05-29)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
### Features
|
|
50
|
+
|
|
51
|
+
* add farcaster login to react native ([#5713](https://github.com/dynamic-labs/DynamicAuth/issues/5713)) ([08f4473](https://github.com/dynamic-labs/DynamicAuth/commit/08f4473eec9b32b82b6f703fa4d5136514a61b25))
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
### Bug Fixes
|
|
55
|
+
|
|
56
|
+
* better error handling of invalid mfa otp ([#5759](https://github.com/dynamic-labs/DynamicAuth/issues/5759)) ([72ab01f](https://github.com/dynamic-labs/DynamicAuth/commit/72ab01f8f919f147eeedfabf8b4838802abf308a))
|
|
57
|
+
* show correct status for magic eden btc wallets after ([#5748](https://github.com/dynamic-labs/DynamicAuth/issues/5748)) ([b8f20bb](https://github.com/dynamic-labs/DynamicAuth/commit/b8f20bb796b9a2e88817ef3b0da6ac32e9012b18))
|
|
58
|
+
|
|
59
|
+
## [2.1.0-alpha.25](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.24...v2.1.0-alpha.25) (2024-05-27)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
### Bug Fixes
|
|
63
|
+
|
|
64
|
+
* btc balance calculation ([#5737](https://github.com/dynamic-labs/DynamicAuth/issues/5737)) ([9b5ceb3](https://github.com/dynamic-labs/DynamicAuth/commit/9b5ceb32d543037f60d7104f0b81b3abc86ebd10))
|
|
65
|
+
|
|
66
|
+
## [2.1.0-alpha.24](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.23...v2.1.0-alpha.24) (2024-05-26)
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
### Features
|
|
70
|
+
|
|
71
|
+
* add onMfaCompleteOnce to useMfa ([#5702](https://github.com/dynamic-labs/DynamicAuth/issues/5702)) ([6451e33](https://github.com/dynamic-labs/DynamicAuth/commit/6451e3369ef1b4ba116378f0dd3fe4e82007e670))
|
|
72
|
+
* prompt custom fields during onboarding ([#5302](https://github.com/dynamic-labs/DynamicAuth/issues/5302)) ([8664223](https://github.com/dynamic-labs/DynamicAuth/commit/86642232cf2b490a820169f48ba8dc093010e1a0))
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
### Bug Fixes
|
|
76
|
+
|
|
77
|
+
* correct text on pending signature screen to match the embedded widget modal text ([#5707](https://github.com/dynamic-labs/DynamicAuth/issues/5707)) ([44a6a06](https://github.com/dynamic-labs/DynamicAuth/commit/44a6a0664e08d4b9fc25dd86c0e30f8d585558e0))
|
|
78
|
+
* pass captcha token for farcaster login ([#5706](https://github.com/dynamic-labs/DynamicAuth/issues/5706)) ([32bcb6e](https://github.com/dynamic-labs/DynamicAuth/commit/32bcb6e0e06c6e273c07f32893dfd550deeb6a19))
|
|
79
|
+
* use coinbase provider to get connected accounts for consistency ([#5711](https://github.com/dynamic-labs/DynamicAuth/issues/5711)) ([b9e9170](https://github.com/dynamic-labs/DynamicAuth/commit/b9e9170dad1ac27a85a44a7177b82055ce0035cb))
|
|
80
|
+
|
|
81
|
+
## [2.1.0-alpha.23](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.22...v2.1.0-alpha.23) (2024-05-23)
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
### Features
|
|
85
|
+
|
|
86
|
+
* add authFailure and authInit events ([#5659](https://github.com/dynamic-labs/DynamicAuth/issues/5659)) ([f4f592a](https://github.com/dynamic-labs/DynamicAuth/commit/f4f592aaacd96fae9333b803c235c5f1fea0e20e))
|
|
87
|
+
* prompt mfa on signup and signin ([#5599](https://github.com/dynamic-labs/DynamicAuth/issues/5599)) ([8d4ecf4](https://github.com/dynamic-labs/DynamicAuth/commit/8d4ecf4c69c59c1fb14e79511fb2f9b33a7e3d89))
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
### Bug Fixes
|
|
91
|
+
|
|
92
|
+
* close auth modal if create embedded wallet throws ([#5683](https://github.com/dynamic-labs/DynamicAuth/issues/5683)) ([5331d73](https://github.com/dynamic-labs/DynamicAuth/commit/5331d731a171bb52a598eb5b25f7ba80cef7a64c))
|
|
93
|
+
* prevent state update when the webview is unmounted ([#5688](https://github.com/dynamic-labs/DynamicAuth/issues/5688)) ([8e4ecbd](https://github.com/dynamic-labs/DynamicAuth/commit/8e4ecbdcdb5f48c57ecaad90d663c66529013192))
|
|
94
|
+
* show phone number in use error message ([#5681](https://github.com/dynamic-labs/DynamicAuth/issues/5681)) ([e62f7b7](https://github.com/dynamic-labs/DynamicAuth/commit/e62f7b7b6a5e217944346faf2410028433cecad4))
|
|
95
|
+
|
|
96
|
+
## [2.1.0-alpha.22](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.21...v2.1.0-alpha.22) (2024-05-21)
|
|
97
|
+
|
|
98
|
+
## [2.1.0-alpha.21](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.20...v2.1.0-alpha.21) (2024-05-21)
|
|
99
|
+
|
|
100
|
+
## [2.1.0-alpha.20](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.19...v2.1.0-alpha.20) (2024-05-21)
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
### Features
|
|
104
|
+
|
|
105
|
+
* adds client.networks module ([#5650](https://github.com/dynamic-labs/DynamicAuth/issues/5650)) ([70f7fe5](https://github.com/dynamic-labs/DynamicAuth/commit/70f7fe5f437756c51e787ac12183be0a23c51b89))
|
|
106
|
+
* user fields supports custom fields ([#5639](https://github.com/dynamic-labs/DynamicAuth/issues/5639)) ([8eb5788](https://github.com/dynamic-labs/DynamicAuth/commit/8eb5788fc3e1286929f5949ecb57736b21b13fb5))
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
### Bug Fixes
|
|
110
|
+
|
|
111
|
+
* add webcredentials to expo ([#5640](https://github.com/dynamic-labs/DynamicAuth/issues/5640)) ([9026fbf](https://github.com/dynamic-labs/DynamicAuth/commit/9026fbf0108537e884588f3adcdb9f0db04a159b))
|
|
112
|
+
* init ethers web3provider without a network if selected network is unsupported ([#5651](https://github.com/dynamic-labs/DynamicAuth/issues/5651)) ([e82040f](https://github.com/dynamic-labs/DynamicAuth/commit/e82040f424b17a70fac4400ab5b85a0dc6c0e35a))
|
|
113
|
+
|
|
114
|
+
## [2.1.0-alpha.19](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.18...v2.1.0-alpha.19) (2024-05-17)
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
### Features
|
|
118
|
+
|
|
119
|
+
* add createUserProfileFromSDKUser ([#5596](https://github.com/dynamic-labs/DynamicAuth/issues/5596)) ([d37a1b4](https://github.com/dynamic-labs/DynamicAuth/commit/d37a1b4119f5ff4fff1e987d157f6d5abf105a8b))
|
|
120
|
+
* add headless social sign-in ([#5439](https://github.com/dynamic-labs/DynamicAuth/issues/5439)) ([e32fdf8](https://github.com/dynamic-labs/DynamicAuth/commit/e32fdf863718d661b90b592c8df734e92386ddf3))
|
|
121
|
+
* fetch custom fields in profile and update user ([#5627](https://github.com/dynamic-labs/DynamicAuth/issues/5627)) ([3940c25](https://github.com/dynamic-labs/DynamicAuth/commit/3940c2542bb330f3ed9a8eb98eed9d05c8fcb03a))
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
### Bug Fixes
|
|
125
|
+
|
|
126
|
+
* include applinks details to AASA ([#5635](https://github.com/dynamic-labs/DynamicAuth/issues/5635)) ([ce94fec](https://github.com/dynamic-labs/DynamicAuth/commit/ce94fec80adbb3eb4efcb79d1aa2cc6eb35eab6f))
|
|
127
|
+
* include the appOrigin to every api call to create correct passkey ([#5636](https://github.com/dynamic-labs/DynamicAuth/issues/5636)) ([ee64df3](https://github.com/dynamic-labs/DynamicAuth/commit/ee64df3b90037bd29cca161e601973ef202c58f0))
|
|
128
|
+
* use PromptModal when using the DynamicMultiWalletPromptsWidget for pending connection views ([#5594](https://github.com/dynamic-labs/DynamicAuth/issues/5594)) ([c095b6e](https://github.com/dynamic-labs/DynamicAuth/commit/c095b6e4c974f02cfe632963be92d16bb201dfa5))
|
|
129
|
+
|
|
130
|
+
## [2.1.0-alpha.18](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.17...v2.1.0-alpha.18) (2024-05-15)
|
|
131
|
+
|
|
132
|
+
## [2.1.0-alpha.17](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.16...v2.1.0-alpha.17) (2024-05-15)
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
### Features
|
|
136
|
+
|
|
137
|
+
* add coinbaseWalletPreference prop ([#5607](https://github.com/dynamic-labs/DynamicAuth/issues/5607)) ([1ac3b2c](https://github.com/dynamic-labs/DynamicAuth/commit/1ac3b2ce7abb136465f4aa88b045dfb70d99aad7))
|
|
138
|
+
|
|
139
|
+
## [2.1.0-alpha.16](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.15...v2.1.0-alpha.16) (2024-05-14)
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
### Features
|
|
143
|
+
|
|
144
|
+
* add client.sdk.error with errors from the webview ([#5520](https://github.com/dynamic-labs/DynamicAuth/issues/5520)) ([a886927](https://github.com/dynamic-labs/DynamicAuth/commit/a8869273bf361c870d6e3cb82a28d9ccec65905b))
|
|
145
|
+
* add setDefaultTabIndex to default the selected wallets tab ([#5593](https://github.com/dynamic-labs/DynamicAuth/issues/5593)) ([6e8ce05](https://github.com/dynamic-labs/DynamicAuth/commit/6e8ce053c4f6f009acc57dac55a8e9c74fbcc73b))
|
|
146
|
+
* add visibility/auth-flow/user-profile to react-native ([#5564](https://github.com/dynamic-labs/DynamicAuth/issues/5564)) ([d93cea8](https://github.com/dynamic-labs/DynamicAuth/commit/d93cea82a123c6ec4d3d594a7dc064f4db2981c2))
|
|
147
|
+
|
|
148
|
+
## [2.1.0-alpha.15](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.14...v2.1.0-alpha.15) (2024-05-13)
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
### Bug Fixes
|
|
152
|
+
|
|
153
|
+
* when a pregen is created, primaryWallet is not being setup ([#5584](https://github.com/dynamic-labs/DynamicAuth/issues/5584)) ([de08721](https://github.com/dynamic-labs/DynamicAuth/commit/de0872151e09f91dcbfaf1d043cf830f9df8d799))
|
|
154
|
+
|
|
155
|
+
## [2.1.0-alpha.14](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.13...v2.1.0-alpha.14) (2024-05-09)
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
### Features
|
|
159
|
+
|
|
160
|
+
* add useSwitchWallet ([#5575](https://github.com/dynamic-labs/DynamicAuth/issues/5575)) ([d3053d9](https://github.com/dynamic-labs/DynamicAuth/commit/d3053d920110c26ef8052e77bf59e07dedc7c683))
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
### Bug Fixes
|
|
164
|
+
|
|
165
|
+
* linking phantom wallets in mobile ([#5524](https://github.com/dynamic-labs/DynamicAuth/issues/5524)) ([28d90f5](https://github.com/dynamic-labs/DynamicAuth/commit/28d90f5126b9c22535b63a3797cc060ef089fc63))
|
|
166
|
+
* only show farcaster QR code if Social Login is enabled ([#5559](https://github.com/dynamic-labs/DynamicAuth/issues/5559)) ([fa71aaf](https://github.com/dynamic-labs/DynamicAuth/commit/fa71aaf0f80da31d397600b2fd0cbea99b3689a4))
|
|
167
|
+
* remove goerli testnets and add sepolia ([#5565](https://github.com/dynamic-labs/DynamicAuth/issues/5565)) ([888eb03](https://github.com/dynamic-labs/DynamicAuth/commit/888eb031ef6f4dbbdc3015265cce8647d2c720b0))
|
|
168
|
+
|
|
169
|
+
## [2.1.0-alpha.13](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.12...v2.1.0-alpha.13) (2024-05-03)
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
### Bug Fixes
|
|
173
|
+
|
|
174
|
+
* ensure Farcaster QR uses useSocialAuth hook ([#5550](https://github.com/dynamic-labs/DynamicAuth/issues/5550)) ([57fcd97](https://github.com/dynamic-labs/DynamicAuth/commit/57fcd97c44e3f52065dcf856acf7bca7b24fabc7))
|
|
175
|
+
|
|
176
|
+
## [2.1.0-alpha.12](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.11...v2.1.0-alpha.12) (2024-05-02)
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
### Features
|
|
180
|
+
|
|
181
|
+
* display Farcaster QR code when it is the only login option ([#5514](https://github.com/dynamic-labs/DynamicAuth/issues/5514)) ([7b166d9](https://github.com/dynamic-labs/DynamicAuth/commit/7b166d9a30c581746f0e2edb71c44fc015dc128e))
|
|
182
|
+
|
|
183
|
+
## [2.1.0-alpha.11](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.10...v2.1.0-alpha.11) (2024-05-02)
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
### Features
|
|
187
|
+
|
|
188
|
+
* **GVTY-1050:** add account token balances hook ([#5521](https://github.com/dynamic-labs/DynamicAuth/issues/5521)) ([5a6f937](https://github.com/dynamic-labs/DynamicAuth/commit/5a6f93733019f3b8d5c7a2c7a5537172a1e7eba4))
|
|
189
|
+
* headless reveal embedded wallet key ([#5518](https://github.com/dynamic-labs/DynamicAuth/issues/5518)) ([77c1536](https://github.com/dynamic-labs/DynamicAuth/commit/77c15360b2b28c52cbdeafb3ce8ca7e80dbecf57))
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
### Bug Fixes
|
|
193
|
+
|
|
194
|
+
* fallback to walletconnect for zerion on mobile ([#5536](https://github.com/dynamic-labs/DynamicAuth/issues/5536)) ([f0e5bfe](https://github.com/dynamic-labs/DynamicAuth/commit/f0e5bfea0b2ab271fd4c1475c8ce708ecb1a5926))
|
|
195
|
+
|
|
196
|
+
## [2.1.0-alpha.10](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.9...v2.1.0-alpha.10) (2024-04-30)
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
### Features
|
|
200
|
+
|
|
201
|
+
* bump @coinbase/wallet-sdk to latest beta ([#5388](https://github.com/dynamic-labs/DynamicAuth/issues/5388)) ([9225546](https://github.com/dynamic-labs/DynamicAuth/commit/922554630ccf2ef98bc297521309918f922bc671))
|
|
202
|
+
|
|
203
|
+
## [2.1.0-alpha.9](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.8...v2.1.0-alpha.9) (2024-04-30)
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
### Features
|
|
207
|
+
|
|
208
|
+
* headless create embedded wallet with optional passkey data parameter ([#5487](https://github.com/dynamic-labs/DynamicAuth/issues/5487)) ([891c3d7](https://github.com/dynamic-labs/DynamicAuth/commit/891c3d77a02a019140bcb8dd03b62b1afd69710e))
|
|
209
|
+
|
|
210
|
+
## [2.1.0-alpha.8](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.7...v2.1.0-alpha.8) (2024-04-26)
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
### Bug Fixes
|
|
214
|
+
|
|
215
|
+
* display wallet tabs when linking a wallet ([#5491](https://github.com/dynamic-labs/DynamicAuth/issues/5491)) ([10fd6b4](https://github.com/dynamic-labs/DynamicAuth/commit/10fd6b4d9aec7596338c50e17f79f6be534cf2c1))
|
|
216
|
+
* ensure zerodev viem client handles eth_accounts call ([#5477](https://github.com/dynamic-labs/DynamicAuth/issues/5477)) ([1132e1e](https://github.com/dynamic-labs/DynamicAuth/commit/1132e1e8655b58e81cb56789453ba56a059f52ec))
|
|
217
|
+
* network with keplr ([#5485](https://github.com/dynamic-labs/DynamicAuth/issues/5485)) ([b86f2fc](https://github.com/dynamic-labs/DynamicAuth/commit/b86f2fce491f9752e80a86643916da9ac7fb9276))
|
|
218
|
+
* refetch nameservice data and display properly ([#5476](https://github.com/dynamic-labs/DynamicAuth/issues/5476)) ([2aee798](https://github.com/dynamic-labs/DynamicAuth/commit/2aee798846f69496201bec7aa52e7ec1f370b7c3))
|
|
219
|
+
* use embeddedWallet create response authToken in embeddedWalletCreated ([#5478](https://github.com/dynamic-labs/DynamicAuth/issues/5478)) ([51772da](https://github.com/dynamic-labs/DynamicAuth/commit/51772daf557a72984c757efd8301e2b510dc37f1))
|
|
220
|
+
|
|
221
|
+
## [2.1.0-alpha.7](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.6...v2.1.0-alpha.7) (2024-04-25)
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
### Bug Fixes
|
|
225
|
+
|
|
226
|
+
* restore embedded wallet session iframe element conflict ([#5474](https://github.com/dynamic-labs/DynamicAuth/issues/5474)) ([c157477](https://github.com/dynamic-labs/DynamicAuth/commit/c157477ea126b3130b13b711796bdd06215e7af1))
|
|
227
|
+
|
|
228
|
+
## [2.1.0-alpha.6](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.5...v2.1.0-alpha.6) (2024-04-24)
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
### Bug Fixes
|
|
232
|
+
|
|
233
|
+
* embedded wallets headless session control fixes ([#5469](https://github.com/dynamic-labs/DynamicAuth/issues/5469)) ([92e6c35](https://github.com/dynamic-labs/DynamicAuth/commit/92e6c359d2710fd4f5f5a6fedc4acf6c4bab78ba))
|
|
234
|
+
|
|
235
|
+
## [2.1.0-alpha.5](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.4...v2.1.0-alpha.5) (2024-04-23)
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
### Bug Fixes
|
|
239
|
+
|
|
240
|
+
* get embedded wallet checking the wrong chain enum ([#5458](https://github.com/dynamic-labs/DynamicAuth/issues/5458)) ([ed1c523](https://github.com/dynamic-labs/DynamicAuth/commit/ed1c523ca14cd4d21c00181ab40802f876c02b80))
|
|
241
|
+
|
|
242
|
+
## [2.1.0-alpha.4](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.3...v2.1.0-alpha.4) (2024-04-23)
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
### Features
|
|
246
|
+
|
|
247
|
+
* add email and sms to client auth module ([#5436](https://github.com/dynamic-labs/DynamicAuth/issues/5436)) ([5420476](https://github.com/dynamic-labs/DynamicAuth/commit/5420476d1ba38fd4f987f28e9aefbfb3e61ea2bf))
|
|
248
|
+
* headless create passkeys for embedded wallets ([#5395](https://github.com/dynamic-labs/DynamicAuth/issues/5395)) ([0b64099](https://github.com/dynamic-labs/DynamicAuth/commit/0b6409968457f65886248f0a0879e39ec3803fd0))
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
### Bug Fixes
|
|
252
|
+
|
|
253
|
+
* prevent wagmi from reconnect when DynamicContextProvider rerender ([#5446](https://github.com/dynamic-labs/DynamicAuth/issues/5446)) ([33337af](https://github.com/dynamic-labs/DynamicAuth/commit/33337af76786963cb3db7fa7c58c1292c529d0ac))
|
|
254
|
+
|
|
2
255
|
## [2.1.0-alpha.3](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.2...v2.1.0-alpha.3) (2024-04-23)
|
|
3
256
|
|
|
4
257
|
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/bitcoin",
|
|
3
|
-
"version": "2.1.0-alpha.
|
|
3
|
+
"version": "2.1.0-alpha.30",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
|
-
"url": "https://github.com/dynamic-labs/
|
|
6
|
+
"url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
|
|
7
7
|
"directory": "packages/bitcoin"
|
|
8
8
|
},
|
|
9
9
|
"description": "A React SDK for implementing wallet web3 authentication and authorization to your website.",
|
|
@@ -27,14 +27,14 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@btckit/types": "0.0.19",
|
|
30
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
30
|
+
"@dynamic-labs/sdk-api-core": "0.0.453",
|
|
31
31
|
"@wallet-standard/app": "1.0.1",
|
|
32
32
|
"@wallet-standard/base": "1.0.1",
|
|
33
33
|
"bitcoinjs-lib": "6.1.5",
|
|
34
34
|
"sats-connect": "2.0.0",
|
|
35
|
-
"@dynamic-labs/utils": "2.1.0-alpha.
|
|
36
|
-
"@dynamic-labs/wallet-book": "2.1.0-alpha.
|
|
37
|
-
"@dynamic-labs/wallet-connector-core": "2.1.0-alpha.
|
|
35
|
+
"@dynamic-labs/utils": "2.1.0-alpha.30",
|
|
36
|
+
"@dynamic-labs/wallet-book": "2.1.0-alpha.30",
|
|
37
|
+
"@dynamic-labs/wallet-connector-core": "2.1.0-alpha.30",
|
|
38
38
|
"stream": "0.0.2"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {}
|
|
@@ -51,6 +51,15 @@ class BitcoinProviderHelper {
|
|
|
51
51
|
findWallet() {
|
|
52
52
|
return this.bitcoinWalletStandardLookup();
|
|
53
53
|
}
|
|
54
|
+
getWalletMethods(wallet) {
|
|
55
|
+
var _a, _b, _c, _d;
|
|
56
|
+
return {
|
|
57
|
+
connect: (_a = wallet.features['bitcoin:connect']) === null || _a === void 0 ? void 0 : _a.connect,
|
|
58
|
+
signAndSendTransaction: (_b = wallet.features['bitcoin:signAndSendTransaction']) === null || _b === void 0 ? void 0 : _b.signAndSendTransaction,
|
|
59
|
+
signMessage: (_c = wallet.features['bitcoin:signMessage']) === null || _c === void 0 ? void 0 : _c.signMessage,
|
|
60
|
+
signTransaction: (_d = wallet.features['bitcoin:signTransaction']) === null || _d === void 0 ? void 0 : _d.signTransaction,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
54
63
|
}
|
|
55
64
|
|
|
56
65
|
exports.BitcoinProviderHelper = BitcoinProviderHelper;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Wallet } from '@wallet-standard/base';
|
|
2
2
|
import { WalletSchema } from '@dynamic-labs/wallet-book';
|
|
3
|
+
import { BitcoinWalletStandardMethods } from './types';
|
|
3
4
|
export declare class BitcoinProviderHelper {
|
|
4
5
|
private walletData;
|
|
5
6
|
constructor(walletData: WalletSchema);
|
|
@@ -20,4 +21,5 @@ export declare class BitcoinProviderHelper {
|
|
|
20
21
|
hasAllRequiredFeatures(wallet: Wallet): boolean;
|
|
21
22
|
bitcoinWalletStandardLookup(): Wallet | undefined;
|
|
22
23
|
findWallet(): Wallet | undefined;
|
|
24
|
+
getWalletMethods(wallet: Wallet): BitcoinWalletStandardMethods;
|
|
23
25
|
}
|
|
@@ -47,6 +47,15 @@ class BitcoinProviderHelper {
|
|
|
47
47
|
findWallet() {
|
|
48
48
|
return this.bitcoinWalletStandardLookup();
|
|
49
49
|
}
|
|
50
|
+
getWalletMethods(wallet) {
|
|
51
|
+
var _a, _b, _c, _d;
|
|
52
|
+
return {
|
|
53
|
+
connect: (_a = wallet.features['bitcoin:connect']) === null || _a === void 0 ? void 0 : _a.connect,
|
|
54
|
+
signAndSendTransaction: (_b = wallet.features['bitcoin:signAndSendTransaction']) === null || _b === void 0 ? void 0 : _b.signAndSendTransaction,
|
|
55
|
+
signMessage: (_c = wallet.features['bitcoin:signMessage']) === null || _c === void 0 ? void 0 : _c.signMessage,
|
|
56
|
+
signTransaction: (_d = wallet.features['bitcoin:signTransaction']) === null || _d === void 0 ? void 0 : _d.signTransaction,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
50
59
|
}
|
|
51
60
|
|
|
52
61
|
export { BitcoinProviderHelper };
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
|
-
var _tslib = require('
|
|
6
|
+
var _tslib = require('../../../_virtual/_tslib.cjs');
|
|
7
7
|
var satsConnect = require('sats-connect');
|
|
8
8
|
var bitcoinjsLib = require('bitcoinjs-lib');
|
|
9
9
|
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
10
|
-
var BitcoinWalletConnector = require('
|
|
11
|
-
var validatePsbt = require('
|
|
12
|
-
var bitcoinNetworkTypeToNetworks = require('
|
|
10
|
+
var BitcoinWalletConnector = require('../BitcoinWalletConnector.cjs');
|
|
11
|
+
var validatePsbt = require('../../utils/psbt/validator/validatePsbt.cjs');
|
|
12
|
+
var bitcoinNetworkTypeToNetworks = require('../../utils/psbt/bitcoinNetworkTypeToNetworks.cjs');
|
|
13
13
|
|
|
14
14
|
class BitcoinBtcKitConnector extends BitcoinWalletConnector.BitcoinWalletConnector {
|
|
15
15
|
constructor(opts, btcKit) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { BtcKitListenFn, BtcKitRequestFn } from '@btckit/types';
|
|
2
2
|
import { BitcoinNetworkType } from 'sats-connect';
|
|
3
|
-
import { BitcoinWalletConnector, BitcoinWalletConnectorOpts } from '
|
|
4
|
-
import { BitcoinTransaction, BitcoinSignPsbtRequest, BitcoinSignPsbtResponse } from '
|
|
3
|
+
import { BitcoinWalletConnector, BitcoinWalletConnectorOpts } from '../BitcoinWalletConnector';
|
|
4
|
+
import { BitcoinTransaction, BitcoinSignPsbtRequest, BitcoinSignPsbtResponse } from '../../types';
|
|
5
5
|
export type BtcKitProvider = {
|
|
6
6
|
request: BtcKitRequestFn;
|
|
7
7
|
listen: BtcKitListenFn;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
import { __awaiter } from '
|
|
2
|
+
import { __awaiter } from '../../../_virtual/_tslib.js';
|
|
3
3
|
import { BitcoinNetworkType } from 'sats-connect';
|
|
4
4
|
import { Psbt } from 'bitcoinjs-lib';
|
|
5
5
|
import { logger } from '@dynamic-labs/wallet-connector-core';
|
|
6
|
-
import { BitcoinWalletConnector } from '
|
|
7
|
-
import { validatePsbt } from '
|
|
8
|
-
import { convertNetworkTypeForPsbt } from '
|
|
6
|
+
import { BitcoinWalletConnector } from '../BitcoinWalletConnector.js';
|
|
7
|
+
import { validatePsbt } from '../../utils/psbt/validator/validatePsbt.js';
|
|
8
|
+
import { convertNetworkTypeForPsbt } from '../../utils/psbt/bitcoinNetworkTypeToNetworks.js';
|
|
9
9
|
|
|
10
10
|
class BitcoinBtcKitConnector extends BitcoinWalletConnector {
|
|
11
11
|
constructor(opts, btcKit) {
|
|
@@ -3,22 +3,26 @@
|
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
|
-
var _tslib = require('
|
|
6
|
+
var _tslib = require('../../../_virtual/_tslib.cjs');
|
|
7
7
|
var satsConnect = require('sats-connect');
|
|
8
8
|
var bitcoinjsLib = require('bitcoinjs-lib');
|
|
9
|
-
var BitcoinWalletConnector = require('
|
|
10
|
-
var _const = require('
|
|
9
|
+
var BitcoinWalletConnector = require('../BitcoinWalletConnector.cjs');
|
|
10
|
+
var _const = require('../../const.cjs');
|
|
11
11
|
require('@dynamic-labs/utils');
|
|
12
12
|
require('@dynamic-labs/wallet-connector-core');
|
|
13
|
-
var validatePsbt = require('
|
|
14
|
-
var getSigHashType = require('
|
|
15
|
-
var bitcoinNetworkTypeToNetworks = require('
|
|
16
|
-
var supportsSatsConnect = require('
|
|
13
|
+
var validatePsbt = require('../../utils/psbt/validator/validatePsbt.cjs');
|
|
14
|
+
var getSigHashType = require('../../utils/psbt/getSigHashType.cjs');
|
|
15
|
+
var bitcoinNetworkTypeToNetworks = require('../../utils/psbt/bitcoinNetworkTypeToNetworks.cjs');
|
|
16
|
+
var supportsSatsConnect = require('../../utils/supportsSatsConnect.cjs');
|
|
17
17
|
|
|
18
18
|
class BitcoinSatsConnectConnector extends BitcoinWalletConnector.BitcoinWalletConnector {
|
|
19
19
|
constructor(opts) {
|
|
20
20
|
super(opts);
|
|
21
21
|
this.currentNetwork = satsConnect.BitcoinNetworkType.Mainnet;
|
|
22
|
+
this.canFetchConnectedAccounts = true;
|
|
23
|
+
// xverse does't support fetching connected accounts without prompting
|
|
24
|
+
// for a connection, so we handle getConnectedAccounts differently
|
|
25
|
+
this.canFetchConnectedAccounts = this.key !== 'xverse';
|
|
22
26
|
}
|
|
23
27
|
getAddress() {
|
|
24
28
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -30,10 +34,6 @@ class BitcoinSatsConnectConnector extends BitcoinWalletConnector.BitcoinWalletCo
|
|
|
30
34
|
if (!supportsSatsConnect.supportsSatsConnect(this)) {
|
|
31
35
|
return;
|
|
32
36
|
}
|
|
33
|
-
const [connectedAccount] = yield this.getConnectedAccounts();
|
|
34
|
-
if (connectedAccount) {
|
|
35
|
-
return connectedAccount;
|
|
36
|
-
}
|
|
37
37
|
return new Promise((resolve, reject) => {
|
|
38
38
|
satsConnect.getAddress({
|
|
39
39
|
getProvider: () => _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { BitcoinNetworkType, SignTransactionResponse } from 'sats-connect';
|
|
2
|
-
import { BitcoinWalletConnector, BitcoinWalletConnectorOpts } from '
|
|
3
|
-
import { BitcoinTransaction, SatsConnectSignTransactionInput, BitcoinSignPsbtRequest, BitcoinSignPsbtResponse } from '
|
|
2
|
+
import { BitcoinWalletConnector, BitcoinWalletConnectorOpts } from '../BitcoinWalletConnector';
|
|
3
|
+
import { BitcoinTransaction, SatsConnectSignTransactionInput, BitcoinSignPsbtRequest, BitcoinSignPsbtResponse } from '../../types';
|
|
4
4
|
export declare abstract class BitcoinSatsConnectConnector extends BitcoinWalletConnector {
|
|
5
5
|
currentNetwork: BitcoinNetworkType;
|
|
6
|
+
canFetchConnectedAccounts: boolean;
|
|
6
7
|
constructor(opts: BitcoinWalletConnectorOpts);
|
|
7
8
|
getAddress(): Promise<string | undefined>;
|
|
8
9
|
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
import { __awaiter } from '
|
|
2
|
+
import { __awaiter } from '../../../_virtual/_tslib.js';
|
|
3
3
|
import { BitcoinNetworkType, getAddress, AddressPurpose, signMessage, sendBtcTransaction, signTransaction } from 'sats-connect';
|
|
4
4
|
import { Psbt } from 'bitcoinjs-lib';
|
|
5
|
-
import { BitcoinWalletConnector } from '
|
|
6
|
-
import { SATSCONNECT_FEATURE } from '
|
|
5
|
+
import { BitcoinWalletConnector } from '../BitcoinWalletConnector.js';
|
|
6
|
+
import { SATSCONNECT_FEATURE } from '../../const.js';
|
|
7
7
|
import '@dynamic-labs/utils';
|
|
8
8
|
import '@dynamic-labs/wallet-connector-core';
|
|
9
|
-
import { validatePsbt } from '
|
|
10
|
-
import { getSigHashType } from '
|
|
11
|
-
import { convertNetworkTypeForPsbt } from '
|
|
12
|
-
import { supportsSatsConnect } from '
|
|
9
|
+
import { validatePsbt } from '../../utils/psbt/validator/validatePsbt.js';
|
|
10
|
+
import { getSigHashType } from '../../utils/psbt/getSigHashType.js';
|
|
11
|
+
import { convertNetworkTypeForPsbt } from '../../utils/psbt/bitcoinNetworkTypeToNetworks.js';
|
|
12
|
+
import { supportsSatsConnect } from '../../utils/supportsSatsConnect.js';
|
|
13
13
|
|
|
14
14
|
class BitcoinSatsConnectConnector extends BitcoinWalletConnector {
|
|
15
15
|
constructor(opts) {
|
|
16
16
|
super(opts);
|
|
17
17
|
this.currentNetwork = BitcoinNetworkType.Mainnet;
|
|
18
|
+
this.canFetchConnectedAccounts = true;
|
|
19
|
+
// xverse does't support fetching connected accounts without prompting
|
|
20
|
+
// for a connection, so we handle getConnectedAccounts differently
|
|
21
|
+
this.canFetchConnectedAccounts = this.key !== 'xverse';
|
|
18
22
|
}
|
|
19
23
|
getAddress() {
|
|
20
24
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -26,10 +30,6 @@ class BitcoinSatsConnectConnector extends BitcoinWalletConnector {
|
|
|
26
30
|
if (!supportsSatsConnect(this)) {
|
|
27
31
|
return;
|
|
28
32
|
}
|
|
29
|
-
const [connectedAccount] = yield this.getConnectedAccounts();
|
|
30
|
-
if (connectedAccount) {
|
|
31
|
-
return connectedAccount;
|
|
32
|
-
}
|
|
33
33
|
return new Promise((resolve, reject) => {
|
|
34
34
|
getAddress({
|
|
35
35
|
getProvider: () => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { BitcoinSatsConnectConnector } from './BitcoinSatsConnectConnector';
|
|
@@ -3,15 +3,16 @@
|
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
|
-
var _tslib = require('
|
|
6
|
+
var _tslib = require('../../_virtual/_tslib.cjs');
|
|
7
7
|
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
8
8
|
var walletBook = require('@dynamic-labs/wallet-book');
|
|
9
9
|
var utils = require('@dynamic-labs/utils');
|
|
10
10
|
var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var getMempoolApiUrl = require('
|
|
14
|
-
var _const = require('
|
|
11
|
+
var BitcoinLocalStorageCache = require('../BitcoinLocalStorageCache.cjs');
|
|
12
|
+
var bitcoinProviderHelper = require('../bitcoinProviderHelper.cjs');
|
|
13
|
+
var getMempoolApiUrl = require('../utils/getMempoolApiUrl.cjs');
|
|
14
|
+
var _const = require('../const.cjs');
|
|
15
|
+
var satoshisToBtc = require('../utils/satoshisToBtc/satoshisToBtc.cjs');
|
|
15
16
|
|
|
16
17
|
class BitcoinWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
17
18
|
constructor(opts) {
|
|
@@ -27,6 +28,9 @@ class BitcoinWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
27
28
|
this.overrideKey = (_a = opts.overrideKey) !== null && _a !== void 0 ? _a : this.key;
|
|
28
29
|
this.bitcoinProviderHelper = new bitcoinProviderHelper.BitcoinProviderHelper(opts.walletData || walletBook.getWalletBookWallet(this.walletBook, this.key));
|
|
29
30
|
this.wallet = this.bitcoinProviderHelper.findWallet();
|
|
31
|
+
if (this.wallet) {
|
|
32
|
+
this.walletMethods = this.bitcoinProviderHelper.getWalletMethods(this.wallet);
|
|
33
|
+
}
|
|
30
34
|
this.cache = new BitcoinLocalStorageCache.BitcoinLocalStorageCache(this.overrideKey);
|
|
31
35
|
}
|
|
32
36
|
canConnectWithHardwareWallet() {
|
|
@@ -76,12 +80,14 @@ class BitcoinWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
76
80
|
return undefined;
|
|
77
81
|
}
|
|
78
82
|
const addressInfo = yield response.json();
|
|
79
|
-
if (!(addressInfo === null || addressInfo === void 0 ? void 0 : addressInfo.chain_stats)) {
|
|
83
|
+
if (!(addressInfo === null || addressInfo === void 0 ? void 0 : addressInfo.chain_stats) || !(addressInfo === null || addressInfo === void 0 ? void 0 : addressInfo.mempool_stats)) {
|
|
80
84
|
return undefined;
|
|
81
85
|
}
|
|
82
|
-
const
|
|
83
|
-
Number(addressInfo.chain_stats.spent_txo_sum)
|
|
84
|
-
|
|
86
|
+
const confirmedBalanceInSats = Number(addressInfo.chain_stats.funded_txo_sum) -
|
|
87
|
+
Number(addressInfo.chain_stats.spent_txo_sum);
|
|
88
|
+
const unconfirmedBalanceInSats = Number(addressInfo.mempool_stats.funded_txo_sum) -
|
|
89
|
+
Number(addressInfo.mempool_stats.spent_txo_sum);
|
|
90
|
+
const balance = satoshisToBtc.satoshisToBtc(confirmedBalanceInSats + unconfirmedBalanceInSats);
|
|
85
91
|
yield this.cache.setLastBalance(balance.toString());
|
|
86
92
|
return balance.toString();
|
|
87
93
|
});
|
|
@@ -104,14 +110,31 @@ class BitcoinWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
104
110
|
}
|
|
105
111
|
getConnectedAccounts() {
|
|
106
112
|
return _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
113
|
+
// some wallets like xverse don't support fetching connected accounts
|
|
114
|
+
// without prompting for a connection
|
|
115
|
+
// to avoid this behavior, we cache the connected accounts
|
|
107
116
|
if (!this.canFetchConnectedAccounts) {
|
|
108
117
|
return this.getConnectedAccountsFromCache();
|
|
109
118
|
}
|
|
110
|
-
|
|
111
|
-
|
|
119
|
+
// if we decide that is ok to prompt for a connection when fetching connected accounts
|
|
120
|
+
// we shouldn't prompt every time we call this method (which is a lot of times)
|
|
121
|
+
// so we just store in a promise and return the same promise every time
|
|
122
|
+
if (!this.getAddressPromise) {
|
|
123
|
+
this.getAddressPromise = this.getAddress();
|
|
124
|
+
}
|
|
125
|
+
let connectedAccount;
|
|
126
|
+
try {
|
|
127
|
+
connectedAccount = yield this.getAddressPromise;
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
walletConnectorCore.logger.error(`${this.key} getConnectedAccounts - error fetching connected account`);
|
|
131
|
+
//don't throw error just return empty array after clearing the promise
|
|
132
|
+
}
|
|
133
|
+
this.getAddressPromise = undefined;
|
|
134
|
+
if (!connectedAccount) {
|
|
112
135
|
return [];
|
|
113
136
|
}
|
|
114
|
-
return [
|
|
137
|
+
return [connectedAccount];
|
|
115
138
|
});
|
|
116
139
|
}
|
|
117
140
|
getAdditionalAddresses(mainAddress) {
|
|
@@ -194,7 +217,23 @@ class BitcoinWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
194
217
|
return;
|
|
195
218
|
}
|
|
196
219
|
const { handleAccountChange, handleChainChange, handleDisconnect } = walletConnectorCore.eventListenerHandlers(this);
|
|
197
|
-
|
|
220
|
+
const handleBitcoinAccountChange = (accounts) => _tslib.__awaiter(this, void 0, void 0, function* () {
|
|
221
|
+
let connectedAccounts = accounts;
|
|
222
|
+
// if accounts is an array of objects, we need to parse them to return only addresses
|
|
223
|
+
// since ordinals is the main address we use, we should return it as the first address
|
|
224
|
+
if (typeof accounts[0] === 'object') {
|
|
225
|
+
connectedAccounts = accounts
|
|
226
|
+
.sort((account) => (account.purpose === 'ordinals' ? -1 : 1))
|
|
227
|
+
.map((account) => account.address);
|
|
228
|
+
}
|
|
229
|
+
const currentConnectedAccounts = yield this.getConnectedAccountsFromCache();
|
|
230
|
+
// don't do anything if the connected accounts haven't changed
|
|
231
|
+
if (currentConnectedAccounts[0] === connectedAccounts[0]) {
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
handleAccountChange(connectedAccounts);
|
|
235
|
+
});
|
|
236
|
+
provider.on('accountsChanged', handleBitcoinAccountChange);
|
|
198
237
|
provider.on('networkChanged', handleChainChange);
|
|
199
238
|
provider.on('disconnect', handleDisconnect);
|
|
200
239
|
const tearDownEventListeners = () => {
|
|
@@ -202,7 +241,7 @@ class BitcoinWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
|
202
241
|
if (!(provider === null || provider === void 0 ? void 0 : provider.removeListener)) {
|
|
203
242
|
return;
|
|
204
243
|
}
|
|
205
|
-
provider.removeListener('accountsChanged',
|
|
244
|
+
provider.removeListener('accountsChanged', handleBitcoinAccountChange);
|
|
206
245
|
provider.removeListener('networkChanged', handleChainChange);
|
|
207
246
|
provider.removeListener('disconnect', handleDisconnect);
|
|
208
247
|
};
|