handy online tools for AT Protocol
boat.kelinci.net
atproto
bluesky
atcute
typescript
solidjs
1import { sample } from '@mary/array-fns';
2
3const words = [
4 'abroad',
5 'acorn',
6 'anaconda',
7 'anchovy',
8 'aorta',
9 'argue',
10 'ashy',
11 'astound',
12 'attest',
13 'babied',
14 'bobcat',
15 'bondless',
16 'bullion',
17 'bunny',
18 'celtic',
19 'chivalry',
20 'circling',
21 'civic',
22 'clobber',
23 'conform',
24 'cosmic',
25 'crier',
26 'curtly',
27 'depose',
28 'diagnosis',
29 'disfigure',
30 'drank',
31 'ducktail',
32 'eel',
33 'effort',
34 'equipment',
35 'eternal',
36 'exemplify',
37 'filtrate',
38 'fit',
39 'flaccid',
40 'fool',
41 'germinate',
42 'glade',
43 'graveness',
44 'gray',
45 'hydrant',
46 'italicize',
47 'landowner',
48 'lavender',
49 'mandatory',
50 'molecule',
51 'multitude',
52 'music',
53 'national',
54 'neatly',
55 'omnivore',
56 'other',
57 'overdrive',
58 'overhang',
59 'overlying',
60 'padded',
61 'pang',
62 'paralyses',
63 'partner',
64 'pedometer',
65 'plaything',
66 'pointy',
67 'prescribe',
68 'pueblo',
69 'pursuant',
70 'reprise',
71 'resilient',
72 'reusable',
73 'roster',
74 'scenic',
75 'selected',
76 'singer',
77 'slacker',
78 'smirk',
79 'smoked',
80 'smugly',
81 'startle',
82 'sternum',
83 'strut',
84 'subsystem',
85 'supper',
86 'swifter',
87 'tacking',
88 'traffic',
89 'tragedy',
90 'trapper',
91 'tummy',
92 'twiddle',
93 'unglazed',
94 'ungloved',
95 'unicorn',
96 'unissued',
97 'unmovable',
98 'unwary',
99 'uselessly',
100 'venus',
101 'vertebrae',
102 'wildly',
103 'wrecker',
104];
105
106export const generateConfirmationCode = () => {
107 return sample(words, 3).join(' ');
108};