@aztec/wallet-sdk 0.0.1-commit.0208eb9
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/README.md +321 -0
- package/dest/base-wallet/base_wallet.d.ts +117 -0
- package/dest/base-wallet/base_wallet.d.ts.map +1 -0
- package/dest/base-wallet/base_wallet.js +271 -0
- package/dest/base-wallet/index.d.ts +2 -0
- package/dest/base-wallet/index.d.ts.map +1 -0
- package/dest/base-wallet/index.js +1 -0
- package/dest/crypto.d.ts +192 -0
- package/dest/crypto.d.ts.map +1 -0
- package/dest/crypto.js +394 -0
- package/dest/emoji_alphabet.d.ts +35 -0
- package/dest/emoji_alphabet.d.ts.map +1 -0
- package/dest/emoji_alphabet.js +299 -0
- package/dest/extension/handlers/background_connection_handler.d.ts +158 -0
- package/dest/extension/handlers/background_connection_handler.d.ts.map +1 -0
- package/dest/extension/handlers/background_connection_handler.js +258 -0
- package/dest/extension/handlers/content_script_connection_handler.d.ts +56 -0
- package/dest/extension/handlers/content_script_connection_handler.d.ts.map +1 -0
- package/dest/extension/handlers/content_script_connection_handler.js +174 -0
- package/dest/extension/handlers/index.d.ts +12 -0
- package/dest/extension/handlers/index.d.ts.map +1 -0
- package/dest/extension/handlers/index.js +10 -0
- package/dest/extension/handlers/internal_message_types.d.ts +63 -0
- package/dest/extension/handlers/internal_message_types.d.ts.map +1 -0
- package/dest/extension/handlers/internal_message_types.js +22 -0
- package/dest/extension/provider/extension_provider.d.ts +107 -0
- package/dest/extension/provider/extension_provider.d.ts.map +1 -0
- package/dest/extension/provider/extension_provider.js +160 -0
- package/dest/extension/provider/extension_wallet.d.ts +131 -0
- package/dest/extension/provider/extension_wallet.d.ts.map +1 -0
- package/dest/extension/provider/extension_wallet.js +271 -0
- package/dest/extension/provider/index.d.ts +3 -0
- package/dest/extension/provider/index.d.ts.map +1 -0
- package/dest/extension/provider/index.js +2 -0
- package/dest/manager/index.d.ts +3 -0
- package/dest/manager/index.d.ts.map +1 -0
- package/dest/manager/index.js +1 -0
- package/dest/manager/types.d.ts +167 -0
- package/dest/manager/types.d.ts.map +1 -0
- package/dest/manager/types.js +19 -0
- package/dest/manager/wallet_manager.d.ts +70 -0
- package/dest/manager/wallet_manager.d.ts.map +1 -0
- package/dest/manager/wallet_manager.js +226 -0
- package/dest/types.d.ts +123 -0
- package/dest/types.d.ts.map +1 -0
- package/dest/types.js +11 -0
- package/package.json +99 -0
- package/src/base-wallet/base_wallet.ts +394 -0
- package/src/base-wallet/index.ts +1 -0
- package/src/crypto.ts +499 -0
- package/src/emoji_alphabet.ts +317 -0
- package/src/extension/handlers/background_connection_handler.ts +423 -0
- package/src/extension/handlers/content_script_connection_handler.ts +246 -0
- package/src/extension/handlers/index.ts +25 -0
- package/src/extension/handlers/internal_message_types.ts +69 -0
- package/src/extension/provider/extension_provider.ts +233 -0
- package/src/extension/provider/extension_wallet.ts +321 -0
- package/src/extension/provider/index.ts +7 -0
- package/src/manager/index.ts +12 -0
- package/src/manager/types.ts +177 -0
- package/src/manager/wallet_manager.ts +259 -0
- package/src/types.ts +132 -0
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Emoji alphabet for visual verification of shared secrets.
|
|
3
|
+
*
|
|
4
|
+
* This alphabet contains 256 distinct, easily recognizable emojis for
|
|
5
|
+
* anti-spoofing verification. With 256 emojis, each emoji represents
|
|
6
|
+
* exactly 8 bits of entropy (log2(256) = 8).
|
|
7
|
+
*
|
|
8
|
+
* A 3x3 grid of 9 emojis provides 72 bits of security (9 ร 8 = 72 bits),
|
|
9
|
+
* making brute-force attacks computationally infeasible for real-time
|
|
10
|
+
* MITM verification scenarios.
|
|
11
|
+
*
|
|
12
|
+
* Selection criteria:
|
|
13
|
+
* - Visually distinct from each other
|
|
14
|
+
* - Commonly supported across platforms (Unicode 12+)
|
|
15
|
+
* - Easy to recognize and compare at a glance
|
|
16
|
+
* - No text-based or flag emojis (platform-dependent rendering)
|
|
17
|
+
* - No variation selectors (base emojis only)
|
|
18
|
+
*
|
|
19
|
+
* @packageDocumentation
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* 256 distinct emojis for visual verification.
|
|
24
|
+
* Index directly maps to byte value (0-255) for simple lookup.
|
|
25
|
+
*/
|
|
26
|
+
export const EMOJI_ALPHABET: readonly string[] = [
|
|
27
|
+
// 0-15: Faces & figures (16)
|
|
28
|
+
'๐',
|
|
29
|
+
'๐',
|
|
30
|
+
'๐ค',
|
|
31
|
+
'๐ป',
|
|
32
|
+
'๐',
|
|
33
|
+
'๐ฝ',
|
|
34
|
+
'๐คก',
|
|
35
|
+
'๐',
|
|
36
|
+
'๐บ',
|
|
37
|
+
'๐',
|
|
38
|
+
'๐พ',
|
|
39
|
+
'๐ฟ',
|
|
40
|
+
'๐ค ',
|
|
41
|
+
'๐ฅธ',
|
|
42
|
+
'๐ง',
|
|
43
|
+
'๐ต',
|
|
44
|
+
|
|
45
|
+
// 16-47: Animals (32)
|
|
46
|
+
'๐ถ',
|
|
47
|
+
'๐ฑ',
|
|
48
|
+
'๐ธ',
|
|
49
|
+
'๐ต',
|
|
50
|
+
'๐ฆ',
|
|
51
|
+
'๐ป',
|
|
52
|
+
'๐ฆ',
|
|
53
|
+
'๐ฏ',
|
|
54
|
+
'๐ฎ',
|
|
55
|
+
'๐ท',
|
|
56
|
+
'๐',
|
|
57
|
+
'๐ง',
|
|
58
|
+
'๐ฆ',
|
|
59
|
+
'๐ฆ',
|
|
60
|
+
'๐บ',
|
|
61
|
+
'๐ฆ',
|
|
62
|
+
'๐',
|
|
63
|
+
'๐ฆ',
|
|
64
|
+
'๐',
|
|
65
|
+
'๐ฆ',
|
|
66
|
+
'๐',
|
|
67
|
+
'๐ฆ',
|
|
68
|
+
'๐ข',
|
|
69
|
+
'๐ฆ',
|
|
70
|
+
'๐',
|
|
71
|
+
'๐ฆ
',
|
|
72
|
+
'๐ฆ',
|
|
73
|
+
'๐ณ',
|
|
74
|
+
'๐ฆญ',
|
|
75
|
+
'๐ฆฉ',
|
|
76
|
+
'๐ฆ',
|
|
77
|
+
'๐',
|
|
78
|
+
|
|
79
|
+
// 48-63: Nature & weather (16)
|
|
80
|
+
'๐ต',
|
|
81
|
+
'๐ด',
|
|
82
|
+
'๐ฒ',
|
|
83
|
+
'๐ณ',
|
|
84
|
+
'๐',
|
|
85
|
+
'๐',
|
|
86
|
+
'๐',
|
|
87
|
+
'๐',
|
|
88
|
+
'๐',
|
|
89
|
+
'๐',
|
|
90
|
+
'๐ฅ',
|
|
91
|
+
'๐ง',
|
|
92
|
+
'๐จ',
|
|
93
|
+
'๐ข',
|
|
94
|
+
'๐',
|
|
95
|
+
'๐ค',
|
|
96
|
+
|
|
97
|
+
// 64-95: Food & drinks (32)
|
|
98
|
+
'๐',
|
|
99
|
+
'๐',
|
|
100
|
+
'๐',
|
|
101
|
+
'๐',
|
|
102
|
+
'๐',
|
|
103
|
+
'๐',
|
|
104
|
+
'๐ฅ',
|
|
105
|
+
'๐ฝ',
|
|
106
|
+
'๐ฅ',
|
|
107
|
+
'๐',
|
|
108
|
+
'๐',
|
|
109
|
+
'๐ฎ',
|
|
110
|
+
'๐ฃ',
|
|
111
|
+
'๐ช',
|
|
112
|
+
'๐',
|
|
113
|
+
'๐ฉ',
|
|
114
|
+
'๐บ',
|
|
115
|
+
'๐ท',
|
|
116
|
+
'๐ธ',
|
|
117
|
+
'๐ซ',
|
|
118
|
+
'๐ง',
|
|
119
|
+
'๐ฅ',
|
|
120
|
+
'๐ต',
|
|
121
|
+
'๐ง',
|
|
122
|
+
'๐ซ',
|
|
123
|
+
'๐ฌ',
|
|
124
|
+
'๐ญ',
|
|
125
|
+
'๐ฅจ',
|
|
126
|
+
'๐ฅฏ',
|
|
127
|
+
'๐ฅ',
|
|
128
|
+
'๐ง',
|
|
129
|
+
'๐ฟ',
|
|
130
|
+
|
|
131
|
+
// 96-127: Symbols & colors (32)
|
|
132
|
+
'๐ฏ',
|
|
133
|
+
'๐',
|
|
134
|
+
'๐ฅ',
|
|
135
|
+
'๐ซ',
|
|
136
|
+
'๐',
|
|
137
|
+
'๐ซจ',
|
|
138
|
+
'๐ง',
|
|
139
|
+
'๐',
|
|
140
|
+
'๐ด',
|
|
141
|
+
'๐ต',
|
|
142
|
+
'๐ข',
|
|
143
|
+
'๐ก',
|
|
144
|
+
'๐ฃ',
|
|
145
|
+
'โฌ',
|
|
146
|
+
'โฌ',
|
|
147
|
+
'๐ค',
|
|
148
|
+
'๐',
|
|
149
|
+
'๐',
|
|
150
|
+
'๐',
|
|
151
|
+
'๐งก',
|
|
152
|
+
'๐ค',
|
|
153
|
+
'๐ค',
|
|
154
|
+
'๐',
|
|
155
|
+
'๐',
|
|
156
|
+
'๐',
|
|
157
|
+
'๐',
|
|
158
|
+
'๐ฉ',
|
|
159
|
+
'๐งข',
|
|
160
|
+
'๐ชญ',
|
|
161
|
+
'๐',
|
|
162
|
+
'๐',
|
|
163
|
+
'๐ท',
|
|
164
|
+
|
|
165
|
+
// 128-159: Electronics & tools (32)
|
|
166
|
+
'๐',
|
|
167
|
+
'๐ฑ',
|
|
168
|
+
'๐ป',
|
|
169
|
+
'๐ฅ',
|
|
170
|
+
'๐ท',
|
|
171
|
+
'๐ฅ',
|
|
172
|
+
'๐บ',
|
|
173
|
+
'๐ป',
|
|
174
|
+
'๐',
|
|
175
|
+
'๐ก',
|
|
176
|
+
'๐',
|
|
177
|
+
'๐จ',
|
|
178
|
+
'๐ ',
|
|
179
|
+
'๐งฒ',
|
|
180
|
+
'๐งช',
|
|
181
|
+
'๐ฌ',
|
|
182
|
+
'๐ง',
|
|
183
|
+
'๐ช',
|
|
184
|
+
'๐ฉ',
|
|
185
|
+
'๐ช',
|
|
186
|
+
'๐ช',
|
|
187
|
+
'๐งน',
|
|
188
|
+
'๐ชฃ',
|
|
189
|
+
'๐งด',
|
|
190
|
+
'๐',
|
|
191
|
+
'๐ฝ',
|
|
192
|
+
'๐ช',
|
|
193
|
+
'๐',
|
|
194
|
+
'๐ฏ',
|
|
195
|
+
'๐ชค',
|
|
196
|
+
'๐งฏ',
|
|
197
|
+
'๐ช',
|
|
198
|
+
|
|
199
|
+
// 160-175: Transport (16)
|
|
200
|
+
'๐',
|
|
201
|
+
'๐',
|
|
202
|
+
'๐',
|
|
203
|
+
'๐',
|
|
204
|
+
'๐',
|
|
205
|
+
'๐',
|
|
206
|
+
'๐ฒ',
|
|
207
|
+
'๐',
|
|
208
|
+
'๐ฉ',
|
|
209
|
+
'๐',
|
|
210
|
+
'๐ธ',
|
|
211
|
+
'๐',
|
|
212
|
+
'๐ข',
|
|
213
|
+
'๐ค',
|
|
214
|
+
'๐',
|
|
215
|
+
'๐ ',
|
|
216
|
+
|
|
217
|
+
// 176-191: Sports & games (16)
|
|
218
|
+
'๐ฅ
',
|
|
219
|
+
'๐',
|
|
220
|
+
'๐',
|
|
221
|
+
'๐',
|
|
222
|
+
'๐',
|
|
223
|
+
'๐ฑ',
|
|
224
|
+
'๐ฏ',
|
|
225
|
+
'๐ณ',
|
|
226
|
+
'๐ฒ',
|
|
227
|
+
'๐ฎ',
|
|
228
|
+
'๐น',
|
|
229
|
+
'๐งฉ',
|
|
230
|
+
'๐ด',
|
|
231
|
+
'๐ฐ',
|
|
232
|
+
'๐',
|
|
233
|
+
'๐',
|
|
234
|
+
|
|
235
|
+
// 192-207: Music & arts (16)
|
|
236
|
+
'๐ธ',
|
|
237
|
+
'๐น',
|
|
238
|
+
'๐บ',
|
|
239
|
+
'๐ป',
|
|
240
|
+
'๐ฅ',
|
|
241
|
+
'๐ท',
|
|
242
|
+
'๐ค',
|
|
243
|
+
'๐ง',
|
|
244
|
+
'๐จ',
|
|
245
|
+
'๐',
|
|
246
|
+
'๐ญ',
|
|
247
|
+
'๐ช',
|
|
248
|
+
'๐ฌ',
|
|
249
|
+
'๐ผ',
|
|
250
|
+
'๐ช',
|
|
251
|
+
'๐ช',
|
|
252
|
+
|
|
253
|
+
// 208-223: Buildings & places (16)
|
|
254
|
+
'๐ ',
|
|
255
|
+
'๐ฐ',
|
|
256
|
+
'๐ผ',
|
|
257
|
+
'๐ฝ',
|
|
258
|
+
'๐',
|
|
259
|
+
'๐',
|
|
260
|
+
'๐',
|
|
261
|
+
'๐ฏ',
|
|
262
|
+
'๐ข',
|
|
263
|
+
'๐ก',
|
|
264
|
+
'๐',
|
|
265
|
+
'๐',
|
|
266
|
+
'๐ป',
|
|
267
|
+
'๐',
|
|
268
|
+
'๐',
|
|
269
|
+
'๐',
|
|
270
|
+
|
|
271
|
+
// 224-239: Science & medical (16)
|
|
272
|
+
'๐ฆ',
|
|
273
|
+
'๐งณ',
|
|
274
|
+
'๐ฐ',
|
|
275
|
+
'๐ฆ',
|
|
276
|
+
'๐ชซ',
|
|
277
|
+
'๐ก',
|
|
278
|
+
'๐ญ',
|
|
279
|
+
'๐ฎ',
|
|
280
|
+
'๐งฟ',
|
|
281
|
+
'๐ฟ',
|
|
282
|
+
'๐ซ',
|
|
283
|
+
'๐',
|
|
284
|
+
'๐ฉบ',
|
|
285
|
+
'๐ฉน',
|
|
286
|
+
'๐งฌ',
|
|
287
|
+
'๐ฆ ',
|
|
288
|
+
|
|
289
|
+
// 240-255: Miscellaneous (16)
|
|
290
|
+
'๐',
|
|
291
|
+
'๐',
|
|
292
|
+
'๐',
|
|
293
|
+
'๐',
|
|
294
|
+
'๐ช
',
|
|
295
|
+
'๐งง',
|
|
296
|
+
'๐จ',
|
|
297
|
+
'๐',
|
|
298
|
+
'๐',
|
|
299
|
+
'๐',
|
|
300
|
+
'๐ชก',
|
|
301
|
+
'๐',
|
|
302
|
+
'๐',
|
|
303
|
+
'๐',
|
|
304
|
+
'๐งธ',
|
|
305
|
+
'๐ช',
|
|
306
|
+
] as const;
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* Number of emojis in the alphabet.
|
|
310
|
+
* Must be a power of 2 for clean bit mapping (256 = 2^8).
|
|
311
|
+
*/
|
|
312
|
+
export const EMOJI_ALPHABET_SIZE = 256;
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* Bits of entropy per emoji (log2 of alphabet size).
|
|
316
|
+
*/
|
|
317
|
+
export const BITS_PER_EMOJI = 8;
|