@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.
Files changed (67) hide show
  1. package/README.md +217 -294
  2. package/dest/base-wallet/base_wallet.d.ts +20 -7
  3. package/dest/base-wallet/base_wallet.d.ts.map +1 -1
  4. package/dest/base-wallet/base_wallet.js +29 -11
  5. package/dest/crypto.d.ts +59 -50
  6. package/dest/crypto.d.ts.map +1 -1
  7. package/dest/crypto.js +202 -108
  8. package/dest/emoji_alphabet.d.ts +35 -0
  9. package/dest/emoji_alphabet.d.ts.map +1 -0
  10. package/dest/emoji_alphabet.js +299 -0
  11. package/dest/extension/handlers/background_connection_handler.d.ts +158 -0
  12. package/dest/extension/handlers/background_connection_handler.d.ts.map +1 -0
  13. package/dest/extension/handlers/background_connection_handler.js +258 -0
  14. package/dest/extension/handlers/content_script_connection_handler.d.ts +56 -0
  15. package/dest/extension/handlers/content_script_connection_handler.d.ts.map +1 -0
  16. package/dest/extension/handlers/content_script_connection_handler.js +174 -0
  17. package/dest/extension/handlers/index.d.ts +12 -0
  18. package/dest/extension/handlers/index.d.ts.map +1 -0
  19. package/dest/extension/handlers/index.js +10 -0
  20. package/dest/extension/handlers/internal_message_types.d.ts +63 -0
  21. package/dest/extension/handlers/internal_message_types.d.ts.map +1 -0
  22. package/dest/extension/handlers/internal_message_types.js +22 -0
  23. package/dest/extension/provider/extension_provider.d.ts +107 -0
  24. package/dest/extension/provider/extension_provider.d.ts.map +1 -0
  25. package/dest/extension/provider/extension_provider.js +160 -0
  26. package/dest/extension/provider/extension_wallet.d.ts +131 -0
  27. package/dest/extension/provider/extension_wallet.d.ts.map +1 -0
  28. package/dest/{providers/extension → extension/provider}/extension_wallet.js +48 -95
  29. package/dest/extension/provider/index.d.ts +3 -0
  30. package/dest/extension/provider/index.d.ts.map +1 -0
  31. package/dest/{providers/extension → extension/provider}/index.js +0 -2
  32. package/dest/manager/index.d.ts +2 -8
  33. package/dest/manager/index.d.ts.map +1 -1
  34. package/dest/manager/index.js +0 -6
  35. package/dest/manager/types.d.ts +88 -6
  36. package/dest/manager/types.d.ts.map +1 -1
  37. package/dest/manager/types.js +17 -1
  38. package/dest/manager/wallet_manager.d.ts +50 -7
  39. package/dest/manager/wallet_manager.d.ts.map +1 -1
  40. package/dest/manager/wallet_manager.js +174 -44
  41. package/dest/types.d.ts +43 -12
  42. package/dest/types.d.ts.map +1 -1
  43. package/dest/types.js +3 -2
  44. package/package.json +10 -9
  45. package/src/base-wallet/base_wallet.ts +45 -20
  46. package/src/crypto.ts +237 -113
  47. package/src/emoji_alphabet.ts +317 -0
  48. package/src/extension/handlers/background_connection_handler.ts +423 -0
  49. package/src/extension/handlers/content_script_connection_handler.ts +246 -0
  50. package/src/extension/handlers/index.ts +25 -0
  51. package/src/extension/handlers/internal_message_types.ts +69 -0
  52. package/src/extension/provider/extension_provider.ts +233 -0
  53. package/src/{providers/extension → extension/provider}/extension_wallet.ts +52 -110
  54. package/src/extension/provider/index.ts +7 -0
  55. package/src/manager/index.ts +2 -10
  56. package/src/manager/types.ts +91 -5
  57. package/src/manager/wallet_manager.ts +192 -46
  58. package/src/types.ts +44 -10
  59. package/dest/providers/extension/extension_provider.d.ts +0 -63
  60. package/dest/providers/extension/extension_provider.d.ts.map +0 -1
  61. package/dest/providers/extension/extension_provider.js +0 -124
  62. package/dest/providers/extension/extension_wallet.d.ts +0 -155
  63. package/dest/providers/extension/extension_wallet.d.ts.map +0 -1
  64. package/dest/providers/extension/index.d.ts +0 -6
  65. package/dest/providers/extension/index.d.ts.map +0 -1
  66. package/src/providers/extension/extension_provider.ts +0 -167
  67. 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;