cake_wallet/cw_solana/lib/solana_mnemonics.dart

2059 lines
27 KiB
Dart
Raw Permalink Normal View History

CW-555-Add-Solana-Wallet (#1272) * chore: Create cw_solana package and clean up files * feat: Add Solana Wallet - Create, Restore form seed, restore from Key, Restore from QR, Send, Receive, transaction history, spl tokens * fix: Make transactions file specific to solana only for solana transactions * chore: Revert inject app details script * fix: Fix issue with node and switch current node to main beta instead of testnet * fix: Fix merge conflicts and adjust migration version * fix: Fetch spl token error Signed-off-by: Blazebrain <davidadegoke16@gmail.com> * fix: Diplay and activate spl tokens bug * fix: Review and fixes * fix: reverted formatting for cryptocurrency class * fix: Review comments, split sending flow into signing and sending separately, fix issues * fix: Revert throwing unimplenented error * chore: Fix comment * chore: Fix comment * fix: Errors in flow * Update provider_types.dart [skip ci] * fix: Issues with solana wallet * Update solana_wallet.dart [skip ci] * fix: Review comments * fix: Date time config * fix: Revert bash script for app details * fix: Error with balance, displaying fees, fixing sent or received identifier bug, displaying token symbol with token transaction item in transactions list * fix: Issues with address validation when sending spl tokens and walletconnect initial setup * fix: Issues with sending, fetching transactions history, almost wrapping up walletconnect * fix: Adjust imports that would affect monerocom building successfully * fix: Refine transaction direction and continue work on walletconnect * feat: Display SPL token transfers in the transaction history and finally settle the transaction direction * fix: Delay in transactions history dispaly, show native token transactions first, then process spl token transactions * feat: Switch node and revert solana chain id to previous id * fix: Remove print statement * fix: Remove await for transactions, fetch all transaction histories instantly and adjust solana send success message * chore: Code refactoring and streamlined wallet type check for solana send success message * fix: Make timeout error for node silent and add spl token images --------- Signed-off-by: Blazebrain <davidadegoke16@gmail.com> Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-02-23 13:39:19 +00:00
class SolanaMnemonicIsIncorrectException implements Exception {
@override
String toString() =>
'Solana mnemonic has incorrect format. Mnemonic should contain 12 or 24 words separated by space.';
}
class SolanaMnemonics {
static const englishWordlist = <String>[
'abandon',
'ability',
'able',
'about',
'above',
'absent',
'absorb',
'abstract',
'absurd',
'abuse',
'access',
'accident',
'account',
'accuse',
'achieve',
'acid',
'acoustic',
'acquire',
'across',
'act',
'action',
'actor',
'actress',
'actual',
'adapt',
'add',
'addict',
'address',
'adjust',
'admit',
'adult',
'advance',
'advice',
'aerobic',
'affair',
'afford',
'afraid',
'again',
'age',
'agent',
'agree',
'ahead',
'aim',
'air',
'airport',
'aisle',
'alarm',
'album',
'alcohol',
'alert',
'alien',
'all',
'alley',
'allow',
'almost',
'alone',
'alpha',
'already',
'also',
'alter',
'always',
'amateur',
'amazing',
'among',
'amount',
'amused',
'analyst',
'anchor',
'ancient',
'anger',
'angle',
'angry',
'animal',
'ankle',
'announce',
'annual',
'another',
'answer',
'antenna',
'antique',
'anxiety',
'any',
'apart',
'apology',
'appear',
'apple',
'approve',
'april',
'arch',
'arctic',
'area',
'arena',
'argue',
'arm',
'armed',
'armor',
'army',
'around',
'arrange',
'arrest',
'arrive',
'arrow',
'art',
'artefact',
'artist',
'artwork',
'ask',
'aspect',
'assault',
'asset',
'assist',
'assume',
'asthma',
'athlete',
'atom',
'attack',
'attend',
'attitude',
'attract',
'auction',
'audit',
'august',
'aunt',
'author',
'auto',
'autumn',
'average',
'avocado',
'avoid',
'awake',
'aware',
'away',
'awesome',
'awful',
'awkward',
'axis',
'baby',
'bachelor',
'bacon',
'badge',
'bag',
'balance',
'balcony',
'ball',
'bamboo',
'banana',
'banner',
'bar',
'barely',
'bargain',
'barrel',
'base',
'basic',
'basket',
'battle',
'beach',
'bean',
'beauty',
'because',
'become',
'beef',
'before',
'begin',
'behave',
'behind',
'believe',
'below',
'belt',
'bench',
'benefit',
'best',
'betray',
'better',
'between',
'beyond',
'bicycle',
'bid',
'bike',
'bind',
'biology',
'bird',
'birth',
'bitter',
'black',
'blade',
'blame',
'blanket',
'blast',
'bleak',
'bless',
'blind',
'blood',
'blossom',
'blouse',
'blue',
'blur',
'blush',
'board',
'boat',
'body',
'boil',
'bomb',
'bone',
'bonus',
'book',
'boost',
'border',
'boring',
'borrow',
'boss',
'bottom',
'bounce',
'box',
'boy',
'bracket',
'brain',
'brand',
'brass',
'brave',
'bread',
'breeze',
'brick',
'bridge',
'brief',
'bright',
'bring',
'brisk',
'broccoli',
'broken',
'bronze',
'broom',
'brother',
'brown',
'brush',
'bubble',
'buddy',
'budget',
'buffalo',
'build',
'bulb',
'bulk',
'bullet',
'bundle',
'bunker',
'burden',
'burger',
'burst',
'bus',
'business',
'busy',
'butter',
'buyer',
'buzz',
'cabbage',
'cabin',
'cable',
'cactus',
'cage',
'cake',
'call',
'calm',
'camera',
'camp',
'can',
'canal',
'cancel',
'candy',
'cannon',
'canoe',
'canvas',
'canyon',
'capable',
'capital',
'captain',
'car',
'carbon',
'card',
'cargo',
'carpet',
'carry',
'cart',
'case',
'cash',
'casino',
'castle',
'casual',
'cat',
'catalog',
'catch',
'category',
'cattle',
'caught',
'cause',
'caution',
'cave',
'ceiling',
'celery',
'cement',
'census',
'century',
'cereal',
'certain',
'chair',
'chalk',
'champion',
'change',
'chaos',
'chapter',
'charge',
'chase',
'chat',
'cheap',
'check',
'cheese',
'chef',
'cherry',
'chest',
'chicken',
'chief',
'child',
'chimney',
'choice',
'choose',
'chronic',
'chuckle',
'chunk',
'churn',
'cigar',
'cinnamon',
'circle',
'citizen',
'city',
'civil',
'claim',
'clap',
'clarify',
'claw',
'clay',
'clean',
'clerk',
'clever',
'click',
'client',
'cliff',
'climb',
'clinic',
'clip',
'clock',
'clog',
'close',
'cloth',
'cloud',
'clown',
'club',
'clump',
'cluster',
'clutch',
'coach',
'coast',
'coconut',
'code',
'coffee',
'coil',
'coin',
'collect',
'color',
'column',
'combine',
'come',
'comfort',
'comic',
'common',
'company',
'concert',
'conduct',
'confirm',
'congress',
'connect',
'consider',
'control',
'convince',
'cook',
'cool',
'copper',
'copy',
'coral',
'core',
'corn',
'correct',
'cost',
'cotton',
'couch',
'country',
'couple',
'course',
'cousin',
'cover',
'coyote',
'crack',
'cradle',
'craft',
'cram',
'crane',
'crash',
'crater',
'crawl',
'crazy',
'cream',
'credit',
'creek',
'crew',
'cricket',
'crime',
'crisp',
'critic',
'crop',
'cross',
'crouch',
'crowd',
'crucial',
'cruel',
'cruise',
'crumble',
'crunch',
'crush',
'cry',
'crystal',
'cube',
'culture',
'cup',
'cupboard',
'curious',
'current',
'curtain',
'curve',
'cushion',
'custom',
'cute',
'cycle',
'dad',
'damage',
'damp',
'dance',
'danger',
'daring',
'dash',
'daughter',
'dawn',
'day',
'deal',
'debate',
'debris',
'decade',
'december',
'decide',
'decline',
'decorate',
'decrease',
'deer',
'defense',
'define',
'defy',
'degree',
'delay',
'deliver',
'demand',
'demise',
'denial',
'dentist',
'deny',
'depart',
'depend',
'deposit',
'depth',
'deputy',
'derive',
'describe',
'desert',
'design',
'desk',
'despair',
'destroy',
'detail',
'detect',
'develop',
'device',
'devote',
'diagram',
'dial',
'diamond',
'diary',
'dice',
'diesel',
'diet',
'differ',
'digital',
'dignity',
'dilemma',
'dinner',
'dinosaur',
'direct',
'dirt',
'disagree',
'discover',
'disease',
'dish',
'dismiss',
'disorder',
'display',
'distance',
'divert',
'divide',
'divorce',
'dizzy',
'doctor',
'document',
'dog',
'doll',
'dolphin',
'domain',
'donate',
'donkey',
'donor',
'door',
'dose',
'double',
'dove',
'draft',
'dragon',
'drama',
'drastic',
'draw',
'dream',
'dress',
'drift',
'drill',
'drink',
'drip',
'drive',
'drop',
'drum',
'dry',
'duck',
'dumb',
'dune',
'during',
'dust',
'dutch',
'duty',
'dwarf',
'dynamic',
'eager',
'eagle',
'early',
'earn',
'earth',
'easily',
'east',
'easy',
'echo',
'ecology',
'economy',
'edge',
'edit',
'educate',
'effort',
'egg',
'eight',
'either',
'elbow',
'elder',
'electric',
'elegant',
'element',
'elephant',
'elevator',
'elite',
'else',
'embark',
'embody',
'embrace',
'emerge',
'emotion',
'employ',
'empower',
'empty',
'enable',
'enact',
'end',
'endless',
'endorse',
'enemy',
'energy',
'enforce',
'engage',
'engine',
'enhance',
'enjoy',
'enlist',
'enough',
'enrich',
'enroll',
'ensure',
'enter',
'entire',
'entry',
'envelope',
'episode',
'equal',
'equip',
'era',
'erase',
'erode',
'erosion',
'error',
'erupt',
'escape',
'essay',
'essence',
'estate',
'eternal',
'ethics',
'evidence',
'evil',
'evoke',
'evolve',
'exact',
'example',
'excess',
'exchange',
'excite',
'exclude',
'excuse',
'execute',
'exercise',
'exhaust',
'exhibit',
'exile',
'exist',
'exit',
'exotic',
'expand',
'expect',
'expire',
'explain',
'expose',
'express',
'extend',
'extra',
'eye',
'eyebrow',
'fabric',
'face',
'faculty',
'fade',
'faint',
'faith',
'fall',
'false',
'fame',
'family',
'famous',
'fan',
'fancy',
'fantasy',
'farm',
'fashion',
'fat',
'fatal',
'father',
'fatigue',
'fault',
'favorite',
'feature',
'february',
'federal',
'fee',
'feed',
'feel',
'female',
'fence',
'festival',
'fetch',
'fever',
'few',
'fiber',
'fiction',
'field',
'figure',
'file',
'film',
'filter',
'final',
'find',
'fine',
'finger',
'finish',
'fire',
'firm',
'first',
'fiscal',
'fish',
'fit',
'fitness',
'fix',
'flag',
'flame',
'flash',
'flat',
'flavor',
'flee',
'flight',
'flip',
'float',
'flock',
'floor',
'flower',
'fluid',
'flush',
'fly',
'foam',
'focus',
'fog',
'foil',
'fold',
'follow',
'food',
'foot',
'force',
'forest',
'forget',
'fork',
'fortune',
'forum',
'forward',
'fossil',
'foster',
'found',
'fox',
'fragile',
'frame',
'frequent',
'fresh',
'friend',
'fringe',
'frog',
'front',
'frost',
'frown',
'frozen',
'fruit',
'fuel',
'fun',
'funny',
'furnace',
'fury',
'future',
'gadget',
'gain',
'galaxy',
'gallery',
'game',
'gap',
'garage',
'garbage',
'garden',
'garlic',
'garment',
'gas',
'gasp',
'gate',
'gather',
'gauge',
'gaze',
'general',
'genius',
'genre',
'gentle',
'genuine',
'gesture',
'ghost',
'giant',
'gift',
'giggle',
'ginger',
'giraffe',
'girl',
'give',
'glad',
'glance',
'glare',
'glass',
'glide',
'glimpse',
'globe',
'gloom',
'glory',
'glove',
'glow',
'glue',
'goat',
'goddess',
'gold',
'good',
'goose',
'gorilla',
'gospel',
'gossip',
'govern',
'gown',
'grab',
'grace',
'grain',
'grant',
'grape',
'grass',
'gravity',
'great',
'green',
'grid',
'grief',
'grit',
'grocery',
'group',
'grow',
'grunt',
'guard',
'guess',
'guide',
'guilt',
'guitar',
'gun',
'gym',
'habit',
'hair',
'half',
'hammer',
'hamster',
'hand',
'happy',
'harbor',
'hard',
'harsh',
'harvest',
'hat',
'have',
'hawk',
'hazard',
'head',
'health',
'heart',
'heavy',
'hedgehog',
'height',
'hello',
'helmet',
'help',
'hen',
'hero',
'hidden',
'high',
'hill',
'hint',
'hip',
'hire',
'history',
'hobby',
'hockey',
'hold',
'hole',
'holiday',
'hollow',
'home',
'honey',
'hood',
'hope',
'horn',
'horror',
'horse',
'hospital',
'host',
'hotel',
'hour',
'hover',
'hub',
'huge',
'human',
'humble',
'humor',
'hundred',
'hungry',
'hunt',
'hurdle',
'hurry',
'hurt',
'husband',
'hybrid',
'ice',
'icon',
'idea',
'identify',
'idle',
'ignore',
'ill',
'illegal',
'illness',
'image',
'imitate',
'immense',
'immune',
'impact',
'impose',
'improve',
'impulse',
'inch',
'include',
'income',
'increase',
'index',
'indicate',
'indoor',
'industry',
'infant',
'inflict',
'inform',
'inhale',
'inherit',
'initial',
'inject',
'injury',
'inmate',
'inner',
'innocent',
'input',
'inquiry',
'insane',
'insect',
'inside',
'inspire',
'install',
'intact',
'interest',
'into',
'invest',
'invite',
'involve',
'iron',
'island',
'isolate',
'issue',
'item',
'ivory',
'jacket',
'jaguar',
'jar',
'jazz',
'jealous',
'jeans',
'jelly',
'jewel',
'job',
'join',
'joke',
'journey',
'joy',
'judge',
'juice',
'jump',
'jungle',
'junior',
'junk',
'just',
'kangaroo',
'keen',
'keep',
'ketchup',
'key',
'kick',
'kid',
'kidney',
'kind',
'kingdom',
'kiss',
'kit',
'kitchen',
'kite',
'kitten',
'kiwi',
'knee',
'knife',
'knock',
'know',
'lab',
'label',
'labor',
'ladder',
'lady',
'lake',
'lamp',
'language',
'laptop',
'large',
'later',
'latin',
'laugh',
'laundry',
'lava',
'law',
'lawn',
'lawsuit',
'layer',
'lazy',
'leader',
'leaf',
'learn',
'leave',
'lecture',
'left',
'leg',
'legal',
'legend',
'leisure',
'lemon',
'lend',
'length',
'lens',
'leopard',
'lesson',
'letter',
'level',
'liar',
'liberty',
'library',
'license',
'life',
'lift',
'light',
'like',
'limb',
'limit',
'link',
'lion',
'liquid',
'list',
'little',
'live',
'lizard',
'load',
'loan',
'lobster',
'local',
'lock',
'logic',
'lonely',
'long',
'loop',
'lottery',
'loud',
'lounge',
'love',
'loyal',
'lucky',
'luggage',
'lumber',
'lunar',
'lunch',
'luxury',
'lyrics',
'machine',
'mad',
'magic',
'magnet',
'maid',
'mail',
'main',
'major',
'make',
'mammal',
'man',
'manage',
'mandate',
'mango',
'mansion',
'manual',
'maple',
'marble',
'march',
'margin',
'marine',
'market',
'marriage',
'mask',
'mass',
'master',
'match',
'material',
'math',
'matrix',
'matter',
'maximum',
'maze',
'meadow',
'mean',
'measure',
'meat',
'mechanic',
'medal',
'media',
'melody',
'melt',
'member',
'memory',
'mention',
'menu',
'mercy',
'merge',
'merit',
'merry',
'mesh',
'message',
'metal',
'method',
'middle',
'midnight',
'milk',
'million',
'mimic',
'mind',
'minimum',
'minor',
'minute',
'miracle',
'mirror',
'misery',
'miss',
'mistake',
'mix',
'mixed',
'mixture',
'mobile',
'model',
'modify',
'mom',
'moment',
'monitor',
'monkey',
'monster',
'month',
'moon',
'moral',
'more',
'morning',
'mosquito',
'mother',
'motion',
'motor',
'mountain',
'mouse',
'move',
'movie',
'much',
'muffin',
'mule',
'multiply',
'muscle',
'museum',
'mushroom',
'music',
'must',
'mutual',
'myself',
'mystery',
'myth',
'naive',
'name',
'napkin',
'narrow',
'nasty',
'nation',
'nature',
'near',
'neck',
'need',
'negative',
'neglect',
'neither',
'nephew',
'nerve',
'nest',
'net',
'network',
'neutral',
'never',
'news',
'next',
'nice',
'night',
'noble',
'noise',
'nominee',
'noodle',
'normal',
'north',
'nose',
'notable',
'note',
'nothing',
'notice',
'novel',
'now',
'nuclear',
'number',
'nurse',
'nut',
'oak',
'obey',
'object',
'oblige',
'obscure',
'observe',
'obtain',
'obvious',
'occur',
'ocean',
'october',
'odor',
'off',
'offer',
'office',
'often',
'oil',
'okay',
'old',
'olive',
'olympic',
'omit',
'once',
'one',
'onion',
'online',
'only',
'open',
'opera',
'opinion',
'oppose',
'option',
'orange',
'orbit',
'orchard',
'order',
'ordinary',
'organ',
'orient',
'original',
'orphan',
'ostrich',
'other',
'outdoor',
'outer',
'output',
'outside',
'oval',
'oven',
'over',
'own',
'owner',
'oxygen',
'oyster',
'ozone',
'pact',
'paddle',
'page',
'pair',
'palace',
'palm',
'panda',
'panel',
'panic',
'panther',
'paper',
'parade',
'parent',
'park',
'parrot',
'party',
'pass',
'patch',
'path',
'patient',
'patrol',
'pattern',
'pause',
'pave',
'payment',
'peace',
'peanut',
'pear',
'peasant',
'pelican',
'pen',
'penalty',
'pencil',
'people',
'pepper',
'perfect',
'permit',
'person',
'pet',
'phone',
'photo',
'phrase',
'physical',
'piano',
'picnic',
'picture',
'piece',
'pig',
'pigeon',
'pill',
'pilot',
'pink',
'pioneer',
'pipe',
'pistol',
'pitch',
'pizza',
'place',
'planet',
'plastic',
'plate',
'play',
'please',
'pledge',
'pluck',
'plug',
'plunge',
'poem',
'poet',
'point',
'polar',
'pole',
'police',
'pond',
'pony',
'pool',
'popular',
'portion',
'position',
'possible',
'post',
'potato',
'pottery',
'poverty',
'powder',
'power',
'practice',
'praise',
'predict',
'prefer',
'prepare',
'present',
'pretty',
'prevent',
'price',
'pride',
'primary',
'print',
'priority',
'prison',
'private',
'prize',
'problem',
'process',
'produce',
'profit',
'program',
'project',
'promote',
'proof',
'property',
'prosper',
'protect',
'proud',
'provide',
'public',
'pudding',
'pull',
'pulp',
'pulse',
'pumpkin',
'punch',
'pupil',
'puppy',
'purchase',
'purity',
'purpose',
'purse',
'push',
'put',
'puzzle',
'pyramid',
'quality',
'quantum',
'quarter',
'question',
'quick',
'quit',
'quiz',
'quote',
'rabbit',
'raccoon',
'race',
'rack',
'radar',
'radio',
'rail',
'rain',
'raise',
'rally',
'ramp',
'ranch',
'random',
'range',
'rapid',
'rare',
'rate',
'rather',
'raven',
'raw',
'razor',
'ready',
'real',
'reason',
'rebel',
'rebuild',
'recall',
'receive',
'recipe',
'record',
'recycle',
'reduce',
'reflect',
'reform',
'refuse',
'region',
'regret',
'regular',
'reject',
'relax',
'release',
'relief',
'rely',
'remain',
'remember',
'remind',
'remove',
'render',
'renew',
'rent',
'reopen',
'repair',
'repeat',
'replace',
'report',
'require',
'rescue',
'resemble',
'resist',
'resource',
'response',
'result',
'retire',
'retreat',
'return',
'reunion',
'reveal',
'review',
'reward',
'rhythm',
'rib',
'ribbon',
'rice',
'rich',
'ride',
'ridge',
'rifle',
'right',
'rigid',
'ring',
'riot',
'ripple',
'risk',
'ritual',
'rival',
'river',
'road',
'roast',
'robot',
'robust',
'rocket',
'romance',
'roof',
'rookie',
'room',
'rose',
'rotate',
'rough',
'round',
'route',
'royal',
'rubber',
'rude',
'rug',
'rule',
'run',
'runway',
'rural',
'sad',
'saddle',
'sadness',
'safe',
'sail',
'salad',
'salmon',
'salon',
'salt',
'salute',
'same',
'sample',
'sand',
'satisfy',
'satoshi',
'sauce',
'sausage',
'save',
'say',
'scale',
'scan',
'scare',
'scatter',
'scene',
'scheme',
'school',
'science',
'scissors',
'scorpion',
'scout',
'scrap',
'screen',
'script',
'scrub',
'sea',
'search',
'season',
'seat',
'second',
'secret',
'section',
'security',
'seed',
'seek',
'segment',
'select',
'sell',
'seminar',
'senior',
'sense',
'sentence',
'series',
'service',
'session',
'settle',
'setup',
'seven',
'shadow',
'shaft',
'shallow',
'share',
'shed',
'shell',
'sheriff',
'shield',
'shift',
'shine',
'ship',
'shiver',
'shock',
'shoe',
'shoot',
'shop',
'short',
'shoulder',
'shove',
'shrimp',
'shrug',
'shuffle',
'shy',
'sibling',
'sick',
'side',
'siege',
'sight',
'sign',
'silent',
'silk',
'silly',
'silver',
'similar',
'simple',
'since',
'sing',
'siren',
'sister',
'situate',
'six',
'size',
'skate',
'sketch',
'ski',
'skill',
'skin',
'skirt',
'skull',
'slab',
'slam',
'sleep',
'slender',
'slice',
'slide',
'slight',
'slim',
'slogan',
'slot',
'slow',
'slush',
'small',
'smart',
'smile',
'smoke',
'smooth',
'snack',
'snake',
'snap',
'sniff',
'snow',
'soap',
'soccer',
'social',
'sock',
'soda',
'soft',
'solar',
'soldier',
'solid',
'solution',
'solve',
'someone',
'song',
'soon',
'sorry',
'sort',
'soul',
'sound',
'soup',
'source',
'south',
'space',
'spare',
'spatial',
'spawn',
'speak',
'special',
'speed',
'spell',
'spend',
'sphere',
'spice',
'spider',
'spike',
'spin',
'spirit',
'split',
'spoil',
'sponsor',
'spoon',
'sport',
'spot',
'spray',
'spread',
'spring',
'spy',
'square',
'squeeze',
'squirrel',
'stable',
'stadium',
'staff',
'stage',
'stairs',
'stamp',
'stand',
'start',
'state',
'stay',
'steak',
'steel',
'stem',
'step',
'stereo',
'stick',
'still',
'sting',
'stock',
'stomach',
'stone',
'stool',
'story',
'stove',
'strategy',
'street',
'strike',
'strong',
'struggle',
'student',
'stuff',
'stumble',
'style',
'subject',
'submit',
'subway',
'success',
'such',
'sudden',
'suffer',
'sugar',
'suggest',
'suit',
'summer',
'sun',
'sunny',
'sunset',
'super',
'supply',
'supreme',
'sure',
'surface',
'surge',
'surprise',
'surround',
'survey',
'suspect',
'sustain',
'swallow',
'swamp',
'swap',
'swarm',
'swear',
'sweet',
'swift',
'swim',
'swing',
'switch',
'sword',
'symbol',
'symptom',
'syrup',
'system',
'table',
'tackle',
'tag',
'tail',
'talent',
'talk',
'tank',
'tape',
'target',
'task',
'taste',
'tattoo',
'taxi',
'teach',
'team',
'tell',
'ten',
'tenant',
'tennis',
'tent',
'term',
'test',
'text',
'thank',
'that',
'theme',
'then',
'theory',
'there',
'they',
'thing',
'this',
'thought',
'three',
'thrive',
'throw',
'thumb',
'thunder',
'ticket',
'tide',
'tiger',
'tilt',
'timber',
'time',
'tiny',
'tip',
'tired',
'tissue',
'title',
'toast',
'tobacco',
'today',
'toddler',
'toe',
'together',
'toilet',
'token',
'tomato',
'tomorrow',
'tone',
'tongue',
'tonight',
'tool',
'tooth',
'top',
'topic',
'topple',
'torch',
'tornado',
'tortoise',
'toss',
'total',
'tourist',
'toward',
'tower',
'town',
'toy',
'track',
'trade',
'traffic',
'tragic',
'train',
'transfer',
'trap',
'trash',
'travel',
'tray',
'treat',
'tree',
'trend',
'trial',
'tribe',
'trick',
'trigger',
'trim',
'trip',
'trophy',
'trouble',
'truck',
'true',
'truly',
'trumpet',
'trust',
'truth',
'try',
'tube',
'tuition',
'tumble',
'tuna',
'tunnel',
'turkey',
'turn',
'turtle',
'twelve',
'twenty',
'twice',
'twin',
'twist',
'two',
'type',
'typical',
'ugly',
'umbrella',
'unable',
'unaware',
'uncle',
'uncover',
'under',
'undo',
'unfair',
'unfold',
'unhappy',
'uniform',
'unique',
'unit',
'universe',
'unknown',
'unlock',
'until',
'unusual',
'unveil',
'update',
'upgrade',
'uphold',
'upon',
'upper',
'upset',
'urban',
'urge',
'usage',
'use',
'used',
'useful',
'useless',
'usual',
'utility',
'vacant',
'vacuum',
'vague',
'valid',
'valley',
'valve',
'van',
'vanish',
'vapor',
'various',
'vast',
'vault',
'vehicle',
'velvet',
'vendor',
'venture',
'venue',
'verb',
'verify',
'version',
'very',
'vessel',
'veteran',
'viable',
'vibrant',
'vicious',
'victory',
'video',
'view',
'village',
'vintage',
'violin',
'virtual',
'virus',
'visa',
'visit',
'visual',
'vital',
'vivid',
'vocal',
'voice',
'void',
'volcano',
'volume',
'vote',
'voyage',
'wage',
'wagon',
'wait',
'walk',
'wall',
'walnut',
'want',
'warfare',
'warm',
'warrior',
'wash',
'wasp',
'waste',
'water',
'wave',
'way',
'wealth',
'weapon',
'wear',
'weasel',
'weather',
'web',
'wedding',
'weekend',
'weird',
'welcome',
'west',
'wet',
'whale',
'what',
'wheat',
'wheel',
'when',
'where',
'whip',
'whisper',
'wide',
'width',
'wife',
'wild',
'will',
'win',
'window',
'wine',
'wing',
'wink',
'winner',
'winter',
'wire',
'wisdom',
'wise',
'wish',
'witness',
'wolf',
'woman',
'wonder',
'wood',
'wool',
'word',
'work',
'world',
'worry',
'worth',
'wrap',
'wreck',
'wrestle',
'wrist',
'write',
'wrong',
'yard',
'year',
'yellow',
'you',
'young',
'youth',
'zebra',
'zero',
'zone',
'zoo'
];
}