@rango-dev/provider-ctrl 0.62.1-next.2
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 +319 -0
- package/dist/actions/utxo.d.ts +17 -0
- package/dist/actions/utxo.d.ts.map +1 -0
- package/dist/builders/utxo.d.ts +21 -0
- package/dist/builders/utxo.d.ts.map +1 -0
- package/dist/constants.d.ts +23 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/mod.d.ts +3 -0
- package/dist/mod.d.ts.map +1 -0
- package/dist/mod.js +2 -0
- package/dist/mod.js.map +7 -0
- package/dist/namespaces/evm.d.ts +4 -0
- package/dist/namespaces/evm.d.ts.map +1 -0
- package/dist/namespaces/solana.d.ts +4 -0
- package/dist/namespaces/solana.d.ts.map +1 -0
- package/dist/namespaces/utxo.d.ts +4 -0
- package/dist/namespaces/utxo.d.ts.map +1 -0
- package/dist/provider-ctrl.build.json +1 -0
- package/dist/provider.d.ts +3 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/signer.d.ts +4 -0
- package/dist/signer.d.ts.map +1 -0
- package/dist/signers/solana.d.ts +13 -0
- package/dist/signers/solana.d.ts.map +1 -0
- package/dist/signers/utxo.d.ts +17 -0
- package/dist/signers/utxo.d.ts.map +1 -0
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils.d.ts +25 -0
- package/dist/utils.d.ts.map +1 -0
- package/package.json +37 -0
- package/readme.md +80 -0
- package/src/actions/utxo.ts +32 -0
- package/src/builders/utxo.ts +46 -0
- package/src/constants.ts +84 -0
- package/src/mod.ts +8 -0
- package/src/namespaces/evm.ts +50 -0
- package/src/namespaces/solana.ts +39 -0
- package/src/namespaces/utxo.ts +44 -0
- package/src/provider.ts +24 -0
- package/src/signer.ts +28 -0
- package/src/signers/solana.ts +22 -0
- package/src/signers/utxo.ts +167 -0
- package/src/types.ts +18 -0
- package/src/utils.ts +141 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
# [0.62.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.61.1...provider-xdefi@0.62.0) (2026-05-31)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## [0.61.1](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.61.0...provider-xdefi@0.61.1) (2026-05-02)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
# [0.61.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.60.0...provider-xdefi@0.61.0) (2026-04-29)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
# [0.60.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.59.0...provider-xdefi@0.60.0) (2025-12-30)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [0.59.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.58.0...provider-xdefi@0.59.0) (2025-12-15)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
# [0.58.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.57.0...provider-xdefi@0.58.0) (2025-12-09)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# [0.57.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.56.1...provider-xdefi@0.57.0) (2025-12-02)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
## [0.56.1](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.56.0...provider-xdefi@0.56.1) (2025-11-22)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# [0.54.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.53.0...provider-xdefi@0.54.0) (2025-10-29)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
# [0.53.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.52.0...provider-xdefi@0.53.0) (2025-09-29)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
# [0.52.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.51.0...provider-xdefi@0.52.0) (2025-09-06)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
# [0.51.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.50.0...provider-xdefi@0.51.0) (2025-08-19)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
### Bug Fixes
|
|
49
|
+
|
|
50
|
+
* add rango-dev/wallets-core to dependencies of providers ([84b4b2b](https://github.com/rango-exchange/rango-client/commit/84b4b2b7c3a7f5631228fb6ebf04617c3c4428e9))
|
|
51
|
+
* remove retry dynamic import and throw refined error on dynamic import failure ([a2944ac](https://github.com/rango-exchange/rango-client/commit/a2944ac3c05a0e945f6e5621fa5693ab89625485))
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
### Features
|
|
55
|
+
|
|
56
|
+
* implement retry mechanism for lazy imports ([9a8e191](https://github.com/rango-exchange/rango-client/commit/9a8e191711d2319990ca4d0613e8188a5f86842f))
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
# [0.50.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.49.0...provider-xdefi@0.50.0) (2025-08-05)
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
# [0.49.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.48.0...provider-xdefi@0.49.0) (2025-07-22)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
### Reverts
|
|
68
|
+
|
|
69
|
+
* Revert "chore(release): publish" ([064ce15](https://github.com/rango-exchange/rango-client/commit/064ce157a2f819856f647f83aeb1c0410542e8d7))
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
# [0.47.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.46.0...provider-xdefi@0.47.0) (2025-06-09)
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
# [0.46.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.45.1...provider-xdefi@0.46.0) (2025-05-26)
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
### Features
|
|
81
|
+
|
|
82
|
+
* use psbt for bitcoin on xdefi/ctrl wallet ([86abfbf](https://github.com/rango-exchange/rango-client/commit/86abfbfe725ce66de5cd344bd7a5c9894271c77e))
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
## [0.45.1](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.45.0...provider-xdefi@0.45.1) (2025-05-04)
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
# [0.45.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.44.0...provider-xdefi@0.45.0) (2025-04-30)
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
### Bug Fixes
|
|
94
|
+
|
|
95
|
+
* rename pbt to ptb for sui ([3d6d89f](https://github.com/rango-exchange/rango-client/commit/3d6d89f2265766607a15d61e0df92643fb33072b))
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
### Features
|
|
99
|
+
|
|
100
|
+
* update sui to consider recent api changes ([d764b25](https://github.com/rango-exchange/rango-client/commit/d764b2501df9bb295f63cdbc0b05acd4a3abb4b9))
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
# [0.44.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.43.0...provider-xdefi@0.44.0) (2025-03-11)
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
# [0.43.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.42.0...provider-xdefi@0.43.0) (2025-02-23)
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
# [0.42.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.41.0...provider-xdefi@0.42.0) (2025-01-20)
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
# [0.41.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.40.0...provider-xdefi@0.41.0) (2024-12-30)
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
### Features
|
|
120
|
+
|
|
121
|
+
* update ctrl wallet name and info ([fcde421](https://github.com/rango-exchange/rango-client/commit/fcde42144a995ec655388b95b606abc669a8c1a8))
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
# [0.40.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.39.0...provider-xdefi@0.40.0) (2024-11-27)
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
### Features
|
|
129
|
+
|
|
130
|
+
* add ton connect provider ([2a2dbb7](https://github.com/rango-exchange/rango-client/commit/2a2dbb79022263f19446ced49d298e04d63f927f))
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
# [0.39.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.38.1...provider-xdefi@0.39.0) (2024-11-12)
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
## [0.38.1](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.38.0...provider-xdefi@0.38.1) (2024-11-06)
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
# [0.38.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.37.1...provider-xdefi@0.38.0) (2024-10-12)
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
### Bug Fixes
|
|
146
|
+
|
|
147
|
+
* bump sdk and fix type issues ([d442208](https://github.com/rango-exchange/rango-client/commit/d4422083bf5dd27d5f509ce1db7f9560d05428c8))
|
|
148
|
+
* resolve issues with the sign message method for certain solana providers ([cbe83a3](https://github.com/rango-exchange/rango-client/commit/cbe83a3da8b48560b206fc2a7fa7cf062cdeaa23))
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
### Performance Improvements
|
|
152
|
+
|
|
153
|
+
* enable code splitting in build process ([fe5a41e](https://github.com/rango-exchange/rango-client/commit/fe5a41e0e297298de11cd74ca5825544742aa03a))
|
|
154
|
+
* lazy load signer packages ([7b88f18](https://github.com/rango-exchange/rango-client/commit/7b88f1834f7b29b4b81ab6c81a07bb88e8ccf55c))
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
## [0.37.1](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.37.0...provider-xdefi@0.37.1) (2024-10-05)
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
### Bug Fixes
|
|
162
|
+
|
|
163
|
+
* remove null memo from utxo transactions ([89d1a5b](https://github.com/rango-exchange/rango-client/commit/89d1a5b4a4bce700da48ad2089edf700de188f9c))
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
# [0.37.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.36.0...provider-xdefi@0.37.0) (2024-09-10)
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
# [0.36.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.35.1...provider-xdefi@0.36.0) (2024-08-11)
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
### Features
|
|
175
|
+
|
|
176
|
+
* implement sign message method for providers with a custom signer ([cf9515f](https://github.com/rango-exchange/rango-client/commit/cf9515feb5d3754aac9c228fe83315daf1350c85))
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
## [0.35.1](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.35.0...provider-xdefi@0.35.1) (2024-07-14)
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
# [0.35.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.33.2...provider-xdefi@0.35.0) (2024-07-09)
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
# [0.34.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.33.2...provider-xdefi@0.34.0) (2024-06-01)
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
## [0.33.2](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.33.1...provider-xdefi@0.33.2) (2024-05-26)
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
## [0.33.1](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.33.0...provider-xdefi@0.33.1) (2024-05-25)
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
# [0.33.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.32.1...provider-xdefi@0.33.0) (2024-05-14)
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
## [0.32.1](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.32.0...provider-xdefi@0.32.1) (2024-04-24)
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
# [0.32.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.31.0...provider-xdefi@0.32.0) (2024-04-24)
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
# [0.31.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.30.0...provider-xdefi@0.31.0) (2024-04-23)
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
### Bug Fixes
|
|
216
|
+
|
|
217
|
+
* resolve conflicts between evm providers ([9a6734c](https://github.com/rango-exchange/rango-client/commit/9a6734cf1537bf0504cf9058d4d775313a9e8e80))
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
# [0.30.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.29.0...provider-xdefi@0.30.0) (2024-04-09)
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
### Bug Fixes
|
|
225
|
+
|
|
226
|
+
* fix the connection problem that happens when another wallet takes over the requested one ([42df212](https://github.com/rango-exchange/rango-client/commit/42df2120aadd84c95045b0bf76844c19305fb59a))
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
# [0.29.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.28.0...provider-xdefi@0.29.0) (2024-03-12)
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
### Features
|
|
234
|
+
|
|
235
|
+
* add new chains to xdefi ([f780a9f](https://github.com/rango-exchange/rango-client/commit/f780a9f5ad5b4d42b5ea63cfc382059963f5332e))
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
# [0.28.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.27.0...provider-xdefi@0.28.0) (2024-02-20)
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
# [0.27.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.26.0...provider-xdefi@0.27.0) (2024-02-07)
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
# [0.26.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.25.0...provider-xdefi@0.26.0) (2024-01-22)
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
### Bug Fixes
|
|
251
|
+
|
|
252
|
+
* cleanup wallets' subscriber when setProvider get null ([88d6a42](https://github.com/rango-exchange/rango-client/commit/88d6a423c49b34b3d9ff567e22df36c3b009bb76))
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
# [0.25.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.23.0...provider-xdefi@0.25.0) (2023-12-24)
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
### Bug Fixes
|
|
260
|
+
|
|
261
|
+
* fix HMR for widget and playground ([8524820](https://github.com/rango-exchange/rango-client/commit/8524820f10cf0b8921f3db0c4f620ff98daa4103))
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
# [0.14.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.13.0...provider-xdefi@0.14.0) (2023-08-03)
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
# [0.13.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.12.0...provider-xdefi@0.13.0) (2023-08-01)
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
# [0.9.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.8.0...provider-xdefi@0.9.0) (2023-07-31)
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
# [0.7.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.6.0...provider-xdefi@0.7.0) (2023-07-11)
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
# [0.6.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.5.0...provider-xdefi@0.6.0) (2023-07-11)
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
### Bug Fixes
|
|
285
|
+
|
|
286
|
+
* bnb bug in xdefi signer ([6e4eeb3](https://github.com/rango-exchange/rango-client/commit/6e4eeb3006345d1e1f9a99c33803bee97f1af9db))
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
### Reverts
|
|
290
|
+
|
|
291
|
+
* Revert "support for rango-types cjs format" ([ed4e050](https://github.com/rango-exchange/rango-client/commit/ed4e050bfc0dcde7aeffa6b0d73b02080a5721eb))
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
# [0.5.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.4.0...provider-xdefi@0.5.0) (2023-05-31)
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
# [0.4.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.3.0...provider-xdefi@0.4.0) (2023-05-31)
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
# [0.3.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.2.0...provider-xdefi@0.3.0) (2023-05-30)
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
# [0.2.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.1.15...provider-xdefi@0.2.0) (2023-05-30)
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
## [0.1.14](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.1.13...provider-xdefi@0.1.14) (2023-05-15)
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
### Bug Fixes
|
|
315
|
+
|
|
316
|
+
* update rango-types and fix notification bugs ([993f185](https://github.com/rango-exchange/rango-client/commit/993f185e0b8c5e5e15a2c65ba2d85d1f9c8daa90))
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Context, FunctionWithContext } from '@hub3js/core';
|
|
2
|
+
import { type UtxoActions } from '@rango-dev/wallets-core/namespaces/utxo';
|
|
3
|
+
/**
|
|
4
|
+
* Connect the UTXO namespace across all of Ctrl's UTXO chains at once.
|
|
5
|
+
*
|
|
6
|
+
* Ctrl exposes a separate provider per chain (BTC/LTC/DOGE/BCH), and a UTXO account
|
|
7
|
+
* holds an address on each simultaneously (they're concurrent, not mutually exclusive
|
|
8
|
+
* like EVM networks). So we fetch every available chain's account and return one merged
|
|
9
|
+
* array where each entry is CAIP-encoded with its own `bip122` chain id — letting the
|
|
10
|
+
* single UTXO namespace represent all four chains. Throws only if no chain returns an
|
|
11
|
+
* address.
|
|
12
|
+
*/
|
|
13
|
+
export declare function connect(): FunctionWithContext<UtxoActions['connect'], Context>;
|
|
14
|
+
export declare const utxoActions: {
|
|
15
|
+
connect: typeof connect;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=utxo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../src/actions/utxo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAI3E;;;;;;;;;GASG;AACH,wBAAgB,OAAO,IAAI,mBAAmB,CAC5C,WAAW,CAAC,SAAS,CAAC,EACtB,OAAO,CACR,CAUA;AAED,eAAO,MAAM,WAAW;;CAAc,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';
|
|
2
|
+
import { ActionBuilder } from '@hub3js/core';
|
|
3
|
+
import { ChangeAccountSubscriberBuilder } from '@hub3js/std/hooks';
|
|
4
|
+
import { type UtxoActions } from '@rango-dev/wallets-core/namespaces/utxo';
|
|
5
|
+
/**
|
|
6
|
+
* Ctrl switches the active account across all chains at once, but its UTXO providers
|
|
7
|
+
* emit an empty `accountsChanged` payload (`{}`) and re-fetching them while
|
|
8
|
+
* disconnected opens a wallet popup — so they can't drive the update themselves. The
|
|
9
|
+
* EVM provider, however, emits a proper `accountsChanged`: a non-empty array on
|
|
10
|
+
* switch and an empty array on disconnect. We therefore drive UTXO off the EVM
|
|
11
|
+
* signal: re-fetch all UTXO chains on a switch (silent while connected), and
|
|
12
|
+
* disconnect WITHOUT re-fetching (so no popup) when EVM reports empty.
|
|
13
|
+
*/
|
|
14
|
+
export declare const changeAccountSubscriber: (getInstance: () => EvmProviderApi) => ChangeAccountSubscriberBuilder<string[], EvmProviderApi, UtxoActions>;
|
|
15
|
+
declare function canEagerConnect(): ActionBuilder<UtxoActions, "canEagerConnect">;
|
|
16
|
+
export declare const utxoBuilders: {
|
|
17
|
+
changeAccountSubscriber: (getInstance: () => EvmProviderApi) => ChangeAccountSubscriberBuilder<string[], EvmProviderApi, UtxoActions>;
|
|
18
|
+
canEagerConnect: typeof canEagerConnect;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=utxo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../src/builders/utxo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAI3E;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,gBACrB,MAAM,cAAc,KAChC,8BAA8B,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,WAAW,CAejE,CAAC;AAEP,iBAAS,eAAe,kDAOvB;AAED,eAAO,MAAM,YAAY;2CA3BV,MAAM,cAAc,KAChC,8BAA8B,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,WAAW,CAAC;;CA0BA,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ProviderMetadata } from '@hub3js/core';
|
|
2
|
+
import { LegacyNetworks } from '@rango-dev/wallets-core/legacy';
|
|
3
|
+
export declare const WALLET_ID = "ctrl";
|
|
4
|
+
/**
|
|
5
|
+
* The UTXO chains Ctrl exposes, grouped under the single UTXO namespace, each paired
|
|
6
|
+
* with its CAIP-2 (bip122) reference so accounts can be self-describing.
|
|
7
|
+
*/
|
|
8
|
+
export declare const UTXO_CHAINS: readonly [{
|
|
9
|
+
readonly network: LegacyNetworks.BTC;
|
|
10
|
+
readonly caip: "000000000019d6689c085ae165831e93";
|
|
11
|
+
}, {
|
|
12
|
+
readonly network: LegacyNetworks.LTC;
|
|
13
|
+
readonly caip: "12a765e31ffd4059bada1e25190f6e98";
|
|
14
|
+
}, {
|
|
15
|
+
readonly network: LegacyNetworks.DOGE;
|
|
16
|
+
readonly caip: "1a91e3dace36e2be3bf030a65679fe82";
|
|
17
|
+
}, {
|
|
18
|
+
readonly network: LegacyNetworks.BCH;
|
|
19
|
+
readonly caip: "000000000000000000651ef99cb9fcbe";
|
|
20
|
+
}];
|
|
21
|
+
export declare const SUPPORTED_UTXO_CHAINS: string[];
|
|
22
|
+
export declare const metadata: ProviderMetadata;
|
|
23
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAiBhE,eAAO,MAAM,SAAS,SAAS,CAAC;AAEhC;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;EAKd,CAAC;AAEX,eAAO,MAAM,qBAAqB,EAAE,MAAM,EAEzC,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,gBA+CtB,CAAC"}
|
package/dist/mod.d.ts
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const versions: () => readonly [readonly ["1.0.0", import("@hub3js/core").Provider<Record<"evm", import("@hub3js/evm").EvmActions> & Record<"utxo", import("@rango-dev/wallets-core/namespaces/utxo").UtxoActions> & Record<"solana", import("@hub3js/solana").SolanaActions>>]];
|
|
2
|
+
export { versions };
|
|
3
|
+
//# sourceMappingURL=mod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,QAAQ,kQAC8C,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
package/dist/mod.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var J=Object.defineProperty;var r=(o,t)=>J(o,"name",{value:t,configurable:!0});import{defineVersions as Xo}from"@hub3js/core/utils";import{ProviderBuilder as Ro}from"@hub3js/core";import{LegacyNetworks as v}from"@rango-dev/wallets-core/legacy";import{CAIP_BITCOIN_CHAIN_ID as ro,CAIP_BITCOINCASH_CHAIN_ID as no,CAIP_DOGECOIN_CHAIN_ID as io,CAIP_LITECOIN_CHAIN_ID as so}from"@rango-dev/wallets-core/namespaces/utxo";import{evmBlockchains as ao,solanaBlockchain as co}from"rango-types";import{LegacyNetworks as N}from"@rango-dev/wallets-core/legacy";import{DefaultSignerFactory as oo,TransactionType as y}from"rango-types";import{DefaultSolanaSigner as K}from"@rango-dev/signer-solana";import Q from"bs58";var f=class extends K{static{r(this,"CustomSolanaSigner")}constructor(t){super(t)}async signMessage(t){let e=new TextEncoder().encode(t),{signature:n}=await this.provider.signMessage(e);return Q.encode(n)}};import{LegacyNetworks as Y}from"@rango-dev/wallets-core/legacy";import{SignerError as S,SignerErrorCode as U}from"rango-types";async function Z(o,t,e,n,i,s,l,c,P){return new Promise((E,w)=>{let C={asset:{chain:o,symbol:t,ticker:t},from:e,amount:{amount:n,decimals:i},memo:P};s&&(C.recipient=s),l.request({method:c,params:[C]},(B,$)=>{B?w(new S(U.SEND_TX_ERROR,void 0,B)):E($)})})}r(Z,"ctrlTransfer");var g=class{static{r(this,"CustomTransferSigner")}provider;constructor(t){this.provider=t}async signMessage(){throw S.UnimplementedError("signMessage")}async signAndSendTx(t){let{blockchain:e}=t.asset;if(!x.includes(e))throw new Error(`blockchain: ${e} transfer not implemented yet.`);return e===Y.BTC?this.#o(t):this.#t(t)}async#o(t){let{asset:e,psbt:n}=t;if(!n)throw new Error("No PSBT found to sign. Ensure a valid PSBT is provided.");let i=this.provider.get(e.blockchain),s={};n.inputsToSign.forEach(c=>{s[c.address]=c.signingIndexes});let l=await i.request({method:"sign_psbt",params:[{psbt:n.unsignedPsbtBase64,signInputs:s,allowedSignHash:1,broadcast:!0}]}).catch(c=>{throw new S(U.SEND_TX_ERROR,void 0,c)});if(l.status==="success")return{hash:l.result.txId};throw new Error("The operation (sign and broadcast) failed on your wallet.",{cause:l})}async#t(t){let{blockchain:e}=t.asset,n=this.provider.get(e),{method:i,memo:s,recipientAddress:l,decimals:c,amount:P,fromWalletAddress:E,asset:w}=t;return{hash:await Z(e,w.ticker,E,P,c,l,n,i,s??void 0)}}};async function T(o){let t=o.get(N.ETHEREUM),e=o.get(N.SOLANA),n=new oo,{DefaultEvmSigner:i}=await import("@rango-dev/signer-evm");return n.registerSigner(y.EVM,new i(t)),n.registerSigner(y.SOLANA,new f(e)),n.registerSigner(y.TRANSFER,new g(o)),n}r(T,"getSigners");import{LegacyNetworks as a}from"@rango-dev/wallets-core/legacy";import{utils as to}from"@rango-dev/wallets-core/namespaces/utxo";function d(){let{ctrl:o}=window;if(!o)return null;let t=new Map;return o.ethereum&&t.set(a.ETHEREUM,o.ethereum),o.bitcoin&&t.set(a.BTC,o.bitcoin),o.litecoin&&t.set(a.LTC,o.litecoin),o.dogecoin&&t.set(a.DOGE,o.dogecoin),o.bitcoincash&&t.set(a.BCH,o.bitcoincash),o.solana&&t.set(a.SOLANA,o.solana),t.size===0?null:t}r(d,"ctrl");function O(){let o=d();if(!o)throw new Error("Ctrl is not injected. Please check your wallet.");return o}r(O,"getInstanceOrThrow");function p(){let t=d()?.get(a.ETHEREUM);if(!t)throw new Error("Ctrl not injected or EVM not enabled. Please check your wallet.");return t}r(p,"evmCtrl");function h(){let t=d()?.get(a.SOLANA);if(!t)throw new Error("Ctrl not injected or Solana not enabled. Please check your wallet.");return t}r(h,"solanaCtrl");function _(){return d()?.get(a.ETHEREUM)??{}}r(_,"evmEventSource");async function eo(o){return new Promise((t,e)=>{o.request({method:"request_accounts",params:[]},(n,i)=>{if(n){e(n);return}t(i??[])})})}r(eo,"requestUtxoAccounts");async function u(){let o=d();return o?(await Promise.all(I.filter(({network:e})=>o.get(e)).map(async({network:e,caip:n})=>{let i=o.get(e),s=await eo(i);return to.formatAccountsToCAIP(s,n)}))).flat():[]}r(u,"getAllUtxoAccounts");var m="ctrl",I=[{network:v.BTC,caip:ro},{network:v.LTC,caip:so},{network:v.DOGE,caip:io},{network:v.BCH,caip:no}],x=I.map(o=>o.network),L={name:"Ctrl",icon:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/xdefi/icon.svg",extensions:{chrome:"https://chromewebstore.google.com/detail/ctrl-wallet/hmeobnfnfcmdkdcmlblgagmfpfboieaf",brave:"https://chromewebstore.google.com/detail/ctrl-wallet/hmeobnfnfcmdkdcmlblgagmfpfboieaf",homepage:"https://ctrl.xyz/"},properties:[{name:"namespaces",value:{selection:"multiple",data:[{label:"EVM",value:"EVM",id:"ETH",getSupportedChains:o=>ao(o)},{label:"UTXO",value:"UTXO",id:"BTC",getSupportedChains:o=>o.filter(t=>x.includes(t.name))},{label:"Solana",value:"Solana",id:"SOLANA",getSupportedChains:o=>co(o)}]}},{name:"signers",value:{getSigners:async()=>T(O())}}]};import{NamespaceBuilder as mo}from"@hub3js/core";import{actions as A,builders as b,hooks as lo}from"@hub3js/evm";import*as M from"@hub3js/std/builders";import{standardizeAndThrowError as po}from"@hub3js/std/operators";var[uo,D]=lo.changeAccountSubscriber(p),fo=b.connect().action(A.connect(p)).before(uo).or(D).or(po).build(),go=M.disconnect().after(D).build(),ho=b.canSwitchNetwork().action(A.canSwitchNetwork()).build(),vo=b.canEagerConnect().action(A.canEagerConnect(p)).build(),Ao=b.getChainId().action(A.getChainId(p)).build(),j=new mo("EVM",m).action(fo).action(go).action(vo).action(ho).action(Ao).build();import{ActionBuilder as bo,NamespaceBuilder as Po}from"@hub3js/core";import{actions as H,builders as Eo,hooks as wo}from"@hub3js/solana";import*as R from"@hub3js/std/builders";import{standardizeAndThrowError as Co}from"@hub3js/std/operators";var[So,X]=wo.changeAccountSubscriber(h),xo=Eo.connect().action(H.connect(h)).before(So).or(X).or(Co).build(),yo=R.disconnect().after(X).build(),To=new bo("canEagerConnect").action(H.canEagerConnect(h)).build(),W=new Po("Solana",m).action(xo).action(yo).action(To).build();import{NamespaceBuilder as Oo}from"@hub3js/core";import*as V from"@hub3js/std/builders";import{standardizeAndThrowError as _o}from"@hub3js/std/operators";import{builders as Lo}from"@rango-dev/wallets-core/namespaces/utxo";import"@rango-dev/wallets-core/namespaces/utxo";function Io(){return async()=>{let o=await u();if(!o.length)throw new Error("Couldn't find any address!");return o}}r(Io,"connect");var F={connect:Io};import{ActionBuilder as ko}from"@hub3js/core";import{ChangeAccountSubscriberBuilder as Bo}from"@hub3js/std/hooks";import"@rango-dev/wallets-core/namespaces/utxo";var Uo=r(o=>new Bo().getInstance(o).onSwitchAccount((t,e)=>{t.payload?.length||(e.action("disconnect"),t.preventDefault())}).format(async()=>u()).addEventListener((t,e)=>{t.on?.("accountsChanged",e)}).removeEventListener((t,e)=>{t.removeListener?.("accountsChanged",e)}),"changeAccountSubscriber");function No(){return new ko("canEagerConnect").action(async()=>(await u().catch(()=>[])).length>0)}r(No,"canEagerConnect");var k={changeAccountSubscriber:Uo,canEagerConnect:No};var[Mo,q]=k.changeAccountSubscriber(_).build(),Do=Lo.connect().action(F.connect()).before(Mo).or(q).or(_o).build(),jo=V.disconnect().after(q).build(),Ho=k.canEagerConnect().build(),z=new Oo("UTXO",m).action(Do).action(jo).action(Ho).build();var G=r(()=>new Ro(m).init(function(o){let[,t]=o.state();d()&&(t("installed",!0),console.debug("[ctrl] instance detected.",o))}).config("metadata",L).add("evm",j).add("utxo",z).add("solana",W).build(),"buildProvider");var te=r(()=>Xo().version("1.0.0",G()).build(),"versions");export{te as versions};
|
|
2
|
+
//# sourceMappingURL=mod.js.map
|
package/dist/mod.js.map
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/mod.ts", "../src/provider.ts", "../src/constants.ts", "../src/signer.ts", "../src/signers/solana.ts", "../src/signers/utxo.ts", "../src/utils.ts", "../src/namespaces/evm.ts", "../src/namespaces/solana.ts", "../src/namespaces/utxo.ts", "../src/actions/utxo.ts", "../src/builders/utxo.ts"],
|
|
4
|
+
"sourcesContent": ["import { defineVersions } from '@hub3js/core/utils';\n\nimport { buildProvider } from './provider.js';\n\nconst versions = () =>\n defineVersions().version('1.0.0', buildProvider()).build();\n\nexport { versions };\n", "import { ProviderBuilder } from '@hub3js/core';\n\nimport { metadata, WALLET_ID } from './constants.js';\nimport { evm } from './namespaces/evm.js';\nimport { solana } from './namespaces/solana.js';\nimport { utxo } from './namespaces/utxo.js';\nimport { ctrl as ctrlInstance } from './utils.js';\n\nconst buildProvider = () =>\n new ProviderBuilder(WALLET_ID)\n .init(function (context) {\n const [, setState] = context.state();\n if (ctrlInstance()) {\n setState('installed', true);\n console.debug('[ctrl] instance detected.', context);\n }\n })\n .config('metadata', metadata)\n .add('evm', evm)\n .add('utxo', utxo)\n .add('solana', solana)\n .build();\n\nexport { buildProvider };\n", "import type { ProviderMetadata } from '@hub3js/core';\n\nimport { LegacyNetworks } from '@rango-dev/wallets-core/legacy';\nimport {\n CAIP_BITCOIN_CHAIN_ID,\n CAIP_BITCOINCASH_CHAIN_ID,\n CAIP_DOGECOIN_CHAIN_ID,\n CAIP_LITECOIN_CHAIN_ID,\n} from '@rango-dev/wallets-core/namespaces/utxo';\nimport {\n type BlockchainMeta,\n evmBlockchains,\n solanaBlockchain,\n type TransferBlockchainMeta,\n} from 'rango-types';\n\nimport getSigners from './signer.js';\nimport { getInstanceOrThrow } from './utils.js';\n\nexport const WALLET_ID = 'ctrl';\n\n/**\n * The UTXO chains Ctrl exposes, grouped under the single UTXO namespace, each paired\n * with its CAIP-2 (bip122) reference so accounts can be self-describing.\n */\nexport const UTXO_CHAINS = [\n { network: LegacyNetworks.BTC, caip: CAIP_BITCOIN_CHAIN_ID },\n { network: LegacyNetworks.LTC, caip: CAIP_LITECOIN_CHAIN_ID },\n { network: LegacyNetworks.DOGE, caip: CAIP_DOGECOIN_CHAIN_ID },\n { network: LegacyNetworks.BCH, caip: CAIP_BITCOINCASH_CHAIN_ID },\n] as const;\n\nexport const SUPPORTED_UTXO_CHAINS: string[] = UTXO_CHAINS.map(\n (chain) => chain.network\n);\n\nexport const metadata: ProviderMetadata = {\n name: 'Ctrl',\n icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/xdefi/icon.svg',\n extensions: {\n chrome:\n 'https://chromewebstore.google.com/detail/ctrl-wallet/hmeobnfnfcmdkdcmlblgagmfpfboieaf',\n brave:\n 'https://chromewebstore.google.com/detail/ctrl-wallet/hmeobnfnfcmdkdcmlblgagmfpfboieaf',\n homepage: 'https://ctrl.xyz/',\n },\n properties: [\n {\n name: 'namespaces',\n value: {\n selection: 'multiple',\n data: [\n {\n label: 'EVM',\n value: 'EVM',\n id: 'ETH',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n evmBlockchains(allBlockchains),\n },\n {\n label: 'UTXO',\n value: 'UTXO',\n id: 'BTC',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n allBlockchains.filter((chain): chain is TransferBlockchainMeta =>\n SUPPORTED_UTXO_CHAINS.includes(chain.name)\n ),\n },\n {\n label: 'Solana',\n value: 'Solana',\n id: 'SOLANA',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n solanaBlockchain(allBlockchains),\n },\n ],\n },\n },\n {\n name: 'signers',\n value: { getSigners: async () => getSigners(getInstanceOrThrow()) },\n },\n ],\n};\n", "import type { Provider } from './types.js';\nimport type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';\nimport type { SolanaExternalProvider } from '@rango-dev/signer-solana';\nimport type { SignerFactory } from 'rango-types';\n\nimport { LegacyNetworks } from '@rango-dev/wallets-core/legacy';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nimport { CustomSolanaSigner } from './signers/solana.js';\nimport { CustomTransferSigner } from './signers/utxo.js';\n\nexport default async function getSigners(\n provider: Provider\n): Promise<SignerFactory> {\n const ethProvider = provider.get(LegacyNetworks.ETHEREUM) as EvmProviderApi;\n const solProvider = provider.get(\n LegacyNetworks.SOLANA\n ) as SolanaExternalProvider;\n\n const signers = new DefaultSignerFactory();\n const { DefaultEvmSigner } = await import('@rango-dev/signer-evm');\n\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n signers.registerSigner(TxType.SOLANA, new CustomSolanaSigner(solProvider));\n // the transfer signer comprises several UTXO chains, so it gets the whole map\n signers.registerSigner(TxType.TRANSFER, new CustomTransferSigner(provider));\n return signers;\n}\n", "import type { SolanaExternalProvider } from '@rango-dev/signer-solana';\n\nimport { DefaultSolanaSigner } from '@rango-dev/signer-solana';\nimport base58 from 'bs58';\n\n/**\n * Ctrl's Solana provider signs messages via a direct `signMessage(bytes)` call\n * (the standard wallet-adapter shape). `DefaultSolanaSigner` signs through\n * `request({ method: 'signMessage' })`, which Ctrl does not support, so we keep the\n * direct call and inherit everything else (incl. base58 output and `signAndSendTx`).\n */\nexport class CustomSolanaSigner extends DefaultSolanaSigner {\n constructor(provider: SolanaExternalProvider) {\n super(provider);\n }\n\n async signMessage(msg: string): Promise<string> {\n const encodedMessage = new TextEncoder().encode(msg);\n const { signature } = await this.provider.signMessage(encodedMessage);\n return base58.encode(signature);\n }\n}\n", "import type { Provider, ProviderObject } from '../types.js';\nimport type { ProviderAPI as UtxoProviderApi } from '@rango-dev/wallets-core/namespaces/utxo';\nimport type { GenericSigner, Transfer } from 'rango-types';\n\nimport { LegacyNetworks } from '@rango-dev/wallets-core/legacy';\nimport { SignerError, SignerErrorCode } from 'rango-types';\n\nimport { SUPPORTED_UTXO_CHAINS } from '../constants.js';\n\ninterface CtrlTransferParams {\n asset: { chain: string; symbol: string; ticker: string };\n from: string;\n amount: { amount: string; decimals: number };\n memo?: string;\n recipient?: string;\n}\n\n/** Callback-style transfer for non-PSBT UTXO chains (LTC/DOGE/BCH). */\nasync function ctrlTransfer(\n blockchain: string,\n ticker: string,\n from: string,\n amount: string,\n decimals: number,\n recipientAddress: string | null,\n provider: UtxoProviderApi,\n method: string,\n memo?: string\n): Promise<string> {\n return new Promise((resolve, reject) => {\n const params: CtrlTransferParams = {\n asset: { chain: blockchain, symbol: ticker, ticker },\n from,\n amount: { amount, decimals },\n memo,\n };\n if (recipientAddress) {\n params.recipient = recipientAddress;\n }\n\n provider.request(\n { method, params: [params] },\n (error: unknown, result: unknown) => {\n if (error) {\n reject(\n new SignerError(SignerErrorCode.SEND_TX_ERROR, undefined, error)\n );\n } else {\n resolve(result as string);\n }\n }\n );\n });\n}\n\n/**\n * One signer for all of Ctrl's UTXO chains. BTC is signed via PSBT (`sign_psbt`);\n * LTC/DOGE/BCH use the generic `transfer` request. It receives the whole provider\n * map and resolves the right per-chain instance per transaction.\n */\nexport class CustomTransferSigner implements GenericSigner<Transfer> {\n private provider: Provider;\n constructor(provider: Provider) {\n this.provider = provider;\n }\n\n async signMessage(): Promise<string> {\n throw SignerError.UnimplementedError('signMessage');\n }\n\n async signAndSendTx(tx: Transfer): Promise<{ hash: string }> {\n const { blockchain } = tx.asset;\n\n if (!SUPPORTED_UTXO_CHAINS.includes(blockchain)) {\n throw new Error(\n `blockchain: ${blockchain} transfer not implemented yet.`\n );\n }\n\n if (blockchain === LegacyNetworks.BTC) {\n return this.#signPsbt(tx);\n }\n\n return this.#signTransferObject(tx);\n }\n\n // https://developers.ctrl.xyz/developers/extension-bitcoin#sign-psbt-partially-signed-bitcoin-transaction\n async #signPsbt(tx: Transfer): Promise<{ hash: string }> {\n const { asset, psbt } = tx;\n\n if (!psbt) {\n throw new Error(\n 'No PSBT found to sign. Ensure a valid PSBT is provided.'\n );\n }\n\n const provider = this.provider.get(\n asset.blockchain as keyof ProviderObject\n ) as UtxoProviderApi;\n\n const signInputs: { [key: string]: number[] } = {};\n psbt.inputsToSign.forEach((input) => {\n signInputs[input.address] = input.signingIndexes;\n });\n\n const response = await provider\n .request({\n method: 'sign_psbt',\n /*\n * Ctrl expects `params` as an array (same as its other RPCs); passing a bare\n * object makes the extension read `psbt` off `undefined`. The docs showing a\n * plain object are wrong.\n */\n params: [\n {\n psbt: psbt.unsignedPsbtBase64,\n signInputs,\n allowedSignHash: 1,\n broadcast: true,\n },\n ],\n })\n .catch((error: unknown) => {\n throw new SignerError(SignerErrorCode.SEND_TX_ERROR, undefined, error);\n });\n\n if (response.status === 'success') {\n return { hash: response.result.txId };\n }\n\n throw new Error(\n 'The operation (sign and broadcast) failed on your wallet.',\n { cause: response }\n );\n }\n\n async #signTransferObject(tx: Transfer): Promise<{ hash: string }> {\n const { blockchain } = tx.asset;\n\n const transferProvider = this.provider.get(\n blockchain as keyof ProviderObject\n ) as UtxoProviderApi;\n\n const {\n method,\n memo,\n recipientAddress,\n decimals,\n amount,\n fromWalletAddress: from,\n asset,\n } = tx;\n\n const hash = await ctrlTransfer(\n blockchain,\n asset.ticker,\n from,\n amount,\n decimals,\n recipientAddress,\n transferProvider,\n method,\n memo ?? undefined\n );\n return { hash };\n }\n}\n", "import type { Provider } from './types.js';\nimport type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';\nimport type { ProviderAPI as SolanaProviderApi } from '@hub3js/solana';\nimport type { CaipAccount } from '@hub3js/std/types';\nimport type { ProviderAPI as UtxoProviderApi } from '@rango-dev/wallets-core/namespaces/utxo';\n\nimport { LegacyNetworks } from '@rango-dev/wallets-core/legacy';\nimport { utils } from '@rango-dev/wallets-core/namespaces/utxo';\n\nimport { UTXO_CHAINS } from './constants.js';\n\nexport function ctrl(): Provider | null {\n const { ctrl } = window;\n\n if (!ctrl) {\n return null;\n }\n\n const instances: Provider = new Map();\n\n if (ctrl.ethereum) {\n instances.set(LegacyNetworks.ETHEREUM, ctrl.ethereum);\n }\n if (ctrl.bitcoin) {\n instances.set(LegacyNetworks.BTC, ctrl.bitcoin);\n }\n if (ctrl.litecoin) {\n instances.set(LegacyNetworks.LTC, ctrl.litecoin);\n }\n if (ctrl.dogecoin) {\n instances.set(LegacyNetworks.DOGE, ctrl.dogecoin);\n }\n if (ctrl.bitcoincash) {\n instances.set(LegacyNetworks.BCH, ctrl.bitcoincash);\n }\n if (ctrl.solana) {\n instances.set(LegacyNetworks.SOLANA, ctrl.solana);\n }\n\n if (instances.size === 0) {\n return null;\n }\n\n return instances;\n}\n\nexport function getInstanceOrThrow(): Provider {\n const instances = ctrl();\n\n if (!instances) {\n throw new Error('Ctrl is not injected. Please check your wallet.');\n }\n\n return instances;\n}\n\nexport function evmCtrl(): EvmProviderApi {\n const instances = ctrl();\n const evmInstance = instances?.get(LegacyNetworks.ETHEREUM);\n\n if (!evmInstance) {\n throw new Error(\n 'Ctrl not injected or EVM not enabled. Please check your wallet.'\n );\n }\n\n return evmInstance as EvmProviderApi;\n}\n\nexport function solanaCtrl(): SolanaProviderApi {\n const instances = ctrl();\n const solanaInstance = instances?.get(LegacyNetworks.SOLANA);\n\n if (!solanaInstance) {\n throw new Error(\n 'Ctrl not injected or Solana not enabled. Please check your wallet.'\n );\n }\n\n return solanaInstance;\n}\n\n/**\n * The EVM instance, used as the trigger source for UTXO account changes.\n *\n * Ctrl switches the active account across every chain at once but only signals it\n * reliably through the EVM provider's `accountsChanged` (the UTXO providers emit an\n * empty `{}` payload, and re-fetching them while disconnected opens a wallet popup).\n * Returns an empty object when EVM isn't injected so the subscriber attaches safely.\n */\nexport function evmEventSource(): EvmProviderApi {\n return (ctrl()?.get(LegacyNetworks.ETHEREUM) ?? {}) as EvmProviderApi;\n}\n\n/** Promisified `request_accounts` for a callback-style ctrl UTXO instance. */\nasync function requestUtxoAccounts(\n instance: UtxoProviderApi\n): Promise<string[]> {\n return new Promise((resolve, reject) => {\n instance.request(\n { method: 'request_accounts', params: [] },\n (error: unknown, accounts: unknown) => {\n if (error) {\n reject(error);\n return;\n }\n resolve((accounts as string[]) ?? []);\n }\n );\n });\n}\n\n/**\n * Fetch and CAIP-format accounts across every available UTXO chain, merged into a\n * single array. Each account encodes its own chain via its CAIP reference, so\n * BTC/LTC/DOGE/BCH addresses coexist in one UTXO namespace. Silent while the wallet\n * is connected (only called on connect / switch, never on disconnect).\n */\nexport async function getAllUtxoAccounts(): Promise<CaipAccount[]> {\n const instances = ctrl();\n if (!instances) {\n return [];\n }\n\n /*\n * `Promise.all` rejects as soon as any chain's `request_accounts` fails, discarding\n * the rest and propagating that error \u2014 we don't want to silently return a partial\n * account set if one chain errors.\n */\n const perChain = await Promise.all(\n UTXO_CHAINS.filter(({ network }) => instances.get(network)).map(\n async ({ network, caip }) => {\n const instance = instances.get(network) as UtxoProviderApi;\n const accounts = await requestUtxoAccounts(instance);\n return utils.formatAccountsToCAIP(accounts, caip);\n }\n )\n );\n\n return perChain.flat();\n}\n", "import type { EvmActions } from '@hub3js/evm';\n\nimport { NamespaceBuilder } from '@hub3js/core';\nimport { actions, builders, hooks } from '@hub3js/evm';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\n\nimport { WALLET_ID } from '../constants.js';\nimport { evmCtrl } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] =\n hooks.changeAccountSubscriber(evmCtrl);\n\nconst connect = builders\n .connect()\n .action(actions.connect(evmCtrl))\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<EvmActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst canSwitchNetwork = builders\n .canSwitchNetwork()\n .action(actions.canSwitchNetwork())\n .build();\n\nconst canEagerConnect = builders\n .canEagerConnect()\n .action(actions.canEagerConnect(evmCtrl))\n .build();\n\nconst getChainId = builders\n .getChainId()\n .action(actions.getChainId(evmCtrl))\n .build();\n\nconst evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .action(canSwitchNetwork)\n .action(getChainId)\n .build();\n\nexport { evm };\n", "import type { SolanaActions } from '@hub3js/solana';\n\nimport { ActionBuilder, NamespaceBuilder } from '@hub3js/core';\nimport { actions, builders, hooks } from '@hub3js/solana';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\n\nimport { WALLET_ID } from '../constants.js';\nimport { solanaCtrl } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] =\n hooks.changeAccountSubscriber(solanaCtrl);\n\nconst connect = builders\n .connect()\n .action(actions.connect(solanaCtrl))\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<SolanaActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst canEagerConnect = new ActionBuilder<SolanaActions, 'canEagerConnect'>(\n 'canEagerConnect'\n)\n .action(actions.canEagerConnect(solanaCtrl))\n .build();\n\nconst solana = new NamespaceBuilder<SolanaActions>('Solana', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .build();\n\nexport { solana };\n", "import type { UtxoActions } from '@rango-dev/wallets-core/namespaces/utxo';\n\nimport { NamespaceBuilder } from '@hub3js/core';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\nimport { builders } from '@rango-dev/wallets-core/namespaces/utxo';\n\nimport { utxoActions } from '../actions/utxo.js';\nimport { utxoBuilders } from '../builders/utxo.js';\nimport { WALLET_ID } from '../constants.js';\nimport { evmEventSource } from '../utils.js';\n\n/*\n * UTXO account changes are driven by the EVM provider's `accountsChanged` (see\n * builders/utxo.ts) because Ctrl's UTXO providers emit no usable payload. One\n * subscriber, listening on the EVM instance, re-fetches all UTXO chains on a switch\n * and disconnects on empty.\n */\nconst [changeAccountSubscriber, changeAccountCleanup] = utxoBuilders\n .changeAccountSubscriber(evmEventSource)\n .build();\n\nconst connect = builders\n .connect()\n .action(utxoActions.connect())\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<UtxoActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst canEagerConnect = utxoBuilders.canEagerConnect().build();\n\nconst utxo = new NamespaceBuilder<UtxoActions>('UTXO', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .build();\n\nexport { utxo };\n", "import type { Context, FunctionWithContext } from '@hub3js/core';\n\nimport { type UtxoActions } from '@rango-dev/wallets-core/namespaces/utxo';\n\nimport { getAllUtxoAccounts } from '../utils.js';\n\n/**\n * Connect the UTXO namespace across all of Ctrl's UTXO chains at once.\n *\n * Ctrl exposes a separate provider per chain (BTC/LTC/DOGE/BCH), and a UTXO account\n * holds an address on each simultaneously (they're concurrent, not mutually exclusive\n * like EVM networks). So we fetch every available chain's account and return one merged\n * array where each entry is CAIP-encoded with its own `bip122` chain id \u2014 letting the\n * single UTXO namespace represent all four chains. Throws only if no chain returns an\n * address.\n */\nexport function connect(): FunctionWithContext<\n UtxoActions['connect'],\n Context\n> {\n return async () => {\n const accounts = await getAllUtxoAccounts();\n\n if (!accounts.length) {\n throw new Error(\"Couldn't find any address!\");\n }\n\n return accounts;\n };\n}\n\nexport const utxoActions = { connect };\n", "import type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';\n\nimport { ActionBuilder } from '@hub3js/core';\nimport { ChangeAccountSubscriberBuilder } from '@hub3js/std/hooks';\nimport { type UtxoActions } from '@rango-dev/wallets-core/namespaces/utxo';\n\nimport { getAllUtxoAccounts } from '../utils.js';\n\n/**\n * Ctrl switches the active account across all chains at once, but its UTXO providers\n * emit an empty `accountsChanged` payload (`{}`) and re-fetching them while\n * disconnected opens a wallet popup \u2014 so they can't drive the update themselves. The\n * EVM provider, however, emits a proper `accountsChanged`: a non-empty array on\n * switch and an empty array on disconnect. We therefore drive UTXO off the EVM\n * signal: re-fetch all UTXO chains on a switch (silent while connected), and\n * disconnect WITHOUT re-fetching (so no popup) when EVM reports empty.\n */\nexport const changeAccountSubscriber = (\n getInstance: () => EvmProviderApi\n): ChangeAccountSubscriberBuilder<string[], EvmProviderApi, UtxoActions> =>\n new ChangeAccountSubscriberBuilder<string[], EvmProviderApi, UtxoActions>()\n .getInstance(getInstance)\n .onSwitchAccount((event, context) => {\n if (!event.payload?.length) {\n context.action('disconnect');\n event.preventDefault();\n }\n })\n .format(async () => getAllUtxoAccounts())\n .addEventListener((instance, callback) => {\n instance.on?.('accountsChanged', callback);\n })\n .removeEventListener((instance, callback) => {\n instance.removeListener?.('accountsChanged', callback);\n });\n\nfunction canEagerConnect() {\n return new ActionBuilder<UtxoActions, 'canEagerConnect'>(\n 'canEagerConnect'\n ).action(async () => {\n const accounts = await getAllUtxoAccounts().catch(() => []);\n return accounts.length > 0;\n });\n}\n\nexport const utxoBuilders = { changeAccountSubscriber, canEagerConnect };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["defineVersions", "ProviderBuilder", "LegacyNetworks", "CAIP_BITCOIN_CHAIN_ID", "CAIP_BITCOINCASH_CHAIN_ID", "CAIP_DOGECOIN_CHAIN_ID", "CAIP_LITECOIN_CHAIN_ID", "evmBlockchains", "solanaBlockchain", "LegacyNetworks", "DefaultSignerFactory", "TxType", "DefaultSolanaSigner", "base58", "CustomSolanaSigner", "DefaultSolanaSigner", "__name", "provider", "msg", "encodedMessage", "signature", "base58", "LegacyNetworks", "SignerError", "SignerErrorCode", "ctrlTransfer", "blockchain", "ticker", "from", "amount", "decimals", "recipientAddress", "provider", "method", "memo", "resolve", "reject", "params", "error", "result", "SignerError", "SignerErrorCode", "__name", "CustomTransferSigner", "tx", "SUPPORTED_UTXO_CHAINS", "LegacyNetworks", "#signPsbt", "#signTransferObject", "asset", "psbt", "signInputs", "input", "response", "transferProvider", "getSigners", "provider", "ethProvider", "LegacyNetworks", "solProvider", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "TxType", "CustomSolanaSigner", "CustomTransferSigner", "__name", "LegacyNetworks", "utils", "ctrl", "instances", "LegacyNetworks", "__name", "getInstanceOrThrow", "evmCtrl", "evmInstance", "solanaCtrl", "solanaInstance", "evmEventSource", "requestUtxoAccounts", "instance", "resolve", "reject", "error", "accounts", "getAllUtxoAccounts", "UTXO_CHAINS", "network", "caip", "utils", "WALLET_ID", "UTXO_CHAINS", "LegacyNetworks", "CAIP_BITCOIN_CHAIN_ID", "CAIP_LITECOIN_CHAIN_ID", "CAIP_DOGECOIN_CHAIN_ID", "CAIP_BITCOINCASH_CHAIN_ID", "SUPPORTED_UTXO_CHAINS", "chain", "metadata", "allBlockchains", "evmBlockchains", "solanaBlockchain", "getSigners", "getInstanceOrThrow", "NamespaceBuilder", "actions", "builders", "hooks", "commonBuilders", "standardizeAndThrowError", "changeAccountSubscriber", "changeAccountCleanup", "hooks", "evmCtrl", "connect", "builders", "actions", "standardizeAndThrowError", "disconnect", "canSwitchNetwork", "canEagerConnect", "getChainId", "evm", "NamespaceBuilder", "WALLET_ID", "ActionBuilder", "NamespaceBuilder", "actions", "builders", "hooks", "commonBuilders", "standardizeAndThrowError", "changeAccountSubscriber", "changeAccountCleanup", "hooks", "solanaCtrl", "connect", "builders", "actions", "standardizeAndThrowError", "disconnect", "canEagerConnect", "ActionBuilder", "solana", "NamespaceBuilder", "WALLET_ID", "NamespaceBuilder", "commonBuilders", "standardizeAndThrowError", "builders", "connect", "accounts", "getAllUtxoAccounts", "__name", "utxoActions", "ActionBuilder", "ChangeAccountSubscriberBuilder", "changeAccountSubscriber", "__name", "getInstance", "ChangeAccountSubscriberBuilder", "event", "context", "getAllUtxoAccounts", "instance", "callback", "canEagerConnect", "ActionBuilder", "utxoBuilders", "changeAccountSubscriber", "changeAccountCleanup", "utxoBuilders", "evmEventSource", "connect", "builders", "utxoActions", "standardizeAndThrowError", "disconnect", "canEagerConnect", "utxo", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "setState", "ctrl", "metadata", "evm", "utxo", "solana", "versions", "__name", "defineVersions", "buildProvider"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../src/namespaces/evm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAyC9C,QAAA,MAAM,GAAG,qDAMC,CAAC;AAEX,OAAO,EAAE,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/namespaces/solana.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAgCpD,QAAA,MAAM,MAAM,wDAIF,CAAC;AAEX,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../src/namespaces/utxo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAqC3E,QAAA,MAAM,IAAI,sDAIA,CAAC;AAEX,OAAO,EAAE,IAAI,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"inputs":{"src/signers/solana.ts":{"bytes":866,"imports":[{"path":"@rango-dev/signer-solana","kind":"import-statement","external":true},{"path":"bs58","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/signers/utxo.ts":{"bytes":4493,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"../constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/signer.ts":{"bytes":1207,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/signers/solana.ts","kind":"import-statement","original":"./signers/solana.js"},{"path":"src/signers/utxo.ts","kind":"import-statement","original":"./signers/utxo.js"},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils.ts":{"bytes":4133,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/constants.ts":{"bytes":2550,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/signer.ts","kind":"import-statement","original":"./signer.js"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils.js"}],"format":"esm"},"src/namespaces/evm.ts":{"bytes":1272,"imports":[{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@hub3js/evm","kind":"import-statement","external":true},{"path":"@hub3js/std/builders","kind":"import-statement","external":true},{"path":"@hub3js/std/operators","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"../constants.js"},{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"}],"format":"esm"},"src/namespaces/solana.ts":{"bytes":1115,"imports":[{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@hub3js/solana","kind":"import-statement","external":true},{"path":"@hub3js/std/builders","kind":"import-statement","external":true},{"path":"@hub3js/std/operators","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"../constants.js"},{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"}],"format":"esm"},"src/actions/utxo.ts":{"bytes":1045,"imports":[{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/builders/utxo.ts":{"bytes":1893,"imports":[{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@hub3js/std/hooks","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/utxo.ts":{"bytes":1431,"imports":[{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@hub3js/std/builders","kind":"import-statement","external":true},{"path":"@hub3js/std/operators","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"src/actions/utxo.ts","kind":"import-statement","original":"../actions/utxo.js"},{"path":"src/builders/utxo.ts","kind":"import-statement","original":"../builders/utxo.js"},{"path":"src/constants.ts","kind":"import-statement","original":"../constants.js"},{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"}],"format":"esm"},"src/provider.ts":{"bytes":715,"imports":[{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"src/namespaces/evm.ts","kind":"import-statement","original":"./namespaces/evm.js"},{"path":"src/namespaces/solana.ts","kind":"import-statement","original":"./namespaces/solana.js"},{"path":"src/namespaces/utxo.ts","kind":"import-statement","original":"./namespaces/utxo.js"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/mod.ts":{"bytes":209,"imports":[{"path":"@hub3js/core/utils","kind":"import-statement","external":true},{"path":"src/provider.ts","kind":"import-statement","original":"./provider.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":32918},"dist/mod.js":{"imports":[{"path":"@hub3js/core/utils","kind":"import-statement","external":true},{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-solana","kind":"import-statement","external":true},{"path":"bs58","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@hub3js/evm","kind":"import-statement","external":true},{"path":"@hub3js/std/builders","kind":"import-statement","external":true},{"path":"@hub3js/std/operators","kind":"import-statement","external":true},{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@hub3js/solana","kind":"import-statement","external":true},{"path":"@hub3js/std/builders","kind":"import-statement","external":true},{"path":"@hub3js/std/operators","kind":"import-statement","external":true},{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@hub3js/std/builders","kind":"import-statement","external":true},{"path":"@hub3js/std/operators","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@hub3js/std/hooks","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true}],"exports":["versions"],"entryPoint":"src/mod.ts","inputs":{"src/mod.ts":{"bytesInOutput":112},"src/provider.ts":{"bytesInOutput":266},"src/constants.ts":{"bytesInOutput":1125},"src/signer.ts":{"bytesInOutput":401},"src/signers/solana.ts":{"bytesInOutput":290},"src/signers/utxo.ts":{"bytesInOutput":1457},"src/utils.ts":{"bytesInOutput":1354},"src/namespaces/evm.ts":{"bytesInOutput":613},"src/namespaces/solana.ts":{"bytesInOutput":514},"src/namespaces/utxo.ts":{"bytesInOutput":463},"src/actions/utxo.ts":{"bytesInOutput":199},"src/builders/utxo.ts":{"bytesInOutput":637}},"bytes":7566}}}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const buildProvider: () => import("@hub3js/core").Provider<Record<"evm", import("@hub3js/evm").EvmActions> & Record<"utxo", import("@rango-dev/wallets-core/namespaces/utxo").UtxoActions> & Record<"solana", import("@hub3js/solana").SolanaActions>>;
|
|
2
|
+
export { buildProvider };
|
|
3
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,aAAa,mOAaP,CAAC;AAEb,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/signer.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQjD,wBAA8B,UAAU,CACtC,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,aAAa,CAAC,CAcxB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SolanaExternalProvider } from '@rango-dev/signer-solana';
|
|
2
|
+
import { DefaultSolanaSigner } from '@rango-dev/signer-solana';
|
|
3
|
+
/**
|
|
4
|
+
* Ctrl's Solana provider signs messages via a direct `signMessage(bytes)` call
|
|
5
|
+
* (the standard wallet-adapter shape). `DefaultSolanaSigner` signs through
|
|
6
|
+
* `request({ method: 'signMessage' })`, which Ctrl does not support, so we keep the
|
|
7
|
+
* direct call and inherit everything else (incl. base58 output and `signAndSendTx`).
|
|
8
|
+
*/
|
|
9
|
+
export declare class CustomSolanaSigner extends DefaultSolanaSigner {
|
|
10
|
+
constructor(provider: SolanaExternalProvider);
|
|
11
|
+
signMessage(msg: string): Promise<string>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=solana.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/signers/solana.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,mBAAmB;gBAC7C,QAAQ,EAAE,sBAAsB;IAItC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAKhD"}
|