@aztec/wallet-sdk 0.0.1-commit.f295ac2 → 0.0.1-commit.fc805bf
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 +217 -294
- package/dest/base-wallet/base_wallet.d.ts +20 -7
- package/dest/base-wallet/base_wallet.d.ts.map +1 -1
- package/dest/base-wallet/base_wallet.js +29 -11
- package/dest/crypto.d.ts +59 -50
- package/dest/crypto.d.ts.map +1 -1
- package/dest/crypto.js +202 -108
- 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/{providers/extension → extension/provider}/extension_wallet.js +48 -95
- package/dest/extension/provider/index.d.ts +3 -0
- package/dest/extension/provider/index.d.ts.map +1 -0
- package/dest/{providers/extension → extension/provider}/index.js +0 -2
- package/dest/manager/index.d.ts +2 -8
- package/dest/manager/index.d.ts.map +1 -1
- package/dest/manager/index.js +0 -6
- package/dest/manager/types.d.ts +88 -6
- package/dest/manager/types.d.ts.map +1 -1
- package/dest/manager/types.js +17 -1
- package/dest/manager/wallet_manager.d.ts +50 -7
- package/dest/manager/wallet_manager.d.ts.map +1 -1
- package/dest/manager/wallet_manager.js +174 -44
- package/dest/types.d.ts +43 -12
- package/dest/types.d.ts.map +1 -1
- package/dest/types.js +3 -2
- package/package.json +10 -9
- package/src/base-wallet/base_wallet.ts +45 -20
- package/src/crypto.ts +237 -113
- 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/{providers/extension → extension/provider}/extension_wallet.ts +52 -110
- package/src/extension/provider/index.ts +7 -0
- package/src/manager/index.ts +2 -10
- package/src/manager/types.ts +91 -5
- package/src/manager/wallet_manager.ts +192 -46
- package/src/types.ts +44 -10
- package/dest/providers/extension/extension_provider.d.ts +0 -63
- package/dest/providers/extension/extension_provider.d.ts.map +0 -1
- package/dest/providers/extension/extension_provider.js +0 -124
- package/dest/providers/extension/extension_wallet.d.ts +0 -155
- package/dest/providers/extension/extension_wallet.d.ts.map +0 -1
- package/dest/providers/extension/index.d.ts +0 -6
- package/dest/providers/extension/index.d.ts.map +0 -1
- package/src/providers/extension/extension_provider.ts +0 -167
- package/src/providers/extension/index.ts +0 -5
|
@@ -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;
|